StructuralFre completed

This commit is contained in:
aarne
2006-01-23 09:55:48 +00:00
parent d1a05d8fea
commit 5c50cbe5ca
3 changed files with 38 additions and 35 deletions

View File

@@ -7,7 +7,10 @@ lin
above_Prep = {s = ["au dessus"] ; c = MorphoFre.genitive ; isDir = False} ;
after_Prep = mkPreposition "après" ;
all_Predet = {s = aagrForms "tout" "toute" "tous" "toutes"} ;
all_Predet = {
s = \\a,c => prepCase c ++ aagrForms "tout" "toute" "tous" "toutes" ! a ;
c = Nom
} ;
almost_AdA, almost_AdN = ss "presque" ;
always_AdV = ss "toujours" ;
although_Subj = ss ("bien" ++ elisQue) ** {m = Conjunct} ;
@@ -24,9 +27,9 @@ lin
can_VV = mkVV pouvoir_V ;
during_Prep = mkPreposition "pendant" ;
either7or_DConj = {s1,s2 = "ou" ; n = Pl} ;
-- everybody_NP = mkNameNounPhrase ["tout le monde"] Masc ;
everybody_NP = pn2np (mkPN ["tout le monde"] Masc) ;
every_Det = {s = \\_,_ => "chaque" ; n = Sg} ;
-- everything_NP = mkNameNounPhrase ["tout"] Masc ;
everything_NP = pn2np (mkPN ["tout"] Masc) ;
everywhere_Adv = ss "partout" ;
first_Ord = {s = \\ag => (regA "premier").s ! Posit ! AF ag.g ag.n} ;
from_Prep = complGen ; ---
@@ -38,7 +41,7 @@ lin
here7to_Adv = ss "ici" ;
here_Adv = ss "ici" ;
how_IAdv = ss "comment" ;
how8many_IDet = {s = \\_ => "combien" ++ elisDe ; n = Pl} ;
how8many_IDet = {s = \\_,c => prepCase c ++ "combien" ++ elisDe ; n = Pl} ;
if_Subj = ss elisSi ** {m = Indic} ;
in8front_Prep = mkPreposition "devant" ;
i_Pron =
@@ -51,18 +54,19 @@ lin
"il" (elision "l") "lui" "lui" "son" (elisPoss "s") "ses"
Masc Sg P3 Clit2 ;
less_CAdv = ss "moins" ;
-- many_Det = mkDeterminer1 plural "plusieurs" ;
-- most8many_Det = plupartDet ;
-- most_Det = mkDeterminer1 singular (["la plupart"] ++ elisDe) ; --- de
-- much_Det = mkDeterminer1 singular ("beaucoup" ++ elisDe) ; --- de
many_Det = {s = \\_,c => prepCase c ++ "plusierus" ; n = Pl} ;
more_CAdv = ss "plus" ;
most_Predet = {s = \\_,c => prepCase c ++ ["la plupart"] ; c = CPrep P_de} ;
much_Det = {s = \\_,c => prepCase c ++ "beaucoup" ++ elisDe ; n = Pl} ;
must_VV = mkVV (devoir_V2 ** {lock_V = <>}) ;
no_Phr = ss "non" ; --- and also Si!
on_Prep = mkPreposition "sur" ;
one_Quant = {s = \\g,c => prepCase c ++ genForms "un" "une" ! g} ;
only_Predet = {s = \\_ => "seulement"} ; --- seul(e)(s)
only_Predet = {s = \\_,c => prepCase c ++ "seulement" ; c = Nom} ; --- seul(e)(s)
or_Conj = {s = "ou" ; n = Sg} ;
otherwise_PConj = ss "autrement" ;
part_Prep = complGen ;
please_Voc = ss ["s'il vous plaît"] ;
possess_Prep = complGen ;
quite_Adv = ss "assez" ;
she_Pron =
@@ -71,10 +75,10 @@ lin
Fem Sg P3 Clit2 ;
so_AdA = ss "si" ;
-- somebody_NP = mkNameNounPhrase ["quelqu'un"] Masc ;
-- some_Det = mkDeterminer1 singular "quelque" ;
-- some_NDet = mkDeterminerNum "quelques" "quelques" ;
-- something_NP = mkNameNounPhrase ["quelque chose"] Masc ;
somebody_NP = pn2np (mkPN ["quelqu'un"] Masc) ;
somePl_Det = {s = \\_,c => prepCase c ++ "quelques" ; n = Pl} ;
someSg_Det = {s = \\_,c => prepCase c ++ elision "quelqu" ; n = Sg} ;
something_NP = pn2np (mkPN ["quelque chose"] Fem) ;
somewhere_Adv = ss ["quelque part"] ; --- ne - pas
that_Quant = {s = \\g,c => prepCase c ++ genForms "ce" "cette" ! g} ; ---- cet
that_NP = pn2np (mkPN ["ceci"] Masc) ;
@@ -82,12 +86,15 @@ lin
there7to_Adv = ss "là" ; --- y
there_Adv = ss "là" ;
therefore_PConj = ss "donc" ;
-- these_NDet = mkDeterminerNum "ces" "ces" ; --- ci
-- they_Pron = pronNounPhrase pronIls ;
-- they8fem_Pron = pronNounPhrase pronElles ;
these_NP = pn2np (mkPN ["celles-ci"] Fem) ;
these_Quant = {s = \\_,c => prepCase c ++ "ces"} ; ---- ci
they_Pron = mkPronoun
"elles" "les" "leur" "eux" "leur" "leur" "leurs"
Fem Pl P3 Clit1 ;
this_Quant = {s = \\g,c => prepCase c ++ genForms "ce" "cette" ! g} ; ---- cet
this_NP = pn2np (mkPN ["ceci"] Masc) ;
-- those_NDet = mkDeterminerNum "ces" "ces" ; --- là
those_NP = pn2np (mkPN ["celles-là"] Fem) ;
those_Quant = {s = \\_,c => prepCase c ++ "ces"} ; ---- là
thou_Pron = mkPronoun
"tu" (elision "t") (elision "t") "toi" "ton" (elisPoss "t") "tes"
Fem Sg P2 Clit1 ;
@@ -105,10 +112,10 @@ lin
when_IAdv = ss "quand" ;
when_Subj = ss "quand" ** {m = Indic} ;
where_IAdv = ss "où" ;
-- which8many_IDet = mkDeterminerNum "quels" "quelles" ** {n = Pl} ;
-- which8one_IDet = quelDet ;
whoSg_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Fem Sg} ;
whichPl_IDet = {s = \\g,c => prepCase c ++ genForms "quel" "quelle" ! g ; n = Sg} ;
whichSg_IDet = {s = \\g,c => prepCase c ++ genForms "quels" "quelles" ! g; n = Pl} ;
whoPl_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Fem Pl} ;
whoSg_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Fem Sg} ;
why_IAdv = ss "pourquoi" ;
without_Prep = mkPreposition "sans" ;
with_Prep = mkPreposition "avec" ;

View File

@@ -26,12 +26,12 @@ incomplete concrete CatRomance of Cat =
QCl = {s : Tense => Anteriority => Polarity => QForm => Str} ;
IP = {s : Case => Str ; a : AAgr} ;
IAdv = {s : Str} ;
IDet = {s : Gender => Str ; n : Number} ;
IDet = {s : Gender => Case => Str ; n : Number} ;
-- Relative
RCl = {s : Tense => Anteriority => Polarity => Mood => Agr => Str} ;
---- RP = {s : AAgr => RelForm => Str ; a : RAgr} ;
RP = {s : AAgr => RelForm => Str} ; ---- ; a : RAgr} ;
-- Verb
@@ -50,7 +50,7 @@ incomplete concrete CatRomance of Cat =
Det = {s : Gender => Case => Str ; n : Number} ;
QuantSg = {s : Gender => Case => Str} ;
QuantPl = {s : Gender => Case => Str} ;
Predet = {s : AAgr => Str} ;
Predet = {s : AAgr => Case => Str ; c : Case} ; -- la plupart de...
Num = {s : Gender => Str} ;
Ord = {s : AAgr => Str} ;

View File

@@ -19,7 +19,7 @@ incomplete concrete NounRomance of Noun =
UsePron p = p ;
PredetNP pred np = {
s = \\c => prepCase (npform2case c) ++ pred.s ! np.a ++ np.s ! Ton Acc ;
s = \\c => pred.s ! np.a ! npform2case c ++ np.s ! case2npform pred.c ;
a = np.a ;
c = Clit0
} ;
@@ -100,21 +100,17 @@ incomplete concrete NounRomance of Noun =
g = g ;
} ;
{-
RelCN cn rs = let g = cn.g in {
s = \\n,d,c => cn.s ! n ! d ! c ++ rs.s ! agrP3 g n ;
g = g ;
isMod = cn.isMod
s = \\n => cn.s ! n ++ rs.s ! Indic ! agrP3 g n ; --- mood
g = g
} ;
SentCN cn sc = let g = cn.g in {
s = \\n,d,c => cn.s ! n ! d ! c ++ sc.s ;
g = g ;
isMod = cn.isMod
s = \\n => cn.s ! n ++ sc.s ;
g = g
} ;
AdvCN cn sc = let g = cn.g in {
s = \\n,d,c => cn.s ! n ! d ! c ++ sc.s ;
g = g ;
isMod = cn.isMod
s = \\n => cn.s ! n ++ sc.s ;
g = g
} ;
-}
}