Questa classe mette a disposizione i metodi attraverso i quali è possibile stabilire l’appartenenza di una stringa alfanumerica al linguaggio dell’algebra. Visto il fine che si propone di realizzare, la classe astrae le “componenti” e i “comportamenti” che caratterizzano gli automi a pila. Formalismi in grado di riconoscere linguaggi di tipo 2.
Parser | Questa classe mette a disposizione i metodi attraverso i quali è possibile stabilire l’appartenenza di una stringa alfanumerica al linguaggio dell’algebra. |
Variables | |
S | Struttura di supporto. |
index | L’indice della tabella di parsing. |
Expression | L’espressione in input. |
ParsingTable | La tabella di parsing. |
Functions | |
Parser | |
isWellFormed | Restituisce true se la l’espressione contenuta in Expression e’ ben formata. |
checkIsEnd | Restituisce true se la pila e’ vuota(quindi se l’automa ha riconosciuto la stringa). |
checkIfExists | Controlla se la tabella di parsing contiene l’elemento ricercato, un mancato riscontro nella ricerca implica la non appartenenza della stringa al linguaggio. |
getCulumIndex | Codifica il carattere in input nell’indice della tabella tabella di parsing. |
getRowIndex | Codifica il carattere in input nell’indice della tabella di parsing. |
ReadCharacter | Legge il prossimo carattere in input. |
convertVariable | Trasforma Expression in una espressione comprensibile all’automa. |
Struttura di supporto.
private Stack<Character> S
L’indice della tabella di parsing.
private int index
L’espressione in input.
private String Expression
La tabella di parsing.
private String[][] ParsingTable
public Parser( String Expression )
Restituisce true se la l’espressione contenuta in Expression e’ ben formata.
public boolean isWellFormed()
Restituisce true se la pila e’ vuota(quindi se l’automa ha riconosciuto la stringa).
protected boolean checkIsEnd()
Controlla se la tabella di parsing contiene l’elemento ricercato, un mancato riscontro nella ricerca implica la non appartenenza della stringa al linguaggio.
protected boolean checkIfExists()
Codifica il carattere in input nell’indice della tabella tabella di parsing.
protected int getCulumIndex( char c )
Codifica il carattere in input nell’indice della tabella di parsing.
protected int getRowIndex( char c )
Legge il prossimo carattere in input.
protected Character ReadCharacter()
Trasforma Expression in una espressione comprensibile all’automa.
protected void convertVariable()