|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.jparsec.Terminals.Builder
public final class Terminals.Builder
Builds Terminals
instance by defining the words and keywords recognized.
The following example implements a calculator with logical operators:
Terminals terms = Terminals
.operators("<", ">", "=", ">=", "<=")
.words(Scanners.IDENTIFIER)
.caseInsensitiveKeywords("and", "or")
.build();
Parser<String> var = Terminals.identifier();
Parser<Integer> integer = Terminals.IntegerLiteral.PARSER.map(...);
Parser<?> and = terms.token("and");
Parser<?> lessThan = terms.token("<");
...
Parser<?> parser = grammar.from(
terms.tokenizer().or(IntegerLiteral.TOKENIZER), Scanners.WHITSPACES.optional());
Method Summary | |
---|---|
Terminals |
build()
Builds a new Terminals instance that recognizes words defined in this builder. |
Terminals.Builder |
caseInsensitiveKeywords(Collection<String> keywords)
Defines case insensitive keywords. |
Terminals.Builder |
caseInsensitiveKeywords(String... keywords)
Defines case insensitive keywords. |
Terminals.Builder |
keywords(Collection<String> keywords)
Defines keywords. |
Terminals.Builder |
keywords(String... keywords)
Defines keywords. |
Terminals.Builder |
tokenizeWordsWith(Map<String,?> wordMap)
Configures alternative tokenization strategy for words (except keywords). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public Terminals.Builder keywords(String... keywords)
token(keyword)
.
Note that if you call keywords
or caseInsensitiveKeywords(java.lang.String...)
multiple
times on the same Terminals.Builder
instance, the last call overwrites previous calls.
public Terminals.Builder keywords(Collection<String> keywords)
token(keyword)
.
Note that if you call keywords
or caseInsensitiveKeywords(java.lang.String...)
multiple
times on the same Terminals.Builder
instance, the last call overwrites previous calls.
public Terminals.Builder caseInsensitiveKeywords(String... keywords)
token(keyword)
.
Note that if you call keywords
or caseInsensitiveKeywords(java.lang.String...)
multiple
times on the same Terminals.Builder
instance, the last call overwrites previous calls.
public Terminals.Builder caseInsensitiveKeywords(Collection<String> keywords)
token(keyword)
.
Note that if you call keywords
or caseInsensitiveKeywords(java.lang.String...)
multiple
times on the same Terminals.Builder
instance, the last call overwrites previous calls.
public Terminals.Builder tokenizeWordsWith(Map<String,?> wordMap)
public Terminals build()
Terminals
instance that recognizes words defined in this builder.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |