Commit Graph

11 Commits

Author SHA1 Message Date
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