1
0
forked from GitHub/gf-core

Ioanna's Gre fixes; find_V2 doesn't compile and is commented out.

This commit is contained in:
aarne
2013-05-10 08:44:15 +00:00
parent 78d0bfdf21
commit 65d29d6ecb
11 changed files with 190 additions and 125 deletions

View File

@@ -12,7 +12,7 @@ flags coding = utf8 ;
ComparAdvAdjS cadv a s = {
s = cadv.s ++ a.adv ! Posit ++ cadv.p ++ "ότι" ++ s.s ! Ind
s = cadv.s ++ a.adv ! Posit ++ cadv.p ++ "οτι" ++ s.s ! Ind
} ;
@@ -30,6 +30,6 @@ flags coding = utf8 ;
s = subj.s ++ s.s ! subj.m
} ;
AdnCAdv cadv = {s = cadv.s ++ cadv.p} ;
AdnCAdv cadv = {s = cadv.s2 ++ cadv.p} ;
}

View File

@@ -1141,6 +1141,82 @@
mkVerbContracIrreg2 lEw pW eIpa Elega lE p eIp Eleg lEg leg eipWth eipwth part;
mkVerbContracIrreg3 : (x1,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb = \vlEpw, dW, eIda, Evlepa, vlEp, d, eId, Evlep, vlEp, vlep, eidWth, eidwth, part ->
{
s = table {
VPres Ind Sg P1 Active _ => vlEpw ;
VPres Ind Sg P2 Active _ => vlEp + "εις" ;
VPres Ind Sg P3 Active _=> vlEp + "ει" ;
VPres Ind Pl P1 Active _ => vlEp + "ουμε" ;
VPres Ind Pl P2 Active _ => vlEp + "ετε" ;
VPres Ind Pl P3 Active _ => vlEp + "ουν" ;
VPres Ind Sg P1 Passive _ => vlEp + "ομαι" ;
VPres Ind Sg P2 Passive _ => vlEp +"εσαι" ;
VPres Ind Sg P3 Passive _=> vlEp +"εται" ;
VPres Ind Pl P1 Passive _=> vlep +"όμαστε" ;
VPres Ind Pl P2 Passive _ => vlEp + "εστε" ;
VPres Ind Pl P3 Passive _ => vlEp +"ονται" ;
VPres _ Sg P1 Active _ => dW ;
VPres _ Sg P2 Active _ => d + "είς" ;
VPres _ Sg P3 Active _ => d + "εί" ;
VPres _ Pl P1 Active _=> d + "ούμε" ;
VPres _ Pl P2 Active _ => d + "είτε" ;
VPres _ Pl P3 Active _ => d + "ούν" ;
VPres _ Sg P1 Passive _ => eidwth + "ώ" ;
VPres _ Sg P2 Passive _ => eidwth + "είς" ;
VPres _ Sg P3 Passive _ => eidwth + "εί" ;
VPres _ Pl P1 Passive _ => eidwth + "ούμε" ;
VPres _ Pl P2 Passive _ => eidwth + "είτε" ;
VPres _ Pl P3 Passive _ => eidwth + "ούν" ;
VPast _ Sg P1 Active Perf => eIda ;
VPast _ Sg P2 Active Perf=> eId + "ες" ;
VPast _ Sg P3 Active Perf => eId + "ε" ;
VPast _ Pl P1 Active Perf => eId + "αμε" ;
VPast _ Pl P2 Active Perf => eId + "ατε" ;
VPast _ Pl P3 Active Perf => eId + "αν" ;
VPast _ Sg P1 Passive Perf => eidWth + "ηκα" ;
VPast _ Sg P2 Passive Perf => eidWth + "ηκες" ;
VPast _ Sg P3 Passive Perf => eidWth + "ηκε" ;
VPast _ Pl P1 Passive Perf => eidwth + "ήκαμε" ;
VPast _ Pl P2 Passive Perf=> eidwth + "ήκατε" ;
VPast _ Pl P3 Passive Perf => eidWth + "ηκαν" ;
VPast _ Sg P1 Active Imperf => Evlepa ;
VPast _ Sg P2 Active Imperf => Evlep + "ες" ;
VPast _ Sg P3 Active Imperf => Evlep + "ε" ;
VPast _ Pl P1 Active Imperf => vlEp+ "αμε" ;
VPast _ Pl P2 Active Imperf => vlEp + "ατε" ;
VPast _ Pl P3 Active Imperf => Evlep + "αν" ;
VPast _ Sg P1 Passive Imperf=> vlep + "όμουν" ;
VPast _ Sg P2 Passive Imperf => vlep+ "όσουν" ;
VPast _ Sg P3 Passive Imperf => vlep +"όταν" ;
VPast _ Pl P1 Passive Imperf => vlep + "όμασταν" ;
VPast _ Pl P2 Passive Imperf=> vlep + "όσασταν" ;
VPast _ Pl P3 Passive Imperf => vlep + "όντουσαν" ;
VNonFinite Active => d + "εί" ;
VNonFinite Passive => eidwth + "εί" ;
VImperative Perf Sg Active=> d + "ές" ;
VImperative Perf Pl Active => d + "είτε" ;
VImperative Imperf Sg Active =>vlEp + "ε" ;
VImperative Imperf Pl Active => vlEp + "ετε" ;
VImperative _ Sg Passive => " " ;
VImperative _ Pl Passive => eidwth + "είτε" ;
Gerund =>vlEp + "οντας" ;
Participle d g n c => (regAdj part).s !d! g !n !c
}
} ;
VerbContrIrreg3 : (x1,_,_,_ : Str) -> Verb = \vlEpw,dW,eIda,Evlepa->
let
vlEp = init vlEpw;
@@ -1153,7 +1229,7 @@
eidwth = mkVerbStem eidWth;
part= mkPartStem eidwth;
in
mkVerbContracIrreg2 vlEpw dW eIda Evlepa vlEp d eId Evlep vlEp vlep eidWth eidwth part;
mkVerbContracIrreg3 vlEpw dW eIda Evlepa vlEp d eId Evlep vlEp vlep eidWth eidwth part;
@@ -2074,7 +2150,7 @@
zIs = init zIsw ;
Ezis = init Ezisa ;
zoYs = init zoYsa ;
Nonfinite = z + "εί" ;
Nonfinite = zIs + "ει" ;
Imp1 = zIse ;
Imp2 = z+ "είτε" ;
Imp3 = zIs + "ε";
@@ -2091,7 +2167,7 @@
tharrEps = init tharrEpsw ;
thArreps = init thArrepsa ;
tharroYs = init tharroYsa ;
Nonfinite = tharr + "εί" ;
Nonfinite = tharrEps + "ει" ;
Imp1 = thArrepse ;
Imp2 = tharr + "είτε" ;
Imp3 = thArreps + "ε";

View File

@@ -14,7 +14,7 @@ flags coding = utf8 ;
AdA = {s : Str} ;
AdN = {s : Str} ;
IAdv = {s : Str} ;
CAdv = {s : Str; p : Str} ** {c:Case};
CAdv = {s ,s2: Str; p : Str} ** {c:Case};
PConj = {s : Str} ;
Interj = {s : Str} ;

View File

@@ -49,7 +49,7 @@ flags coding = utf8 ;
broad_A = mkA "ευρύς" "ευρέως" ;
brother_N2 = ofN2 (mkN "αδελφός") ;
brown_A = mkAdjAklito "καφέ" ;
burn_V= v_VerbContr2 "κλαίω" "κλάψω" "έκλαψα" "έκλαιγα" ;
burn_V= v_VerbContr2 "καίω" "κάψω" "έκαψα" "έκαιγα" ;
butter_N = mkN "βούτυρο" "βουτύρων" Neut;
buy_V2= dirV2 (v_Verb1d "αγοράζω" "αγοράσω" "αγόρασα" "αγόραζα" ) ;
camera_N = mkN "κάμερα" Fem;
@@ -81,7 +81,7 @@ flags coding = utf8 ;
die_V = v_VerbNoPassive "πεθαίνω" "πεθάνω" "πέθανα" "πέθαινα" "πέθανε" "πεθαμένος" ;
dig_V =v_Verb1c "σκάβω" "σκάψω" "έσκαψα" "έσκαβα" ;
dirty_A = regAdj "βρώμικος" ;
distance_N3 = mkN3 (mkN "απόσταση" "αποστάσεις" Fem) acc (mkPreposition "ως" ** {lock_Prep = <>});
distance_N3 = mkN3 (mkN "απόσταση" "αποστάσεις" Fem) (mkPrep "από"** {lock_Prep = <>}) (mkPrep "ως" ** {lock_Prep = <>});
doctor_N = mkN "γιατρός" ;
dog_N = mkN "σκύλος" ;
door_N = mkN "πόρτα" Fem;
@@ -92,7 +92,7 @@ flags coding = utf8 ;
dust_N = mkN "σκόνη" Fem ;
ear_N =mkN "αφτί" ;
earth_N = mkN "γή" "γής" "γή" "γή" "" "" "" "" Fem ;
easy_A2V = mkA2V (mkAd "εύκολος") acc gen ;
easy_A2V = mkA2V (mkA "εύκολος") acc gen ;
eat_V2 = dirV2 (v_VerbContrIrreg "τρώω" "φάω" "έφαγα" "έτρωγα" ) ;
egg_N = mkN "αβγό" ;
empty_A = mkAd "άδειος" ;
@@ -107,7 +107,7 @@ flags coding = utf8 ;
fear_V2 =dirV2 (v_VerbDeponent "φοβάμαι" "φοβηθώ" "φοβήθηκα" "φοβόμουν" "φοβήσου" "φοβισμένος") ;
feather_N = mkN "φτερό" ;
fight_V2 = dirV2 (v_Verb2a "πολεμώ" "πολεμήσω" "πολέμησα" "πολεμούσα" ) ;
find_V2 = dirV2 (v_VerbContracIrregNopassive "βρίσκω" "βρώ" "βρήκα" "έβρισκα" "βρες" "βρισκόμενος");
---- find_V2 = dirV2 (v_VerbContrIrreg3 "βρίσκω" "βρώ" "βρήκα" "έβρισκα" );
fingernail_N = mkN "νύχι" Neut ;
fire_N = mkN "φωτιά" ;
fish_N = mkN "ψάρι" Neut ;
@@ -119,10 +119,10 @@ flags coding = utf8 ;
fog_N = mkN "ομίχλη" Fem ;
foot_N = mkN "πόδι" Neut ;
forest_N = mkN "δάσος" Neut ;
forget_V2 = dirV2 (v_VerbNoPassive3 "ξεχνώ" "ξεχάσω" "ξέχασα" "ξεχνούσα" "ξέχνα" "ξεχασμένος" );
forget_V2 = dirV2 (v_Verb2c "ξεχνώ" "ξεχάσω" "ξέχασα" "ξεχνούσα" );
freeze_V = v_VerbNoPassive "παγώνω" "παγώσω" "πάγωσα" "πάγωνα" "πάγωσε" "παγωμένος" ;
fridge_N = mkN "ψυγείο" ;
friend_N = mkN "φίλος" ; --ΟΧΙ γιατι εχει 3 γενη
friend_N = mkN "φίλος" ;
fruit_N = mkN "φρούτο" ;
full_A = mkA "γεμάτος" ;
fun_AV = mkAV (mkAd "αστείος") ;
@@ -190,7 +190,7 @@ flags coding = utf8 ;
love_N = mkN "αγάπη" Fem ;
love_V2 = dirV2 (v_Verb2a "αγαπώ" "αγαπήσω" "αγάπησα" "αγαπούσα" );
man_N = mkN "άνδρας" Masc ;
married_A2 = mkA2 (mkA "παντρεμένος") (mkPreposition "με" ** {lock_Prep = <>});
married_A2 = mkA2 (mkA "παντρεμένος") (mkPrep "με" ** {lock_Prep = <>});
meat_N = regIrreg "τέρας" ;
milk_N = regIrreg "γάλα" ;
moon_N = mkN "φεγγάρι" Neut;

View File

@@ -65,7 +65,7 @@ concrete NounGre of Noun = CatGre ** open ResGre, ParadigmsGre, Prelude in {
RelNP np rs = {
s = \\c => {
comp = (np.s ! c).comp ++ "," ++ rs.s! Ind ! np.a ;
comp = (np.s ! c).comp ++ rs.s! Ind ! np.a ;
c1 = [] ;
c2 = [] ;
isClit = False
@@ -208,7 +208,7 @@ concrete NounGre of Noun = CatGre ** open ResGre, ParadigmsGre, Prelude in {
ApposCN cn np =
let g = cn.g
in {
s = \\n,c => cn.s ! n ! c ++ (np.s ! Nom).comp ;
s = \\n,c =>cn.s ! n ! c ++ (np.s ! c).comp ;
g = g
} ;

View File

@@ -23,11 +23,11 @@ lin n4 = mkNum3 "τέσσερα" "δεκατέσσερα" "σαράντα" "τ
lin n5 = mkNum2 "πέντε" "δεκαπέντε" "πενήντα" "πεντακόσια" "πέμπτος" "πεντηκοστός" "πεντακοσιοστός" "πεντάκις" "δεκαπεντάκις" "πεντηκοντάκις" "πεντακοσάκις";
lin n6 = mkNum2 "έξι" "δεκαέξι" "εξήντα" "εξακόσια" "έκτος" "εξηκοστός" "εξακοσιοστός" "εξακισ" "δεκαεξάκις" "εξηκοντάκις" "εξακοσάκις" ;
lin n6 = mkNum2 "έξι" "δεκαέξι" "εξήντα" "εξακόσια" "έκτος" "εξηκοστός" "εξακοσιοστός" "εξάκις" "δεκαεξάκις" "εξηκοντάκις" "εξακοσάκις" ;
lin n7 = mkNum2 "εφτά" "δεκαεφτά" "εβδομήντα" "εφτακόσια" "έβδομος" "εβδομηκοστός" "εφτακοσιοστός" "εφτάκις" "δεκαεφτάκις" "εβδομηκοντάκις" "επτακοσάκις";
lin n8 = mkNum2 "οχτώ" "δεκαοχτώ" "ογδόντα" "οχτακόσια" "όγδοος" "ογδοηκοστός" "οχτακοσιοστός" "οχτακισ" "δεκαοκτάκις" "ογδοηκοντάκις" "οκτακοσάκις";
lin n8 = mkNum2 "οχτώ" "δεκαοχτώ" "ογδόντα" "οχτακόσια" "όγδοος" "ογδοηκοστός" "οχτακοσιοστός" "οχτάκις" "δεκαοκτάκις" "ογδοηκοντάκις" "οκτακοσάκις";
lin n9 = mkNum2 "εννιά" "δεκαεννιά" "ενενήντα" "εννιακόσια" "ένατος" "ενενηκοστός" "εννιακοσιοστός" "εννιάκις" "δεκαεννεάκις" "ενενηκοντάκις" "εννεακοσάκις";
@@ -56,7 +56,7 @@ lin pot3 n = {
lin pot3plus n m = {
s = \\co => case n.n of {
Sg => Xilias co n.s n.n ++ cardOrdXiliaSg "χίλια" "χιλιοστός" ! co ++ m.s ! co ;
Pl => Xilias co n.s n.n ++ n.s ! NCardX ++ cardOrdXiliaPl "χιλιάδες" "χιλιοστός" ! co ++ m.s ! co }
Pl => Xilias co n.s n.n ++ cardOrdXiliaPl "χιλιάδες" "χιλιοστός" ! co ++ m.s ! co }
} ** {n = Pl} ;

View File

@@ -41,9 +41,10 @@ concrete QuestionGre of Question = CatGre ** open ResGre, Prelude in {
QuestSlash ip slash = {
s = \\t,a,p =>
let
cls = slash.s ! ip.a ! Inv ! t ! a ! p! Ind;
who = ip.s ! Masc ! slash.c2.c ++slash.c2.s
let
agr = Ag ip.a.g ip.n P3 ;
cls = slash.s ! ip.a ! Inv ! t ! a ! p! Ind ++ slash.n3 !agr;
who = slash.c2.s ++ ip.s ! Masc ! slash.c2.c
in table {
QDir => who ++ cls ;
QIndir => who ++ cls

View File

@@ -4,8 +4,10 @@ concrete RelativeGre of Relative = CatGre ** open Prelude, ResGre in {
lin
RelCl cl = {
s = \\ag,t,a,p,_ =>"ώστε" ++ cl.s ! Main ! t ! a ! p ! Ind ;
c = Nom
@@ -29,10 +31,11 @@ concrete RelativeGre of Relative = CatGre ** open Prelude, ResGre in {
RelSlash rp slash = {
s = \\ag,t,a,p,m =>
let aag = complAgr ag
let aag = complAgr ag ;
agr = Ag rp.a.g rp.a.n P3 ;
in
slash.c2.s ++ rp.s ! False ! aag ! slash.c2.c ++
slash.s ! aag ! Main ! t ! a ! p ! m ;
slash.s ! aag ! Main ! t ! a ! p ! m ++ slash.n3 ! agr ;
c = Acc
} ;

View File

@@ -29,6 +29,7 @@ resource ResGre = ParamX ** open Prelude in {
Form = Weak |Emphatic ;
VForm = VPres Mood Number Person Voice Aspect| VPast Mood Number Person Voice Aspect| VNonFinite Voice| VImperative Aspect Number Voice| Gerund | Participle Degree Gender Number Case;
Voice = Active | Passive;
@@ -173,36 +174,36 @@ resource ResGre = ParamX ** open Prelude in {
in
case <o,t,ant,m> of {
<Main, TPres,Simul,Ind> => subj ++ negpm ++ clit ++ clit2 ++ verb m vo as ! t ++ comp;
<Inv, TPres,Simul,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as ! t ++ comp ++ subj ;
<Inv, TPres,Simul,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as ! t ++ subj ++ comp ;
<Main, TPres,Anter,Ind> => subj ++ negpm ++ clit ++ clit2++ verb m vo as! TCond ++ comp ;
<Inv, TPres,Anter,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as ! TCond ++ comp ++ subj ;
<Inv, TPres,Anter,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as ! TCond ++ subj ++ comp ;
<Main,TFut,Simul,Ind> => subj ++ negpm ++ "θα" ++ clit ++ clit2 ++verb m vo as! t ++ comp ;
<Inv,TFut,Simul,Ind> => negpm ++ "θα"++ clit ++ clit2++ verb m vo as! t ++ comp ++ subj;
<Inv,TFut,Simul,Ind> => negpm ++ "θα"++ clit ++ clit2++ verb m vo as! t ++ subj ++ comp ;
<Main,TFut,Anter,Ind> => subj ++ negpm ++ "θα" ++ clit ++ clit2 ++ verb m vo as! TCond ++ comp ;
<Inv,TFut,Anter,Ind> => negpm ++"θα" ++ clit ++ clit2 ++ verb m vo as! TCond ++ comp ++ subj ;
<Inv,TFut,Anter,Ind> => negpm ++"θα" ++ clit ++ clit2 ++ verb m vo as! TCond ++ subj ++ comp ;
<Main,TCond,Simul,Ind> => subj ++ negpm ++ "θα" ++ clit ++ verb m vo Imperf! TPast ++ comp ;
<Inv,TCond,Simul,Ind> => negpm ++ "θα" ++ clit ++ clit2 ++ verb m vo Imperf ! TPast ++ comp ++ subj;
<Inv,TCond,Simul,Ind> => negpm ++ "θα" ++ clit ++ clit2 ++ verb m vo Imperf ! TPast ++ subj ++ comp ;
<Main,TCond,Anter,Ind> => subj ++ negpm ++ "θα"++ clit ++ clit2 ++ verb m vo as! TImperf ++ comp ;
<Inv,TCond,Anter,Ind> => negpm ++ "θα" ++clit ++ clit2 ++ verb m vo as! TImperf ++ comp ++ subj ;
<Inv,TCond,Anter,Ind> => negpm ++ "θα" ++clit ++ clit2 ++ verb m vo as! TImperf ++ subj ++comp ;
<Main, TPast,Simul,Ind> => subj ++ negpm ++ clit ++ clit2 ++ verb m vo as! TPast ++ comp ;
<Inv, TPast,Simul,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as! TPast ++ comp ++ subj ;
<Inv, TPast,Simul,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as! TPast ++ subj ++ comp ;
<Main, TPast,Anterior,Ind> => subj ++ negpm ++ clit ++ clit2 ++ verb m vo as!TImperf ++ comp;
<Inv, TPast,Anterior,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as!TImperf ++ comp ++ subj;
<Inv, TPast,Anterior,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as!TImperf ++ subj ++comp ;
<_, TImperf,Simul,Ind> => subj ++ negpm ++ clit ++ clit2 ++ verb m vo as! t ++ comp ;
<_, TImperf,Anterior,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as! TImperf ++ comp ++ subj;
<_, TImperf,Anterior,Ind> => negpm ++ clit ++ clit2 ++ verb m vo as! TImperf ++ subj ++ comp ;
<_, _,_,Con> => subj ++ "να" ++ negpm ++ clit ++ clit2 ++ verb m vo as! t ++ comp ;
<Main, _,_,Hortative> => subj ++ "ας" ++ negpm ++ clit ++ clit2 ++ verb m vo as! t ++ comp ;
<Inv, _,_,Hortative> => "ας" ++ negpm ++ clit ++ clit2 ++ verb m vo as! t ++ comp ++ subj
<Inv, _,_,Hortative> => "ας" ++ negpm ++ clit ++ clit2 ++ verb m vo as! t ++ subj ++ comp
}
} ;
@@ -1439,17 +1440,17 @@ resource ResGre = ParamX ** open Prelude in {
<Neut,Pl> => "τα οποία"
};
Gen |CPrep P_Dat => case <ag.g, ag.n > of
{<Fem,Sg> => "της οποίας" ;
<Masc |Change |Neut,Sg> => "του οποίου" ;
<Masc |Change |Fem |Neut ,Pl> => "των οποίων"
{<Fem,Sg> => prepCase c ++"της οποίας" ;
<Masc |Change |Neut,Sg> =>prepCase c ++ "του οποίου" ;
<Masc |Change |Fem |Neut ,Pl> => prepCase c ++"των οποίων"
};
Acc | CPrep PNul => case <ag.g, ag.n > of
{<Fem,Sg> => "την οποία" ;
<Masc |Change,Sg> => "τον οποίο" ;
<Neut,Sg> => "το οποίο" ;
<Fem,Pl> => "τις οποίες" ;
<Masc |Change,Pl> => "τους οποίους" ;
<Neut,Pl> => "τα οποία"
{<Fem,Sg> => prepCase c ++ "την οποία" ;
<Masc |Change,Sg> => prepCase c ++"τον οποίο" ;
<Neut,Sg> => prepCase c ++ "το οποίο" ;
<Fem,Pl> => prepCase c ++ "τις οποίες" ;
<Masc |Change,Pl> => prepCase c ++"τους οποίους" ;
<Neut,Pl> => prepCase c ++"τα οποία"
};
CPrep P_se => case <ag.g, ag.n > of
{<Fem,Sg> => "στην οποία" ;
@@ -1482,7 +1483,7 @@ resource ResGre = ParamX ** open Prelude in {
<Neut,Sg, Nom|Acc |CPrep P_se |CPrep PNul > =>prepCase c++ "ένα" ;
<Neut,Sg, Gen|CPrep P_Dat> => "ενός";
<Neut ,Sg, Vocative> => " " ;
<_ ,Pl, _> => " "
<_ ,Pl, _> =>prepCase c ++ " "
} ;
@@ -1582,13 +1583,13 @@ resource ResGre = ParamX ** open Prelude in {
VNonFinite Active => "υπάρξει" ;
VNonFinite Passive => "υπάρξει" ;
VImperative Perf Sg Active=> " " ;
VImperative Perf Pl Active=> " " ;
VImperative Imperf Sg Active=> " " ;
VImperative Imperf Pl Active=> " " ;
VImperative Perf Sg Active=> "να είσαι" ;
VImperative Perf Pl Active=> "να είστε" ;
VImperative Imperf Sg Active=> "να είσαι" ;
VImperative Imperf Pl Active=> "να είστε" ;
VImperative _ Sg Passive => " " ;
VImperative _ Pl Passive=> "" ;
VImperative _ Sg Passive => "να είσαι" ;
VImperative _ Pl Passive=> "να είστε" ;
Gerund => "όντας" ;
@@ -1626,10 +1627,10 @@ resource ResGre = ParamX ** open Prelude in {
VNonFinite Active => "υπάρξει" ;
VNonFinite Passive => "υπάρξει" ;
VImperative Perf Sg Active=> " " ;
VImperative Perf Pl Active=> " " ;
VImperative Imperf Sg Active=> " " ;
VImperative Imperf Pl Active=> " " ;
VImperative Perf Sg Active=> "να υπάρχεις" ;
VImperative Perf Pl Active=> "να υπάρχετε" ;
VImperative Imperf Sg Active=> "να υπάρχεις" ;
VImperative Imperf Pl Active=> "να υπάρχετε" ;
VImperative _ Sg Passive=> " " ;
VImperative _ Pl Passive=> "" ;
@@ -1652,39 +1653,29 @@ resource ResGre = ParamX ** open Prelude in {
in
{
s = table {
VPres _ Sg P1 Active _=> Exw ;
VPres _ Sg P2 Active _=> Ex + "εις" ;
VPres _ Sg P3 Active _=> Ex + "ει" ;
VPres _ Pl P1 Active _=> Ex+ "ουμε" ;
VPres _ Pl P2 Active _=> Ex + "ετε" ;
VPres _ Pl P3 Active _=> Ex + "ουν" ;
VPres _ Sg P1 _ _=> Exw ;
VPres _ Sg P2 _ _=> Ex + "εις" ;
VPres _ Sg P3 _ _=> Ex + "ει" ;
VPres _ Pl P1 _ _=> Ex+ "ουμε" ;
VPres _ Pl P2 _ _=> Ex + "ετε" ;
VPres _ Pl P3 _ _=> Ex + "ουν" ;
VPres _ Sg P1 Passive _=> " " ;
VPres _ Sg P2 Passive _=> " " ;
VPres _ Sg P3 Passive _=> " " ;
VPres _ Pl P1 Passive _=> " " ;
VPres _ Pl P2 Passive _=> " " ;
VPres _ Pl P3 Passive _=> " " ;
VPast _ Sg P1 Active _=> eIxa ;
VPast _ Sg P2 Active _=> eIx + "ες" ;
VPast _ Sg P3 Active _ => eIx + "ε" ;
VPast _ Pl P1 Active _ => eIx + "αμε" ;
VPast _ Pl P2 Active _ => eIx + "ατε" ;
VPast _ Pl P3 Active _ => eIx + "αν" ;
VPast _ Sg P1 _ _=> eIxa ;
VPast _ Sg P2 _ _=> eIx + "ες" ;
VPast _ Sg P3 _ _ => eIx + "ε" ;
VPast _ Pl P1 _ _ => eIx + "αμε" ;
VPast _ Pl P2 _ _ => eIx + "ατε" ;
VPast _ Pl P3 _ _ => eIx + "αν" ;
VPast _ Sg P1 Passive _ => " " ;
VPast _ Sg P2 Passve _=> " " ;
VPast _ Sg P3 Passive _ => " " ;
VPast _ Pl P1 Passive _ => " " ;
VPast _ Pl P2 Passive _ => " " ;
VPast _ Pl P3 Passive _ => " " ;
VNonFinite Active => Ex + "ει" ;
VNonFinite Passive => " " ;
VImperative Perf Sg Active=> " " ;
VImperative Perf Pl Active=> " " ;
VImperative Perf Sg Active=> Exe ;
VImperative Perf Pl Active=> Exe ;
VImperative Imperf Sg Active=> Exe ;
VImperative Imperf Pl Active=> Exe ;

View File

@@ -24,7 +24,7 @@ concrete StructuralGre of Structural = CatGre **
but_PConj = ss "αλλά" ;
by8agent_Prep = mkPreposition "από";
by8means_Prep = mkPreposition "από";
can8know_VV = mkVV (v_VerbNoPassive1 "ξέρω" "ξέρω" "ήξερα" "ήξερα" " ") ;
can8know_VV = mkVV (v_VerbNoPassive5 "μπορώ" "μπορέσω" "μπόρεσα" "μπορούσα" "μπόρεσε" " " ) ;
can_VV = mkVV (v_VerbNoPassive5 "μπορώ" "μπορέσω" "μπόρεσα" "μπορούσα" "μπόρεσε" " " ) ;
during_Prep = mkPreposition3 "κατα τη διάρκεια" ;
either7or_DConj = mkConj "είτε" "ή" plural ;
@@ -67,15 +67,15 @@ concrete StructuralGre of Structural = CatGre **
here_Adv = ss "εδώ" ;
here7to_Adv = ss "ως εδώ" ;
here7from_Adv = ss "από εδώ " ;
how_IAdv = ss "πόσο" ;
how_IAdv = ss "πώς" ;
how8much_IAdv = ss "πόσο" ;
how8many_IDet = mkDeterminer "πόσοι" "πόσων" "πόσους" "πόσες" "πόσων" "πόσες" "πόσα" "πόσων" "πόσα" "πόσοι" "πόσων" "πόσους" Pl ;
how8many_IDet = mkDeterminer "πόσοι" "πόσων" "πόσους" "πόσες" "πόσων" "πόσες" "πόσα" "πόσων" "πόσα" "πόσα" "πόσων" "πόσα" Pl ;
i_Pron = mkPron "εγώ" "μου" "με" "εμένα" "εμού" Masc Sg P1 ;
if_Subj = ss "αν" ** {m = Ind};
in8front_Prep = mkPreposition "μπροστά από";
in_Prep = complPrepSe;
it_Pron = mkPron "αυτό" "του" "το" "αυτό" "αυτού" Neut Sg P3 ;
less_CAdv = {s="λιγότερο"; p= "από" ; c= CPrep PNul ; lock_CAdv = <>} ;
less_CAdv = {s,s2="λιγότερο"; p= "από" ; c= CPrep PNul ; lock_CAdv = <>} ;
many_Det = {s,sp = \\g,c => case <g,c> of {
<Masc,Nom |Vocative> => "πολλοί";
@@ -88,7 +88,7 @@ concrete StructuralGre of Structural = CatGre **
isNeg = False
} ;
more_CAdv = {s="πιό"; p="από" ; c= CPrep PNul} ;
more_CAdv = {s="πιό"; s2 = "πάνω" ; p="από" ; c= CPrep PNul} ;
most_Predet = { s = \\n,g,c => artDef g n c ++ (regAdj "περισσότερος").s ! Posit ! g ! n ! c };
much_Det = {s,sp = \\g,c => case <g,c> of{
@@ -172,39 +172,28 @@ concrete StructuralGre of Structural = CatGre **
when_IAdv = ss "πότε" ;
when_Subj = ss "όταν" ** {m =Con} ;
where_IAdv = ss "που" ;
which_IQuant = {s = table {
Sg => table {Masc | Change=> table { Nom => "ποιός";
Gen => "ποιού";
Acc | CPrep P_se |CPrep PNul => "ποιόν" ;
Voc => " "
};
Fem => table { Nom | Acc | CPrep P_se |CPrep PNul => "ποιά";
Gen => "ποιάς";
Voc => " "
};
Neut => table { Nom | Acc | CPrep P_se |CPrep PNul => "ποιό";
Gen => "ποιού";
Voc => " "
} };
Pl => table {Masc => table { Nom => "ποιoί";
Gen => "ποιών";
Acc |CPrep P_se |CPrep PNul => "ποιούς" ;
Voc => " "
};
Fem => table { Nom | Acc | CPrep P_se |CPrep PNul => "ποιές";
Gen => "ποιών" ;
Voc => " "
};
Neut | Change => table { Nom | Acc | CPrep P_se |CPrep PNul => "ποιά";
Gen => "ποιών";
Voc => " "
}}}};
which_IQuant = {s = \\n,g,c => case <n,g,c> of {
<Sg,Masc | Change,Nom |Vocative> => "ποιός";
<Sg,Masc | Change,Gen|CPrep P_Dat> => "ποιού" ;
<Sg, Masc | Change ,Acc |CPrep P_se | CPrep PNul> => prepCase c ++ "ποιόν" ;
<Sg,Fem,Nom |Vocative |Acc |CPrep P_se | CPrep PNul> => prepCase c ++ "ποιά";
<Sg,Fem,Gen|CPrep P_Dat > => "ποιάς" ;
<Sg,Neut,Nom |Vocative |Acc |CPrep P_se | CPrep PNul> => prepCase c ++"ποιό";
<Sg,Neut,Gen|CPrep P_Dat > => "ποιού" ;
<Pl,Masc,Nom |Vocative> => "ποιoί";
<Pl,Masc,Gen|CPrep P_Dat> => "ποιών" ;
<Pl, Masc| Change, Acc|CPrep P_se | CPrep PNul> => prepCase c ++ "ποιούς" ;
<Pl,Fem,Nom |Vocative |Acc |CPrep P_se | CPrep PNul> => prepCase c ++ "ποιές";
<Pl,Fem,Gen|CPrep P_Dat > => "ποιών" ;
<Pl,Neut | Change,Nom |Vocative |Acc |CPrep P_se | CPrep PNul> => prepCase c ++"ποιά";
<Pl,Neut | Change,Gen|CPrep P_Dat > => "ποιών" }
} ;
whoSg_IP = {s = \\g,c => case <g,c> of {
<Masc ,Nom> =>prepCase c ++ "ποιός" ;
<Masc | Change ,Nom> =>prepCase c ++ "ποιός" ;
<Fem ,Nom | Acc |CPrep P_se | CPrep PNul > =>prepCase c ++ "ποιά" ;
<Neut| Change ,Nom | Acc | CPrep P_se | CPrep PNul > =>prepCase c ++ "ποιό" ;
<Neut ,Nom | Acc | CPrep P_se | CPrep PNul > =>prepCase c ++ "ποιό" ;
<Fem ,Gen> =>prepCase c ++"ποιάς" ;
<Neut | Change | Masc,Gen> => prepCase c ++"ποιού" ;
<Masc ,Acc |CPrep P_se | CPrep PNul > => prepCase c ++"ποιόν" ;
@@ -256,7 +245,7 @@ concrete StructuralGre of Structural = CatGre **
nobody_NP = nppolNeg (mkDeterminer "κανένας" "κανενός" "κανέναν" "καμία" "καμιάς" "καμία" "κανένα" "κανενός" "κανένα" "κανένας" "κανενός" "κανέναν" Sg) ;
nothing_NP = makeNP "τίποτα" Sg Neut True;
except_Prep = mkPreposition "εκτός απο";
as_CAdv = {s="τόσο"; p="όσο" ; c= Nom} ;
as_CAdv = {s,s2="τόσο"; p="όσο" ; c= Nom} ;
have_V2 = dirV2 (mkAux "έχω" "είχα" "έχε" "έχετε" "έχων" ** {lock_V = <>}) ;
lin language_title_Utt = ss "Ελληνικά" ;

View File

@@ -9,7 +9,7 @@ concrete VerbGre of Verb = CatGre ** open ResGre,CommonGre, Prelude in {
ComplVV v vp =
insertComplement (\\a => case a of {
Ag _ n p => "να" ++ vp.clit ++ vp.clit2 ++ vp.v.s ! VPres Con n p Active Perf ++ vp.comp ! a}) (predV v) ;
Ag _ n p => let vo= vp.voice ; as = vp.aspect in "να" ++ vp.clit ++ vp.clit2 ++ vp.v.s ! VPres Con n p vo as ++ vp.comp ! a}) (predV v) ;
ComplVS v s =
@@ -30,9 +30,11 @@ concrete VerbGre of Verb = CatGre ** open ResGre,CommonGre, Prelude in {
SlashV2V v vp = mkVPSlash v.c2 ( predV v) ** {
n3 = \\a =>
let agr = clitAgr a
let agr = clitAgr a ;
vo = vp.voice ;
as = vp.aspect
in
v.c3.s ++ "να" ++ vp.clit ++ vp.clit2 ++ vp.v.s ! VPres Con agr.n agr.p Active Perf ++ vp.comp! a ;
v.c3.s ++ "να" ++ vp.clit ++ vp.clit2 ++ vp.v.s ! VPres Con agr.n agr.p vo as ++ vp.comp! a ;
c2 = v.c2
} ;
@@ -50,7 +52,7 @@ concrete VerbGre of Verb = CatGre ** open ResGre,CommonGre, Prelude in {
SlashV2A v ap = mkVPSlash v.c2 (predV v )** {
n3 =\\a => let agr = complAgr a in ap.s ! Posit ! agr.g ! agr.n ! Acc ;
n3 =\\a => let agr = complAgr a in ap.s ! Posit ! agr.g ! agr.n ! Acc ;
c2 = v.c2
} ;
@@ -61,16 +63,18 @@ concrete VerbGre of Verb = CatGre ** open ResGre,CommonGre, Prelude in {
SlashVV v vp =
insertComplement (\\a => case a of {
Ag _ n p => "να" ++ vp.clit ++ vp.clit2 ++ vp.v.s ! VPres Con n p Active Perf++ vp.comp ! a})
Ag _ n p => let vo=vp.voice ; as =vp.aspect in "να" ++ vp.clit ++ vp.clit2 ++ vp.v.s ! VPres Con n p vo as++ vp.comp ! a})
(predV v) ** {n3 = vp.n3 ; c2 = vp.c2} ;
SlashV2VNP v np vp =
mkVPSlash vp.c2( insertObject v.c2 np (predV v)) ** {
n3 = \\a =>
let agr = clitAgr a
let agr = clitAgr a ;
vo=vp.voice ;
as =vp.aspect
in
v.c2.s ++ "να" ++ vp.clit ++ vp.clit2 ++ vp.v.s ! VPres Con agr.n agr.p Active Perf ++ vp.comp! a ;
v.c2.s ++ "να" ++ vp.clit ++ vp.clit2 ++ vp.v.s ! VPres Con agr.n agr.p vo as ++ vp.comp! a ;
c2 = v.c2
} ;
@@ -79,15 +83,16 @@ concrete VerbGre of Verb = CatGre ** open ResGre,CommonGre, Prelude in {
UseComp comp = insertComplement comp.s (predV copula) ;
PassV2 v = {
PassV2 v = let vp = predV v in {
v = v ;
clit = [] ;
clit2 = [] ;
comp = \\a => [] ;
isNeg = False;
voice = Passive ;
aspect = Perf ;
aspect = vp.aspect;
} ;
AdvVP vp adv = insertAdv adv.s vp ;