OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Types | Private Attributes | List of all members
Compiler::DeclarationParser Class Reference

#include <declarationparser.hpp>

Inheritance diagram for Compiler::DeclarationParser:
Collaboration diagram for Compiler::DeclarationParser:

Public Member Functions

 DeclarationParser (ErrorHandler &errorHandler, const Context &context, Locals &locals)
 
virtual bool parseName (const std::string &name, const TokenLoc &loc, Scanner &scanner)
 
virtual bool parseKeyword (int keyword, const TokenLoc &loc, Scanner &scanner)
 
virtual bool parseSpecial (int code, const TokenLoc &loc, Scanner &scanner)
 
void reset ()
 Reset parser to clean state. More...
 
- Public Member Functions inherited from Compiler::Parser
 Parser (ErrorHandler &errorHandler, const Context &context)
 constructor More...
 
virtual ~Parser ()
 destructor More...
 
virtual bool parseInt (int value, const TokenLoc &loc, Scanner &scanner)
 
virtual bool parseFloat (float value, const TokenLoc &loc, Scanner &scanner)
 
virtual bool parseComment (const std::string &comment, const TokenLoc &loc, Scanner &scanner)
 
virtual void parseEOF (Scanner &scanner)
 
void setOptional (bool optional)
 
void start ()
 Mark parser as non-empty (at least one token has been parser). More...
 
bool isEmpty () const
 Has anything been parsed? More...
 

Private Types

enum  State { State_Begin, State_Name, State_End }
 

Private Attributes

LocalsmLocals
 
State mState
 
char mType
 

Additional Inherited Members

- Protected Member Functions inherited from Compiler::Parser
void reportSeriousError (const std::string &message, const TokenLoc &loc)
 Report the error and throw a exception. More...
 
void reportWarning (const std::string &message, const TokenLoc &loc)
 Report the warning without throwing an exception. More...
 
void reportEOF ()
 Report an unexpected EOF condition. More...
 
ErrorHandlergetErrorHandler ()
 Return error handler. More...
 
const ContextgetContext () const
 Return context. More...
 
- Static Protected Member Functions inherited from Compiler::Parser
static std::string toLower (const std::string &name)
 

Member Enumeration Documentation

Enumerator
State_Begin 
State_Name 
State_End 

Constructor & Destructor Documentation

Compiler::DeclarationParser::DeclarationParser ( ErrorHandler errorHandler,
const Context context,
Locals locals 
)

Member Function Documentation

bool Compiler::DeclarationParser::parseKeyword ( int  keyword,
const TokenLoc loc,
Scanner scanner 
)
virtual

Handle a keyword token.

Returns
fetch another token?
Todo:
option to disable this atrocity.

Reimplemented from Compiler::Parser.

Here is the call graph for this function:

Here is the caller graph for this function:

bool Compiler::DeclarationParser::parseName ( const std::string &  name,
const TokenLoc loc,
Scanner scanner 
)
virtual

Handle a name token.

Returns
fetch another token?
Todo:
add option to make re-declared local variables an error

Reimplemented from Compiler::Parser.

Here is the call graph for this function:

bool Compiler::DeclarationParser::parseSpecial ( int  code,
const TokenLoc loc,
Scanner scanner 
)
virtual

Handle a special character token.

Returns
fetch another token?

Reimplemented from Compiler::Parser.

Here is the call graph for this function:

void Compiler::DeclarationParser::reset ( )
virtual

Reset parser to clean state.

Reimplemented from Compiler::Parser.

Member Data Documentation

Locals& Compiler::DeclarationParser::mLocals
private
State Compiler::DeclarationParser::mState
private
char Compiler::DeclarationParser::mType
private

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