expr.l0

expr.l0

Module: parser.expr

Source: compiler/stage2_l0/src/parser/expr.l0 Language: Dea/L0

Imports / Includes

  • parser.shared
  • ast
  • tokens
  • std.text
  • std.vector
  • std.string

Symbols

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.