1
0
forked from GitHub/gf-core

passe simple in ExtraRomance

This commit is contained in:
aarne
2006-06-18 19:08:47 +00:00
parent 865d84508f
commit 7dec4c8a89
14 changed files with 41 additions and 19 deletions

View File

@@ -1,4 +1,4 @@
--# -path=.:../romance:../common:../abstract:../common:prelude --# -path=.:../romance:../common:../abstract:../common:prelude
concrete CatFre of Cat = CommonX ** CatRomance with concrete CatFre of Cat = CommonX - [Tense,TPres,TPast,TFut,TCond] ** CatRomance with
(ResRomance = ResFre) ; (ResRomance = ResFre) ;

View File

@@ -11,7 +11,7 @@ concrete GrammarFre of Grammar =
RelativeFre, RelativeFre,
ConjunctionFre, ConjunctionFre,
PhraseFre, PhraseFre,
TextX, TextX - [Tense,TPres,TPast,TFut,TCond],
IdiomFre, IdiomFre,
StructuralFre StructuralFre
** { ** {

View File

@@ -32,7 +32,7 @@ concrete IdiomFre of Idiom = CatFre **
(predV copula) ; (predV copula) ;
ImpPl1 vp = {s = ImpPl1 vp = {s =
(mkClause [] {g = Fem ; n = Pl ; p = P1} vp).s ! P.Pres ! Simul ! Pos ! Indic (mkClause [] {g = Fem ; n = Pl ; p = P1} vp).s ! RPres ! Simul ! Pos ! Indic
} ; } ;
oper oper

View File

@@ -1,4 +1,4 @@
--# -path=.:../romance:../abstract:../common:prelude --# -path=.:../romance:../abstract:../common:prelude
concrete CatIta of Cat = CommonX ** CatRomance with concrete CatIta of Cat = CommonX - [Tense,TPres,TPast,TFut,TCond] ** CatRomance with
(ResRomance = ResIta) ; (ResRomance = ResIta) ;

View File

@@ -11,7 +11,7 @@ concrete GrammarIta of Grammar =
RelativeIta, RelativeIta,
ConjunctionIta, ConjunctionIta,
PhraseIta, PhraseIta,
TextX, TextX - [Tense,TPres,TPast,TFut,TCond],
IdiomIta, IdiomIta,
StructuralIta StructuralIta

View File

@@ -41,7 +41,7 @@ concrete IdiomIta of Idiom = CatIta **
(predV (essereV (verboV (stare_16 "stare")))) ; (predV (essereV (verboV (stare_16 "stare")))) ;
ImpPl1 vp = {s = ImpPl1 vp = {s =
(mkClause [] {g = Fem ; n = Pl ; p = P1} vp).s ! P.Pres ! Simul ! Pos ! Indic (mkClause [] {g = Fem ; n = Pl ; p = P1} vp).s ! RPres ! Simul ! Pos ! Indic
} ; } ;
} }

View File

@@ -1,5 +1,6 @@
incomplete concrete CatRomance of Cat = incomplete concrete CatRomance of Cat =
CommonX ** open Prelude, CommonRomance, ResRomance, (R = ParamX) in { CommonX - [Tense,TPres,TPast,TFut,TCond]
** open Prelude, CommonRomance, ResRomance, (R = ParamX) in {
flags optimize=all_subs ; flags optimize=all_subs ;
@@ -13,16 +14,16 @@ incomplete concrete CatRomance of Cat =
-- Sentence -- Sentence
Cl = {s : Tense => Anteriority => Polarity => Mood => Str} ; Cl = {s : RTense => Anteriority => Polarity => Mood => Str} ;
Slash = { Slash = {
s : AAgr => Tense => Anteriority => Polarity => Mood => Str ; s : AAgr => RTense => Anteriority => Polarity => Mood => Str ;
c2 : Compl c2 : Compl
} ; } ;
Imp = {s : Polarity => AAgr => Str} ; Imp = {s : Polarity => AAgr => Str} ;
-- Question -- Question
QCl = {s : Tense => 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} ;
@@ -30,7 +31,7 @@ incomplete concrete CatRomance of Cat =
-- Relative -- Relative
RCl = { RCl = {
s : Agr => Tense => Anteriority => Polarity => Mood => Str ; s : Agr => RTense => Anteriority => Polarity => Mood => Str ;
c : Case c : Case
} ; } ;
RP = {s : Bool => AAgr => Case => Str ; a : AAgr ; hasAgr : Bool} ; RP = {s : Bool => AAgr => Case => Str ; a : AAgr ; hasAgr : Bool} ;
@@ -82,4 +83,13 @@ incomplete concrete CatRomance of Cat =
N3 = Noun ** {c2,c3 : Compl} ; N3 = Noun ** {c2,c3 : Compl} ;
PN = {s : Str ; g : Gender} ; PN = {s : Str ; g : Gender} ;
-- tense augmented with passé simple
Tense = {s : Str ; t : RTense} ;
lin
TPres = {s = []} ** {t = RPres} ;
TPast = {s = []} ** {t = RPast} ; --# notpresent
TFut = {s = []} ** {t = RFut} ; --# notpresent
TCond = {s = []} ** {t = RCond} ; --# notpresent
} }

View File

@@ -105,6 +105,14 @@ param
| VPGerund | VPGerund
| VPInfinit Anteriority ; | VPInfinit Anteriority ;
RTense =
RPres
| RPast --# notpresent
| RPasse --# notpresent
| RFut --# notpresent
| RCond --# notpresent
;
-- Agreement of adjectives, verb phrases, and relative pronouns. -- Agreement of adjectives, verb phrases, and relative pronouns.
oper oper

View File

@@ -3,5 +3,6 @@ incomplete concrete ExtraRomance of ExtraRomanceAbs = CatRomance **
CommonRomance, CommonRomance,
ResRomance in { ResRomance in {
lin TPasseSimple = {s = []} ** {t = RPasse} ; --# notpresent
} }

View File

@@ -1,3 +1,5 @@
abstract ExtraRomanceAbs = Extra ** { abstract ExtraRomanceAbs = Extra ** {
fun TPasseSimple : Tense ; --# notpresent
} }

View File

@@ -193,15 +193,16 @@ oper
} ; } ;
mkClause : Str -> Agr -> VP -> mkClause : Str -> Agr -> VP ->
{s : Tense => Anteriority => Polarity => Mood => Str} = {s : RTense => Anteriority => Polarity => Mood => Str} =
\subj,agr,vp -> { \subj,agr,vp -> {
s = \\t,a,b,m => s = \\t,a,b,m =>
let let
tm = case t of { tm = case t of {
Past => VImperf m ; --# notpresent RPast => VImperf m ; --# notpresent
Fut => VFut ; --# notpresent RFut => VFut ; --# notpresent
Cond => VCondit ; --# notpresent RCond => VCondit ; --# notpresent
Pres => VPres m RPasse => VPasse ; --# notpresent
RPres => VPres m
} ; } ;
vps = vp.s ! VPFinite tm a ; vps = vp.s ! VPFinite tm a ;
verb = vps.fin ! agr ; verb = vps.fin ! agr ;

View File

@@ -1,4 +1,4 @@
--# -path=.:../romance:../abstract:../common:prelude --# -path=.:../romance:../abstract:../common:prelude
concrete CatSpa of Cat = CommonX ** CatRomance with concrete CatSpa of Cat = CommonX - [Tense,TPres,TPast,TFut,TCond] ** CatRomance with
(ResRomance = ResSpa) ; (ResRomance = ResSpa) ;

View File

@@ -11,7 +11,7 @@ concrete GrammarSpa of Grammar =
RelativeSpa, RelativeSpa,
ConjunctionSpa, ConjunctionSpa,
PhraseSpa, PhraseSpa,
TextSpa, -- special punctuation TextSpa - [Tense,TPres,TPast,TFut,TCond], -- special punctuation
IdiomSpa, IdiomSpa,
StructuralSpa StructuralSpa

View File

@@ -37,7 +37,7 @@ concrete IdiomSpa of Idiom = CatSpa **
(predV (verboV (estar_2 "estar"))) ; (predV (verboV (estar_2 "estar"))) ;
ImpPl1 vp = {s = ImpPl1 vp = {s =
(mkClause [] {g = Fem ; n = Pl ; p = P1} vp).s ! P.Pres ! Simul ! Pos ! Indic (mkClause [] {g = Fem ; n = Pl ; p = P1} vp).s ! RPres ! Simul ! Pos ! Indic
} ; } ;
} }