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()
Instantiates a new parser.
|
Parser(boolean relaxedSyntax)
Instantiates a new parser.
|
Parser(IParserFactory factory,
boolean relaxedSyntax)
Instantiates a new parser.
|
Modifier and Type | Method and Description |
---|---|
IParserFactory |
getFactory()
Gets the factory.
|
ASTNode |
parse(String expression)
Parse the given
expression String into an ASTNode. |
void |
setFactory(IParserFactory factory)
Sets the 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
- the syntax errorpublic Parser(IParserFactory factory, boolean relaxedSyntax) throws SyntaxError
factory
- the factoryrelaxedSyntax
- if true
, use '('...')' as brackets for
argumentsSyntaxError
- the syntax errorpublic void setFactory(IParserFactory factory)
factory
- the new factorypublic IParserFactory getFactory()
public ASTNode parse(String expression) throws SyntaxError
expression
String into an ASTNode.expression
- a formula string which should be parsed.SyntaxError
- the syntax errorCopyright © 2017. All rights reserved.