mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
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 = {
|
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
|
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;
|
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->
|
VerbContrIrreg3 : (x1,_,_,_ : Str) -> Verb = \vlEpw,dW,eIda,Evlepa->
|
||||||
let
|
let
|
||||||
vlEp = init vlEpw;
|
vlEp = init vlEpw;
|
||||||
@@ -1153,7 +1229,7 @@
|
|||||||
eidwth = mkVerbStem eidWth;
|
eidwth = mkVerbStem eidWth;
|
||||||
part= mkPartStem eidwth;
|
part= mkPartStem eidwth;
|
||||||
in
|
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 ;
|
zIs = init zIsw ;
|
||||||
Ezis = init Ezisa ;
|
Ezis = init Ezisa ;
|
||||||
zoYs = init zoYsa ;
|
zoYs = init zoYsa ;
|
||||||
Nonfinite = z + "εί" ;
|
Nonfinite = zIs + "ει" ;
|
||||||
Imp1 = zIse ;
|
Imp1 = zIse ;
|
||||||
Imp2 = z+ "είτε" ;
|
Imp2 = z+ "είτε" ;
|
||||||
Imp3 = zIs + "ε";
|
Imp3 = zIs + "ε";
|
||||||
@@ -2091,7 +2167,7 @@
|
|||||||
tharrEps = init tharrEpsw ;
|
tharrEps = init tharrEpsw ;
|
||||||
thArreps = init thArrepsa ;
|
thArreps = init thArrepsa ;
|
||||||
tharroYs = init tharroYsa ;
|
tharroYs = init tharroYsa ;
|
||||||
Nonfinite = tharr + "εί" ;
|
Nonfinite = tharrEps + "ει" ;
|
||||||
Imp1 = thArrepse ;
|
Imp1 = thArrepse ;
|
||||||
Imp2 = tharr + "είτε" ;
|
Imp2 = tharr + "είτε" ;
|
||||||
Imp3 = thArreps + "ε";
|
Imp3 = thArreps + "ε";
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ flags coding = utf8 ;
|
|||||||
AdA = {s : Str} ;
|
AdA = {s : Str} ;
|
||||||
AdN = {s : Str} ;
|
AdN = {s : Str} ;
|
||||||
IAdv = {s : Str} ;
|
IAdv = {s : Str} ;
|
||||||
CAdv = {s : Str; p : Str} ** {c:Case};
|
CAdv = {s ,s2: Str; p : Str} ** {c:Case};
|
||||||
PConj = {s : Str} ;
|
PConj = {s : Str} ;
|
||||||
Interj = {s : Str} ;
|
Interj = {s : Str} ;
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ flags coding = utf8 ;
|
|||||||
broad_A = mkA "ευρύς" "ευρέως" ;
|
broad_A = mkA "ευρύς" "ευρέως" ;
|
||||||
brother_N2 = ofN2 (mkN "αδελφός") ;
|
brother_N2 = ofN2 (mkN "αδελφός") ;
|
||||||
brown_A = mkAdjAklito "καφέ" ;
|
brown_A = mkAdjAklito "καφέ" ;
|
||||||
burn_V= v_VerbContr2 "κλαίω" "κλάψω" "έκλαψα" "έκλαιγα" ;
|
burn_V= v_VerbContr2 "καίω" "κάψω" "έκαψα" "έκαιγα" ;
|
||||||
butter_N = mkN "βούτυρο" "βουτύρων" Neut;
|
butter_N = mkN "βούτυρο" "βουτύρων" Neut;
|
||||||
buy_V2= dirV2 (v_Verb1d "αγοράζω" "αγοράσω" "αγόρασα" "αγόραζα" ) ;
|
buy_V2= dirV2 (v_Verb1d "αγοράζω" "αγοράσω" "αγόρασα" "αγόραζα" ) ;
|
||||||
camera_N = mkN "κάμερα" Fem;
|
camera_N = mkN "κάμερα" Fem;
|
||||||
@@ -81,7 +81,7 @@ flags coding = utf8 ;
|
|||||||
die_V = v_VerbNoPassive "πεθαίνω" "πεθάνω" "πέθανα" "πέθαινα" "πέθανε" "πεθαμένος" ;
|
die_V = v_VerbNoPassive "πεθαίνω" "πεθάνω" "πέθανα" "πέθαινα" "πέθανε" "πεθαμένος" ;
|
||||||
dig_V =v_Verb1c "σκάβω" "σκάψω" "έσκαψα" "έσκαβα" ;
|
dig_V =v_Verb1c "σκάβω" "σκάψω" "έσκαψα" "έσκαβα" ;
|
||||||
dirty_A = regAdj "βρώμικος" ;
|
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 "γιατρός" ;
|
doctor_N = mkN "γιατρός" ;
|
||||||
dog_N = mkN "σκύλος" ;
|
dog_N = mkN "σκύλος" ;
|
||||||
door_N = mkN "πόρτα" Fem;
|
door_N = mkN "πόρτα" Fem;
|
||||||
@@ -92,7 +92,7 @@ flags coding = utf8 ;
|
|||||||
dust_N = mkN "σκόνη" Fem ;
|
dust_N = mkN "σκόνη" Fem ;
|
||||||
ear_N =mkN "αφτί" ;
|
ear_N =mkN "αφτί" ;
|
||||||
earth_N = mkN "γή" "γής" "γή" "γή" "" "" "" "" Fem ;
|
earth_N = mkN "γή" "γής" "γή" "γή" "" "" "" "" Fem ;
|
||||||
easy_A2V = mkA2V (mkAd "εύκολος") acc gen ;
|
easy_A2V = mkA2V (mkA "εύκολος") acc gen ;
|
||||||
eat_V2 = dirV2 (v_VerbContrIrreg "τρώω" "φάω" "έφαγα" "έτρωγα" ) ;
|
eat_V2 = dirV2 (v_VerbContrIrreg "τρώω" "φάω" "έφαγα" "έτρωγα" ) ;
|
||||||
egg_N = mkN "αβγό" ;
|
egg_N = mkN "αβγό" ;
|
||||||
empty_A = mkAd "άδειος" ;
|
empty_A = mkAd "άδειος" ;
|
||||||
@@ -107,7 +107,7 @@ flags coding = utf8 ;
|
|||||||
fear_V2 =dirV2 (v_VerbDeponent "φοβάμαι" "φοβηθώ" "φοβήθηκα" "φοβόμουν" "φοβήσου" "φοβισμένος") ;
|
fear_V2 =dirV2 (v_VerbDeponent "φοβάμαι" "φοβηθώ" "φοβήθηκα" "φοβόμουν" "φοβήσου" "φοβισμένος") ;
|
||||||
feather_N = mkN "φτερό" ;
|
feather_N = mkN "φτερό" ;
|
||||||
fight_V2 = dirV2 (v_Verb2a "πολεμώ" "πολεμήσω" "πολέμησα" "πολεμούσα" ) ;
|
fight_V2 = dirV2 (v_Verb2a "πολεμώ" "πολεμήσω" "πολέμησα" "πολεμούσα" ) ;
|
||||||
find_V2 = dirV2 (v_VerbContracIrregNopassive "βρίσκω" "βρώ" "βρήκα" "έβρισκα" "βρες" "βρισκόμενος");
|
---- find_V2 = dirV2 (v_VerbContrIrreg3 "βρίσκω" "βρώ" "βρήκα" "έβρισκα" );
|
||||||
fingernail_N = mkN "νύχι" Neut ;
|
fingernail_N = mkN "νύχι" Neut ;
|
||||||
fire_N = mkN "φωτιά" ;
|
fire_N = mkN "φωτιά" ;
|
||||||
fish_N = mkN "ψάρι" Neut ;
|
fish_N = mkN "ψάρι" Neut ;
|
||||||
@@ -119,10 +119,10 @@ flags coding = utf8 ;
|
|||||||
fog_N = mkN "ομίχλη" Fem ;
|
fog_N = mkN "ομίχλη" Fem ;
|
||||||
foot_N = mkN "πόδι" Neut ;
|
foot_N = mkN "πόδι" Neut ;
|
||||||
forest_N = mkN "δάσος" Neut ;
|
forest_N = mkN "δάσος" Neut ;
|
||||||
forget_V2 = dirV2 (v_VerbNoPassive3 "ξεχνώ" "ξεχάσω" "ξέχασα" "ξεχνούσα" "ξέχνα" "ξεχασμένος" );
|
forget_V2 = dirV2 (v_Verb2c "ξεχνώ" "ξεχάσω" "ξέχασα" "ξεχνούσα" );
|
||||||
freeze_V = v_VerbNoPassive "παγώνω" "παγώσω" "πάγωσα" "πάγωνα" "πάγωσε" "παγωμένος" ;
|
freeze_V = v_VerbNoPassive "παγώνω" "παγώσω" "πάγωσα" "πάγωνα" "πάγωσε" "παγωμένος" ;
|
||||||
fridge_N = mkN "ψυγείο" ;
|
fridge_N = mkN "ψυγείο" ;
|
||||||
friend_N = mkN "φίλος" ; --ΟΧΙ γιατι εχει 3 γενη
|
friend_N = mkN "φίλος" ;
|
||||||
fruit_N = mkN "φρούτο" ;
|
fruit_N = mkN "φρούτο" ;
|
||||||
full_A = mkA "γεμάτος" ;
|
full_A = mkA "γεμάτος" ;
|
||||||
fun_AV = mkAV (mkAd "αστείος") ;
|
fun_AV = mkAV (mkAd "αστείος") ;
|
||||||
@@ -190,7 +190,7 @@ flags coding = utf8 ;
|
|||||||
love_N = mkN "αγάπη" Fem ;
|
love_N = mkN "αγάπη" Fem ;
|
||||||
love_V2 = dirV2 (v_Verb2a "αγαπώ" "αγαπήσω" "αγάπησα" "αγαπούσα" );
|
love_V2 = dirV2 (v_Verb2a "αγαπώ" "αγαπήσω" "αγάπησα" "αγαπούσα" );
|
||||||
man_N = mkN "άνδρας" Masc ;
|
man_N = mkN "άνδρας" Masc ;
|
||||||
married_A2 = mkA2 (mkA "παντρεμένος") (mkPreposition "με" ** {lock_Prep = <>});
|
married_A2 = mkA2 (mkA "παντρεμένος") (mkPrep "με" ** {lock_Prep = <>});
|
||||||
meat_N = regIrreg "τέρας" ;
|
meat_N = regIrreg "τέρας" ;
|
||||||
milk_N = regIrreg "γάλα" ;
|
milk_N = regIrreg "γάλα" ;
|
||||||
moon_N = mkN "φεγγάρι" Neut;
|
moon_N = mkN "φεγγάρι" Neut;
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ concrete NounGre of Noun = CatGre ** open ResGre, ParadigmsGre, Prelude in {
|
|||||||
|
|
||||||
RelNP np rs = {
|
RelNP np rs = {
|
||||||
s = \\c => {
|
s = \\c => {
|
||||||
comp = (np.s ! c).comp ++ "," ++ rs.s! Ind ! np.a ;
|
comp = (np.s ! c).comp ++ rs.s! Ind ! np.a ;
|
||||||
c1 = [] ;
|
c1 = [] ;
|
||||||
c2 = [] ;
|
c2 = [] ;
|
||||||
isClit = False
|
isClit = False
|
||||||
@@ -208,7 +208,7 @@ concrete NounGre of Noun = CatGre ** open ResGre, ParadigmsGre, Prelude in {
|
|||||||
ApposCN cn np =
|
ApposCN cn np =
|
||||||
let g = cn.g
|
let g = cn.g
|
||||||
in {
|
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
|
g = g
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -23,11 +23,11 @@ lin n4 = mkNum3 "τέσσερα" "δεκατέσσερα" "σαράντα" "τ
|
|||||||
|
|
||||||
lin n5 = mkNum2 "πέντε" "δεκαπέντε" "πενήντα" "πεντακόσια" "πέμπτος" "πεντηκοστός" "πεντακοσιοστός" "πεντάκις" "δεκαπεντάκις" "πεντηκοντάκις" "πεντακοσάκις";
|
lin n5 = mkNum2 "πέντε" "δεκαπέντε" "πενήντα" "πεντακόσια" "πέμπτος" "πεντηκοστός" "πεντακοσιοστός" "πεντάκις" "δεκαπεντάκις" "πεντηκοντάκις" "πεντακοσάκις";
|
||||||
|
|
||||||
lin n6 = mkNum2 "έξι" "δεκαέξι" "εξήντα" "εξακόσια" "έκτος" "εξηκοστός" "εξακοσιοστός" "εξακισ" "δεκαεξάκις" "εξηκοντάκις" "εξακοσάκις" ;
|
lin n6 = mkNum2 "έξι" "δεκαέξι" "εξήντα" "εξακόσια" "έκτος" "εξηκοστός" "εξακοσιοστός" "εξάκις" "δεκαεξάκις" "εξηκοντάκις" "εξακοσάκις" ;
|
||||||
|
|
||||||
lin n7 = mkNum2 "εφτά" "δεκαεφτά" "εβδομήντα" "εφτακόσια" "έβδομος" "εβδομηκοστός" "εφτακοσιοστός" "εφτάκις" "δεκαεφτάκις" "εβδομηκοντάκις" "επτακοσάκις";
|
lin n7 = mkNum2 "εφτά" "δεκαεφτά" "εβδομήντα" "εφτακόσια" "έβδομος" "εβδομηκοστός" "εφτακοσιοστός" "εφτάκις" "δεκαεφτάκις" "εβδομηκοντάκις" "επτακοσάκις";
|
||||||
|
|
||||||
lin n8 = mkNum2 "οχτώ" "δεκαοχτώ" "ογδόντα" "οχτακόσια" "όγδοος" "ογδοηκοστός" "οχτακοσιοστός" "οχτακισ" "δεκαοκτάκις" "ογδοηκοντάκις" "οκτακοσάκις";
|
lin n8 = mkNum2 "οχτώ" "δεκαοχτώ" "ογδόντα" "οχτακόσια" "όγδοος" "ογδοηκοστός" "οχτακοσιοστός" "οχτάκις" "δεκαοκτάκις" "ογδοηκοντάκις" "οκτακοσάκις";
|
||||||
|
|
||||||
lin n9 = mkNum2 "εννιά" "δεκαεννιά" "ενενήντα" "εννιακόσια" "ένατος" "ενενηκοστός" "εννιακοσιοστός" "εννιάκις" "δεκαεννεάκις" "ενενηκοντάκις" "εννεακοσάκις";
|
lin n9 = mkNum2 "εννιά" "δεκαεννιά" "ενενήντα" "εννιακόσια" "ένατος" "ενενηκοστός" "εννιακοσιοστός" "εννιάκις" "δεκαεννεάκις" "ενενηκοντάκις" "εννεακοσάκις";
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ lin pot3 n = {
|
|||||||
lin pot3plus n m = {
|
lin pot3plus n m = {
|
||||||
s = \\co => case n.n of {
|
s = \\co => case n.n of {
|
||||||
Sg => Xilias co n.s n.n ++ cardOrdXiliaSg "χίλια" "χιλιοστός" ! co ++ m.s ! co ;
|
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} ;
|
} ** {n = Pl} ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -41,9 +41,10 @@ concrete QuestionGre of Question = CatGre ** open ResGre, Prelude in {
|
|||||||
|
|
||||||
QuestSlash ip slash = {
|
QuestSlash ip slash = {
|
||||||
s = \\t,a,p =>
|
s = \\t,a,p =>
|
||||||
let
|
let
|
||||||
cls = slash.s ! ip.a ! Inv ! t ! a ! p! Ind;
|
agr = Ag ip.a.g ip.n P3 ;
|
||||||
who = ip.s ! Masc ! slash.c2.c ++slash.c2.s
|
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 {
|
in table {
|
||||||
QDir => who ++ cls ;
|
QDir => who ++ cls ;
|
||||||
QIndir => who ++ cls
|
QIndir => who ++ cls
|
||||||
|
|||||||
@@ -4,8 +4,10 @@ concrete RelativeGre of Relative = CatGre ** open Prelude, ResGre in {
|
|||||||
|
|
||||||
lin
|
lin
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
RelCl cl = {
|
RelCl cl = {
|
||||||
s = \\ag,t,a,p,_ =>"ώστε" ++ cl.s ! Main ! t ! a ! p ! Ind ;
|
s = \\ag,t,a,p,_ =>"ώστε" ++ cl.s ! Main ! t ! a ! p ! Ind ;
|
||||||
c = Nom
|
c = Nom
|
||||||
@@ -29,10 +31,11 @@ concrete RelativeGre of Relative = CatGre ** open Prelude, ResGre in {
|
|||||||
|
|
||||||
RelSlash rp slash = {
|
RelSlash rp slash = {
|
||||||
s = \\ag,t,a,p,m =>
|
s = \\ag,t,a,p,m =>
|
||||||
let aag = complAgr ag
|
let aag = complAgr ag ;
|
||||||
|
agr = Ag rp.a.g rp.a.n P3 ;
|
||||||
in
|
in
|
||||||
slash.c2.s ++ rp.s ! False ! aag ! slash.c2.c ++
|
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
|
c = Acc
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ resource ResGre = ParamX ** open Prelude in {
|
|||||||
|
|
||||||
Form = Weak |Emphatic ;
|
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;
|
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;
|
Voice = Active | Passive;
|
||||||
@@ -173,36 +174,36 @@ resource ResGre = ParamX ** open Prelude in {
|
|||||||
in
|
in
|
||||||
case <o,t,ant,m> of {
|
case <o,t,ant,m> of {
|
||||||
<Main, TPres,Simul,Ind> => subj ++ negpm ++ clit ++ clit2 ++ verb m vo as ! t ++ comp;
|
<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 ;
|
<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 ;
|
<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 ;
|
<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 ;
|
<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 ;
|
<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 ;
|
<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;
|
<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,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 ;
|
<_, _,_,Con> => subj ++ "να" ++ negpm ++ clit ++ clit2 ++ verb m vo as! t ++ comp ;
|
||||||
<Main, _,_,Hortative> => 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> => "τα οποία"
|
<Neut,Pl> => "τα οποία"
|
||||||
};
|
};
|
||||||
Gen |CPrep P_Dat => case <ag.g, ag.n > of
|
Gen |CPrep P_Dat => case <ag.g, ag.n > of
|
||||||
{<Fem,Sg> => "της οποίας" ;
|
{<Fem,Sg> => prepCase c ++"της οποίας" ;
|
||||||
<Masc |Change |Neut,Sg> => "του οποίου" ;
|
<Masc |Change |Neut,Sg> =>prepCase c ++ "του οποίου" ;
|
||||||
<Masc |Change |Fem |Neut ,Pl> => "των οποίων"
|
<Masc |Change |Fem |Neut ,Pl> => prepCase c ++"των οποίων"
|
||||||
};
|
};
|
||||||
Acc | CPrep PNul => case <ag.g, ag.n > of
|
Acc | CPrep PNul => case <ag.g, ag.n > of
|
||||||
{<Fem,Sg> => "την οποία" ;
|
{<Fem,Sg> => prepCase c ++ "την οποία" ;
|
||||||
<Masc |Change,Sg> => "τον οποίο" ;
|
<Masc |Change,Sg> => prepCase c ++"τον οποίο" ;
|
||||||
<Neut,Sg> => "το οποίο" ;
|
<Neut,Sg> => prepCase c ++ "το οποίο" ;
|
||||||
<Fem,Pl> => "τις οποίες" ;
|
<Fem,Pl> => prepCase c ++ "τις οποίες" ;
|
||||||
<Masc |Change,Pl> => "τους οποίους" ;
|
<Masc |Change,Pl> => prepCase c ++"τους οποίους" ;
|
||||||
<Neut,Pl> => "τα οποία"
|
<Neut,Pl> => prepCase c ++"τα οποία"
|
||||||
};
|
};
|
||||||
CPrep P_se => case <ag.g, ag.n > of
|
CPrep P_se => case <ag.g, ag.n > of
|
||||||
{<Fem,Sg> => "στην οποία" ;
|
{<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, Nom|Acc |CPrep P_se |CPrep PNul > =>prepCase c++ "ένα" ;
|
||||||
<Neut,Sg, Gen|CPrep P_Dat> => "ενός";
|
<Neut,Sg, Gen|CPrep P_Dat> => "ενός";
|
||||||
<Neut ,Sg, Vocative> => " " ;
|
<Neut ,Sg, Vocative> => " " ;
|
||||||
<_ ,Pl, _> => " "
|
<_ ,Pl, _> =>prepCase c ++ " "
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
@@ -1582,13 +1583,13 @@ resource ResGre = ParamX ** open Prelude in {
|
|||||||
|
|
||||||
VNonFinite Active => "υπάρξει" ;
|
VNonFinite Active => "υπάρξει" ;
|
||||||
VNonFinite Passive => "υπάρξει" ;
|
VNonFinite Passive => "υπάρξει" ;
|
||||||
VImperative Perf Sg Active=> " " ;
|
VImperative Perf Sg Active=> "να είσαι" ;
|
||||||
VImperative Perf Pl Active=> " " ;
|
VImperative Perf Pl Active=> "να είστε" ;
|
||||||
VImperative Imperf Sg Active=> " " ;
|
VImperative Imperf Sg Active=> "να είσαι" ;
|
||||||
VImperative Imperf Pl Active=> " " ;
|
VImperative Imperf Pl Active=> "να είστε" ;
|
||||||
|
|
||||||
VImperative _ Sg Passive => " " ;
|
VImperative _ Sg Passive => "να είσαι" ;
|
||||||
VImperative _ Pl Passive=> "" ;
|
VImperative _ Pl Passive=> "να είστε" ;
|
||||||
|
|
||||||
Gerund => "όντας" ;
|
Gerund => "όντας" ;
|
||||||
|
|
||||||
@@ -1626,10 +1627,10 @@ resource ResGre = ParamX ** open Prelude in {
|
|||||||
|
|
||||||
VNonFinite Active => "υπάρξει" ;
|
VNonFinite Active => "υπάρξει" ;
|
||||||
VNonFinite Passive => "υπάρξει" ;
|
VNonFinite Passive => "υπάρξει" ;
|
||||||
VImperative Perf Sg Active=> " " ;
|
VImperative Perf Sg Active=> "να υπάρχεις" ;
|
||||||
VImperative Perf Pl Active=> " " ;
|
VImperative Perf Pl Active=> "να υπάρχετε" ;
|
||||||
VImperative Imperf Sg Active=> " " ;
|
VImperative Imperf Sg Active=> "να υπάρχεις" ;
|
||||||
VImperative Imperf Pl Active=> " " ;
|
VImperative Imperf Pl Active=> "να υπάρχετε" ;
|
||||||
|
|
||||||
VImperative _ Sg Passive=> " " ;
|
VImperative _ Sg Passive=> " " ;
|
||||||
VImperative _ Pl Passive=> "" ;
|
VImperative _ Pl Passive=> "" ;
|
||||||
@@ -1652,39 +1653,29 @@ resource ResGre = ParamX ** open Prelude in {
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
s = table {
|
s = table {
|
||||||
VPres _ Sg P1 Active _=> Exw ;
|
VPres _ Sg P1 _ _=> Exw ;
|
||||||
VPres _ Sg P2 Active _=> Ex + "εις" ;
|
VPres _ Sg P2 _ _=> Ex + "εις" ;
|
||||||
VPres _ Sg P3 Active _=> Ex + "ει" ;
|
VPres _ Sg P3 _ _=> Ex + "ει" ;
|
||||||
VPres _ Pl P1 Active _=> Ex+ "ουμε" ;
|
VPres _ Pl P1 _ _=> Ex+ "ουμε" ;
|
||||||
VPres _ Pl P2 Active _=> Ex + "ετε" ;
|
VPres _ Pl P2 _ _=> Ex + "ετε" ;
|
||||||
VPres _ Pl P3 Active _=> 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 P1 _ _=> eIxa ;
|
||||||
VPast _ Sg P2 Active _=> eIx + "ες" ;
|
VPast _ Sg P2 _ _=> eIx + "ες" ;
|
||||||
VPast _ Sg P3 Active _ => eIx + "ε" ;
|
VPast _ Sg P3 _ _ => eIx + "ε" ;
|
||||||
VPast _ Pl P1 Active _ => eIx + "αμε" ;
|
VPast _ Pl P1 _ _ => eIx + "αμε" ;
|
||||||
VPast _ Pl P2 Active _ => eIx + "ατε" ;
|
VPast _ Pl P2 _ _ => eIx + "ατε" ;
|
||||||
VPast _ Pl P3 Active _ => 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 Active => Ex + "ει" ;
|
||||||
VNonFinite Passive => " " ;
|
VNonFinite Passive => " " ;
|
||||||
|
|
||||||
VImperative Perf Sg Active=> " " ;
|
VImperative Perf Sg Active=> Exe ;
|
||||||
VImperative Perf Pl Active=> " " ;
|
VImperative Perf Pl Active=> Exe ;
|
||||||
VImperative Imperf Sg Active=> Exe ;
|
VImperative Imperf Sg Active=> Exe ;
|
||||||
VImperative Imperf Pl Active=> Exe ;
|
VImperative Imperf Pl Active=> Exe ;
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ concrete StructuralGre of Structural = CatGre **
|
|||||||
but_PConj = ss "αλλά" ;
|
but_PConj = ss "αλλά" ;
|
||||||
by8agent_Prep = mkPreposition "από";
|
by8agent_Prep = mkPreposition "από";
|
||||||
by8means_Prep = mkPreposition "από";
|
by8means_Prep = mkPreposition "από";
|
||||||
can8know_VV = mkVV (v_VerbNoPassive1 "ξέρω" "ξέρω" "ήξερα" "ήξερα" " ") ;
|
can8know_VV = mkVV (v_VerbNoPassive5 "μπορώ" "μπορέσω" "μπόρεσα" "μπορούσα" "μπόρεσε" " " ) ;
|
||||||
can_VV = mkVV (v_VerbNoPassive5 "μπορώ" "μπορέσω" "μπόρεσα" "μπορούσα" "μπόρεσε" " " ) ;
|
can_VV = mkVV (v_VerbNoPassive5 "μπορώ" "μπορέσω" "μπόρεσα" "μπορούσα" "μπόρεσε" " " ) ;
|
||||||
during_Prep = mkPreposition3 "κατα τη διάρκεια" ;
|
during_Prep = mkPreposition3 "κατα τη διάρκεια" ;
|
||||||
either7or_DConj = mkConj "είτε" "ή" plural ;
|
either7or_DConj = mkConj "είτε" "ή" plural ;
|
||||||
@@ -67,15 +67,15 @@ concrete StructuralGre of Structural = CatGre **
|
|||||||
here_Adv = ss "εδώ" ;
|
here_Adv = ss "εδώ" ;
|
||||||
here7to_Adv = ss "ως εδώ" ;
|
here7to_Adv = ss "ως εδώ" ;
|
||||||
here7from_Adv = ss "από εδώ " ;
|
here7from_Adv = ss "από εδώ " ;
|
||||||
how_IAdv = ss "πόσο" ;
|
how_IAdv = ss "πώς" ;
|
||||||
how8much_IAdv = ss "πόσο" ;
|
how8much_IAdv = ss "πόσο" ;
|
||||||
how8many_IDet = mkDeterminer "πόσοι" "πόσων" "πόσους" "πόσες" "πόσων" "πόσες" "πόσα" "πόσων" "πόσα" "πόσοι" "πόσων" "πόσους" Pl ;
|
how8many_IDet = mkDeterminer "πόσοι" "πόσων" "πόσους" "πόσες" "πόσων" "πόσες" "πόσα" "πόσων" "πόσα" "πόσα" "πόσων" "πόσα" Pl ;
|
||||||
i_Pron = mkPron "εγώ" "μου" "με" "εμένα" "εμού" Masc Sg P1 ;
|
i_Pron = mkPron "εγώ" "μου" "με" "εμένα" "εμού" Masc Sg P1 ;
|
||||||
if_Subj = ss "αν" ** {m = Ind};
|
if_Subj = ss "αν" ** {m = Ind};
|
||||||
in8front_Prep = mkPreposition "μπροστά από";
|
in8front_Prep = mkPreposition "μπροστά από";
|
||||||
in_Prep = complPrepSe;
|
in_Prep = complPrepSe;
|
||||||
it_Pron = mkPron "αυτό" "του" "το" "αυτό" "αυτού" Neut Sg P3 ;
|
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 {
|
many_Det = {s,sp = \\g,c => case <g,c> of {
|
||||||
<Masc,Nom |Vocative> => "πολλοί";
|
<Masc,Nom |Vocative> => "πολλοί";
|
||||||
@@ -88,7 +88,7 @@ concrete StructuralGre of Structural = CatGre **
|
|||||||
isNeg = False
|
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 };
|
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{
|
much_Det = {s,sp = \\g,c => case <g,c> of{
|
||||||
@@ -172,39 +172,28 @@ concrete StructuralGre of Structural = CatGre **
|
|||||||
when_IAdv = ss "πότε" ;
|
when_IAdv = ss "πότε" ;
|
||||||
when_Subj = ss "όταν" ** {m =Con} ;
|
when_Subj = ss "όταν" ** {m =Con} ;
|
||||||
where_IAdv = ss "που" ;
|
where_IAdv = ss "που" ;
|
||||||
|
|
||||||
which_IQuant = {s = table {
|
which_IQuant = {s = \\n,g,c => case <n,g,c> of {
|
||||||
Sg => table {Masc | Change=> table { Nom => "ποιός";
|
<Sg,Masc | Change,Nom |Vocative> => "ποιός";
|
||||||
Gen => "ποιού";
|
<Sg,Masc | Change,Gen|CPrep P_Dat> => "ποιού" ;
|
||||||
Acc | CPrep P_se |CPrep PNul => "ποιόν" ;
|
<Sg, Masc | Change ,Acc |CPrep P_se | CPrep PNul> => prepCase c ++ "ποιόν" ;
|
||||||
Voc => " "
|
<Sg,Fem,Nom |Vocative |Acc |CPrep P_se | CPrep PNul> => prepCase c ++ "ποιά";
|
||||||
};
|
<Sg,Fem,Gen|CPrep P_Dat > => "ποιάς" ;
|
||||||
Fem => table { Nom | Acc | CPrep P_se |CPrep PNul => "ποιά";
|
<Sg,Neut,Nom |Vocative |Acc |CPrep P_se | CPrep PNul> => prepCase c ++"ποιό";
|
||||||
Gen => "ποιάς";
|
<Sg,Neut,Gen|CPrep P_Dat > => "ποιού" ;
|
||||||
Voc => " "
|
<Pl,Masc,Nom |Vocative> => "ποιoί";
|
||||||
};
|
<Pl,Masc,Gen|CPrep P_Dat> => "ποιών" ;
|
||||||
Neut => table { Nom | Acc | CPrep P_se |CPrep PNul => "ποιό";
|
<Pl, Masc| Change, Acc|CPrep P_se | CPrep PNul> => prepCase c ++ "ποιούς" ;
|
||||||
Gen => "ποιού";
|
<Pl,Fem,Nom |Vocative |Acc |CPrep P_se | CPrep PNul> => prepCase c ++ "ποιές";
|
||||||
Voc => " "
|
<Pl,Fem,Gen|CPrep P_Dat > => "ποιών" ;
|
||||||
} };
|
<Pl,Neut | Change,Nom |Vocative |Acc |CPrep P_se | CPrep PNul> => prepCase c ++"ποιά";
|
||||||
Pl => table {Masc => table { Nom => "ποιoί";
|
<Pl,Neut | Change,Gen|CPrep P_Dat > => "ποιών" }
|
||||||
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 => " "
|
|
||||||
}}}};
|
|
||||||
|
|
||||||
whoSg_IP = {s = \\g,c => case <g,c> of {
|
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 ++ "ποιά" ;
|
<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 ++"ποιάς" ;
|
<Fem ,Gen> =>prepCase c ++"ποιάς" ;
|
||||||
<Neut | Change | Masc,Gen> => prepCase c ++"ποιού" ;
|
<Neut | Change | Masc,Gen> => prepCase c ++"ποιού" ;
|
||||||
<Masc ,Acc |CPrep P_se | CPrep PNul > => 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) ;
|
nobody_NP = nppolNeg (mkDeterminer "κανένας" "κανενός" "κανέναν" "καμία" "καμιάς" "καμία" "κανένα" "κανενός" "κανένα" "κανένας" "κανενός" "κανέναν" Sg) ;
|
||||||
nothing_NP = makeNP "τίποτα" Sg Neut True;
|
nothing_NP = makeNP "τίποτα" Sg Neut True;
|
||||||
except_Prep = mkPreposition "εκτός απο";
|
except_Prep = mkPreposition "εκτός απο";
|
||||||
as_CAdv = {s="τόσο"; p="όσο" ; c= Nom} ;
|
as_CAdv = {s,s2="τόσο"; p="όσο" ; c= Nom} ;
|
||||||
have_V2 = dirV2 (mkAux "έχω" "είχα" "έχε" "έχετε" "έχων" ** {lock_V = <>}) ;
|
have_V2 = dirV2 (mkAux "έχω" "είχα" "έχε" "έχετε" "έχων" ** {lock_V = <>}) ;
|
||||||
lin language_title_Utt = ss "Ελληνικά" ;
|
lin language_title_Utt = ss "Ελληνικά" ;
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ concrete VerbGre of Verb = CatGre ** open ResGre,CommonGre, Prelude in {
|
|||||||
|
|
||||||
ComplVV v vp =
|
ComplVV v vp =
|
||||||
insertComplement (\\a => case a of {
|
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 =
|
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) ** {
|
SlashV2V v vp = mkVPSlash v.c2 ( predV v) ** {
|
||||||
n3 = \\a =>
|
n3 = \\a =>
|
||||||
let agr = clitAgr a
|
let agr = clitAgr a ;
|
||||||
|
vo = vp.voice ;
|
||||||
|
as = vp.aspect
|
||||||
in
|
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
|
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 )** {
|
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
|
c2 = v.c2
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -61,16 +63,18 @@ concrete VerbGre of Verb = CatGre ** open ResGre,CommonGre, Prelude in {
|
|||||||
|
|
||||||
SlashVV v vp =
|
SlashVV v vp =
|
||||||
insertComplement (\\a => case a of {
|
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} ;
|
(predV v) ** {n3 = vp.n3 ; c2 = vp.c2} ;
|
||||||
|
|
||||||
|
|
||||||
SlashV2VNP v np vp =
|
SlashV2VNP v np vp =
|
||||||
mkVPSlash vp.c2( insertObject v.c2 np (predV v)) ** {
|
mkVPSlash vp.c2( insertObject v.c2 np (predV v)) ** {
|
||||||
n3 = \\a =>
|
n3 = \\a =>
|
||||||
let agr = clitAgr a
|
let agr = clitAgr a ;
|
||||||
|
vo=vp.voice ;
|
||||||
|
as =vp.aspect
|
||||||
in
|
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
|
c2 = v.c2
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -79,15 +83,16 @@ concrete VerbGre of Verb = CatGre ** open ResGre,CommonGre, Prelude in {
|
|||||||
|
|
||||||
UseComp comp = insertComplement comp.s (predV copula) ;
|
UseComp comp = insertComplement comp.s (predV copula) ;
|
||||||
|
|
||||||
PassV2 v = {
|
PassV2 v = let vp = predV v in {
|
||||||
v = v ;
|
v = v ;
|
||||||
clit = [] ;
|
clit = [] ;
|
||||||
clit2 = [] ;
|
clit2 = [] ;
|
||||||
comp = \\a => [] ;
|
comp = \\a => [] ;
|
||||||
isNeg = False;
|
isNeg = False;
|
||||||
voice = Passive ;
|
voice = Passive ;
|
||||||
aspect = Perf ;
|
aspect = vp.aspect;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
AdvVP vp adv = insertAdv adv.s vp ;
|
AdvVP vp adv = insertAdv adv.s vp ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user