Packages

  • package root

    Dregex is a Scala/JVM library that implements a regular expression engine using deterministic finite automata (DFA).

    Dregex is a Scala/JVM library that implements a regular expression engine using deterministic finite automata (DFA). The range of features supported is an middle ground between Perl-style (slow) engines and DFA-based ones. Yet it retains the linear matching time offered by the latter.

    Definition Classes
    root
  • package dregex

    Main package for Dregex implementation.

    Main package for Dregex implementation. User-facing classes reside directly in the top-level package. The rest of the sub-packages contain implementation classes.

    Definition Classes
    root
  • package extra
    Definition Classes
    dregex
  • package impl
    Definition Classes
    dregex
  • CompiledRegex
  • InvalidRegexException
  • ParsedRegex
  • Regex
  • SynteticRegex
  • Universe
  • UnsupportedException
c

dregex

Universe

class Universe extends AnyRef

Represent the set of characters that is the union of the sets of characters of a group of regular expressions. Regex must belong to the same Universe to be able to make operations between them.

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

Instance Constructors

  1. new Universe(parsedRegex: Seq[ParsedRegex])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val alphabet: Map[AbstractRange, Seq[CharInterval]]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. def collect(ast: Node): Seq[AbstractRange]

    Regular expressions can have character classes and wildcards.

    Regular expressions can have character classes and wildcards. In order to produce a NFA, they should be expanded to disjunctions. As the base alphabet is Unicode, just adding a wildcard implies a disjunction of more than one million code points. Same happens with negated character classes or normal classes with large ranges.

    To prevent this, the sets are not expanded to all characters individually, but only to disjoint intervals.

    Example:

    [abc] -> a-c [efg] -> 0-c|h-MAX mno[efg] -> def(0-c|h-l|m|n|o|p-MAX) . -> 0-MAX

    Care must be taken when the regex is meant to be used for an operation with another regex (such as intersection or difference). In this case, the sets must be disjoint across all the "universe"

    This method collects the interval, so they can then be made disjoint.

  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped