I am planning to support ditransitive verbs in the context of the new wh-question library, so I have them in my Russian dev grammar (to clarify: that’s a grammar which at various points can outgrow the customization system, but at the end there is a version which the customization system fully supports).
I am modeling Russian as having free word order for this version of the grammar.
(1) Ivan Mashe dal knigu Ivan.NOM . Masha.DAT gave . book.ACC `Ivan gave a book to Masha.' [rus]
Currently I can’t parse (1).
For example, I can’t form a VP using the HCR at the top and the C2HR at the bottom; it appears that certain orders are excluded by the SYNSEM.ATTACH constraints which come from the customization system (the word order library):
head-initial-head-nexus := head-initial & [ SYNSEM.ATTACH lmod, HEAD-DTR.SYNSEM.ATTACH notmod-or-lmod ]. head-final-head-nexus := head-final & [ SYNSEM.ATTACH rmod ]. head-comp-phrase-2 := basic-head-2nd-comp-phrase & head-initial-head-nexus. comp-head-phrase-2 := basic-head-2nd-comp-phrase & head-final-head-nexus.
Furthermore, I can’t form a VP using the C2HR at the top and the HCR at the bottom because that I think is not the intended use of C2HR (the meaning of that rule is that the more oblique complement, such as the dative one, attaches before the accusative, and so the accusative is still on the list):
basic-head-2nd-comp-phrase := basic-head-comp-phrase & [ SYNSEM.LOCAL.CAT.VAL.COMPS < #firstcomp . #othercomps >, HEAD-DTR.SYNSEM.LOCAL.CAT.VAL.COMPS [ FIRST #firstcomp, REST < #synsem . #othercomps > ], NON-HEAD-DTR.SYNSEM #synsem ].
So I suppose I need to be approaching this from the first angle, looking at the SYNSEM.ATTACH constraints, relaxing them somehow? But I don’t really know what is behind them.
; Three-valued sort for distinguishing unmodified signs from both ; left-modified and right-modified signs PERIPH indicates whether this ; modifier is left- or right-peripheral in its phrase - e.g., "the IBM ; temporary employees" but "*the IBM five employees" xmod := sort & [ PERIPH luk ]. notmod-or-rmod := xmod. notmod-or-lmod := xmod. notmod := notmod-or-rmod & notmod-or-lmod. hasmod := xmod. lmod := hasmod & notmod-or-lmod. rmod := hasmod & notmod-or-rmod.