private ASTNode parseCompoundExpressionNull(InfixOperator infixOperator, ASTNode rhs) { if (infixOperator.isOperator(";")) { if (fToken == TT_EOF || fToken == TT_ARGUMENTS_CLOSE || fToken == TT_LIST_CLOSE || fToken == TT_PRECEDENCE_CLOSE || fToken == TT_COMMA) { return infixOperator.createFunction(fFactory, rhs, fFactory.createSymbol("Null")); } if (fPackageMode && fRecursionDepth < 1) { return infixOperator.createFunction(fFactory, rhs, fFactory.createSymbol("Null")); } } return null; }
private final ASTNode parseInfixOperator(ASTNode lhs, InfixOperator infixOperator) { ASTNode rhs; rhs = parseLookaheadOperator(infixOperator.getPrecedence()); lhs = infixOperator.createFunction(fFactory, lhs, rhs); String infixOperatorString = infixOperator.getOperatorString(); while (fToken == TT_OPERATOR && infixOperator.getGrouping() == InfixOperator.NONE && infixOperatorString.equals(fOperatorString)) { getNextToken(); if (";".equals(infixOperatorString)) { if (fToken == TT_EOF || fToken == TT_ARGUMENTS_CLOSE || fToken == TT_LIST_CLOSE || fToken == TT_PRECEDENCE_CLOSE || fToken == TT_COMMA) { ((FunctionNode) lhs).add(fFactory.createSymbol("Null")); break; } } while (fToken == TT_NEWLINE) { getNextToken(); } rhs = parseLookaheadOperator(infixOperator.getPrecedence()); ((FunctionNode) lhs).add(rhs); } return lhs; }
getNextToken(); rhs = parseLookaheadOperator( infixOperator.getPrecedence() ); lhs = infixOperator.createFunction( fFactory, lhs, rhs ); lhs = parseArguments( lhs ); continue;
if (infixOperator.isOperator(";")) { if (fPackageMode && fRecursionDepth < 1) { return infixOperator.createFunction(fFactory, rhs, fFactory.createSymbol("Null"));
getNextToken(); rhs = parseLookaheadOperator(infixOperator.getPrecedence()); lhs = infixOperator.createFunction(fFactory, lhs, rhs); lhs = parseArguments(lhs); continue;