|
|
auto | ParseImport () -> std::optional< AST::ImportDecl > |
|
auto | ParseProgram () -> u< ProgramAST > |
|
auto | ParseDefinition () -> p< DefinitionAST > |
|
auto | ParsePrototype () -> p< PrototypeAST > |
|
auto | ParseFuncDef () -> p< DefinitionAST > |
| auto | ParseVarDef () -> p< ExprAST > |
| | Parsing implementation for a variable decl/def.
|
|
auto | ParseStructDef () -> p< DefinitionAST > |
|
auto | ParseEnumDef () -> p< DefinitionAST > |
|
auto | ParseTypeClassDecl () -> p< DefinitionAST > |
|
auto | ParseTypeClassInstance () -> p< DefinitionAST > |
|
auto | ParseTypeExprTopLevel () -> std::unique_ptr< TypeExprAST > |
|
auto | ParseTypeExpr () -> std::unique_ptr< TypeExprAST > |
|
auto | ParseTypedVar () -> p< TypedVarAST > |
|
auto | ParseExpr () -> p< ExprAST > |
|
auto | ParsePrimaryExpr () -> p< ExprAST > |
|
auto | parsePostfixOps (u< ExprAST > expr) -> p< ExprAST > |
|
auto | ParseBinaryExpr (int prededence, u< ExprAST > LHS) -> p< ExprAST > |
|
auto | ParseBoolExpr () -> p< ExprAST > |
|
auto | ParseCharExpr () -> p< ExprAST > |
|
auto | ParseUnaryNegExpr () -> p< ExprAST > |
|
auto | ParseDerefExpr () -> p< ExprAST > |
|
auto | ParseAddrOfExpr () -> p< ExprAST > |
|
auto | ParseAllocExpr () -> p< ExprAST > |
|
auto | ParseFreeExpr () -> p< ExprAST > |
|
auto | ParseLenExpr () -> p< ExprAST > |
|
auto | ParseArrayLiteralExpr () -> p< ExprAST > |
|
auto | ParseCallExpr () -> p< ExprAST > |
|
auto | ParseStructLiteralExpr (sammine_util::QualifiedName qn, Location qn_loc) -> p< ExprAST > |
|
auto | ParseReturnExpr () -> p< ExprAST > |
|
auto | ParseArguments () -> ListResult< ExprAST > |
|
auto | ParseParenExpr () -> p< ExprAST > |
|
auto | ParseIfExpr () -> p< ExprAST > |
|
auto | ParseCaseExpr () -> p< ExprAST > |
|
auto | ParseWhileExpr () -> p< ExprAST > |
|
auto | ParseNumberExpr () -> p< ExprAST > |
|
auto | ParseStringExpr () -> p< ExprAST > |
|
auto | ParseVariableExpr () -> p< ExprAST > |
|
auto | ParseBlock () -> p< BlockAST > |
|
auto | ParseParams () -> ListResult< TypedVarAST > |
|
auto | expect (TokenType tokType, bool exhausts=false, TokenType until=TokenType::TokEOF, const std::string &message="") -> std::shared_ptr< Token > |
| auto | parseQualifiedNameTail (std::shared_ptr< Token > first_tok, bool resolve_alias=true) -> ParsedQualifiedName |
| auto | parseExplicitTypeArgsTail (sammine_util::QualifiedName &qn, sammine_util::Location &qn_loc) -> std::vector< std::unique_ptr< TypeExprAST > > |
|
auto | consumeClosingAngleBracket () -> bool |
|
| Parser (std::optional< std::reference_wrapper< Reporter > > reporter=std::nullopt, const std::string &default_namespace="") |
|
| Parser (std::shared_ptr< TokenStream > tokStream, std::optional< std::reference_wrapper< Reporter > > reporter=std::nullopt, const std::string &default_namespace="") |
|
auto | Parse () -> u< ProgramAST > |
|
iterator | begin () |
|
iterator | end () |
|
const_iterator | begin () const |
|
const_iterator | end () const |
|
const_iterator | cbegin () const |
|
const_iterator | cend () const |
|
virtual void | abort (const std::string &msg="<NO MESSAGE>") |
|
template<explicitly_bool_like T> |
| void | abort_on (const T &condition, const std::string &message="<NO MESSAGE>") |
|
template<explicitly_bool_like T> |
| void | abort_if_not (const T &condition, const std::string &message="<NO MESSAGE>") |
|
void | add_error (Location loc, std::string msg, std::source_location src=std::source_location::current()) |
|
void | add_error (Location loc, std::vector< std::string > msgs, std::source_location src=std::source_location::current()) |
|
void | add_warn (Location loc, std::string msg, std::source_location src=std::source_location::current()) |
|
void | add_diagnostics (Location loc, std::string msg, std::source_location src=std::source_location::current()) |
|
virtual bool | has_errors () const |
|
bool | has_warn () const |
|
bool | has_message () const |
|
bool | has_diagnostics () const |
|
int64_t | get_error_count () const |
|
int64_t | get_warn_count () const |
|
int64_t | get_diagnostic_count () const |