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.
 

Method Detail

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.