CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ShaderCompiler::PreProcessorScanner Class Reference

#include <CeresEngine/Material/ShaderCompiler/Frontend/PreProcessorScanner.hpp>

Inheritance diagram for CeresEngine::ShaderCompiler::PreProcessorScanner:
CeresEngine::ShaderCompiler::Scanner

Public Member Functions

 PreProcessorScanner (Log *log=nullptr)
 
TokenPtr next () override
 
- Public Member Functions inherited from CeresEngine::ShaderCompiler::Scanner
 Scanner (Log *log=nullptr)
 
virtual ~Scanner ()=default
 
bool scanSource (const SourceCodePtr &source)
 
void pushTokenString (const TokenPtrString &tokenString)
 
void popTokenString ()
 
TokenPtrString::ConstIterator getTopTokenStringIterator () const
 
TokenPtr getActiveToken () const
 
TokenPtr getPreviousToken () const
 
const SourcePositiongetPosition () const
 
SourceCodegetSource () const
 
const SourceCodePtrgetSharedSource () const
 
const StringgetComment () const
 

Private Member Functions

TokenPtr scanToken () override
 
TokenPtr scanDirectiveOrDirectiveConcat ()
 
TokenPtr scanIdentifier ()
 

Additional Inherited Members

- Protected Types inherited from CeresEngine::ShaderCompiler::Scanner
using Tokens = Token::Types
 
- Protected Member Functions inherited from CeresEngine::ShaderCompiler::Scanner
TokenPtr nextToken (bool scanComments, bool scanWhiteSpaces)
 
void storeStartPos ()
 
char take (char chr)
 
char takeIt ()
 
TokenPtr make (const Token::Types &type, bool takeChr=false)
 
TokenPtr make (const Token::Types &type, String &spell, bool takeChr=false)
 
TokenPtr make (const Token::Types &type, String &spell, const SourcePosition &pos, bool takeChr=false)
 
void error (const String &msg)
 
void errorUnexpected ()
 
void errorUnexpected (char expectedChar)
 
void errorUnexpectedEos ()
 
void ignore (const UniqueFunction< bool(char) const > &pred)
 
void ignoreWhiteSpaces (bool includeNewLines=true)
 
TokenPtr scanWhiteSpaces (bool includeNewLines=true)
 
TokenPtr scanCommentLine (bool scanComments)
 
TokenPtr scanCommentBlock (bool scanComments)
 
TokenPtr scanStringLiteral ()
 
TokenPtr scanCharLiteral ()
 
TokenPtr scanNumber (bool startWithPeriod=false)
 
TokenPtr scanNumberOrDot ()
 
TokenPtr scanVarArg (String &spell)
 
bool scanDigitSequence (String &spell)
 
bool isNewLine () const
 
bool is (const char chr) const
 
char chr () const
 
unsigned char uChr () const
 

Constructor & Destructor Documentation

◆ PreProcessorScanner()

CeresEngine::ShaderCompiler::PreProcessorScanner::PreProcessorScanner ( Log log = nullptr)

Member Function Documentation

◆ next()

TokenPtr CeresEngine::ShaderCompiler::PreProcessorScanner::next ( )
overridevirtual

◆ scanDirectiveOrDirectiveConcat()

TokenPtr CeresEngine::ShaderCompiler::PreProcessorScanner::scanDirectiveOrDirectiveConcat ( )
private

◆ scanIdentifier()

TokenPtr CeresEngine::ShaderCompiler::PreProcessorScanner::scanIdentifier ( )
private

◆ scanToken()

TokenPtr CeresEngine::ShaderCompiler::PreProcessorScanner::scanToken ( )
overrideprivatevirtual

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