1
0
Fork 0
mirror of https://github.com/Reuh/anselme.git synced 2025-10-28 09:09:31 +00:00
Commit graph

29 commits

Author SHA1 Message Date
bc5e68ffcb Remove text litterals as events buffers may contain code blocks (choices events) and we don't want this to end up in the save file 2021-12-06 16:15:35 +01:00
9bd9759115 Rename overloaded operators (add underscores)
* add suffix unary operators
* add _! operator
* _._ and _&_ operator overloading
* allow calling function references with _! and access variables with _._
* rename . method operator to !
* various cleaning & improvements

Documentation will follow at some point.
2021-12-06 01:45:19 +01:00
d5b1a9f225 Allow argument-less calling using ! suffix 2021-12-04 18:51:09 +01:00
6e5cbf9e7e Add function references 2021-12-04 18:20:32 +01:00
721464218c Add eventbuffer type 2021-12-02 18:39:43 +01:00
38b2a6ae69 Improve function decorator parsing 2021-11-28 16:23:44 +01:00
f2e74c94c9 Changed a few things
* Integrated # and ~ decorators into the expression system. Created associated operators.
* # and ~ decorators only affect their current line. That's more useful...
* Fix our priority system to evaluate left-to-right instead of right-to-left (if there was a reason why I did it this way initially, I don't remember it so ¯\_(ツ)_/¯)
* a lotta internal changes

Various other small adjustments, see the diff of REFERENCE.md for details.
2021-11-28 01:43:54 +01:00
b9b59547ff More configurable handling of whitespace before decorators 2021-11-27 14:29:29 +01:00
e2b95b751b Switch a few remaining variables to snake_case 2021-11-27 13:17:29 +01:00
7105b445ef Handle events in text interpolation; capture text events in choice lines; improve test script 2021-11-26 21:26:41 +01:00
c847fefd39 Parser only change state on success 2021-06-05 21:34:12 +02:00
d42c35facd Change versioning to separate language/API/save; allow executing blocks directly; add version to game config 2021-06-05 17:19:42 +02:00
198c06e2e8 Rename format to {} 2021-06-05 00:06:00 +02:00
64bc85741a Changed a few things
- Bumped to 0.15.0
- Add boot script
- Change variable definition syntax, using a = to distinguish more cleary between identifier and value
- Variables initial values are evaluated on first use instead of at parsing time
- Error on variable redefinition. Means you should make sure to load saves after your scripts.
- Improve string parsing, support for escape codes
- Remove support for number literals with empty decimal part (42. for 42.0) as there's no distinction in Anselme and it conflicts with .function call suffix
- Changed priority of : pair operator
- Add type type, and type annotations to variables and function parameters
- Change Lua function system to use regular Anselme functions
  - Defining a function from Lua is now way simpler and require providing a full Anselme function signature
- Change Anselme function system
  - Dynamic dispatch, based on arity, type annotation and parameter names. Will select the most specific function at runtime.
  - Define way to overload most operators
  - Allow custom type to text formatters
  - Allow assignment to custom functions
  - Index operator ( renamed to ()
  - Functions with parameters each have their own private namespace (scoping ersatz)
  - Internal: "custom"-mode operators now have their own expression AST type instead of cluttering the function system
- Remove static type checker as it is barely useful with new function system. May or may not rewrite one in the future.
- Improve error messages here and there
- Internal: cleaning
2021-06-03 15:29:25 +02:00
151c70ed26 Add default and named arguments, rename equality operator to ==, shortcut for string pairs 2021-04-25 18:40:45 +02:00
17751c5c59 Rename checkpoint variable, add reached variable for checkpoints 2021-04-23 17:39:51 +02:00
0171d92352 Decorator system simplification, removed paragraph decorators, added function decorators 2021-04-23 17:13:39 +02:00
6f564ea0e2 Improve naming consistency
expression/conditions -> conditions
paragraphs/checkpoints -> checkpoints
merge/flush/commit -> merge
2021-04-23 02:27:06 +02:00
f9edaff7e7 Restore tags when resuming from a checkpoint; simply resuming code 2021-04-12 17:08:35 +02:00
b9c6d1d704 Add nil expression and fix return behavior with nil expression 2021-04-12 01:10:42 +02:00
dde89502da Fix a lot of issues when resuming from a paragraph in a choice or expression block 2021-04-10 14:33:32 +02:00
0df120eeaf Allow parameters alias 2021-04-08 18:19:43 +02:00
9d4e732034 Typo 2021-04-08 17:25:58 +02:00
51e8c82181 Improve alias system 2021-04-08 16:34:33 +02:00
b0d7a0bfb5 Check identifier pattern in more cases while parsing 2021-04-08 13:22:26 +02:00
eb6da84878 Condition line -> expression line 2021-04-08 13:21:47 +02:00
ec18d2e611 Recursively check equality for lists and pairs, improve function redefinition error message 2021-04-04 19:36:42 +02:00
a6c4eee4b3 Show source file in error messages 2020-09-18 23:59:22 +02:00
b233d7fa1e Rewrite 2020-05-24 20:31:09 +02:00