All Packages Class Hierarchy This Package Previous Next Index
Class it.unipi.di.compiler.parser.Parser
java.lang.Object
|
+----it.unipi.di.compiler.parser.Parser
- public abstract class Parser
- extends Object
Classe base per realizzare un parser. Per utilizzare questa
classe è sufficiente derivare una classe e definire
il metodo init(). Il resto del parser
viene distribuito in tanti nodi del tipo ParseNode.
- Version:
- 1.0
- Author:
- Antonio Cisternino
- See Also:
- ParseNode
-
startSymbol
- Riferimento al simbolo iniziale della grammatica.
-
symbolTable
- Riferimento alla symbol table del parser.
-
tok
- Riferimento al Tokenizer utilizzato dal parser.
-
Parser(Tokenizer, ParseNode, SymbolTable)
- Costruttore del parser.
-
getStartSymbol()
- Restituisce il riferimento al simbolo iniziale della
grammatica.
-
getSymbolTable()
- Restituisce la tabella dei simboli utilizzata dal parser.
-
getTokenizer()
- Restituisce il Tokenizer associato al Parser
-
init()
- Inizializzazione del Parser.
-
Parse()
- Funzione che effettua il parsing.
tok
private Tokenizer tok
- Riferimento al Tokenizer utilizzato dal parser.
- See Also:
- Tokenizer
startSymbol
private ParseNode startSymbol
- Riferimento al simbolo iniziale della grammatica. Questo
riferimento viene utilizzato per innescare il parsing.
- See Also:
- ParseNode
symbolTable
private SymbolTable symbolTable
- Riferimento alla symbol table del parser. La classe di
riferimento è quella definita in questo package.
- See Also:
- SymbolTable
Parser
public Parser(Tokenizer t,
ParseNode p,
SymbolTable s)
- Costruttore del parser. Richiede i tre elementi da gestire.
Invoca il metodo protetto init() per inizializzare il parser.
- Parameters:
- t - Tokenizer dacui leggere i token
- p - Istanza del nodo corrispondente al simbolo iniziale
della grammatica. Può essere null.
- s - Tabella dei simboli del compilatore. Può
essere null.
- See Also:
- Tokenizer, ParseNode, SymbolTable, init
init
protected abstract void init()
- Inizializzazione del Parser. Si consiglia di inizializzare
il tokenizer nella redefinizione di questo metodo. Tutte
le altre inizializzazioni necessarie al Parser vanno
effettuate in questo punto.
Parse
public ParseNode Parse() throws ParserException, IOException
- Funzione che effettua il parsing.
- Returns:
- Il ParseNode corrispondente al simbolo iniziale della
grammatica. Questo nodo è la radice
dell'albero sintattico.
- Throws: ParserException
- Eccezione che descrive un errore
di parsing.
- Throws: IOException
- Segnala eventuali errori nella
lettura dello stream di input.
- See Also:
- ParseNode, parse, startSymbol
getTokenizer
public Tokenizer getTokenizer()
- Restituisce il Tokenizer associato al Parser
- Returns:
- Il riferimento al Tokenizer utilizzato dal Parser
- See Also:
- Tokenizer, tok
getStartSymbol
public ParseNode getStartSymbol()
- Restituisce il riferimento al simbolo iniziale della
grammatica.
- Returns:
- Il ParseNode che corrisponde al simbolo iniziale.
- See Also:
- ParseNode, startSymbol
getSymbolTable
public SymbolTable getSymbolTable()
- Restituisce la tabella dei simboli utilizzata dal parser.
- Returns:
- Il riferimento alla tabella dei simboli.
- See Also:
- symbolTable
All Packages Class Hierarchy This Package Previous Next Index