AST Package (2)
n Expression (typical binary expression)
u int op;     // Operator ID
u Expression left;   // LHS expression
u Expression right;   // RHS expression
u Type type;   // Type of the expression
u Annotation ann;   // Embedded annotation (default: null)
u code() {     // Convert AST to backend intermediate
       // codes (low-level bytecodes)
   if (ann) ann.perform();
       // call-back for metacomputation
   left.code();   // generate code for LHS
   right.code();   // generate code for RHS
   add(op); }   // generate code for goperatorh
u simplify()     // Simplify expression form. For example,
       // convert gax1h to gah