forked from GitHub/gf-core
exper/french compiles but is incomplete
This commit is contained in:
@@ -84,7 +84,7 @@ lin
|
|||||||
someSg_Det = {s = \\_,c => prepCase c ++ elision "quelqu" ; n = Sg} ;
|
someSg_Det = {s = \\_,c => prepCase c ++ elision "quelqu" ; n = Sg} ;
|
||||||
something_NP = pn2np (mkPN ["quelque chose"] Masc) ;
|
something_NP = pn2np (mkPN ["quelque chose"] Masc) ;
|
||||||
somewhere_Adv = ss ["quelque part"] ; --- ne - pas
|
somewhere_Adv = ss ["quelque part"] ; --- ne - pas
|
||||||
that_Quant = {s = \\_ =>
|
that_Quant = {s =
|
||||||
table {
|
table {
|
||||||
Sg => \\g,c => prepCase c ++ genForms "ce" "cette" ! g ; ---- cet ; là
|
Sg => \\g,c => prepCase c ++ genForms "ce" "cette" ! g ; ---- cet ; là
|
||||||
Pl => \\_,_ => "ces"
|
Pl => \\_,_ => "ces"
|
||||||
@@ -99,7 +99,7 @@ lin
|
|||||||
they_Pron = mkPronoun
|
they_Pron = mkPronoun
|
||||||
"ils" "les" "leur" "eux" "leur" "leur" "leurs"
|
"ils" "les" "leur" "eux" "leur" "leur" "leurs"
|
||||||
Masc Pl P3 ;
|
Masc Pl P3 ;
|
||||||
this_Quant = {s = \\_ =>
|
this_Quant = {s =
|
||||||
table {
|
table {
|
||||||
Sg => \\g,c =>
|
Sg => \\g,c =>
|
||||||
prepCase c ++
|
prepCase c ++
|
||||||
@@ -127,8 +127,12 @@ lin
|
|||||||
when_IAdv = ss "quand" ;
|
when_IAdv = ss "quand" ;
|
||||||
when_Subj = ss "quand" ** {m = Indic} ;
|
when_Subj = ss "quand" ** {m = Indic} ;
|
||||||
where_IAdv = ss "où" ;
|
where_IAdv = ss "où" ;
|
||||||
whichSg_IDet = {s = \\g,c => prepCase c ++ genForms "quel" "quelle" ! g ; n = Sg} ;
|
which_IQuant = {
|
||||||
whichPl_IDet = {s = \\g,c => prepCase c ++ genForms "quels" "quelles" ! g; n = Pl} ;
|
s = \\n,g,c =>
|
||||||
|
prepCase c ++ aagrForms "quel" "quelle" "quels" "quelles" ! aagr g n
|
||||||
|
} ;
|
||||||
|
---b whichSg_IDet = {s = \\g,c => prepCase c ++ genForms "quel" "quelle" ! g ; n = Sg} ;
|
||||||
|
---b whichPl_IDet = {s = \\g,c => prepCase c ++ genForms "quels" "quelles" ! g; n = Pl} ;
|
||||||
whoPl_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Masc Pl} ;
|
whoPl_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Masc Pl} ;
|
||||||
whoSg_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Masc Sg} ;
|
whoSg_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Masc Sg} ;
|
||||||
why_IAdv = ss "pourquoi" ;
|
why_IAdv = ss "pourquoi" ;
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ incomplete concrete AdverbRomance of Adverb =
|
|||||||
SubjS subj s = {
|
SubjS subj s = {
|
||||||
s = subj.s ++ s.s ! subj.m
|
s = subj.s ++ s.s ! subj.m
|
||||||
} ;
|
} ;
|
||||||
AdvSC s = s ;
|
---b AdvSC s = s ;
|
||||||
|
|
||||||
AdnCAdv cadv = {s = cadv.s ++ conjThan} ;
|
AdnCAdv cadv = {s = cadv.s ++ conjThan} ;
|
||||||
|
|
||||||
|
|||||||
@@ -28,10 +28,11 @@ incomplete concrete CatRomance of Cat =
|
|||||||
|
|
||||||
-- Question
|
-- Question
|
||||||
|
|
||||||
QCl = {s : RTense => Anteriority => Polarity => QForm => Str} ;
|
QCl = {s : RTense => Anteriority => Polarity => QForm => Str} ;
|
||||||
IP = {s : Case => Str ; a : AAgr} ;
|
IP = {s : Case => Str ; a : AAgr} ;
|
||||||
IComp = {s : AAgr => Str} ;
|
IComp = {s : AAgr => Str} ;
|
||||||
IDet = {s : Gender => Case => Str ; n : Number} ;
|
IDet = {s : Gender => Case => Str ; n : Number} ;
|
||||||
|
IQuant = {s : Number => Gender => Case => Str} ;
|
||||||
|
|
||||||
-- Relative
|
-- Relative
|
||||||
|
|
||||||
@@ -58,9 +59,11 @@ incomplete concrete CatRomance of Cat =
|
|||||||
Det = {s : Gender => Case => Str ; n : Number} ;
|
Det = {s : Gender => Case => Str ; n : Number} ;
|
||||||
--- QuantSg = {s : Gender => Case => Str} ;
|
--- QuantSg = {s : Gender => Case => Str} ;
|
||||||
--- QuantPl = {s : Bool => Gender => Case => Str} ;
|
--- QuantPl = {s : Bool => Gender => Case => Str} ;
|
||||||
Quant = {s : Bool => Number => Gender => Case => Str} ;
|
Quant = {s : Number => Gender => Case => Str} ;
|
||||||
|
Art = {s : Bool => Number => Gender => Case => Str} ;
|
||||||
Predet = {s : AAgr => Case => Str ; c : Case} ; -- c : la plupart de
|
Predet = {s : AAgr => Case => Str ; c : Case} ; -- c : la plupart de
|
||||||
Num = {s : Gender => Str ; isNum : Bool ; n : Number} ;
|
Num = {s : Gender => Str ; isNum : Bool ; n : Number} ;
|
||||||
|
Card = {s : Gender => Str ; n : Number} ;
|
||||||
Ord = {s : AAgr => Str} ;
|
Ord = {s : AAgr => Str} ;
|
||||||
|
|
||||||
-- Numeral
|
-- Numeral
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ incomplete concrete NounRomance of Noun =
|
|||||||
hasClit = False
|
hasClit = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
{---b
|
||||||
DetSg quant ord = {
|
DetSg quant ord = {
|
||||||
s = \\g,c => quant.s ! False ! Sg ! g ! c ++ ord.s ! aagr g Sg ;
|
s = \\g,c => quant.s ! False ! Sg ! g ! c ++ ord.s ! aagr g Sg ;
|
||||||
n = Sg
|
n = Sg
|
||||||
@@ -47,20 +48,19 @@ incomplete concrete NounRomance of Noun =
|
|||||||
ord.s ! aagr g Pl ;
|
ord.s ! aagr g Pl ;
|
||||||
n = num.n
|
n = num.n
|
||||||
} ;
|
} ;
|
||||||
|
-}
|
||||||
--- DEPREC SgQuant q = {s = q.s ! False ! Sg} ;
|
|
||||||
--- DEPREC PlQuant q = {s = \\b,g,c => q.s ! b ! Pl ! g ! c} ;
|
|
||||||
--- part app: cf NounScand. AR 8/7/2007
|
|
||||||
|
|
||||||
PossPron p = {
|
PossPron p = {
|
||||||
s = \\_,n,g,c => possCase g n c ++ p.s ! Poss (aagr g n) ---- il mio!
|
s = \\n,g,c => possCase g n c ++ p.s ! Poss (aagr g n) ---- il mio!
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
NoNum = {s = \\_ => [] ; isNum = False ; n = Pl} ;
|
NumSg = {s = \\_ => [] ; isNum = False ; n = Sg} ;
|
||||||
NoOrd = {s = \\_ => []} ;
|
NumPl = {s = \\_ => [] ; isNum = False ; n = Pl} ;
|
||||||
|
---b NoNum = {s = \\_ => [] ; isNum = False ; n = Pl} ;
|
||||||
|
---b NoOrd = {s = \\_ => []} ;
|
||||||
|
|
||||||
NumInt n = {s = \\_ => n.s ; isNum = True ; n = Pl} ;
|
---b NumInt n = {s = \\_ => n.s ; isNum = True ; n = Pl} ;
|
||||||
OrdInt n = {s = \\_ => n.s ++ "."} ; ---
|
---b OrdInt n = {s = \\_ => n.s ++ "."} ; ---
|
||||||
|
|
||||||
NumDigits nu = {s = \\g => nu.s ! NCard g ; isNum = True ; n = nu.n} ;
|
NumDigits nu = {s = \\g => nu.s ! NCard g ; isNum = True ; n = nu.n} ;
|
||||||
OrdDigits nu = {s = \\a => nu.s ! NOrd a.g a.n} ;
|
OrdDigits nu = {s = \\a => nu.s ! NOrd a.g a.n} ;
|
||||||
@@ -80,16 +80,19 @@ incomplete concrete NounRomance of Noun =
|
|||||||
s = \\b,n,g,c => if_then_Str b [] (artIndef g n c) ;
|
s = \\b,n,g,c => if_then_Str b [] (artIndef g n c) ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
{---b
|
||||||
MassDet = {
|
MassDet = {
|
||||||
s = \\b,n,g,c => case <b,n> of {
|
s = \\b,n,g,c => case <b,n> of {
|
||||||
<False,Sg> => partitive g c ;
|
<False,Sg> => partitive g c ;
|
||||||
_ => prepCase genitive ----
|
_ => prepCase genitive ----
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
-}
|
||||||
|
|
||||||
-- This is based on record subtyping.
|
-- This is based on record subtyping.
|
||||||
|
|
||||||
UseN, UseN2, UseN3 = \noun -> noun ;
|
UseN, UseN2 = \noun -> noun ;
|
||||||
|
---b UseN3 = \noun -> noun ;
|
||||||
|
|
||||||
ComplN2 f x = {
|
ComplN2 f x = {
|
||||||
s = \\n => f.s ! n ++ appCompl f.c2 x.s ;
|
s = \\n => f.s ! n ++ appCompl f.c2 x.s ;
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ incomplete concrete QuestionRomance of Question =
|
|||||||
s = \\c => ip.s ! c ++ adv.s ;
|
s = \\c => ip.s ! c ++ adv.s ;
|
||||||
a = ip.a
|
a = ip.a
|
||||||
} ;
|
} ;
|
||||||
|
{- ---b
|
||||||
IDetCN idet num ord cn =
|
IDetCN idet num ord cn =
|
||||||
let
|
let
|
||||||
g = cn.g ;
|
g = cn.g ;
|
||||||
@@ -70,7 +70,7 @@ incomplete concrete QuestionRomance of Question =
|
|||||||
s = \\c => idet.s ! g ! c ++ num.s ! g ++ ord.s ! a ++ cn.s ! n ;
|
s = \\c => idet.s ! g ! c ++ num.s ! g ++ ord.s ! a ++ cn.s ! n ;
|
||||||
a = a
|
a = a
|
||||||
} ;
|
} ;
|
||||||
|
-}
|
||||||
CompIAdv a = {s = \\_ => a.s} ;
|
CompIAdv a = {s = \\_ => a.s} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ incomplete concrete SentenceRomance of Sentence =
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
{---- OK but inefficient
|
||||||
SlashVP np v2 =
|
SlashVP np v2 =
|
||||||
{s = \\d,ag =>case <v2.c2.c,v2.c2.isDir> of {
|
{s = \\d,ag =>case <v2.c2.c,v2.c2.isDir> of {
|
||||||
<Acc,True> =>
|
<Acc,True> =>
|
||||||
@@ -24,7 +25,7 @@ incomplete concrete SentenceRomance of Sentence =
|
|||||||
c2 = v2.c2
|
c2 = v2.c2
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
{---b
|
---b
|
||||||
SlashV2 np v2 =
|
SlashV2 np v2 =
|
||||||
{s = \\d,ag =>case <v2.c2.c,v2.c2.isDir> of {
|
{s = \\d,ag =>case <v2.c2.c,v2.c2.isDir> of {
|
||||||
<Acc,True> =>
|
<Acc,True> =>
|
||||||
@@ -54,6 +55,7 @@ incomplete concrete SentenceRomance of Sentence =
|
|||||||
c2 = {s = prep.s ; c = prep.c ; isDir = False}
|
c2 = {s = prep.s ; c = prep.c ; isDir = False}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
{---- OK but inefficient
|
||||||
SlashVS np vs slash =
|
SlashVS np vs slash =
|
||||||
{s = \\d,ag =>
|
{s = \\d,ag =>
|
||||||
(mkClause
|
(mkClause
|
||||||
@@ -63,7 +65,7 @@ incomplete concrete SentenceRomance of Sentence =
|
|||||||
).s ! d ;
|
).s ! d ;
|
||||||
c2 = slash.c2
|
c2 = slash.c2
|
||||||
} ;
|
} ;
|
||||||
|
-}
|
||||||
EmbedS s = {s = conjThat ++ s.s ! Indic} ; --- mood
|
EmbedS s = {s = conjThat ++ s.s ! Indic} ; --- mood
|
||||||
EmbedQS qs = {s = qs.s ! QIndir} ;
|
EmbedQS qs = {s = qs.s ! QIndir} ;
|
||||||
EmbedVP vp = {s = infVP vp (agrP3 Masc Sg)} ; --- agr ---- compl
|
EmbedVP vp = {s = infVP vp (agrP3 Masc Sg)} ; --- agr ---- compl
|
||||||
|
|||||||
@@ -56,6 +56,6 @@ incomplete concrete VerbRomance of Verb =
|
|||||||
|
|
||||||
PassV2 v = insertComplement (\\a => v.s ! VPart a.g a.n) (predV auxPassive) ;
|
PassV2 v = insertComplement (\\a => v.s ! VPart a.g a.n) (predV auxPassive) ;
|
||||||
|
|
||||||
UseVS, UseVQ = \vv -> {s = vv.s ; c2 = complAcc ; vtyp = vv.vtyp} ;
|
---b UseVS, UseVQ = \vv -> {s = vv.s ; c2 = complAcc ; vtyp = vv.vtyp} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user