it.unibo.cs.labp.progetto2001.spec
Interface Expression

All Superinterfaces:
it.unibo.cs.labp.progetto2001.spec.LanguageEntity

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 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
 Expression evaluate()
          Valuta l'espressione.
 void prettyPrint(java.io.PrintStream out)
          Produce una rappresentazione testuale del programma.
 

Method Detail

evaluate

public Expression evaluate()
Valuta l'espressione. L'espressione risultante sarą in genere di tipo costante.
Returns:
Il risultato dell'espressione.
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.