コード例 #1
0
 @Override
 public Expression visit(Plus plus) {
   Plus result = new Plus();
   if (plus.getExpr().getClass() == Choice.class) {
     String name = "plus" + Integer.toString(count);
     count++;
     Nonterminal nt = new Nonterminal(name);
     Expression exp = plus.getExpr().accept(this);
     newRules.put(nt, exp);
     result.setExpr(nt);
   } else {
     Expression exp = plus.getExpr().accept(this);
     result.setExpr(exp);
   }
   return result;
 }