cbec21b90f
lang: implement elif keyword for more complex if-statements
2025-04-24 09:45:26 +01:00
e430b7b2f1
lang: add var keyword for variable declarations
...
the var keyword allows greater control over what scope a
particular variable exists in. it clarifies whether a new
variable is being defined or an existing variable is being
assigned to. it will also facilitate the implementation of
global variables.
2025-04-15 11:02:47 +01:00
143d61e329
lang: ast: add support for multiple block termination tokens
2025-01-16 13:15:18 +00:00
e8c30b65b5
lang: ast: implement support for multiple expression terminator tokens
2024-12-07 21:28:25 +00:00
dc55cfa1f8
lang: ast: propagate block terminator token to child expressions
2024-12-06 22:24:48 +00:00
4c36615bc1
lang: ast: implement s_terminator in block parser for all symbols
2024-12-06 21:34:26 +00:00
c23523ce14
lang: ast: implement parsing of inline and standalone if-else statements
2024-12-04 16:35:19 +00:00
1c5b23d968
lang: ast: re-write expression parser to support keyword messages
...
also adjust some parser state callbackss to better support sub-parsers returning
results to their parents.
2024-12-02 07:56:27 +00:00
7530dd36a2
lang: ast: move block parser state to separate header file
...
this allows other parsers to specify what kind of token should end the
block.
2024-11-28 16:56:25 +00:00
fc76fe6ad4
lang: ast: use fancy index manipulation to reduce the size of ast_node_type
2024-11-28 10:56:43 +00:00
811d3787c4
lang: ast: add a BLOCK ast node to hold lists of expressions
2024-11-28 10:26:53 +00:00