![]() |
Purple
0.1
Standard Language Specification
|
Logic for parsing expressions into an AST. More...

Functions | |
| static int | get_operator_precedence (Token t) |
| Get the integer operator precedence value of a Token. More... | |
| static ASTNode * | parse_terminal_node () |
| Build a terminal AST Node for a given Token, exit if not a valid primary Token. More... | |
| ASTNode * | prefix_operator_passthrough (void) |
| Look for prefix operators, otherwise pass through to parse_terminal_node. More... | |
| ASTNode * | function_call_expression (void) |
| Parse a function call expression into an AST. More... | |
| static ASTNode * | parse_binary_expression_recursive (int previous_token_precedence, NumberType *nt_max) |
| Recursively parse binary expressions into an AST. More... | |
| ASTNode * | parse_binary_expression (void) |
| Convenience wrapper for parse_binary_expression_recursive. More... | |
Logic for parsing expressions into an AST.
| ASTNode * function_call_expression | ( | void | ) |
Parse a function call expression into an AST.
|
static |
| ASTNode * parse_binary_expression | ( | void | ) |
Convenience wrapper for parse_binary_expression_recursive.
|
static |
Recursively parse binary expressions into an AST.
| previous_token_precedence | The integer precedence value of the previous Token |
| nt_max | Maximum NumberType encountered during AST generation |
|
static |
| ASTNode * prefix_operator_passthrough | ( | void | ) |
Look for prefix operators, otherwise pass through to parse_terminal_node.