forked from GitHub/gf-core
started romance and french
This commit is contained in:
2
lib/resource-1.0/french/AdjectiveFre.gf
Normal file
2
lib/resource-1.0/french/AdjectiveFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete AdjectiveFre of Adjective = CatFre ** AdjectiveRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
2
lib/resource-1.0/french/AdverbFre.gf
Normal file
2
lib/resource-1.0/french/AdverbFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete AdverbFre of Adverb = CatFre ** AdverbRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
233
lib/resource-1.0/french/BasicFre.gf
Normal file
233
lib/resource-1.0/french/BasicFre.gf
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
--# -path=.:../romance:../common:../abstract:../../prelude
|
||||||
|
|
||||||
|
concrete BasicFre of Basic = CatFre ** open ParadigmsFre, VerbsFre in {
|
||||||
|
|
||||||
|
flags
|
||||||
|
optimize=values ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
airplane_N = regN "avion" masculine ;
|
||||||
|
answer_V2S = mkV2S (v2V répondre_V2) dative ;
|
||||||
|
apartment_N = regN "apartement" masculine ;
|
||||||
|
apple_N = regN "pomme" feminine ;
|
||||||
|
art_N = regN "art" feminine ;
|
||||||
|
ask_V2Q = mkV2Q (regV "demander") dative ;
|
||||||
|
baby_N = regN "bébé" masculine ;
|
||||||
|
bad_A = prefA (mkADeg (regA "mauvais") (regA "pire")) ;
|
||||||
|
bank_N = regN "banque" feminine ;
|
||||||
|
beautiful_A = prefA (regA "joli") ; ---- beau
|
||||||
|
become_VA = mkVA devenir_V ;
|
||||||
|
beer_N = regN "bière" feminine ;
|
||||||
|
beg_V2V = mkV2V (regV "demander") accusative dative ;
|
||||||
|
big_A = prefA (regA "grand") ;
|
||||||
|
bike_N = regN "vélo" masculine ;
|
||||||
|
bird_N = regN "oiseau" masculine ;
|
||||||
|
black_A = regA "noir" ;
|
||||||
|
blue_A = regA "bleu" ;
|
||||||
|
boat_N = regN "bateau" masculine ;
|
||||||
|
book_N = regN "livre" masculine ;
|
||||||
|
boot_N = regN "botte" feminine ;
|
||||||
|
boss_N = regN "chef" masculine ;
|
||||||
|
boy_N = regN "garçon" masculine ;
|
||||||
|
bread_N = regN "pain" masculine ;
|
||||||
|
break_V2 = dirV2 (regV "casser") ;
|
||||||
|
broad_A = regA "large" ;
|
||||||
|
brother_N2 = deN2 (regN "frère" masculine) ;
|
||||||
|
brown_A = regA "brun" ;
|
||||||
|
butter_N = regN "beurre" masculine ;
|
||||||
|
buy_V2 = dirV2 (reg3V "acheter" "achète" "achètera") ;
|
||||||
|
camera_N = compN (regN "appareil" masculine) ["de photo"] ;
|
||||||
|
cap_N = regN "casquette" feminine ;
|
||||||
|
car_N = regN "voiture" feminine ;
|
||||||
|
carpet_N = regN "tapis" masculine ;
|
||||||
|
cat_N = regN "chat" masculine ;
|
||||||
|
ceiling_N = regN "plafond" masculine ;
|
||||||
|
chair_N = regN "chaise" feminine ;
|
||||||
|
cheese_N = regN "fromage" masculine ;
|
||||||
|
child_N = regN "enfant" masculine ;
|
||||||
|
church_N = regN "église" feminine ;
|
||||||
|
city_N = regN "ville" feminine ;
|
||||||
|
clean_A = regA "propre" ;
|
||||||
|
clever_A = regA "sage" ; ----
|
||||||
|
close_V2 = dirV2 (regV "fermer") ;
|
||||||
|
coat_N = regN "manteau" masculine ;
|
||||||
|
cold_A = regA "froid" ;
|
||||||
|
come_V = venir_V ;
|
||||||
|
computer_N = regN "ordinateur" masculine ;
|
||||||
|
country_N = regN "pays" masculine ;
|
||||||
|
cousin_N = regN "cousin" masculine ; ---- cousine
|
||||||
|
cow_N = regN "vache" feminine ;
|
||||||
|
die_V = mourir_V ;
|
||||||
|
dirty_A = regA "sale" ;
|
||||||
|
distance_N3 = mkN3 (regN "distance" feminine) genitive dative ;
|
||||||
|
doctor_N = regN "médecin" masculine ;
|
||||||
|
dog_N = regN "chien" masculine ;
|
||||||
|
door_N = regN "porte" feminine ;
|
||||||
|
drink_V2 = boire_V2 ;
|
||||||
|
easy_A2V = mkA2V (regA "facile") dative genitive ;
|
||||||
|
eat_V2 = dirV2 (regV "manger") ;
|
||||||
|
empty_A = regA "vide" ;
|
||||||
|
enemy_N = regN "ennemi" masculine ;
|
||||||
|
factory_N = regN "usine" feminine ;
|
||||||
|
father_N2 = deN2 (regN "père" masculine) ;
|
||||||
|
fear_VS = mkVS (v2V craindre_V2) ;
|
||||||
|
find_V2 = dirV2 (regV "trouver") ;
|
||||||
|
fish_N = regN "poisson" masculine ;
|
||||||
|
floor_N = regN "plancher" masculine ;
|
||||||
|
forget_V2 = dirV2 (regV "oublier") ;
|
||||||
|
fridge_N = regN "frigo" masculine ;
|
||||||
|
friend_N = regN "ami" masculine ;
|
||||||
|
fruit_N = regN "fruit" masculine ;
|
||||||
|
fun_AV = mkAV (regA "marrant") genitive ;
|
||||||
|
garden_N = regN "jardin" masculine ;
|
||||||
|
girl_N = regN "fille" feminine ;
|
||||||
|
glove_N = regN "gant" masculine ;
|
||||||
|
gold_N = regN "or" masculine ;
|
||||||
|
good_A = prefA (mkADeg (mkA "bon" "bonne" "bons" "bien")
|
||||||
|
(mkA "meilleur" "meilleure" "meilleurs" "mieux")) ;
|
||||||
|
go_V = aller_V ;
|
||||||
|
green_A = regA "vert" ;
|
||||||
|
harbour_N = regN "port" masculine ;
|
||||||
|
hate_V2 = haïr_V2 ;
|
||||||
|
hat_N = regN "chapeau" masculine ;
|
||||||
|
have_V2 = avoir_V2 ;
|
||||||
|
hear_V2 = entendre_V2 ;
|
||||||
|
hill_N = regN "colline" feminine ;
|
||||||
|
hope_VS = mkVS (reg3V "espérer" "espère" "espérera") ;
|
||||||
|
horse_N = regN "cheval" masculine ;
|
||||||
|
hot_A = regA "chaud" ;
|
||||||
|
house_N = regN "maison" feminine ;
|
||||||
|
important_A = regA "important" ;
|
||||||
|
industry_N = regN "industrie" feminine ;
|
||||||
|
iron_N = regN "fer" masculine ;
|
||||||
|
king_N = regN "roi" masculine ;
|
||||||
|
know_V2 = connaître_V2 ; ---- savoir_V2 : VS
|
||||||
|
lake_N = regN "lac" masculine ;
|
||||||
|
lamp_N = regN "lampe" feminine ;
|
||||||
|
learn_V2 = apprendre_V2 ;
|
||||||
|
leather_N = regN "cuir" masculine ;
|
||||||
|
leave_V2 = dirV2 (regV "quitter") ;
|
||||||
|
like_V2 = dirV2 (regV "aimer") ;
|
||||||
|
listen_V2 = dirV2 (regV "écouter") ;
|
||||||
|
live_V = v2V vivre_V2 ;
|
||||||
|
long_A = compADeg (mkA "long" "longue" "longs" "longuement") ;
|
||||||
|
lose_V2 = perdre_V2 ;
|
||||||
|
love_N = regN "amour" masculine ;
|
||||||
|
love_V2 = dirV2 (regV "aimer") ;
|
||||||
|
man_N = regN "homme" masculine ;
|
||||||
|
married_A2 = mkA2 (regA "marié") dative ;
|
||||||
|
meat_N = regN "viande" feminine ;
|
||||||
|
milk_N = regN "lait" masculine ;
|
||||||
|
moon_N = regN "lune" feminine ;
|
||||||
|
mother_N2 = deN2 (regN "mère" feminine) ;
|
||||||
|
mountain_N = regN "montagne" feminine ;
|
||||||
|
music_N = regN "musique" feminine ;
|
||||||
|
narrow_A = regA "étroit" ;
|
||||||
|
new_A = prefA (compADeg (mkA "nouveau" "nouvelle" "nouveaux" "nouvellement")) ;
|
||||||
|
newspaper_N = regN "journal" masculine ;
|
||||||
|
oil_N = regN "huile" feminine ;
|
||||||
|
old_A =
|
||||||
|
prefA (compADeg (mkA "vieux" "vieille" "vieux" "vieillement")) ; ---- vieil
|
||||||
|
open_V2 = ouvrir_V2 ;
|
||||||
|
paint_V2A = mkV2A (v2V peindre_V2) accusative ;
|
||||||
|
paper_N = regN "papier" masculine ;
|
||||||
|
peace_N = regN "paix" feminine ;
|
||||||
|
pen_N = regN "stylo" masculine ;
|
||||||
|
planet_N = regN "planète" feminine ;
|
||||||
|
plastic_N = regN "plastic" masculine ;
|
||||||
|
play_V2 = dirV2 (regV "jouer") ;
|
||||||
|
policeman_N = regN "policier" masculine ;
|
||||||
|
priest_N = regN "prêtre" masculine ;
|
||||||
|
probable_AS = mkAS (regA "probable") ;
|
||||||
|
queen_N = regN "reine" feminine ;
|
||||||
|
radio_N = regN "radio" feminine ;
|
||||||
|
rain_V0 = mkV0 (pleuvoir_V) ;
|
||||||
|
read_V2 = lire_V2 ;
|
||||||
|
red_A = regA "rouge" ;
|
||||||
|
religion_N = regN "religion" feminine ;
|
||||||
|
restaurant_N = regN "restaurant" masculine ;
|
||||||
|
river_N = regN "rivière" feminine ;
|
||||||
|
rock_N = regN "rocher" masculine ;
|
||||||
|
roof_N = regN "toit" masculine ;
|
||||||
|
rubber_N = regN "caoutchuc" masculine ;
|
||||||
|
run_V = v2V courir_V2 ;
|
||||||
|
say_VS = mkVS (v2V dire_V2) ;
|
||||||
|
school_N = regN "école" feminine ;
|
||||||
|
science_N = regN "science" feminine ;
|
||||||
|
sea_N = regN "mer" feminine ;
|
||||||
|
seek_V2 = dirV2 (regV "chercher") ;
|
||||||
|
see_V2 = voir_V2 ;
|
||||||
|
sell_V3 = dirV3 (v2V vendre_V2) dative ;
|
||||||
|
send_V3 = dirV3 (v2V envoyer_V2) dative ;
|
||||||
|
sheep_N = regN "mouton" masculine ;
|
||||||
|
ship_N = regN "bateau" masculine ;
|
||||||
|
shirt_N = regN "chemise" feminine ;
|
||||||
|
shoe_N = regN "chaussure" feminine ;
|
||||||
|
shop_N = regN "magasin" masculine ;
|
||||||
|
short_A = regA "court" ; ---- bref
|
||||||
|
silver_N = regN "argent" masculine ;
|
||||||
|
sister_N = regN "soeur" feminine ;
|
||||||
|
sleep_V = v2V dormir_V2 ;
|
||||||
|
small_A = prefA (regA "petit") ;
|
||||||
|
snake_N = regN "serpent" masculine ;
|
||||||
|
sock_N = regN "chaussette" feminine ;
|
||||||
|
speak_V2 = dirV2 (regV "parler") ;
|
||||||
|
star_N = regN "étoile" feminine ;
|
||||||
|
steel_N = regN "acier" masculine ;
|
||||||
|
stone_N = regN "pierre" feminine ;
|
||||||
|
stove_N = regN "four" masculine ;
|
||||||
|
student_N = regN "étudiant" masculine ;
|
||||||
|
stupid_A = regA "stupide" ;
|
||||||
|
sun_N = regN "soleil" masculine ;
|
||||||
|
switch8off_V2 = éteindre_V2 ;
|
||||||
|
switch8on_V2 = dirV2 (regV "allumer") ; ----
|
||||||
|
table_N = regN "table" feminine ;
|
||||||
|
talk_V3 = mkV3 (regV "parler") dative genitive ;
|
||||||
|
teacher_N = regN "professeur" masculine ;
|
||||||
|
teach_V2 = dirV2 (regV "enseigner") ;
|
||||||
|
television_N = regN "télévision" feminine ;
|
||||||
|
thick_A = compADeg (mkA "épais" "épaisse" "épais" "épaissement") ;
|
||||||
|
thin_A = regA "fin" ;
|
||||||
|
train_N = regN "train" masculine ;
|
||||||
|
travel_V = regV "voyager" ;
|
||||||
|
tree_N = regN "arbre" masculine ;
|
||||||
|
---- trousers_N = regN "pantalon" masculine ;
|
||||||
|
ugly_A = regA "laide" ;
|
||||||
|
understand_V2 = comprendre_V2 ;
|
||||||
|
university_N = regN "université" feminine ;
|
||||||
|
village_N = regN "village" masculine ;
|
||||||
|
wait_V2 = attendre_V2 ; ---- dative?
|
||||||
|
walk_V = regV "marcher" ;
|
||||||
|
warm_A = regA "chaud" ;
|
||||||
|
war_N = regN "guerre" masculine ;
|
||||||
|
watch_V2 = dirV2 (regV "regarder") ;
|
||||||
|
water_N = regN "eau" feminine ;
|
||||||
|
white_A = compADeg (mkA "blanc" "blanche" "blancs" "blanchement") ;
|
||||||
|
window_N = regN "fenêtre" feminine ;
|
||||||
|
wine_N = regN "vin" masculine ;
|
||||||
|
win_V2 = dirV2 (regV "gagner") ; ---- vaincre
|
||||||
|
woman_N = regN "femme" feminine ;
|
||||||
|
wonder_VQ = mkVQ (regV "étonner") ; ----- s'étonner
|
||||||
|
wood_N = regN "bois" masculine ;
|
||||||
|
write_V2 = écrire_V2 ;
|
||||||
|
yellow_A = regA "jaune" ;
|
||||||
|
young_A = prefA (regA "jeune") ;
|
||||||
|
|
||||||
|
do_V2 = faire_V2 ;
|
||||||
|
now_Adv = mkAdv "maintenant" ;
|
||||||
|
already_Adv = mkAdv "déjà" ;
|
||||||
|
song_N = regN "chanson" feminine ;
|
||||||
|
add_V3 = dirV3 (regV "ajouter") dative ;
|
||||||
|
number_N = regN "nombre" masculine ; ---- numéro
|
||||||
|
put_V2 = mettre_V2 ;
|
||||||
|
stop_V = regV "arrêter" ; ---- s'arrêter
|
||||||
|
jump_V = regV "sauter" ;
|
||||||
|
{-
|
||||||
|
here_Adv = mkAdv "ici" ;
|
||||||
|
here7to_Adv = mkAdv "ici" ;
|
||||||
|
here7from_Adv = mkAdv ["d'ici"] ;
|
||||||
|
there_Adv = mkAdv "là" ; ---- y, là-bas
|
||||||
|
there7to_Adv = mkAdv "là" ; --- y
|
||||||
|
there7from_Adv = mkAdv ["de là"] ; ---- en
|
||||||
|
-}
|
||||||
|
} ;
|
||||||
100
lib/resource-1.0/french/BeschFre.gf
Normal file
100
lib/resource-1.0/french/BeschFre.gf
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
resource BeschFre = open Prelude, MorphoFre in {
|
||||||
|
|
||||||
|
oper VerbeN = {s : VF => Str} ;
|
||||||
|
oper mkNV : Verbe -> VerbeN = \ve -> {s = vvf ve} ;
|
||||||
|
|
||||||
|
oper conj : Str -> Verbe = conj1aimer ; --- temp. default
|
||||||
|
|
||||||
|
oper v_nancy100inf : Str -> VerbeN = \ve -> {s = table {
|
||||||
|
VInfin => ve ;
|
||||||
|
_ => nonExist
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
oper v_besch1 : Str -> VerbeN = \s -> mkNV (conjAvoir s) ;
|
||||||
|
oper v_besch2 : Str -> VerbeN = \s -> mkNV (conjÊtre s) ;
|
||||||
|
-- 3-5 not used
|
||||||
|
oper v_besch6 : Str -> VerbeN = \s -> mkNV (conj1aimer s) ;
|
||||||
|
oper v_besch7 : Str -> VerbeN = \s -> mkNV (conj1placer s) ;
|
||||||
|
oper v_besch8 : Str -> VerbeN = \s -> mkNV (conj1manger s) ;
|
||||||
|
oper v_besch9 : Str -> VerbeN = \s -> mkNV (conj1peser s) ;
|
||||||
|
oper v_besch10 : Str -> VerbeN = \s -> mkNV (conj1céder s) ;
|
||||||
|
oper v_besch11 : Str -> VerbeN = \s -> mkNV (conj1jeter s) ;
|
||||||
|
oper v_besch12 : Str -> VerbeN = \s -> mkNV (conj1jeter s) ;
|
||||||
|
oper v_besch13 : Str -> VerbeN = \s -> mkNV (conj1aimer s) ;
|
||||||
|
oper v_besch14 : Str -> VerbeN = \s -> mkNV (conj1assiéger s) ;
|
||||||
|
oper v_besch15 : Str -> VerbeN = \s -> mkNV (conj1aimer s) ; --- ?
|
||||||
|
oper v_besch16 : Str -> VerbeN = \s -> mkNV (conj1payer s) ;
|
||||||
|
oper v_besch17 : Str -> VerbeN = \s -> mkNV (conj1payer s) ;
|
||||||
|
oper v_besch18 : Str -> VerbeN = \s -> mkNV (conj1envoyer s) ;
|
||||||
|
oper v_besch19 : Str -> VerbeN = \s -> mkNV (conj2finir s) ;
|
||||||
|
oper v_besch20 : Str -> VerbeN = \s -> mkNV (conj2haïr s) ;
|
||||||
|
-- oper v_besch21 : Str -> VerbeN = \s -> mkNV (conj s) ; -- not used
|
||||||
|
oper v_besch22 : Str -> VerbeN = \s -> mkNV (conj3aller s) ;
|
||||||
|
oper v_besch23 : Str -> VerbeN = \s -> mkNV (conj3tenir s) ;
|
||||||
|
oper v_besch24 : Str -> VerbeN = \s -> mkNV (conj3quérir s) ;
|
||||||
|
oper v_besch25 : Str -> VerbeN = \s -> mkNV (conj3sentir s) ;
|
||||||
|
oper v_besch26 : Str -> VerbeN = \s -> mkNV (conj3vêtir s) ;
|
||||||
|
oper v_besch27 : Str -> VerbeN = \s -> mkNV (conj3couvrir s) ;
|
||||||
|
oper v_besch28 : Str -> VerbeN = \s -> mkNV (conj3cueillir s) ;
|
||||||
|
oper v_besch29 : Str -> VerbeN = \s -> mkNV (conj3assaillir s) ;
|
||||||
|
oper v_besch30 : Str -> VerbeN = \s -> mkNV (conj3faillir s) ;
|
||||||
|
oper v_besch31 : Str -> VerbeN = \s -> mkNV (conj3bouillir s) ;
|
||||||
|
oper v_besch32 : Str -> VerbeN = \s -> mkNV (conj3dormir s) ;
|
||||||
|
oper v_besch33 : Str -> VerbeN = \s -> mkNV (conj3courir s) ;
|
||||||
|
oper v_besch34 : Str -> VerbeN = \s -> mkNV (conj3mourir s) ;
|
||||||
|
oper v_besch35 : Str -> VerbeN = \s -> mkNV (conj3sentir s) ;
|
||||||
|
oper v_besch36 : Str -> VerbeN = \s -> mkNV (conj3fuir s) ;
|
||||||
|
oper v_besch37 : Str -> VerbeN = \s -> mkNV (conj3ouïr s) ;
|
||||||
|
oper v_besch38 : Str -> VerbeN = \s -> mkNV (conj3cevoir s) ;
|
||||||
|
oper v_besch39 : Str -> VerbeN = \s -> mkNV (conj3voir s) ;
|
||||||
|
oper v_besch40 : Str -> VerbeN = \s -> mkNV (conj3pourvoir s) ;
|
||||||
|
oper v_besch41 : Str -> VerbeN = \s -> mkNV (conj3savoir s) ;
|
||||||
|
oper v_besch42 : Str -> VerbeN = \s -> mkNV (conj3devoir s) ;
|
||||||
|
oper v_besch43 : Str -> VerbeN = \s -> mkNV (conj3pouvoir s) ;
|
||||||
|
oper v_besch44 : Str -> VerbeN = \s -> mkNV (conj3mouvoir s) ;
|
||||||
|
oper v_besch45 : Str -> VerbeN = \s -> mkNV (conj3pleuvoir s) ;
|
||||||
|
oper v_besch46 : Str -> VerbeN = \s -> mkNV (conj3falloir s) ;
|
||||||
|
oper v_besch47 : Str -> VerbeN = \s -> mkNV (conj3valoir s) ;
|
||||||
|
oper v_besch48 : Str -> VerbeN = \s -> mkNV (conj3vouloir s) ;
|
||||||
|
oper v_besch49 : Str -> VerbeN = \s -> mkNV (conj3asseoir s) ;
|
||||||
|
oper v_besch50 : Str -> VerbeN = \s -> mkNV (conj3messeoir s) ; --- ?
|
||||||
|
oper v_besch51 : Str -> VerbeN = \s -> mkNV (conj3surseoir s) ;
|
||||||
|
oper v_besch52 : Str -> VerbeN = \s -> mkNV (conj3choir s) ;
|
||||||
|
oper v_besch53 : Str -> VerbeN = \s -> mkNV (conj3rendre s) ;
|
||||||
|
oper v_besch54 : Str -> VerbeN = \s -> mkNV (conj3prendre s) ;
|
||||||
|
oper v_besch55 : Str -> VerbeN = \s -> mkNV (conj3battre s) ;
|
||||||
|
oper v_besch56 : Str -> VerbeN = \s -> mkNV (conj3mettre s) ;
|
||||||
|
oper v_besch57 : Str -> VerbeN = \s -> mkNV (conj3peindre s) ;
|
||||||
|
oper v_besch58 : Str -> VerbeN = \s -> mkNV (conj3joindre s) ;
|
||||||
|
oper v_besch59 : Str -> VerbeN = \s -> mkNV (conj3craindre s) ;
|
||||||
|
oper v_besch60 : Str -> VerbeN = \s -> mkNV (conj3vaincre s) ;
|
||||||
|
oper v_besch61 : Str -> VerbeN = \s -> mkNV (conj3traire s) ;
|
||||||
|
oper v_besch62 : Str -> VerbeN = \s -> mkNV (conj3faire s) ;
|
||||||
|
oper v_besch63 : Str -> VerbeN = \s -> mkNV (conj3plaire s) ;
|
||||||
|
oper v_besch64 : Str -> VerbeN = \s -> mkNV (conj3connaître s) ;
|
||||||
|
oper v_besch65 : Str -> VerbeN = \s -> mkNV (conj3naître s) ;
|
||||||
|
oper v_besch66 : Str -> VerbeN = \s -> mkNV (conj3paître s) ;
|
||||||
|
oper v_besch67 : Str -> VerbeN = \s -> mkNV (conj3croître s) ;
|
||||||
|
oper v_besch68 : Str -> VerbeN = \s -> mkNV (conj3croire s) ;
|
||||||
|
oper v_besch69 : Str -> VerbeN = \s -> mkNV (conj3boire s) ;
|
||||||
|
oper v_besch70 : Str -> VerbeN = \s -> mkNV (conj3clore s) ;
|
||||||
|
oper v_besch71 : Str -> VerbeN = \s -> mkNV (conj3conclure s) ;
|
||||||
|
oper v_besch72 : Str -> VerbeN = \s -> mkNV (conj3absoudre s) ;
|
||||||
|
oper v_besch73 : Str -> VerbeN = \s -> mkNV (conj3coudre s) ;
|
||||||
|
oper v_besch74 : Str -> VerbeN = \s -> mkNV (conj3moudre s) ;
|
||||||
|
oper v_besch75 : Str -> VerbeN = \s -> mkNV (conj3suivre s) ;
|
||||||
|
oper v_besch76 : Str -> VerbeN = \s -> mkNV (conj3vivre s) ;
|
||||||
|
oper v_besch77 : Str -> VerbeN = \s -> mkNV (conj3lire s) ;
|
||||||
|
oper v_besch78 : Str -> VerbeN = \s -> mkNV (conj3dire s) ;
|
||||||
|
oper v_besch79 : Str -> VerbeN = \s -> mkNV (conj3rire s) ;
|
||||||
|
oper v_besch80 : Str -> VerbeN = \s -> mkNV (conj3écrire s) ;
|
||||||
|
oper v_besch81 : Str -> VerbeN = \s -> mkNV (conj3confire s) ;
|
||||||
|
oper v_besch82 : Str -> VerbeN = \s -> mkNV (conj3cuire s) ;
|
||||||
|
|
||||||
|
-- 83-99 not used
|
||||||
|
|
||||||
|
oper v_besch100 : Str -> VerbeN = \s -> mkNV (conj s) ; --- to do
|
||||||
|
oper v_besch101 : Str -> VerbeN = \s -> mkNV (conj s) ; --- to do
|
||||||
|
}
|
||||||
4
lib/resource-1.0/french/CatFre.gf
Normal file
4
lib/resource-1.0/french/CatFre.gf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
--# -path=.:../romance:../abstract:../common:prelude
|
||||||
|
|
||||||
|
concrete CatFre of Cat = CatRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
2
lib/resource-1.0/french/ConjunctionFre.gf
Normal file
2
lib/resource-1.0/french/ConjunctionFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete ConjunctionFre of Conjunction = CatFre ** ConjunctionRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
48
lib/resource-1.0/french/DiffFre.gf
Normal file
48
lib/resource-1.0/french/DiffFre.gf
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
--# -path=.:../romance:../abstract:../common:prelude
|
||||||
|
|
||||||
|
instance DiffFre of DiffRomance = open ResRomance, PhonoFre, Prelude in {
|
||||||
|
|
||||||
|
param
|
||||||
|
Prep = P_de | P_a ;
|
||||||
|
VAux = VHabere | VEsse ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
dative : Case = CPrep P_a ;
|
||||||
|
genitive : Case = CPrep P_de ;
|
||||||
|
|
||||||
|
complAcc : Compl = {s = [] ; c = Acc} ;
|
||||||
|
complGen : Compl = {s = [] ; c = genitive} ;
|
||||||
|
complDat : Compl = {s = [] ; c = dative} ;
|
||||||
|
|
||||||
|
prepCase : Case -> Str = \c -> case c of {
|
||||||
|
Nom => [] ;
|
||||||
|
Acc => [] ;
|
||||||
|
CPrep P_a => "à" ;
|
||||||
|
CPrep P_de => elisDe
|
||||||
|
} ;
|
||||||
|
|
||||||
|
artDef : Gender -> Number -> Case -> Str = \g,n,c ->
|
||||||
|
case <g,n,c> of {
|
||||||
|
<Masc,Sg, CPrep P_de> => pre {"du" ; ["de l'"] / voyelle} ;
|
||||||
|
<Masc,Sg, CPrep P_a> => pre {"au" ; ["à l'"] / voyelle} ;
|
||||||
|
<Masc,Sg, _> => elisLe ;
|
||||||
|
<Fem, Sg, _> => prepCase c ++ elisLa ;
|
||||||
|
<_, Pl, CPrep P_de> => "des" ;
|
||||||
|
<_, Pl, CPrep P_a> => "aux" ;
|
||||||
|
<_, Pl, _ > => "les"
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- In these two, "de de/du/des" becomes "de".
|
||||||
|
|
||||||
|
artIndef = \g,n,c -> case <n,c> of {
|
||||||
|
<Sg,_> => prepCase c ++ genForms "un" "une" ! g ;
|
||||||
|
<Pl,CPrep P_de> => elisDe ;
|
||||||
|
_ => prepCase c ++ "des"
|
||||||
|
} ;
|
||||||
|
|
||||||
|
partitive = \g,c -> case c of {
|
||||||
|
CPrep P_de => elisDe ;
|
||||||
|
_ => prepCase c ++ artDef g Sg (CPrep P_de)
|
||||||
|
} ;
|
||||||
|
|
||||||
|
}
|
||||||
21
lib/resource-1.0/french/LangFre.gf
Normal file
21
lib/resource-1.0/french/LangFre.gf
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
--# -path=.:../romance:../abstract:../common:prelude
|
||||||
|
|
||||||
|
concrete LangFre of Lang =
|
||||||
|
NounFre,
|
||||||
|
-- VerbFre,
|
||||||
|
-- AdjectiveFre,
|
||||||
|
-- AdverbFre,
|
||||||
|
-- NumeralFre,
|
||||||
|
-- SentenceFre,
|
||||||
|
-- QuestionFre,
|
||||||
|
-- RelativeFre,
|
||||||
|
-- ConjunctionFre,
|
||||||
|
-- PhraseFre,
|
||||||
|
-- TensedFre,
|
||||||
|
-- StructuralFre,
|
||||||
|
BasicFre
|
||||||
|
** {
|
||||||
|
|
||||||
|
flags startcat = Phr ;
|
||||||
|
|
||||||
|
} ;
|
||||||
82
lib/resource-1.0/french/LexFre.gf
Normal file
82
lib/resource-1.0/french/LexFre.gf
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
concrete LexFre of Lex = CatFre ** open ResFre, Prelude in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
walk_V =
|
||||||
|
mkVerb "gå" "går" "gå" "gick" "gått" "gången" "gånget" "gångna" ;
|
||||||
|
help_V2 =
|
||||||
|
mkVerb "hjälpa" "hjälper" "hjälp" "hjälpte" "hjälpt" "hjälpt" "hjälpt" "hjälpta"
|
||||||
|
** {c2 = []} ;
|
||||||
|
show_V3 =
|
||||||
|
mkVerb "visa" "visar" "visa" "visade" "visat" "visad" "visat" "visade"
|
||||||
|
** {c2 = [] ; c3 = "to"} ;
|
||||||
|
want_VV =
|
||||||
|
mkVerb "vilja" "vill" "vilj" "ville" "velat" "velad" "velat" "velade" ---
|
||||||
|
** {c2 = []} ;
|
||||||
|
claim_VS =
|
||||||
|
mkVerb "hävda" "hävdar" "hävda" "hävdade" "hävdat" "hävdad" "hävdat" "hävdade" ;
|
||||||
|
ask_VQ =
|
||||||
|
mkVerb "fråga" "frågar" "fråga" "frågade" "frågat" "frågad" "frågat" "frågade" ;
|
||||||
|
|
||||||
|
dog_N = mkNoun "hund" "hunden" "hundar" "hundarna" utrum ;
|
||||||
|
son_N2 = mkNoun "son" "sonen" "söner" "sönerna" utrum ** {c2 = "till"} ;
|
||||||
|
way_N3 = mkNoun "väg" "vägen" "vägar" "vägarna" utrum ** {c2 = "från" ; c3 = "till"} ;
|
||||||
|
|
||||||
|
warm_A =
|
||||||
|
mkAdjective "varm" "varmt" "varma" "varma" "varmare" "varmast" "varmaste" ;
|
||||||
|
close_A2 =
|
||||||
|
mkAdjective "nära" "nära" "nära" "nära" "närmare" "närmast" "närmaste"
|
||||||
|
** {c2 = "till"} ;
|
||||||
|
|
||||||
|
here_Adv = {s = "här"} ;
|
||||||
|
very_AdA = {s = "mycket"} ;
|
||||||
|
always_AdV = {s = "alltid"} ;
|
||||||
|
|
||||||
|
only_Predet = {s = \\_ => "bara"} ;
|
||||||
|
all_Predet = {s = gennumForms "all" "allt" "alla"} ;
|
||||||
|
this_Quant = {s = \\_ => genderForms "denna" "detta" ; n = Sg ; det = DDef Indef} ;
|
||||||
|
these_Quant = {s = \\_,_ => "dessa" ; n = Pl ; det = DDef Indef} ;
|
||||||
|
|
||||||
|
i_Pron = mkNP "jag" "mig" "min" "mitt" "mina" SgUtr P1 ;
|
||||||
|
he_Pron = mkNP "han" "honom" "hans" "hans" "hans" SgUtr P3 ;
|
||||||
|
we_Pron = mkNP "vi" "oss" "vår" "vårt" "våra" Plg P1 ;
|
||||||
|
|
||||||
|
whoSg_IP = {s = vem.s ; gn = SgUtr} ;
|
||||||
|
whoPl_IP = {s = vem.s ; gn = Plg} ;
|
||||||
|
|
||||||
|
when_IAdv = {s = "när"} ;
|
||||||
|
where_IAdv = {s = "var"} ;
|
||||||
|
why_IAdv = {s = "varför"} ;
|
||||||
|
|
||||||
|
whichSg_IDet = {s = genderForms "vilken" "vilket" ; n = Sg ; det = DDef Indef} ;
|
||||||
|
whichPl_IDet = {s = \\_ => "vilka" ; n = Pl ; det = DDef Indef} ;
|
||||||
|
|
||||||
|
forty_Numeral = {
|
||||||
|
s = table {
|
||||||
|
NCard _ => "fyrtio" ;
|
||||||
|
NOrd _ => "fyrtionde"
|
||||||
|
} ;
|
||||||
|
n = Sg
|
||||||
|
} ;
|
||||||
|
|
||||||
|
in_Prep = {s = "i"} ;
|
||||||
|
of_Prep = {s = "av"} ;
|
||||||
|
|
||||||
|
and_Conj = {s = "och" ; n = Pl} ;
|
||||||
|
either7or_DConj = {s1 = "antingen" ; s2 = "eller" ; n = Sg} ;
|
||||||
|
|
||||||
|
if_Subj = ss "om" ;
|
||||||
|
because_Subj = ss "eftersom" ;
|
||||||
|
|
||||||
|
but_PConj = {s = "men"} ;
|
||||||
|
|
||||||
|
please_Voc = {s = "," ++ "tack"} ;
|
||||||
|
|
||||||
|
more_CAdv = ss "mera" ;
|
||||||
|
less_CAdv = ss "mindre" ;
|
||||||
|
|
||||||
|
-- Auxiliaries that are used repeatedly.
|
||||||
|
|
||||||
|
oper
|
||||||
|
vem = mkNP "vem" "vem" "vems" "vems" "vems" SgUtr P3 ;
|
||||||
|
|
||||||
|
}
|
||||||
2
lib/resource-1.0/french/MathFre.gf
Normal file
2
lib/resource-1.0/french/MathFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete MathFre of Math = CatFre ** MathRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
1366
lib/resource-1.0/french/MorphoFre.gf
Normal file
1366
lib/resource-1.0/french/MorphoFre.gf
Normal file
File diff suppressed because it is too large
Load Diff
2
lib/resource-1.0/french/NounFre.gf
Normal file
2
lib/resource-1.0/french/NounFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete NounFre of Noun = CatFre ** NounRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
47
lib/resource-1.0/french/NumeralFre.gf
Normal file
47
lib/resource-1.0/french/NumeralFre.gf
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
concrete NumeralFre of Numeral = CatFre ** open ResRomance, MorphoFre in {
|
||||||
|
|
||||||
|
lincat
|
||||||
|
Digit = {s : DForm => CardOrd => Str} ;
|
||||||
|
Sub10 = {s : DForm => CardOrd => Str ; n : Number} ;
|
||||||
|
Sub100, Sub1000, Sub1000000 =
|
||||||
|
{s : CardOrd => Str ; n : Number} ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
num x = x ;
|
||||||
|
|
||||||
|
n2 = mkTal "två" "tolv" "tjugo" "andra" "tolfte" ;
|
||||||
|
n3 = mkTal "tre" "tretton" "trettio" "tredje" "trettonde" ;
|
||||||
|
n4 = mkTal "fyra" "fjorton" "fyrtio" "fjärde" "fjortonde" ;
|
||||||
|
n5 = mkTal "fem" "femton" "femtio" "femte" "femtonde" ;
|
||||||
|
n6 = mkTal "sex" "sexton" "sextion" "sjätte" "sextonde" ;
|
||||||
|
n7 = mkTal "sju" "sjutton" "sjuttio" "sjunde" "sjuttonde" ;
|
||||||
|
n8 = mkTal "åtta" "arton" "åttio" "åttonde" "artonde" ;
|
||||||
|
n9 = mkTal "nio" "nitton" "nittio" "nionde" "nittonde" ;
|
||||||
|
|
||||||
|
pot01 = {
|
||||||
|
s = \\f => table {
|
||||||
|
NCard g => case g of {Neutr => "ett" ; _ => "en"} ;
|
||||||
|
_ => "första"
|
||||||
|
} ;
|
||||||
|
n = Sg
|
||||||
|
} ;
|
||||||
|
pot0 d = {s = \\f,g => d.s ! f ! g ; n = Pl} ;
|
||||||
|
pot110 = numPl (cardReg "tio") ;
|
||||||
|
pot111 = numPl (cardOrd "elva" "elfte") ;
|
||||||
|
pot1to19 d = numPl (d.s ! ton) ;
|
||||||
|
pot0as1 n = {s = n.s ! ental ; n = n.n} ;
|
||||||
|
pot1 d = numPl (d.s ! tiotal) ;
|
||||||
|
pot1plus d e = {s = \\g => d.s ! tiotal ! invNum ++ e.s ! ental ! g ; n = Pl} ;
|
||||||
|
pot1as2 n = n ;
|
||||||
|
pot2 d =
|
||||||
|
numPl (\\g => d.s ! ental ! invNum ++ cardOrd "hundra" "hundrade" ! g) ;
|
||||||
|
pot2plus d e =
|
||||||
|
{s = \\g => d.s ! ental ! invNum ++ "hundra" ++ e.s ! g ; n = Pl} ;
|
||||||
|
pot2as3 n = n ;
|
||||||
|
pot3 n =
|
||||||
|
numPl (\\g => n.s ! invNum ++ "tusen" ++ cardOrd "tusen" "tusende" ! g) ;
|
||||||
|
pot3plus n m =
|
||||||
|
{s = \\g => n.s ! invNum ++ "tusen" ++ m.s ! g ; n = Pl} ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
356
lib/resource-1.0/french/ParadigmsFre.gf
Normal file
356
lib/resource-1.0/french/ParadigmsFre.gf
Normal file
@@ -0,0 +1,356 @@
|
|||||||
|
--# -path=.:../romance:../common:../abstract:../../prelude
|
||||||
|
|
||||||
|
--1 French Lexical Paradigms
|
||||||
|
--
|
||||||
|
-- Aarne Ranta 2003
|
||||||
|
--
|
||||||
|
-- This is an API to the user of the resource grammar
|
||||||
|
-- for adding lexical items. It gives functions for forming
|
||||||
|
-- expressions of open categories: nouns, adjectives, verbs.
|
||||||
|
--
|
||||||
|
-- Closed categories (determiners, pronouns, conjunctions) are
|
||||||
|
-- accessed through the resource syntax API, $Structural.gf$.
|
||||||
|
--
|
||||||
|
-- The main difference with $MorphoFre.gf$ is that the types
|
||||||
|
-- referred to are compiled resource grammar types. We have moreover
|
||||||
|
-- had the design principle of always having existing forms, rather
|
||||||
|
-- than stems, as string arguments of the paradigms.
|
||||||
|
--
|
||||||
|
-- The structure of functions for each word class $C$ is the following:
|
||||||
|
-- first we give a handful of patterns that aim to cover all
|
||||||
|
-- regular cases. Then we give a worst-case function $mkC$, which serves as an
|
||||||
|
-- escape to construct the most irregular words of type $C$.
|
||||||
|
-- However, this function should only seldom be needed: we have a
|
||||||
|
-- separate module $IrregularEng$, which covers all irregularly inflected
|
||||||
|
-- words.
|
||||||
|
|
||||||
|
resource ParadigmsFre =
|
||||||
|
open
|
||||||
|
(Predef=Predef),
|
||||||
|
Prelude,
|
||||||
|
ResRomance,
|
||||||
|
DiffFre,
|
||||||
|
MorphoFre,
|
||||||
|
CatFre in {
|
||||||
|
|
||||||
|
flags optimize=all ;
|
||||||
|
|
||||||
|
--2 Parameters
|
||||||
|
--
|
||||||
|
-- To abstract over gender names, we define the following identifiers.
|
||||||
|
|
||||||
|
oper
|
||||||
|
Gender : Type ;
|
||||||
|
|
||||||
|
masculine : Gender ;
|
||||||
|
feminine : Gender ;
|
||||||
|
|
||||||
|
-- To abstract over number names, we define the following.
|
||||||
|
|
||||||
|
Number : Type ;
|
||||||
|
|
||||||
|
singular : Number ;
|
||||||
|
plural : Number ;
|
||||||
|
|
||||||
|
-- Prepositions used in many-argument functions are either strings
|
||||||
|
-- (including the 'accusative' empty string) or strings that
|
||||||
|
-- amalgamate with the following word (the 'genitive' "de" and the
|
||||||
|
-- 'dative' "à").
|
||||||
|
|
||||||
|
Preposition : Type ;
|
||||||
|
|
||||||
|
accusative : Preposition ;
|
||||||
|
genitive : Preposition ;
|
||||||
|
dative : Preposition ;
|
||||||
|
|
||||||
|
mkPreposition : Str -> Preposition ;
|
||||||
|
|
||||||
|
|
||||||
|
--2 Nouns
|
||||||
|
|
||||||
|
-- Worst case: give both two forms and the gender.
|
||||||
|
|
||||||
|
mkN : (oeil,yeux : Str) -> Gender -> N ;
|
||||||
|
|
||||||
|
-- The regular function takes the singular form and the gender,
|
||||||
|
-- and computes the plural by a heuristic. The heuristic currently
|
||||||
|
-- covers the cases "pas-pas", "prix-prix", "nez-nez",
|
||||||
|
-- "bijou-bijoux", "cheveu-cheveux", "plateau-plateaux", "cheval-chevaux".
|
||||||
|
-- If in doubt, use the $cc$ command to test!
|
||||||
|
|
||||||
|
regN : Str -> Gender -> N ;
|
||||||
|
|
||||||
|
|
||||||
|
--3 Compound nouns
|
||||||
|
--
|
||||||
|
-- Some nouns are ones where the first part is inflected as a noun but
|
||||||
|
-- the second part is not inflected. e.g. "numéro de téléphone".
|
||||||
|
-- They could be formed in syntax, but we give a shortcut here since
|
||||||
|
-- they are frequent in lexica.
|
||||||
|
|
||||||
|
compN : N -> Str -> N ;
|
||||||
|
|
||||||
|
|
||||||
|
--3 Relational nouns
|
||||||
|
--
|
||||||
|
-- Relational nouns ("fille de x") need a case and a preposition.
|
||||||
|
|
||||||
|
mkN2 : N -> Preposition -> N2 ;
|
||||||
|
|
||||||
|
-- The most common cases are the genitive "de" and the dative "à",
|
||||||
|
-- with the empty preposition.
|
||||||
|
|
||||||
|
deN2 : N -> N2 ;
|
||||||
|
aN2 : N -> N2 ;
|
||||||
|
|
||||||
|
-- Three-place relational nouns ("la connection de x à y") need two prepositions.
|
||||||
|
|
||||||
|
mkN3 : N -> Preposition -> Preposition -> N3 ;
|
||||||
|
|
||||||
|
|
||||||
|
--3 Relational common noun phrases
|
||||||
|
--
|
||||||
|
-- In some cases, you may want to make a complex $CN$ into a
|
||||||
|
-- relational noun (e.g. "the old town hall of"). However, $N2$ and
|
||||||
|
-- $N3$ are purely lexical categories. But you can use the $AdvCN$
|
||||||
|
-- and $PrepNP$ constructions to build phrases like this.
|
||||||
|
|
||||||
|
--
|
||||||
|
--3 Proper names and noun phrases
|
||||||
|
--
|
||||||
|
-- Proper names need a string and a gender.
|
||||||
|
|
||||||
|
mkPN : Str -> Gender -> PN ; -- Jean
|
||||||
|
|
||||||
|
-- To form a noun phrase that can also be plural,
|
||||||
|
-- you can use the worst-case function.
|
||||||
|
|
||||||
|
mkNP : Str -> Gender -> Number -> NP ;
|
||||||
|
|
||||||
|
--2 Adjectives
|
||||||
|
|
||||||
|
-- Non-comparison one-place adjectives need four forms in the worst
|
||||||
|
-- case (masc and fem singular, masc plural, adverbial).
|
||||||
|
|
||||||
|
mkA : (banal,banale,banaux,banalement : Str) -> A ;
|
||||||
|
|
||||||
|
-- For regular adjectives, all other forms are derived from the
|
||||||
|
-- masculine singular. The heuristic takes into account certain
|
||||||
|
-- deviant endings: "banal- -banaux", "chinois- -chinois",
|
||||||
|
-- "heureux-heureuse-heureux", "italien-italienne", "jeune-jeune",
|
||||||
|
-- "amer-amère", "carré- - -carrément", "joli- - -joliment".
|
||||||
|
|
||||||
|
regA : Str -> A ;
|
||||||
|
|
||||||
|
-- These functions create postfix adjectives. To switch
|
||||||
|
-- them to prefix ones (i.e. ones placed before the noun in
|
||||||
|
-- modification, as in "petite maison"), the following function is
|
||||||
|
-- provided.
|
||||||
|
|
||||||
|
prefA : A -> A ;
|
||||||
|
|
||||||
|
--3 Two-place adjectives
|
||||||
|
--
|
||||||
|
-- Two-place adjectives need a preposition for their second argument.
|
||||||
|
|
||||||
|
mkA2 : A -> Preposition -> A2 ;
|
||||||
|
|
||||||
|
--3 Comparison adjectives
|
||||||
|
|
||||||
|
-- Comparison adjectives are in the worst case put up from two
|
||||||
|
-- adjectives: the positive ("bon"), and the comparative ("meilleure").
|
||||||
|
|
||||||
|
mkADeg : A -> A -> A ;
|
||||||
|
|
||||||
|
-- If comparison is formed by "plus", as usual in French,
|
||||||
|
-- the following pattern is used:
|
||||||
|
|
||||||
|
compADeg : A -> A ;
|
||||||
|
|
||||||
|
-- From a given $A$, it is possible to get back to $A$.
|
||||||
|
|
||||||
|
adegA : A -> A ;
|
||||||
|
|
||||||
|
-- For prefixed adjectives, the following function is
|
||||||
|
-- provided.
|
||||||
|
|
||||||
|
prefA : A -> A ;
|
||||||
|
|
||||||
|
--2 Adverbs
|
||||||
|
|
||||||
|
-- Adverbs are not inflected. Most lexical ones have position
|
||||||
|
-- after the verb.
|
||||||
|
|
||||||
|
mkAdv : Str -> Adv ;
|
||||||
|
|
||||||
|
-- Some appear next to the verb (e.g. "toujours").
|
||||||
|
|
||||||
|
mkAdV : Str -> AdV ;
|
||||||
|
|
||||||
|
-- Adverbs modifying adjectives and sentences can also be formed.
|
||||||
|
|
||||||
|
mkAdA : Str -> AdA ;
|
||||||
|
|
||||||
|
|
||||||
|
--2 Verbs
|
||||||
|
--
|
||||||
|
-- Irregular verbs are given in the module $VerbsFre$.
|
||||||
|
-- If a verb should be missing in that list, the module
|
||||||
|
-- $BeschFre$ gives all the patterns of the "Bescherelle" book.
|
||||||
|
--
|
||||||
|
-- Regular verbs are ones with the infinitive "er" or "ir", the
|
||||||
|
-- latter with plural present indicative forms as "finissons".
|
||||||
|
-- The regular verb function is the first conjugation recognizes
|
||||||
|
-- these endings, as well as the variations among
|
||||||
|
-- "aimer, céder, placer, peser, jeter, placer, manger, assiéger, payer".
|
||||||
|
|
||||||
|
regV : Str -> V ;
|
||||||
|
|
||||||
|
-- Sometimes, however, it is not predictable which variant of the "er"
|
||||||
|
-- conjugation is to be selected. Then it is better to use the function
|
||||||
|
-- that gives the third person singular present indicative and future
|
||||||
|
-- (("il") "jette", "jettera") as second argument.
|
||||||
|
|
||||||
|
reg3V : (jeter,jette,jettera : Str) -> V ;
|
||||||
|
|
||||||
|
-- The function $regV$ gives all verbs the compound auxiliary "avoir".
|
||||||
|
-- To change it to "être", use the following function.
|
||||||
|
|
||||||
|
etreV : V -> V ;
|
||||||
|
|
||||||
|
--3 Two-place verbs
|
||||||
|
--
|
||||||
|
-- Two-place verbs need a preposition, except the special case with direct object.
|
||||||
|
-- (transitive verbs). Notice that a particle comes from the $V$.
|
||||||
|
|
||||||
|
mkV2 : V -> Preposition -> V2 ;
|
||||||
|
|
||||||
|
dirV2 : V -> V2 ;
|
||||||
|
|
||||||
|
-- You can reuse a $V2$ verb in $V$.
|
||||||
|
|
||||||
|
v2V : V2 -> V ;
|
||||||
|
|
||||||
|
--3 Three-place verbs
|
||||||
|
--
|
||||||
|
-- Three-place (ditransitive) verbs need two prepositions, of which
|
||||||
|
-- the first one or both can be absent.
|
||||||
|
|
||||||
|
mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de
|
||||||
|
dirV3 : V -> Preposition -> V3 ; -- donner,_,à
|
||||||
|
dirdirV3 : V -> V3 ; -- donner,_,_
|
||||||
|
|
||||||
|
--3 Other complement patterns
|
||||||
|
--
|
||||||
|
-- Verbs and adjectives can take complements such as sentences,
|
||||||
|
-- questions, verb phrases, and adjectives.
|
||||||
|
|
||||||
|
mkV0 : V -> V0 ;
|
||||||
|
mkVS : V -> VS ;
|
||||||
|
mkV2S : V -> Preposition -> V2S ;
|
||||||
|
mkVV : V -> VV ; -- plain infinitive: "je veux parler"
|
||||||
|
deVV : V -> VV ; -- "j'essaie de parler"
|
||||||
|
aVV : V -> VV ; -- "j'arrive à parler"
|
||||||
|
mkV2V : V -> Preposition -> Preposition -> V2V ;
|
||||||
|
mkVA : V -> VA ;
|
||||||
|
mkV2A : V -> Preposition -> V2A ;
|
||||||
|
mkVQ : V -> VQ ;
|
||||||
|
mkV2Q : V -> Preposition -> V2Q ;
|
||||||
|
|
||||||
|
mkAS : A -> AS ;
|
||||||
|
subjAS : A -> AS ;
|
||||||
|
mkA2S : A -> Preposition -> A2S ;
|
||||||
|
mkAV : A -> Preposition -> AV ;
|
||||||
|
mkA2V : A -> Preposition -> Preposition -> A2V ;
|
||||||
|
|
||||||
|
-- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated
|
||||||
|
-- just as synonyms of $V2$, and the second argument is given
|
||||||
|
-- as an adverb. Likewise $AS, A2S, AV, A2V$ are just $A$.
|
||||||
|
-- $V0$ is just $V$.
|
||||||
|
|
||||||
|
V0, V2S, V2V, V2A, V2Q : Type ;
|
||||||
|
AS, A2S, AV, A2V : Type ;
|
||||||
|
|
||||||
|
--2 Definitions of the paradigms
|
||||||
|
--
|
||||||
|
-- The definitions should not bother the user of the API. So they are
|
||||||
|
-- hidden from the document.
|
||||||
|
--.
|
||||||
|
|
||||||
|
Gender = MorphoFre.Gender ;
|
||||||
|
Number = MorphoFre.Number ;
|
||||||
|
masculine = Masc ;
|
||||||
|
feminine = Fem ;
|
||||||
|
singular = Sg ;
|
||||||
|
plural = Pl ;
|
||||||
|
|
||||||
|
Preposition = Compl ;
|
||||||
|
accusative = complAcc ;
|
||||||
|
genitive = complGen ;
|
||||||
|
dative = complDat ;
|
||||||
|
mkPreposition p = {s = p ; c = Acc} ;
|
||||||
|
|
||||||
|
mkN x y g = mkCNomIrreg x y g ** {lock_N = <>} ;
|
||||||
|
regN x g = mkNomReg x g ** {lock_N = <>} ;
|
||||||
|
compN x y = {s = \\n => x.s ! n ++ y ; g = x.g ; lock_N = <>} ;
|
||||||
|
|
||||||
|
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
|
||||||
|
deN2 n = mkN2 n genitive ;
|
||||||
|
aN2 n = mkN2 n dative ;
|
||||||
|
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
|
||||||
|
|
||||||
|
mkPN x g = {s = x ; g = g} ** {lock_PN = <>} ;
|
||||||
|
|
||||||
|
mkA a b c d = compADeg {s = \\_ => (mkAdj a c b d).s ; isPre = False ; lock_A = <>} ;
|
||||||
|
regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ; lock_A = <>} ;
|
||||||
|
prefA a = {s = a.s ; isPre = True ; lock_A = <>} ;
|
||||||
|
|
||||||
|
mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
|
||||||
|
|
||||||
|
mkADeg a b =
|
||||||
|
{s = table {Posit => a.s ! Posit ; _ => b.s ! Posit} ; isPre = a.isPre ; lock_A = <>} ;
|
||||||
|
compADeg a =
|
||||||
|
{s = table {Posit => a.s ! Posit ; _ => \\f => "plus" ++ a.s ! Posit ! f} ; isPre = a.isPre ;
|
||||||
|
lock_A = <>} ;
|
||||||
|
prefA a = {s = a.s ; isPre = True ; lock_A = <>} ;
|
||||||
|
|
||||||
|
|
||||||
|
mkAdv x = ss x ** {lock_Adv = <>} ;
|
||||||
|
mkAdV x = ss x ** {lock_AdV = <>} ;
|
||||||
|
mkAdA x = ss x ** {lock_AdA = <>} ;
|
||||||
|
|
||||||
|
regV x = let v = vvf (mkVerbReg x) in {s = v ; aux = VHabere ; lock_V = <> ; isRefl = False} ;
|
||||||
|
reg3V x y z = let v = vvf (mkVerb3Reg x y z) in {s = v ; aux = VHabere ; lock_V = <> ; isRefl = False} ;
|
||||||
|
etreV v = {s = v.s ; aux = VEsse ; lock_V = <> ; isRefl = False} ;
|
||||||
|
|
||||||
|
mkV2 v p = v ** {c2 = p ; lock_V2 = <>} ;
|
||||||
|
dirV2 v = mkV2 v accusative ;
|
||||||
|
v2V v = v ** {lock_V = <>} ;
|
||||||
|
|
||||||
|
mkV3 v p q = v ** {c2 = p ; c3 = q ; lock_V3 = <>} ;
|
||||||
|
dirV3 v p = mkV3 v complAcc p ;
|
||||||
|
dirdirV3 v = dirV3 v complDat ;
|
||||||
|
|
||||||
|
V0 : Type = V ;
|
||||||
|
V2S, V2V, V2Q, V2A : Type = V2 ;
|
||||||
|
AS, AV : Type = A ;
|
||||||
|
A2S, A2V : Type = A2 ;
|
||||||
|
|
||||||
|
mkV0 v = v ** {lock_V0 = <>} ;
|
||||||
|
mkVS v = v ** {mn,mp = Indic ; lock_VS = <>} ; ---- more moods
|
||||||
|
mkV2S v p = mkV2 v p ** {mn,mp = Indic ; lock_V2S = <>} ;
|
||||||
|
mkVV v = v ** {c2 = complAcc ; lock_VV = <>} ;
|
||||||
|
deVV v = v ** {c2 = complGen ; lock_VV = <>} ;
|
||||||
|
aVV v = v ** {c2 = complDat ; lock_VV = <>} ;
|
||||||
|
mkV2V v p t = mkV2 v p ** {c3 = t.p1 ; s3 = p.p2 ; lock_V2V = <>} ;
|
||||||
|
mkVA v = v ** {lock_VA = <>} ;
|
||||||
|
mkV2A v p = mkV2 v p ** {lock_V2A = <>} ;
|
||||||
|
mkVQ v = v ** {lock_VQ = <>} ;
|
||||||
|
mkV2Q v p = mkV2 v p ** {lock_V2Q = <>} ;
|
||||||
|
|
||||||
|
mkAS v = v ** {lock_AS = <>} ; ---- more moods
|
||||||
|
mkA2S v p = mkA2 v p ** {lock_A2S = <>} ;
|
||||||
|
mkAV v p = v ** {c = p.p1 ; s2 = p.p2 ; lock_AV = <>} ;
|
||||||
|
mkA2V v p q = mkA2 v p ** {s3 = q.p2 ; c3 = q.p1 ; lock_A2V = <>} ;
|
||||||
|
|
||||||
|
} ;
|
||||||
26
lib/resource-1.0/french/PhonoFre.gf
Normal file
26
lib/resource-1.0/french/PhonoFre.gf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
resource PhonoFre = open Prelude in {
|
||||||
|
|
||||||
|
oper
|
||||||
|
voyelle : Strs = strs {
|
||||||
|
"a" ; "â" ; "à" ; "e" ; "ê" ; "é" ; "è" ;
|
||||||
|
"h" ;
|
||||||
|
"i" ; "î" ; "o" ; "ô" ; "u" ; "û" ; "y"
|
||||||
|
} ;
|
||||||
|
|
||||||
|
elision : Str -> Str = \d -> d + pre {"e" ; "'" / voyelle} ;
|
||||||
|
|
||||||
|
-- The following morphemes are the most common uses of elision.
|
||||||
|
|
||||||
|
elisDe = elision "d" ;
|
||||||
|
elisLa = pre {"la" ; "l'" / voyelle} ;
|
||||||
|
elisLe = elision "l" ;
|
||||||
|
elisNe = elision "n" ;
|
||||||
|
elisQue = elision "qu" ;
|
||||||
|
|
||||||
|
-- The subjunction "si" has a special kind of elision. The rule is
|
||||||
|
-- only approximatively correct, for "si" is not really elided before
|
||||||
|
-- the string "il" in general, but before the pronouns "il" and "ils".
|
||||||
|
|
||||||
|
elisSi = pre {"si" ; "s'" / strs {"il"}} ;
|
||||||
|
|
||||||
|
}
|
||||||
2
lib/resource-1.0/french/PhraseFre.gf
Normal file
2
lib/resource-1.0/french/PhraseFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete PhraseFre of Phrase = CatFre, TenseX ** PhraseRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
2
lib/resource-1.0/french/QuestionFre.gf
Normal file
2
lib/resource-1.0/french/QuestionFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete QuestionFre of Question = CatFre ** QuestionRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
2
lib/resource-1.0/french/RelativeFre.gf
Normal file
2
lib/resource-1.0/french/RelativeFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete RelativeFre of Relative = CatFre ** RelativeRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
268
lib/resource-1.0/french/ResFre.gf
Normal file
268
lib/resource-1.0/french/ResFre.gf
Normal file
@@ -0,0 +1,268 @@
|
|||||||
|
----1 French auxiliary operations.
|
||||||
|
--
|
||||||
|
---- This module contains operations that are needed to make the
|
||||||
|
---- resource syntax work. To define everything that is needed to
|
||||||
|
---- implement $Test$, it moreover contains regular lexical
|
||||||
|
---- patterns needed for $Lex$.
|
||||||
|
--
|
||||||
|
resource ResFre = ParamRomance, ResRomance, DiffFre ** open Prelude in {
|
||||||
|
|
||||||
|
flags optimize=all ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
|
||||||
|
-- For $Lex$.
|
||||||
|
|
||||||
|
-- For each lexical category, here are the worst-case constructors.
|
||||||
|
|
||||||
|
mkNoun : (_,_,_,_ : Str) -> Gender ->
|
||||||
|
{s : Number => Species => Case => Str ; g : Gender} =
|
||||||
|
\man,mannen,men,mennen,g -> {
|
||||||
|
s = nounForms man mannen men mennen ;
|
||||||
|
g = g
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- mkAdjective : (_,_,_,_ : Str) -> {s : AForm => Str} =
|
||||||
|
-- \good,better,best,well -> {
|
||||||
|
-- s = table {
|
||||||
|
-- AAdj Posit => good ;
|
||||||
|
-- AAdj Compar => better ;
|
||||||
|
-- AAdj Superl => best ;
|
||||||
|
-- AAdv => well
|
||||||
|
-- }
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- mkVerb : (_,_,_,_,_ : Str) -> {s : VForm => Str} =
|
||||||
|
-- \go,goes,went,gone,going -> {
|
||||||
|
-- s = table {
|
||||||
|
-- VInf => go ;
|
||||||
|
-- VPres => goes ;
|
||||||
|
-- VPast => went ;
|
||||||
|
-- VPPart => gone ;
|
||||||
|
-- VPresPart => going
|
||||||
|
-- }
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- mkIP : (i,me,my : Str) -> Number -> {s : Case => Str ; n : Number} =
|
||||||
|
-- \i,me,my,n -> let who = mkNP i me my n P3 in {s = who.s ; n = n} ;
|
||||||
|
--
|
||||||
|
-- mkNP : (i,me,my : Str) -> Number -> Person -> {s : Case => Str ; a : Agr} =
|
||||||
|
-- \i,me,my,n,p -> {
|
||||||
|
-- s = table {
|
||||||
|
-- Nom => i ;
|
||||||
|
-- Acc => me ;
|
||||||
|
-- Gen => my
|
||||||
|
-- } ;
|
||||||
|
-- a = {
|
||||||
|
-- n = n ;
|
||||||
|
-- p = p
|
||||||
|
-- }
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
---- These functions cover many cases; full coverage inflectional patterns are
|
||||||
|
---- in $MorphoRomance$.
|
||||||
|
--
|
||||||
|
-- regN : Str -> {s : Number => Case => Str} = \car ->
|
||||||
|
-- mkNoun car (car + "'s") (car + "s") (car + "s'") ;
|
||||||
|
--
|
||||||
|
-- regA : Str -> {s : AForm => Str} = \warm ->
|
||||||
|
-- mkAdjective warm (warm + "er") (warm + "est") (warm + "ly") ;
|
||||||
|
--
|
||||||
|
-- regV : Str -> {s : VForm => Str} = \walk ->
|
||||||
|
-- mkVerb walk (walk + "s") (walk + "ed") (walk + "ed") (walk + "ing") ;
|
||||||
|
--
|
||||||
|
-- regNP : Str -> Number -> {s : Case => Str ; a : Agr} = \that,n ->
|
||||||
|
-- mkNP that that (that + "'s") n P3 ;
|
||||||
|
--
|
||||||
|
---- We have just a heuristic definition of the indefinite article.
|
||||||
|
---- There are lots of exceptions: consonantic "e" ("euphemism"), consonantic
|
||||||
|
---- "o" ("one-sided"), vocalic "u" ("umbrella").
|
||||||
|
--
|
||||||
|
-- artIndef = pre {
|
||||||
|
-- "a" ;
|
||||||
|
-- "an" / strs {"a" ; "e" ; "i" ; "o" ; "A" ; "E" ; "I" ; "O" }
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- artDef = "the" ;
|
||||||
|
--
|
||||||
|
---- For $Verb$.
|
||||||
|
--
|
||||||
|
-- Verb : Type = {
|
||||||
|
-- s : VForm => Str
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- VerbForms : Type =
|
||||||
|
-- Tense => Anteriority => Polarity => Ord => Agr => {fin, inf : Str} ;
|
||||||
|
--
|
||||||
|
-- VP : Type = {
|
||||||
|
-- s : VerbForms ;
|
||||||
|
-- s2 : Agr => Str
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- predV : Verb -> VP = \verb -> {
|
||||||
|
-- s = \\t,ant,b,ord,agr =>
|
||||||
|
-- let
|
||||||
|
-- inf = verb.s ! VInf ;
|
||||||
|
-- fin = presVerb verb agr ;
|
||||||
|
-- past = verb.s ! VPast ;
|
||||||
|
-- part = verb.s ! VPPart ;
|
||||||
|
-- vf : Str -> Str -> {fin, inf : Str} = \x,y ->
|
||||||
|
-- {fin = x ; inf = y} ;
|
||||||
|
-- in
|
||||||
|
-- case <t,ant,b,ord> of {
|
||||||
|
-- <Pres,Simul,Pos,ODir> => vf fin [] ;
|
||||||
|
-- <Pres,Simul,Pos,OQuest> => vf (does agr) inf ;
|
||||||
|
-- <Pres,Simul,Neg,_> => vf (doesnt agr) inf ;
|
||||||
|
-- <Pres,Anter,Pos,_> => vf (have agr) part ;
|
||||||
|
-- <Pres,Anter,Neg,_> => vf (havent agr) part ;
|
||||||
|
-- <Past,Simul,Pos,ODir> => vf past [] ;
|
||||||
|
-- <Past,Simul,Pos,OQuest> => vf "did" inf ;
|
||||||
|
-- <Past,Simul,Neg,_> => vf "didn't" inf ;
|
||||||
|
-- <Past,Anter,Pos,_> => vf "had" part ;
|
||||||
|
-- <Past,Anter,Neg,_> => vf "hadn't" part ;
|
||||||
|
-- <Fut, Simul,Pos,_> => vf "will" inf ;
|
||||||
|
-- <Fut, Simul,Neg,_> => vf "won't" inf ;
|
||||||
|
-- <Fut, Anter,Pos,_> => vf "will" ("have" ++ part) ;
|
||||||
|
-- <Fut, Anter,Neg,_> => vf "won't" ("have" ++ part) ;
|
||||||
|
-- <Cond,Simul,Pos,_> => vf "would" inf ;
|
||||||
|
-- <Cond,Simul,Neg,_> => vf "wouldn't" inf ;
|
||||||
|
-- <Cond,Anter,Pos,_> => vf "would" ("have" ++ part) ;
|
||||||
|
-- <Cond,Anter,Neg,_> => vf "wouldn't" ("have" ++ part)
|
||||||
|
-- } ;
|
||||||
|
-- s2 = \\_ => []
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- predAux : Aux -> VP = \verb -> {
|
||||||
|
-- s = \\t,ant,b,ord,agr =>
|
||||||
|
-- let
|
||||||
|
-- inf = verb.inf ;
|
||||||
|
-- fin = verb.pres ! b ! agr ;
|
||||||
|
-- past = verb.past ! b ! agr ;
|
||||||
|
-- part = verb.ppart ;
|
||||||
|
-- vf : Str -> Str -> {fin, inf : Str} = \x,y ->
|
||||||
|
-- {fin = x ; inf = y} ;
|
||||||
|
-- in
|
||||||
|
-- case <t,ant,b,ord> of {
|
||||||
|
-- <Pres,Simul,_, _> => vf fin [] ;
|
||||||
|
-- <Pres,Anter,Pos,_> => vf (have agr) part ;
|
||||||
|
-- <Pres,Anter,Neg,_> => vf (havent agr) part ;
|
||||||
|
-- <Past,Simul,_, _> => vf past [] ;
|
||||||
|
-- <Past,Anter,Pos,_> => vf "had" part ;
|
||||||
|
-- <Past,Anter,Neg,_> => vf "hadn't" part ;
|
||||||
|
-- <Fut, Simul,Pos,_> => vf "will" inf ;
|
||||||
|
-- <Fut, Simul,Neg,_> => vf "won't" inf ;
|
||||||
|
-- <Fut, Anter,Pos,_> => vf "will" ("have" ++ part) ;
|
||||||
|
-- <Fut, Anter,Neg,_> => vf "won't" ("have" ++ part) ;
|
||||||
|
-- <Cond,Simul,Pos,_> => vf "would" inf ;
|
||||||
|
-- <Cond,Simul,Neg,_> => vf "wouldn't" inf ;
|
||||||
|
-- <Cond,Anter,Pos,_> => vf "would" ("have" ++ part) ;
|
||||||
|
-- <Cond,Anter,Neg,_> => vf "wouldn't" ("have" ++ part)
|
||||||
|
-- } ;
|
||||||
|
-- s2 = \\_ => []
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- insertObj : (Agr => Str) -> VP -> VP = \obj,vp -> {
|
||||||
|
-- s = vp.s ;
|
||||||
|
-- s2 = \\a => vp.s2 ! a ++ obj ! a
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
----- This is not functional.
|
||||||
|
--
|
||||||
|
-- insertAdV : Str -> VP -> VP = \adv,vp -> {
|
||||||
|
-- s = vp.s ;
|
||||||
|
-- s2 = vp.s2
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- presVerb : {s : VForm => Str} -> Agr -> Str = \verb ->
|
||||||
|
-- agrVerb (verb.s ! VPres) (verb.s ! VInf) ;
|
||||||
|
--
|
||||||
|
-- infVP : VP -> Agr -> Str = \vp,a ->
|
||||||
|
-- (vp.s ! Fut ! Simul ! Neg ! ODir ! a).inf ++ vp.s2 ! a ;
|
||||||
|
--
|
||||||
|
-- agrVerb : Str -> Str -> Agr -> Str = \has,have,agr ->
|
||||||
|
-- case agr of {
|
||||||
|
-- {n = Sg ; p = P3} => has ;
|
||||||
|
-- _ => have
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- have = agrVerb "has" "have" ;
|
||||||
|
-- havent = agrVerb "hasn't" "haven't" ;
|
||||||
|
-- does = agrVerb "does" "do" ;
|
||||||
|
-- doesnt = agrVerb "doesn't" "don't" ;
|
||||||
|
--
|
||||||
|
-- Aux = {pres,past : Polarity => Agr => Str ; inf,ppart : Str} ;
|
||||||
|
--
|
||||||
|
-- auxBe : Aux = {
|
||||||
|
-- pres = \\b,a => case <b,a> of {
|
||||||
|
-- <Pos,{n = Sg ; p = P1}> => "am" ;
|
||||||
|
-- <Neg,{n = Sg ; p = P1}> => ["am not"] ; --- am not I
|
||||||
|
-- _ => agrVerb (posneg b "is") (posneg b "are") a
|
||||||
|
-- } ;
|
||||||
|
-- past = \\b,a => agrVerb (posneg b "was") (posneg b "were") a ;
|
||||||
|
-- inf = "be" ;
|
||||||
|
-- ppart = "been"
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- posneg : Polarity -> Str -> Str = \p,s -> case p of {
|
||||||
|
-- Pos => s ;
|
||||||
|
-- Neg => s + "n't"
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- conjThat : Str = "that" ;
|
||||||
|
--
|
||||||
|
-- reflPron : Agr => Str = table {
|
||||||
|
-- {n = Sg ; p = P1} => "myself" ;
|
||||||
|
-- {n = Sg ; p = P2} => "yourself" ;
|
||||||
|
-- {n = Sg ; p = P3} => "itself" ; ----
|
||||||
|
-- {n = Pl ; p = P1} => "ourselves" ;
|
||||||
|
-- {n = Pl ; p = P2} => "yourselves" ;
|
||||||
|
-- {n = Pl ; p = P3} => "themselves"
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
---- For $Sentence$.
|
||||||
|
--
|
||||||
|
-- Clause : Type = {
|
||||||
|
-- s : Tense => Anteriority => Polarity => Ord => Str
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- mkS : Str -> Agr -> VerbForms -> (Agr => Str) -> Clause =
|
||||||
|
-- \subj,agr,verb,compl0 -> {
|
||||||
|
-- s = \\t,a,b,o =>
|
||||||
|
-- let
|
||||||
|
-- verb = verb ! t ! a ! b ! o ! agr ;
|
||||||
|
-- compl = compl0 ! agr
|
||||||
|
-- in
|
||||||
|
-- case o of {
|
||||||
|
-- ODir => subj ++ verb.fin ++ verb.inf ++ compl ;
|
||||||
|
-- OQuest => verb.fin ++ subj ++ verb.inf ++ compl
|
||||||
|
-- }
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
--
|
||||||
|
---- For $Numeral$.
|
||||||
|
--
|
||||||
|
-- mkNum : Str -> Str -> Str -> Str -> {s : DForm => CardOrd => Str} =
|
||||||
|
-- \two, twelve, twenty, second ->
|
||||||
|
-- {s = table {
|
||||||
|
-- unit => table {NCard => two ; NOrd => second} ;
|
||||||
|
-- teen => \\c => mkCard c twelve ;
|
||||||
|
-- ten => \\c => mkCard c twenty
|
||||||
|
-- }
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- regNum : Str -> {s : DForm => CardOrd => Str} =
|
||||||
|
-- \six -> mkNum six (six + "teen") (six + "ty") (regOrd six) ;
|
||||||
|
--
|
||||||
|
-- regCardOrd : Str -> {s : CardOrd => Str} = \ten ->
|
||||||
|
-- {s = table {NCard => ten ; NOrd => regOrd ten}} ;
|
||||||
|
--
|
||||||
|
-- mkCard : CardOrd -> Str -> Str = \c,ten ->
|
||||||
|
-- (regCardOrd ten).s ! c ;
|
||||||
|
--
|
||||||
|
-- regOrd : Str -> Str = \ten ->
|
||||||
|
-- case last ten of {
|
||||||
|
-- "y" => init ten + "ieth" ;
|
||||||
|
-- _ => ten + "th"
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
}
|
||||||
2
lib/resource-1.0/french/SentenceFre.gf
Normal file
2
lib/resource-1.0/french/SentenceFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete SentenceFre of Sentence = CatFre ** SentenceRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
115
lib/resource-1.0/french/StructuralFre.gf
Normal file
115
lib/resource-1.0/french/StructuralFre.gf
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
concrete StructuralFre of Structural = CatFre **
|
||||||
|
open MorphoFre, Prelude in {
|
||||||
|
|
||||||
|
flags optimize=all ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
above_Prep = ss "ovanför" ;
|
||||||
|
after_Prep = ss "efter" ;
|
||||||
|
by8agent_Prep = ss "av" ;
|
||||||
|
all_Predet = {s = gennumForms "all" "allt" "alla"} ;
|
||||||
|
almost_AdA, almost_AdN = ss "nästan" ;
|
||||||
|
although_Subj = ss "fast" ;
|
||||||
|
always_AdV = ss "alltid" ;
|
||||||
|
and_Conj = ss "och" ** {n = Pl} ;
|
||||||
|
because_Subj = ss "eftersom" ;
|
||||||
|
before_Prep = ss "före" ;
|
||||||
|
behind_Prep = ss "bakom" ;
|
||||||
|
between_Prep = ss "mellan" ;
|
||||||
|
both7and_DConj = sd2 "både" "och" ** {n = Pl} ;
|
||||||
|
but_PConj = ss "men" ;
|
||||||
|
by8means_Prep = ss "med" ;
|
||||||
|
can8know_VV, can_VV =
|
||||||
|
mkVerb6 "kunna" "kan" "kunn" "kunde" "kunnat" "kunnen" **
|
||||||
|
{c2 = [] ; lock_VV = <>} ;
|
||||||
|
during_Prep = ss "under" ;
|
||||||
|
either7or_DConj = sd2 "antingen" "eller" ** {n = Sg} ;
|
||||||
|
everybody_NP = regNP "alla" "allas" Plg ;
|
||||||
|
every_Det = {s = \\_,_ => "varje" ; n = Sg ; det = DDef Indef} ;
|
||||||
|
everything_NP = regNP "allting" "alltings" SgNeutr ;
|
||||||
|
everywhere_Adv = ss "överallt" ;
|
||||||
|
first_Ord = {s = "första" ; isDet = True} ;
|
||||||
|
from_Prep = ss "från" ;
|
||||||
|
he_Pron = mkNP "han" "honom" "hans" "hans" "hans" SgUtr P3 ;
|
||||||
|
here_Adv = ss "här" ;
|
||||||
|
here7to_Adv = ss "hit" ;
|
||||||
|
here7from_Adv = ss "härifrån" ;
|
||||||
|
how_IAdv = ss "hur" ;
|
||||||
|
how8many_IDet = {s = \\_ => ["hur många"] ; n = Pl ; det = DDef Indef} ;
|
||||||
|
if_Subj = ss "om" ;
|
||||||
|
in8front_Prep = ss "framför" ;
|
||||||
|
i_Pron = mkNP "jag" "mig" "min" "mitt" "mina" SgUtr P1 ;
|
||||||
|
in_Prep = ss "i" ;
|
||||||
|
it_Pron = regNP "det" "dess" SgNeutr ;
|
||||||
|
less_CAdv = ss "mindre" ;
|
||||||
|
many_Det = {s = \\_,_ => "många" ; n = Pl ; det = DDef Indef} ;
|
||||||
|
more_CAdv = ss "mer" ;
|
||||||
|
most_Predet = {s = gennumForms ["den mesta"] ["det mesta"] ["de flesta"]} ;
|
||||||
|
much_Det = {s = \\_,_ => "mycket" ; n = Pl ; det = DDef Indef} ;
|
||||||
|
must_VV =
|
||||||
|
mkVerb6 "få" "måste" "få" "fick" "måst" "måst" ** {c2 = [] ; lock_VV = <>} ;
|
||||||
|
no_Phr = ss ["Nej"] ;
|
||||||
|
on_Prep = ss "på" ;
|
||||||
|
one_Quant = {s = \\_ => genderForms ["en"] ["ett"] ; n = Sg ; det = DIndef} ;
|
||||||
|
only_Predet = {s = \\_ => "bara"} ;
|
||||||
|
or_Conj = ss "eller" ** {n = Sg} ;
|
||||||
|
otherwise_PConj = ss "annars" ;
|
||||||
|
part_Prep = ss "av" ;
|
||||||
|
please_Voc = ss "tack" ; ---
|
||||||
|
possess_Prep = ss "av" ;
|
||||||
|
quite_Adv = ss "ganska" ;
|
||||||
|
she_Pron = mkNP "hon" "henne" "hennes" "hennes" "hennes" SgUtr P3 ;
|
||||||
|
so_AdA = ss "så" ;
|
||||||
|
someSg_Det = {s = \\_ => genderForms "någon" "något" ; n = Sg ; det = DIndef} ;
|
||||||
|
somePl_Det = {s = \\_,_ => "några" ; n = Pl ; det = DIndef} ;
|
||||||
|
somebody_NP = regNP "någon" "någons" SgUtr ;
|
||||||
|
something_NP = regNP "något" "någots" SgNeutr ;
|
||||||
|
somewhere_Adv = ss "någonstans" ;
|
||||||
|
that_Quant =
|
||||||
|
{s = \\_ => genderForms ["den där"] ["det där"] ; n = Sg ; det = DDef Def} ;
|
||||||
|
that_NP = regNP ["det där"] ["det därs"] SgNeutr ;
|
||||||
|
there_Adv = ss "där" ;
|
||||||
|
there7to_Adv = ss "dit" ;
|
||||||
|
there7from_Adv = ss "därifrån" ;
|
||||||
|
therefore_PConj = ss "därför" ;
|
||||||
|
these_NP = regNP ["de här"] ["det härs"] Plg ;
|
||||||
|
these_Quant = {s = \\_,_ => ["de här"] ; n = Pl ; det = DDef Def} ;
|
||||||
|
they_Pron = mkNP "de" "dem" "deras" "deras" "deras" Plg P1 ;
|
||||||
|
this_Quant =
|
||||||
|
{s = \\_ => genderForms ["den här"] ["det här"] ; n = Sg ; det = DDef Def} ;
|
||||||
|
this_NP = regNP ["det här"] ["det härs"] SgNeutr ;
|
||||||
|
those_NP = regNP ["de där"] ["det därs"] Plg ;
|
||||||
|
those_Quant = {s = \\_,_ => ["de där"] ; n = Pl ; det = DDef Def} ;
|
||||||
|
thou_Pron = mkNP "du" "dig" "din" "ditt" "dina" SgUtr P2 ;
|
||||||
|
through_Prep = ss "genom" ;
|
||||||
|
too_AdA = ss "för" ;
|
||||||
|
to_Prep = ss "till" ;
|
||||||
|
under_Prep = ss "under" ;
|
||||||
|
very_AdA = ss "mycket" ;
|
||||||
|
want_VV =
|
||||||
|
mkVerb6 "vilja" "vill" "vilj" "ville" "velat" "velad" **
|
||||||
|
{c2 = [] ; lock_VV = <>} ;
|
||||||
|
we_Pron = mkNP "vi" "oss" "vår" "vårt" "våra" Plg P1 ;
|
||||||
|
whatSg_IP = {s = \\_ => "vad" ; gn = SgUtr} ; ---- infl
|
||||||
|
whatPl_IP = {s = \\_ => "vad" ; gn = Plg} ; ---- infl
|
||||||
|
when_IAdv = ss "när" ;
|
||||||
|
when_Subj = ss "när" ;
|
||||||
|
where_IAdv = ss "var" ;
|
||||||
|
whichPl_IDet = {s = \\_ => "vilka" ; n = Pl ; det = DIndef} ;
|
||||||
|
whichSg_IDet = {s = genderForms "vilken" "vilket" ; n = Sg ; det = DIndef} ;
|
||||||
|
whoSg_IP = {s = vem.s ; gn = SgUtr} ;
|
||||||
|
whoPl_IP = {s = vem.s ; gn = Plg} ;
|
||||||
|
why_IAdv = ss "varför" ;
|
||||||
|
without_Prep = ss "utan" ;
|
||||||
|
with_Prep = ss "med" ;
|
||||||
|
ye_Pron = mkNP "ni" "er" "er" "ert" "era" Plg P2 ;
|
||||||
|
yes_Phr = ss ["ja"] ;
|
||||||
|
you_Pron = mkNP "ni" "er" "er" "ert" "era" SgUtr P2 ; --- wrong in refl
|
||||||
|
|
||||||
|
-- Auxiliaries that are used repeatedly.
|
||||||
|
|
||||||
|
oper
|
||||||
|
vem = mkNP "vem" "vem" "vems" "vems" "vems" SgUtr P3 ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
2
lib/resource-1.0/french/TensedFre.gf
Normal file
2
lib/resource-1.0/french/TensedFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete TensedFre of Tensed = CatFre, TenseX ** TensedRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
21
lib/resource-1.0/french/TestFre.gf
Normal file
21
lib/resource-1.0/french/TestFre.gf
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
--# -path=.:../romance:../abstract:../common:prelude
|
||||||
|
|
||||||
|
concrete TestFre of Test =
|
||||||
|
NounFre,
|
||||||
|
VerbFre,
|
||||||
|
AdjectiveFre,
|
||||||
|
AdverbFre,
|
||||||
|
-- -- NumeralFre,
|
||||||
|
SentenceFre,
|
||||||
|
QuestionFre,
|
||||||
|
RelativeFre,
|
||||||
|
ConjunctionFre,
|
||||||
|
PhraseFre,
|
||||||
|
UntensedFre,
|
||||||
|
-- -- TensedFre,
|
||||||
|
LexFre
|
||||||
|
** {
|
||||||
|
|
||||||
|
flags startcat = Phr ;
|
||||||
|
|
||||||
|
} ;
|
||||||
2
lib/resource-1.0/french/UntensedFre.gf
Normal file
2
lib/resource-1.0/french/UntensedFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete UntensedFre of Untensed = CatFre ** UntensedRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
2
lib/resource-1.0/french/VerbFre.gf
Normal file
2
lib/resource-1.0/french/VerbFre.gf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
concrete VerbFre of Verb = CatFre ** VerbRomance with
|
||||||
|
(DiffRomance = DiffFre) ;
|
||||||
395
lib/resource-1.0/french/VerbsFre.gf
Normal file
395
lib/resource-1.0/french/VerbsFre.gf
Normal file
@@ -0,0 +1,395 @@
|
|||||||
|
--# -path=.:../romance:../common:../abstract:../../prelude
|
||||||
|
|
||||||
|
-- Irregular verbs from Nancy, based on a list from Sylvain Pogodalla, 25/11/2004
|
||||||
|
-- Translated to GF by Aarne Ranta
|
||||||
|
-- added extracted subcat information 29/11
|
||||||
|
|
||||||
|
concrete VerbsFre of VerbsFreAbs = CatFre **
|
||||||
|
open DiffFre, MorphoFre, BeschFre, Prelude in {
|
||||||
|
|
||||||
|
flags optimize=values ;
|
||||||
|
|
||||||
|
-- all verbs in classes with "er" and "finir" are omitted
|
||||||
|
|
||||||
|
lin
|
||||||
|
abattre_V2 = v_besch55 "abattre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
absoudre_V2 = v_besch72 "absoudre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
abstenir_V = v_besch23 "abstenir" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
abstraire_V2 = v_besch61 "abstraire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
accourir_V = v_besch33 "accourir" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
accroître_V2 = v_besch73 "accroître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
accueillir_V2 = v_besch28 "accueillir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
acquérir_V2 = v_besch24 "acquérir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
adjoindre_V2 = v_besch58 "adjoindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
admettre_V2 = v_besch56 "admettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
advenir_V = v_besch23 "advenir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
aller_V = v_besch22 "aller" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
apercevoir_V2 = v_besch38 "apercevoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
apparaître_V = v_besch64 "apparaître" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
appartenir_V2 = v_besch23 "appartenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
appendre_V2 = v_besch53 "appendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
apprendre_V2 = v_besch54 "apprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
assaillir_V2 = v_besch29 "assaillir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
asseoir_V2 = v_besch49 "asseoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
astreindre_V2 = v_besch57 "astreindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
atteindre_V2 = v_besch57 "atteindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
attendre_V2 = v_besch53 "attendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
avoir_V2 = v_besch1 "avoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
battre_V2 = v_besch55 "battre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
boire_V2 = v_besch69 "boire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
bouillir_V2 = v_besch31 "bouillir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
braire_V = v_besch61 "braire" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
ceindre_V2 = v_besch57 "ceindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
choir_V = v_besch52 "choir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
circonscrire_V2 = v_besch80 "circonscrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
circonvenir_V2 = v_besch23 "circonvenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
clore_V2 = v_besch70 "clore" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
combattre_V2 = v_besch55 "combattre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
commettre_V2 = v_besch56 "commettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
comparaître_V2 = v_besch64 "comparaître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
complaire_V2 = v_besch63 "complaire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
comprendre_V2 = v_besch54 "comprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
compromettre_V2 = v_besch56 "compromettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
concevoir_V2 = v_besch38 "concevoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
conclure_V2 = v_besch71 "conclure" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
concourir_V2 = v_besch33 "concourir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
condescendre_V2 = v_besch53 "condescendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
conduire_V2 = v_besch82 "conduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
confire_V2 = v_besch81 "confire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
confondre_V2 = v_besch53 "confondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
conjoindre_V2 = v_besch58 "conjoindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
connaître_V2 = v_besch64 "connaître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
conquérir_V2 = v_besch24 "conquérir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
consentir_V2 = v_besch25 "consentir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
construire_V2 = v_besch82 "construire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
contenir_V2 = v_besch23 "contenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
contraindre_V2 = v_besch59 "contraindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
contrebattre_V2 = v_besch55 "contrebattre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
contredire_V2 = v_besch78 "contredire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
contrefaire_V2 = v_besch62 "contrefaire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
contrevenir_V2 = v_besch23 "contrevenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
convaincre_V2 = v_besch60 "convaincre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
convenir_V2 = v_besch23 "convenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
correspondre_V2 = v_besch53 "correspondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
corrompre_V2 = v_besch53 "corrompre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
coudre_V2 = v_besch73 "coudre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
courir_V2 = v_besch33 "courir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
couvrir_V2 = v_besch27 "couvrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
craindre_V2 = v_besch59 "craindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
croire_V2 = v_besch68 "croire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
croître_V = v_besch67 "croître" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
cueillir_V2 = v_besch28 "cueillir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
cuire_V2 = v_besch82 "cuire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
débattre_V2 = v_besch55 "débattre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
débouillir_V2 = v_besch31 "débouillir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
décevoir_V2 = v_besch38 "décevoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
déchoir_V2 = v_besch52 "déchoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
déclore_V2 = v_besch70 "déclore" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
décommettre_V2 = v_besch56 "décommettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
déconfire_V2 = v_besch81 "déconfire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
découdre_V2 = v_besch73 "découdre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
découvrir_V2 = v_besch27 "découvrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
décrire_V2 = v_besch80 "décrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
décroître_V2 = v_besch67 "décroître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
décuire_V2 = v_besch82 "décuire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
déduire_V2 = v_besch82 "déduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
défaillir_V = v_besch30 "défaillir" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
défaire_V2 = v_besch62 "défaire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
défendre_V2 = v_besch53 "défendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
démentir_V2 = v_besch25 "démentir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
démettre_V2 = v_besch56 "démettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
démordre_V = v_besch53 "démordre" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
départir_V2 = v_besch25 "départir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
dépeindre_V2 = v_besch57 "dépeindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
dépendre_V2 = v_besch53 "dépendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
déplaire_V = v_besch63 "déplaire" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
dépourvoir_V2 = v_besch40 "dépourvoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
déprendre_V2 = v_besch54 "déprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
désapprendre_V2 = v_besch54 "désapprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
descendre_V2 = v_besch53 "descendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
desservir_V2 = v_besch35 "desservir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
déteindre_V2 = v_besch57 "déteindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
détendre_V2 = v_besch53 "détendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
détenir_V2 = v_besch23 "détenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
détordre_V2 = v_besch53 "détordre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
détruire_V2 = v_besch82 "détruire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
devenir_V = v_besch23 "devenir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
dévêtir_V2 = v_besch26 "dévêtir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
devoir_V2 = v_besch42 "devoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
dire_V2 = v_besch78 "dire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
disconvenir_V2 = v_besch23 "disconvenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
discourir_V2 = v_besch33 "discourir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
disjoindre_V2 = v_besch58 "disjoindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
disparaître_V2 = v_besch64 "disparaître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
dissoudre_V2 = v_besch72 "dissoudre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
distendre_V2 = v_besch53 "distendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
distordre_V2 = v_besch53 "distordre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
distraire_V2 = v_besch61 "distraire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
dormir_V2 = v_besch32 "dormir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
ébattre_V = v_besch55 "ébattre" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
échoir_V2 = v_besch52 "échoir" ** {isRefl = False ; aux = VEsse ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
éclore_V2 = v_besch70 "éclore" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
éconduire_V2 = v_besch82 "éconduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
écrire_V2 = v_besch80 "écrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
élire_V2 = v_besch77 "élire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
embatre_V2 = v_besch55 "embatre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
embattre_V2 = v_besch55 "embattre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
emboire_V = v_besch69 "emboire" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
émettre_V2 = v_besch56 "émettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
émoudre_V2 = v_besch74 "émoudre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
émouvoir_V2 = v_besch44 "émouvoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
empreindre_V2 = v_besch57 "empreindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
enceindre_V2 = v_besch57 "enceindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
enclore_V2 = v_besch70 "enclore" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
encourir_V2 = v_besch33 "encourir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
endormir_V2 = v_besch32 "endormir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
enduire_V2 = v_besch82 "enduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
enfreindre_V2 = v_besch57 "enfreindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
enfuir_V = v_besch36 "enfuir" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
enjoindre_V2 = v_besch58 "enjoindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
enquérir_V = v_besch24 "enquérir" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
entendre_V2 = v_besch53 "entendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
entr'apercevoir_V = v_besch38 "entr'apercevoir" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
entrebattre_V = v_besch55 "entrebattre" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
entre_détruire_V = v_besch82 "entre-détruire" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
entre_haïr_V = v_besch20 "entre-haïr" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
entremettre_V = v_besch56 "entremettre" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
entre_nuire_V = v_besch82 "entre-nuire" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
entreprendre_V2 = v_besch54 "entreprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
entretenir_V2 = v_besch23 "entretenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
entrevoir_V2 = v_besch39 "entrevoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
entrouvrir_V2 = v_besch27 "entrouvrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
envoyer_V2 = v_besch18 "envoyer" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
épandre_V2 = v_besch53 "épandre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
éperdre_V = v_besch53 "éperdre" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
éprendre_V = v_besch54 "éprendre" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
équivaloir_V2 = v_besch47 "équivaloir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
éteindre_V2 = v_besch57 "éteindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
étendre_V2 = v_besch53 "étendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
étreindre_V2 = v_besch57 "étreindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
être_V = v_besch2 "être" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
exclure_V2 = v_besch71 "exclure" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
extraire_V2 = v_besch61 "extraire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
faillir_V2 = v_besch30 "faillir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
faire_V2 = v_besch62 "faire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
falloir_V = v_besch46 "falloir" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
feindre_V2 = v_besch57 "feindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
fendre_V2 = v_besch53 "fendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
fondre_V2 = v_besch53 "fondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
forfaire_V2 = v_besch62 "forfaire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
foutre_V2 = v_besch53 "foutre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
frire_V2 = v_besch81 "frire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
fuir_V2 = v_besch36 "fuir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
geindre_V2 = v_besch57 "geindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
gésir_V2 = mkNV (conj3gésir "gésir") ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
haïr_V2 = v_besch20 "haïr" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
inclure_V2 = v_besch71 "inclure" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
induire_V2 = v_besch82 "induire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
inscrire_V2 = v_besch80 "inscrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
instruire_V2 = v_besch82 "instruire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
interdire_V2 = v_besch78 "interdire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
interrompre_V2 = v_besch53 "interrompre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
intervenir_V = v_besch23 "intervenir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
introduire_V2 = v_besch82 "introduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
joindre_V2 = v_besch58 "joindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
lire_V2 = v_besch77 "lire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
luire_V = v_besch82 "luire" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
mainmettre_V2 = v_besch56 "mainmettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
maintenir_V2 = v_besch23 "maintenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
méconnaître_V2 = v_besch64 "méconnaître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
mécroire_V2 = v_besch68 "mécroire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
médire_V2 = v_besch78 "médire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
mentir_V2 = v_besch25 "mentir" ** {isRefl = False ; aux = VEsse ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
méprendre_V2 = v_besch54 "méprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
messeoir_V2 = v_besch50 "messeoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
mettre_V2 = v_besch56 "mettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
mévendre_V2 = v_besch53 "mévendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
mordre_V2 = v_besch53 "mordre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
morfondre_V = v_besch53 "morfondre" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
moudre_V2 = v_besch74 "moudre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
mourir_V = v_besch34 "mourir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
mouvoir_V2 = v_besch44 "mouvoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
naître_V = v_besch65 "naître" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
nuire_V2 = v_besch82 "nuire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
obtenir_V2 = v_besch23 "obtenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
obvenir_V = v_besch23 "obvenir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
occlure_V2 = v_besch71 "occlure" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
offrir_V2 = v_besch27 "offrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
oindre_V2 = v_besch58 "oindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
omettre_V2 = v_besch56 "omettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
ouïr_V2 = v_besch37 "ouïr" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
ouvrir_V2 = v_besch27 "ouvrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
paître_V2 = v_besch66 "paître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
paître_V = v_besch66 "paître" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
paraître_V = v_besch64 "paraître" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
parcourir_V2 = v_besch33 "parcourir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
parfondre_V2 = v_besch53 "parfondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
partir_V = v_besch25 "partir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
parvenir_V = v_besch23 "parvenir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
peindre_V2 = v_besch57 "peindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
pendre_V2 = v_besch53 "pendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
percevoir_V2 = v_besch38 "percevoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
perdre_V2 = v_besch53 "perdre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
permettre_V2 = v_besch56 "permettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
plaindre_V2 = v_besch59 "plaindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
plaire_V2 = v_besch63 "plaire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
pleuvoir_V = v_besch45 "pleuvoir" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
poindre_V2 = v_besch58 "poindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
pondre_V2 = v_besch53 "pondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
pourfendre_V2 = v_besch53 "pourfendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
poursuivre_V2 = v_besch75 "poursuivre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
pourvoir_V2 = v_besch40 "pourvoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
pouvoir_V = v_besch43 "pouvoir" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
prédire_V2 = v_besch78 "prédire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
prendre_V2 = v_besch54 "prendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
prescrire_V2 = v_besch80 "prescrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
pressentir_V2 = v_besch25 "pressentir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
prétendre_V2 = v_besch53 "prétendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
prévaloir_V2 = v_besch47 "prévaloir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
prévenir_V2 = v_besch23 "prévenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
prévoir_V2 = v_besch39 "prévoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
produire_V2 = v_besch82 "produire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
promettre_V2 = v_besch56 "promettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
promouvoir_V2 = v_besch44 "promouvoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
proscrire_V2 = v_besch80 "proscrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
provenir_V = v_besch23 "provenir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
rabattre_V2 = v_besch55 "rabattre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
raire_V2 = v_besch61 "raire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rapprendre_V2 = v_besch54 "rapprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rasseoir_V2 = v_besch49 "rasseoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
réadmettre_V2 = v_besch56 "réadmettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
réapparaître_V = v_besch64 "réapparaître" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
réapprendre_V2 = v_besch54 "réapprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rebattre_V2 = v_besch55 "rebattre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
recevoir_V2 = v_besch38 "recevoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
recomparaître_V2 = v_besch64 "recomparaître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
reconduire_V2 = v_besch82 "reconduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
reconnaître_V2 = v_besch64 "reconnaître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
reconquérir_V2 = v_besch24 "reconquérir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
reconstruire_V2 = v_besch82 "reconstruire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
recoudre_V2 = v_besch73 "recoudre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
recourir_V2 = v_besch33 "recourir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
recouvrir_V2 = v_besch27 "recouvrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
récrire_V2 = v_besch80 "récrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
recroître_V2 = v_besch67 "recroître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
recueillir_V2 = v_besch28 "recueillir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
recuire_V2 = v_besch82 "recuire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
redécouvrir_V2 = v_besch27 "redécouvrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
redéfaire_V2 = v_besch62 "redéfaire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
redescendre_V2 = v_besch53 "redescendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
redevenir_V = v_besch23 "redevenir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
redevoir_V2 = v_besch42 "redevoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
redire_V2 = v_besch78 "redire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
réduire_V2 = v_besch82 "réduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
réécrire_V2 = v_besch80 "réécrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
réélire_V2 = v_besch77 "réélire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
réentendre_V2 = v_besch53 "réentendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
refaire_V2 = v_besch62 "refaire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
refendre_V2 = v_besch53 "refendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
refondre_V2 = v_besch53 "refondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
réinscrire_V2 = v_besch80 "réinscrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
réintroduire_V2 = v_besch82 "réintroduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rejoindre_V2 = v_besch58 "rejoindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
relire_V2 = v_besch77 "relire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
reluire_V2 = v_besch82 "reluire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
remettre_V2 = v_besch56 "remettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
remordre_V2 = v_besch53 "remordre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
remoudre_V2 = v_besch74 "remoudre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
renaître_V2 = v_besch65 "renaître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rendormir_V2 = v_besch32 "rendormir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rendre_V2 = v_besch53 "rendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rentraire_V2 = v_besch61 "rentraire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rentrouvrir_V2 = v_besch27 "rentrouvrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
renvoyer_V2 = v_besch18 "renvoyer" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
repaître_V2 = v_besch66 "repaître" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
répandre_V2 = v_besch53 "répandre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
reparaître_V = v_besch64 "reparaître" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
repartir_V = v_besch25 "repartir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
repeindre_V2 = v_besch57 "repeindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rependre_V2 = v_besch53 "rependre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
repentir_V = v_besch25 "repentir" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
reperdre_V2 = v_besch53 "reperdre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
repleuvoir_V = v_besch45 "repleuvoir" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
répondre_V2 = v_besch53 "répondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
reprendre_V2 = v_besch54 "reprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
reproduire_V2 = v_besch82 "reproduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
requérir_V2 = v_besch24 "requérir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
résoudre_V2 = mkNV (conj3résoudre "résoudre") ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
ressentir_V2 = v_besch25 "ressentir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
resservir_V2 = v_besch35 "resservir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
ressortir_V = v_besch25 "ressortir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
ressouvenir_V = v_besch23 "ressouvenir" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
restreindre_V2 = v_besch57 "restreindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
reteindre_V2 = v_besch57 "reteindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
retendre_V2 = v_besch53 "retendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
retenir_V2 = v_besch23 "retenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
retondre_V2 = v_besch53 "retondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
retordre_V2 = v_besch53 "retordre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
retraduire_V2 = v_besch82 "retraduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
retraire_V2 = v_besch61 "retraire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
retranscrire_V2 = v_besch80 "retranscrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
retransmettre_V2 = v_besch56 "retransmettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rétreindre_V2 = v_besch57 "rétreindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
revaloir_V2 = v_besch47 "revaloir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
revendre_V2 = v_besch53 "revendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
revenir_V = v_besch23 "revenir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
revêtir_V2 = v_besch26 "revêtir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
revivre_V2 = v_besch76 "revivre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
revoir_V2 = v_besch39 "revoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
revouloir_V2 = v_besch48 "revouloir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rire_V2 = v_besch79 "rire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
rompre_V2 = v_besch53 "rompre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
rouvrir_V2 = v_besch27 "rouvrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
saillir_V2 = v_besch29 "saillir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
satisfaire_V2 = v_besch62 "satisfaire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
savoir_V2 = v_besch41 "savoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
secourir_V2 = v_besch33 "secourir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
séduire_V2 = v_besch82 "séduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
sentir_V2 = v_besch25 "sentir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
seoir_V = v_besch50 "seoir" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
servir_V2 = v_besch35 "servir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
sortir_V = v_besch25 "sortir" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
soubattre_V2 = v_besch55 "soubattre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
souffrir_V2 = v_besch27 "souffrir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
soumettre_V2 = v_besch56 "soumettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
sourire_V2 = v_besch79 "sourire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
souscrire_V2 = v_besch80 "souscrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
sous_entendre_V2 = v_besch53 "sous-entendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
sous_tendre_V2 = v_besch53 "sous-tendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
soustraire_V2 = v_besch61 "soustraire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
soutenir_V2 = v_besch23 "soutenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
souvenir_V = v_besch23 "souvenir" ** {isRefl = False ; aux = VHabere ; lock_V = <> ; c2 = complAcc} ;
|
||||||
|
subvenir_V2 = v_besch23 "subvenir" ** {isRefl = False ; aux = VEsse ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
suffire_V2 = v_besch81 "suffire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
suivre_V2 = v_besch75 "suivre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
surfaire_V2 = v_besch62 "surfaire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
surprendre_V2 = v_besch54 "surprendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
surproduire_V2 = v_besch82 "surproduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
surseoir_V2 = v_besch51 "surseoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
surtondre_V2 = v_besch53 "surtondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
survenir_V = v_besch23 "survenir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
survivre_V2 = v_besch76 "survivre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
suspendre_V2 = v_besch53 "suspendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
taire_V2 = v_besch63 "taire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
teindre_V2 = v_besch57 "teindre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
tendre_V2 = v_besch53 "tendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
tenir_V2 = v_besch23 "tenir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complDat} ;
|
||||||
|
tondre_V2 = v_besch53 "tondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
tordre_V2 = v_besch53 "tordre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
traduire_V2 = v_besch82 "traduire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
traire_V2 = v_besch61 "traire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
transcrire_V2 = v_besch80 "transcrire" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
transmettre_V2 = v_besch56 "transmettre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
transparaître_V = v_besch64 "transparaître" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
tréfondre_V2 = v_besch53 "tréfondre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
tressaillir_V = v_besch29 "tressaillir" ** {isRefl = False ; aux = VHabere ; lock_V = <>} ;
|
||||||
|
vaincre_V2 = v_besch60 "vaincre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
valoir_V2 = v_besch47 "valoir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
vendre_V2 = v_besch53 "vendre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
venir_V = v_besch23 "venir" ** {isRefl = False ; aux = VEsse ; lock_V = <>} ;
|
||||||
|
vêtir_V2 = v_besch26 "vêtir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
vivre_V2 = v_besch76 "vivre" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
voir_V2 = v_besch39 "voir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
|
||||||
|
vouloir_V2 = v_besch48 "vouloir" ** {isRefl = False ; aux = VHabere ; lock_V2 = <> ; c2 = complGen} ;
|
||||||
|
|
||||||
|
}
|
||||||
391
lib/resource-1.0/french/VerbsFreAbs.gf
Normal file
391
lib/resource-1.0/french/VerbsFreAbs.gf
Normal file
@@ -0,0 +1,391 @@
|
|||||||
|
--# -path=.:../romance:../abstract:../../prelude
|
||||||
|
|
||||||
|
-- Irregular verbs from Nancy, based on a list from Sylvain Pogodalla, 25/11/2004
|
||||||
|
-- Translated to GF by Aarne Ranta
|
||||||
|
-- added extracted subcat information 29/11
|
||||||
|
|
||||||
|
abstract VerbsFreAbs = Cat ** {
|
||||||
|
|
||||||
|
-- all verbs in classes with "er" and "ir" like "finir" are omitted
|
||||||
|
|
||||||
|
fun
|
||||||
|
abattre_V2 : V2 ;
|
||||||
|
absoudre_V2 : V2 ;
|
||||||
|
abstenir_V : V ;
|
||||||
|
abstraire_V2 : V2 ;
|
||||||
|
accourir_V : V ;
|
||||||
|
accroître_V2 : V2 ;
|
||||||
|
accueillir_V2 : V2 ;
|
||||||
|
acquérir_V2 : V2 ;
|
||||||
|
adjoindre_V2 : V2 ;
|
||||||
|
admettre_V2 : V2 ;
|
||||||
|
advenir_V : V ;
|
||||||
|
aller_V : V ;
|
||||||
|
apercevoir_V2 : V2 ;
|
||||||
|
apparaître_V : V ;
|
||||||
|
appartenir_V2 : V2 ;
|
||||||
|
appendre_V2 : V2 ;
|
||||||
|
apprendre_V2 : V2 ;
|
||||||
|
assaillir_V2 : V2 ;
|
||||||
|
asseoir_V2 : V2 ;
|
||||||
|
astreindre_V2 : V2 ;
|
||||||
|
atteindre_V2 : V2 ;
|
||||||
|
attendre_V2 : V2 ;
|
||||||
|
avoir_V2 : V2 ;
|
||||||
|
battre_V2 : V2 ;
|
||||||
|
boire_V2 : V2 ;
|
||||||
|
bouillir_V2 : V2 ;
|
||||||
|
braire_V : V ;
|
||||||
|
ceindre_V2 : V2 ;
|
||||||
|
choir_V : V ;
|
||||||
|
circonscrire_V2 : V2 ;
|
||||||
|
circonvenir_V2 : V2 ;
|
||||||
|
clore_V2 : V2 ;
|
||||||
|
combattre_V2 : V2 ;
|
||||||
|
commettre_V2 : V2 ;
|
||||||
|
comparaître_V2 : V2 ;
|
||||||
|
complaire_V2 : V2 ;
|
||||||
|
comprendre_V2 : V2 ;
|
||||||
|
compromettre_V2 : V2 ;
|
||||||
|
concevoir_V2 : V2 ;
|
||||||
|
conclure_V2 : V2 ;
|
||||||
|
concourir_V2 : V2 ;
|
||||||
|
condescendre_V2 : V2 ;
|
||||||
|
conduire_V2 : V2 ;
|
||||||
|
confire_V2 : V2 ;
|
||||||
|
confondre_V2 : V2 ;
|
||||||
|
conjoindre_V2 : V2 ;
|
||||||
|
connaître_V2 : V2 ;
|
||||||
|
conquérir_V2 : V2 ;
|
||||||
|
consentir_V2 : V2 ;
|
||||||
|
construire_V2 : V2 ;
|
||||||
|
contenir_V2 : V2 ;
|
||||||
|
contraindre_V2 : V2 ;
|
||||||
|
contrebattre_V2 : V2 ;
|
||||||
|
contredire_V2 : V2 ;
|
||||||
|
contrefaire_V2 : V2 ;
|
||||||
|
contrevenir_V2 : V2 ;
|
||||||
|
convaincre_V2 : V2 ;
|
||||||
|
convenir_V2 : V2 ;
|
||||||
|
correspondre_V2 : V2 ;
|
||||||
|
corrompre_V2 : V2 ;
|
||||||
|
coudre_V2 : V2 ;
|
||||||
|
courir_V2 : V2 ;
|
||||||
|
couvrir_V2 : V2 ;
|
||||||
|
craindre_V2 : V2 ;
|
||||||
|
croire_V2 : V2 ;
|
||||||
|
croître_V : V ;
|
||||||
|
cueillir_V2 : V2 ;
|
||||||
|
cuire_V2 : V2 ;
|
||||||
|
débattre_V2 : V2 ;
|
||||||
|
débouillir_V2 : V2 ;
|
||||||
|
décevoir_V2 : V2 ;
|
||||||
|
déchoir_V2 : V2 ;
|
||||||
|
déclore_V2 : V2 ;
|
||||||
|
décommettre_V2 : V2 ;
|
||||||
|
déconfire_V2 : V2 ;
|
||||||
|
découdre_V2 : V2 ;
|
||||||
|
découvrir_V2 : V2 ;
|
||||||
|
décrire_V2 : V2 ;
|
||||||
|
décroître_V2 : V2 ;
|
||||||
|
décuire_V2 : V2 ;
|
||||||
|
déduire_V2 : V2 ;
|
||||||
|
défaillir_V : V ;
|
||||||
|
défaire_V2 : V2 ;
|
||||||
|
défendre_V2 : V2 ;
|
||||||
|
démentir_V2 : V2 ;
|
||||||
|
démettre_V2 : V2 ;
|
||||||
|
démordre_V : V ;
|
||||||
|
départir_V2 : V2 ;
|
||||||
|
dépeindre_V2 : V2 ;
|
||||||
|
dépendre_V2 : V2 ;
|
||||||
|
déplaire_V : V ;
|
||||||
|
dépourvoir_V2 : V2 ;
|
||||||
|
déprendre_V2 : V2 ;
|
||||||
|
désapprendre_V2 : V2 ;
|
||||||
|
descendre_V2 : V2 ;
|
||||||
|
desservir_V2 : V2 ;
|
||||||
|
déteindre_V2 : V2 ;
|
||||||
|
détendre_V2 : V2 ;
|
||||||
|
détenir_V2 : V2 ;
|
||||||
|
détordre_V2 : V2 ;
|
||||||
|
détruire_V2 : V2 ;
|
||||||
|
devenir_V : V ;
|
||||||
|
dévętir_V2 : V2 ;
|
||||||
|
devoir_V2 : V2 ;
|
||||||
|
dire_V2 : V2 ;
|
||||||
|
disconvenir_V2 : V2 ;
|
||||||
|
discourir_V2 : V2 ;
|
||||||
|
disjoindre_V2 : V2 ;
|
||||||
|
disparaître_V2 : V2 ;
|
||||||
|
dissoudre_V2 : V2 ;
|
||||||
|
distendre_V2 : V2 ;
|
||||||
|
distordre_V2 : V2 ;
|
||||||
|
distraire_V2 : V2 ;
|
||||||
|
dormir_V2 : V2 ;
|
||||||
|
ébattre_V : V ;
|
||||||
|
échoir_V2 : V2 ;
|
||||||
|
éclore_V2 : V2 ;
|
||||||
|
éconduire_V2 : V2 ;
|
||||||
|
écrire_V2 : V2 ;
|
||||||
|
élire_V2 : V2 ;
|
||||||
|
embatre_V2 : V2 ;
|
||||||
|
embattre_V2 : V2 ;
|
||||||
|
emboire_V : V ;
|
||||||
|
émettre_V2 : V2 ;
|
||||||
|
émoudre_V2 : V2 ;
|
||||||
|
émouvoir_V2 : V2 ;
|
||||||
|
empreindre_V2 : V2 ;
|
||||||
|
enceindre_V2 : V2 ;
|
||||||
|
enclore_V2 : V2 ;
|
||||||
|
encourir_V2 : V2 ;
|
||||||
|
endormir_V2 : V2 ;
|
||||||
|
enduire_V2 : V2 ;
|
||||||
|
enfreindre_V2 : V2 ;
|
||||||
|
enfuir_V : V ;
|
||||||
|
enjoindre_V2 : V2 ;
|
||||||
|
enquérir_V : V ;
|
||||||
|
entendre_V2 : V2 ;
|
||||||
|
entr'apercevoir_V : V ;
|
||||||
|
entrebattre_V : V ;
|
||||||
|
entre_détruire_V : V ;
|
||||||
|
entre_haďr_V : V ;
|
||||||
|
entremettre_V : V ;
|
||||||
|
entre_nuire_V : V ;
|
||||||
|
entreprendre_V2 : V2 ;
|
||||||
|
entretenir_V2 : V2 ;
|
||||||
|
entrevoir_V2 : V2 ;
|
||||||
|
entrouvrir_V2 : V2 ;
|
||||||
|
envoyer_V2 : V2 ;
|
||||||
|
épandre_V2 : V2 ;
|
||||||
|
éperdre_V : V ;
|
||||||
|
éprendre_V : V ;
|
||||||
|
équivaloir_V2 : V2 ;
|
||||||
|
éteindre_V2 : V2 ;
|
||||||
|
étendre_V2 : V2 ;
|
||||||
|
étreindre_V2 : V2 ;
|
||||||
|
ętre_V : V ;
|
||||||
|
exclure_V2 : V2 ;
|
||||||
|
extraire_V2 : V2 ;
|
||||||
|
faillir_V2 : V2 ;
|
||||||
|
faire_V2 : V2 ;
|
||||||
|
falloir_V : V ;
|
||||||
|
feindre_V2 : V2 ;
|
||||||
|
fendre_V2 : V2 ;
|
||||||
|
fondre_V2 : V2 ;
|
||||||
|
forfaire_V2 : V2 ;
|
||||||
|
foutre_V2 : V2 ;
|
||||||
|
frire_V2 : V2 ;
|
||||||
|
fuir_V2 : V2 ;
|
||||||
|
geindre_V2 : V2 ;
|
||||||
|
gésir_V2 : V2 ;
|
||||||
|
haďr_V2 : V2 ;
|
||||||
|
inclure_V2 : V2 ;
|
||||||
|
induire_V2 : V2 ;
|
||||||
|
inscrire_V2 : V2 ;
|
||||||
|
instruire_V2 : V2 ;
|
||||||
|
interdire_V2 : V2 ;
|
||||||
|
interrompre_V2 : V2 ;
|
||||||
|
intervenir_V : V ;
|
||||||
|
introduire_V2 : V2 ;
|
||||||
|
joindre_V2 : V2 ;
|
||||||
|
lire_V2 : V2 ;
|
||||||
|
luire_V : V ;
|
||||||
|
mainmettre_V2 : V2 ;
|
||||||
|
maintenir_V2 : V2 ;
|
||||||
|
méconnaître_V2 : V2 ;
|
||||||
|
mécroire_V2 : V2 ;
|
||||||
|
médire_V2 : V2 ;
|
||||||
|
mentir_V2 : V2 ;
|
||||||
|
méprendre_V2 : V2 ;
|
||||||
|
messeoir_V2 : V2 ;
|
||||||
|
mettre_V2 : V2 ;
|
||||||
|
mévendre_V2 : V2 ;
|
||||||
|
mordre_V2 : V2 ;
|
||||||
|
morfondre_V : V ;
|
||||||
|
moudre_V2 : V2 ;
|
||||||
|
mourir_V : V ;
|
||||||
|
mouvoir_V2 : V2 ;
|
||||||
|
naître_V : V ;
|
||||||
|
nuire_V2 : V2 ;
|
||||||
|
obtenir_V2 : V2 ;
|
||||||
|
obvenir_V : V ;
|
||||||
|
occlure_V2 : V2 ;
|
||||||
|
offrir_V2 : V2 ;
|
||||||
|
oindre_V2 : V2 ;
|
||||||
|
omettre_V2 : V2 ;
|
||||||
|
ouďr_V2 : V2 ;
|
||||||
|
ouvrir_V2 : V2 ;
|
||||||
|
paître_V2 : V2 ;
|
||||||
|
paître_V : V ;
|
||||||
|
paraître_V : V ;
|
||||||
|
parcourir_V2 : V2 ;
|
||||||
|
parfondre_V2 : V2 ;
|
||||||
|
partir_V : V ;
|
||||||
|
parvenir_V : V ;
|
||||||
|
peindre_V2 : V2 ;
|
||||||
|
pendre_V2 : V2 ;
|
||||||
|
percevoir_V2 : V2 ;
|
||||||
|
perdre_V2 : V2 ;
|
||||||
|
permettre_V2 : V2 ;
|
||||||
|
plaindre_V2 : V2 ;
|
||||||
|
plaire_V2 : V2 ;
|
||||||
|
pleuvoir_V : V ;
|
||||||
|
poindre_V2 : V2 ;
|
||||||
|
pondre_V2 : V2 ;
|
||||||
|
pourfendre_V2 : V2 ;
|
||||||
|
poursuivre_V2 : V2 ;
|
||||||
|
pourvoir_V2 : V2 ;
|
||||||
|
pouvoir_V : V ;
|
||||||
|
prédire_V2 : V2 ;
|
||||||
|
prendre_V2 : V2 ;
|
||||||
|
prescrire_V2 : V2 ;
|
||||||
|
pressentir_V2 : V2 ;
|
||||||
|
prétendre_V2 : V2 ;
|
||||||
|
prévaloir_V2 : V2 ;
|
||||||
|
prévenir_V2 : V2 ;
|
||||||
|
prévoir_V2 : V2 ;
|
||||||
|
produire_V2 : V2 ;
|
||||||
|
promettre_V2 : V2 ;
|
||||||
|
promouvoir_V2 : V2 ;
|
||||||
|
proscrire_V2 : V2 ;
|
||||||
|
provenir_V : V ;
|
||||||
|
rabattre_V2 : V2 ;
|
||||||
|
raire_V2 : V2 ;
|
||||||
|
rapprendre_V2 : V2 ;
|
||||||
|
rasseoir_V2 : V2 ;
|
||||||
|
réadmettre_V2 : V2 ;
|
||||||
|
réapparaître_V : V ;
|
||||||
|
réapprendre_V2 : V2 ;
|
||||||
|
rebattre_V2 : V2 ;
|
||||||
|
recevoir_V2 : V2 ;
|
||||||
|
recomparaître_V2 : V2 ;
|
||||||
|
reconduire_V2 : V2 ;
|
||||||
|
reconnaître_V2 : V2 ;
|
||||||
|
reconquérir_V2 : V2 ;
|
||||||
|
reconstruire_V2 : V2 ;
|
||||||
|
recoudre_V2 : V2 ;
|
||||||
|
recourir_V2 : V2 ;
|
||||||
|
recouvrir_V2 : V2 ;
|
||||||
|
récrire_V2 : V2 ;
|
||||||
|
recroître_V2 : V2 ;
|
||||||
|
recueillir_V2 : V2 ;
|
||||||
|
recuire_V2 : V2 ;
|
||||||
|
redécouvrir_V2 : V2 ;
|
||||||
|
redéfaire_V2 : V2 ;
|
||||||
|
redescendre_V2 : V2 ;
|
||||||
|
redevenir_V : V ;
|
||||||
|
redevoir_V2 : V2 ;
|
||||||
|
redire_V2 : V2 ;
|
||||||
|
réduire_V2 : V2 ;
|
||||||
|
réécrire_V2 : V2 ;
|
||||||
|
réélire_V2 : V2 ;
|
||||||
|
réentendre_V2 : V2 ;
|
||||||
|
refaire_V2 : V2 ;
|
||||||
|
refendre_V2 : V2 ;
|
||||||
|
refondre_V2 : V2 ;
|
||||||
|
réinscrire_V2 : V2 ;
|
||||||
|
réintroduire_V2 : V2 ;
|
||||||
|
rejoindre_V2 : V2 ;
|
||||||
|
relire_V2 : V2 ;
|
||||||
|
reluire_V2 : V2 ;
|
||||||
|
remettre_V2 : V2 ;
|
||||||
|
remordre_V2 : V2 ;
|
||||||
|
remoudre_V2 : V2 ;
|
||||||
|
renaître_V2 : V2 ;
|
||||||
|
rendormir_V2 : V2 ;
|
||||||
|
rendre_V2 : V2 ;
|
||||||
|
rentraire_V2 : V2 ;
|
||||||
|
rentrouvrir_V2 : V2 ;
|
||||||
|
renvoyer_V2 : V2 ;
|
||||||
|
repaître_V2 : V2 ;
|
||||||
|
répandre_V2 : V2 ;
|
||||||
|
reparaître_V : V ;
|
||||||
|
repartir_V : V ;
|
||||||
|
repeindre_V2 : V2 ;
|
||||||
|
rependre_V2 : V2 ;
|
||||||
|
repentir_V : V ;
|
||||||
|
reperdre_V2 : V2 ;
|
||||||
|
repleuvoir_V : V ;
|
||||||
|
répondre_V2 : V2 ;
|
||||||
|
reprendre_V2 : V2 ;
|
||||||
|
reproduire_V2 : V2 ;
|
||||||
|
requérir_V2 : V2 ;
|
||||||
|
résoudre_V2 : V2 ;
|
||||||
|
ressentir_V2 : V2 ;
|
||||||
|
resservir_V2 : V2 ;
|
||||||
|
ressortir_V : V ;
|
||||||
|
ressouvenir_V : V ;
|
||||||
|
restreindre_V2 : V2 ;
|
||||||
|
reteindre_V2 : V2 ;
|
||||||
|
retendre_V2 : V2 ;
|
||||||
|
retenir_V2 : V2 ;
|
||||||
|
retondre_V2 : V2 ;
|
||||||
|
retordre_V2 : V2 ;
|
||||||
|
retraduire_V2 : V2 ;
|
||||||
|
retraire_V2 : V2 ;
|
||||||
|
retranscrire_V2 : V2 ;
|
||||||
|
retransmettre_V2 : V2 ;
|
||||||
|
rétreindre_V2 : V2 ;
|
||||||
|
revaloir_V2 : V2 ;
|
||||||
|
revendre_V2 : V2 ;
|
||||||
|
revenir_V : V ;
|
||||||
|
revętir_V2 : V2 ;
|
||||||
|
revivre_V2 : V2 ;
|
||||||
|
revoir_V2 : V2 ;
|
||||||
|
revouloir_V2 : V2 ;
|
||||||
|
rire_V2 : V2 ;
|
||||||
|
rompre_V2 : V2 ;
|
||||||
|
rouvrir_V2 : V2 ;
|
||||||
|
saillir_V2 : V2 ;
|
||||||
|
satisfaire_V2 : V2 ;
|
||||||
|
savoir_V2 : V2 ;
|
||||||
|
secourir_V2 : V2 ;
|
||||||
|
séduire_V2 : V2 ;
|
||||||
|
sentir_V2 : V2 ;
|
||||||
|
seoir_V : V ;
|
||||||
|
servir_V2 : V2 ;
|
||||||
|
sortir_V : V ;
|
||||||
|
soubattre_V2 : V2 ;
|
||||||
|
souffrir_V2 : V2 ;
|
||||||
|
soumettre_V2 : V2 ;
|
||||||
|
sourire_V2 : V2 ;
|
||||||
|
souscrire_V2 : V2 ;
|
||||||
|
sous_entendre_V2 : V2 ;
|
||||||
|
sous_tendre_V2 : V2 ;
|
||||||
|
soustraire_V2 : V2 ;
|
||||||
|
soutenir_V2 : V2 ;
|
||||||
|
souvenir_V : V ;
|
||||||
|
subvenir_V2 : V2 ;
|
||||||
|
suffire_V2 : V2 ;
|
||||||
|
suivre_V2 : V2 ;
|
||||||
|
surfaire_V2 : V2 ;
|
||||||
|
surprendre_V2 : V2 ;
|
||||||
|
surproduire_V2 : V2 ;
|
||||||
|
surseoir_V2 : V2 ;
|
||||||
|
surtondre_V2 : V2 ;
|
||||||
|
survenir_V : V ;
|
||||||
|
survivre_V2 : V2 ;
|
||||||
|
suspendre_V2 : V2 ;
|
||||||
|
taire_V2 : V2 ;
|
||||||
|
teindre_V2 : V2 ;
|
||||||
|
tendre_V2 : V2 ;
|
||||||
|
tenir_V2 : V2 ;
|
||||||
|
tondre_V2 : V2 ;
|
||||||
|
tordre_V2 : V2 ;
|
||||||
|
traduire_V2 : V2 ;
|
||||||
|
traire_V2 : V2 ;
|
||||||
|
transcrire_V2 : V2 ;
|
||||||
|
transmettre_V2 : V2 ;
|
||||||
|
transparaître_V : V ;
|
||||||
|
tréfondre_V2 : V2 ;
|
||||||
|
tressaillir_V : V ;
|
||||||
|
vaincre_V2 : V2 ;
|
||||||
|
valoir_V2 : V2 ;
|
||||||
|
vendre_V2 : V2 ;
|
||||||
|
venir_V : V ;
|
||||||
|
vętir_V2 : V2 ;
|
||||||
|
vivre_V2 : V2 ;
|
||||||
|
voir_V2 : V2 ;
|
||||||
|
vouloir_V2 : V2 ;
|
||||||
|
}
|
||||||
40
lib/resource-1.0/romance/AdjectiveRomance.gf
Normal file
40
lib/resource-1.0/romance/AdjectiveRomance.gf
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
incomplete concrete AdjectiveRomance of Adjective =
|
||||||
|
CatRomance ** open DiffRomance, ResRomance, Prelude in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
PositA a = {
|
||||||
|
s = \\ap => a.s ! AF (APosit ap) Nom ;
|
||||||
|
isPre = True
|
||||||
|
} ;
|
||||||
|
ComparA a np = {
|
||||||
|
s = \\_ => a.s ! AF ACompar Nom ++ conjThan ++ np.s ! nominative ;
|
||||||
|
isPre = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- $SuperlA$ belongs to determiner syntax in $Noun$.
|
||||||
|
|
||||||
|
ComplA2 a np = {
|
||||||
|
s = \\ap => a.s ! AF (APosit ap) Nom ++ a.c2 ++ np.s ! accusative ;
|
||||||
|
isPre = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ReflA2 a = {
|
||||||
|
s = \\ap => a.s ! AF (APosit ap) Nom ++ a.c2 ++
|
||||||
|
reflPron (agrP3 Utr Sg) ; ----
|
||||||
|
isPre = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
SentAP ap sc = {
|
||||||
|
s = \\a => ap.s ! a ++ sc.s ;
|
||||||
|
isPre = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
AdAP ada ap = {
|
||||||
|
s = \\a => ada.s ++ ap.s ! a ;
|
||||||
|
isPre = ap.isPre
|
||||||
|
} ;
|
||||||
|
|
||||||
|
UseA2 a = a ;
|
||||||
|
|
||||||
|
}
|
||||||
28
lib/resource-1.0/romance/AdverbRomance.gf
Normal file
28
lib/resource-1.0/romance/AdverbRomance.gf
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
incomplete concrete AdverbRomance of Adverb = CatRomance ** open DiffRomance, ResRomance, Prelude in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
PositAdvAdj a = {
|
||||||
|
s = a.s ! adverbForm
|
||||||
|
} ;
|
||||||
|
ComparAdvAdj cadv a np = {
|
||||||
|
s = cadv.s ++ a.s ! adverbForm ++ conjThan ++ np.s ! nominative
|
||||||
|
} ;
|
||||||
|
ComparAdvAdjS cadv a s = {
|
||||||
|
s = cadv.s ++ a.s ! adverbForm ++ conjThan ++ s.s ! Sub
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PrepNP prep np = {s = prep.s ++ np.s ! accusative} ;
|
||||||
|
|
||||||
|
AdAdv = cc2 ;
|
||||||
|
|
||||||
|
SubjS subj s = {
|
||||||
|
s = subj.s ++ s.s ! Sub
|
||||||
|
} ;
|
||||||
|
AdvSC s = s ;
|
||||||
|
|
||||||
|
AdnCAdv cadv = {s = cadv.s ++ conjThan} ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
adverbForm : AForm = AF (APosit (Strong SgNeutr)) Nom ;
|
||||||
|
|
||||||
|
}
|
||||||
104
lib/resource-1.0/romance/CatRomance.gf
Normal file
104
lib/resource-1.0/romance/CatRomance.gf
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
incomplete concrete CatRomance of Cat =
|
||||||
|
open ResRomance, Prelude, DiffRomance, (R = ParamX) in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lincat
|
||||||
|
|
||||||
|
-- Phrase
|
||||||
|
|
||||||
|
Text, Phr, Utt, Voc = {s : Str} ;
|
||||||
|
|
||||||
|
-- Tensed/Untensed
|
||||||
|
|
||||||
|
S = {s : Mood => Str} ;
|
||||||
|
QS = {s : QForm => Str} ;
|
||||||
|
RS = {s : Mood => Agr => Str} ;
|
||||||
|
|
||||||
|
-- Sentence
|
||||||
|
|
||||||
|
Cl = {s : Tense => Anteriority => Polarity => Mood => Str} ;
|
||||||
|
Slash = {s : Tense => Anteriority => Polarity => Mood => Str} ** {c2 : Compl} ;
|
||||||
|
Imp = {s : Polarity => AAgr => Str} ;
|
||||||
|
|
||||||
|
-- Question
|
||||||
|
|
||||||
|
QCl = {s : Tense => Anteriority => Polarity => QForm => Str} ;
|
||||||
|
IP = {s : Case => Str ; a : AAgr} ;
|
||||||
|
IAdv = {s : Str} ;
|
||||||
|
IDet = {s : Gender => Str ; n : Number} ;
|
||||||
|
|
||||||
|
-- Relative
|
||||||
|
|
||||||
|
RCl = {s : Tense => Anteriority => Polarity => Mood => Agr => Str} ;
|
||||||
|
---- RP = {s : AAgr => RelForm => Str ; a : RAgr} ;
|
||||||
|
|
||||||
|
-- Verb
|
||||||
|
|
||||||
|
VP = {
|
||||||
|
s : Anteriority => VF => {
|
||||||
|
fin : Str ; -- ai
|
||||||
|
inf : Str -- dit
|
||||||
|
} ;
|
||||||
|
a1 : Polarity => Str ; -- ne-pas
|
||||||
|
c1 : Str ; -- le
|
||||||
|
c2 : Str ; -- lui
|
||||||
|
n2 : Agr => Str ; -- content(e) ; à ma mère
|
||||||
|
a2 : Str ; -- hier
|
||||||
|
ext : Str ; -- que je dors
|
||||||
|
} ;
|
||||||
|
Comp = {s : Agr => Str} ;
|
||||||
|
SC = {s : Str} ;
|
||||||
|
|
||||||
|
|
||||||
|
-- Adjective
|
||||||
|
|
||||||
|
AP = {s : AForm => Str ; isPre : Bool} ;
|
||||||
|
|
||||||
|
-- Noun
|
||||||
|
|
||||||
|
CN = {s : Number => Str ; g : Gender} ;
|
||||||
|
NP,Pron = {s : NPForm => Str ; a : Agr ; c : ClitType} ;
|
||||||
|
Det = {s : Gender => Case => Str ; n : Number} ;
|
||||||
|
QuantSg = {s : Gender => Case => Str} ;
|
||||||
|
QuantPl = {s : Gender => Case => Str} ;
|
||||||
|
Predet = {s : AAgr => Str} ;
|
||||||
|
Num = {s : Gender => Str} ;
|
||||||
|
Ord = {s : AAgr => Str} ;
|
||||||
|
|
||||||
|
-- Adverb
|
||||||
|
|
||||||
|
Adv, AdV, AdA, AdS, AdN = {s : Str} ;
|
||||||
|
|
||||||
|
-- Numeral
|
||||||
|
|
||||||
|
---- Numeral = {s : CardOrd => Str ; n : Number} ;
|
||||||
|
|
||||||
|
-- Structural
|
||||||
|
|
||||||
|
Conj = {s : Str ; n : Number} ;
|
||||||
|
DConj = {s1,s2 : Str ; n : Number} ;
|
||||||
|
PConj = {s : Str} ;
|
||||||
|
CAdv = {s : Str} ;
|
||||||
|
Subj = {s : Str ; m : Mood} ;
|
||||||
|
Prep = {s : Str} ;
|
||||||
|
|
||||||
|
-- Open lexical classes, e.g. Basic
|
||||||
|
|
||||||
|
V, VS, VQ, VA = Verb ;
|
||||||
|
V2, VV, V2A = Verb ** {c2 : Compl} ;
|
||||||
|
V3 = Verb ** {c2,c3 : Compl} ;
|
||||||
|
|
||||||
|
A = {s : Degree => AForm => Str ; isPre : Bool} ;
|
||||||
|
A2 = {s : Degree => AForm => Str ; c2 : Compl} ;
|
||||||
|
|
||||||
|
N = Noun ;
|
||||||
|
N2 = Noun ** {c2 : Compl} ;
|
||||||
|
N3 = Noun ** {c2,c3 : Compl} ;
|
||||||
|
PN = {s : Str ; g : Gender} ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
Noun = {s : Number => Str ; g : Gender} ;
|
||||||
|
Verb = {s : VF => Str ; aux : VAux ; isRefl : Bool} ;
|
||||||
|
|
||||||
|
}
|
||||||
45
lib/resource-1.0/romance/ConjunctionRomance.gf
Normal file
45
lib/resource-1.0/romance/ConjunctionRomance.gf
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
incomplete concrete ConjunctionRomance of Conjunction =
|
||||||
|
CatRomance ** open ResRomance, Coordination, Prelude in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
ConjS conj ss = conjunctTable Order conj ss ;
|
||||||
|
DConjS conj ss = conjunctDistrTable Order conj ss ;
|
||||||
|
|
||||||
|
ConjAdv conj ss = conjunctSS conj ss ;
|
||||||
|
DConjAdv conj ss = conjunctDistrSS conj ss ;
|
||||||
|
|
||||||
|
ConjNP conj ss = conjunctTable NPForm conj ss ** {
|
||||||
|
a = {gn = conjGenNum (gennum utrum conj.n) ss.a.gn ; p = ss.a.p}
|
||||||
|
} ;
|
||||||
|
DConjNP conj ss = conjunctDistrTable NPForm conj ss ** {
|
||||||
|
a = {gn = conjGenNum (gennum utrum conj.n) ss.a.gn ; p = ss.a.p}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConjAP conj ss = conjunctTable AFormPos conj ss ** {
|
||||||
|
isPre = ss.isPre
|
||||||
|
} ;
|
||||||
|
DConjAP conj ss = conjunctDistrTable AFormPos conj ss ** {
|
||||||
|
isPre = ss.isPre
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- These fun's are generated from the list cat's.
|
||||||
|
|
||||||
|
BaseS = twoTable Order ;
|
||||||
|
ConsS = consrTable Order comma ;
|
||||||
|
BaseAdv = twoSS ;
|
||||||
|
ConsAdv = consrSS comma ;
|
||||||
|
BaseNP x y = twoTable NPForm x y ** {a = conjAgr x.a y.a} ;
|
||||||
|
ConsNP xs x = consrTable NPForm comma xs x ** {a = conjAgr xs.a x.a} ;
|
||||||
|
BaseAP x y = twoTable AFormPos x y ** {isPre = andB x.isPre y.isPre} ;
|
||||||
|
ConsAP xs x = consrTable AFormPos comma xs x ** {isPre = andB xs.isPre x.isPre} ;
|
||||||
|
|
||||||
|
lincat
|
||||||
|
[S] = {s1,s2 : Order => Str} ;
|
||||||
|
[Adv] = {s1,s2 : Str} ;
|
||||||
|
[NP] = {s1,s2 : NPForm => Str ; a : Agr} ;
|
||||||
|
[AP] = {s1,s2 : AFormPos => Str ; isPre : Bool} ;
|
||||||
|
|
||||||
|
}
|
||||||
55
lib/resource-1.0/romance/DiffRomance.gf
Normal file
55
lib/resource-1.0/romance/DiffRomance.gf
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
interface DiffRomance = open ResRomance, Prelude in {
|
||||||
|
|
||||||
|
--2 Parameters.
|
||||||
|
|
||||||
|
-- Prepositions that fuse with the article vary.
|
||||||
|
|
||||||
|
param
|
||||||
|
|
||||||
|
Prep ;
|
||||||
|
|
||||||
|
Case = Nom | Acc | CPrep Prep ;
|
||||||
|
|
||||||
|
NPForm = Ton Case | Aton Case | Poss AAgr ;
|
||||||
|
|
||||||
|
RelForm = RSimple Case | RComplex Gender Number Case ;
|
||||||
|
|
||||||
|
VAux ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
|
||||||
|
Compl : Type = {s : Str ; c : Case} ;
|
||||||
|
|
||||||
|
dative : Case ;
|
||||||
|
genitive : Case ;
|
||||||
|
|
||||||
|
prepCase : Case -> Str ;
|
||||||
|
|
||||||
|
npform2case : NPForm -> Case = \p -> case p of {
|
||||||
|
Ton x => x ;
|
||||||
|
Aton x => x ;
|
||||||
|
Poss _ => genitive
|
||||||
|
} ;
|
||||||
|
|
||||||
|
case2npform : Case -> NPForm = \c -> case c of {
|
||||||
|
Nom => Aton Nom ;
|
||||||
|
Acc => Aton Acc ;
|
||||||
|
_ => Ton c
|
||||||
|
} ;
|
||||||
|
|
||||||
|
npRelForm : NPForm -> RelForm = \np -> case np of {
|
||||||
|
Ton c => RSimple c ;
|
||||||
|
Aton c => RSimple c ;
|
||||||
|
Poss _ => RSimple genitive
|
||||||
|
} ;
|
||||||
|
|
||||||
|
appCompl : Compl -> (NPForm => Str) -> Str = \comp,np ->
|
||||||
|
comp.s ++ np ! Ton comp.c ;
|
||||||
|
|
||||||
|
artDef : Gender -> Number -> Case -> Str ;
|
||||||
|
artIndef : Gender -> Number -> Case -> Str ;
|
||||||
|
|
||||||
|
partitive : Gender -> Case -> Str ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
15
lib/resource-1.0/romance/ExtEngAbs.gf
Normal file
15
lib/resource-1.0/romance/ExtEngAbs.gf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
abstract ExtEngAbs = Cat ** {
|
||||||
|
|
||||||
|
cat
|
||||||
|
Aux ; -- auxiliary verbs: "can", "must", etc
|
||||||
|
|
||||||
|
-- Notice that $Aux$ cannot form $VP$ with infinitive, imperative, etc.
|
||||||
|
|
||||||
|
fun
|
||||||
|
PredAux : NP -> Aux -> VP -> Cl ;
|
||||||
|
QuestAux : IP -> Aux -> VP -> QCl ;
|
||||||
|
|
||||||
|
can_Aux : Aux ;
|
||||||
|
must_Aux : Aux ;
|
||||||
|
|
||||||
|
}
|
||||||
14
lib/resource-1.0/romance/ExtRomance.gf
Normal file
14
lib/resource-1.0/romance/ExtRomance.gf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
incomplete concrete ExtRomance of ExtRomanceAbs =
|
||||||
|
CatRomance ** open DiffRomance, ResRomance in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
DefSgN predet noun = let g = noun.g in {
|
||||||
|
s = \\c => predet.s ! gennum g Sg ++ noun.s ! Sg ! Def ! caseNP c ;
|
||||||
|
a = agrP3 g Sg
|
||||||
|
} ;
|
||||||
|
DefPlN predet noun = let g = noun.g in {
|
||||||
|
s = \\c => predet.s ! Plg ++ noun.s ! Pl ! Def ! caseNP c ;
|
||||||
|
a = agrP3 g Sg
|
||||||
|
} ;
|
||||||
|
|
||||||
|
}
|
||||||
9
lib/resource-1.0/romance/ExtScandAbs.gf
Normal file
9
lib/resource-1.0/romance/ExtScandAbs.gf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
abstract ExtRomanceAbs = Cat ** {
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- Definite form of simple nouns without article; neither $Num$ nor $Ord$ allowed.
|
||||||
|
|
||||||
|
DefSgN, DefPlN : Predef -> N -> NP ;
|
||||||
|
|
||||||
|
}
|
||||||
27
lib/resource-1.0/romance/MathRomance.gf
Normal file
27
lib/resource-1.0/romance/MathRomance.gf
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
incomplete concrete MathRomance of Math =
|
||||||
|
CatRomance ** open Prelude, ResRomance, DiffRomance in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
SymbPN i = {s = \\c => i.s ; g = Neutr} ; --- c
|
||||||
|
IntPN i = {s = \\c => i.s ; g = Neutr} ; --- c
|
||||||
|
CNIntNP cn i = {
|
||||||
|
s = \\c => (cn.s ! Sg ! DIndef ! Nom ++ i.s) ;
|
||||||
|
a = agrP3 cn.g Sg
|
||||||
|
} ;
|
||||||
|
CNSymbNP det cn xs = let g = cn.g in {
|
||||||
|
s = \\c => det.s ! g ++ cn.s ! det.n ! det.det ! caseNP c ++ xs.s ;
|
||||||
|
a = agrP3 g det.n
|
||||||
|
} ;
|
||||||
|
|
||||||
|
lincat
|
||||||
|
|
||||||
|
Symb, SymbList = SS ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
MkSymb s = s ;
|
||||||
|
|
||||||
|
BaseSymb = infixSS conjAnd ;
|
||||||
|
ConsSymb = infixSS "," ;
|
||||||
|
|
||||||
|
}
|
||||||
124
lib/resource-1.0/romance/NounRomance.gf
Normal file
124
lib/resource-1.0/romance/NounRomance.gf
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
incomplete concrete NounRomance of Noun =
|
||||||
|
CatRomance ** open DiffRomance, ResRomance, Prelude in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
DetCN det cn =
|
||||||
|
let
|
||||||
|
g = cn.g ;
|
||||||
|
n = det.n
|
||||||
|
in {
|
||||||
|
s = \\c => det.s ! g ! npform2case c ++ cn.s ! n ;
|
||||||
|
a = agrP3 g n ;
|
||||||
|
c = Clit0
|
||||||
|
} ;
|
||||||
|
|
||||||
|
UsePN pn = {
|
||||||
|
s = \\c => prepCase (npform2case c) ++ pn.s ;
|
||||||
|
a = agrP3 pn.g Sg ;
|
||||||
|
c = Clit0
|
||||||
|
} ;
|
||||||
|
|
||||||
|
UsePron p = p ;
|
||||||
|
|
||||||
|
PredetNP pred np = {
|
||||||
|
s = \\c => prepCase (npform2case c) ++ pred.s ! np.a ++ np.s ! Ton Acc ;
|
||||||
|
a = np.a ;
|
||||||
|
c = Clit0
|
||||||
|
} ;
|
||||||
|
|
||||||
|
DetSg quant ord = {
|
||||||
|
s = \\g,c => quant.s ! g ! c ++ ord.s ! aagr g Sg ;
|
||||||
|
n = Sg
|
||||||
|
} ;
|
||||||
|
DetPl quant num ord = {
|
||||||
|
s = \\g,c => quant.s ! g ! c ++ num.s ! g ++ ord.s ! aagr g Sg ;
|
||||||
|
n = Pl
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PossSg p = {
|
||||||
|
s = \\g,c => prepCase c ++ p.s ! Poss (aagr g Sg) ;
|
||||||
|
n = Sg
|
||||||
|
} ;
|
||||||
|
PossPl p = {
|
||||||
|
s = \\g,c => prepCase c ++ p.s ! Poss (aagr g Pl) ;
|
||||||
|
n = Pl
|
||||||
|
} ;
|
||||||
|
|
||||||
|
NoNum = {s = \\_ => []} ;
|
||||||
|
NoOrd = {s = \\_ => []} ;
|
||||||
|
|
||||||
|
NumInt n = {s = \\_ => n.s} ;
|
||||||
|
OrdInt n = {s = \\_ => n.s ++ "ème"} ; ---
|
||||||
|
|
||||||
|
---- NumNumeral numeral = {s = \\g => numeral.s ! NCard g ; isDet = True} ;
|
||||||
|
---- OrdNumeral numeral = {s = numeral.s ! NOrd SupWeak ; isDet = True} ;
|
||||||
|
|
||||||
|
AdNum adn num = {s = \\a => adn.s ++ num.s ! a} ;
|
||||||
|
|
||||||
|
---- OrdSuperl a = {s = a.s ! AF (ASuperl SupWeak) Nom ; isDet = True} ;
|
||||||
|
|
||||||
|
DefSg = {
|
||||||
|
s = \\g,c => artDef g Sg c ;
|
||||||
|
n = Sg
|
||||||
|
} ;
|
||||||
|
DefPl = {
|
||||||
|
s = \\g,c => artDef g Sg c ;
|
||||||
|
n = Pl
|
||||||
|
} ;
|
||||||
|
|
||||||
|
IndefSg = {
|
||||||
|
s = \\g,c => artIndef g Sg c ;
|
||||||
|
n = Sg
|
||||||
|
} ;
|
||||||
|
IndefPl = {
|
||||||
|
s = \\g,c => artIndef g Pl c ;
|
||||||
|
n = Pl
|
||||||
|
} ;
|
||||||
|
|
||||||
|
MassDet = {
|
||||||
|
s = \\g,c => partitive g c ;
|
||||||
|
n = Sg
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- This is based on record subtyping.
|
||||||
|
|
||||||
|
UseN, UseN2, UseN3 = \noun -> noun ;
|
||||||
|
|
||||||
|
ComplN2 f x = {
|
||||||
|
s = \\n => f.s ! n ++ appCompl f.c2 x.s ;
|
||||||
|
g = f.g ;
|
||||||
|
} ;
|
||||||
|
ComplN3 f x = {
|
||||||
|
s = \\n => f.s ! n ++ appCompl f.c2 x.s ;
|
||||||
|
g = f.g ;
|
||||||
|
c2 = f.c3
|
||||||
|
} ;
|
||||||
|
|
||||||
|
AdjCN ap cn =
|
||||||
|
let
|
||||||
|
g = cn.g
|
||||||
|
in {
|
||||||
|
s = \\n => preOrPost ap.isPre (ap.s ! (AF g n)) (cn.s ! n) ;
|
||||||
|
g = g ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
{-
|
||||||
|
RelCN cn rs = let g = cn.g in {
|
||||||
|
s = \\n,d,c => cn.s ! n ! d ! c ++ rs.s ! agrP3 g n ;
|
||||||
|
g = g ;
|
||||||
|
isMod = cn.isMod
|
||||||
|
} ;
|
||||||
|
SentCN cn sc = let g = cn.g in {
|
||||||
|
s = \\n,d,c => cn.s ! n ! d ! c ++ sc.s ;
|
||||||
|
g = g ;
|
||||||
|
isMod = cn.isMod
|
||||||
|
} ;
|
||||||
|
AdvCN cn sc = let g = cn.g in {
|
||||||
|
s = \\n,d,c => cn.s ! n ! d ! c ++ sc.s ;
|
||||||
|
g = g ;
|
||||||
|
isMod = cn.isMod
|
||||||
|
} ;
|
||||||
|
-}
|
||||||
|
}
|
||||||
126
lib/resource-1.0/romance/ParamRomance.gf
Normal file
126
lib/resource-1.0/romance/ParamRomance.gf
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
--1 Romance Word Classes and Morphological Parameters
|
||||||
|
--
|
||||||
|
|
||||||
|
resource ParamRomance = ParamX ** open Prelude in {
|
||||||
|
|
||||||
|
-- This is a resource module for Romance grammars, currently instantiated for
|
||||||
|
-- French, Italian, and Spanish. It defines the
|
||||||
|
-- morphological parameters that are common to all Romance languages.
|
||||||
|
-- The guiding principle has been
|
||||||
|
-- to share as much as possible, which has two advantages: it saves work in
|
||||||
|
-- encoding, and it shows how the languages are related.
|
||||||
|
-- Those parameters that differ are defined in [DiffRomance DiffRomance.html].
|
||||||
|
-- Some parameters are shared even more widely, such as $Number$ and $Person$.
|
||||||
|
-- They are defined in [ParamX ParamX.html].
|
||||||
|
|
||||||
|
|
||||||
|
--2 Enumerated parameter types for morphology
|
||||||
|
--
|
||||||
|
-- These types are the ones found in school grammars.
|
||||||
|
-- Their parameter values are atomic.
|
||||||
|
|
||||||
|
param
|
||||||
|
|
||||||
|
Gender = Masc | Fem ;
|
||||||
|
|
||||||
|
Mood = Indic | Conjunct ;
|
||||||
|
|
||||||
|
-- There are different types of clicic pronouns (as for position).
|
||||||
|
-- Examples of each: "Giovanni" ; "io" ; "lui" ; "noi".
|
||||||
|
|
||||||
|
ClitType = Clit0 | Clit1 | Clit2 | Clit3 ;
|
||||||
|
|
||||||
|
-- Adjectives are inflected in gender and number, and there is also an
|
||||||
|
-- adverbial form (e.g. "infiniment"), which has different paradigms and
|
||||||
|
-- can even be irregular ("bien").
|
||||||
|
-- Comparative adjectives are moreover inflected in degree
|
||||||
|
-- (which in Romance is usually syntactic, though).
|
||||||
|
|
||||||
|
AForm = AF Gender Number | AA ;
|
||||||
|
|
||||||
|
-- Gender is not morphologically determined for first and second person pronouns.
|
||||||
|
|
||||||
|
PronGen = PGen Gender | PNoGen ;
|
||||||
|
|
||||||
|
-- The following coercions are useful:
|
||||||
|
|
||||||
|
oper
|
||||||
|
prongen2gender : PronGen -> Gender = \p -> case p of {
|
||||||
|
PGen g => g ;
|
||||||
|
PNoGen => variants {Masc ; Fem} --- the best we can do for je, tu, nous, vous
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
aform2gender : AForm -> Gender = \a -> case a of {
|
||||||
|
AF g _ => g ;
|
||||||
|
_ => Masc -- "le plus lentement"
|
||||||
|
} ;
|
||||||
|
aform2number : AForm -> Number = \a -> case a of {
|
||||||
|
AF _ n => n ;
|
||||||
|
_ => Sg -- "le plus lentement"
|
||||||
|
} ;
|
||||||
|
|
||||||
|
--3 Verbs
|
||||||
|
--
|
||||||
|
-- In the current syntax, we use
|
||||||
|
-- a reduced conjugation with only the present tense infinitive,
|
||||||
|
-- indicative, subjunctive, and imperative forms.
|
||||||
|
-- But our morphology has full Bescherelle conjunctions:
|
||||||
|
-- so we use a coercion between full and reduced verbs.
|
||||||
|
-- The full conjugations and the coercions are defined separately for French
|
||||||
|
-- and Italian, since they are not identical. The differences are mostly due
|
||||||
|
-- to Bescherelle structuring the forms in different groups; the
|
||||||
|
-- gerund and the present participles show real differences.
|
||||||
|
|
||||||
|
param
|
||||||
|
VF =
|
||||||
|
VInfin
|
||||||
|
| VFin TMood Number Person
|
||||||
|
| VImper NumPersI
|
||||||
|
| VPart Gender Number
|
||||||
|
| VGer
|
||||||
|
;
|
||||||
|
|
||||||
|
TMood =
|
||||||
|
VPres Mood
|
||||||
|
| VImperf Mood
|
||||||
|
| VPasse
|
||||||
|
| VFut
|
||||||
|
| VCondit
|
||||||
|
;
|
||||||
|
|
||||||
|
NumPersI = SgP2 | PlP1 | PlP2 ;
|
||||||
|
|
||||||
|
-- Agreement of adjectives, verb phrases, and relative pronouns.
|
||||||
|
|
||||||
|
oper
|
||||||
|
AAgr : Type = {g : Gender ; n : Number} ;
|
||||||
|
Agr : Type = AAgr ** {p : Person} ;
|
||||||
|
|
||||||
|
param
|
||||||
|
RAgr = RAg AAgr | RNoAg ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
aagr : Gender -> Number -> AAgr = \g,n ->
|
||||||
|
{g = g ; n = n} ;
|
||||||
|
agrP3 : Gender -> Number -> Agr = \g,n ->
|
||||||
|
aagr g n ** {p = P3} ;
|
||||||
|
|
||||||
|
|
||||||
|
vf2numpers : VF -> (Number * Person) = \v -> case v of {
|
||||||
|
VFin _ n p => <n,p> ;
|
||||||
|
_ => <Sg,P3> ----
|
||||||
|
} ;
|
||||||
|
|
||||||
|
presInd = VPres Indic ;
|
||||||
|
|
||||||
|
-- The imperative forms depend on number and person.
|
||||||
|
|
||||||
|
vImper : Number -> Person -> VF = \n,p -> case <n,p> of {
|
||||||
|
<Sg,P2> => VImper SgP2 ;
|
||||||
|
<Pl,P1> => VImper PlP1 ;
|
||||||
|
<Pl,P2> => VImper PlP2 ;
|
||||||
|
_ => VInfin
|
||||||
|
} ;
|
||||||
|
|
||||||
|
}
|
||||||
24
lib/resource-1.0/romance/PhraseRomance.gf
Normal file
24
lib/resource-1.0/romance/PhraseRomance.gf
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
incomplete concrete PhraseRomance of Phrase =
|
||||||
|
CatRomance, TenseX ** open DiffRomance, ResRomance, Prelude in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
|
||||||
|
|
||||||
|
UttS s = {s = s.s ! Main} ;
|
||||||
|
UttQS qs = {s = qs.s ! QDir} ;
|
||||||
|
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! Sg} ;
|
||||||
|
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! Pl} ;
|
||||||
|
|
||||||
|
UttIP ip = {s = ip.s ! nominative} ; --- Acc also
|
||||||
|
UttIAdv iadv = iadv ;
|
||||||
|
UttNP np = {s = np.s ! accusative} ;
|
||||||
|
UttVP vp = {s = infMark ++ infVP vp (agrP3 Utr Sg)} ;
|
||||||
|
UttAdv adv = adv ;
|
||||||
|
|
||||||
|
NoPConj = {s = []} ;
|
||||||
|
PConjConj conj = conj ;
|
||||||
|
|
||||||
|
NoVoc = {s = []} ;
|
||||||
|
VocNP np = {s = "," ++ np.s ! nominative} ;
|
||||||
|
|
||||||
|
}
|
||||||
66
lib/resource-1.0/romance/QuestionRomance.gf
Normal file
66
lib/resource-1.0/romance/QuestionRomance.gf
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
incomplete concrete QuestionRomance of Question =
|
||||||
|
CatRomance ** open DiffRomance, ResRomance in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
QuestCl cl = {
|
||||||
|
s = \\t,a,p =>
|
||||||
|
let cls = cl.s ! t ! a ! p
|
||||||
|
in table {
|
||||||
|
QDir => cls ! Inv ;
|
||||||
|
QIndir => subjIf ++ cls ! Sub
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuestVP qp vp = {
|
||||||
|
s = \\t,a,b,q =>
|
||||||
|
let
|
||||||
|
somo = case q of {
|
||||||
|
QIndir => <"som",Sub> ;
|
||||||
|
_ => <[], Main>
|
||||||
|
} ;
|
||||||
|
cl = mkClause (qp.s ! nominative ++ somo.p1) {gn = qp.gn ; p = P3} vp
|
||||||
|
in
|
||||||
|
cl.s ! t ! a ! b ! somo.p2
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuestSlash ip slash = {
|
||||||
|
s = \\t,a,p =>
|
||||||
|
let
|
||||||
|
cls = slash.s ! t ! a ! p ;
|
||||||
|
who = slash.c2 ++ ip.s ! accusative --- stranding in ExtRomance
|
||||||
|
in table {
|
||||||
|
QDir => who ++ cls ! Inv ;
|
||||||
|
QIndir => who ++ cls ! Sub
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuestIAdv iadv cl = {
|
||||||
|
s = \\t,a,p =>
|
||||||
|
let
|
||||||
|
cls = cl.s ! t ! a ! p ;
|
||||||
|
why = iadv.s
|
||||||
|
in table {
|
||||||
|
QDir => why ++ cls ! Inv ;
|
||||||
|
QIndir => why ++ cls ! Sub
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PrepIP p ip = {
|
||||||
|
s = p.s ++ ip.s ! accusative
|
||||||
|
} ;
|
||||||
|
|
||||||
|
AdvIP ip adv = {
|
||||||
|
s = \\c => ip.s ! c ++ adv.s ;
|
||||||
|
gn = ip.gn
|
||||||
|
} ;
|
||||||
|
|
||||||
|
IDetCN idet num ord cn = let g = cn.g in {
|
||||||
|
s = \\c =>
|
||||||
|
idet.s ! g ++ num.s ! g ++ ord.s ++ cn.s ! idet.n ! idet.det ! caseNP c ;
|
||||||
|
gn = gennum g idet.n
|
||||||
|
} ;
|
||||||
|
|
||||||
|
}
|
||||||
44
lib/resource-1.0/romance/RelativeRomance.gf
Normal file
44
lib/resource-1.0/romance/RelativeRomance.gf
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
incomplete concrete RelativeRomance of Relative =
|
||||||
|
CatRomance ** open DiffRomance, ResRomance in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
RelCl cl = {
|
||||||
|
s = \\t,a,p,ag => pronSuch ! ag.gn ++ conjThat ++ cl.s ! t ! a ! p ! Sub
|
||||||
|
} ;
|
||||||
|
|
||||||
|
RelVP rp vp = {
|
||||||
|
s = \\t,ant,b,ag =>
|
||||||
|
let
|
||||||
|
agr = case rp.a of {
|
||||||
|
RNoAg => ag ;
|
||||||
|
RAg a => a
|
||||||
|
} ;
|
||||||
|
cl = mkClause (rp.s ! ag.gn ! RNom) agr vp
|
||||||
|
in
|
||||||
|
cl.s ! t ! ant ! b ! Sub
|
||||||
|
} ;
|
||||||
|
|
||||||
|
--- We make this easy by using "som" and preposition stranding. It would be
|
||||||
|
--- a proble to determine whether $slash$ takes a direct object, since
|
||||||
|
--- $slash.c2$ is defined to be just a string.
|
||||||
|
--
|
||||||
|
-- The empty relative is left to $ExtRomance$.
|
||||||
|
|
||||||
|
RelSlash rp slash = {
|
||||||
|
s = \\t,a,p,ag =>
|
||||||
|
rp.s ! ag.gn ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2
|
||||||
|
} ;
|
||||||
|
|
||||||
|
--- The case here could be genitive.
|
||||||
|
|
||||||
|
FunRP p np rp = {
|
||||||
|
s = \\gn,c => np.s ! nominative ++ p.s ++ rp.s ! gn ! RPrep ;
|
||||||
|
a = RAg np.a
|
||||||
|
} ;
|
||||||
|
|
||||||
|
IdRP = {s = relPron ; a = RNoAg} ;
|
||||||
|
|
||||||
|
}
|
||||||
205
lib/resource-1.0/romance/ResRomance.gf
Normal file
205
lib/resource-1.0/romance/ResRomance.gf
Normal file
@@ -0,0 +1,205 @@
|
|||||||
|
----1 Romance auxiliary operations.
|
||||||
|
--
|
||||||
|
---- This module contains operations that are needed to make the
|
||||||
|
---- resource syntax work. To define everything that is needed to
|
||||||
|
---- implement $Test$, it moreover contains regular lexical
|
||||||
|
---- patterns needed for $Lex$.
|
||||||
|
--
|
||||||
|
resource ResRomance = ParamRomance ** open Prelude in {
|
||||||
|
|
||||||
|
flags optimize=all ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
genForms : Str -> Str -> Gender => Str = \bon,bonne ->
|
||||||
|
table {
|
||||||
|
Masc => bon ;
|
||||||
|
Fem => bonne
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
{-
|
||||||
|
oper
|
||||||
|
|
||||||
|
-- For $Lex$.
|
||||||
|
|
||||||
|
-- For each lexical category, here are the worst-case constructors.
|
||||||
|
--
|
||||||
|
-- But $mkNoun$ is fully defined only for each language, since
|
||||||
|
-- $Gender$ varies.
|
||||||
|
|
||||||
|
nounForms : (x1,_,_,x4 : Str) -> (Number => Species => Case => Str) =
|
||||||
|
\man,mannen,men,mennen -> \\n,d,c => case <n,d> of {
|
||||||
|
<Sg,Indef> => mkCase c man ;
|
||||||
|
<Sg,Def> => mkCase c mannen ;
|
||||||
|
<Pl,Indef> => mkCase c men ;
|
||||||
|
<Pl,Def> => mkCase c mennen
|
||||||
|
} ;
|
||||||
|
|
||||||
|
Adjective : Type = {s : AForm => Str} ;
|
||||||
|
|
||||||
|
mkAdjective : (x1,_,_,_,_,_,x7 : Str) -> {s : AForm => Str} =
|
||||||
|
\liten, litet, lilla, sma, mindre, minst, minsta -> {
|
||||||
|
s = table {
|
||||||
|
AF (APosit a) c => mkCase c (mkAdjPos a liten litet lilla sma) ;
|
||||||
|
AF ACompar c => mkCase c mindre ;
|
||||||
|
AF (ASuperl SupStrong) c => mkCase c minst ;
|
||||||
|
AF (ASuperl SupWeak) c => mkCase c minsta
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkVerb : (x1,_,_,_,_,_,_,x8 : Str) -> {s : VForm => Str ; vtype : VType} =
|
||||||
|
\finna,finner,finn,fann,funnit,funnen,funnet,funna -> {
|
||||||
|
s = table {
|
||||||
|
VF (VPres Act) => finner ;
|
||||||
|
VF (VPres Pass) => mkVoice Pass finn ;
|
||||||
|
VF (VPret v) => mkVoice v fann ;
|
||||||
|
VF (VImper v) => mkVoice v finn ;
|
||||||
|
VI (VInfin v) => mkVoice v finna ;
|
||||||
|
VI (VSupin v) => mkVoice v funnit ;
|
||||||
|
VI (VPtPret a c)=> mkCase c (mkAdjPos a funnen funnet funna funna)
|
||||||
|
} ;
|
||||||
|
vtype = VAct
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- These are useful auxiliaries.
|
||||||
|
|
||||||
|
mkCase : Case -> Str -> Str = \c,f -> case c of {
|
||||||
|
Nom => f ;
|
||||||
|
Gen => f + case last f of {
|
||||||
|
"s" | "x" => [] ;
|
||||||
|
_ => "s"
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkAdjPos : AFormPos -> (s1,_,_,s4 : Str) -> Str =
|
||||||
|
\a, liten, litet, lilla, sma ->
|
||||||
|
case a of {
|
||||||
|
Strong gn => case gn of {
|
||||||
|
SgUtr => liten ;
|
||||||
|
SgNeutr => litet ;
|
||||||
|
Plg => sma
|
||||||
|
} ;
|
||||||
|
Weak Sg => lilla ;
|
||||||
|
Weak Pl => sma
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkVoice : Voice -> Str -> Str = \v,s -> case v of {
|
||||||
|
Act => s ;
|
||||||
|
Pass => s + case last s of {
|
||||||
|
"s" => "es" ;
|
||||||
|
_ => "s"
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
-- For $Noun$.
|
||||||
|
|
||||||
|
artDef : GenNum -> Str = \gn -> gennumForms "den" "det" "de" ! gn ;
|
||||||
|
|
||||||
|
mkNP : (x1,_,_,_,x5 : Str) -> GenNum -> Person ->
|
||||||
|
{s : NPForm => Str ; a : Agr} = \du,dig,din,ditt,dina,gn,p -> {
|
||||||
|
s = table {
|
||||||
|
NPNom => du ;
|
||||||
|
NPAcc => dig ;
|
||||||
|
NPPoss g => gennumForms din ditt dina ! g
|
||||||
|
} ;
|
||||||
|
a = {
|
||||||
|
gn = gn ;
|
||||||
|
p = p
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
gennumForms : (x1,x2,x3 : Str) -> GenNum => Str = \den,det,de ->
|
||||||
|
table {
|
||||||
|
SgUtr => den ;
|
||||||
|
SgNeutr => det ;
|
||||||
|
_ => de
|
||||||
|
} ;
|
||||||
|
|
||||||
|
regNP : Str -> Str -> GenNum -> {s : NPForm => Str ; a : Agr} =
|
||||||
|
\det,dess,gn ->
|
||||||
|
mkNP det det dess dess dess gn P3 ;
|
||||||
|
|
||||||
|
|
||||||
|
-- For $Verb$.
|
||||||
|
|
||||||
|
Verb : Type = {
|
||||||
|
s : VForm => Str ;
|
||||||
|
vtype : VType
|
||||||
|
} ;
|
||||||
|
|
||||||
|
VP = {
|
||||||
|
s : VPForm => {
|
||||||
|
fin : Str ; -- V1 har ---s1
|
||||||
|
inf : Str -- V2 sagt ---s4
|
||||||
|
} ;
|
||||||
|
a1 : Polarity => Str ; -- A1 inte ---s3
|
||||||
|
n2 : Agr => Str ; -- N2 dig ---s5
|
||||||
|
a2 : Str ; -- A2 idag ---s6
|
||||||
|
ext : Str ; -- S-Ext att hon går ---s7
|
||||||
|
--- ea1,ev2, --- these depend on params of v and a1
|
||||||
|
en2,ea2,eext : Bool -- indicate if the field exists
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
insertObj : (Agr => Str) -> VP -> VP = \obj,vp -> {
|
||||||
|
s = vp.s ;
|
||||||
|
a1 = vp.a1 ;
|
||||||
|
n2 = \\a => vp.n2 ! a ++ obj ! a ;
|
||||||
|
a2 = vp.a2 ;
|
||||||
|
ext = vp.ext ;
|
||||||
|
en2 = True ;
|
||||||
|
ea2 = vp.ea2 ;
|
||||||
|
eext = vp.eext
|
||||||
|
} ;
|
||||||
|
|
||||||
|
insertAdv : Str -> VP -> VP = \adv,vp -> {
|
||||||
|
s = vp.s ;
|
||||||
|
a1 = vp.a1 ;
|
||||||
|
n2 = vp.n2 ;
|
||||||
|
a2 = vp.a2 ++ adv ;
|
||||||
|
ext = vp.ext ;
|
||||||
|
en2 = vp.en2 ;
|
||||||
|
ea2 = True ;
|
||||||
|
eext = vp.eext
|
||||||
|
} ;
|
||||||
|
|
||||||
|
insertAdV : Str -> VP -> VP = \adv,vp -> {
|
||||||
|
s = vp.s ;
|
||||||
|
a1 = \\b => vp.a1 ! b ++ adv ;
|
||||||
|
n2 = vp.n2 ;
|
||||||
|
a2 = vp.a2 ;
|
||||||
|
ext = vp.ext ;
|
||||||
|
en2 = vp.en2 ;
|
||||||
|
ea2 = vp.ea2 ;
|
||||||
|
eext = vp.eext
|
||||||
|
} ;
|
||||||
|
|
||||||
|
infVP : VP -> Agr -> Str = \vp,a ->
|
||||||
|
(vp.s ! VPInfinit Simul).inf ++ vp.n2 ! a ++ vp.a2 ++ vp.ext ; --- a1
|
||||||
|
|
||||||
|
|
||||||
|
-- For $Sentence$.
|
||||||
|
|
||||||
|
Clause : Type = {
|
||||||
|
s : Tense => Anteriority => Polarity => Order => Str
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkClause : Str -> Agr -> VP -> Clause = \subj,agr,vp -> {
|
||||||
|
s = \\t,a,b,o =>
|
||||||
|
let
|
||||||
|
verb = vp.s ! VPFinite t a ;
|
||||||
|
neg = vp.a1 ! b ;
|
||||||
|
compl = vp.n2 ! agr ++ vp.a2 ++ vp.ext
|
||||||
|
in
|
||||||
|
case o of {
|
||||||
|
Main => subj ++ verb.fin ++ neg ++ verb.inf ++ compl ;
|
||||||
|
Inv => verb.fin ++ subj ++ neg ++ verb.inf ++ compl ;
|
||||||
|
Sub => subj ++ neg ++ verb.fin ++ verb.inf ++ compl
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
}
|
||||||
|
-}
|
||||||
43
lib/resource-1.0/romance/SentenceRomance.gf
Normal file
43
lib/resource-1.0/romance/SentenceRomance.gf
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
incomplete concrete SentenceRomance of Sentence =
|
||||||
|
CatRomance ** open DiffRomance, ResRomance in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
PredVP np vp = mkClause (np.s ! nominative) np.a vp ;
|
||||||
|
|
||||||
|
PredSCVP sc vp = mkClause sc.s (agrP3 neutrum Sg) vp ;
|
||||||
|
|
||||||
|
ImpVP vp = {
|
||||||
|
s = \\pol,n =>
|
||||||
|
let
|
||||||
|
agr = {gn = gennum utrum n ; p = P2} ;
|
||||||
|
verb = vp.s ! VPImperat ;
|
||||||
|
in
|
||||||
|
verb.fin ++ vp.a1 ! pol ++ verb.inf ++ vp.n2 ! agr ++ vp.a2 ++ vp.ext
|
||||||
|
} ;
|
||||||
|
|
||||||
|
SlashV2 np v2 =
|
||||||
|
mkClause
|
||||||
|
(np.s ! nominative) np.a
|
||||||
|
(predV v2) **
|
||||||
|
{c2 = v2.c2} ;
|
||||||
|
|
||||||
|
SlashVVV2 np vv v2 =
|
||||||
|
mkClause
|
||||||
|
(np.s ! nominative) np.a
|
||||||
|
(insertObj (\\_ => vv.c2 ++ infVP (predV v2) np.a) (predV vv)) **
|
||||||
|
{c2 = v2.c2} ;
|
||||||
|
|
||||||
|
AdvSlash slash adv = {
|
||||||
|
s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ;
|
||||||
|
c2 = slash.c2
|
||||||
|
} ;
|
||||||
|
|
||||||
|
SlashPrep cl prep = cl ** {c2 = prep.s} ;
|
||||||
|
|
||||||
|
EmbedS s = {s = conjThat ++ s.s ! Sub} ;
|
||||||
|
EmbedQS qs = {s = qs.s ! QIndir} ;
|
||||||
|
EmbedVP vp = {s = infVP vp (agrP3 utrum Sg)} ; --- agr
|
||||||
|
|
||||||
|
}
|
||||||
41
lib/resource-1.0/romance/SeqConjunctionRomance.gf
Normal file
41
lib/resource-1.0/romance/SeqConjunctionRomance.gf
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
--concrete SeqConjunctionRomance of Conjunction =
|
||||||
|
-- CatRomance ** open ResRomance, Coordination, Prelude in {
|
||||||
|
--
|
||||||
|
-- lin
|
||||||
|
--
|
||||||
|
-- ConjS conj ss = {s = conjunctX conj ss} ;
|
||||||
|
-- DConjS conj ss = {s = conjunctDistrX conj ss} ;
|
||||||
|
--
|
||||||
|
-- ConjAdv conj ss = {s = conjunctX conj ss} ;
|
||||||
|
-- DConjAdv conj ss = {s = conjunctDistrX conj ss} ;
|
||||||
|
--
|
||||||
|
-- ConjNP conj ss = conjunctTable Case conj ss ** {
|
||||||
|
-- a = {n = conjNumber conj.n ss.a.n ; p = ss.a.p}
|
||||||
|
-- } ;
|
||||||
|
-- DConjNP conj ss = conjunctDistrTable Case conj ss ** {
|
||||||
|
-- a = {n = conjNumber conj.n ss.a.n ; p = ss.a.p}
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- ConjAP conj ss = conjunctTable Agr conj ss ** {
|
||||||
|
-- isPre = ss.isPre
|
||||||
|
-- } ;
|
||||||
|
-- DConjAP conj ss = conjunctDistrTable Agr conj ss ** {
|
||||||
|
-- isPre = ss.isPre
|
||||||
|
-- } ;
|
||||||
|
--
|
||||||
|
-- TwoS = twoSS ;
|
||||||
|
-- AddS = consSS comma ;
|
||||||
|
-- TwoAdv = twoSS ;
|
||||||
|
-- AddAdv = consSS comma ;
|
||||||
|
-- TwoNP x y = twoTable Case x y ** {a = conjAgr x.a y.a} ;
|
||||||
|
-- AddNP xs x = consTable Case comma xs x ** {a = conjAgr xs.a x.a} ;
|
||||||
|
-- TwoAP x y = twoTable Agr x y ** {isPre = andB x.isPre y.isPre} ;
|
||||||
|
-- AddAP xs x = consTable Agr comma xs x ** {isPre = andB xs.isPre x.isPre} ;
|
||||||
|
--
|
||||||
|
-- lincat
|
||||||
|
-- SeqS = {s1,s2 : Str} ;
|
||||||
|
-- SeqAdv = {s1,s2 : Str} ;
|
||||||
|
-- SeqNP = {s1,s2 : Case => Str ; a : Agr} ;
|
||||||
|
-- SeqAP = {s1,s2 : Agr => Str ; isPre : Bool} ;
|
||||||
|
--
|
||||||
|
--}
|
||||||
11
lib/resource-1.0/romance/TensedRomance.gf
Normal file
11
lib/resource-1.0/romance/TensedRomance.gf
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
incomplete concrete TensedRomance of Tensed = CatRomance, TenseX **
|
||||||
|
open ResRomance in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
UseCl t a p cl = {s = \\o => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! o} ;
|
||||||
|
UseQCl t a p cl = {s = \\q => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! q} ;
|
||||||
|
UseRCl t a p cl = {s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! r} ;
|
||||||
|
|
||||||
|
}
|
||||||
15
lib/resource-1.0/romance/UntensedRomance.gf
Normal file
15
lib/resource-1.0/romance/UntensedRomance.gf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
incomplete concrete UntensedRomance of Untensed = CatRomance ** open ResRomance in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
PosCl cl = {s = cl.s ! Pres ! Simul ! Pos} ;
|
||||||
|
NegCl cl = {s = cl.s ! Pres ! Simul ! Neg} ;
|
||||||
|
|
||||||
|
PosQCl cl = {s = cl.s ! Pres ! Simul ! Pos} ;
|
||||||
|
NegQCl cl = {s = cl.s ! Pres ! Simul ! Neg} ;
|
||||||
|
|
||||||
|
PosRCl cl = {s = cl.s ! Pres ! Simul ! Pos} ;
|
||||||
|
NegRCl cl = {s = cl.s ! Pres ! Simul ! Neg} ;
|
||||||
|
|
||||||
|
}
|
||||||
43
lib/resource-1.0/romance/VerbRomance.gf
Normal file
43
lib/resource-1.0/romance/VerbRomance.gf
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
incomplete concrete VerbRomance of Verb = CatRomance ** open DiffRomance, ResRomance in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
UseV = predV ;
|
||||||
|
ComplV2 v np = insertObj (\\_ => v.c2 ++ np.s ! accusative) (predV v) ;
|
||||||
|
ComplV3 v np np2 =
|
||||||
|
insertObj
|
||||||
|
(\\_ => v.c2 ++ np.s ! accusative ++ v.c3 ++ np2.s ! accusative)
|
||||||
|
(predV v) ;
|
||||||
|
|
||||||
|
ComplVV v vp = insertObj (\\a => v.c2 ++ infVP vp a) (predV v) ;
|
||||||
|
ComplVS v s = insertObj (\\_ => conjThat ++ s.s ! Sub) (predV v) ;
|
||||||
|
ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
||||||
|
|
||||||
|
ComplVA v ap =
|
||||||
|
insertObj (\\a => ap.s ! agrAdj a.gn DIndef) (predV v) ;
|
||||||
|
ComplV2A v np ap =
|
||||||
|
insertAdv
|
||||||
|
(ap.s ! agrAdj np.a.gn DIndef)
|
||||||
|
(insertObj (\\_ => v.c2 ++ np.s ! accusative) (predV v)) ;
|
||||||
|
|
||||||
|
UseComp comp = insertObj (\\a => comp.s ! agrAdj a.gn DIndef) (predV verbBe) ;
|
||||||
|
|
||||||
|
CompAP ap = ap ;
|
||||||
|
CompNP np = {s = \\_ => np.s ! accusative} ;
|
||||||
|
CompAdv a = {s = \\_ => a.s} ;
|
||||||
|
|
||||||
|
AdvVP vp adv = insertAdv adv.s vp ;
|
||||||
|
AdVVP adv vp = insertAdV adv.s vp ;
|
||||||
|
|
||||||
|
|
||||||
|
ReflV2 v = insertObj (\\a => v.c2 ++ reflPron a) (predV v) ;
|
||||||
|
|
||||||
|
PassV2 v =
|
||||||
|
insertObj
|
||||||
|
(\\a => v.s ! VI (VPtPret (agrAdj a.gn DIndef) Nom))
|
||||||
|
(predV verbBecome) ;
|
||||||
|
|
||||||
|
UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; vtype = vv.vtype} ;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user