1 20 21 22 25 class Texpinfix extends Texp implements AST { 26 Texp exp1, exp2; char kind; 29 public Texpinfix(Texp e1, char k, Texp e2) { 30 exp1=e1; 31 kind=k; 32 exp2=e2; 33 } 34 35 public String toString() { 36 return("("+exp1+kind+exp2+")"); 37 } 38 39 public void checkcontext(SymTab st) { exp1.checkcontext(st); 41 exp2.checkcontext(st); 42 } 43 44 public void prepInterp(SymTab st) { exp1.prepInterp(st); 46 exp2.prepInterp(st); 47 } 48 49 public int interpret(int[] in, int[] par) { 50 int e1 = exp1.interpret(in,par); 51 int e2 = exp2.interpret(in,par); 52 53 switch (kind) { 54 case '+': return(e1+e2); 55 case '-': return(e1-e2); 56 case '*': return(e1*e2); 57 case '/': return(e1/e2); 58 } 59 60 return -1; } 62 } 63 64 65 | Popular Tags |