Grammar Engineering Frequently Asked Questions
When I load my grammar, I get *"Feature ... is introduced at multiple types (...)". What is causing this?
Features can only be declared for one type. If two types need the same feature, they need to have a common supertype from which to inherit it. You might hit this error if you happen to try to reuse a feature name already in use in the matrix, or if you try to declare a feature for two types at the same time (e.g., FORM on
) instead of putting it on a supertype.
NB: You can of course mention features on multiple types, and often need to in order to constrain their values appropriately. They just need to be introduced on a supertype to all types that they are appropriate for. This doesn't mean that e.g.,
needs to inherit from
in order to constrain a value of CASE on one of its arguments. In the example below, CASE remains a feature of
, which happens to be the value at the end of a path inside
trans-verb-lex := verb-lex & transitive-lex-item &
[ SYNSEM.LOCAL.CAT.VAL.COMPS < [ LOCAL.CAT.HEAD noun &
[ CASE acc ] ] > ].
Back to FAQs page
Back to main course page
- 18 May 2005
Topic revision: r1 - 2005-05-18 - 21:31:37 - EmilyBender