[06 - Top Down Parser] Fix test "program10Assign"

This commit is contained in:
2020-05-13 10:43:54 +02:00
parent 0b2696efea
commit a5c7c095a7
2 changed files with 33 additions and 0 deletions

View File

@@ -152,9 +152,42 @@ public class XParser {
private Tree parseNumExpr() { private Tree parseNumExpr() {
int oldPosition = in.getPosition(); int oldPosition = in.getPosition();
Tree tree = new Tree(new Token(Token.EXPR)); Tree tree = new Tree(new Token(Token.EXPR));
Tree intConst;
if ((intConst = parseNumExpr2()) != null) {
tree.addLastChild(intConst);
return tree;
}
in.setPosition(oldPosition);
return null;
}
private Tree parseNumExpr2() {
int oldPosition = in.getPosition();
Tree tree = new Tree(new Token(Token.EXPR2));
Tree intConst;
if ((intConst = parseNumExpr3()) != null) {
tree.addLastChild(intConst);
return tree;
}
in.setPosition(oldPosition);
return null;
}
private Tree parseNumExpr3() {
int oldPosition = in.getPosition();
Tree tree = new Tree(new Token(Token.EXPR3));
Tree intConst;
if ((intConst = parseToken(Token.INTCONST)) != null) {
tree.addLastChild(intConst);
return tree;
}
in.setPosition(oldPosition);
return null; return null;
} }