abstract class RuleDSL extends RuleDSLBasics with RuleDSLCombinators with RuleDSLActions

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RuleDSL
  2. RuleDSLActions
  3. RuleDSLCombinators
  4. RuleDSLBasics
  5. AnyRef
  6. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RuleDSL()

Type Members

  1. sealed trait ActionOperator[I <: HList, O <: HList, Ops] extends AnyRef
    Definition Classes
    RuleDSLActions
  2. sealed trait CharRangeSupport extends AnyRef
    Definition Classes
    RuleDSLBasics
  3. sealed trait NTimes extends AnyRef
    Definition Classes
    RuleDSLCombinators
  4. trait WithSeparatedBy[I <: HList, O <: HList] extends AnyRef
    Definition Classes
    RuleDSLCombinators

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def &(r: Rule[_, _]): Rule0

    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.

    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  4. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from RuleDSL to any2stringadd[RuleDSL] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  5. def ->[B](y: B): (RuleDSL, B)
    Implicit
    This member is added by an implicit conversion from RuleDSL to ArrowAssoc[RuleDSL] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. def ANY: Rule0

    Matches any character except EOI.

    Matches any character except EOI.

    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  8. def EOI: Char

    Matches the EOI (end-of-input) character.

    Matches the EOI (end-of-input) character.

    Definition Classes
    RuleDSLBasics
  9. def MATCH: Rule0

    Matches no character (i.e.

    Matches no character (i.e. doesn't cause the parser to make any progress) but succeeds always (as a rule).

    Definition Classes
    RuleDSLBasics
  10. def MISMATCH[I <: HList, O <: HList]: Rule[I, O]

    A generic Rule that always fails.

    A generic Rule that always fails.

    Definition Classes
    RuleDSLBasics
  11. def MISMATCH0: Rule0

    A Rule0 that always fails.

    A Rule0 that always fails.

    Definition Classes
    RuleDSLBasics
  12. def anyOf(chars: String): Rule0

    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.

    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. def atomic[I <: HList, O <: HList](r: Rule[I, O]): Rule[I, O]

    Marks a rule as "undividable" from an error reporting perspective.

    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.

    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  15. def capture[I <: HList, O <: HList](r: Rule[I, O])(implicit p: Prepend[O, ::[String, HNil]]): Rule[I, Out]

    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).

    Definition Classes
    RuleDSLActions
    Annotations
    @compileTimeOnly( ... )
  16. implicit def ch(c: Char): Rule0

    Matches the given single character.

    Matches the given single character.

    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  17. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  18. def drop[T](implicit h: HListable[T]): PopRule[Out]

    Drops one or more values from the top of the value stack.

    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).

    Definition Classes
    RuleDSLActions
    Annotations
    @compileTimeOnly( ... )
  19. def ensuring(cond: (RuleDSL) ⇒ Boolean, msg: ⇒ Any): RuleDSL
    Implicit
    This member is added by an implicit conversion from RuleDSL to Ensuring[RuleDSL] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: (RuleDSL) ⇒ Boolean): RuleDSL
    Implicit
    This member is added by an implicit conversion from RuleDSL to Ensuring[RuleDSL] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. def ensuring(cond: Boolean, msg: ⇒ Any): RuleDSL
    Implicit
    This member is added by an implicit conversion from RuleDSL to Ensuring[RuleDSL] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  22. def ensuring(cond: Boolean): RuleDSL
    Implicit
    This member is added by an implicit conversion from RuleDSL to Ensuring[RuleDSL] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  23. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  25. def fail(expected: String): Rule0

    A rule that always fails and causes the parser to immediately terminate the parsing run.

    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.

    Definition Classes
    RuleDSLBasics
  26. def failX[I <: HList, O <: HList](expected: String): Rule[I, O]

    Fully generic variant of fail.

    Fully generic variant of fail.

    Definition Classes
    RuleDSLBasics
  27. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  28. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from RuleDSL to StringFormat[RuleDSL] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  29. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  30. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  31. def ignoreCase(s: String): Rule0

    Matches the given string of characters case insensitively.

    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!

    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  32. def ignoreCase(c: Char): Rule0

    Matches the given single character case insensitively.

    Matches the given single character case insensitively. Note: the given character must be specified in lower-case! This requirement is currently NOT enforced!

    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  33. implicit def int2NTimes(i: Int): NTimes
    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  34. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  35. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. def noneOf(chars: String): Rule0

    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.

    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  37. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  38. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  39. def oneOrMore[I <: HList, O <: HList](r: Rule[I, O])(implicit l: Lifter[Seq, I, O]): Rule[In, StrictOut] with Repeated

    Runs its inner rule until it fails, succeeds if its inner rule succeeded at least once.

    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

    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  40. def optional[I <: HList, O <: HList](r: Rule[I, O])(implicit l: Lifter[Option, I, O]): Rule[In, OptionalOut]

    Runs its inner rule and succeeds even if the inner rule doesn't.

    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

    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  41. implicit def predicate(p: CharPredicate): Rule0

    Matches any (single) character matched by the given CharPredicate.

    Matches any (single) character matched by the given CharPredicate.

    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  42. def push[T](value: T)(implicit h: HListable[T]): RuleN[Out]

    Pushes the given value onto the value stack.

    Pushes the given value onto the value stack. - if T is Unit nothing is pushed (i.e. push with a block/expression evaluating to Unit is identical to run) - if T <: HList all values of the HList is pushed as individual elements - otherwise a single value of type T is pushed.

    Definition Classes
    RuleDSLActions
    Annotations
    @compileTimeOnly( ... )
  43. def quiet[I <: HList, O <: HList](r: Rule[I, O]): Rule[I, O]

    Marks a rule as "quiet" from an error reporting perspective.

    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.

    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  44. implicit def range2NTimes(range: Range): NTimes
    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  45. implicit def rule2ActionOperator[I <: HList, O <: HList](r: Rule[I, O])(implicit ops: ActionOps[I, O]): ActionOperator[I, O, Out]
    Definition Classes
    RuleDSLActions
    Annotations
    @compileTimeOnly( ... )
  46. implicit def rule2WithSeparatedBy[I <: HList, O <: HList](r: Rule[I, O] with Repeated): WithSeparatedBy[I, O]
    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  47. def run[T](arg: T)(implicit rr: RunResult[T]): Out

    Runs the given block / expression / action function.

    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 of run 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 succeeding Rule0.

    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.

    Definition Classes
    RuleDSLActions
    Annotations
    @compileTimeOnly( ... )
  48. def runSubParser[I <: HList, O <: HList](f: (ParserInput) ⇒ Rule[I, O]): Rule[I, O]

    Allows creation of a sub parser and running of one of its rules as part of the current parsing process.

    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.

    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  49. implicit def str(s: String): Rule0

    Matches the given string of characters.

    Matches the given string of characters.

    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  50. implicit def str2CharRangeSupport(s: String): CharRangeSupport
    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  51. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  52. def test(condition: Boolean): Rule0

    Implements a semantic predicate.

    Implements a semantic predicate. If the argument expression evaluates to true the created rule matches otherwise it doesn't.

    Definition Classes
    RuleDSLActions
    Annotations
    @compileTimeOnly( ... )
  53. def toString(): String
    Definition Classes
    AnyRef → Any
  54. implicit def valueMap[T](m: Map[String, T])(implicit h: HListable[T]): RuleN[Out]

    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.

    Definition Classes
    RuleDSLBasics
    Annotations
    @compileTimeOnly( ... )
  55. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  58. def zeroOrMore[I <: HList, O <: HList](r: Rule[I, O])(implicit l: Lifter[Seq, I, O]): Rule[In, OptionalOut] with Repeated

    Runs its inner rule until it fails, always succeeds.

    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

    Definition Classes
    RuleDSLCombinators
    Annotations
    @compileTimeOnly( ... )
  59. def [B](y: B): (RuleDSL, B)
    Implicit
    This member is added by an implicit conversion from RuleDSL to ArrowAssoc[RuleDSL] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from RuleDSLActions

Inherited from RuleDSLCombinators

Inherited from RuleDSLBasics

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from RuleDSL to any2stringadd[RuleDSL]

Inherited by implicit conversion StringFormat from RuleDSL to StringFormat[RuleDSL]

Inherited by implicit conversion Ensuring from RuleDSL to Ensuring[RuleDSL]

Inherited by implicit conversion ArrowAssoc from RuleDSL to ArrowAssoc[RuleDSL]

Ungrouped