experiment in discontinuous Cl type in Romance, tried in French. The current result is that compilation is twice as fast as before, but parsing becomes slower. Hence not in the main RGL yet.

This commit is contained in:
aarne
2014-11-29 11:05:51 +00:00
parent ed0a3f7f08
commit 7805f0f339
9 changed files with 1118 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
concrete IdiomFre of Idiom = CatFre **
open (P = ParamX), PhonoFre, MorphoFre, ParadigmsFre, Prelude in {
flags optimize=all_subs ;
flags coding=utf8 ;
lin
ImpersCl vp = mknpClause "il" vp ;
GenericCl vp = mknpClause "on" vp ;
ExistNP np =
mknpClause "il"
(insertClit3 "y" (insertComplement (\\_ => (np.s ! Acc).ton) (predV avoir_V))) ;
ExistIP ip =
mknpClause "il"
(insertClit3 "y" (predV avoir_V)) ** {ip = ip.s ! Nom ; isSent = False} ;
CleftNP np rs = mknpClause elisCe ---- True np.isPol (agrP3 Masc Sg)
(insertComplement (\\_ => rs.s ! Indic ! np.a)
(insertComplement (\\_ => (np.s ! rs.c).ton) (predV copula))) ;
CleftAdv ad s = mknpClause elisCe
(insertComplement (\\_ => conjThat ++ s.s ! Indic)
(insertComplement (\\_ => ad.s) (predV copula))) ;
ProgrVP vp =
insertComplement
(\\a => "en" ++ "train" ++ elisDe ++ infVP vp a)
(predV copula) ;
ImpPl1 vp = {
s = mkImperative False P1 vp ! RPos ! Masc ! Pl --- fem
} ;
ImpP3 np vp = {
s = (mkClause (np.s ! Nom).comp np.hasClit False np.a vp).s
! DInv ! RPres ! Simul ! RPos ! Conjunct
} ;
SelfAdvVP vp = insertComplement memePron vp ;
SelfAdVVP vp = insertComplement memePron vp ; ---- should be AdV
SelfNP np = heavyNP {
s = \\c => (np.s ! c).ton ++ memePron ! np.a ; ---- moi moi-même ?
a = np.a
} ;
oper
elisCe = elision "c" ;
memePron : Agr => Str = table {
{n = Sg ; p = P1} => "moi-même" ;
{n = Sg ; p = P2} => "toi-même" ;
{g = Masc ; n = Sg ; p = P3} => "lui-même" ;
{g = Fem ; n = Sg ; p = P3} => "elle-même" ;
{n = Pl ; p = P1} => "nous-mêmes" ;
{n = Pl ; p = P2} => "vous-mêmes" ;
{g = Masc ; n = Pl ; p = P3} => "eux-mêmes" ;
{g = Fem ; n = Pl ; p = P3} => "elles-mêmes"
} ;
}