scala.util.parsing.combinator.PackratParsers
Returns a parser that repeatedly parses what this parser parses, interleaved with the sep' parser.
The
sep' parser specifies how the results parsed by this parser should be combined.
Returns a parser that repeatedly parses what this parser parses, interleaved with the sep' parser.
The
sep' parser specifies how the results parsed by this parser should be combined.
chainl1(this, sep)
Returns a parser that repeatedly parses what this parser parses
Returns a parser that repeatedly parses what this parser parses
rep(this)
Returns a parser that repeatedly (at least once) parses what this parser parses.
Returns a parser that repeatedly (at least once) parses what this parser parses.
rep1(this)
A parser combinator for sequential composition which keeps only the left result
A parser combinator for sequential composition which keeps only the left result
p <~ q' succeeds if
p' succeeds and q' succeeds on the input
left over by
p'.
Note: <~ has lower operator precedence than ~ or ~>.
a Parser' that -- on success -- returns the result of
p'.
Returns into(fq)
Returns into(fq)
Returns a parser that optionally parses what this parser parses.
Returns a parser that optionally parses what this parser parses.
opt(this)
A parser combinator for partial function application
A parser combinator for partial function application
p ^? f' succeeds if
p' succeeds AND f' is defined at the result of
p';
in that case, it returns f' applied to the result of
p'.
a partial function that will be applied to this parser's result
(see mapPartial' in
ParseResult').
a parser that succeeds if the current parser succeeds and f' is applicable
to the result. If so, the result will be transformed by
f'.
A parser combinator for partial function application
A parser combinator for partial function application
p ^? (f, error)' succeeds if
p' succeeds AND f' is defined at the result of
p';
in that case, it returns f' applied to the result of
p'. If f' is not applicable,
error(the result of
p') should explain why.
a partial function that will be applied to this parser's result
(see mapPartial' in
ParseResult').
a function that takes the same argument as f' and produces an error message
to explain why
f' wasn't applicable
a parser that succeeds if the current parser succeeds and f' is applicable
to the result. If so, the result will be transformed by
f'.
A parser combinator for function application
A parser combinator for function application
p ^^ f' succeeds if
p' succeeds; it returns f' applied to the result of
p'.
a function that will be applied to this parser's result (see map' in
ParseResult').
a parser that has the same behaviour as the current parser, but whose result is
transformed by f'.
(f andThen g)(x) == g(f(x))
(f andThen g)(x) == g(f(x))
An unspecified method that defines the behaviour of this parser.
(f compose g)(x) == f(g(x))
(f compose g)(x) == f(g(x))
A parser combinator that parameterizes a subsequent parser with the result of this one
A parser combinator that parameterizes a subsequent parser with the result of this one
Use this combinator when a parser depends on the result of a previous parser. p' should be
a function that takes the result from the first parser and returns the second parser.
p into fq' (with fq' typically
{x => q}') first applies p', and then, if
p' successfully
returned result r', applies
fq(r)' to the rest of the input.
From: G. Hutton. Higher-order functions for parsing. J. Funct. Program., 2(3):323--343, 1992.
a function that, given the result from this parser, returns the second parser to be applied
a parser that succeeds if this parser succeeds (with result x') and if then
fq(x)' succeeds
Returns a string representation of the object.
A parser combinator for alternative composition
A parser combinator for alternative composition
p | q' succeeds if
p' succeeds or q' succeeds
Note that
q' is only tried if p's failure is non-fatal (i.e., back-tracking is
allowed).
a parser that will be executed if p' (this parser) fails (and allows back-tracking)
a Parser' that returns the result of the first parser to succeed (out of
p' and q')
The resulting parser succeeds if (and only if)
-
p' succeeds, or
p' fails allowing back-tracking and
q' succeeds.
A parser combinator for alternative with longest match composition
A parser combinator for alternative with longest match composition
p ||| q' succeeds if
p' succeeds or q' succeeds
If
p' and q' both succeed, the parser that consumed the most
characters accepts.
a parser that accepts if p consumes less characters.
a Parser' that returns the result of the parser consuming the most characters (out of
p' and q').
A parser combinator for sequential composition
A parser combinator for sequential composition
p ~ q' succeeds if
p' succeeds and q' succeeds on the input
left over by
p'.
a Parser' that -- on success -- returns a
~' (like a Pair, but easier to pattern match on)
that contains the result of p' and that of
q'.
The resulting parser fails if either p' or
q' fails.
A parser combinator for non-back-tracking sequential composition
A parser combinator for non-back-tracking sequential composition
p ~! q' succeeds if
p' succeeds and q' succeeds on the input
left over by
p'. In case of failure, no back-tracking is performed
(in an earlier parser produced by the | combinator).
a Parser' that -- on success -- returns a
~' (like a Pair, but easier to pattern match on)
that contains the result of p' and that of
q'.
The resulting parser fails if either p' or
q' fails, this failure is fatal.
A parser combinator for sequential composition which keeps only the right result
A parser combinator for sequential composition which keeps only the right result
p ~> q' succeeds if
p' succeeds and q' succeeds on the input
left over by
p'.
a Parser' that -- on success -- returns the result of
q'.
The root class of packrat parsers.