forked from GitHub/gf-core
Ioanna's Gre fixes; find_V2 doesn't compile and is commented out.
This commit is contained in:
@@ -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} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -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 + "ε";
|
||||
|
||||
@@ -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} ;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
|
||||
|
||||
@@ -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} ;
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
|
||||
@@ -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 "Ελληνικά" ;
|
||||
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user