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.