Search in sources :

Example 56 with ASTNode

use of org.matheclipse.parser.client.ast.ASTNode in project symja_android_library by axkr.

the class Parser method getNumber.

/**
	 * Method Declaration.
	 * 
	 * @return
	 * @see
	 */
private ASTNode getNumber(final boolean negative) throws SyntaxError {
    ASTNode temp = null;
    final Object[] result = getNumberString();
    String number = (String) result[0];
    final int numFormat = ((Integer) result[1]).intValue();
    try {
        if (negative) {
            number = '-' + number;
        }
        if (numFormat < 0) {
            temp = fFactory.createDouble(number);
        } else {
            temp = fFactory.createInteger(number, numFormat);
        }
    } catch (final RuntimeException e) {
        throwSyntaxError("Number format error: " + number, number.length());
    }
    getNextToken();
    return temp;
}
Also used : ASTNode(org.matheclipse.parser.client.ast.ASTNode)

Aggregations

ASTNode (org.matheclipse.parser.client.ast.ASTNode)56 Parser (org.matheclipse.parser.client.Parser)32 IExpr (org.matheclipse.core.interfaces.IExpr)10 FunctionNode (org.matheclipse.parser.client.ast.FunctionNode)8 MathException (org.matheclipse.parser.client.math.MathException)6 PatternMatcher (org.matheclipse.core.patternmatching.PatternMatcher)5 SymbolNode (org.matheclipse.parser.client.ast.SymbolNode)5 IAST (org.matheclipse.core.interfaces.IAST)4 IOException (java.io.IOException)3 AST2Expr (org.matheclipse.core.convert.AST2Expr)3 NumberNode (org.matheclipse.parser.client.ast.NumberNode)3 FileReader (java.io.FileReader)2 ISymbol (org.matheclipse.core.interfaces.ISymbol)2 ArithmeticMathException (org.matheclipse.parser.client.math.ArithmeticMathException)2 InfixOperator (org.matheclipse.parser.client.operator.InfixOperator)2 PostfixOperator (org.matheclipse.parser.client.operator.PostfixOperator)2 PrefixOperator (org.matheclipse.parser.client.operator.PrefixOperator)2 BufferedReader (java.io.BufferedReader)1 File (java.io.File)1 FileNotFoundException (java.io.FileNotFoundException)1