trait RuleDSLActions extends AnyRef
- Alphabetic
- By Inheritance
- RuleDSLActions
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
- sealed trait ActionOperator[I <: HList, O <: HList, Ops] extends AnyRef
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from RuleDSLActions to any2stringadd[RuleDSLActions] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (RuleDSLActions, B)
- Implicit
- This member is added by an implicit conversion from RuleDSLActions to ArrowAssoc[RuleDSLActions] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
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).
- Annotations
- @compileTimeOnly( ... )
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
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
value andInt
drop[Int :: String :: HNil]
will drop the top two values, which must be an
underneath aInt
(the string being the top stack element).String
- Annotations
- @compileTimeOnly( ... )
-
def
ensuring(cond: (RuleDSLActions) ⇒ Boolean, msg: ⇒ Any): RuleDSLActions
- Implicit
- This member is added by an implicit conversion from RuleDSLActions to Ensuring[RuleDSLActions] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (RuleDSLActions) ⇒ Boolean): RuleDSLActions
- Implicit
- This member is added by an implicit conversion from RuleDSLActions to Ensuring[RuleDSLActions] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): RuleDSLActions
- Implicit
- This member is added by an implicit conversion from RuleDSLActions to Ensuring[RuleDSLActions] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): RuleDSLActions
- Implicit
- This member is added by an implicit conversion from RuleDSLActions to Ensuring[RuleDSLActions] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from RuleDSLActions to StringFormat[RuleDSLActions] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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
isUnit
nothing is pushed (i.e.push
with a block/expression evaluating toUnit
is identical torun
) - ifT <: HList
all values of the HList is pushed as individual elements - otherwise a single value of typeT
is pushed.- Annotations
- @compileTimeOnly( ... )
-
implicit
def
rule2ActionOperator[I <: HList, O <: HList](r: Rule[I, O])(implicit ops: ActionOps[I, O]): ActionOperator[I, O, Out]
- Annotations
- @compileTimeOnly( ... )
-
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 thearg
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
is not yet currently implemented.)run
- 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.- Annotations
- @compileTimeOnly( ... )
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
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.- Annotations
- @compileTimeOnly( ... )
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
→[B](y: B): (RuleDSLActions, B)
- Implicit
- This member is added by an implicit conversion from RuleDSLActions to ArrowAssoc[RuleDSLActions] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc