ExpBinaria.java

Go to the documentation of this file.
00001 package plp.expressions2.expression;
00002 
00003 import plp.expressions2.memory.AmbienteCompilacao;
00004 import plp.expressions2.memory.VariavelJaDeclaradaException;
00005 import plp.expressions2.memory.VariavelNaoDeclaradaException;
00006 
00011 public abstract class ExpBinaria implements Expressao {
00012 
00016         private Expressao esq;
00017 
00021         private Expressao dir;
00022 
00026         private String operador;
00027 
00035         public ExpBinaria(Expressao esq, Expressao dir, String operador) {
00036                 this.esq = esq;
00037                 this.dir = dir;
00038                 this.operador = operador;
00039         }
00040 
00046         public Expressao getEsq() {
00047                 return esq;
00048         }
00049 
00055         public Expressao getDir() {
00056                 return dir;
00057         }
00058 
00064         public String getOperador() {
00065                 return operador;
00066         }
00067 
00073         public String toString() {
00074                 StringBuffer sb = new StringBuffer();
00075                 sb.append(esq.toString());
00076                 sb.append(' ');
00077                 sb.append(operador);
00078                 sb.append(' ');
00079                 sb.append(dir.toString());
00080                 return sb.toString();
00081         }
00082 
00094         public boolean checaTipo(AmbienteCompilacao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException {
00095                 boolean result = true;
00096                 if (!getEsq().checaTipo(amb) || !getDir().checaTipo(amb)) {
00097                         result = false;
00098                 }
00099                 else {
00100                         result = this.checaTipoElementoTerminal(amb);
00101                 }
00102                 return result;
00103         }
00104         
00109         protected abstract boolean checaTipoElementoTerminal(AmbienteCompilacao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException;
00110 
00111 }

Generated on Tue Sep 12 21:36:02 2006 for PLP by  doxygen 1.4.7