V-Gears 0
Free Final Fantasy VII engine.
Parser Class Reference
Collaboration diagram for Parser:

Classes

class  ArgumentOutOfRangeException
 
class  DuplicateLabelException
 
class  DuplicateMethodNameException
 
class  DuplicateObjectNameException
 
class  Exception
 
class  TooManyArgumentsException
 
class  TooManyMethodsException
 
class  TooManyObjectsException
 
class  UndefinedLabelException
 
class  UnknownOpCodeException
 

Public Member Functions

 Parser (const std::string &src)
 
void Parse ()
 

Private Member Functions

void Parse (std::deque< Tokenzier::Token > &tokens)
 
void ParseEntity (std::deque< Tokenzier::Token > &tokens)
 
void ParseEntityMethods (std::deque< Tokenzier::Token > &tokens, Assembler::Object &obj)
 
void ParseEntityMethod (std::deque< Tokenzier::Token > &tokens, Assembler::Object &obj)
 
void ParseEntityMethodBody (std::deque< Tokenzier::Token > &tokens, Assembler::Method &method)
 
void ParseInstruction (const Tokenzier::Token &inst, std::deque< Tokenzier::Token > &tokens, Assembler::Method &method)
 
Tokenzier::Token ExpectQuotedString (std::deque< Tokenzier::Token > &tokens)
 
Tokenzier::eTokenType PeekTokenType (const std::deque< Tokenzier::Token > &tokens)
 
void ExpectTokenType (Tokenzier::eTokenType type, const Tokenzier::Token &token)
 
void ExpectToken (Tokenzier::eTokenType type, std::deque< Tokenzier::Token > &tokens)
 
void ExpectText (const std::string &expectedText, const Tokenzier::Token &token)
 
Tokenzier::Token NextToken (std::deque< Tokenzier::Token > &tokens)
 
Tokenzier::Token PeekToken (const std::deque< Tokenzier::Token > &tokens)
 
std::string ToString (Tokenzier::eTokenType type)
 

Private Attributes

Tokenzier mTokenzier
 
Assembler mAssembler
 

Constructor & Destructor Documentation

◆ Parser()

Parser::Parser ( const std::string &  src)
inline

Member Function Documentation

◆ ExpectQuotedString()

Tokenzier::Token Parser::ExpectQuotedString ( std::deque< Tokenzier::Token > &  tokens)
inlineprivate

◆ ExpectText()

void Parser::ExpectText ( const std::string &  expectedText,
const Tokenzier::Token token 
)
inlineprivate

◆ ExpectToken()

void Parser::ExpectToken ( Tokenzier::eTokenType  type,
std::deque< Tokenzier::Token > &  tokens 
)
inlineprivate

◆ ExpectTokenType()

void Parser::ExpectTokenType ( Tokenzier::eTokenType  type,
const Tokenzier::Token token 
)
inlineprivate

◆ NextToken()

Tokenzier::Token Parser::NextToken ( std::deque< Tokenzier::Token > &  tokens)
inlineprivate

◆ Parse() [1/2]

void Parser::Parse ( )
inline

◆ Parse() [2/2]

void Parser::Parse ( std::deque< Tokenzier::Token > &  tokens)
inlineprivate

◆ ParseEntity()

void Parser::ParseEntity ( std::deque< Tokenzier::Token > &  tokens)
inlineprivate

◆ ParseEntityMethod()

void Parser::ParseEntityMethod ( std::deque< Tokenzier::Token > &  tokens,
Assembler::Object obj 
)
inlineprivate

◆ ParseEntityMethodBody()

void Parser::ParseEntityMethodBody ( std::deque< Tokenzier::Token > &  tokens,
Assembler::Method method 
)
inlineprivate

◆ ParseEntityMethods()

void Parser::ParseEntityMethods ( std::deque< Tokenzier::Token > &  tokens,
Assembler::Object obj 
)
inlineprivate

◆ ParseInstruction()

void Parser::ParseInstruction ( const Tokenzier::Token inst,
std::deque< Tokenzier::Token > &  tokens,
Assembler::Method method 
)
inlineprivate

◆ PeekToken()

Tokenzier::Token Parser::PeekToken ( const std::deque< Tokenzier::Token > &  tokens)
inlineprivate

◆ PeekTokenType()

Tokenzier::eTokenType Parser::PeekTokenType ( const std::deque< Tokenzier::Token > &  tokens)
inlineprivate

◆ ToString()

std::string Parser::ToString ( Tokenzier::eTokenType  type)
inlineprivate

Member Data Documentation

◆ mAssembler

Assembler Parser::mAssembler
private

◆ mTokenzier

Tokenzier Parser::mTokenzier
private

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