public class LineNumberingShuntingYard extends ShuntingYard
Jep jep = new Jep( new StandardConfigurableParser(), new LineNumberingNodeFactory(), new LineNumberingShuntingYard.LineNumberGrammarParserFactory());
LineNumberingNodeFactory
Modifier and Type | Class and Description |
---|---|
static class |
LineNumberingShuntingYard.LineNumberGrammarParserFactory |
ShuntingYard.PrefixRes, ShuntingYard.ShuntingYardGrammarParserFactory
Modifier and Type | Field and Description |
---|---|
protected java.util.Stack<com.singularsys.jep.misc.lineNumbering.LineNumberingShuntingYard.Position> |
posns
Stack to track positions when pushing and popping operators
|
DUMP, implicitMul, it, jep, matchers, nf, nodes, ops, sentinel
Constructor and Description |
---|
LineNumberingShuntingYard(Jep jep,
java.util.List<GrammarMatcher> gm)
Constructor
|
Modifier and Type | Method and Description |
---|---|
Node |
parseSubExpression()
Callback function used by GrammerMatchers
|
protected void |
popOp()
Pops an operator off the Operator stack, and creates a new node.
|
protected void |
prefix()
Matches identifies, numbers, prefix operators and plugged in grammar matchers.
|
protected void |
pushOp(Operator op,
Token tok)
The pushOp function is worth some explanation
Say 1+2*3 is parsed.
|
compareOps, dumpState, expression, getIterator, parse, parsePrefixSuffix, prefixSuffix, prefixSuffixUnchecked, prefixUnchecked, setIterator
protected java.util.Stack<com.singularsys.jep.misc.lineNumbering.LineNumberingShuntingYard.Position> posns
public LineNumberingShuntingYard(Jep jep, java.util.List<GrammarMatcher> gm)
jep
- gm
- public Node parseSubExpression() throws ParseException
ShuntingYard
parseSubExpression
in interface GrammarParser
parseSubExpression
in class ShuntingYard
ParseException
- if the input cannot be parsedprotected void popOp() throws ParseException
ShuntingYard
popOp
in class ShuntingYard
ParseException
protected void prefix() throws ParseException
ShuntingYard
ShuntingYard.prefixUnchecked()
prefix
in class ShuntingYard
ParseException
- if input fails to match or error construction node treeprotected void pushOp(Operator op, Token tok) throws ParseException
ShuntingYard
pushOp
in class ShuntingYard
tok
- Token operator came fromParseException
Copyright © 2018 Singular Systems http://www.singularsys.com/jep