|
| ScannerPtr | makeScanner () override |
| |
| bool | isDataType () const |
| |
| bool | isBaseDataType () const |
| |
| bool | isLiteral () const |
| |
| bool | isArithmeticUnaryExpression () const |
| |
| bool | isModifier () const |
| |
| TypeSpecifierPtr | makeTypeSpecifierIfLhsOfCastExpression (const ExpressionPtr &expression) |
| |
| TokenPtr | acceptIt () override |
| |
| void | processDirective (const String &ident) |
| |
| void | processDirectiveLine () |
| |
| void | processDirectivePragma () |
| |
| void | openScope () |
| |
| void | closeScope () |
| |
| void | registerTypeName (const String &ident) |
| |
| bool | isRegisteredTypeName (const String &ident) const |
| |
| AliasDeclarationStatementPtr | makeAndRegisterBuildinAlias (const DataType dataType, const String &ident) |
| |
| void | generatePreDefinedTypeAliases (Program &ast) |
| |
| TypeSpecifierPtr | makeTypeSpecifierWithPackAlignment () |
| |
| ProgramPtr | parseProgram (const SourceCodePtr &source) |
| |
| CodeBlockPtr | parseCodeBlock () override |
| |
| VarDeclarationStatementPtr | parseParameter () override |
| |
| StatementPtr | parseLocalStatement () override |
| |
| StatementPtr | parseForLoopInitializer () override |
| |
| SwitchCasePtr | parseSwitchCase () override |
| |
| VarDeclarationPtr | parseVarDeclaration (VarDeclarationStatement *declarationStatementRef, const TokenPtr &identifierToken=nullptr) override |
| |
| SamplerValuePtr | parseSamplerValue () |
| |
| AttributePtr | parseAttribute () |
| |
| RegisterPtr | parseRegister (bool parseColon=true) |
| |
| PackOffsetPtr | parsePackOffset (bool parseColon=true) |
| |
| TypeSpecifierPtr | parseTypeSpecifier (bool parseVoidType=false) |
| |
| BufferDeclarationPtr | parseBufferDeclaration (BufferDeclarationStatement *declarationStatementRef, const TokenPtr &identifierToken=nullptr) |
| |
| SamplerDeclarationPtr | parseSamplerDeclaration (SamplerDeclarationStatement *declarationStatementRef, const TokenPtr &identifierToken=nullptr) |
| |
| StructDeclarationPtr | parseStructDeclaration (bool parseStructtoken=true, const TokenPtr &identifierToken=nullptr) |
| |
| AliasDeclarationPtr | parseAliasDeclaration (TypeDenoterPtr typeDenoter) |
| |
| FunctionDeclarationPtr | parseFunctionDeclaration (BasicDeclarationStatement *declarationStatementRef, const TypeSpecifierPtr &returnType=nullptr, const TokenPtr &identifierToken=nullptr) |
| |
| UniformBufferDeclarationPtr | parseUniformBufferDeclaration () |
| |
| StatementPtr | parseGlobalStatement () |
| |
| StatementPtr | parseGlobalStatementPrimary () |
| |
| StatementPtr | parseGlobalStatementWithTypeSpecifier () |
| |
| StatementPtr | parseGlobalStatementWithSamplerTypeDenoter () |
| |
| StatementPtr | parseGlobalStatementWithBufferTypeDenoter () |
| |
| BasicDeclarationStatementPtr | parseFunctionDeclarationStatement (const TypeSpecifierPtr &returnType=nullptr, const TokenPtr &identifierToken=nullptr) |
| |
| BasicDeclarationStatementPtr | parseUniformBufferDeclarationStatement () |
| |
| BufferDeclarationStatementPtr | parseBufferDeclarationStatement (const BufferTypeDenoterPtr &typeDenoter=nullptr, const TokenPtr &identifierToken=nullptr) |
| |
| SamplerDeclarationStatementPtr | parseSamplerDeclarationStatement (const SamplerTypeDenoterPtr &typeDenoter=nullptr, const TokenPtr &identifierToken=nullptr) |
| |
| VarDeclarationStatementPtr | parseVarDeclarationStatement () |
| |
| AliasDeclarationStatementPtr | parseAliasDeclarationStatement () |
| |
| StatementPtr | parseStatement (bool allowAttributes=true) |
| |
| StatementPtr | parseStatementPrimary () |
| |
| StatementPtr | parseStatementWithStructDeclaration () |
| |
| StatementPtr | parseStatementWithIdent () |
| |
| ExpressionPtr | parsePrimaryExpression () override |
| |
| ExpressionPtr | parsePrimaryExpressionPrefix () |
| |
| ExpressionPtr | parseExpressionWithSuffixOpt (ExpressionPtr expression) |
| |
| LiteralExpressionPtr | parseLiteralExpression () |
| |
| ExpressionPtr | parseTypeSpecifierOrCallExpression () |
| |
| TypeSpecifierExpressionPtr | parseTypeSpecifierExpression () |
| |
| UnaryExpressionPtr | parseUnaryExpression () |
| |
| PostUnaryExpressionPtr | parsePostUnaryExpression (const ExpressionPtr &expression) |
| |
| ExpressionPtr | parseExpressionWithBracketPrefix () |
| |
| ObjectExpressionPtr | parseObjectExpression (const ExpressionPtr &expression=nullptr) |
| |
| AssignExpressionPtr | parseAssignExpression (const ExpressionPtr &expression) |
| |
| ExpressionPtr | parseObjectOrCallExpression (const ExpressionPtr &expression=nullptr) |
| |
| CallExpressionPtr | parseCallExpression (const ObjectExpressionPtr &objectExpression=nullptr, const TypeDenoterPtr &typeDenoter=nullptr) |
| |
| CallExpressionPtr | parseCallExpressionWithPrefixOpt (const ExpressionPtr &prefixExpression=nullptr, bool isStatic=false, const TokenPtr &identifierToken=nullptr) |
| |
| CallExpressionPtr | parseCallExpressionAsTypeCtor (const TypeDenoterPtr &typeDenoter) |
| |
| Vector< StatementPtr > | parseGlobalStatementList () |
| |
| Vector< VarDeclarationStatementPtr > | parseAnnotationList () |
| |
| Vector< RegisterPtr > | parseRegisterList (bool parseFirstColon=true) |
| |
| Vector< AttributePtr > | parseAttributeList () |
| |
| Vector< BufferDeclarationPtr > | parseBufferDeclarationList (BufferDeclarationStatement *declarationStatementRef, const TokenPtr &identifierToken=nullptr) |
| |
| Vector< SamplerDeclarationPtr > | parseSamplerDeclarationList (SamplerDeclarationStatement *declarationStatementRef, const TokenPtr &identifierToken=nullptr) |
| |
| Vector< SamplerValuePtr > | parseSamplerValueList () |
| |
| Vector< AliasDeclarationPtr > | parseAliasDeclarationList (TypeDenoterPtr typeDenoter) |
| |
| String | parseIdentWithNamespaceOpt (ObjectExpressionPtr &namespaceExpression, TokenPtr identifierToken=nullptr, SourceArea *area=nullptr) |
| |
| TypeDenoterPtr | parseTypeDenoter (bool allowVoidType=true, StructDeclarationPtr *structDeclaration=nullptr) |
| |
| TypeDenoterPtr | parseTypeDenoterPrimary (StructDeclarationPtr *structDeclaration=nullptr) |
| |
| TypeDenoterPtr | parseTypeDenoterWithStructDeclarationOpt (StructDeclarationPtr &structDeclaration, bool allowVoidType=true) |
| |
| VoidTypeDenoterPtr | ParseVoidTypeDenoter () |
| |
| BaseTypeDenoterPtr | parseBaseTypeDenoter () |
| |
| BaseTypeDenoterPtr | parseBaseVectorTypeDenoter () |
| |
| BaseTypeDenoterPtr | parseBaseMatrixTypeDenoter () |
| |
| BufferTypeDenoterPtr | parseBufferTypeDenoter () |
| |
| SamplerTypeDenoterPtr | parseSamplerTypeDenoter () |
| |
| StructTypeDenoterPtr | parseStructTypeDenoter () |
| |
| StructTypeDenoterPtr | parseStructTypeDenoterWithStructDeclarationOpt (StructDeclarationPtr &structDeclaration) |
| |
| AliasTypeDenoterPtr | parseAliasTypeDenoter (String ident="") |
| |
| void | parseAndIgnoreTechniquesAndNullStatements () |
| |
| void | parseAndIgnoreTechnique () |
| |
| void | parseVarDeclarationSemantic (VarDeclaration &varDeclaration, bool allowPackOffset=true) |
| |
| void | parseFunctionDeclarationSemantic (FunctionDeclaration &funcDeclaration) |
| |
| DataType | parseDataType (const String &keyword) |
| |
| PrimitiveType | parsePrimitiveType () |
| |
| InterpModifier | parseInterpModifier () |
| |
| TypeModifier | parseTypeModifier () |
| |
| StorageClass | parseStorageClass () |
| |
| UniformBufferType | parseUniformBufferType () |
| |
| BufferType | parseBufferType () |
| |
| SamplerType | parseSamplerType () |
| |
| IndexedSemantic | parseSemantic (bool parseColon=true) |
| |
| String | parseSamplerStateTextureIdent () |
| |
| bool | parseModifiers (TypeSpecifier *typeSpecifier, bool allowPrimitiveType=false) |
| |
|
| using | Tokens = Token::Types |
| |
| using | BinaryOpList = InitializerList< BinaryOp > |
| |
| void | semi () |
| |
| ArrayDimensionPtr | parseArrayDimension (bool allowDynamicDimension=false) |
| |
| NullStatementPtr | parseNullStatement () |
| |
| CodeBlockStatementPtr | parseCodeBlockStatement () |
| |
| ForLoopStatementPtr | parseForLoopStatement () |
| |
| WhileLoopStatementPtr | parseWhileLoopStatement () |
| |
| DoWhileLoopStatementPtr | parseDoWhileLoopStatement () |
| |
| IfStatementPtr | parseIfStatement () |
| |
| ElseStatementPtr | parseElseStatement () |
| |
| SwitchStatementPtr | parseSwitchStatement () |
| |
| CtrlTransferStatementPtr | parseCtrlTransferStatement () |
| |
| ReturnStatementPtr | parseReturnStatement () |
| |
| ExpressionStatementPtr | parseExpressionStatement (const ExpressionPtr &expression=nullptr) |
| |
| ExpressionPtr | parseExpression () |
| |
| ExpressionPtr | parseExpressionWithSequenceOpt () |
| |
| ExpressionPtr | parseArrayIndex () |
| |
| ExpressionPtr | parseInitializer () |
| |
| SequenceExpressionPtr | parseSequenceExpression (const ExpressionPtr &firstExpression) |
| |
| ArrayExpressionPtr | parseArrayExpression (const ExpressionPtr &expression) |
| |
| InitializerExpressionPtr | parseInitializerExpression () |
| |
| Vector< VarDeclarationPtr > | parseVarDeclarationList (VarDeclarationStatement *declarationStatementRef, TokenPtr firstidentifierToken=nullptr) |
| |
| Vector< VarDeclarationStatementPtr > | parseParameterList () |
| |
| Vector< StatementPtr > | parseLocalStatementList () |
| |
| Vector< ExpressionPtr > | parseExpressionList (const Tokens listTerminatorToken, bool allowLastComma=false) |
| |
| Vector< ArrayDimensionPtr > | parseArrayDimensionList (bool allowDynamicDimension=false) |
| |
| Vector< ExpressionPtr > | parseArrayIndexList () |
| |
| Vector< ExpressionPtr > | parseArgumentList () |
| |
| Vector< ExpressionPtr > | parseInitializerList () |
| |
| Vector< SwitchCasePtr > | parseSwitchCaseList () |
| |
| String | parseIdent (TokenPtr identifierToken=nullptr, SourceArea *area=nullptr) |
| |
| TypeDenoterPtr | parseTypeDenoterWithArrayOpt (const TypeDenoterPtr &baseTypeDenoter) |
| |
| VoidTypeDenoterPtr | parseVoidTypeDenoter () |
| |
| Variant | parseAndEvaluateConstExpression () |
| |
| Int32 | parseAndEvaluateConstExpressionInt () |
| |
| Int32 | parseAndEvaluateVectorDimension () |
| |
| void | parseStatementWithCommentOpt (Vector< StatementPtr > &statements, const UniqueFunction< StatementPtr() const > &parseFunction) |
| |
| | Parser (Log *log) |
| |
| void | error (const String &msg, const SourceArea &area, bool breakWithException=true) |
| |
| void | error (const String &msg, const Token *token, bool breakWithException=true) |
| |
| void | error (const String &msg, bool prevToken=true, bool breakWithException=true) |
| |
| void | errorUnexpected (const String &hint="", const Token *token=nullptr, bool breakWithException=false) |
| |
| void | errorUnexpected (const Tokens type, const Token *token=nullptr, bool breakWithException=false) |
| |
| void | errorInternal (const String &msg, const String &procName) |
| |
| void | warning (const String &msg, const SourceArea &area) |
| |
| void | warning (const String &msg, const Token *token) |
| |
| void | warning (const String &msg, bool prevToken=true) |
| |
| void | enableWarnings (bool enable) |
| |
| virtual void | pushScannerSource (const SourceCodePtr &source, const String &filename="") |
| |
| virtual bool | popScannerSource () |
| |
| ParsingState | getActiveParsingState () const |
| |
| Scanner & | getScanner () |
| |
| String | getCurrentFilename () const |
| |
| TokenPtr | accept (const Tokens type) |
| |
| TokenPtr | accept (const Tokens type, const String &spell) |
| |
| void | pushTokenString (const TokenPtrString &tokenString) |
| |
| void | popTokenString () |
| |
| void | ignoreWhiteSpaces (bool includeNewLines=false, bool includeComments=false) |
| |
| void | ignoreNewLines () |
| |
| template<typename T > |
| const T & | updateSourceArea (const T &ast, const AST *areaOriginAST=nullptr) |
| |
| template<typename T > |
| const T & | updateSourceArea (const T &ast, const ASTPtr &firstAreaOriginAST, const ASTPtr &lastAreaOriginAST) |
| |
| template<typename T > |
| const T & | updateSourceAreaOffset (const T &ast) |
| |
| void | pushParsingState (const ParsingState &state) |
| |
| void | popParsingState () |
| |
| void | pushPreParsedAST (const ASTPtr &ast) |
| | Pushes the specified AST node onto the stack of pre-parsed AST nodes.
|
| |
| ASTPtr | popPreParsedAST () |
| |
| ExpressionPtr | parseGenericExpression () |
| |
| TernaryExpressionPtr | parseTernaryExpression (const ExpressionPtr &condExpression) |
| |
| ExpressionPtr | parseLogicOrExpression () |
| |
| ExpressionPtr | parseLogicAndExpression () |
| |
| ExpressionPtr | parseBitwiseOrExpression () |
| |
| ExpressionPtr | parseBitwiseXOrExpression () |
| |
| ExpressionPtr | parseBitwiseAndExpression () |
| |
| ExpressionPtr | parseEqualityExpression () |
| |
| ExpressionPtr | parseRelationExpression () |
| |
| ExpressionPtr | parseShiftExpression () |
| |
| ExpressionPtr | parseAddExpression () |
| |
| ExpressionPtr | parseSubExpression () |
| |
| ExpressionPtr | parseMulExpression () |
| |
| ExpressionPtr | parseDivExpression () |
| |
| ExpressionPtr | parseValueExpression () |
| |
| Int32 | parseIntLiteral (TokenPtr token=nullptr) |
| |
| Int32 | parseIntLiteral (const String &valueStr, const Token *token=nullptr) |
| |
| Log * | getLog () const |
| |
| ReportHandler & | getReportHandler () |
| |
| NameMangling & | getNameMangling () |
| |
| const String * | findNameManglingPrefix (const String &ident) const |
| |
| template<typename T , typename... Args> |
| SPtr< T > | make (Args &&... args) |
| |
| const TokenPtr & | getToken () const |
| |
| Tokens | getTokenType () const |
| |
| bool | is (const Tokens type) const |
| |
| bool | is (const Tokens type, const String &spell) const |
| |