it.unibo.cs.labp.progetto2001.spec
Interface Expression
- All Superinterfaces:
- it.unibo.cs.labp.progetto2001.spec.LanguageEntity
- All Known Subinterfaces:
- Literal
- public interface Expression
- extends it.unibo.cs.labp.progetto2001.spec.LanguageEntity
E' l'intefaccia comune a tutte le espressioni del linguaggio.
Le classi che rappresentano una espressione devono
implementare i metodi per essere valutate e stampate.
Le classi che rappresentano una espressione costante devono implementare
Literal che è una interfaccia più specifica.
Le implementazioni che rappresentano una variabile sono tenute a
ridefinire il metodo public String toString() ereditato da
Object in modo da produrre una stringa che rappresenti il
valore della variabile.
- Version:
- 1.0
- Author:
- Riccardo Solmi
- See Also:
LanguageFactory
Method Summary |
Literal |
evaluate()
Valuta l'espressione. |
void |
prettyPrint(java.io.PrintStream out)
Produce una rappresentazione testuale del programma. |
evaluate
public Literal evaluate()
- Valuta l'espressione.
- Returns:
- Il risultato dell'espressione è un oggetto di tipo costante.
- Throws:
java.lang.IllegalArgumentException
- se si verifica a runtime un
errore di tipo.IllegalStateException
- se si tenta di accedere ad una
variabile non inizializzata.
prettyPrint
public void prettyPrint(java.io.PrintStream out)
- Produce una rappresentazione testuale del programma.
- Parameters:
out
- Lo stream dove mandare l'output. Tipicamente System.out.
Copyright © 2001 Riccardo Solmi. All Rights Reserved.