Mercurial > hg > Applications > JavaLite
changeset 83:66719d0834f3
Almost completed.
author | kono |
---|---|
date | Thu, 17 Jan 2008 20:56:31 +0900 |
parents | aebc899bdc62 |
children | e70b8c36ec0a |
files | src/parser/MacroNodeParser.java |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/parser/MacroNodeParser.java Thu Jan 17 18:49:34 2008 +0900 +++ b/src/parser/MacroNodeParser.java Thu Jan 17 20:56:31 2008 +0900 @@ -77,6 +77,9 @@ if (op.order() > nextToken.order) { // a + b * arg.add(exprM2(n2)); return logicNodeFactory.predicateNode(op, arg); + } else if (op.isxfy() && op.order() == nextToken.order) { + arg.add(exprM2(n2)); // a + b * "xfy" case (odd order) + return logicNodeFactory.predicateNode(op, arg); } else { // a * b + arg.add(n2); n1 = logicNodeFactory.predicateNode(op, arg); @@ -95,7 +98,10 @@ Node op = makeVariable(nextToken); LinkedList<Node> arg = new LinkedList<Node>(); nextToken(); - arg.add(expr3()); + if (nextToken.type!=TokenID.NULL&&nextToken.type!=TokenID.Period) { + Node n = expr3(); + arg.add(n); + } else arg.add(null); // prefix can be null arity return logicNodeFactory.predicateNode(op, arg ); } else if (nextToken.type==TokenID.Exists) { return quantifier();