final case class GrammarRefinements[C, F](labels: ProjectionIndexer[C, F], rules: ProjectionIndexer[Rule[C], Rule[F]]) extends Product with Serializable

Handles the mapping between a coarser grammar and a finer grammar. (For example, an xbar grammar and an xbar grammar with latent variables.) It mostly just aggregates two epic.projections.ProjectionIndexers, one for labels and one for rules. It also provides convenience methods for, e.g., getting all rule refinements that have a given parent refinment.

Refined symbols and rules are given a "local" integer index that is specific to a coarse symbol. For example, NP-4 might have "global index" 37 for all symbols, but will have NP-specific local index 4. Analogously, NP-4 -> NP-3 PP-2 will have a NP -> NP PP specific local index.

Annotations
@SerialVersionUID()
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GrammarRefinements
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GrammarRefinements(labels: ProjectionIndexer[C, F], rules: ProjectionIndexer[Rule[C], Rule[F]])

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. def coarseRulesGivenParentRef(parent: Int, parentRef: Int): Array[Int]
  7. def compose[F2](other: GrammarRefinements[F, F2]): GrammarRefinements[C, F2]
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  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. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. val labels: ProjectionIndexer[C, F]
  13. def leftChildRefinementsCompatibleWithRule(r: Int): Array[Int]
  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 parentRefinement(r: Int, ref: Int): Int

    Gives the localized refinement of each parent

  18. def parentRefinementsCompatibleWithRule(r: Int): Array[Int]
  19. def rightChildRefinementsCompatibleWithRule(r: Int): Array[Int]
  20. def ruleRefinementsCompatibleWithChildRef(r: Int, childRef: Int): Array[Int]
  21. def ruleRefinementsCompatibleWithLeftRef(r: Int, leftChildRef: Int): Array[Int]
  22. def ruleRefinementsCompatibleWithParentRef(r: Int, parentRef: Int): Array[Int]
  23. def ruleRefinementsCompatibleWithRightRef(r: Int, rightChildRef: Int): Array[Int]
  24. val rules: ProjectionIndexer[Rule[C], Rule[F]]
  25. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped