mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-10 05:29:30 -06:00
54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
concrete RelativeIna of Relative = CatIna ** open ResIna in {
|
|
|
|
flags optimize=all_subs ;
|
|
|
|
lin
|
|
|
|
RelCl cl = {
|
|
s = \\t,a,p,agr =>
|
|
(case agr.n of {Sg => "tal"; Pl => "tales"}) ++
|
|
"que" ++ cl.s ! t ! a ! p ! ODir ;
|
|
c = Nom
|
|
} ;
|
|
|
|
RelVP rp vp = {
|
|
s = \\t,a,p,agr => (mkClause (rp.s!Nom) agr vp).s ! t ! a ! p ! ODir;
|
|
c = Nom
|
|
} ;
|
|
-- !!! person agreement is probably bad here; see below.
|
|
|
|
---- Pied piping: "a que tu invia flores"
|
|
|
|
RelSlash rp slash = {
|
|
s = \\t,a,p,agr => slash.p2 ++ rp.s ! slash.c2 ++ slash.s ! t ! a ! p ! ODir ;
|
|
c = slash.c2;
|
|
} ;
|
|
-- !!! In the above The agreement feature of the RP does not match
|
|
-- the the (parametric!) agreement of the resulting clause.
|
|
-- Is it a bug? I believe there is the same behaviour in the english grammar.
|
|
|
|
FunRP p np rp = {
|
|
s = \\c => np.s ! Acc ++ p.s ++ rp.s ! p.c ;
|
|
a = np.a
|
|
} ;
|
|
|
|
|
|
IdRP = {
|
|
-- TODO: variant: "le qual"
|
|
a = {p = P3; n = variants {Sg; Pl}};
|
|
s = table {
|
|
Nom => quique; -- Le ultime traino que pote portar me ibi a tempore parti in cinque minutas
|
|
Gen => "cuje"; -- Le documentos cuje importantia esseva dubitose incriminava le spia
|
|
Acc => "que"; -- Le documentos que le spia portava con se esseva multo importante
|
|
Dat => "a" ++ quique;
|
|
Abl => "de" ++ quique
|
|
}} ;
|
|
|
|
oper
|
|
quique = variants {"qui"; -- !!! Only for humans, only after a preposition.
|
|
-- This is extremely strange, because it does not match any Romance language I know.
|
|
-- For now just be lax and make it a variant of "que"
|
|
"que"};
|
|
|
|
}
|