17 #ifndef INC_C4AulParse
18 #define INC_C4AulParse
51 std::unique_ptr<::aul::ast::FunctionDecl>
Parse_DirectExec(
const char *code,
bool whole_function);
58 const char *TokenSPos;
64 void Parse_Function(
bool parse_for_direct_exec);
65 void Parse_WarningPragma();
73 std::unique_ptr<::aul::ast::ArrayLit>
Parse_Array();
76 std::unique_ptr<::aul::ast::WhileLoop>
Parse_While();
77 std::unique_ptr<::aul::ast::If>
Parse_If();
78 std::unique_ptr<::aul::ast::ForLoop>
Parse_For();
81 std::unique_ptr<::aul::ast::VarDecl>
Parse_Var();
89 int GetOperator(
const char* pScript);
93 void Match(
C4AulTokenType TokenType,
const char * Expected =
nullptr);
94 void Check(
C4AulTokenType TokenType,
const char * Expected =
nullptr);
95 NORETURN void UnexpectedToken(
const char * Expected);
98 bool IsWarningEnabled(
const char *pos,
C4AulWarningId warning)
const;
103 std::stack<const char *> parse_pos_stack;
106 void DiscardParsePos();
#define C4AUL_MAX_Identifier
const C4ScriptOpDef C4ScriptOpMap[]
std::unique_ptr<::aul::ast::If > Parse_If()
std::unique_ptr<::aul::ast::Expr > Parse_Expression(int iParentPrio=-1)
std::unique_ptr<::aul::ast::Script > Parse_Script(C4ScriptHost *)
std::unique_ptr<::aul::ast::ForLoop > Parse_For()
std::unique_ptr<::aul::ast::WhileLoop > Parse_While()
std::unique_ptr<::aul::ast::FunctionDecl > Parse_DirectExec(const char *code, bool whole_function)
std::unique_ptr<::aul::ast::Stmt > Parse_Statement()
std::unique_ptr<::aul::ast::FunctionDecl > Parse_ToplevelFunctionDecl()
std::unique_ptr<::aul::ast::VarDecl > Parse_Var()
C4AulParse(class C4ScriptHost *host)
std::unique_ptr<::aul::ast::Block > Parse_Block()
std::unique_ptr<::aul::ast::RangeLoop > Parse_ForEach()
std::unique_ptr<::aul::ast::ProplistLit > Parse_PropList()
std::unique_ptr<::aul::ast::DoLoop > Parse_DoWhile()
std::unique_ptr<::aul::ast::ArrayLit > Parse_Array()