Axal::Parser
Inherits Reference < Object
Constants
BINARY_OPERATORS = [TokenKind::PLUS, TokenKind::HYPHEN, TokenKind::ASTERISK, TokenKind::FORWARD_SLASH, TokenKind::DOUBLE_EQUALS, TokenKind::NOT_EQUAL, TokenKind::GREATER_THAN, TokenKind::LESS_THAN, TokenKind::GREATER_THAN_OR_EQUAL, TokenKind::LESS_THAN_OR_EQUAL]
LOGICAL_OPERATORS = [TokenKind::OR, TokenKind::AND]
LOWEST_PRECEDENCE = 0
OPERATOR_PRECEDENCE = {TokenKind::OR => 1, TokenKind::AND => 2, TokenKind::DOUBLE_EQUALS => 3, TokenKind::NOT_EQUAL => 3, TokenKind::GREATER_THAN => 4, TokenKind::LESS_THAN => 4, TokenKind::GREATER_THAN_OR_EQUAL => 4, TokenKind::LESS_THAN_OR_EQUAL => 4, TokenKind::PLUS => 5, TokenKind::HYPHEN => 5, TokenKind::ASTERISK => 6, TokenKind::FORWARD_SLASH => 6, TokenKind::LEFT_PAREN => 8}
PREFIX_PRECEDENCE = 7
UNARY_OPERATORS = [TokenKind::EXCLAMATION, TokenKind::HYPHEN]
Constructors
Instance methods
ast
Sourcebuild_token(kind : TokenKind, lexeme, location)
Sourcechain
Sourcecheck_syntax_compliance(ast_node)
Sourceconsume(offset = 1)
Sourceconsume_if_nxt_is(expected_kind)
Sourcecurrent
Sourcecurrent_precedence
Sourceerrors
Sourcelookahead(offset = 1)
Sourcenext_p
Sourcenxt
Sourcenxt_not_terminator?
Sourcenxt_precedence
Sourceparse
Sourceparse_array
Sourceparse_array_content
Sourceparse_binary_operator(left)
Sourceparse_block
Sourceparse_boolean
Sourceparse_conditional
Sourceparse_describe
Sourceparse_expr_recursively(precedence = LOWEST_PRECEDENCE)
ameba:disable Metrics/CyclomaticComplexity
parse_external_code
Sourceparse_fget
Sourceparse_function_call(identifier)
Sourceparse_function_call_args
Sourceparse_function_definition
Sourceparse_function_params
Sourceparse_grouped_expr
Sourceparse_identifier
Sourceparse_it
Sourceparse_json
Sourceparse_json_content
Sourceparse_json_pair
Sourceparse_module_definition
Sourceparse_nil
Sourceparse_number
Sourceparse_qualified_identifier
Sourceparse_repetition
Sourceparse_return
Sourceparse_string
Sourceparse_terminator
Sourceparse_unary_operator
Sourceparse_var_binding
Sourcepending_tokens?
Sourceprevious
Sourcetokens
Sourceunexpected_token_error(expected_kind = nil)
Sourceunrecognized_token_error
Source