public class Parser extends Scanner
ASTNode
class-hierarchy from a math
formulas string representation
See Operator -precedence parser for the idea, how to parse the operators depending on their precedence.
fCurrentChar, fCurrentColumnStartPosition, fCurrentPosition, fFactory, fInputString, fOperatorString, fOperList, fToken, numFormat, rowCount, TT_ARGUMENTS_CLOSE, TT_ARGUMENTS_OPEN, TT_BLANK, TT_COMMA, TT_DIGIT, TT_EOF, TT_FLOATING_POINT, TT_IDENTIFIER, TT_LIST_CLOSE, TT_LIST_OPEN, TT_OPERATOR, TT_PARTCLOSE, TT_PARTOPEN, TT_PERCENT, TT_PRECEDENCE_CLOSE, TT_PRECEDENCE_OPEN, TT_SLOT, TT_SLOTSEQUENCE, TT_STRING
Constructor and Description |
---|
Parser() |
Parser(boolean relaxedSyntax) |
Parser(IParserFactory factory,
boolean relaxedSyntax) |
Modifier and Type | Method and Description |
---|---|
IParserFactory |
getFactory() |
ASTNode |
parse(String expression)
Parse the given
expression String into an ASTNode. |
void |
setFactory(IParserFactory factory) |
getIdentifier, getNextToken, getNumberString, getOperator, getStringBuffer, initialize, throwSyntaxError, throwSyntaxError
public Parser()
public Parser(boolean relaxedSyntax) throws SyntaxError
relaxedSyntax
- if true
, use '('...')' as brackets for argumentsSyntaxError
public Parser(IParserFactory factory, boolean relaxedSyntax) throws SyntaxError
factory
- relaxedSyntax
- if true
, use '('...')' as brackets for argumentsSyntaxError
public void setFactory(IParserFactory factory)
public IParserFactory getFactory()
public ASTNode parse(String expression) throws SyntaxError
expression
String into an ASTNode.expression
- a formula string which should be parsed.SyntaxError
Copyright © 2015. All rights reserved.