public ASTNode createFunction(final INodeParserFactory factory, final ASTNode argument) { return factory.createFunction(factory.createSymbol(getFunctionName()), argument); } }
public ASTNode createFunction(final IParserFactory factory, final ASTNode argument) { return factory.createFunction(factory.createSymbol(getFunctionName()), argument); } }
/** * Creates the function. * * @param factory the factory * @param argument the argument * @return the AST node */ public ASTNode createFunction( final IParserFactory factory, final ASTNode argument ) { return factory.createFunction( factory.createSymbol( getFunctionName() ), argument ); } }
private final ASTNode parsePrefixOperator(final PrefixOperator prefixOperator) { getNextToken(); final ASTNode temp = parseLookaheadOperator(prefixOperator.getPrecedence()); if ("PreMinus".equals(prefixOperator.getFunctionName()) && temp instanceof NumberNode) { // special cases for negative numbers ((NumberNode) temp).toggleSign(); return temp; } return prefixOperator.createFunction(fFactory, temp); }
private ASTNode parsePrimary() { if (fToken == TT_OPERATOR) { if (fOperatorString.equals(".")) { fCurrentChar = '.'; return getNumber(false); } final PrefixOperator prefixOperator = determinePrefixOperator(); if (prefixOperator != null) { getNextToken(); final ASTNode temp = parseLookaheadOperator(prefixOperator.getPrecedence()); if (prefixOperator.getFunctionName().equals("PreMinus")) { // special cases for negative numbers if (temp instanceof NumberNode) { ((NumberNode) temp).toggleSign(); return temp; } } return prefixOperator.createFunction(fFactory, temp); } throwSyntaxError("Operator: " + fOperatorString + " is no prefix operator."); } return getPart(); }
/** * Parses the primary. * * @return the AST node */ private ASTNode parsePrimary() { if ( fToken == TT_OPERATOR ) { final PrefixOperator prefixOperator = determinePrefixOperator(); if ( prefixOperator != null ) { getNextToken(); final ASTNode temp = parseLookaheadOperator( prefixOperator.getPrecedence() ); if ( prefixOperator.getFunctionName().equals( "PreMinus" ) ) { // special cases for negative numbers if ( temp instanceof NumberNode ) { ((NumberNode) temp).toggleSign(); return temp; } } return prefixOperator.createFunction( fFactory, temp ); } throwSyntaxError( "Operator: " + fOperatorString + " is no prefix operator." ); } return getPart(); }