Commit Graph

13 Commits

Author SHA1 Message Date
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
ec24e2c327 lang: ast: convert RPN expression queue to ast and replace generic EXPR node with it 2024-11-28 22:06: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
7f9894d8f9 lang: fix a bunch of compiler warnings 2024-11-27 22:45:34 +00:00
101d87e09d lang: ast: implement simple identifier and operator expression parsing 2024-11-27 22:29:29 +00:00
ad25b89af0 lang: ast: fix incorrect return types; add function to determine expression tokens 2024-11-27 12:56:10 +00:00
cd89c20beb lang: ast: implement control flags returned by parser functions 2024-11-26 21:30:40 +00:00
5f5efd8d35 lang: ast: initial implementation of msg handler and selector parsing 2024-11-26 13:08:51 +00:00
1e7e73db21 lang: ast: implement ast iteration
iteration is implementing without recursion, instead using type-specific callbacks to construct a queue of nodes to iterate through. ast priting is implemented using this functionality.
2024-11-24 20:50:12 +00:00
70aab9998b lang: ast: add ast node size to ast_node_type 2024-11-24 11:52:59 +00:00
d43e387158 lang: ast: add state size to ast_node_type 2024-11-24 11:42:43 +00:00
f1ea916155 lang: ast: re-factor parser into multiple files 2024-11-24 11:11:06 +00:00