class Monkey::Parser::Parser
- Monkey::Parser::Parser
- Reference
- Object
Defined in:
monkey/parser.crConstant Summary
-
PRECEDENCES =
{Token::EQ => Priority::EQUALS, Token::NOT_EQ => Priority::EQUALS, Token::LT => Priority::LESSGREATER, Token::GT => Priority::LESSGREATER, Token::PLUS => Priority::SUM, Token::MINUS => Priority::SUM, Token::SLASH => Priority::PRODUCT, Token::ASTERISK => Priority::PRODUCT, Token::LPAREN => Priority::CALL, Token::LBRACKET => Priority::INDEX}
Constructors
Instance Method Summary
- #cur_precedence
- #cur_token : Token::Token
- #cur_token_is?(token : Token::TokenType) : Bool
- #errors : Array(String)
- #expect_peek?(token : Token::TokenType) : Bool
- #infix_parse_fns(key : Token::TokenType)
- #lexer : Lexer::Lexer
- #next_token
- #no_prefix_parse_fn_error(t : Token::TokenType)
- #parse_array_literal : AST::ArrayLiteral | Nil
- #parse_block_statement : AST::BlockStatement
- #parse_bool_literal : AST::Boolean | Nil
- #parse_call_expression(function : AST::Expression) : AST::CallExpression | Nil
- #parse_expression(precedende : Priority) : AST::Expression | Nil
- #parse_expression_list(end_token : Token::TokenType) : Array(AST::Expression) | Nil
- #parse_expression_statement : AST::ExpressionStatement | Nil
- #parse_function_literal : AST::FunctionLiteral | Nil
- #parse_function_parameters : Array(AST::Identifier) | Nil
- #parse_grouped_expression : AST::Expression | Nil
- #parse_hash_literal : AST::HashLiteral | Nil
- #parse_identifier : AST::Identifier
- #parse_if_expression : AST::IfExpression | Nil
- #parse_index_expression(left : AST::Expression) : AST::IndexExpression | Nil
- #parse_infix_expression(left : AST::Expression) : AST::InfixExpression | Nil
- #parse_integer_literal : AST::IntegerLiteral | Nil
- #parse_let_statement : AST::LetStatement | Nil
- #parse_prefix_expression : AST::PrefixExpression | Nil
- #parse_program : AST::Program
- #parse_return_statement : AST::ReturnStatement | Nil
- #parse_statement : AST::Statement | Nil
- #parse_string_literal : AST::StringLiteral
- #peek_error(token : Token::TokenType)
- #peek_precedence
- #peek_token : Token::Token
- #peek_token_is?(token : Token::TokenType) : Bool
- #prefix_parse_fns(key : Token::TokenType)