mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-24 03:52:50 -06:00
Fixes in Catalan which_IQuant; added 2- and 3-arg smart paradigms for verbs + made 1-arg smart paradigm better
This commit is contained in:
@@ -5354,7 +5354,7 @@ let t_ = Predef.tk 5 t
|
|||||||
VI Part => t_ + "ort" ;
|
VI Part => t_ + "ort" ;
|
||||||
-- VI Part => t_ + "orçut" ; -- AR why duplicate?
|
-- VI Part => t_ + "orçut" ; -- AR why duplicate?
|
||||||
VP (Pres Ind Pl P1) => t_ + "orcem" ;
|
VP (Pres Ind Pl P1) => t_ + "orcem" ;
|
||||||
VP (Pres Ind Sg P1) => t_ + "orcem" ;
|
VP (Pres Ind Sg P1) => t_ + "orço" ;
|
||||||
VP (Pres Ind Pl P2) => t_ + "orceu" ;
|
VP (Pres Ind Pl P2) => t_ + "orceu" ;
|
||||||
VP (Pres Ind Sg P2) => t_ + "orces" ;
|
VP (Pres Ind Sg P2) => t_ + "orces" ;
|
||||||
VP (Pres Ind Pl P3) => t_ + "orcen" ;
|
VP (Pres Ind Pl P3) => t_ + "orcen" ;
|
||||||
@@ -6044,8 +6044,92 @@ VP (Imp Sg P1) => variants {}
|
|||||||
VGer => amar.s ! VI Ger
|
VGer => amar.s ! VI Ger
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
--
|
|
||||||
--
|
|
||||||
|
--Meta paradigms for verbs that end in -er.
|
||||||
|
--Handles accents in infinitive and changes for j/g, ç/c.
|
||||||
|
oper verbEr : Str -> Verbum = \vèncer ->
|
||||||
|
let vènc = Predef.tk 2 vèncer ;
|
||||||
|
venc = deaccent vènc ;
|
||||||
|
venç = soften venc ;
|
||||||
|
in {s = table {
|
||||||
|
VI Ger => venc + "ent" ;
|
||||||
|
VI Part => venç + "ut" ;
|
||||||
|
VP (Pres Ind Pl P1) => venc + "em" ;
|
||||||
|
VP (Pres Ind Sg P1) => venç + "o" ;
|
||||||
|
VP (Pres Ind Pl P2) => venc + "eu" ;
|
||||||
|
VP (Pres Ind Sg P2) => venc + "es" ;
|
||||||
|
VP (Pres Ind Pl P3) => venc + "en" ;
|
||||||
|
VP (Pres Ind Sg P3) => venç ;
|
||||||
|
VP (Pres Sub Pl P1) => venc + "em" ;
|
||||||
|
VP (Pres Sub Sg P1) => venc + "i" ;
|
||||||
|
VP (Pres Sub Pl P2) => venc + "eu" ;
|
||||||
|
VP (Pres Sub Sg P2) => venc + "is" ;
|
||||||
|
VP (Pres Sub Pl P3) => venc + "in" ;
|
||||||
|
VP (Pres Sub Sg P3) => venc + "i" ;
|
||||||
|
VP (Impf Ind Pl P1) => venc + "íem" ;--# notpresent
|
||||||
|
VP (Impf Ind Sg P1) => venc + "ia" ;--# notpresent
|
||||||
|
VP (Impf Ind Pl P2) => venc + "íeu" ;--# notpresent
|
||||||
|
VP (Impf Ind Sg P2) => venc + "ies" ;--# notpresent
|
||||||
|
VP (Impf Ind Pl P3) => venc + "ien" ;--# notpresent
|
||||||
|
VP (Impf Ind Sg P3) => venc + "ia" ;--# notpresent
|
||||||
|
VP (Impf Sub Pl P1) => venc + "éssim" ;--# notpresent
|
||||||
|
VP (Impf Sub Sg P1) => venc + "és" ;--# notpresent
|
||||||
|
VP (Impf Sub Pl P2) => venc + "éssiu" ;--# notpresent
|
||||||
|
VP (Impf Sub Sg P2) => venc + "essis" ;--# notpresent
|
||||||
|
VP (Impf Sub Pl P3) => venc + "essin" ;--# notpresent
|
||||||
|
VP (Impf Sub Sg P3) => venc + "és" ;--# notpresent
|
||||||
|
VP (Fut Pl P1) => venc + "erem" ;--# notpresent
|
||||||
|
VP (Fut Sg P1) => venc + "eré" ;--# notpresent
|
||||||
|
VP (Fut Pl P2) => venc + "ereu" ;--# notpresent
|
||||||
|
VP (Fut Sg P2) => venc + "eràs" ;--# notpresent
|
||||||
|
VP (Fut Pl P3) => venc + "eran" ;--# notpresent
|
||||||
|
VP (Fut Sg P3) => venc + "erà" ;--# notpresent
|
||||||
|
VP (Pret Pl P1) => venc + "éssim" ;--# notpresent
|
||||||
|
VP (Pret Sg P1) => venc + "és" ;--# notpresent
|
||||||
|
VP (Pret Pl P2) => venc + "éssiu" ;--# notpresent
|
||||||
|
VP (Pret Sg P2) => venc + "essis" ;--# notpresent
|
||||||
|
VP (Pret Pl P3) => venc + "essin" ;--# notpresent
|
||||||
|
VP (Pret Sg P3) => venc + "és" ;--# notpresent
|
||||||
|
VP (Cond Pl P1) => venc + "eríem" ;--# notpresent
|
||||||
|
VP (Cond Sg P1) => venc + "eria" ;--# notpresent
|
||||||
|
VP (Cond Pl P2) => venc + "eríeu" ;--# notpresent
|
||||||
|
VP (Cond Sg P2) => venc + "eries" ;--# notpresent
|
||||||
|
VP (Cond Pl P3) => venc + "erien" ;--# notpresent
|
||||||
|
VP (Cond Sg P3) => venc + "eria" ;--# notpresent
|
||||||
|
VP (Imp Pl P1) => venc + "em" ;
|
||||||
|
VP (Imp Pl P2) => venc + "eu" ;
|
||||||
|
VP (Imp Sg P2) => venç ;
|
||||||
|
VP (Imp Pl P3) => venc + "in" ;
|
||||||
|
VP (Imp Sg P3) => venc + "i" ;
|
||||||
|
VP (Pass Pl Fem) => venç + "udes" ;
|
||||||
|
VP (Pass Sg Fem) => venç + "uda" ;
|
||||||
|
VP (Pass Pl Masc) => venç + "uts" ;
|
||||||
|
VP (Pass Sg Masc) => venç + "ut" ;
|
||||||
|
VI Infn => vèncer ;
|
||||||
|
VP (Imp Sg P1) => variants {}
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
oper deaccent : Str -> Str = \témer ->
|
||||||
|
case témer of {
|
||||||
|
t@_ + "à" + mer@_ => t + "a" + mer ;
|
||||||
|
t@_ + "é" + mer@_ => t + "e" + mer ;
|
||||||
|
t@_ + "è" + mer@_ => t + "e" + mer ;
|
||||||
|
t@_ + "í" + mer@_ => t + "i" + mer ;
|
||||||
|
t@_ + "ó" + mer@_ => t + "o" + mer ;
|
||||||
|
t@_ + "ò" + mer@_ => t + "o" + mer ;
|
||||||
|
t@_ + "ú" + mer@_ => t + "u" + mer ;
|
||||||
|
_ => témer
|
||||||
|
} ;
|
||||||
|
|
||||||
|
oper soften : Str -> Str = \venc ->
|
||||||
|
case venc of {
|
||||||
|
ven + "c" => ven + "ç" ;
|
||||||
|
men + "g" => men + "j" ;
|
||||||
|
_ => venc
|
||||||
|
} ;
|
||||||
---- The full conjunction is a table on $VForm$:
|
---- The full conjunction is a table on $VForm$:
|
||||||
--
|
--
|
||||||
param
|
param
|
||||||
|
|||||||
@@ -20,14 +20,14 @@ lin
|
|||||||
apartment_N = regMN "pis" ;
|
apartment_N = regMN "pis" ;
|
||||||
apple_N = regFN "poma" ;
|
apple_N = regFN "poma" ;
|
||||||
art_N = regMN "art" ;
|
art_N = regMN "art" ;
|
||||||
ask_V2Q = mkV2Q (regV "preguntar") dative ;
|
ask_V2Q = mkV2Q (mkV "preguntar") dative ;
|
||||||
baby_N = regMN "nadó" ;
|
baby_N = regMN "nadó" ;
|
||||||
bad_A = mkADeg (regA "dolent") (regA "pitjor") ;
|
bad_A = mkADeg (regA "dolent") (regA "pitjor") ;
|
||||||
bank_N = regMN "banc" ;
|
bank_N = regMN "banc" ;
|
||||||
beautiful_A = prefA (regADeg "bell") ;
|
beautiful_A = prefA (regADeg "bell") ;
|
||||||
become_VA = reflV (regV "tornar") ; -- esdevenir
|
become_VA = reflV (mkV "tornar") ; -- esdevenir
|
||||||
beer_N = regFN "cervesa" ;
|
beer_N = regFN "cervesa" ;
|
||||||
beg_V2V = mkV2V (regV "demanar") accusative dative ;
|
beg_V2V = mkV2V (mkV "demanar") accusative dative ;
|
||||||
big_A = regADeg "gros" ;
|
big_A = regADeg "gros" ;
|
||||||
bike_N = regFN "bicicleta" ;
|
bike_N = regFN "bicicleta" ;
|
||||||
bird_N = regMN "ocell" ;
|
bird_N = regMN "ocell" ;
|
||||||
@@ -44,7 +44,7 @@ lin
|
|||||||
brother_N2 = deN2 (regMN "germà") ;
|
brother_N2 = deN2 (regMN "germà") ;
|
||||||
brown_A = compADeg (mkA "marró" "marrona" "marrons" "marrones" "marronament") ;
|
brown_A = compADeg (mkA "marró" "marrona" "marrons" "marrones" "marronament") ;
|
||||||
butter_N = regFN "mantega" ;
|
butter_N = regFN "mantega" ;
|
||||||
buy_V2 = dirV2 (regV "comprar") ;
|
buy_V2 = dirV2 (mkV "comprar") ;
|
||||||
camera_N = regFN "càmara" ;
|
camera_N = regFN "càmara" ;
|
||||||
cap_N = regFN "gorra" ;
|
cap_N = regFN "gorra" ;
|
||||||
car_N = regMN "cotxe" ;
|
car_N = regMN "cotxe" ;
|
||||||
@@ -80,10 +80,10 @@ lin
|
|||||||
factory_N = regFN "fàbrica" ;
|
factory_N = regFN "fàbrica" ;
|
||||||
father_N2 = deN2 (regMN "pare") ;
|
father_N2 = deN2 (regMN "pare") ;
|
||||||
fear_VS = mkVS (verbV (témer_107 "témer")) ;
|
fear_VS = mkVS (verbV (témer_107 "témer")) ;
|
||||||
find_V2 = dirV2 (regV "trobar") ;
|
find_V2 = dirV2 (mkV "trobar") ;
|
||||||
fish_N = regMN "peix" ;
|
fish_N = regMN "peix" ;
|
||||||
floor_N = regMN "terra" ; -- sòl
|
floor_N = regMN "terra" ; -- sòl
|
||||||
forget_V2 = dirV2 (regV "oblidar") ;
|
forget_V2 = dirV2 (mkV "oblidar") ;
|
||||||
fridge_N = regFN "nevera" ;
|
fridge_N = regFN "nevera" ;
|
||||||
friend_N = regMN "amic" ; -- amiga
|
friend_N = regMN "amic" ; -- amiga
|
||||||
fruit_N = regFN "fruita" ;
|
fruit_N = regFN "fruita" ;
|
||||||
@@ -98,9 +98,9 @@ lin
|
|||||||
harbour_N = regMN "port" ;
|
harbour_N = regMN "port" ;
|
||||||
hate_V2 = dirV2 (verbV (canviar_16 "odiar")) ;
|
hate_V2 = dirV2 (verbV (canviar_16 "odiar")) ;
|
||||||
hat_N = regMN "barret" ;
|
hat_N = regMN "barret" ;
|
||||||
hear_V2 = mkV2 (regV "escoltar") dative ; -- Must be "oir". Add it to Besch
|
hear_V2 = mkV2 (mkV "escoltar") dative ; -- Must be "oir". Add it to Besch
|
||||||
hill_N = regMN "turó" ;
|
hill_N = regMN "turó" ;
|
||||||
hope_VS = mkVS (regV "esperar") ;
|
hope_VS = mkVS (mkV "esperar") ;
|
||||||
horse_N = regMN "cavall" ;
|
horse_N = regMN "cavall" ;
|
||||||
hot_A = regADeg "calent" ;
|
hot_A = regADeg "calent" ;
|
||||||
house_N = regFN "casa" ;
|
house_N = regFN "casa" ;
|
||||||
@@ -115,14 +115,14 @@ lin
|
|||||||
lamp_N = regFN "làmpada" ;
|
lamp_N = regFN "làmpada" ;
|
||||||
learn_V2 = dirV2 (verbV (aprendre_6 "aprendre")) ;
|
learn_V2 = dirV2 (verbV (aprendre_6 "aprendre")) ;
|
||||||
leather_N = regMN "cuiro" ;
|
leather_N = regMN "cuiro" ;
|
||||||
leave_V2 = dirV2 (regV "partir") ;
|
leave_V2 = dirV2 (mkV "partir") ;
|
||||||
like_V2 = dirV2 (verbV (canviar_16 "apreciar")) ;
|
like_V2 = dirV2 (verbV (canviar_16 "apreciar")) ;
|
||||||
listen_V2 = dirV2 (regV "escoltar") ;
|
listen_V2 = dirV2 (mkV "escoltar") ;
|
||||||
live_V = verbV (viure_119 "viure") ;
|
live_V = verbV (viure_119 "viure") ;
|
||||||
long_A = regADeg "llarg" ;
|
long_A = regADeg "llarg" ;
|
||||||
lose_V2 = dirV2 (verbV (perdre_83 "perdre")) ;
|
lose_V2 = dirV2 (verbV (perdre_83 "perdre")) ;
|
||||||
love_N = regMN "amor" ;
|
love_N = regMN "amor" ;
|
||||||
love_V2 = dirV2 (regV "estimar") ;
|
love_V2 = dirV2 (mkV "estimar") ;
|
||||||
man_N = regMN "home" ; -- masc
|
man_N = regMN "home" ; -- masc
|
||||||
married_A2 = mkA2 (regA "casat") dative ;
|
married_A2 = mkA2 (regA "casat") dative ;
|
||||||
meat_N = regFN "carn" ;
|
meat_N = regFN "carn" ;
|
||||||
@@ -137,7 +137,7 @@ lin
|
|||||||
oil_N = regMN "oli" ;
|
oil_N = regMN "oli" ;
|
||||||
old_A = regADeg "vell" ;
|
old_A = regADeg "vell" ;
|
||||||
open_V2 = dirV2 (verbV (obrir_77 "obrir")) ;
|
open_V2 = dirV2 (verbV (obrir_77 "obrir")) ;
|
||||||
paint_V2A = mkV2A (regV "pintar") accusative (mkPrep "en") ;
|
paint_V2A = mkV2A (mkV "pintar") accusative (mkPrep "en") ;
|
||||||
paper_N = regMN "paper" ;
|
paper_N = regMN "paper" ;
|
||||||
paris_PN = mkPN "Paris" masculine ;
|
paris_PN = mkPN "Paris" masculine ;
|
||||||
peace_N = regFN "pau" ;
|
peace_N = regFN "pau" ;
|
||||||
@@ -180,7 +180,7 @@ lin
|
|||||||
small_A = prefA (mkA "petit" "petita" "petits" "petites" "petitament") ;
|
small_A = prefA (mkA "petit" "petita" "petits" "petites" "petitament") ;
|
||||||
snake_N = regFN "serp" ; -- fem
|
snake_N = regFN "serp" ; -- fem
|
||||||
sock_N = regMN "mitjó" ;
|
sock_N = regMN "mitjó" ;
|
||||||
speak_V2 = dirV2 (regV "parlar") ;
|
speak_V2 = dirV2 (mkV "parlar") ;
|
||||||
star_N = regFN "estrella" ;
|
star_N = regFN "estrella" ;
|
||||||
steel_N = regMN "acer" ;
|
steel_N = regMN "acer" ;
|
||||||
stone_N = regFN "pedra" ;
|
stone_N = regFN "pedra" ;
|
||||||
@@ -191,9 +191,9 @@ lin
|
|||||||
switch8off_V2 = dirV2 (verbV (pregar_86 "apagar")) ;
|
switch8off_V2 = dirV2 (verbV (pregar_86 "apagar")) ;
|
||||||
switch8on_V2 = dirV2 (verbV (atendre_8 "encendre")) ;
|
switch8on_V2 = dirV2 (verbV (atendre_8 "encendre")) ;
|
||||||
table_N = regFN "taula" ;
|
table_N = regFN "taula" ;
|
||||||
talk_V3 = mkV3 (regV "parlar") dative genitive ;
|
talk_V3 = mkV3 (mkV "parlar") dative genitive ;
|
||||||
teacher_N = regMN "mestre" ; -- mestra
|
teacher_N = regMN "mestre" ; -- mestra
|
||||||
teach_V2 = dirV2 (regV "ensenyar") ;
|
teach_V2 = dirV2 (mkV "ensenyar") ;
|
||||||
television_N = mkN "televisió" "televisions" feminine ; -- televisor masc
|
television_N = mkN "televisió" "televisions" feminine ; -- televisor masc
|
||||||
thick_A = compADeg (mkA "gruixut" "gruixuda" "gruixuts" "gruixudes" "gruixudament") ;
|
thick_A = compADeg (mkA "gruixut" "gruixuda" "gruixuts" "gruixudes" "gruixudament") ;
|
||||||
thin_A = compADeg (mkA "fi" "fina" "fins" "fines" "finament") ;
|
thin_A = compADeg (mkA "fi" "fina" "fins" "fines" "finament") ;
|
||||||
@@ -205,18 +205,18 @@ lin
|
|||||||
understand_V2 = dirV2 (verbV (atendre_8 "entendre")) ;
|
understand_V2 = dirV2 (verbV (atendre_8 "entendre")) ;
|
||||||
university_N = regFN "universitat" ;
|
university_N = regFN "universitat" ;
|
||||||
village_N = regMN "poble" ;
|
village_N = regMN "poble" ;
|
||||||
wait_V2 = mkV2 (regV "esperar") dative ;
|
wait_V2 = mkV2 (mkV "esperar") dative ;
|
||||||
walk_V = regV "caminar" ;
|
walk_V = mkV "caminar" ;
|
||||||
warm_A = compADeg (mkA "tebi" "tèbia" "tebis" "tèbies" "tèbiament") ;
|
warm_A = compADeg (mkA "tebi" "tèbia" "tebis" "tèbies" "tèbiament") ;
|
||||||
war_N = regFN "guerra" ;
|
war_N = regFN "guerra" ;
|
||||||
watch_V2 = dirV2 (regV "mirar") ;
|
watch_V2 = dirV2 (mkV "mirar") ;
|
||||||
water_N = regFN "aigua" ;
|
water_N = regFN "aigua" ;
|
||||||
white_A = compADeg (mkA "blanc" "blanca" "blancs" "blanques" "blancament") ;
|
white_A = compADeg (mkA "blanc" "blanca" "blancs" "blanques" "blancament") ;
|
||||||
window_N = regFN "finestra" ;
|
window_N = regFN "finestra" ;
|
||||||
wine_N = regMN "vi" ;
|
wine_N = regMN "vi" ;
|
||||||
win_V2 = dirV2 (regV "guanyar") ;
|
win_V2 = dirV2 (mkV "guanyar") ;
|
||||||
woman_N = regFN "dona" ;
|
woman_N = regFN "dona" ;
|
||||||
wonder_VQ = mkVQ (reflV (regV "preguntar")) ;
|
wonder_VQ = mkVQ (reflV (mkV "preguntar")) ;
|
||||||
wood_N = regFN "fusta" ;
|
wood_N = regFN "fusta" ;
|
||||||
write_V2 = dirV2 (verbV (escriure_50 "escriure")) ;
|
write_V2 = dirV2 (verbV (escriure_50 "escriure")) ;
|
||||||
yellow_A = compADeg (mkA "groc" "groga" "grocs" "grogues" "grogament") ;
|
yellow_A = compADeg (mkA "groc" "groga" "grocs" "grogues" "grogament") ;
|
||||||
@@ -225,11 +225,11 @@ lin
|
|||||||
now_Adv = mkAdv "ara" ;
|
now_Adv = mkAdv "ara" ;
|
||||||
already_Adv = mkAdv "ja" ;
|
already_Adv = mkAdv "ja" ;
|
||||||
song_N = mkN "cançó" "cançons" feminine ;
|
song_N = mkN "cançó" "cançons" feminine ;
|
||||||
add_V3 = dirV3 (regV "afegir") dative ; -- also: (regV "sumar")
|
add_V3 = dirV3 (mkV "afegir") dative ; -- also: (mkV "sumar")
|
||||||
number_N = regMN "número" ;
|
number_N = regMN "número" ;
|
||||||
put_V2 = dirV2 (regV "posar") ;
|
put_V2 = dirV2 (mkV "posar") ;
|
||||||
stop_V = regV "aturar" ;
|
stop_V = mkV "aturar" ;
|
||||||
jump_V = regV "saltar" ;
|
jump_V = mkV "saltar" ;
|
||||||
left_Ord = M.mkOrd (regA "esquerra") ;
|
left_Ord = M.mkOrd (regA "esquerra") ;
|
||||||
right_Ord = M.mkOrd (regA "dreta") ;
|
right_Ord = M.mkOrd (regA "dreta") ;
|
||||||
far_Adv = mkAdv "lluny" ;
|
far_Adv = mkAdv "lluny" ;
|
||||||
@@ -310,50 +310,50 @@ lin
|
|||||||
worm_N = regMN "cuc" ;
|
worm_N = regMN "cuc" ;
|
||||||
year_N = regMN "any" ;
|
year_N = regMN "any" ;
|
||||||
bite_V2 = dirV2 (verbV (pregar_86 "mossegar")) ;
|
bite_V2 = dirV2 (verbV (pregar_86 "mossegar")) ;
|
||||||
blow_V = regV "bufar" ;
|
blow_V = mkV "bufar" ;
|
||||||
burn_V = regV "cremar" ;
|
burn_V = mkV "cremar" ;
|
||||||
count_V2 = dirV2 (regV "comptar") ;
|
count_V2 = dirV2 (mkV "comptar") ;
|
||||||
cut_V2 = dirV2 (regV "tallar") ;
|
cut_V2 = dirV2 (mkV "tallar") ;
|
||||||
dig_V = regV "cavar" ;
|
dig_V = mkV "cavar" ;
|
||||||
fall_V = verbV (caure_18 "caure") ;
|
fall_V = verbV (caure_18 "caure") ;
|
||||||
fear_V2 = dirV2 (verbV (témer_107 "témer")) ;
|
fear_V2 = dirV2 (verbV (témer_107 "témer")) ;
|
||||||
fight_V2 = dirV2 (regV "lluitar") ;
|
fight_V2 = dirV2 (mkV "lluitar") ;
|
||||||
float_V = regV "surar" ;
|
float_V = mkV "surar" ;
|
||||||
flow_V = verbV (reduir_94 "fluir") ; -- also: regV "circular"
|
flow_V = verbV (reduir_94 "fluir") ; -- also: mkV "circular"
|
||||||
fly_V = regV "volar" ;
|
fly_V = mkV "volar" ;
|
||||||
freeze_V = regV "congelar" ;
|
freeze_V = mkV "congelar" ;
|
||||||
give_V3 = dirdirV3 (verbV (donar_43 "donar")) ;
|
give_V3 = dirdirV3 (verbV (donar_43 "donar")) ;
|
||||||
hit_V2 = dirV2 (verbV (trencar_112 "picar")) ;
|
hit_V2 = dirV2 (verbV (trencar_112 "picar")) ;
|
||||||
hold_V2 = dirV2 (verbV (obtenir_78 "sostenir")) ;
|
hold_V2 = dirV2 (verbV (obtenir_78 "sostenir")) ;
|
||||||
hunt_V2 = dirV2 (verbV (començar_22 "caçar")) ;
|
hunt_V2 = dirV2 (verbV (començar_22 "caçar")) ;
|
||||||
kill_V2 = dirV2 (regV "matar") ;
|
kill_V2 = dirV2 (mkV "matar") ;
|
||||||
laugh_V = verbV (riure_96 "riure") ;
|
laugh_V = verbV (riure_96 "riure") ;
|
||||||
lie_V = reflV (verbV (jeure_62 "jeure")) ;
|
lie_V = reflV (verbV (jeure_62 "jeure")) ;
|
||||||
play_V = verbV (pregar_86 "jugar") ;
|
play_V = verbV (pregar_86 "jugar") ;
|
||||||
pull_V2 = dirV2 (regV "tibar") ;
|
pull_V2 = dirV2 (mkV "tibar") ;
|
||||||
push_V2 = dirV2 (verbV (atènyer_59 "empènyer")) ;
|
push_V2 = dirV2 (verbV (atènyer_59 "empènyer")) ;
|
||||||
rub_V2 = dirV2 (verbV (pregar_86 "refregar")) ;
|
rub_V2 = dirV2 (verbV (pregar_86 "refregar")) ;
|
||||||
scratch_V2 = dirV2 (regV "gratar") ;
|
scratch_V2 = dirV2 (mkV "gratar") ;
|
||||||
sew_V = verbV (cosir_31 "cosir") ;
|
sew_V = verbV (cosir_31 "cosir") ;
|
||||||
sing_V = regV "cantar" ;
|
sing_V = mkV "cantar" ;
|
||||||
sit_V = reflV (verbV (seure_102 "seure")) ;
|
sit_V = reflV (verbV (seure_102 "seure")) ;
|
||||||
smell_V = regV "ensumar" ;
|
smell_V = mkV "ensumar" ;
|
||||||
spit_V = verbV (escopir_49 "escopir") ;
|
spit_V = verbV (escopir_49 "escopir") ;
|
||||||
split_V2 = dirV2 (regV "separar") ; -- dividir,) ;
|
split_V2 = dirV2 (mkV "separar") ; -- dividir,) ;
|
||||||
squeeze_V2 = dirV2 (verbV (servir_101 "exprimir")) ;
|
squeeze_V2 = dirV2 (verbV (servir_101 "exprimir")) ;
|
||||||
stab_V2 = dirV2 (regV "apunyalar") ;
|
stab_V2 = dirV2 (mkV "apunyalar") ;
|
||||||
stand_V = verbV (estar_54 "estar") ; ---- "estar dret"
|
stand_V = verbV (estar_54 "estar") ; ---- "estar dret"
|
||||||
suck_V2 = dirV2 (regV "xuclar") ;
|
suck_V2 = dirV2 (mkV "xuclar") ;
|
||||||
swell_V = regV "inflar" ;
|
swell_V = mkV "inflar" ;
|
||||||
swim_V = regV "nedar" ;
|
swim_V = mkV "nedar" ;
|
||||||
think_V = regV "pensar" ;
|
think_V = mkV "pensar" ;
|
||||||
throw_V2 = dirV2 (verbV (començar_22 "llençar")) ;
|
throw_V2 = dirV2 (verbV (començar_22 "llençar")) ;
|
||||||
tie_V2 = dirV2 (verbV (pregar_86 "lligar")) ;
|
tie_V2 = dirV2 (verbV (pregar_86 "lligar")) ;
|
||||||
turn_V = regV "girar" ;
|
turn_V = mkV "girar" ;
|
||||||
vomit_V = regV "vomitar" ;
|
vomit_V = mkV "vomitar" ;
|
||||||
wash_V2 = dirV2 (regV "rentar") ;
|
wash_V2 = dirV2 (mkV "rentar") ;
|
||||||
wipe_V2 = dirV2 (verbV (pregar_86 "eixugar")) ;
|
wipe_V2 = dirV2 (verbV (pregar_86 "eixugar")) ;
|
||||||
breathe_V = regV "respirar" ;
|
breathe_V = mkV "respirar" ;
|
||||||
john_PN = mkPN "Joan" masculine ;
|
john_PN = mkPN "Joan" masculine ;
|
||||||
today_Adv = mkAdv "avui" ;
|
today_Adv = mkAdv "avui" ;
|
||||||
|
|
||||||
|
|||||||
@@ -200,10 +200,11 @@ oper
|
|||||||
|
|
||||||
mkV : (cantar : Str) -> V ; -- regular in models I, IIa, IIb
|
mkV : (cantar : Str) -> V ; -- regular in models I, IIa, IIb
|
||||||
|
|
||||||
-- Verbs with vowel alternatition in the stem - easiest to give with
|
-- Verbs with predictable alternation:
|
||||||
-- two forms, e.g. "mostrar"/"muestro". TODO
|
-- a) inchoative verbs, servir serveixo
|
||||||
|
-- b) re verbs with c/g in root, vendre venc ; subj. vengui
|
||||||
|
|
||||||
--JS: Needed? mkV : (mostrar,muestro : Str) -> V ;
|
mkV : (servir,serveixo : Str) -> V ; --inchoative verbs and "re" verbs whose 1st person ends in c
|
||||||
|
|
||||||
-- Most irregular verbs are found in $IrregCat$. If this is not enough,
|
-- Most irregular verbs are found in $IrregCat$. If this is not enough,
|
||||||
-- the module $BeschCat$ gives all the patterns of the "Bescherelle"
|
-- the module $BeschCat$ gives all the patterns of the "Bescherelle"
|
||||||
@@ -340,15 +341,50 @@ oper
|
|||||||
mkAdV x = ss x ** {lock_AdV = <>} ;
|
mkAdV x = ss x ** {lock_AdV = <>} ;
|
||||||
mkAdA x = ss x ** {lock_AdA = <>} ;
|
mkAdA x = ss x ** {lock_AdA = <>} ;
|
||||||
|
|
||||||
regV x = -- cantar, perdre, tÈmer, dormir, (servir)
|
regV x = -- cantar, perdre, témer, dormir, (servir)
|
||||||
let
|
case (Predef.dp 3 x) of {
|
||||||
verb = case (Predef.dp 2 x) of {
|
"jar" => envejar_48 x ;
|
||||||
"re" => perdre_83 x ;
|
"çar" => començar_22 x ;
|
||||||
"er" => témer_107 x ;
|
"gir" => fugir_58 x ;
|
||||||
"ir" => dormir_44 x ; -- JS TODO: Consider "servir"
|
"ure" => beure_11 x ;
|
||||||
_ => cantar_15 x
|
_ + "re" => perdre_83 x ;
|
||||||
}
|
_ + "er" => verbEr x ; -- handles accents in infinitives & c/ç, g/j
|
||||||
in verbBesch verb ** {vtyp = VHabere ; lock_V = <>} ;
|
_ + "ir" => dormir_44 x ; -- inchoative verbs with regAltV
|
||||||
|
_ + "ur" => dur_45 x ;
|
||||||
|
_ => cantar_15 x } ;
|
||||||
|
|
||||||
|
regAltV x y =
|
||||||
|
let ure = Predef.dp 3 x ;
|
||||||
|
venc = Predef.dp 4 y ;
|
||||||
|
in case <ure,venc> of {
|
||||||
|
<"ure",_> => regV x ; --caure,viure etc. with non-smart paradigms
|
||||||
|
|
||||||
|
<_+"ir",_+"ixo"> => servir_101 x ;
|
||||||
|
<_+"ir","tinc"> => tenir_108 x ; --tenir,obtenir, ...
|
||||||
|
<_+"ir","vinc"> => venir_117 x ; --venir,prevenir, ...
|
||||||
|
<_+"ir","tenc"> => tenir_108 x ; --recognises balear, returns central
|
||||||
|
<_+"ir","venc"> => venir_117 x ;
|
||||||
|
|
||||||
|
<_+"er",_+"ig"> => fer_56 x ;
|
||||||
|
<_+"re",_+"ig"> => veure_118 x ;
|
||||||
|
<_+"ar",_+"ig"> => anar_4 x ;
|
||||||
|
<_+"er",_+ "c"> => valer_114 x ;
|
||||||
|
<_+"re",_+ "c"> => absoldre_1 x ; --participes of type "absolt"
|
||||||
|
--for other types, mk3V
|
||||||
|
<_ ,_> => regV x } ;
|
||||||
|
|
||||||
|
mk3V x y z =
|
||||||
|
let ure = Predef.dp 3 x ;
|
||||||
|
venc = Predef.dp 4 y ;
|
||||||
|
ut = Predef.dp 2 z
|
||||||
|
in case <ure,venc,ut> of {
|
||||||
|
<"ure",_,_> => regAltV x y ;
|
||||||
|
<_,_,"st"> => veure_118 x ; --TODO check
|
||||||
|
<_,_,"it"> => coure_32 x ; --TODO check
|
||||||
|
<"dre",_,"ut"> => vendre_116 x ;
|
||||||
|
<_+"re",_,"ès"> => atendre_8 x ;
|
||||||
|
<_+"re",_,"às"> => romandre_97 x ;
|
||||||
|
<_,_,_> => regAltV x y } ;
|
||||||
|
|
||||||
reflV v = {s = v.s ; vtyp = VRefl ; lock_V = <>} ;
|
reflV v = {s = v.s ; vtyp = VRefl ; lock_V = <>} ;
|
||||||
|
|
||||||
@@ -365,7 +401,7 @@ oper
|
|||||||
vtyp = VHabere
|
vtyp = VHabere
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- regAltV x y = verbV (regAlternV x y) ;
|
|
||||||
|
|
||||||
mk2V2 v p = {s = v.s ; vtyp = v.vtyp ; c2 = p ; lock_V2 = <>} ;
|
mk2V2 v p = {s = v.s ; vtyp = v.vtyp ; c2 = p ; lock_V2 = <>} ;
|
||||||
dirV2 v = mk2V2 v accusative ;
|
dirV2 v = mk2V2 v accusative ;
|
||||||
@@ -439,16 +475,18 @@ oper
|
|||||||
prefixA = prefA ;
|
prefixA = prefA ;
|
||||||
|
|
||||||
mkV = overload {
|
mkV = overload {
|
||||||
mkV : (cantar : Str) -> V = regV ;
|
mkV : (cantar : Str) -> V = \x -> verbV (regV x) ;
|
||||||
--JS mkV : (mostrar,muestro : Str) -> V = regAltV ;
|
mkV : (servir,serveixo : Str) -> V = \x,y -> verbV (regAltV x y) ;
|
||||||
|
mkV : (vendre,venc,venut : Str) -> V = \x,y,z -> verbV (mk3V x y z) ;
|
||||||
mkV : Verbum -> V = verbV
|
mkV : Verbum -> V = verbV
|
||||||
} ;
|
} ;
|
||||||
regV : Str -> V ;
|
regV : Str -> Verbum ;
|
||||||
--JS regAltV : (mostrar,muestro : Str) -> V ;
|
regAltV : (servir,serveixo : Str) -> Verbum ;
|
||||||
|
mk3V : (vendre,venc,venut : Str) -> Verbum ;
|
||||||
verbV : Verbum -> V ;
|
verbV : Verbum -> V ;
|
||||||
|
|
||||||
mkV2 = overload {
|
mkV2 = overload {
|
||||||
mkV2 : Str -> V2 = \s -> dirV2 (regV s) ;
|
mkV2 : Str -> V2 = \s -> dirV2 (mkV s) ;
|
||||||
mkV2 : V -> V2 = dirV2 ;
|
mkV2 : V -> V2 = dirV2 ;
|
||||||
mkV2 : V -> Prep -> V2 = mk2V2
|
mkV2 : V -> Prep -> V2 = mk2V2
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -140,11 +140,10 @@ lin
|
|||||||
when_IAdv = ss "quan" ;
|
when_IAdv = ss "quan" ;
|
||||||
when_Subj = ss "quan" ** {m = Indic} ;
|
when_Subj = ss "quan" ** {m = Indic} ;
|
||||||
where_IAdv = ss "on" ;
|
where_IAdv = ss "on" ;
|
||||||
which_IQuant = {s = table {
|
which_IQuant = {
|
||||||
Sg => \\g,c => prepCase c ++ "quin" ; --per fer: femenÌ quina
|
s = \\n,g,c =>
|
||||||
Pl => \\g,c => prepCase c ++ "quins"
|
prepCase c ++ aagrForms "quin" "quina" "quins" "quines" ! aagr g n
|
||||||
}
|
} ;
|
||||||
} ; --per fer: femenÌ quines
|
|
||||||
whoPl_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Fem Pl} ;
|
whoPl_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Fem Pl} ;
|
||||||
whoSg_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Fem Sg} ;
|
whoSg_IP = {s = \\c => prepCase c ++ "qui" ; a = aagr Fem Sg} ;
|
||||||
why_IAdv = ss ["per quË"] ;
|
why_IAdv = ss ["per quË"] ;
|
||||||
|
|||||||
Reference in New Issue
Block a user