class Parser

Analizzatore sintattico

Public Methods

[more] Parser (const std::string& s)
Costruttore
[more]Domain* readDomain () throw(ParserException)
Legge il dominio di una variabile
[more]Variable* readVariable () throw(ParserException)
Legge il nome di una variabile e restituisce una variabile con dominio vuoto
[more]Variable* readVariableWithDomain () throw(ParserException)
Legge una variabile con relativo dominio (es: x::[1
[more]Constraint* readConstraint () throw(ParserException)
Legge un vincolo
[more]void readProgram (CSProblem *p) throw(ParserException)
Legge un intero programma
[more] ~Parser ()
Distruttore

Private Fields

[more]Token* curToken
Token dorrente
[more]Lexer* lex
Analizzatore lessicale

Private Methods

[more] Parser (const Parser& par)
Disabilitazione del costruttore per copia
[more]Parser& operator= (const Parser& par)
Disabilitazione dell'operatore di assegnamento
[more]bool isRelOperator (Token* tok)
Controlla se il token è un operatore relazionale
[more]bool isSumOperator (Token* tok)
Controlla se il token è un operatore di somma o sottrazione
[more]bool isMulOperator (Token* tok)
Controlla se il token è un operatore di moltiplicazione o divisione
[more]Exp* readRelExp () throw(ParserException)
Legge un'espressione relazionale
[more]Exp* readExp () throw(ParserException)
Legge un'espressione aritmetica
[more]Exp* readTerm () throw(ParserException)
Legge un termine
[more]Exp* readFactor () throw(ParserException)
Legge un fattore
[more]void readDomainList (Domain * d) throw(ParserException)
Legge una lista di sottodomini
[more]void readDomainElement (Domain * d) throw(ParserException)
Legge un sottodominio
[more]int readInteger () throw(ParserException)
Legge un numero intero
[more]void skipEOL ()
Salta i token di fine linea
[more]void nextToken ()
Legge il successivo token dal lexer e lo imposta come token corrente

Documentation

Analizzatore sintattico
o Parser(const std::string& s)
Costruttore

oDomain* readDomain() throw(ParserException)
Legge il dominio di una variabile

oVariable* readVariable() throw(ParserException)
Legge il nome di una variabile e restituisce una variabile con dominio vuoto

oVariable* readVariableWithDomain() throw(ParserException)
Legge una variabile con relativo dominio (es: x::[1..42])

oConstraint* readConstraint() throw(ParserException)
Legge un vincolo

ovoid readProgram(CSProblem *p) throw(ParserException)
Legge un intero programma

o ~Parser()
Distruttore

o Parser(const Parser& par)
Disabilitazione del costruttore per copia

oParser& operator=(const Parser& par)
Disabilitazione dell'operatore di assegnamento

obool isRelOperator(Token* tok)
Controlla se il token è un operatore relazionale

obool isSumOperator(Token* tok)
Controlla se il token è un operatore di somma o sottrazione

obool isMulOperator(Token* tok)
Controlla se il token è un operatore di moltiplicazione o divisione

oExp* readRelExp() throw(ParserException)
Legge un'espressione relazionale

oExp* readExp() throw(ParserException)
Legge un'espressione aritmetica

oExp* readTerm() throw(ParserException)
Legge un termine

oExp* readFactor() throw(ParserException)
Legge un fattore

ovoid readDomainList(Domain * d) throw(ParserException)
Legge una lista di sottodomini

ovoid readDomainElement(Domain * d) throw(ParserException)
Legge un sottodominio

oint readInteger() throw(ParserException)
Legge un numero intero

ovoid skipEOL()
Salta i token di fine linea

ovoid nextToken()
Legge il successivo token dal lexer e lo imposta come token corrente

oToken* curToken
Token dorrente

oLexer* lex
Analizzatore lessicale


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



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