コード例 #1
0
ファイル: FullParser.java プロジェクト: AndrewProg/ttl-2_full
 private Val moreTerms(Val val) {
   Token t = lex.nextToken();
   if (t.matchOperator("+")) {
     Val rVal = levelFactor();
     Val eval;
     if (val.getType() == Val.Type.string) {
       eval = new Str(val.evalStr(env) + rVal.evalStr(env));
     } else {
       eval = new Num(val.evalNum(env) + rVal.evalNum(env));
     }
     return moreTerms(eval);
   } else if (t.matchOperator("-")) {
     Val rVal = levelFactor();
     Val eval = new Num(val.evalNum(env) - rVal.evalNum(env));
     return moreTerms(eval);
   } else {
     lex.returnToken();
     return val;
   }
 }