3d10b1b15c
Rework variable undefinition
2024-01-03 16:41:35 +01:00
93dadb3b5d
Add interactive mode for test runner
2024-01-03 13:49:51 +01:00
12c32bb8a2
Cleaning
2024-01-03 13:49:24 +01:00
4c76ef5f96
Cache variable lookup
...
About 10% performance improvement.
2024-01-03 01:18:18 +01:00
ba1824a904
Operator priority cleanup
2024-01-02 17:25:10 +01:00
68a109391f
Hide internal nodes from stack trace
2024-01-02 15:06:24 +01:00
5ff178b54c
Remove useless _hash redefinition
2024-01-02 14:36:35 +01:00
15f29e3bce
Undefine _ in attached block
2024-01-02 14:35:18 +01:00
a85e7ab0af
Update tests
2024-01-02 00:36:10 +01:00
a79b054bfb
Add break and continue
2024-01-02 00:34:59 +01:00
e71096cab7
Remove ~, ~?, and @ operators and replace with function calls
2024-01-02 00:34:30 +01:00
7635261a3f
Reset randomseed before each test
2024-01-02 00:32:08 +01:00
c2bec6f5d2
Merge Closure into Function and add calling_environment_manager
2024-01-02 00:31:32 +01:00
18dd3ad6bd
Remove -> operator
2024-01-01 17:51:33 +01:00
1eceadafc6
Bump version
...
And happy new year.
2023-12-31 20:19:41 +01:00
861877503a
Comments: switch from (( to /* delimiters
...
Double parentheses turned out to conflict too often with normal code. I guess sometimes I shouldn't try to make my own syntax up.
2023-12-31 19:54:54 +01:00
9e73269cda
Update doc
2023-12-31 19:43:44 +01:00
43a745a7a9
Final test batch and associated fixes
2023-12-31 19:41:14 +01:00
050c84921c
Add identifier wrap for aliases
2023-12-31 14:55:28 +01:00
409a2e7095
Firth test batch and associated fixes
2023-12-31 14:30:14 +01:00
aa8dfbd498
Fix interleaved text and choices
2023-12-31 14:25:37 +01:00
4125a4c99b
Script/checkpoint system first draft
2023-12-31 00:47:55 +01:00
0a835a65d8
Fourth test batch
2023-12-30 23:45:30 +01:00
d928ff5598
Fix index with identifier conflicts with some syntaxes
2023-12-30 23:44:59 +01:00
b7761311fe
Aliases: add wrap > operator
2023-12-30 23:44:42 +01:00
2cd910389b
Exported variables: no longer add export scope to every function, allow freely access and modifiy variable in function scope
...
Too many issues with predefining exported variables, and this is more flexible.
2023-12-30 23:43:05 +01:00
0eea4b80a6
Third test batch
2023-12-30 23:39:10 +01:00
3edf65dc2a
Exported variables predefinition: replace prepare system with generic resume system
2023-12-30 15:31:00 +01:00
e2ec105a4b
Update readme
2023-12-30 02:09:24 +01:00
db8ae03927
Add test for constant aliases and text trailing space removal
2023-12-30 02:02:11 +01:00
bc41dd1dd2
Aliases: allow exported, non-call for constant variables
2023-12-30 01:59:15 +01:00
07cb44256c
Change format_priority to a method
2023-12-30 01:35:58 +01:00
d42b900388
Text litteral: strip leading and closing space if present
2023-12-29 19:19:15 +01:00
5dd971ff8f
Move anselme code into its own directory
2023-12-29 18:47:36 +01:00
404e7dd56e
Replace AttachBlock with more generic PartialScope
2023-12-29 17:56:01 +01:00
9b7d1e436e
Second test batch and associated fixes
2023-12-29 17:15:43 +01:00
7abb116876
Ignore defaults values in parameter type check
2023-12-28 18:51:40 +01:00
9acde377c2
Update docs
2023-12-28 17:42:14 +01:00
809613ef8b
LuaJIT compatibility
...
Spoiler alert: Anselme run ~1.5x slower in LuaJIT than Lua 5.3/5.4. I didn't expected LuaJIT to be able to optimize anything with my super performant and cache friendly AST walker interpreter, but being this much slower is kinda impressive.
2023-12-28 17:37:57 +01:00
82ce53be83
First test batch and associated fixes
...
The test runner is also nicer to use.
2023-12-28 17:03:54 +01:00
10084dec23
Return break while loops
2023-12-28 14:51:55 +01:00
8eb4bd5ac5
Fix conflict between comparison & compound operators
...
Everyone makes mistakes.
2023-12-28 14:51:42 +01:00
a7f2362199
Typed swap value & type order
2023-12-28 14:30:28 +01:00
507dd5930e
Translation template generator first draft
2023-12-28 14:28:59 +01:00
91e1311560
Custom format for Typed and dispatch refactor
2023-12-28 14:28:14 +01:00
e222f0fb28
Constant aliases
2023-12-28 13:05:52 +01:00
f574e6a775
Allow no expression in return
2023-12-28 13:04:53 +01:00
53c1c764ba
Add testing framework
...
More tests will arrive shortly...
2023-12-28 13:03:56 +01:00
e71bff9562
Replace persistent variable system
...
Previous system linked the variable name with the saved value, meaning the variable could not be renamed or moved outside the global scope.
Instead we propose to store all persistent values in a global table, identifying each by a key. To still allow nice manipulation with identifiers, the alias syntax replace the persistent syntax for symbols - an aliases symbol will act as if a function call was used in place of the identifier when it appear.
2023-12-27 21:25:14 +01:00
56ed6c912b
Replace checkpoint system
...
The previous system needed to store of the scope and full AST to build a Resumable object, which means that if persisted, updating the resumable script will have no effect.
The new system instead uses an anchor token and does not require any information besides the anchor name.
2023-12-27 17:06:35 +01:00