aaff625b6c
[language] replace constant symbols with a constant value check function
2024-04-24 16:15:58 +02:00
b534a3c4a2
[language] automatically call text when they appear directly as a statement; remove autocalling of every text returned by a statement
...
The previous behavior, where any Text value returned by a line in a Block would be automatically called, may lead to unexpected Text event being written as it is not obvious which line can return a Text value after evaluation.
The new behavior only triggers if a Text node directly appear in the original script as a statement.
2024-04-23 19:57:36 +02:00
991f9fed35
[test] fix variable redefinition error when rerunning the same script
2024-04-23 19:06:24 +02:00
6d9c3dd403
[language] add inline comments and allow multiline comments
2024-01-16 17:40:26 +01:00
a702f250f9
[language] allow multiline strings
2024-01-16 15:52:16 +01:00
c54fa4344f
[stdlib] add optional default value for table and struct call
2024-01-16 14:34:18 +01:00
78f3c6448e
[language] allow multiline expression between (), [] and {}
2024-01-15 20:03:55 +01:00
1ea06c63eb
[internal] do block parsing at the same time as expression parsing
2024-01-15 17:21:47 +01:00
b6473de4d2
[language] Add multiple assignments, assignment and definitions are now function calls
2024-01-11 01:36:47 +01:00
87afa51baa
[language] Remove _|>_ operator, replace with *_
2024-01-09 18:05:45 +01:00
5d000e2fec
Rename type check to value check
2024-01-09 16:57:43 +01:00
c027c87dc4
Reuse a global state with standard library already loaded in tests, and associated branch handling fixes
2024-01-08 22:23:50 +01:00
bd93dc43dc
Add file loading functions to stdlib
2024-01-08 19:28:14 +01:00
8562e8f18b
Allow function call with tuple and struct without parentheses
2024-01-08 16:41:44 +01:00
51ad18c5a4
LuaFunction cleanup: replace by LuaCall
2024-01-07 20:31:28 +01:00
f198286870
Serialize function scope
2024-01-06 16:24:49 +01:00
b004946266
Error reporting improvements for functions & overloads
2024-01-06 15:14:32 +01:00
7f71569e07
Prefix type checkers with "is", stdlib cleanup
2024-01-06 15:00:08 +01:00
98917c2ca4
Update doc
2024-01-05 01:52:21 +01:00
efb99a9ed7
Add for loops
2024-01-05 01:36:37 +01:00
a212dd7fd1
stdlib cleanup
2024-01-04 20:45:23 +01:00
dac5b74fa6
Add stdlib functions from anselme v1
2024-01-04 20:22:18 +01:00
9a38dfa34f
Persist LuaFunctions & add tests
2024-01-03 19:47:28 +01:00
82b68e09a3
Update tests
2024-01-03 16:46:12 +01:00
93dadb3b5d
Add interactive mode for test runner
2024-01-03 13:49:51 +01:00
68a109391f
Hide internal nodes from stack trace
2024-01-02 15:06:24 +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
7635261a3f
Reset randomseed before each test
2024-01-02 00:32:08 +01:00
18dd3ad6bd
Remove -> operator
2024-01-01 17:51:33 +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
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
0a835a65d8
Fourth test batch
2023-12-30 23:45:30 +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
db8ae03927
Add test for constant aliases and text trailing space removal
2023-12-30 02:02:11 +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
82ce53be83
First test batch and associated fixes
...
The test runner is also nicer to use.
2023-12-28 17:03:54 +01:00
53c1c764ba
Add testing framework
...
More tests will arrive shortly...
2023-12-28 13:03:56 +01:00
fe351b5ca4
Anselme v2.0.0-alpha rewrite
...
Woke up and felt like changing a couple things. It's actually been worked on for a while, little at a time...
The goal was to make the language and implementation much simpler. Well I don't know if it really ended up being simpler but it sure is more robust.
Main changes:
* proper first class functions and closures supports! proper scoping rules! no more namespace shenanigans!
* everything is an expression, no more statements! make the implementation both simpler and more complex, but it's much more consistent now! the syntax has massively changed as a result though.
* much more organized and easy to modify codebase: one file for each AST node, no more random fields or behavior set by some random node exceptionally, everything should now follow the same API defined in ast.abstract.Node
Every foundational feature should be implemented right now. The vast majority of things that were possible in v2 are possible now; some things aren't, but that's usually because v2 is a bit more sane.
The main missing things before a proper release are tests and documentation. There's a few other things that might be implemented later, see the ideas.md file.
2023-12-22 13:25:28 +01:00