lang: ast: implement cascade operator parsing
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
#define parser_get_state(parser, state_type) \
|
||||
((state_type *)parser_get_state_generic(parser))
|
||||
|
||||
#define parser_get_parent_state(parser, type_id, state_type) \
|
||||
((state_type *)parser_get_parent_state_generic(parser, type_id))
|
||||
|
||||
struct parser_state {
|
||||
b_queue_entry s_entry;
|
||||
struct ivy_ast_node *s_parent;
|
||||
@@ -29,6 +32,7 @@ extern struct parser_state *parser_push_state(
|
||||
struct ivy_parser *parser, enum ivy_ast_node_type node_type);
|
||||
extern void parser_pop_state(struct ivy_parser *parser, enum pop_state_flags flags);
|
||||
extern struct parser_state *parser_get_state_generic(struct ivy_parser *parser);
|
||||
extern struct parser_state *parser_get_parent_state_generic(struct ivy_parser *parser, enum ivy_ast_node_type type);
|
||||
|
||||
extern void parser_replace_current_node(
|
||||
struct ivy_parser *parser, struct ivy_ast_node *new_node);
|
||||
|
||||
Reference in New Issue
Block a user