|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.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 Jep |
jep
|
protected java.util.List<TokenMatcher> |
m
|
protected OperatorTokenMatcher |
otm
|
protected SymbolTokenMatcher |
stm
|
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. |
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. |
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 |
setImplicitMultiplicationSymbols(java.lang.String... symbols)
Sets those symbols which can appear on the right hand side of implicit multiplication. |
| 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 transient OperatorTokenMatcher otm
protected transient SymbolTokenMatcher stm
| Constructor Detail |
|---|
public ConfigurableParser()
| Method Detail |
|---|
public void init(Jep jep)
JepComponent
init in interface JepComponentinit in interface Parserjep - the current Jep instance
public Node parse(java.io.Reader stream)
throws ParseException
parse in interface Parserstream - the input stream to read from
ParseExceptionpublic void restart(java.io.Reader stream)
restart in interface ParsercontinueParse()
public Node continueParse()
throws ParseException
continueParse in interface ParserParseExceptionrestart(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
ParseExceptionpublic JepComponent getLightWeightInstance()
getLightWeightInstance in interface JepComponentpublic 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 TokenFilter addTokenFilter(TokenFilter tf)
tf - the TokenFilter to add
public java.util.List<TokenFilter> getTokenFilters()
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
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||