Trait

org.parboiled2

RuleDSLActions

Related Doc: package parboiled2

Permalink

trait RuleDSLActions extends AnyRef

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RuleDSLActions
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait ActionOperator[I <: HList, O <: HList, Ops] extends AnyRef

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def capture[I <: HList, O <: HList](r: Rule[I, O])(implicit p: Prepend[O, ::[String, HNil]]): Rule[I, Out]

    Permalink

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

    Annotations
    @compileTimeOnly( ... )
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def drop[T](implicit h: HListable[T]): PopRule[Out]

    Permalink

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

    Annotations
    @compileTimeOnly( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. def push[T](value: T)(implicit h: HListable[T]): RuleN[Out]

    Permalink

    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.

    Annotations
    @compileTimeOnly( ... )
  18. implicit def rule2ActionOperator[I <: HList, O <: HList](r: Rule[I, O])(implicit ops: ActionOps[I, O]): ActionOperator[I, O, Out]

    Permalink
    Annotations
    @compileTimeOnly( ... )
  19. def run[T](arg: T)(implicit rr: RunResult[T]): Out

    Permalink

    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.

    Annotations
    @compileTimeOnly( ... )
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def test(condition: Boolean): Rule0

    Permalink

    Implements a semantic predicate.

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

    Annotations
    @compileTimeOnly( ... )
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped