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
Ordering
- Alphabetic
- By Inheritance
Inherited
- GrammarRefinements
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new GrammarRefinements(labels: ProjectionIndexer[C, F], rules: ProjectionIndexer[Rule[C], Rule[F]])
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def coarseRulesGivenParentRef(parent: Int, parentRef: Int): Array[Int]
- def compose[F2](other: GrammarRefinements[F, F2]): GrammarRefinements[C, F2]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val labels: ProjectionIndexer[C, F]
- def leftChildRefinementsCompatibleWithRule(r: Int): Array[Int]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
parentRefinement(r: Int, ref: Int): Int
Gives the localized refinement of each parent
- def parentRefinementsCompatibleWithRule(r: Int): Array[Int]
- def rightChildRefinementsCompatibleWithRule(r: Int): Array[Int]
- def ruleRefinementsCompatibleWithChildRef(r: Int, childRef: Int): Array[Int]
- def ruleRefinementsCompatibleWithLeftRef(r: Int, leftChildRef: Int): Array[Int]
- def ruleRefinementsCompatibleWithParentRef(r: Int, parentRef: Int): Array[Int]
- def ruleRefinementsCompatibleWithRightRef(r: Int, rightChildRef: Int): Array[Int]
- val rules: ProjectionIndexer[Rule[C], Rule[F]]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )