ScummVM API documentation
asCParser Class Reference

Public Member Functions

 asCParser (asCBuilder *builder)
 
int ParseFunctionDefinition (asCScriptCode *script, bool expectListPattern)
 
int ParsePropertyDeclaration (asCScriptCode *script)
 
int ParseDataType (asCScriptCode *script, bool isReturnType)
 
int ParseTemplateDecl (asCScriptCode *script)
 
int ParseScript (asCScriptCode *script)
 
int ParseStatementBlock (asCScriptCode *script, asCScriptNode *block)
 
int ParseVarInit (asCScriptCode *script, asCScriptNode *init)
 
int ParseExpression (asCScriptCode *script)
 
asCScriptNode * GetScriptNode ()
 

Protected Member Functions

void Reset ()
 
void GetToken (sToken *token)
 
void RewindTo (const sToken *token)
 
void SetPos (size_t pos)
 
void Error (const asCString &text, sToken *token)
 
void Warning (const asCString &text, sToken *token)
 
void Info (const asCString &text, sToken *token)
 
asCScriptNode * CreateNode (eScriptNode type)
 
asCScriptNode * ParseFunctionDefinition ()
 
asCScriptNode * ParseParameterList ()
 
asCScriptNode * SuperficiallyParseExpression ()
 
asCScriptNode * ParseType (bool allowConst, bool allowVariableType=false, bool allowAuto=false)
 
asCScriptNode * ParseTypeMod (bool isParam)
 
void ParseOptionalScope (asCScriptNode *node)
 
asCScriptNode * ParseRealType ()
 
asCScriptNode * ParseDataType (bool allowVariableType=false, bool allowAuto=false)
 
asCScriptNode * ParseIdentifier ()
 
bool ParseTemplTypeList (asCScriptNode *node, bool required=true)
 
void ParseMethodAttributes (asCScriptNode *funcNode)
 
asCScriptNode * ParseListPattern ()
 
bool IsRealType (int tokenType)
 
bool IsDataType (const sToken &token)
 
bool IdentifierIs (const sToken &t, const char *str)
 
asCScriptNode * SuperficiallyParseStatementBlock ()
 
asCScriptNode * SuperficiallyParseVarInit ()
 
asCScriptNode * ParseStatementBlock ()
 
asCScriptNode * ParseStatement ()
 
asCScriptNode * ParseExpressionStatement ()
 
asCScriptNode * ParseSwitch ()
 
asCScriptNode * ParseCase ()
 
asCScriptNode * ParseIf ()
 
asCScriptNode * ParseFor ()
 
asCScriptNode * ParseWhile ()
 
asCScriptNode * ParseDoWhile ()
 
asCScriptNode * ParseReturn ()
 
asCScriptNode * ParseBreak ()
 
asCScriptNode * ParseContinue ()
 
asCScriptNode * ParseTryCatch ()
 
asCScriptNode * ParseDeclaration (bool isClassProp=false, bool isGlobalVar=false)
 
asCScriptNode * ParseImport ()
 
asCScriptNode * ParseScript (bool inBlock)
 
asCScriptNode * ParseNamespace ()
 
asCScriptNode * ParseFunction (bool isMethod=false)
 
asCScriptNode * ParseFuncDef ()
 
asCScriptNode * ParseClass ()
 
asCScriptNode * ParseMixin ()
 
asCScriptNode * ParseInitList ()
 
asCScriptNode * ParseInterface ()
 
asCScriptNode * ParseInterfaceMethod ()
 
asCScriptNode * ParseVirtualPropertyDecl (bool isMethod, bool isInterface)
 
asCScriptNode * ParseEnumeration ()
 
asCScriptNode * ParseTypedef ()
 
bool IsVarDecl ()
 
bool IsVirtualPropertyDecl ()
 
bool IsFuncDecl (bool isMethod)
 
bool IsLambda ()
 
bool IsFunctionCall ()
 
asCScriptNode * ParseAssignment ()
 
asCScriptNode * ParseAssignOperator ()
 
asCScriptNode * ParseCondition ()
 
asCScriptNode * ParseExpression ()
 
asCScriptNode * ParseExprTerm ()
 
asCScriptNode * ParseExprOperator ()
 
asCScriptNode * ParseExprPreOp ()
 
asCScriptNode * ParseExprPostOp ()
 
asCScriptNode * ParseExprValue ()
 
asCScriptNode * ParseArgList (bool withParenthesis=true)
 
asCScriptNode * ParseFunctionCall ()
 
asCScriptNode * ParseVariableAccess ()
 
asCScriptNode * ParseConstructCall ()
 
asCScriptNode * ParseCast ()
 
asCScriptNode * ParseConstant ()
 
asCScriptNode * ParseStringConstant ()
 
asCScriptNode * ParseLambda ()
 
bool IsType (sToken &nextToken)
 
bool IsConstant (int tokenType)
 
bool IsOperator (int tokenType)
 
bool IsPreOperator (int tokenType)
 
bool IsPostOperator (int tokenType)
 
bool IsAssignOperator (int tokenType)
 
bool CheckTemplateType (const sToken &t)
 
asCScriptNode * ParseToken (int token)
 
asCScriptNode * ParseOneOf (int *tokens, int num)
 
asCString ExpectedToken (const char *token)
 
asCString ExpectedTokens (const char *token1, const char *token2)
 
asCString ExpectedOneOf (int *tokens, int count)
 
asCString ExpectedOneOf (const char **tokens, int count)
 
asCString InsteadFound (sToken &t)
 

Protected Attributes

bool errorWhileParsing
 
bool isSyntaxError
 
bool checkValidTypes
 
bool isParsingAppInterface
 
asCScriptEngine * engine
 
asCBuilder * builder
 
asCScriptCode * script
 
asCScriptNode * scriptNode
 
asCString tempString
 
sToken lastToken
 
size_t sourcePos
 

The documentation for this class was generated from the following file: