Interpreter.Sexp.Utils
Interface Expr

All Known Subinterfaces:
NotAtomicExpr
All Known Implementing Classes:
NumToken, SqrSexp, UnaryMinusSexp, UnaryPlusSexp, VarSexp

public abstract interface Expr

Deve essere implementata dalle espressioni aritmetiche.
Non ha nessun metodo perché il suo utilizzo è finalizzato all'obiettivo di realizzare una ereditarietà multipla. Infatti non è possibile definire una classe Expr da cui far derivare tutte le espressioni aritmetiche, poichè le classi che costituiscono espressioni aritmetiche non possono ereditare tutte dalla stessa classe. Infatti fra queste si hanno sia degli atomi, che quindi ereditano da AtomSexp, che delle espressioni composte, che quindi ereditano da ConsSexp. La cosa più semplice è quella di simulare un meccanismo di ereditarietà multipla tramite un'interfaccia.




Codice realizzato da Francesco Geri & Marco Tamanti