Packages

object NameTree

The NameTree object comprises NameTree types as well as binding and evaluation routines.

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

Type Members

  1. case class Alt [+T](trees: NameTree[T]*) extends NameTree[T] with Product with Serializable

    A NameTree representing fallback; it is evaluated by picking the first nonnegative (evaluated) subtree.

  2. case class Leaf [+T](value: T) extends NameTree[T] with Product with Serializable
  3. case class Union [+T](trees: Weighted[T]*) extends NameTree[T] with Product with Serializable

    A NameTree representing a weighted union of trees.

    A NameTree representing a weighted union of trees. It is evaluated by returning the union of its (recursively evaluated) children, leaving corresponding weights unchanged. When all children are negative, the Union itself evaluates negative.

    NameTree gives no semantics to weights (they are interpreted higher in the stack) except to simplify away single-child Unions regardless of weight.

  4. case class Weighted [+T](weight: Double, tree: NameTree[T]) extends Product with Serializable

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. implicit def equiv[T]: Equiv[NameTree[T]]
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def map[T, U](f: (T) ⇒ U)(tree: NameTree[T]): NameTree[U]

    Rewrite the paths in a tree for values defined by the given partial function.

  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  17. def read(s: String): NameTree[Path]

    Parse a NameTree from a string with concrete syntax

    Parse a NameTree from a string with concrete syntax

    tree       ::= name
                   weight '*' tree
                   tree '&' tree
                   tree '|' tree
                   '(' tree ')'
    
    name       ::= path | '!' | '~' | '$'
    
    weight     ::= [0-9]*\.?[0-9]+

    For example:

    /foo & /bar | /baz | $

    parses in to the NameTree

    Alt(Union(Leaf(Path(foo)),Leaf(Path(bar))),Leaf(Path(baz)),Empty)

    The production path is documented at Path.read.

    Exceptions thrown

    IllegalArgumentException when the string does not represent a valid name tree.

  18. def show[T](tree: NameTree[T])(implicit arg0: Showable[T]): String

    A string parseable by NameTree.read.

  19. def simplify[T](tree: NameTree[T]): NameTree[T]

    Simplify the given NameTree, yielding a new NameTree which is evaluation-equivalent.

  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. object Alt extends Serializable
  26. object Empty extends NameTree[Nothing]

    An empty NameTree.

  27. object Fail extends NameTree[Nothing]

    A failing NameTree.

  28. object Neg extends NameTree[Nothing]

    A negative NameTree.

  29. object Union extends Serializable
  30. object Weighted extends Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped