Package | Description |
---|---|
org.jparsec |
Provides core Parser implementations for parser combinator logic.
|
org.jparsec.examples.bnf.parser | |
org.jparsec.examples.java.parser | |
org.jparsec.examples.sql.parser | |
org.jparsec.pattern |
Provides Pattern implementations for use by character level scanners.
|
Modifier and Type | Field and Description |
---|---|
static Parser<Void> |
Scanners.ANY_CHAR
Matches any character in the input.
|
static Parser<Object> |
Parsers.ANY_TOKEN
A
Parser that consumes a token. |
static Parser<String> |
Scanners.DEC_INTEGER
Scanner for a decimal number.
|
static Parser<Long> |
Terminals.LongLiteral.DEC_TOKENIZER
A tokenizer that parses a decimal integer number (valid patterns are:
1, 10, 123 ),
and converts the string to a Long value. |
static Parser<String> |
Scanners.DECIMAL
Scanner for a decimal number.
|
static Parser<String> |
Scanners.DOUBLE_QUOTE_STRING
Scanner with a pattern for double quoted string literal.
|
static Parser<String> |
Terminals.StringLiteral.DOUBLE_QUOTE_TOKENIZER
A tokenizer that parses double quoted string literal (escaped by
'\' ),
and transforms the quoted content by applying escape characters. |
static Parser<?> |
Parsers.EOF
Parser that succeeds only if EOF is met. |
static Parser<Void> |
Scanners.HASKELL_BLOCK_COMMENT
Scanner for haskell style block comment.
|
static Parser<Void> |
Scanners.HASKELL_DELIMITER
Scanner for the haskell style delimiter of tokens.
|
static Parser<Void> |
Scanners.HASKELL_LINE_COMMENT
Scanner for haskell style line comment.
|
static Parser<String> |
Scanners.HEX_INTEGER
Scanner for a hexadecimal number.
|
static Parser<Long> |
Terminals.LongLiteral.HEX_TOKENIZER
A tokenizer that parses a hex integer number (valid patterns are:
0x1, 0Xff, 0xFe1 etc.), and converts the string to a Long value. |
static Parser<String> |
Scanners.IDENTIFIER
Scanner for a regular identifier, that starts with either
an underscore or an alpha character, followed by 0 or more alphanumeric characters.
|
static Parser<Integer> |
Parsers.INDEX
A
Parser that retrieves the current index in the source. |
static Parser<String> |
Scanners.INTEGER
Scanner for an integer.
|
static Parser<Void> |
Scanners.JAVA_BLOCK_COMMENT
Scanner for c++/java style block comment.
|
static Parser<Void> |
Scanners.JAVA_DELIMITER
Scanner for the c++/java style delimiter of tokens.
|
static Parser<Void> |
Scanners.JAVA_LINE_COMMENT
Scanner for c++/java style line comment.
|
static Parser<String> |
Scanners.OCT_INTEGER
Scanner for a octal number.
|
static Parser<Long> |
Terminals.LongLiteral.OCT_TOKENIZER
A tokenizer that parses a octal integer number (valid patterns are:
0, 07, 017, 0371 etc.), and converts the string to a Long value. |
static Parser<Character> |
Terminals.CharLiteral.PARSER
|
static Parser<String> |
Terminals.StringLiteral.PARSER
|
static Parser<Long> |
Terminals.LongLiteral.PARSER
|
static Parser<String> |
Terminals.IntegerLiteral.PARSER
|
static Parser<String> |
Terminals.DecimalLiteral.PARSER
|
static Parser<Tokens.ScientificNotation> |
Terminals.ScientificNumberLiteral.PARSER
Parser that recognies Tokens.ScientificNotation tokens. |
static Parser<String> |
Terminals.Identifier.PARSER
Parser that recognizes identifier tokens. |
static Parser<String> |
Terminals.RESERVED
Parser that recognizes reserved word tokens. |
static Parser<String> |
Scanners.SCIENTIFIC_NOTATION
Scanner for a scientific notation.
|
static Parser<String> |
Scanners.SINGLE_QUOTE_CHAR
Scanner for a c/c++/java style character literal.
|
static Parser<String> |
Scanners.SINGLE_QUOTE_STRING
Scanner with a pattern for SQL style string literal.
|
static Parser<Character> |
Terminals.CharLiteral.SINGLE_QUOTE_TOKENIZER
A tokenizer that parses single quoted character literal (escaped by
'\' ),
and then converts the character to a Character token. |
static Parser<String> |
Terminals.StringLiteral.SINGLE_QUOTE_TOKENIZER
A tokenizer that parses single quoted string literal (single quote is escaped with
another single quote), and transforms the quoted content by applying escape characters.
|
static Parser<Void> |
Scanners.SQL_BLOCK_COMMENT
Scanner for SQL style block comment.
|
static Parser<Void> |
Scanners.SQL_DELIMITER
Scanner for the SQL style delimiter of tokens.
|
static Parser<Void> |
Scanners.SQL_LINE_COMMENT
Scanner for SQL style line comment.
|
static Parser<Long> |
Terminals.LongLiteral.TOKENIZER
A tokenizer that parses decimal, hex, and octal numbers and converts the string to a
Long value. |
static Parser<Tokens.Fragment> |
Terminals.IntegerLiteral.TOKENIZER
A tokenizer that parses a integer number (valid patterns are:
0, 00, 1, 10 )
and returns a Tokens.Fragment token tagged as Tokens.Tag.INTEGER . |
static Parser<Tokens.Fragment> |
Terminals.DecimalLiteral.TOKENIZER
A tokenizer that parses a decimal number (valid patterns are:
1, 2.3, 00, 0., .23 )
and returns a Tokens.Fragment token tagged as Tokens.Tag.DECIMAL . |
static Parser<Tokens.ScientificNotation> |
Terminals.ScientificNumberLiteral.TOKENIZER
A tokenizer that parses a scientific notation and converts the string to a
Tokens.ScientificNotation value. |
static Parser<Tokens.Fragment> |
Terminals.Identifier.TOKENIZER
A tokenizer that parses any identifier and returns a
Tokens.Fragment token tagged as
Tokens.Tag.IDENTIFIER . |
static Parser<Void> |
Scanners.WHITESPACES
A scanner that scans greedily for 1 or more whitespace characters.
|
static Parser<Void> |
Indentation.WHITESPACES
A
Parser that recognizes 1 or more whitespace characters on the same line. |
Modifier and Type | Method and Description |
---|---|
static <T> Parser<T> |
Parsers.always()
Parser that always succeeds. |
static Parser<Void> |
Scanners.among(String chars)
A scanner that succeeds and consumes the current character if it equals to any character in
chars . |
static Parser<Void> |
Scanners.among(String chars,
String name)
Deprecated.
Use
Patterns.among(chars).toScanner(name) . |
static Parser<Object[]> |
Parsers.array(Parser<?>... parsers)
A
Parser that sequentially runs parsers one by one and collects the return
values in an array. |
Parser<Optional<T>> |
Parser.asOptional()
p.asOptional() is equivalent to p? in EBNF. |
Parser<List<T>> |
Parser.atLeast(int min)
|
Parser<T> |
Parser.atomic()
A
Parser that undoes any partial match if this fails. |
Parser<T> |
Parser.between(Parser<?> before,
Parser<?> after)
|
static <T> Parser<T> |
Parsers.between(Parser<?> before,
Parser<T> parser,
Parser<?> after)
Equivalent to
between(Parser, Parser) . |
static Parser<Void> |
Scanners.blockComment(Parser<Void> begin,
Parser<Void> end,
Parser<?> commented)
A scanner for a non-nestable block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.blockComment(String begin,
String end)
A scanner for non-nested block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.blockComment(String begin,
String end,
Pattern commented)
A scanner for a non-nestable block comment that starts with
begin and ends with
end . |
Parser<T> |
OperatorTable.build(Parser<? extends T> operand)
Builds a
Parser based on information in this OperatorTable . |
<R> Parser<R> |
Parser.cast()
|
static <T> Parser<T> |
Parsers.constant(T v)
A
Parser that always returns v regardless of input. |
Parser<List<T>> |
Parser.endBy(Parser<?> delim)
|
Parser<List<T>> |
Parser.endBy1(Parser<?> delim)
|
static <T> Parser<T> |
Parsers.expect(String name)
A
Parser that fails and reports that name is logically expected. |
static <T> Parser<T> |
Parsers.fail(String message)
A
Parser that always fails with message . |
Parser<Boolean> |
Parser.fails()
|
Parser<T> |
Parser.followedBy(Parser<?> parser)
|
static Parser<String> |
Terminals.fragment(Object... tags)
|
Parser<T> |
Parser.from(Parser<?> tokenizer,
Parser<Void> delim)
A
Parser that takes as input the tokens returned by tokenizer delimited by
delim , and runs this to parse the tokens. |
Parser<T> |
Parser.from(Parser<? extends Collection<Token>> lexer)
|
static Parser<String> |
Terminals.identifier()
Returns a
Parser that recognizes identifiers (a.k.a words, variable names etc). |
<R> Parser<R> |
Parser.ifelse(java.util.function.Function<? super T,? extends Parser<? extends R>> consequence,
Parser<? extends R> alternative)
|
<R> Parser<R> |
Parser.ifelse(Parser<? extends R> consequence,
Parser<? extends R> alternative)
|
Parser<Token> |
Indentation.indent()
A
Parser that recognizes the generated indent token. |
Parser<T> |
Parser.infixl(Parser<? extends java.util.function.BiFunction<? super T,? super T,? extends T>> operator)
A
Parser for left-associative infix operator. |
Parser<T> |
Parser.infixn(Parser<? extends java.util.function.BiFunction<? super T,? super T,? extends T>> op)
A
Parser that parses non-associative infix operator. |
Parser<T> |
Parser.infixr(Parser<? extends java.util.function.BiFunction<? super T,? super T,? extends T>> op)
A
Parser for right-associative infix operator. |
static Parser<Void> |
Scanners.isChar(char ch)
A scanner that succeeds and consumes the current character if it is equal to
ch . |
static Parser<Void> |
Scanners.isChar(CharPredicate predicate)
A scanner that succeeds and consumes the current character if it satisfies the given
CharPredicate . |
static Parser<Void> |
Scanners.isChar(CharPredicate predicate,
String name)
Deprecated.
Implement
Object.toString() in the CharPredicate ,
or use Patterns.isChar(predicate).toScanner(name) . |
static Parser<Void> |
Scanners.isChar(char ch,
String name)
Deprecated.
Use
Scanners.isChar(char) instead
or use Patterns.isChar(ch).toScanner(name) . |
Parser<T> |
Parser.label(String name)
|
Parser<T> |
Parser.Reference.lazy()
A
Parser that delegates to the parser object referenced by this during parsing time. |
Parser<List<Token>> |
Parser.lexer(Parser<?> delim)
A
Parser that greedily runs this repeatedly, and ignores the pattern recognized by delim
before and after each occurrence. |
Parser<List<Token>> |
Indentation.lexer(Parser<?> tokenizer,
Parser<?> delim)
A
Parser that greedily runs tokenizer , and translates line feed characters
('\n' ) to indent and outdent tokens. |
static Parser<Void> |
Scanners.lineComment(String begin)
A scanner that succeeds and consumes all the characters until the
'\n' character
if the current input starts with the string literal begin . |
static <T> Parser<List<T>> |
Parsers.list(Iterable<? extends Parser<? extends T>> parsers)
|
static <T> Parser<T> |
Parsers.longer(Parser<? extends T> p1,
Parser<? extends T> p2)
|
static <T> Parser<T> |
Parsers.longest(Iterable<? extends Parser<? extends T>> parsers)
A
Parser that runs every element of parsers and selects the longest match. |
static <T> Parser<T> |
Parsers.longest(Parser<? extends T>... parsers)
A
Parser that runs every element of parsers and selects the longest match. |
Parser<List<T>> |
Parser.many()
p.many() is equivalent to p* in EBNF. |
static Parser<Void> |
Scanners.many(CharPredicate predicate)
A scanner that scans greedily for 0 or more characters that satisfies the given CharPredicate.
|
static Parser<Void> |
Scanners.many(Pattern pattern,
String name)
Deprecated.
Use
pattern.many().toScanner(name) . |
Parser<List<T>> |
Parser.many1()
p.many1() is equivalent to p+ in EBNF. |
static Parser<Void> |
Scanners.many1(CharPredicate predicate)
A scanner that scans greedily for 1 or more characters that satisfies the given CharPredicate.
|
static Parser<Void> |
Scanners.many1(Pattern pattern,
String name)
Deprecated.
Use
pattern.many1().toScanner(name) . |
<R> Parser<R> |
Parser.map(java.util.function.Function<? super T,? extends R> map)
|
static Parser<Void> |
Scanners.nestableBlockComment(Parser<?> begin,
Parser<?> end,
Parser<?> commented)
A scanner for a nestable block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.nestableBlockComment(String begin,
String end)
A scanner for a nestable block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.nestableBlockComment(String begin,
String end,
Pattern commented)
A scanner for a nestable block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.nestedScanner(Parser<?> outer,
Parser<Void> inner)
A scanner that after character level
outer succeeds,
subsequently feeds the recognized characters to inner for a nested scanning. |
static <T> Parser<T> |
Parsers.never()
Parser that always fails. |
<To> Parser<To> |
Parser.next(java.util.function.Function<? super T,? extends Parser<? extends To>> map)
A
Parser that executes this , maps the result using map to another Parser object
to be executed as the next step. |
<R> Parser<R> |
Parser.next(Parser<R> parser)
|
Parser<?> |
Parser.not()
A
Parser that fails if this succeeds. |
Parser<?> |
Parser.not(String unexpected)
A
Parser that fails if this succeeds. |
static Parser<Void> |
Scanners.notAmong(String chars)
A scanner that succeeds and consumes the current character if it is not equal to any character
in
chars . |
static Parser<Void> |
Scanners.notAmong(String chars,
String name)
Deprecated.
Use
Patterns.among(chars).not().toScanner(name) ,
or isChar(CharPredicates.notAmong(chars), name) . |
static Parser<Void> |
Scanners.notChar(char ch)
A scanner that succeeds and consumes the current character if it is not equal to
ch . |
static Parser<Void> |
Scanners.notChar(char ch,
String name)
Deprecated.
|
Parser<T> |
Parser.notFollowedBy(Parser<?> parser)
|
Parser<T> |
Parser.optional()
Deprecated.
since 3.0. Use
#optional(null) or #optional_ instead. |
Parser<T> |
Parser.optional(T defaultValue)
|
static <T> Parser<T> |
Parsers.or(Iterable<? extends Parser<? extends T>> alternatives)
A
Parser that tries each alternative parser in alternatives . |
static <T> Parser<T> |
Parsers.or(Parser<? extends T>... alternatives)
A
Parser that tries each alternative parser in alternatives . |
Parser<T> |
Parser.or(Parser<? extends T> alternative)
p1.or(p2) is equivalent to p1 | p2 in EBNF. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2)
A
Parser that tries 2 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3)
A
Parser that tries 3 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4)
A
Parser that tries 4 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5)
A
Parser that tries 5 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6)
A
Parser that tries 6 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7)
A
Parser that tries 7 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8)
A
Parser that tries 8 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
Parser<Token> |
Indentation.outdent()
A
Parser that recognizes the generated outdent token. |
static <A,B> Parser<Pair<A,B>> |
Parsers.pair(Parser<? extends A> p1,
Parser<? extends B> p2)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static Parser<Void> |
Scanners.pattern(Pattern pattern,
String name)
Deprecated.
Use
pattern.toScanner(name) . |
Parser<T> |
Parser.peek()
A
Parser that runs this and undoes any input consumption if succeeds. |
Parser<T> |
Parser.postfix(Parser<? extends java.util.function.Function<? super T,? extends T>> op)
|
Parser<T> |
Parser.prefix(Parser<? extends java.util.function.Function<? super T,? extends T>> op)
|
static Parser<String> |
Scanners.quoted(char begin,
char end)
A scanner for a quoted string that starts with character
begin and ends with character
end . |
static Parser<String> |
Scanners.quoted(Parser<Void> begin,
Parser<Void> end,
Parser<?> quoted)
Deprecated.
Use
Parsers.sequence(begin, quoted.skipMany(), end).source() . |
Parser<T> |
Parser.reluctantBetween(Parser<?> before,
Parser<?> after)
Deprecated.
This method probably only works in the simplest cases. And it's a character-level
parser only. Use it at your own risk. It may be deleted later when we find a better way.
|
<R> Parser<R> |
Parser.retn(R value)
|
static Parser<?> |
Parsers.runnable(Runnable runnable)
Deprecated.
|
Parser<List<T>> |
Parser.sepBy(Parser<?> delim)
|
Parser<List<T>> |
Parser.sepBy1(Parser<?> delim)
|
Parser<List<T>> |
Parser.sepEndBy(Parser<?> delim)
|
Parser<List<T>> |
Parser.sepEndBy1(Parser<?> delim)
|
static Parser<Object> |
Parsers.sequence(Iterable<? extends Parser<?>> parsers)
A
Parser that runs parsers sequentially and discards the return values. |
static Parser<Object> |
Parsers.sequence(Parser<?>... parsers)
A
Parser that runs parsers sequentially and discards the return values. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<?> p4,
Parser<T> p5)
A
Parser that runs 5 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<T> p4)
A
Parser that runs 4 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<T> p3)
A
Parser that runs 3 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<T> p2)
A
Parser that runs 2 parser objects sequentially. |
static <A,B,T> Parser<T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
java.util.function.BiFunction<? super A,? super B,? extends T> map)
|
static <A,B,C,T> Parser<T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Map3<? super A,? super B,? super C,? extends T> map)
A
Parser that runs 3 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Map4<? super A,? super B,? super C,? super D,? extends T> map)
A
Parser that runs 4 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Map5<? super A,? super B,? super C,? super D,? super E,? extends T> map)
A
Parser that runs 5 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Map6<? super A,? super B,? super C,? super D,? super E,? super F,? extends T> map)
A
Parser that runs 6 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Map7<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,H,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Parser<H> p8,
Map8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <T> Parser<T> |
Parsers.shorter(Parser<? extends T> p1,
Parser<? extends T> p2)
|
static <T> Parser<T> |
Parsers.shortest(Iterable<? extends Parser<? extends T>> parsers)
A
Parser that runs every element of parsers and selects the shortest match. |
static <T> Parser<T> |
Parsers.shortest(Parser<? extends T>... parsers)
A
Parser that runs every element of parsers and selects the shortest match. |
Parser<Void> |
Parser.skipAtLeast(int min)
|
Parser<Void> |
Parser.skipMany()
p.skipMany() is equivalent to p* in EBNF. |
Parser<Void> |
Parser.skipMany1()
p.skipMany1() is equivalent to p+ in EBNF. |
Parser<Void> |
Parser.skipTimes(int n)
|
Parser<Void> |
Parser.skipTimes(int min,
int max)
A
Parser that runs this parser for at least min times and up to max times, with
all the return values ignored. |
Parser<String> |
Parser.source()
A
Parser that returns the matched string in the original source. |
static Parser<Void> |
Scanners.string(String str)
Matches the input against the specified string.
|
static Parser<Void> |
Scanners.string(String str,
String name)
Deprecated.
Use
Patterns.string(str).toScanner(name) . |
static Parser<Void> |
Scanners.stringCaseInsensitive(String str)
A scanner that matches the input against the specified string case insensitively.
|
static Parser<Void> |
Scanners.stringCaseInsensitive(String str,
String name)
Deprecated.
Use
Patterns.stringCaseInsensitive(str).toScanner(name) . |
Parser<Boolean> |
Parser.succeeds()
|
Parser<List<T>> |
Parser.times(int n)
|
Parser<List<T>> |
Parser.times(int min,
int max)
|
Parser<Token> |
Parser.token()
|
static <T> Parser<T> |
Parsers.token(TokenMap<? extends T> fromToken)
Checks the current token with the
fromToken object. |
static <T> Parser<T> |
Parsers.tokenType(Class<? extends T> type,
String name)
Checks whether the current token value is of
type , in which case, the token value is
returned and parse succeeds. |
static <A,B> Parser<Pair<A,B>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C> Parser<Tuple3<A,B,C>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D> Parser<Tuple4<A,B,C,D>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D,E> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4,
Parser<? extends E> p5)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <T> Parser<T> |
Parsers.unexpected(String name)
A
Parser that fails and reports that name is logically unexpected. |
Parser<List<T>> |
Parser.until(Parser<?> parser)
A
Parser that matches this parser zero or many times
until the given parser succeeds. |
Parser<WithSource<T>> |
Parser.withSource()
A
Parser that returns both parsed object and matched string. |
Modifier and Type | Method and Description |
---|---|
static Parser<Object[]> |
Parsers.array(Parser<?>... parsers)
A
Parser that sequentially runs parsers one by one and collects the return
values in an array. |
Parser<T> |
Parser.between(Parser<?> before,
Parser<?> after)
|
Parser<T> |
Parser.between(Parser<?> before,
Parser<?> after)
|
static <T> Parser<T> |
Parsers.between(Parser<?> before,
Parser<T> parser,
Parser<?> after)
Equivalent to
between(Parser, Parser) . |
static <T> Parser<T> |
Parsers.between(Parser<?> before,
Parser<T> parser,
Parser<?> after)
Equivalent to
between(Parser, Parser) . |
static <T> Parser<T> |
Parsers.between(Parser<?> before,
Parser<T> parser,
Parser<?> after)
Equivalent to
between(Parser, Parser) . |
static Parser<Void> |
Scanners.blockComment(Parser<Void> begin,
Parser<Void> end,
Parser<?> commented)
A scanner for a non-nestable block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.blockComment(Parser<Void> begin,
Parser<Void> end,
Parser<?> commented)
A scanner for a non-nestable block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.blockComment(Parser<Void> begin,
Parser<Void> end,
Parser<?> commented)
A scanner for a non-nestable block comment that starts with
begin and ends with
end . |
Parser<T> |
OperatorTable.build(Parser<? extends T> operand)
Builds a
Parser based on information in this OperatorTable . |
static Terminals |
Terminals.caseInsensitive(Parser<String> wordScanner,
String[] ops,
String[] keywords)
Deprecated.
Use
operators(ops)
.words(wordScanner)
.caseInsensitiveKeywords(keywords)
.build() instead. |
static Terminals |
Terminals.caseInsensitive(Parser<String> wordScanner,
String[] ops,
String[] keywords,
java.util.function.Function<String,?> wordMap)
Deprecated.
Use
operators(ops)
.words(wordScanner)
.tokenizeWordsWith(wordMap)
.caseInsensitiveKeywords(keywords)
.build() instead. |
static Terminals |
Terminals.caseSensitive(Parser<String> wordScanner,
String[] ops,
String[] keywords)
Deprecated.
Use
operators(ops)
.words(wordScanner)
.keywords(keywords)
.build() instead. |
static Terminals |
Terminals.caseSensitive(Parser<String> wordScanner,
String[] ops,
String[] keywords,
java.util.function.Function<String,?> wordMap)
Deprecated.
Use
operators(ops)
.words(wordScanner)
.tokenizeWordsWith(wordMap)
.keywords(keywords)
.build() instead. |
Parser<List<T>> |
Parser.endBy(Parser<?> delim)
|
Parser<List<T>> |
Parser.endBy1(Parser<?> delim)
|
Parser<T> |
Parser.followedBy(Parser<?> parser)
|
Parser<T> |
Parser.from(Parser<?> tokenizer,
Parser<Void> delim)
A
Parser that takes as input the tokens returned by tokenizer delimited by
delim , and runs this to parse the tokens. |
Parser<T> |
Parser.from(Parser<?> tokenizer,
Parser<Void> delim)
A
Parser that takes as input the tokens returned by tokenizer delimited by
delim , and runs this to parse the tokens. |
Parser<T> |
Parser.from(Parser<? extends Collection<Token>> lexer)
|
<R> Parser<R> |
Parser.ifelse(java.util.function.Function<? super T,? extends Parser<? extends R>> consequence,
Parser<? extends R> alternative)
|
<R> Parser<R> |
Parser.ifelse(Parser<? extends R> consequence,
Parser<? extends R> alternative)
|
<R> Parser<R> |
Parser.ifelse(Parser<? extends R> consequence,
Parser<? extends R> alternative)
|
Parser<T> |
Parser.infixl(Parser<? extends java.util.function.BiFunction<? super T,? super T,? extends T>> operator)
A
Parser for left-associative infix operator. |
OperatorTable<T> |
OperatorTable.infixl(Parser<? extends java.util.function.BiFunction<? super T,? super T,? extends T>> parser,
int precedence)
Adds an infix left-associative binary operator.
|
Parser<T> |
Parser.infixn(Parser<? extends java.util.function.BiFunction<? super T,? super T,? extends T>> op)
A
Parser that parses non-associative infix operator. |
OperatorTable<T> |
OperatorTable.infixn(Parser<? extends java.util.function.BiFunction<? super T,? super T,? extends T>> parser,
int precedence)
Adds an infix non-associative binary operator.
|
Parser<T> |
Parser.infixr(Parser<? extends java.util.function.BiFunction<? super T,? super T,? extends T>> op)
A
Parser for right-associative infix operator. |
OperatorTable<T> |
OperatorTable.infixr(Parser<? extends java.util.function.BiFunction<? super T,? super T,? extends T>> parser,
int precedence)
Adds an infix right-associative binary operator.
|
Parser<List<Token>> |
Parser.lexer(Parser<?> delim)
A
Parser that greedily runs this repeatedly, and ignores the pattern recognized by delim
before and after each occurrence. |
Parser<List<Token>> |
Indentation.lexer(Parser<?> tokenizer,
Parser<?> delim)
A
Parser that greedily runs tokenizer , and translates line feed characters
('\n' ) to indent and outdent tokens. |
Parser<List<Token>> |
Indentation.lexer(Parser<?> tokenizer,
Parser<?> delim)
A
Parser that greedily runs tokenizer , and translates line feed characters
('\n' ) to indent and outdent tokens. |
static <T> Parser<T> |
Parsers.longer(Parser<? extends T> p1,
Parser<? extends T> p2)
|
static <T> Parser<T> |
Parsers.longer(Parser<? extends T> p1,
Parser<? extends T> p2)
|
static <T> Parser<T> |
Parsers.longest(Parser<? extends T>... parsers)
A
Parser that runs every element of parsers and selects the longest match. |
static Parser<Void> |
Scanners.nestableBlockComment(Parser<?> begin,
Parser<?> end,
Parser<?> commented)
A scanner for a nestable block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.nestableBlockComment(Parser<?> begin,
Parser<?> end,
Parser<?> commented)
A scanner for a nestable block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.nestableBlockComment(Parser<?> begin,
Parser<?> end,
Parser<?> commented)
A scanner for a nestable block comment that starts with
begin and ends with
end . |
static Parser<Void> |
Scanners.nestedScanner(Parser<?> outer,
Parser<Void> inner)
A scanner that after character level
outer succeeds,
subsequently feeds the recognized characters to inner for a nested scanning. |
static Parser<Void> |
Scanners.nestedScanner(Parser<?> outer,
Parser<Void> inner)
A scanner that after character level
outer succeeds,
subsequently feeds the recognized characters to inner for a nested scanning. |
<R> Parser<R> |
Parser.next(Parser<R> parser)
|
Parser<T> |
Parser.notFollowedBy(Parser<?> parser)
|
static <T> Parser<T> |
Parsers.or(Parser<? extends T>... alternatives)
A
Parser that tries each alternative parser in alternatives . |
Parser<T> |
Parser.or(Parser<? extends T> alternative)
p1.or(p2) is equivalent to p1 | p2 in EBNF. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2)
A
Parser that tries 2 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2)
A
Parser that tries 2 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3)
A
Parser that tries 3 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3)
A
Parser that tries 3 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3)
A
Parser that tries 3 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4)
A
Parser that tries 4 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4)
A
Parser that tries 4 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4)
A
Parser that tries 4 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4)
A
Parser that tries 4 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5)
A
Parser that tries 5 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5)
A
Parser that tries 5 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5)
A
Parser that tries 5 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5)
A
Parser that tries 5 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5)
A
Parser that tries 5 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6)
A
Parser that tries 6 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6)
A
Parser that tries 6 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6)
A
Parser that tries 6 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6)
A
Parser that tries 6 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6)
A
Parser that tries 6 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6)
A
Parser that tries 6 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7)
A
Parser that tries 7 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7)
A
Parser that tries 7 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7)
A
Parser that tries 7 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7)
A
Parser that tries 7 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7)
A
Parser that tries 7 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7)
A
Parser that tries 7 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7)
A
Parser that tries 7 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8)
A
Parser that tries 8 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8)
A
Parser that tries 8 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8)
A
Parser that tries 8 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8)
A
Parser that tries 8 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8)
A
Parser that tries 8 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8)
A
Parser that tries 8 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8)
A
Parser that tries 8 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8)
A
Parser that tries 8 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
static <T> Parser<T> |
Parsers.or(Parser<? extends T> p1,
Parser<? extends T> p2,
Parser<? extends T> p3,
Parser<? extends T> p4,
Parser<? extends T> p5,
Parser<? extends T> p6,
Parser<? extends T> p7,
Parser<? extends T> p8,
Parser<? extends T> p9)
A
Parser that tries 9 alternative parser objects. |
static <A,B> Parser<Pair<A,B>> |
Parsers.pair(Parser<? extends A> p1,
Parser<? extends B> p2)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B> Parser<Pair<A,B>> |
Parsers.pair(Parser<? extends A> p1,
Parser<? extends B> p2)
Deprecated.
Prefer to converting to your own object with a lambda.
|
Parser<T> |
Parser.postfix(Parser<? extends java.util.function.Function<? super T,? extends T>> op)
|
OperatorTable<T> |
OperatorTable.postfix(Parser<? extends java.util.function.Function<? super T,? extends T>> parser,
int precedence)
Adds a postfix unary operator.
|
Parser<T> |
Parser.prefix(Parser<? extends java.util.function.Function<? super T,? extends T>> op)
|
OperatorTable<T> |
OperatorTable.prefix(Parser<? extends java.util.function.Function<? super T,? extends T>> parser,
int precedence)
Adds a prefix unary operator.
|
static Parser<String> |
Scanners.quoted(Parser<Void> begin,
Parser<Void> end,
Parser<?> quoted)
Deprecated.
Use
Parsers.sequence(begin, quoted.skipMany(), end).source() . |
static Parser<String> |
Scanners.quoted(Parser<Void> begin,
Parser<Void> end,
Parser<?> quoted)
Deprecated.
Use
Parsers.sequence(begin, quoted.skipMany(), end).source() . |
static Parser<String> |
Scanners.quoted(Parser<Void> begin,
Parser<Void> end,
Parser<?> quoted)
Deprecated.
Use
Parsers.sequence(begin, quoted.skipMany(), end).source() . |
Parser<T> |
Parser.reluctantBetween(Parser<?> before,
Parser<?> after)
Deprecated.
This method probably only works in the simplest cases. And it's a character-level
parser only. Use it at your own risk. It may be deleted later when we find a better way.
|
Parser<T> |
Parser.reluctantBetween(Parser<?> before,
Parser<?> after)
Deprecated.
This method probably only works in the simplest cases. And it's a character-level
parser only. Use it at your own risk. It may be deleted later when we find a better way.
|
Parser<List<T>> |
Parser.sepBy(Parser<?> delim)
|
Parser<List<T>> |
Parser.sepBy1(Parser<?> delim)
|
Parser<List<T>> |
Parser.sepEndBy(Parser<?> delim)
|
Parser<List<T>> |
Parser.sepEndBy1(Parser<?> delim)
|
static Parser<Object> |
Parsers.sequence(Parser<?>... parsers)
A
Parser that runs parsers sequentially and discards the return values. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<?> p4,
Parser<T> p5)
A
Parser that runs 5 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<?> p4,
Parser<T> p5)
A
Parser that runs 5 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<?> p4,
Parser<T> p5)
A
Parser that runs 5 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<?> p4,
Parser<T> p5)
A
Parser that runs 5 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<?> p4,
Parser<T> p5)
A
Parser that runs 5 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<T> p4)
A
Parser that runs 4 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<T> p4)
A
Parser that runs 4 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<T> p4)
A
Parser that runs 4 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<?> p3,
Parser<T> p4)
A
Parser that runs 4 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<T> p3)
A
Parser that runs 3 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<T> p3)
A
Parser that runs 3 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<?> p2,
Parser<T> p3)
A
Parser that runs 3 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<T> p2)
A
Parser that runs 2 parser objects sequentially. |
static <T> Parser<T> |
Parsers.sequence(Parser<?> p1,
Parser<T> p2)
A
Parser that runs 2 parser objects sequentially. |
static <A,B,T> Parser<T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
java.util.function.BiFunction<? super A,? super B,? extends T> map)
|
static <A,B,T> Parser<T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
java.util.function.BiFunction<? super A,? super B,? extends T> map)
|
static <A,B,C,T> Parser<T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Map3<? super A,? super B,? super C,? extends T> map)
A
Parser that runs 3 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,T> Parser<T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Map3<? super A,? super B,? super C,? extends T> map)
A
Parser that runs 3 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,T> Parser<T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Map3<? super A,? super B,? super C,? extends T> map)
A
Parser that runs 3 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Map4<? super A,? super B,? super C,? super D,? extends T> map)
A
Parser that runs 4 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Map4<? super A,? super B,? super C,? super D,? extends T> map)
A
Parser that runs 4 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Map4<? super A,? super B,? super C,? super D,? extends T> map)
A
Parser that runs 4 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Map4<? super A,? super B,? super C,? super D,? extends T> map)
A
Parser that runs 4 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Map5<? super A,? super B,? super C,? super D,? super E,? extends T> map)
A
Parser that runs 5 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Map5<? super A,? super B,? super C,? super D,? super E,? extends T> map)
A
Parser that runs 5 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Map5<? super A,? super B,? super C,? super D,? super E,? extends T> map)
A
Parser that runs 5 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Map5<? super A,? super B,? super C,? super D,? super E,? extends T> map)
A
Parser that runs 5 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Map5<? super A,? super B,? super C,? super D,? super E,? extends T> map)
A
Parser that runs 5 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Map6<? super A,? super B,? super C,? super D,? super E,? super F,? extends T> map)
A
Parser that runs 6 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Map6<? super A,? super B,? super C,? super D,? super E,? super F,? extends T> map)
A
Parser that runs 6 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Map6<? super A,? super B,? super C,? super D,? super E,? super F,? extends T> map)
A
Parser that runs 6 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Map6<? super A,? super B,? super C,? super D,? super E,? super F,? extends T> map)
A
Parser that runs 6 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Map6<? super A,? super B,? super C,? super D,? super E,? super F,? extends T> map)
A
Parser that runs 6 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Map6<? super A,? super B,? super C,? super D,? super E,? super F,? extends T> map)
A
Parser that runs 6 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Map7<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Map7<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Map7<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Map7<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Map7<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Map7<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Map7<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,H,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Parser<H> p8,
Map8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,H,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Parser<H> p8,
Map8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,H,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Parser<H> p8,
Map8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,H,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Parser<H> p8,
Map8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,H,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Parser<H> p8,
Map8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,H,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Parser<H> p8,
Map8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,H,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Parser<H> p8,
Map8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <A,B,C,D,E,F,G,H,T> |
Parsers.sequence(Parser<A> p1,
Parser<B> p2,
Parser<C> p3,
Parser<D> p4,
Parser<E> p5,
Parser<F> p6,
Parser<G> p7,
Parser<H> p8,
Map8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends T> map)
A
Parser that runs 7 parser objects sequentially and transforms the return values
using map . |
static <T> Parser<T> |
Parsers.shorter(Parser<? extends T> p1,
Parser<? extends T> p2)
|
static <T> Parser<T> |
Parsers.shorter(Parser<? extends T> p1,
Parser<? extends T> p2)
|
static <T> Parser<T> |
Parsers.shortest(Parser<? extends T>... parsers)
A
Parser that runs every element of parsers and selects the shortest match. |
static <A,B> Parser<Pair<A,B>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B> Parser<Pair<A,B>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C> Parser<Tuple3<A,B,C>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C> Parser<Tuple3<A,B,C>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C> Parser<Tuple3<A,B,C>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D> Parser<Tuple4<A,B,C,D>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D> Parser<Tuple4<A,B,C,D>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D> Parser<Tuple4<A,B,C,D>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D> Parser<Tuple4<A,B,C,D>> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D,E> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4,
Parser<? extends E> p5)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D,E> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4,
Parser<? extends E> p5)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D,E> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4,
Parser<? extends E> p5)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D,E> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4,
Parser<? extends E> p5)
Deprecated.
Prefer to converting to your own object with a lambda.
|
static <A,B,C,D,E> |
Parsers.tuple(Parser<? extends A> p1,
Parser<? extends B> p2,
Parser<? extends C> p3,
Parser<? extends D> p4,
Parser<? extends E> p5)
Deprecated.
Prefer to converting to your own object with a lambda.
|
Parser<List<T>> |
Parser.until(Parser<?> parser)
A
Parser that matches this parser zero or many times
until the given parser succeeds. |
Terminals.Builder |
Terminals.words(Parser<String> wordScanner)
Starts to build a new
Terminals instance that recognizes words not already recognized
by this Terminals instance (typically operators). |
Modifier and Type | Method and Description |
---|---|
<R> Parser<R> |
Parser.ifelse(java.util.function.Function<? super T,? extends Parser<? extends R>> consequence,
Parser<? extends R> alternative)
|
static <T> Parser<List<T>> |
Parsers.list(Iterable<? extends Parser<? extends T>> parsers)
|
static <T> Parser<T> |
Parsers.longest(Iterable<? extends Parser<? extends T>> parsers)
A
Parser that runs every element of parsers and selects the longest match. |
<To> Parser<To> |
Parser.next(java.util.function.Function<? super T,? extends Parser<? extends To>> map)
A
Parser that executes this , maps the result using map to another Parser object
to be executed as the next step. |
static <T> Parser<T> |
Parsers.or(Iterable<? extends Parser<? extends T>> alternatives)
A
Parser that tries each alternative parser in alternatives . |
static Parser<Object> |
Parsers.sequence(Iterable<? extends Parser<?>> parsers)
A
Parser that runs parsers sequentially and discards the return values. |
static <T> Parser<T> |
Parsers.shortest(Iterable<? extends Parser<? extends T>> parsers)
A
Parser that runs every element of parsers and selects the shortest match. |
Modifier and Type | Field and Description |
---|---|
static Parser<List<RuleDef>> |
RuleParser.RULE_DEFS |
Modifier and Type | Field and Description |
---|---|
static Parser<String> |
JavaScanners.DEC_INTEGER
Scanner for a decimal number.
|
static Parser<String> |
JavaScanners.OCT_INTEGER
Scanner for a octal number.
|
Modifier and Type | Method and Description |
---|---|
static Parser<Token> |
TerminalParser.adjacent(Parser<List<Token>> parser,
Parser<?> otherwise)
|
static Parser<Token> |
TerminalParser.adjacent(String operator)
|
static Parser<Expression> |
ExpressionParser.arrayInitializer(Parser<Expression> expr) |
static Parser<Expression> |
ExpressionParser.expression(Parser<DefBody> classBody,
Parser<Statement> statement) |
static Parser<?> |
TerminalParser.phrase(String phrase) |
static Parser<Program> |
DeclarationParser.program() |
static Parser<?> |
TerminalParser.term(String name) |
Modifier and Type | Method and Description |
---|---|
static Parser<Token> |
TerminalParser.adjacent(Parser<List<Token>> parser,
Parser<?> otherwise)
|
static Parser<Token> |
TerminalParser.adjacent(Parser<List<Token>> parser,
Parser<?> otherwise)
|
static Parser<Expression> |
ExpressionParser.arrayInitializer(Parser<Expression> expr) |
static Parser<Expression> |
ExpressionParser.expression(Parser<DefBody> classBody,
Parser<Statement> statement) |
static Parser<Expression> |
ExpressionParser.expression(Parser<DefBody> classBody,
Parser<Statement> statement) |
Modifier and Type | Method and Description |
---|---|
static Parser<Relation> |
RelationParser.query()
The
Parser for a full fledged SQL query. |
Modifier and Type | Method and Description |
---|---|
Parser<Void> |
Pattern.toScanner(String name)
Returns a scanner parser using
this pattern. |
Copyright © 2013–2016 jparsec. All rights reserved.