Log base class.
Definition Log.hpp:19
Definition SLParser.hpp:28
SequenceExpressionPtr parseSequenceExpression(const ExpressionPtr &firstExpression)
Vector< SwitchCasePtr > parseSwitchCaseList()
virtual VarDeclarationStatementPtr parseParameter()=0
ExpressionStatementPtr parseExpressionStatement(const ExpressionPtr &expression=nullptr)
IfStatementPtr parseIfStatement()
Vector< ExpressionPtr > parseArrayIndexList()
SLParser(Log *log=nullptr)
ExpressionPtr parseExpression()
ElseStatementPtr parseElseStatement()
Int32 parseAndEvaluateVectorDimension()
ArrayDimensionPtr parseArrayDimension(bool allowDynamicDimension=false)
virtual VarDeclarationPtr parseVarDeclaration(VarDeclarationStatement *declarationStatementRef, const TokenPtr &identifierToken=nullptr)=0
virtual CodeBlockPtr parseCodeBlock()=0
virtual StatementPtr parseForLoopInitializer()=0
virtual SwitchCasePtr parseSwitchCase()=0
void parseStatementWithCommentOpt(Vector< StatementPtr > &statements, const UniqueFunction< StatementPtr() const > &parseFunction)
ExpressionPtr parseArrayIndex()
TypeDenoterPtr parseTypeDenoterWithArrayOpt(const TypeDenoterPtr &baseTypeDenoter)
DoWhileLoopStatementPtr parseDoWhileLoopStatement()
ForLoopStatementPtr parseForLoopStatement()
InitializerExpressionPtr parseInitializerExpression()
Int32 parseAndEvaluateConstExpressionInt()
Vector< ExpressionPtr > parseExpressionList(const Tokens listTerminatorToken, bool allowLastComma=false)
Variant parseAndEvaluateConstExpression()
SwitchStatementPtr parseSwitchStatement()
Vector< ExpressionPtr > parseInitializerList()
NullStatementPtr parseNullStatement()
Vector< StatementPtr > parseLocalStatementList()
Vector< VarDeclarationPtr > parseVarDeclarationList(VarDeclarationStatement *declarationStatementRef, TokenPtr firstidentifierToken=nullptr)
Vector< VarDeclarationStatementPtr > parseParameterList()
ExpressionPtr parseExpressionWithSequenceOpt()
virtual StatementPtr parseLocalStatement()=0
CtrlTransferStatementPtr parseCtrlTransferStatement()
Vector< ExpressionPtr > parseArgumentList()
ReturnStatementPtr parseReturnStatement()
VoidTypeDenoterPtr parseVoidTypeDenoter()
ExpressionPtr parseInitializer()
CodeBlockStatementPtr parseCodeBlockStatement()
ArrayExpressionPtr parseArrayExpression(const ExpressionPtr &expression)
Vector< ArrayDimensionPtr > parseArrayDimensionList(bool allowDynamicDimension=false)
String parseIdent(TokenPtr identifierToken=nullptr, SourceArea *area=nullptr)
WhileLoopStatementPtr parseWhileLoopStatement()
Definition SourceArea.hpp:20
Types
Definition Token.hpp:24
Definition Variant.hpp:20
SPtr< ReturnStatement > ReturnStatementPtr
Definition Visitor.hpp:62
SPtr< SequenceExpression > SequenceExpressionPtr
Definition Visitor.hpp:67
SPtr< Expression > ExpressionPtr
Definition Visitor.hpp:26
SPtr< CtrlTransferStatement > CtrlTransferStatementPtr
Definition Visitor.hpp:63
SPtr< ArrayDimension > ArrayDimensionPtr
Definition Visitor.hpp:36
SPtr< DoWhileLoopStatement > DoWhileLoopStatementPtr
Definition Visitor.hpp:57
SPtr< InitializerExpression > InitializerExpressionPtr
Definition Visitor.hpp:80
SPtr< ArrayExpression > ArrayExpressionPtr
Definition Visitor.hpp:78
SPtr< IfStatement > IfStatementPtr
Definition Visitor.hpp:58
SPtr< VarDeclaration > VarDeclarationPtr
Definition Visitor.hpp:39
SPtr< CodeBlock > CodeBlockPtr
Definition Visitor.hpp:30
SPtr< CodeBlockStatement > CodeBlockStatementPtr
Definition Visitor.hpp:54
SPtr< Statement > StatementPtr
Definition Visitor.hpp:25
SPtr< TypeDenoter > TypeDenoterPtr
Definition TypeDenoter.hpp:29
SPtr< SwitchCase > SwitchCasePtr
Definition Visitor.hpp:32
SPtr< VoidTypeDenoter > VoidTypeDenoterPtr
Definition TypeDenoter.hpp:30
SPtr< NullStatement > NullStatementPtr
Definition Visitor.hpp:53
SPtr< WhileLoopStatement > WhileLoopStatementPtr
Definition Visitor.hpp:56
SPtr< ExpressionStatement > ExpressionStatementPtr
Definition Visitor.hpp:61
SPtr< SwitchStatement > SwitchStatementPtr
Definition Visitor.hpp:60
SPtr< ElseStatement > ElseStatementPtr
Definition Visitor.hpp:59
SPtr< VarDeclarationStatement > VarDeclarationStatementPtr
Definition Visitor.hpp:49
SPtr< Token > TokenPtr
Definition Token.hpp:174
SPtr< ForLoopStatement > ForLoopStatementPtr
Definition Visitor.hpp:55
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
std::int32_t Int32
Definition DataTypes.hpp:21
FunctionBase< true, false, fu2::capacity_default, true, false, Signatures... > UniqueFunction
An owning non copyable function wrapper for arbitrary callable types.
Definition Function.hpp:59
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25