|
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] |
1.7.6.1