class Lexer

Analizzatore lessicale

Public Methods

[more] Lexer ()
Inizializza il Lexer su una stringa vuota
[more] Lexer (const std::string & s)
Inizializza il Lexer in modo che legga dalla stringa s
[more]Token* nextToken () throw(LexException)
Restituisce il Token successivo, o lancia un'eccezione se non è in grado di riconoscerlo

Private Fields

[more]std::string sent
Contiene la stringa soggetta a scansione
[more]int index
Indica la posizione all'interno della stringa alla quale è giunta la scansione

Private Methods

[more]Token* readNumber (int sign) throw(LexException)
Legge la rappresentazone esterna di un intero e restituisce il valore moltiplicat o per sign
[more]Token* readVariable () throw(LexException)
Legge una stringa alfanumerica che inizi con una lettera
[more]bool isDigit (char c) const
Restituisce true se c corrisponde ad una cifra, false altrimenti
[more]bool isLetter (char c) const
Restituisce true se c corrisponde ad una lettera, false altrimenti
[more]bool isSep (char c) const
Restituisce true se c corrisponde ad un separatore, false altrimenti
[more]std::string 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
[more]char category (char c) const
Restituisce la categoria sintttica del carattere c : '0' , se c è una cifra 'a' , se c è una lettera
[more]void skipSep ()
Avanza il puntatore all'interno della stringa di riferimento fino a trovare un carattere che non sia un separatore

Documentation

Analizzatore lessicale
o Lexer()
Inizializza il Lexer su una stringa vuota

o Lexer(const std::string & s)
Inizializza il Lexer in modo che legga dalla stringa s

oToken* nextToken() throw(LexException)
Restituisce il Token successivo, o lancia un'eccezione se non è in grado di riconoscerlo

ostd::string sent
Contiene la stringa soggetta a scansione

oint index
Indica la posizione all'interno della stringa alla quale è giunta la scansione

oToken* readNumber(int sign) throw(LexException)
Legge la rappresentazone esterna di un intero e restituisce il valore moltiplicat o per sign

oToken* readVariable() throw(LexException)
Legge una stringa alfanumerica che inizi con una lettera. Se essa corrisponde ad una keyword restituisce un IdentToken, altrimenti un VariableToken

obool isDigit(char c) const
Restituisce true se c corrisponde ad una cifra, false altrimenti

obool isLetter(char c) const
Restituisce true se c corrisponde ad una lettera, false altrimenti

obool isSep(char c) const
Restituisce true se c corrisponde ad un separatore, false altrimenti

ostd::string 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

ochar category(char c) const
Restituisce la categoria sintttica del carattere c : '0' , se c è una cifra 'a' , se c è una lettera

ovoid skipSep()
Avanza il puntatore all'interno della stringa di riferimento fino a trovare un carattere che non sia un separatore


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.