Packages

package vm

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. final case class Matched (start: Int, end: Int, saved: Vector[Int], threads: ThreadQueue) extends StepResult with Product with Serializable
  2. final case class Next (threads: ThreadQueue) extends StepResult with Product with Serializable
  3. final case class RThread (startIdx: Int, pc: Int, saved: Vector[Int]) extends Product with Serializable
  4. sealed trait StepResult extends AnyRef
  5. class ThreadQueue extends AnyRef

    An immutable queue that maintains a hashset of the contained thread's pc.

    An immutable queue that maintains a hashset of the contained thread's pc. to allow for quick existence check.

Value Members

  1. object BytecodeImpl extends RegexImpl with Serializable

    This class provides a way to create and use regular expressions.

    This class provides a way to create and use regular expressions. It is a non backtracking implementation based on the descrition from [Russ Cox](http://swtch.com/~rsc/regexp/). Following regular expressions are supported:

    • . any character, possibly including newline (s=true)
    • [xyz] character class
    • [^xyz] negated character class
    • \d a digit character (equivalent to [0-9])
    • \D a non digit character (equivalent to [^0-9])
    • \w an alphanumeric character (equivalent to [A-Za-z0-9_])
    • \W a non alphanumeric character (equivalent to [^A-Za-z0-9_])
    • \s a space character (equivalent to [ \t\r\n\f])
    • \S a non space character (equivalent to [^ \t\r\n\f])
    • xy x followed by y
    • x|y x or y (prefer x)
    • x* zero or more x (prefer more)
    • x+ one or more x (prefer more)
    • x? zero or one x (prefer one)
    • x*? zero or more x (prefer zero)
    • x+? one or more x (prefer one)
    • x?? zero or one x (prefer zero)
    • (re) numbered capturing group (starting at 1)
    • re{min,max} bounded repetition (min and max are integers)
    • re{min} bounded repetition (min is an integer)
    • ^ start of input anchor
    • $ end of input anchor
  2. object ThreadQueue
  3. object VM

    A virtual machine executing the regular expression code against some input.

    A virtual machine executing the regular expression code against some input. A run on some input returns the first match if any. It is stateless, thus executing the same regular expression against the same input will always return the same result.

    This is a thread safe, non-backtracking, tail-recursive implementation allowing for efficient stack-less executions.

Ungrouped