OpenMW
|
#include <scanner.hpp>
Public Types | |
enum | keyword { K_begin, K_end, K_short, K_long, K_float, K_if, K_endif, K_else, K_elseif, K_while, K_endwhile, K_return, K_messagebox, K_set, K_to, K_getsquareroot, K_menumode, K_random, K_startscript, K_stopscript, K_scriptrunning, K_getdistance, K_getsecondspassed, K_enable, K_disable, K_getdisabled } |
enum | special { S_newline, S_open, S_close, S_cmpEQ, S_cmpNE, S_cmpLT, S_cmpLE, S_cmpGT, S_cmpGE, S_plus, S_minus, S_mult, S_div, S_comma, S_ref, S_member } |
Public Member Functions | |
Scanner (ErrorHandler &errorHandler, std::istream &inputStream, const Extensions *extensions=0) | |
constructor | |
void | scan (Parser &parser) |
Scan a token and deliver it to the parser. | |
void | putbackSpecial (int code, const TokenLoc &loc) |
put back a special token | |
void | putbackInt (int value, const TokenLoc &loc) |
put back an integer token | |
void | putbackFloat (float value, const TokenLoc &loc) |
put back a float token | |
void | putbackName (const std::string &name, const TokenLoc &loc) |
put back a name toekn | |
void | putbackKeyword (int keyword, const TokenLoc &loc) |
put back a keyword token | |
void | listKeywords (std::vector< std::string > &keywords) |
Append all known keywords to \æ kaywords. | |
Private Types | |
enum | putback_type { Putback_None, Putback_Special, Putback_Integer, Putback_Float, Putback_Name, Putback_Keyword } |
Private Member Functions | |
Scanner (const Scanner &) | |
Scanner & | operator= (const Scanner &) |
bool | get (char &c) |
void | putback (char c) |
bool | scanToken (Parser &parser) |
bool | scanInt (char c, Parser &parser, bool &cont) |
bool | scanFloat (const std::string &intValue, Parser &parser, bool &cont) |
bool | scanName (char c, Parser &parser, bool &cont) |
bool | scanName (char c, std::string &name) |
bool | scanSpecial (char c, Parser &parser, bool &cont) |
Static Private Member Functions | |
static bool | isWhitespace (char c) |
Private Attributes | |
ErrorHandler & | mErrorHandler |
TokenLoc | mLoc |
TokenLoc | mPrevLoc |
std::istream & | mStream |
const Extensions * | mExtensions |
putback_type | mPutback |
int | mPutbackCode |
int | mPutbackInteger |
float | mPutbackFloat |
std::string | mPutbackName |
TokenLoc | mPutbackLoc |
This class translate a char-stream to a token stream (delivered via parser-callbacks).
enum Compiler::Scanner::putback_type [private] |
Compiler::Scanner::Scanner | ( | const Scanner & | ) | [private] |
Compiler::Scanner::Scanner | ( | ErrorHandler & | errorHandler, |
std::istream & | inputStream, | ||
const Extensions * | extensions = 0 |
||
) |
constructor
bool Compiler::Scanner::get | ( | char & | c | ) | [private] |
bool Compiler::Scanner::isWhitespace | ( | char | c | ) | [static, private] |
void Compiler::Scanner::listKeywords | ( | std::vector< std::string > & | keywords | ) |
Append all known keywords to \æ kaywords.
void Compiler::Scanner::putback | ( | char | c | ) | [private] |
void Compiler::Scanner::putbackFloat | ( | float | value, |
const TokenLoc & | loc | ||
) |
put back a float token
void Compiler::Scanner::putbackInt | ( | int | value, |
const TokenLoc & | loc | ||
) |
put back an integer token
void Compiler::Scanner::putbackKeyword | ( | int | keyword, |
const TokenLoc & | loc | ||
) |
put back a keyword token
void Compiler::Scanner::putbackName | ( | const std::string & | name, |
const TokenLoc & | loc | ||
) |
put back a name toekn
void Compiler::Scanner::putbackSpecial | ( | int | code, |
const TokenLoc & | loc | ||
) |
put back a special token
void Compiler::Scanner::scan | ( | Parser & | parser | ) |
Scan a token and deliver it to the parser.
bool Compiler::Scanner::scanFloat | ( | const std::string & | intValue, |
Parser & | parser, | ||
bool & | cont | ||
) | [private] |
bool Compiler::Scanner::scanInt | ( | char | c, |
Parser & | parser, | ||
bool & | cont | ||
) | [private] |
bool Compiler::Scanner::scanName | ( | char | c, |
Parser & | parser, | ||
bool & | cont | ||
) | [private] |
bool Compiler::Scanner::scanName | ( | char | c, |
std::string & | name | ||
) | [private] |
bool Compiler::Scanner::scanSpecial | ( | char | c, |
Parser & | parser, | ||
bool & | cont | ||
) | [private] |
bool Compiler::Scanner::scanToken | ( | Parser & | parser | ) | [private] |
ErrorHandler& Compiler::Scanner::mErrorHandler [private] |
const Extensions* Compiler::Scanner::mExtensions [private] |
TokenLoc Compiler::Scanner::mLoc [private] |
TokenLoc Compiler::Scanner::mPrevLoc [private] |
putback_type Compiler::Scanner::mPutback [private] |
int Compiler::Scanner::mPutbackCode [private] |
float Compiler::Scanner::mPutbackFloat [private] |
int Compiler::Scanner::mPutbackInteger [private] |
TokenLoc Compiler::Scanner::mPutbackLoc [private] |
std::string Compiler::Scanner::mPutbackName [private] |
std::istream& Compiler::Scanner::mStream [private] |