Attributes
- Companion
- object
- Source
- JsonPathParser.scala
- Graph
-
- Supertypes
-
class Parserclass RuleDSLtrait RuleDSLActionstrait RuleDSLCombinatorstrait RuleDSLBasicsclass Objecttrait Matchableclass AnyShow all
Members list
Type members
Inherited classlikes
Attributes
- Inherited from:
- RuleDSLActions
- Source
- RuleDSLActions.scala
- Supertypes
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
- Supertypes
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
- Supertypes
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
- Supertypes
-
trait NoStackTraceclass RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
- Supertypes
Value members
Concrete methods
Attributes
- Source
- JsonPathParser.scala
Inherited methods
Runs its inner rule but resets the parser (cursor and value stack) afterwards, succeeds only if its inner rule succeeded.
Runs its inner rule but resets the parser (cursor and value stack) afterwards, succeeds only if its inner rule succeeded.
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Matches any character except EOI.
Matches any character except EOI.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Matches the EOI (end-of-input) character.
Matches the EOI (end-of-input) character.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Matches no character (i.e. doesn't cause the parser to make any progress) but succeeds always (as a rule).
Matches no character (i.e. doesn't cause the parser to make any progress) but succeeds always (as a rule).
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
A generic Rule that always fails.
A generic Rule that always fails.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
A Rule0 that always fails.
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
THIS IS NOT PUBLIC API and might become hidden in future. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
Matches any single one of the given characters.
Matches any single one of the given characters.
Note: This helper has O(n) runtime with n being the length of the given string. If your string consists only of 7-bit ASCII chars using a pre-allocated CharPredicate will be more efficient.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Marks a rule as "undividable" from an error reporting perspective. The parser will never report errors inside of the marked rule. Rather, if the rule mismatches, the error will be reported at the very beginning of the attempted rule match.
Marks a rule as "undividable" from an error reporting perspective. The parser will never report errors inside of the marked rule. Rather, if the rule mismatches, the error will be reported at the very beginning of the attempted rule match.
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Pushes the input text matched by its inner rule onto the value stack after its inner rule has been run successfully (and only then).
Pushes the input text matched by its inner rule onto the value stack after its inner rule has been run successfully (and only then).
Attributes
- Inherited from:
- RuleDSLActions
- Source
- RuleDSLActions.scala
Returns the character at the input index with the given delta to the cursor. Note: for performance optimization this method does not do a range check, i.e. depending on the ParserInput implementation you might get an exception when calling this method before any character was matched by the parser.
Returns the character at the input index with the given delta to the cursor. Note: for performance optimization this method does not do a range check, i.e. depending on the ParserInput implementation you might get an exception when calling this method before any character was matched by the parser.
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
Same as charAt
but range-checked. Returns the input character at the index with the given offset from the cursor. If this index is out of range the method returns EOI
.
Same as charAt
but range-checked. Returns the input character at the index with the given offset from the cursor. If this index is out of range the method returns EOI
.
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
The index of the next (yet unmatched) input character. Might be equal to input.length
!
The index of the next (yet unmatched) input character. Might be equal to input.length
!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
The next (yet unmatched) input character, i.e. the one at the cursor
index. Identical to if (cursor < input.length) input.charAt(cursor) else EOI
but more efficient.
The next (yet unmatched) input character, i.e. the one at the cursor
index. Identical to if (cursor < input.length) input.charAt(cursor) else EOI
but more efficient.
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
Drops one or more values from the top of the value stack. E.g. drop[Int]
will drop the top Int
value and drop[Int :: String :: HNil]
will drop the top two values, which must be an Int
underneath a String
(the string being the top stack element).
Drops one or more values from the top of the value stack. E.g. drop[Int]
will drop the top Int
value and drop[Int :: String :: HNil]
will drop the top two values, which must be an Int
underneath a String
(the string being the top stack element).
Attributes
- Inherited from:
- RuleDSLActions
- Source
- RuleDSLActions.scala
The maximum number of error traces that parser will collect in case of a parse error. Override with a custom value if required. Set to zero to completely disable error trace collection (which will cause formatError
to no be able to render any "expected" string!).
The maximum number of error traces that parser will collect in case of a parse error. Override with a custom value if required. Set to zero to completely disable error trace collection (which will cause formatError
to no be able to render any "expected" string!).
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
A rule that always fails and causes the parser to immediately terminate the parsing run. The resulting parse error only has a single trace with a single frame which holds the given error message.
A rule that always fails and causes the parser to immediately terminate the parsing run. The resulting parse error only has a single trace with a single frame which holds the given error message.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Fully generic variant of fail.
Formats the given ParseError into a String using the given formatter instance.
Formats the given ParseError into a String using the given formatter instance.
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
Matches the given string of characters case insensitively. Note: the given string must be specified in all lower-case! This requirement is currently NOT enforced!
Matches the given string of characters case insensitively. Note: the given string must be specified in all lower-case! This requirement is currently NOT enforced!
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Matches the given single character case insensitively. Note: the given character must be specified in lower-case! This requirement is currently NOT enforced!
Matches the given single character case insensitively. Note: the given character must be specified in lower-case! This requirement is currently NOT enforced!
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Returns the last character that was matched, i.e. the one at index cursor - 1 Note: for performance optimization this method does not do a range check, i.e. depending on the ParserInput implementation you might get an exception when calling this method before any character was matched by the parser.
Returns the last character that was matched, i.e. the one at index cursor - 1 Note: for performance optimization this method does not do a range check, i.e. depending on the ParserInput implementation you might get an exception when calling this method before any character was matched by the parser.
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
Converts a compile-time only rule definition into the corresponding rule method implementation with an explicitly given name.
Converts a compile-time only rule definition into the corresponding rule method implementation with an explicitly given name.
Attributes
- Inherited from:
- ParserMacroMethods (hidden)
- Source
- ParserMacros.scala
Matches any single character except the ones in the given string and except EOI.
Matches any single character except the ones in the given string and except EOI.
Note: This helper has O(n) runtime with n being the length of the given string. If your string consists only of 7-bit ASCII chars using a pre-allocated CharPredicate will be more efficient.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Runs its inner rule until it fails, succeeds if its inner rule succeeded at least once. Resulting rule type is Rule0 if r == Rule0 Rule1[Seq[T]] if r == Rule1[T] Rule[I, O] if r == Rule[I, O <: I] // so called "reduction", which leaves the value stack unchanged on a type level
Runs its inner rule until it fails, succeeds if its inner rule succeeded at least once. Resulting rule type is Rule0 if r == Rule0 Rule1[Seq[T]] if r == Rule1[T] Rule[I, O] if r == Rule[I, O <: I] // so called "reduction", which leaves the value stack unchanged on a type level
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Runs its inner rule and succeeds even if the inner rule doesn't. Resulting rule type is Rule0 if r == Rule0 Rule1[Option[T]] if r == Rule1[T] Rule[I, O] if r == Rule[I, O <: I] // so called "reduction", which leaves the value stack unchanged on a type level
Runs its inner rule and succeeds even if the inner rule doesn't. Resulting rule type is Rule0 if r == Rule0 Rule1[Option[T]] if r == Rule1[T] Rule[I, O] if r == Rule[I, O <: I] // so called "reduction", which leaves the value stack unchanged on a type level
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Pushes the given value onto the value stack.
Pushes the given value onto the value stack.
- if
T
isUnit
nothing is pushed (i.e.push
with a block/expression evaluating toUnit
is identical torun
) - if
T <: HList
all values of the HList is pushed as individual elements - otherwise a single value of type
T
is pushed.
Attributes
- Inherited from:
- RuleDSLActions
- Source
- RuleDSLActions.scala
Marks a rule as "quiet" from an error reporting perspective. Quiet rules only show up in error rule traces if no "unquiet" rules match up to the error location. This marker frequently used for low-level syntax rules (like whitespace or comments) that might be matched essentially everywhere and are therefore not helpful when appearing in the "expected" set of an error report.
Marks a rule as "quiet" from an error reporting perspective. Quiet rules only show up in error rule traces if no "unquiet" rules match up to the error location. This marker frequently used for low-level syntax rules (like whitespace or comments) that might be matched essentially everywhere and are therefore not helpful when appearing in the "expected" set of an error report.
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Converts a compile-time only rule definition into the corresponding rule method implementation.
Converts a compile-time only rule definition into the corresponding rule method implementation.
Attributes
- Inherited from:
- ParserMacroMethods (hidden)
- Source
- ParserMacros.scala
Runs the given block / expression / action function. A run
rule can have several shapes, depending on its argument type. If the arg
evaluates to
Runs the given block / expression / action function. A run
rule can have several shapes, depending on its argument type. If the arg
evaluates to
-
a rule (i.e. has type
R <: Rule[_, _]
) the result type ofrun
is this rule's type (i.e.R
) and the produced rule is immediately executed. -
a function with 1 to 5 parameters these parameters are mapped against the top of the value stack, popped and the function executed. Thereby the function behaves just like an action function for the
~>
operator, i.e. if it produces a Unit value this result is simply dropped. HList results are pushed onto the value stack (all their elements individually), rule results are immediately executed and other result values are pushed onto the value stack as a single element. -
a function with one HList parameter the behavior is similar to the previous case with the difference that the elements of this parameter HList are mapped against the value stack top. This allows for consumption of an arbitrary number of value stack elements. (Note: This feature of
run
is not yet currently implemented.) -
any other value the result type of
run
is an always succeedingRule0
.
NOTE: Even though the block is not a call-by-name parameter it will be executed for every rule application anew! (Since the expression is directly transplanted into the rule method by the rule
macro.
Attributes
- Inherited from:
- RuleDSLActions
- Source
- RuleDSLActions.scala
Allows creation of a sub parser and running of one of its rules as part of the current parsing process. The subparser will start parsing at the current input position and the outer parser (this parser) will continue where the sub-parser stopped.
Allows creation of a sub parser and running of one of its rules as part of the current parsing process. The subparser will start parsing at the current input position and the outer parser (this parser) will continue where the sub-parser stopped.
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Implements a semantic predicate. If the argument expression evaluates to true
the created rule matches otherwise it doesn't.
Implements a semantic predicate. If the argument expression evaluates to true
the created rule matches otherwise it doesn't.
Attributes
- Inherited from:
- RuleDSLActions
- Source
- RuleDSLActions.scala
Matches any of the given maps keys and pushes the respective value upon a successful match.
Matches any of the given maps keys and pushes the respective value upon a successful match.
Value parameters
- ignoreCase
-
a flag that tells if map keys case should be ignored
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Allows "raw" (i.e. untyped) access to the ValueStack
. In most cases you shouldn't need to access the value stack directly from your code. Use only if you know what you are doing!
Allows "raw" (i.e. untyped) access to the ValueStack
. In most cases you shouldn't need to access the value stack directly from your code. Use only if you know what you are doing!
Attributes
- Inherited from:
- Parser
- Source
- Parser.scala
Runs its inner rule until it fails, always succeeds. Resulting rule type is Rule0 if r == Rule0 Rule1[Seq[T]] if r == Rule1[T] Rule[I, O] if r == Rule[I, O <: I] // so called "reduction", which leaves the value stack unchanged on a type level
Runs its inner rule until it fails, always succeeds. Resulting rule type is Rule0 if r == Rule0 Rule1[Seq[T]] if r == Rule1[T] Rule[I, O] if r == Rule[I, O <: I] // so called "reduction", which leaves the value stack unchanged on a type level
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Concrete fields
The input this parser instance is running against.
Implicits
Inherited implicits
Matches the given single character.
Matches the given single character.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Matches any (single) character matched by the given CharPredicate
.
Matches any (single) character matched by the given CharPredicate
.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Attributes
- Inherited from:
- RuleDSLActions
- Source
- RuleDSLActions.scala
Attributes
- Inherited from:
- RuleDSLCombinators
- Source
- RuleDSLCombinators.scala
Matches the given string of characters.
Matches the given string of characters.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala
Matches any of the given maps keys and pushes the respective value upon a successful match.
Matches any of the given maps keys and pushes the respective value upon a successful match.
Attributes
- Inherited from:
- RuleDSLBasics
- Source
- RuleDSLBasics.scala