|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.singularsys.jep.configurableparser.ConfigurableParser
public class ConfigurableParser
A configurable parser.
Field Summary | |
---|---|
protected java.util.List<TokenFilter> |
filters
|
protected java.util.List<GrammarMatcher> |
g
|
protected GrammarParserFactory |
gpf
|
protected Jep |
jep
|
protected java.util.List<TokenMatcher> |
m
|
protected OperatorTokenMatcher |
otm
|
protected SymbolTokenMatcher |
stm
|
protected TokenizerFactory |
tf
|
protected Tokenizer |
tk
|
Constructor Summary | |
---|---|
ConfigurableParser()
Create a configurable parser with no matchers set. |
Method Summary | |
---|---|
GrammarMatcher |
addArrayAccessMatcher(java.lang.String open,
java.lang.String close)
Matches array access: a[3] |
GrammarMatcher |
addBracketMatcher(java.lang.String open,
java.lang.String close)
Matches bracketed expressions: (2+3). |
TokenMatcher |
addDoubleQuoteStrings()
Recognize double quote strings "...". |
TokenMatcher |
addExponentNumbers()
Recognize numbers with optional exponents, 1.2e3, 1.2E-3, 1.2, 1. |
GrammarMatcher |
addFunctionMatcher(java.lang.String open,
java.lang.String close,
java.lang.String sep)
Matches functions: atan2(y,x). |
GrammarMatcher |
addGrammarMatcher(GrammarMatcher gm)
Adds a GrammarMatcher |
TokenMatcher |
addHashComments()
Recognize comments of the form #.... |
TokenMatcher |
addIdentifiers()
Adds java-style function and variable names. |
GrammarMatcher |
addListMatcher(java.lang.String open,
java.lang.String close,
java.lang.String sep)
Matches vectors/list: [1,2,3] |
GrammarMatcher |
addListOrBracketMatcher(java.lang.String open,
java.lang.String close,
java.lang.String sep)
Matches bracketed expressions or lists depending on number of arguments. |
TokenMatcher |
addOperatorTokenMatcher()
Recognize operators. |
TokenMatcher |
addSemiColonTerminator()
Adds a matcher which will terminate the parsing process when a semi-colon is encountered. |
TokenMatcher |
addSimpleNumbers()
Recognize numbers without exponents 1.2. |
TokenMatcher |
addSingleQuoteStrings()
Recognize single quote strings '...'. |
void |
addSlashComments()
Recognize comments of the form //... |
TokenMatcher |
addSymbols(java.lang.String... symbols)
Recognize given symbols. |
TokenFilter |
addTokenFilter(TokenFilter tf)
Adds a TokenFilter. |
TokenMatcher |
addTokenMatcher(TokenMatcher tm)
Adds a TokenMatcher. |
TokenMatcher |
addWhiteSpace()
Recognize java white space characters. |
TokenFilter |
addWhiteSpaceCommentFilter()
Filter out whitespace and comments between the tokenizing and grammar matching stages. |
Node |
continueParse()
Parse the next expressions from existing stream. |
java.util.Iterator<Token> |
filter(java.util.List<Token> input)
Filters the tokens to remove whitespace etc. |
java.util.List<GrammarMatcher> |
getGrammarMatchers()
Return the list of GrammarMatchers. |
GrammarParserFactory |
getGrammarParserFactory()
Factory used to create GrammarParsers |
Jep |
getJep()
The Jep instance used by the parser |
JepComponent |
getLightWeightInstance()
Returns a light weight instance, suitable for use in multiple evaluation threads. |
TokenMatcher |
getOperatorTokenMatcher()
Return the OperatorTokenMatcher. |
SymbolToken |
getSymbolToken(java.lang.String sym)
Return the SymbolToken for the given string. |
SymbolTokenMatcher |
getSymbolTokenMatcher()
Return the SymbolTokenMatcher. |
java.util.List<TokenFilter> |
getTokenFilters()
Return the list of filters. |
TokenizerFactory |
getTokenizerFactory()
The factory used to create Tokenizers |
java.util.List<TokenMatcher> |
getTokenMatchers()
Return the list of TokenMatchers |
void |
init(Jep jep)
Initialize the component. |
Node |
parse(java.util.Iterator<Token> it)
Perform the syntax analysis stage. |
Node |
parse(java.io.Reader stream)
Parse a single equation. |
void |
restart(java.io.Reader stream)
Load a new stream to read from. |
java.util.List<Token> |
scan()
Scan next equations from an existing stream. |
java.util.List<Token> |
scan(java.io.Reader stream)
Scan the input. |
void |
setGrammarParserFactory(GrammarParserFactory gpf)
Sets the GrammarParserFactory |
void |
setImplicitMultiplicationSymbols(java.lang.String... symbols)
Sets those symbols which can appear on the right hand side of implicit multiplication. |
void |
setTokenizerFactory(TokenizerFactory tf)
Sets the TokenizerFactory used to create Tokenizers. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.List<TokenMatcher> m
protected java.util.List<TokenFilter> filters
protected java.util.List<GrammarMatcher> g
protected transient Tokenizer tk
protected transient Jep jep
protected OperatorTokenMatcher otm
protected SymbolTokenMatcher stm
protected GrammarParserFactory gpf
protected TokenizerFactory tf
Constructor Detail |
---|
public ConfigurableParser()
Method Detail |
---|
public void init(Jep jep)
JepComponent
init
in interface JepComponent
jep
- the current Jep instancepublic Node parse(java.io.Reader stream) throws ParseException
parse
in interface Parser
stream
- the input stream to read from
ParseException
- if an error in the input or an empty expressionpublic void restart(java.io.Reader stream)
restart
in interface Parser
continueParse()
public Node continueParse() throws ParseException
continueParse
in interface Parser
ParseException
restart(java.io.Reader)
public java.util.List<Token> scan(java.io.Reader stream) throws ParseException
stream
-
ParseException
public java.util.List<Token> scan() throws ParseException
ParseException
public java.util.Iterator<Token> filter(java.util.List<Token> input) throws ParseException
input
-
ParseException
public Node parse(java.util.Iterator<Token> it) throws ParseException
it
- an iterator with a list of tokens
ParseException
public JepComponent getLightWeightInstance()
getLightWeightInstance
in interface JepComponent
public TokenMatcher addTokenMatcher(TokenMatcher tm)
tm
- the TokenMatcher to add
public java.util.List<TokenMatcher> getTokenMatchers()
public GrammarMatcher addGrammarMatcher(GrammarMatcher gm)
gm
- the GrammarMatcher to add
public java.util.List<GrammarMatcher> getGrammarMatchers()
public TokenMatcher addHashComments()
public void addSlashComments()
public TokenMatcher addDoubleQuoteStrings()
public TokenMatcher addSingleQuoteStrings()
public TokenMatcher addWhiteSpace()
public TokenFilter addWhiteSpaceCommentFilter()
public TokenMatcher addExponentNumbers()
public TokenMatcher addSimpleNumbers()
public TokenMatcher addOperatorTokenMatcher()
public TokenMatcher getOperatorTokenMatcher()
public TokenMatcher addSymbols(java.lang.String... symbols)
symbols
- one or more string for the symbols.
public SymbolTokenMatcher getSymbolTokenMatcher()
public SymbolToken getSymbolToken(java.lang.String sym)
sym
- string representing the symbol.
public void setImplicitMultiplicationSymbols(java.lang.String... symbols)
symbols
- one or more string for the symbols.public TokenMatcher addIdentifiers()
public TokenMatcher addSemiColonTerminator()
public GrammarMatcher addBracketMatcher(java.lang.String open, java.lang.String close)
open
- symbol for opening braceclose
- symbol for closing brace
public GrammarMatcher addFunctionMatcher(java.lang.String open, java.lang.String close, java.lang.String sep)
open
- symbol for opening braceclose
- symbol for closing bracesep
- symbol for argument separator
public GrammarMatcher addListMatcher(java.lang.String open, java.lang.String close, java.lang.String sep)
open
- symbol for opening braceclose
- symbol for closing bracesep
- symbol for argument separator
public GrammarMatcher addArrayAccessMatcher(java.lang.String open, java.lang.String close)
open
- symbol for opening braceclose
- symbol for closing brace
public GrammarMatcher addListOrBracketMatcher(java.lang.String open, java.lang.String close, java.lang.String sep)
open
- symbol for opening braceclose
- symbol for closing bracesep
- symbol for argument separator
public Jep getJep()
public TokenizerFactory getTokenizerFactory()
public void setTokenizerFactory(TokenizerFactory tf)
tf
- factory to usepublic TokenFilter addTokenFilter(TokenFilter tf)
tf
- the TokenFilter to add
public java.util.List<TokenFilter> getTokenFilters()
public GrammarParserFactory getGrammarParserFactory()
public void setGrammarParserFactory(GrammarParserFactory gpf)
gpf
- the factory
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |