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

Variable Index

 o startSymbol
Riferimento al simbolo iniziale della grammatica.
 o symbolTable
Riferimento alla symbol table del parser.
 o tok
Riferimento al Tokenizer utilizzato dal parser.

Constructor Index

 o Parser(Tokenizer, ParseNode, SymbolTable)
Costruttore del parser.

Method Index

 o getStartSymbol()
Restituisce il riferimento al simbolo iniziale della grammatica.
 o getSymbolTable()
Restituisce la tabella dei simboli utilizzata dal parser.
 o getTokenizer()
Restituisce il Tokenizer associato al Parser
 o init()
Inizializzazione del Parser.
 o Parse()
Funzione che effettua il parsing.

Variables

 o tok
 private Tokenizer tok
Riferimento al Tokenizer utilizzato dal parser.

See Also:
Tokenizer
 o startSymbol
 private ParseNode startSymbol
Riferimento al simbolo iniziale della grammatica. Questo riferimento viene utilizzato per innescare il parsing.

See Also:
ParseNode
 o symbolTable
 private SymbolTable symbolTable
Riferimento alla symbol table del parser. La classe di riferimento è quella definita in questo package.

See Also:
SymbolTable

Constructors

 o 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

Methods

 o 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.

 o 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
 o getTokenizer
 public Tokenizer getTokenizer()
Restituisce il Tokenizer associato al Parser

Returns:
Il riferimento al Tokenizer utilizzato dal Parser
See Also:
Tokenizer, tok
 o getStartSymbol
 public ParseNode getStartSymbol()
Restituisce il riferimento al simbolo iniziale della grammatica.

Returns:
Il ParseNode che corrisponde al simbolo iniziale.
See Also:
ParseNode, startSymbol
 o 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