Expand AST node ids to support the lexer tokens and grammar rules
This commit is contained in:
parent
81be56de33
commit
ea5df2d129
34
src/ast.h
34
src/ast.h
@ -11,9 +11,39 @@ typedef enum node_id {
|
|||||||
NODE_INVALID,
|
NODE_INVALID,
|
||||||
|
|
||||||
NODE_PROGRAM,
|
NODE_PROGRAM,
|
||||||
NODE_DIRECTIVE,
|
NODE_STATEMENT,
|
||||||
NODE_LABEL,
|
NODE_LABEL,
|
||||||
NODE_INSTRUCTION
|
NODE_DIRECTIVE,
|
||||||
|
NODE_INSTRUCTION,
|
||||||
|
NODE_OPERANDS,
|
||||||
|
NODE_OPERAND,
|
||||||
|
NODE_REGISTER,
|
||||||
|
NODE_IMMEDIATE,
|
||||||
|
NODE_MEMORY,
|
||||||
|
NODE_NUMBER,
|
||||||
|
NODE_LABEL_REFERENCE,
|
||||||
|
NODE_MEMORY_EXPRESSION,
|
||||||
|
NODE_REGISTER_EXPRESSION,
|
||||||
|
NODE_REGISTER_INDEX,
|
||||||
|
NODE_REGISTER_OFFSET,
|
||||||
|
NODE_PLUS_OR_MINUS,
|
||||||
|
|
||||||
|
// Primitive nodes
|
||||||
|
NODE_IDENTIFIER,
|
||||||
|
NODE_DECIMAL,
|
||||||
|
NODE_HEXADECIMAL,
|
||||||
|
NODE_OCTAL,
|
||||||
|
NODE_BINARY,
|
||||||
|
NODE_CHAR,
|
||||||
|
NODE_STRING,
|
||||||
|
NODE_COLON,
|
||||||
|
NODE_COMMA,
|
||||||
|
NODE_LBRACKET,
|
||||||
|
NODE_RBRACKET,
|
||||||
|
NODE_PLUS,
|
||||||
|
NODE_MINUS,
|
||||||
|
NODE_ASTERISK,
|
||||||
|
NODE_DOT,
|
||||||
} node_id_t;
|
} node_id_t;
|
||||||
|
|
||||||
typedef struct ast_node ast_node_t;
|
typedef struct ast_node ast_node_t;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user