Recognizer

io.github.edadma.recognizer.Recognizer
trait Recognizer[W, E]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait CharRecognizer[W]

Members list

Type members

Classlikes

protected case class Alternative(p: Pattern, q: Pattern) extends Pattern

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
protected trait Choice

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ChoicePoint
object Fence
protected case class ChoicePoint(input: I, pattern: Pattern, call: List[Pattern], value: List[Any]) extends Choice

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Choice
class Object
trait Matchable
class Any
Show all
protected case class Clas(c: E => Boolean) extends Pattern

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
protected case object Cut extends Pattern

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
Self type
Cut.type
protected case object Fail extends Pattern

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
Self type
Fail.type
protected case object Fence extends Pattern, Choice

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Choice
trait Pattern
class Object
trait Matchable
class Any
Show all
Self type
Fence.type
protected case class Match(e: Seq[E]) extends Pattern

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
protected case class NonStrict(p: () => Pattern) extends Pattern

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
protected case object Nop extends Pattern

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
Self type
Nop.type
protected case class Not(p: Pattern) extends Pattern

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
trait Pattern

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Alternative
class Clas
object Cut
object Fail
object Fence
class Match
class NonStrict
object Nop
class Not
object Pointer
class Push
class Sequence
class Test
class Transform
Show all
protected case object Pointer extends Pattern

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
Self type
Pointer.type
protected case class Push(v: Any) extends Pattern

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
class Runstate

Attributes

Supertypes
class Object
trait Matchable
class Any
protected case class Sequence(p: Pattern, q: Pattern) extends Pattern

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
protected case class Test(p: List[Any] => Boolean) extends Pattern

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all
protected case class Transform(arity: Int, f: Seq[Any] => Any) extends Pattern

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Pattern
class Object
trait Matchable
class Any
Show all

Types

type I = Input[W, E]

Value members

Concrete methods

def !!: Pattern
def action[A](f: A => Any): Pattern
def action2[A, B](f: (A, B) => Any): Pattern
def action3[A, B, C](f: (A, B, C) => Any): Pattern
def action4[A, B, C, D](f: (A, B, C, D) => Any): Pattern
def any: Pattern
def anyOf(es: E*): Pattern
def capture(p: Pattern)(action: (I, I) => Any): Pattern
def clas(c: E => Boolean): Pattern
def fence: Pattern
def nonStrict(p: => Pattern): Pattern
def noneOf(es: E*): Pattern
def nop: Pattern
def not(p: Pattern): Pattern
def opt(p: Pattern): Pattern
def opta[A](p: Pattern)(f: A => Any): Pattern
def opti[A](p: Pattern): Pattern
def optr(p: Pattern): Pattern
def optra[A](p: Pattern)(f: A => Any): Pattern
def optri(p: Pattern): Pattern
def optrt(p: Pattern, arity: Int)(f: Seq[Any] => Any): Pattern
def optt(p: Pattern, arity: Int)(f: Seq[Any] => Any): Pattern
def push(v: Any): Pattern
def rep(p: Pattern): Pattern
def rep1(p: Pattern): Pattern
def rep1a[A](p: Pattern)(f: A => Any): Pattern
def rep1i(p: Pattern): Pattern
def rep1t(p: Pattern, arity: Int)(f: Seq[Any] => Any): Pattern
def repa[A](p: Pattern)(f: A => Any): Pattern
def repi(p: Pattern): Pattern
def repr(p: Pattern): Pattern
def repr1(p: Pattern): Pattern
def repr1a[A](p: Pattern)(f: A => Any): Pattern
def repr1t(p: Pattern, arity: Int)(f: Seq[Any] => Any): Pattern
def repra[A](p: Pattern)(f: A => Any): Pattern
def reprt(p: Pattern, arity: Int)(f: Seq[Any] => Any): Pattern
def rept(p: Pattern, arity: Int)(f: Seq[Any] => Any): Pattern
def rerun(state: Runstate): Option[(Option[Any], I, Runstate)]
def run(input: I, pat: Pattern): Option[(Option[Any], I, Runstate)]
def run(state: Runstate): Option[(Option[Any], I, Runstate)]
def runAll(input: I, pat: Pattern): List[(Option[Any], I)]
def seq(es: E*): Pattern
def test[A](c: A => Boolean): Pattern
def testValues(c: List[Any] => Boolean): Pattern
def transform(arity: Int)(f: Seq[Any] => Any): Pattern

Concrete fields

var runlimit: Int

Implicits

Implicits

implicit def elem(e: E): Pattern