trait RuleDSLCombinators extends AnyRef
- Alphabetic
- By Inheritance
- RuleDSLCombinators
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
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.
- Annotations
- @compileTimeOnly( ... )
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
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.
- Annotations
- @compileTimeOnly( ... )
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
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] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
implicit
def
int2NTimes(i: Int): NTimes
- Annotations
- @compileTimeOnly( ... )
-
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
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
- Annotations
- @compileTimeOnly( ... )
-
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
- Annotations
- @compileTimeOnly( ... )
-
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.
- Annotations
- @compileTimeOnly( ... )
-
implicit
def
range2NTimes(range: Range): NTimes
- Annotations
- @compileTimeOnly( ... )
-
implicit
def
rule2WithSeparatedBy[I <: HList, O <: HList](r: Rule[I, O] with Repeated): WithSeparatedBy[I, O]
- Annotations
- @compileTimeOnly( ... )
-
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.
- Annotations
- @compileTimeOnly( ... )
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
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
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
- Annotations
- @compileTimeOnly( ... )