expr.l0
Module: parser.expr
Source: compiler/stage2_l0/src/parser/expr.l0 Language: Dea/L0
Imports / Includes
parser.sharedasttokensstd.textstd.vectorstd.string
Symbols
- ps_is_builtin_type_name
- ps_is_unambiguous_type_start
- ps_parse_call_argument
- ps_parse_expr
- ps_parse_or_expr
- ps_parse_and_expr
- ps_parse_equality_expr
- ps_parse_rel_expr
- ps_parse_add_expr
- ps_parse_mul_expr
- ps_parse_unary_expr
- ps_parse_cast_expr
- ps_parse_postfix_expr
- ps_parse_primary_expr
Function ps_is_builtin_type_name
1
func ps_is_builtin_type_name(self: ParserState*) -> bool
Check whether the current token is a builtin type name.
Parameters:
self: Parser state to inspect.
Returns: true if the current token names a builtin type.
Function ps_is_unambiguous_type_start
1
func ps_is_unambiguous_type_start(self: ParserState*) -> bool
Check whether the current token sequence can only start a type.
Parameters:
self: Parser state to inspect.
Returns: true if the lookahead unambiguously starts a type reference.
Function ps_parse_call_argument
1
func ps_parse_call_argument(self: ParserState*) -> ExprId?
Parse one call argument.
Parameters:
self: Parser state to advance.
Returns: Parsed argument expression, or null on error.
Function ps_parse_expr
1
func ps_parse_expr(self: ParserState*) -> ExprId?
Parse an expression.
Parameters:
self: Parser state to advance.
Returns: Parsed expression, or null on error.
Function ps_parse_or_expr
1
func ps_parse_or_expr(self: ParserState*) -> ExprId?
Parse a logical-or expression.
Parameters:
self: Parser state to advance.
Returns: Parsed logical-or expression, or null on error.
Function ps_parse_and_expr
1
func ps_parse_and_expr(self: ParserState*) -> ExprId?
Parse a logical-and expression.
Parameters:
self: Parser state to advance.
Returns: Parsed logical-and expression, or null on error.
Function ps_parse_equality_expr
1
func ps_parse_equality_expr(self: ParserState*) -> ExprId?
Parse an equality expression.
Parameters:
self: Parser state to advance.
Returns: Parsed equality expression, or null on error.
Function ps_parse_rel_expr
1
func ps_parse_rel_expr(self: ParserState*) -> ExprId?
Parse a relational expression.
Parameters:
self: Parser state to advance.
Returns: Parsed relational expression, or null on error.
Function ps_parse_add_expr
1
func ps_parse_add_expr(self: ParserState*) -> ExprId?
Parse additive expressions.
Parameters:
self: Parser state to advance.
Returns: The parsed additive expression, or null on error.
Function ps_parse_mul_expr
1
func ps_parse_mul_expr(self: ParserState*) -> ExprId?
Parse a multiplicative expression.
Parameters:
self: Parser state to advance.
Returns: Parsed multiplicative expression, or null on error.
Function ps_parse_unary_expr
1
func ps_parse_unary_expr(self: ParserState*) -> ExprId?
Parse a unary expression.
Parameters:
self: Parser state to advance.
Returns: Parsed unary expression, or null on error.
Function ps_parse_cast_expr
1
func ps_parse_cast_expr(self: ParserState*) -> ExprId?
Parse a cast expression.
Parameters:
self: Parser state to advance.
Returns: Parsed cast expression, or null on error.
Function ps_parse_postfix_expr
1
func ps_parse_postfix_expr(self: ParserState*) -> ExprId?
Parse a postfix expression.
Parameters:
self: Parser state to advance.
Returns: Parsed postfix expression, or null on error.
Function ps_parse_primary_expr
1
func ps_parse_primary_expr(self: ParserState*) -> ExprId?
Parse a primary expression.
Parameters:
self: Parser state to advance.
Returns: Parsed primary expression, or null on error.