Analizzatore lessicale
| Lexer () Inizializza il Lexer su una stringa vuota | |
| Lexer (const std::string & s) Inizializza il Lexer in modo che legga dalla stringa s | |
| nextToken () throw(LexException) Restituisce il Token successivo, o lancia un'eccezione se non è in grado di riconoscerlo |
| sent Contiene la stringa soggetta a scansione | |
| index Indica la posizione all'interno della stringa alla quale è giunta la scansione |
| readNumber (int sign) throw(LexException) Legge la rappresentazone esterna di un intero e restituisce il valore moltiplicat o per sign | |
| readVariable () throw(LexException) Legge una stringa alfanumerica che inizi con una lettera | |
| isDigit (char c) const Restituisce true se c corrisponde ad una cifra, false altrimenti | |
| isLetter (char c) const Restituisce true se c corrisponde ad una lettera, false altrimenti | |
| isSep (char c) const Restituisce true se c corrisponde ad un separatore, false altrimenti | |
| KeyWord (std::string k) Se k corrisponde ad una keyword restituisce la forma standard di quella keyword (l'unica che sarà testata dal Parser), altrimenti restituisce la stringa vuota | |
| category (char c) const Restituisce la categoria sintttica del carattere c : '0' , se c è una cifra 'a' , se c è una lettera | |
| skipSep () Avanza il puntatore all'interno della stringa di riferimento fino a trovare un carattere che non sia un separatore |
Analizzatore lessicale
Lexer(const std::string & s)
Token* nextToken() throw(LexException)
std::string sent
int index
Token* readNumber(int sign) throw(LexException)
Token* readVariable() throw(LexException)
bool isDigit(char c) const
bool isLetter(char c) const
bool isSep(char c) const
std::string KeyWord(std::string k)
char category(char c) const
void skipSep()
Alphabetic index HTML hierarchy of classes or Java