#include <CeresEngine/Material/ShaderCompiler/Frontend/Parser.hpp>
|
| | 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 ScannerPtr | makeScanner ()=0 |
| |
| 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) |
| |
| virtual TokenPtr | acceptIt () |
| |
| 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 () |
| |
| virtual ExpressionPtr | parsePrimaryExpression ()=0 |
| |
| 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 |
| |
◆ BinaryOpList
◆ Tokens
◆ ~Parser()
| virtual CeresEngine::ShaderCompiler::Parser::~Parser |
( |
| ) |
|
|
virtualdefault |
◆ Parser()
| CeresEngine::ShaderCompiler::Parser::Parser |
( |
Log * |
log | ) |
|
|
protected |
◆ accept() [1/2]
◆ accept() [2/2]
◆ acceptIt()
◆ assertTokenSpell()
| void CeresEngine::ShaderCompiler::Parser::assertTokenSpell |
( |
const String & |
spell | ) |
|
|
private |
◆ assertTokenType()
| void CeresEngine::ShaderCompiler::Parser::assertTokenType |
( |
const Tokens |
type | ) |
|
|
private |
◆ enableWarnings()
| void CeresEngine::ShaderCompiler::Parser::enableWarnings |
( |
bool |
enable | ) |
|
|
protected |
◆ error() [1/3]
◆ error() [2/3]
◆ error() [3/3]
◆ errorInternal()
◆ errorUnexpected() [1/2]
◆ errorUnexpected() [2/2]
◆ findNameManglingPrefix()
◆ getActiveParsingState()
| ParsingState CeresEngine::ShaderCompiler::Parser::getActiveParsingState |
( |
| ) |
const |
|
protected |
◆ getCurrentFilename()
| String CeresEngine::ShaderCompiler::Parser::getCurrentFilename |
( |
| ) |
const |
|
protected |
◆ getLog()
| Log * CeresEngine::ShaderCompiler::Parser::getLog |
( |
| ) |
const |
|
inlineprotected |
◆ getNameMangling()
| NameMangling & CeresEngine::ShaderCompiler::Parser::getNameMangling |
( |
| ) |
|
|
inlineprotected |
◆ getReportHandler()
| ReportHandler & CeresEngine::ShaderCompiler::Parser::getReportHandler |
( |
| ) |
|
|
inlineprotected |
◆ getScanner()
| Scanner & CeresEngine::ShaderCompiler::Parser::getScanner |
( |
| ) |
|
|
protected |
◆ getToken()
| const TokenPtr & CeresEngine::ShaderCompiler::Parser::getToken |
( |
| ) |
const |
|
inlineprotected |
◆ getTokenType()
| Tokens CeresEngine::ShaderCompiler::Parser::getTokenType |
( |
| ) |
const |
|
inlineprotected |
◆ ignoreNewLines()
| void CeresEngine::ShaderCompiler::Parser::ignoreNewLines |
( |
| ) |
|
|
protected |
◆ ignoreWhiteSpaces()
| void CeresEngine::ShaderCompiler::Parser::ignoreWhiteSpaces |
( |
bool |
includeNewLines = false, |
|
|
bool |
includeComments = false |
|
) |
| |
|
protected |
◆ incUnexpectedTokenCounter()
| void CeresEngine::ShaderCompiler::Parser::incUnexpectedTokenCounter |
( |
| ) |
|
|
private |
◆ is() [1/2]
◆ is() [2/2]
◆ make()
| SPtr< T > CeresEngine::ShaderCompiler::Parser::make |
( |
Args &&... |
args | ) |
|
|
inlineprotected |
◆ makeScanner()
◆ parseAddExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseAddExpression |
( |
| ) |
|
|
protected |
◆ parseBitwiseAndExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseBitwiseAndExpression |
( |
| ) |
|
|
protected |
◆ parseBitwiseOrExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseBitwiseOrExpression |
( |
| ) |
|
|
protected |
◆ parseBitwiseXOrExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseBitwiseXOrExpression |
( |
| ) |
|
|
protected |
◆ parseDivExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseDivExpression |
( |
| ) |
|
|
protected |
◆ parseEqualityExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseEqualityExpression |
( |
| ) |
|
|
protected |
◆ parseGenericExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseGenericExpression |
( |
| ) |
|
|
protected |
◆ parseIntLiteral() [1/2]
◆ parseIntLiteral() [2/2]
◆ parseLogicAndExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseLogicAndExpression |
( |
| ) |
|
|
protected |
◆ parseLogicOrExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseLogicOrExpression |
( |
| ) |
|
|
protected |
◆ parseLtrBinaryExpression()
◆ parseMulExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseMulExpression |
( |
| ) |
|
|
protected |
◆ parsePrimaryExpression()
◆ parseRelationExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseRelationExpression |
( |
| ) |
|
|
protected |
◆ parseShiftExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseShiftExpression |
( |
| ) |
|
|
protected |
◆ parseSubExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseSubExpression |
( |
| ) |
|
|
protected |
◆ parseTernaryExpression()
◆ parseValueExpression()
| ExpressionPtr CeresEngine::ShaderCompiler::Parser::parseValueExpression |
( |
| ) |
|
|
protected |
◆ popParsingState()
| void CeresEngine::ShaderCompiler::Parser::popParsingState |
( |
| ) |
|
|
protected |
◆ popPreParsedAST()
| ASTPtr CeresEngine::ShaderCompiler::Parser::popPreParsedAST |
( |
| ) |
|
|
protected |
◆ popScannerSource()
| virtual bool CeresEngine::ShaderCompiler::Parser::popScannerSource |
( |
| ) |
|
|
protectedvirtual |
◆ popTokenString()
| void CeresEngine::ShaderCompiler::Parser::popTokenString |
( |
| ) |
|
|
protected |
◆ pushParsingState()
◆ pushPreParsedAST()
| void CeresEngine::ShaderCompiler::Parser::pushPreParsedAST |
( |
const ASTPtr & |
ast | ) |
|
|
protected |
Pushes the specified AST node onto the stack of pre-parsed AST nodes.
This can be used to pass AST nodes down a parsing function call stack (e.g. used for ObjectExpression which is used in many parsing functions). This is meant to be used only for a few situations because care must be taken that none of these AST nodes will be ignored (i.e. lost in the stack).
◆ pushScannerSource()
◆ pushTokenString()
◆ updateSourceArea() [1/2]
◆ updateSourceArea() [2/2]
◆ updateSourceAreaOffset()
| const T & CeresEngine::ShaderCompiler::Parser::updateSourceAreaOffset |
( |
const T & |
ast | ) |
|
|
inlineprotected |
◆ warning() [1/3]
◆ warning() [2/3]
◆ warning() [3/3]
◆ mEnableWarnings
| bool CeresEngine::ShaderCompiler::Parser::mEnableWarnings = false |
|
private |
◆ mLog
| Log* CeresEngine::ShaderCompiler::Parser::mLog = nullptr |
|
private |
◆ mNameMangling
| NameMangling CeresEngine::ShaderCompiler::Parser::mNameMangling |
|
private |
◆ mParsingStateStack
◆ mPreParsedASTStack
| Stack<ASTPtr> CeresEngine::ShaderCompiler::Parser::mPreParsedASTStack |
|
private |
◆ mReportHandler
| ReportHandler CeresEngine::ShaderCompiler::Parser::mReportHandler |
|
private |
◆ mScannerStack
◆ mToken
| TokenPtr CeresEngine::ShaderCompiler::Parser::mToken |
|
private |
◆ mUnexpectedTokenCounter
| UInt32 CeresEngine::ShaderCompiler::Parser::mUnexpectedTokenCounter = 0 |
|
private |
◆ unexpectedTokenLimit
| const UInt32 CeresEngine::ShaderCompiler::Parser::unexpectedTokenLimit = 3 |
|
private |
The documentation for this class was generated from the following file:
- /Users/Rogiel/Developer/CeresEngine/Engine/Sources/CeresEngine/Material/ShaderCompiler/Frontend/Parser.hpp