![]() |
Phasor 3.3.0
Stack VM based Programming Language
|
#include <Parser.hpp>
Classes | |
| struct | Error |
Public Member Functions | |
| Parser (const std::vector< Token > &tokens) | |
| Parser (const std::vector< Token > &tokens, std::filesystem::path sourcePath) | |
| void | setSourcePath (const std::filesystem::path &path) |
| std::unique_ptr< AST::Program > | parse () |
| std::optional< Error > | getError () const |
Private Member Functions | |
| Token | peek () |
| Token | previous () |
| Token | advance () |
| bool | isAtEnd () |
| bool | check (Phasor::TokenType type) |
| Token | peekNext () |
| bool | match (Phasor::TokenType type) |
| bool | match (Phasor::TokenType type, const std::string &lexeme) |
| Token | consume (Phasor::TokenType type, const std::string &message) |
| Token | consume (Phasor::TokenType type, const std::string &lexeme, const std::string &message) |
| Token | expect (Phasor::TokenType type, const std::string &message) |
| std::unique_ptr< AST::Statement > | declaration () |
| std::unique_ptr< AST::Statement > | varDeclaration () |
| std::unique_ptr< AST::Statement > | functionDeclaration () |
| std::unique_ptr< AST::Statement > | statement () |
| std::unique_ptr< AST::Statement > | printStatement () |
| std::unique_ptr< AST::Statement > | ifStatement () |
| std::unique_ptr< AST::Statement > | whileStatement () |
| std::unique_ptr< AST::Statement > | forStatement () |
| std::unique_ptr< AST::Statement > | switchStatement () |
| std::unique_ptr< AST::Statement > | returnStatement () |
| std::unique_ptr< AST::Statement > | unsafeStatement () |
| std::unique_ptr< AST::BlockStmt > | block () |
| std::unique_ptr< AST::Statement > | importStatement () |
| std::unique_ptr< AST::Statement > | exportStatement () |
| std::unique_ptr< AST::Statement > | expressionStatement () |
| std::unique_ptr< AST::TypeNode > | parseType () |
| std::unique_ptr< AST::Expression > | expression () |
| std::unique_ptr< AST::Expression > | assignment () |
| std::unique_ptr< AST::Expression > | logicalOr () |
| std::unique_ptr< AST::Expression > | logicalAnd () |
| std::unique_ptr< AST::Expression > | equality () |
| std::unique_ptr< AST::Expression > | comparison () |
| std::unique_ptr< AST::Expression > | term () |
| std::unique_ptr< AST::Expression > | factor () |
| std::unique_ptr< AST::Expression > | unary () |
| std::unique_ptr< AST::Expression > | call () |
| std::unique_ptr< AST::Expression > | finishCall (std::unique_ptr< AST::Expression > callee) |
| std::unique_ptr< AST::Expression > | primary () |
| std::unique_ptr< AST::StructDecl > | structDecl () |
| std::unique_ptr< AST::StructInstanceExpr > | structInstance () |
| std::unique_ptr< AST::Expression > | fieldAccess (std::unique_ptr< AST::Expression > object) |
Private Attributes | |
| std::vector< Token > | tokens |
| int | current = 0 |
| std::string | currentFunction |
| std::optional< Error > | lastError |
| std::filesystem::path | sourcePath |
Definition at line 12 of file Parser.hpp.
| pulsar::Parser::Parser | ( | const std::vector< Token > & | tokens | ) |
Definition at line 65 of file Parser.cpp.
| Phasor::Parser::Parser | ( | const std::vector< Token > & | tokens, |
| std::filesystem::path | sourcePath ) |
Definition at line 69 of file Parser.cpp.
|
private |
Definition at line 988 of file Parser.cpp.
|
private |
Definition at line 525 of file Parser.cpp.
|
private |
Definition at line 468 of file Parser.cpp.
|
private |
Definition at line 712 of file Parser.cpp.
|
private |
Definition at line 1002 of file Parser.cpp.
|
private |
Definition at line 594 of file Parser.cpp.
|
private |
|
private |
Definition at line 1021 of file Parser.cpp.
|
private |
Definition at line 87 of file Parser.cpp.
|
private |
Definition at line 576 of file Parser.cpp.
|
private |
|
private |
Definition at line 502 of file Parser.cpp.
|
private |
Definition at line 520 of file Parser.cpp.
|
private |
Definition at line 509 of file Parser.cpp.
|
private |
Definition at line 648 of file Parser.cpp.
|
private |
Definition at line 960 of file Parser.cpp.
|
private |
Definition at line 767 of file Parser.cpp.
|
private |
Definition at line 345 of file Parser.cpp.
|
private |
Definition at line 132 of file Parser.cpp.
|
inlinenodiscard |
|
private |
Definition at line 321 of file Parser.cpp.
|
private |
Definition at line 492 of file Parser.cpp.
|
private |
Definition at line 997 of file Parser.cpp.
|
private |
Definition at line 559 of file Parser.cpp.
|
private |
Definition at line 542 of file Parser.cpp.
|
private |
Definition at line 1011 of file Parser.cpp.
|
private |
| std::unique_ptr< Program > pulsar::Parser::parse | ( | ) |
Definition at line 74 of file Parser.cpp.
|
private |
Definition at line 172 of file Parser.cpp.
|
private |
|
private |
|
private |
|
private |
Definition at line 803 of file Parser.cpp.
|
private |
Definition at line 484 of file Parser.cpp.
|
private |
Definition at line 450 of file Parser.cpp.
|
inline |
|
private |
Definition at line 210 of file Parser.cpp.
|
private |
Definition at line 890 of file Parser.cpp.
|
private |
Definition at line 927 of file Parser.cpp.
|
private |
Definition at line 386 of file Parser.cpp.
|
private |
Definition at line 630 of file Parser.cpp.
|
private |
Definition at line 679 of file Parser.cpp.
|
private |
Definition at line 462 of file Parser.cpp.
|
private |
Definition at line 195 of file Parser.cpp.
|
private |
Definition at line 336 of file Parser.cpp.
|
private |
Definition at line 38 of file Parser.hpp.
|
private |
Definition at line 39 of file Parser.hpp.
|
private |
Definition at line 40 of file Parser.hpp.
|
private |
Definition at line 41 of file Parser.hpp.
|
private |
Definition at line 37 of file Parser.hpp.