Parser

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.

Summary
ParserQuesta classe mette a disposizione i metodi attraverso i quali è possibile stabilire l’appartenenza di una stringa alfanumerica al linguaggio dell’algebra.
Variables
SStruttura di supporto.
indexL’indice della tabella di parsing.
ExpressionL’espressione in input.
ParsingTableLa tabella di parsing.
Functions
Parser
isWellFormedRestituisce true se la l’espressione contenuta in Expression e’ ben formata.
checkIsEndRestituisce true se la pila e’ vuota(quindi se l’automa ha riconosciuto la stringa).
checkIfExistsControlla se la tabella di parsing contiene l’elemento ricercato, un mancato riscontro nella ricerca implica la non appartenenza della stringa al linguaggio.
getCulumIndexCodifica il carattere in input nell’indice della tabella tabella di parsing.
getRowIndexCodifica il carattere in input nell’indice della tabella di parsing.
ReadCharacterLegge il prossimo carattere in input.
convertVariableTrasforma Expression in una espressione comprensibile all’automa.

Variables

S

private Stack<Character> S

Struttura di supporto.  Non ha bisogno di presentazioni.

index

private int index

L’indice della tabella di parsing.

Expression

private String Expression

L’espressione in input.

ParsingTable

private String[][] ParsingTable

La tabella di parsing.

Functions

Parser

public Parser(String Expression)

isWellFormed

public boolean isWellFormed()

Restituisce true se la l’espressione contenuta in Expression e’ ben formata.

checkIsEnd

protected boolean checkIsEnd()

Restituisce true se la pila e’ vuota(quindi se l’automa ha riconosciuto la stringa).

checkIfExists

protected boolean 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

protected int getCulumIndex(char c)

Codifica il carattere in input nell’indice della tabella tabella di parsing.

getRowIndex

protected int getRowIndex(char c)

Codifica il carattere in input nell’indice della tabella di parsing.

ReadCharacter

protected Character ReadCharacter()

Legge il prossimo carattere in input.

convertVariable

protected void convertVariable()

Trasforma Expression in una espressione comprensibile all’automa.

private Stack<Character> S
Struttura di supporto.
private int index
L’indice della tabella di parsing.
private String Expression
L’espressione in input.
private String[][] ParsingTable
La tabella di parsing.
public Parser(String Expression)
public boolean isWellFormed()
Restituisce true se la l’espressione contenuta in Expression e’ ben formata.
protected boolean checkIsEnd()
Restituisce true se la pila e’ vuota(quindi se l’automa ha riconosciuto la stringa).
protected boolean checkIfExists()
Controlla se la tabella di parsing contiene l’elemento ricercato, un mancato riscontro nella ricerca implica la non appartenenza della stringa al linguaggio.
protected int getCulumIndex(char c)
Codifica il carattere in input nell’indice della tabella tabella di parsing.
protected int getRowIndex(char c)
Codifica il carattere in input nell’indice della tabella di parsing.
protected Character ReadCharacter()
Legge il prossimo carattere in input.
protected void convertVariable()
Trasforma Expression in una espressione comprensibile all’automa.
Close