forked from GitHub/comp-syntax-gu-mlt
44 lines
992 B
Plaintext
44 lines
992 B
Plaintext
concrete IntroFre of Intro = {
|
|
|
|
lincat
|
|
S = Str ;
|
|
NP = {s : Case => Str ; a : Agr ; t : NPType} ;
|
|
VP = Agr => Str ;
|
|
CN = Str ;
|
|
Det = Str ;
|
|
Pron = {s : Case => Str ; a : Agr} ;
|
|
Subj = Str ;
|
|
N = Str ;
|
|
A = Str ;
|
|
V2 = Agr => Str ;
|
|
Adv = Str ;
|
|
|
|
lin
|
|
PredVP np vp = np.s ! Nom ++ vp ! np.a ;
|
|
AdvS s adv = s ++ adv ;
|
|
ComplV2 v2 np = case np.t of {
|
|
NPPron => table {a => np.s ! Acc ++ v2 ! a} ;
|
|
NPOther => table {a => v2 ! a ++ np.s ! Acc}
|
|
} ;
|
|
DetCN det cn = {s = table {_ => det ++ cn} ; a = SgP3 ; t = NPOther} ;
|
|
UsePron pron = pron ** {t = NPPron} ;
|
|
AdjCN a cn = cn ++ a ;
|
|
UseN n = n ;
|
|
SubjS subj s = subj ++ s ;
|
|
|
|
the_Det = "le" ;
|
|
we_Pron = {s = table {Nom => "nous" ; Acc => "nous"} ; a = Other} ;
|
|
because_Subj = "parce que" ;
|
|
|
|
cat_N = "chat" ;
|
|
black_A = "noir" ;
|
|
see_V2 = table {SgP3 => "voit" ; Other => "voyons"} ;
|
|
now_Adv = "maintenant" ;
|
|
|
|
param
|
|
Case = Nom | Acc ;
|
|
Agr = SgP3 | Other ;
|
|
NPType = NPPron | NPOther ;
|
|
|
|
}
|