Skip to content

GeFaqFeatureMultiType

EricZinda edited this page Jun 30, 2023 · 5 revisions

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 verb and prep) 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., trans-verb-lex needs to inherit from noun in order to constrain a value of CASE on one of its arguments. In the example below, CASE remains a feature of noun, which happens to be the value at the end of a path inside verb-lex.

trans-verb-lex := verb-lex & transitive-lex-item &
   [ SYNSEM.LOCAL.CAT.VAL.COMPS < [ LOCAL.CAT.HEAD noun &
                                            [ CASE acc ] ] > ].

Related topics

Back to the Grammar Engineering FAQ.

Clone this wiki locally