Write a recursivedescent subprogram for the nonterminal defi
Write a recursive-descent subprogram for the nonterminal defined as below: rightarrow if ()
Solution
private static int valueOfExpr(Queue ts) { //expr->term{add-op term} add-op->+|-
int value = valueOfTerm(ts); // similar to valueOfExpr
while (ts.front().equals(\"+\") || ts.front().equals(\"-\")) { // Look ahead one token in ts to see what\'s next
String op = ts.dequeue(); //consume the next token from ts
if (op.equals(\"+\")) {
value = value + valueOfTerm(ts); //Evaluation
}
else /* \"-\" */ {
value = value - valueOfTerm(ts);
}
}
return value;
}
