mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
determiners and more words in latin
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
--concrete AdverbLat of Adverb = CatLat ** open ResLat, Prelude in {
|
concrete AdverbLat of Adverb = CatLat ** open ResLat, Prelude in {
|
||||||
--
|
|
||||||
-- lin
|
lin
|
||||||
-- PositAdvAdj a = {s = a.s ! AAdv} ;
|
-- PositAdvAdj a = {s = a.s ! AAdv} ;
|
||||||
-- ComparAdvAdj cadv a np = {
|
-- ComparAdvAdj cadv a np = {
|
||||||
-- s = cadv.s ++ a.s ! AAdv ++ "than" ++ np.s ! Nom
|
-- s = cadv.s ++ a.s ! AAdv ++ "than" ++ np.s ! Nom
|
||||||
@@ -8,9 +8,9 @@
|
|||||||
-- ComparAdvAdjS cadv a s = {
|
-- ComparAdvAdjS cadv a s = {
|
||||||
-- s = cadv.s ++ a.s ! AAdv ++ "than" ++ s.s
|
-- s = cadv.s ++ a.s ! AAdv ++ "than" ++ s.s
|
||||||
-- } ;
|
-- } ;
|
||||||
--
|
|
||||||
-- PrepNP prep np = {s = prep.s ++ np.s ! Acc} ;
|
PrepNP prep np = {s = appPrep prep np.s} ;
|
||||||
--
|
|
||||||
-- AdAdv = cc2 ;
|
-- AdAdv = cc2 ;
|
||||||
--
|
--
|
||||||
-- SubjS = cc2 ;
|
-- SubjS = cc2 ;
|
||||||
|
|||||||
@@ -63,11 +63,9 @@ concrete CatLat of Cat = CommonX ** open ResLat, Prelude in {
|
|||||||
--
|
--
|
||||||
---- Structural
|
---- Structural
|
||||||
--
|
--
|
||||||
-- Conj = {s1,s2 : Str ; n : Number} ;
|
Conj = {s1,s2 : Str ; n : Number} ;
|
||||||
-----b Conj = {s : Str ; n : Number} ;
|
|
||||||
-----b DConj = {s1,s2 : Str ; n : Number} ;
|
|
||||||
-- Subj = {s : Str} ;
|
-- Subj = {s : Str} ;
|
||||||
-- Prep = {s : Str} ;
|
Prep = {s : Str ; c : Case} ;
|
||||||
--
|
--
|
||||||
---- Open lexical classes, e.g. Lexicon
|
---- Open lexical classes, e.g. Lexicon
|
||||||
|
|
||||||
@@ -85,6 +83,6 @@ concrete CatLat of Cat = CommonX ** open ResLat, Prelude in {
|
|||||||
N = Noun ;
|
N = Noun ;
|
||||||
-- N2 = {s : Number => Case => Str ; g : Gender} ** {c2 : Str} ;
|
-- N2 = {s : Number => Case => Str ; g : Gender} ** {c2 : Str} ;
|
||||||
-- N3 = {s : Number => Case => Str ; g : Gender} ** {c2,c3 : Str} ;
|
-- N3 = {s : Number => Case => Str ; g : Gender} ** {c2,c3 : Str} ;
|
||||||
-- PN = {s : Case => Str ; g : Gender} ;
|
PN = {s : Case => Str ; g : Gender} ;
|
||||||
--
|
--
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,105 +9,105 @@ flags
|
|||||||
optimize=values ;
|
optimize=values ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
-- airplane_N = regN "airplane" ;
|
-- airplane_N = mkN "airplane" ;
|
||||||
-- answer_V2S = mkV2S (regV "answer") toP ;
|
-- answer_V2S = mkV2S (regV "answer") toP ;
|
||||||
-- apartment_N = regN "apartment" ;
|
-- apartment_N = mkN "apartment" ;
|
||||||
-- apple_N = regN "apple" ;
|
-- apple_N = mkN "apple" ;
|
||||||
-- art_N = regN "art" ;
|
art_N = mkN "ars" ;
|
||||||
-- ask_V2Q = mkV2Q (regV "ask") noPrep ;
|
-- ask_V2Q = mkV2Q (regV "ask") noPrep ;
|
||||||
-- baby_N = regN "baby" ;
|
baby_N = mkN "infans" ;
|
||||||
-- bad_A = mkADeg "bad" "worse" "worst" "badly" ;
|
bad_A = mkA "malus" ;
|
||||||
-- bank_N = regN "bank" ;
|
-- bank_N = mkN "bank" ;
|
||||||
-- beautiful_A = compoundADeg (regA "beautiful") ;
|
beautiful_A = mkA "pulcher" ;
|
||||||
-- become_VA = mkVA (irregV "become" "became" "become") ;
|
-- become_VA = mkVA (irregV "become" "became" "become") ;
|
||||||
-- beer_N = regN "beer" ;
|
beer_N = mkN "cerevisia" ;
|
||||||
-- beg_V2V = mkV2V (regDuplV "beg") noPrep toP ;
|
-- beg_V2V = mkV2V (regDuplV "beg") noPrep toP ;
|
||||||
-- big_A = duplADeg "big" ;
|
big_A = mkA "magnus" ;
|
||||||
-- bike_N = regN "bike" ;
|
-- bike_N = mkN "bike" ;
|
||||||
-- bird_N = regN "bird" ;
|
bird_N = mkN "avis" "avis" masculine ;
|
||||||
-- black_A = regADeg "black" ;
|
black_A = mkA "niger" ;
|
||||||
-- blue_A = regADeg "blue" ;
|
-- blue_A = regADeg "blue" ;
|
||||||
-- boat_N = regN "boat" ;
|
-- boat_N = mkN "boat" ;
|
||||||
-- book_N = regN "book" ;
|
book_N = mkN "liber" ;
|
||||||
-- boot_N = regN "boot" ;
|
-- boot_N = mkN "boot" ;
|
||||||
-- boss_N = mkN human (regN "boss") ;
|
-- boss_N = mkN human (mkN "boss") ;
|
||||||
-- boy_N = mkN masculine (regN "boy") ;
|
boy_N = mkN "liber" ;
|
||||||
-- bread_N = regN "bread" ;
|
bread_N = mkN "panis" "panis" masculine ;
|
||||||
-- break_V2 = dirV2 (irregV "break" "broke" "broken") ;
|
break_V2 = mkV2 (mkV "rumpo" "rupi" "ruptum" "rumpere") ;
|
||||||
-- broad_A = regADeg "broad" ;
|
-- broad_A = regADeg "broad" ;
|
||||||
-- brother_N2 = mkN2 (mkN masculine (mkN "brother")) (mkPrep "of") ;
|
-- brother_N2 = mkN2 (mkN masculine (mkN "brother")) (mkPrep "of") ;
|
||||||
-- brown_A = regADeg "brown" ;
|
-- brown_A = regADeg "brown" ;
|
||||||
-- butter_N = regN "butter" ;
|
-- butter_N = mkN "butter" ;
|
||||||
-- buy_V2 = dirV2 (irregV "buy" "bought" "bought") ;
|
-- buy_V2 = dirV2 (irregV "buy" "bought" "bought") ;
|
||||||
-- camera_N = regN "camera" ;
|
-- camera_N = mkN "camera" ;
|
||||||
-- cap_N = regN "cap" ;
|
-- cap_N = mkN "cap" ;
|
||||||
-- car_N = regN "car" ;
|
-- car_N = mkN "car" ;
|
||||||
-- carpet_N = regN "carpet" ;
|
-- carpet_N = mkN "carpet" ;
|
||||||
-- cat_N = regN "cat" ;
|
cat_N = mkN "felis" ;
|
||||||
-- ceiling_N = regN "ceiling" ;
|
-- ceiling_N = mkN "ceiling" ;
|
||||||
-- chair_N = regN "chair" ;
|
-- chair_N = mkN "chair" ;
|
||||||
-- cheese_N = regN "cheese" ;
|
-- cheese_N = mkN "cheese" ;
|
||||||
-- child_N = mk2N "child" "children" ;
|
-- child_N = mk2N "child" "children" ;
|
||||||
-- church_N = regN "church" ;
|
-- church_N = mkN "church" ;
|
||||||
-- city_N = regN "city" ;
|
city_N = mkN "urbs" "urbis" feminine ;
|
||||||
-- clean_A = regADeg "clean" ;
|
-- clean_A = regADeg "clean" ;
|
||||||
-- clever_A = regADeg "clever" ;
|
-- clever_A = regADeg "clever" ;
|
||||||
-- close_V2 = dirV2 (regV "close") ;
|
-- close_V2 = dirV2 (regV "close") ;
|
||||||
-- coat_N = regN "coat" ;
|
-- coat_N = mkN "coat" ;
|
||||||
-- cold_A = regADeg "cold" ;
|
-- cold_A = regADeg "cold" ;
|
||||||
-- come_V = (irregV "come" "came" "come") ;
|
-- come_V = (irregV "come" "came" "come") ;
|
||||||
-- computer_N = regN "computer" ;
|
-- computer_N = mkN "computer" ;
|
||||||
-- country_N = regN "country" ;
|
-- country_N = mkN "country" ;
|
||||||
-- cousin_N = mkN human (regN "cousin") ;
|
-- cousin_N = mkN human (mkN "cousin") ;
|
||||||
-- cow_N = regN "cow" ;
|
-- cow_N = mkN "cow" ;
|
||||||
-- die_V = (regV "die") ;
|
-- die_V = (regV "die") ;
|
||||||
-- dirty_A = regADeg "dirty" ;
|
-- dirty_A = regADeg "dirty" ;
|
||||||
-- distance_N3 = mkN3 (regN "distance") fromP toP ;
|
-- distance_N3 = mkN3 (mkN "distance") fromP toP ;
|
||||||
-- doctor_N = mkN human (regN "doctor") ;
|
-- doctor_N = mkN human (mkN "doctor") ;
|
||||||
-- dog_N = regN "dog" ;
|
-- dog_N = mkN "dog" ;
|
||||||
-- door_N = regN "door" ;
|
-- door_N = mkN "door" ;
|
||||||
-- drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ;
|
-- drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ;
|
||||||
-- easy_A2V = mkA2V (regA "easy") forP ;
|
-- easy_A2V = mkA2V (regA "easy") forP ;
|
||||||
-- eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ;
|
-- eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ;
|
||||||
-- empty_A = regADeg "empty" ;
|
-- empty_A = regADeg "empty" ;
|
||||||
-- enemy_N = regN "enemy" ;
|
-- enemy_N = mkN "enemy" ;
|
||||||
-- factory_N = regN "factory" ;
|
-- factory_N = mkN "factory" ;
|
||||||
-- father_N2 = mkN2 (mkN masculine (mkN "father")) (mkPrep "of") ;
|
-- father_N2 = mkN2 (mkN masculine (mkN "father")) (mkPrep "of") ;
|
||||||
-- fear_VS = mkVS (regV "fear") ;
|
-- fear_VS = mkVS (regV "fear") ;
|
||||||
-- find_V2 = dirV2 (irregV "find" "found" "found") ;
|
-- find_V2 = dirV2 (irregV "find" "found" "found") ;
|
||||||
-- fish_N = mk2N "fish" "fish" ;
|
-- fish_N = mk2N "fish" "fish" ;
|
||||||
-- floor_N = regN "floor" ;
|
-- floor_N = mkN "floor" ;
|
||||||
-- forget_V2 = dirV2 (irregDuplV "forget" "forgot" "forgotten") ;
|
-- forget_V2 = dirV2 (irregDuplV "forget" "forgot" "forgotten") ;
|
||||||
-- fridge_N = regN "fridge" ;
|
-- fridge_N = mkN "fridge" ;
|
||||||
-- friend_N = mkN human (regN "friend") ;
|
-- friend_N = mkN human (mkN "friend") ;
|
||||||
-- fruit_N = regN "fruit" ;
|
-- fruit_N = mkN "fruit" ;
|
||||||
-- fun_AV = mkAV (regA "fun") ;
|
-- fun_AV = mkAV (regA "fun") ;
|
||||||
-- garden_N = regN "garden" ;
|
-- garden_N = mkN "garden" ;
|
||||||
-- girl_N = mkN feminine (regN "girl") ;
|
-- girl_N = mkN feminine (mkN "girl") ;
|
||||||
-- glove_N = regN "glove" ;
|
-- glove_N = mkN "glove" ;
|
||||||
gold_N = mkN "aurum" ;
|
gold_N = mkN "aurum" ;
|
||||||
good_A = mkA "bonus" ;
|
good_A = mkA "bonus" ;
|
||||||
-- go_V = mk5V "go" "goes" "went" "gone" "going" ;
|
-- go_V = mk5V "go" "goes" "went" "gone" "going" ;
|
||||||
-- green_A = regADeg "green" ;
|
-- green_A = regADeg "green" ;
|
||||||
-- harbour_N = regN "harbour" ;
|
-- harbour_N = mkN "harbour" ;
|
||||||
-- hate_V2 = dirV2 (regV "hate") ;
|
-- hate_V2 = dirV2 (regV "hate") ;
|
||||||
-- hat_N = regN "hat" ;
|
-- hat_N = mkN "hat" ;
|
||||||
-- have_V2 = dirV2 (mk5V "have" "has" "had" "had" "having") ;
|
-- have_V2 = dirV2 (mk5V "have" "has" "had" "had" "having") ;
|
||||||
-- hear_V2 = dirV2 (irregV "hear" "heard" "heard") ;
|
-- hear_V2 = dirV2 (irregV "hear" "heard" "heard") ;
|
||||||
-- hill_N = regN "hill" ;
|
-- hill_N = mkN "hill" ;
|
||||||
-- hope_VS = mkVS (regV "hope") ;
|
-- hope_VS = mkVS (regV "hope") ;
|
||||||
-- horse_N = regN "horse" ;
|
-- horse_N = mkN "horse" ;
|
||||||
-- hot_A = duplADeg "hot" ;
|
-- hot_A = duplADeg "hot" ;
|
||||||
-- house_N = regN "house" ;
|
-- house_N = mkN "house" ;
|
||||||
-- important_A = compoundADeg (regA "important") ;
|
-- important_A = compoundADeg (regA "important") ;
|
||||||
-- industry_N = regN "industry" ;
|
-- industry_N = mkN "industry" ;
|
||||||
-- iron_N = regN "iron" ;
|
-- iron_N = mkN "iron" ;
|
||||||
-- king_N = mkN masculine (regN "king") ;
|
-- king_N = mkN masculine (mkN "king") ;
|
||||||
-- know_V2 = dirV2 (irregV "know" "knew" "known") ;
|
-- know_V2 = dirV2 (irregV "know" "knew" "known") ;
|
||||||
-- lake_N = regN "lake" ;
|
-- lake_N = mkN "lake" ;
|
||||||
-- lamp_N = regN "lamp" ;
|
-- lamp_N = mkN "lamp" ;
|
||||||
-- learn_V2 = dirV2 (regV "learn") ;
|
-- learn_V2 = dirV2 (regV "learn") ;
|
||||||
-- leather_N = regN "leather" ;
|
-- leather_N = mkN "leather" ;
|
||||||
-- leave_V2 = dirV2 (irregV "leave" "left" "left") ;
|
-- leave_V2 = dirV2 (irregV "leave" "left" "left") ;
|
||||||
-- like_V2 = dirV2 (regV "like") ;
|
-- like_V2 = dirV2 (regV "like") ;
|
||||||
-- listen_V2 = prepV2 (regV "listen") toP ;
|
-- listen_V2 = prepV2 (regV "listen") toP ;
|
||||||
@@ -118,99 +118,99 @@ lin
|
|||||||
love_V2 = mkV2 "amare" ;
|
love_V2 = mkV2 "amare" ;
|
||||||
-- man_N = mkN masculine (mk2N "man" "men") ;
|
-- man_N = mkN masculine (mk2N "man" "men") ;
|
||||||
-- married_A2 = mkA2 (regA "married") toP ;
|
-- married_A2 = mkA2 (regA "married") toP ;
|
||||||
-- meat_N = regN "meat" ;
|
-- meat_N = mkN "meat" ;
|
||||||
-- milk_N = regN "milk" ;
|
-- milk_N = mkN "milk" ;
|
||||||
-- moon_N = regN "moon" ;
|
-- moon_N = mkN "moon" ;
|
||||||
-- mother_N2 = mkN2 (mkN feminine (mkN "mother")) (mkPrep "of") ;
|
-- mother_N2 = mkN2 (mkN feminine (mkN "mother")) (mkPrep "of") ;
|
||||||
-- mountain_N = regN "mountain" ;
|
-- mountain_N = mkN "mountain" ;
|
||||||
-- music_N = regN "music" ;
|
-- music_N = mkN "music" ;
|
||||||
-- narrow_A = regADeg "narrow" ;
|
-- narrow_A = regADeg "narrow" ;
|
||||||
-- new_A = regADeg "new" ;
|
-- new_A = regADeg "new" ;
|
||||||
-- newspaper_N = regN "newspaper" ;
|
-- newspaper_N = mkN "newspaper" ;
|
||||||
-- oil_N = regN "oil" ;
|
-- oil_N = mkN "oil" ;
|
||||||
-- old_A = regADeg "old" ;
|
-- old_A = regADeg "old" ;
|
||||||
-- open_V2 = dirV2 (regV "open") ;
|
-- open_V2 = dirV2 (regV "open") ;
|
||||||
-- paint_V2A = mkV2A (regV "paint") noPrep ;
|
-- paint_V2A = mkV2A (regV "paint") noPrep ;
|
||||||
-- paper_N = regN "paper" ;
|
-- paper_N = mkN "paper" ;
|
||||||
-- paris_PN = mkPN (mkN nonhuman (mkN "Paris")) ;
|
-- paris_PN = mkPN (mkN nonhuman (mkN "Paris")) ;
|
||||||
-- peace_N = regN "peace" ;
|
-- peace_N = mkN "peace" ;
|
||||||
-- pen_N = regN "pen" ;
|
-- pen_N = mkN "pen" ;
|
||||||
-- planet_N = regN "planet" ;
|
-- planet_N = mkN "planet" ;
|
||||||
-- plastic_N = regN "plastic" ;
|
-- plastic_N = mkN "plastic" ;
|
||||||
-- play_V2 = dirV2 (regV "play") ;
|
-- play_V2 = dirV2 (regV "play") ;
|
||||||
-- policeman_N = mkN masculine (mkN "policeman" "policemen") ;
|
-- policeman_N = mkN masculine (mkN "policeman" "policemen") ;
|
||||||
-- priest_N = mkN human (regN "priest") ;
|
-- priest_N = mkN human (mkN "priest") ;
|
||||||
-- probable_AS = mkAS (regA "probable") ;
|
-- probable_AS = mkAS (regA "probable") ;
|
||||||
-- queen_N = mkN feminine (regN "queen") ;
|
-- queen_N = mkN feminine (mkN "queen") ;
|
||||||
-- radio_N = regN "radio" ;
|
-- radio_N = mkN "radio" ;
|
||||||
-- rain_V0 = mkV0 (regV "rain") ;
|
-- rain_V0 = mkV0 (regV "rain") ;
|
||||||
-- read_V2 = dirV2 (irregV "read" "read" "read") ;
|
-- read_V2 = dirV2 (irregV "read" "read" "read") ;
|
||||||
-- red_A = duplADeg "red" ;
|
-- red_A = duplADeg "red" ;
|
||||||
-- religion_N = regN "religion" ;
|
-- religion_N = mkN "religion" ;
|
||||||
-- restaurant_N = regN "restaurant" ;
|
-- restaurant_N = mkN "restaurant" ;
|
||||||
-- river_N = regN "river" ;
|
-- river_N = mkN "river" ;
|
||||||
-- rock_N = regN "rock" ;
|
-- rock_N = mkN "rock" ;
|
||||||
-- roof_N = regN "roof" ;
|
-- roof_N = mkN "roof" ;
|
||||||
-- rubber_N = regN "rubber" ;
|
-- rubber_N = mkN "rubber" ;
|
||||||
-- run_V = (irregDuplV "run" "ran" "run") ;
|
-- run_V = (irregDuplV "run" "ran" "run") ;
|
||||||
-- say_VS = mkVS (irregV "say" "said" "said") ;
|
-- say_VS = mkVS (irregV "say" "said" "said") ;
|
||||||
-- school_N = regN "school" ;
|
-- school_N = mkN "school" ;
|
||||||
-- science_N = regN "science" ;
|
-- science_N = mkN "science" ;
|
||||||
-- sea_N = regN "sea" ;
|
-- sea_N = mkN "sea" ;
|
||||||
-- seek_V2 = dirV2 (irregV "seek" "sought" "sought") ;
|
-- seek_V2 = dirV2 (irregV "seek" "sought" "sought") ;
|
||||||
-- see_V2 = dirV2 (irregV "see" "saw" "seen") ;
|
-- see_V2 = dirV2 (irregV "see" "saw" "seen") ;
|
||||||
-- sell_V3 = dirV3 (irregV "sell" "sold" "sold") toP ;
|
-- sell_V3 = dirV3 (irregV "sell" "sold" "sold") toP ;
|
||||||
-- send_V3 = dirV3 (irregV "send" "sent" "sent") toP ;
|
-- send_V3 = dirV3 (irregV "send" "sent" "sent") toP ;
|
||||||
-- sheep_N = mk2N "sheep" "sheep" ;
|
-- sheep_N = mk2N "sheep" "sheep" ;
|
||||||
-- ship_N = regN "ship" ;
|
-- ship_N = mkN "ship" ;
|
||||||
-- shirt_N = regN "shirt" ;
|
-- shirt_N = mkN "shirt" ;
|
||||||
-- shoe_N = regN "shoe" ;
|
-- shoe_N = mkN "shoe" ;
|
||||||
-- shop_N = regN "shop" ;
|
-- shop_N = mkN "shop" ;
|
||||||
-- short_A = regADeg "short" ;
|
-- short_A = regADeg "short" ;
|
||||||
-- silver_N = regN "silver" ;
|
-- silver_N = mkN "silver" ;
|
||||||
-- sister_N = mkN2 (mkN feminine (mkN "sister")) (mkPrep "of") ;
|
-- sister_N = mkN2 (mkN feminine (mkN "sister")) (mkPrep "of") ;
|
||||||
sleep_V = mkV "dormio" "dormivi" "dormitus" "dormire" ;
|
sleep_V = mkV "dormio" "dormivi" "dormitus" "dormire" ;
|
||||||
-- small_A = regADeg "small" ;
|
-- small_A = regADeg "small" ;
|
||||||
-- snake_N = regN "snake" ;
|
-- snake_N = mkN "snake" ;
|
||||||
-- sock_N = regN "sock" ;
|
-- sock_N = mkN "sock" ;
|
||||||
-- speak_V2 = dirV2 (irregV "speak" "spoke" "spoken") ;
|
-- speak_V2 = dirV2 (irregV "speak" "spoke" "spoken") ;
|
||||||
-- star_N = regN "star" ;
|
-- star_N = mkN "star" ;
|
||||||
-- steel_N = regN "steel" ;
|
-- steel_N = mkN "steel" ;
|
||||||
-- stone_N = regN "stone" ;
|
-- stone_N = mkN "stone" ;
|
||||||
-- stove_N = regN "stove" ;
|
-- stove_N = mkN "stove" ;
|
||||||
-- student_N = mkN human (regN "student") ;
|
-- student_N = mkN human (mkN "student") ;
|
||||||
-- stupid_A = regADeg "stupid" ;
|
-- stupid_A = regADeg "stupid" ;
|
||||||
-- sun_N = regN "sun" ;
|
-- sun_N = mkN "sun" ;
|
||||||
-- switch8off_V2 = dirV2 (partV (regV "switch") "off") ;
|
-- switch8off_V2 = dirV2 (partV (regV "switch") "off") ;
|
||||||
-- switch8on_V2 = dirV2 (partV (regV "switch") "on") ;
|
-- switch8on_V2 = dirV2 (partV (regV "switch") "on") ;
|
||||||
-- table_N = regN "table" ;
|
-- table_N = mkN "table" ;
|
||||||
-- talk_V3 = mkV3 (regV "talk") toP aboutP ;
|
-- talk_V3 = mkV3 (regV "talk") toP aboutP ;
|
||||||
-- teacher_N = mkN human (regN "teacher") ;
|
-- teacher_N = mkN human (mkN "teacher") ;
|
||||||
-- teach_V2 = dirV2 (irregV "teach" "taught" "taught") ;
|
-- teach_V2 = dirV2 (irregV "teach" "taught" "taught") ;
|
||||||
-- television_N = regN "television" ;
|
-- television_N = mkN "television" ;
|
||||||
-- thick_A = regADeg "thick" ;
|
-- thick_A = regADeg "thick" ;
|
||||||
-- thin_A = duplADeg "thin" ;
|
-- thin_A = duplADeg "thin" ;
|
||||||
-- train_N = regN "train" ;
|
-- train_N = mkN "train" ;
|
||||||
-- travel_V = (regDuplV "travel") ;
|
-- travel_V = (regDuplV "travel") ;
|
||||||
-- tree_N = regN "tree" ;
|
-- tree_N = mkN "tree" ;
|
||||||
-- ---- trousers_N = regN "trousers" ;
|
-- ---- trousers_N = mkN "trousers" ;
|
||||||
-- ugly_A = regADeg "ugly" ;
|
-- ugly_A = regADeg "ugly" ;
|
||||||
-- understand_V2 = dirV2 (irregV "understand" "understood" "understood") ;
|
-- understand_V2 = dirV2 (irregV "understand" "understood" "understood") ;
|
||||||
-- university_N = regN "university" ;
|
-- university_N = mkN "university" ;
|
||||||
-- village_N = regN "village" ;
|
-- village_N = mkN "village" ;
|
||||||
-- wait_V2 = prepV2 (regV "wait") forP ;
|
-- wait_V2 = prepV2 (regV "wait") forP ;
|
||||||
-- walk_V = (regV "walk") ;
|
-- walk_V = (regV "walk") ;
|
||||||
-- warm_A = regADeg "warm" ;
|
-- warm_A = regADeg "warm" ;
|
||||||
-- war_N = regN "war" ;
|
-- war_N = mkN "war" ;
|
||||||
-- watch_V2 = dirV2 (regV "watch") ;
|
-- watch_V2 = dirV2 (regV "watch") ;
|
||||||
-- water_N = regN "water" ;
|
-- water_N = mkN "water" ;
|
||||||
-- white_A = regADeg "white" ;
|
-- white_A = regADeg "white" ;
|
||||||
-- window_N = regN "window" ;
|
-- window_N = mkN "window" ;
|
||||||
-- wine_N = regN "wine" ;
|
-- wine_N = mkN "wine" ;
|
||||||
-- win_V2 = dirV2 (irregDuplV "win" "won" "won") ;
|
-- win_V2 = dirV2 (irregDuplV "win" "won" "won") ;
|
||||||
-- woman_N = mkN feminine (mk2N "woman" "women") ;
|
-- woman_N = mkN feminine (mk2N "woman" "women") ;
|
||||||
-- wonder_VQ = mkVQ (regV "wonder") ;
|
-- wonder_VQ = mkVQ (regV "wonder") ;
|
||||||
-- wood_N = regN "wood" ;
|
-- wood_N = mkN "wood" ;
|
||||||
-- write_V2 = dirV2 (irregV "write" "wrote" "written") ;
|
-- write_V2 = dirV2 (irregV "write" "wrote" "written") ;
|
||||||
-- yellow_A = regADeg "yellow" ;
|
-- yellow_A = regADeg "yellow" ;
|
||||||
-- young_A = regADeg "young" ;
|
-- young_A = regADeg "young" ;
|
||||||
@@ -218,9 +218,9 @@ lin
|
|||||||
-- do_V2 = dirV2 (mk5V "do" "does" "did" "done" "doing") ;
|
-- do_V2 = dirV2 (mk5V "do" "does" "did" "done" "doing") ;
|
||||||
-- now_Adv = mkAdv "now" ;
|
-- now_Adv = mkAdv "now" ;
|
||||||
-- already_Adv = mkAdv "already" ;
|
-- already_Adv = mkAdv "already" ;
|
||||||
-- song_N = regN "song" ;
|
-- song_N = mkN "song" ;
|
||||||
-- add_V3 = dirV3 (regV "add") toP ;
|
-- add_V3 = dirV3 (regV "add") toP ;
|
||||||
-- number_N = regN "number" ;
|
-- number_N = mkN "number" ;
|
||||||
-- put_V2 = prepV2 (irregDuplV "put" "put" "put") noPrep ;
|
-- put_V2 = prepV2 (irregDuplV "put" "put" "put") noPrep ;
|
||||||
-- stop_V = regDuplV "stop" ;
|
-- stop_V = regDuplV "stop" ;
|
||||||
-- jump_V = regV "jump" ;
|
-- jump_V = regV "jump" ;
|
||||||
@@ -241,69 +241,69 @@ lin
|
|||||||
-- straight_A = regA "straight" ;
|
-- straight_A = regA "straight" ;
|
||||||
-- wet_A = regA "wet" ; ----
|
-- wet_A = regA "wet" ; ----
|
||||||
-- wide_A = regA "wide" ;
|
-- wide_A = regA "wide" ;
|
||||||
-- animal_N = regN "animal" ;
|
-- animal_N = mkN "animal" ;
|
||||||
-- ashes_N = regN "ash" ; -- FIXME: plural only?
|
-- ashes_N = mkN "ash" ; -- FIXME: plural only?
|
||||||
-- back_N = regN "back" ;
|
-- back_N = mkN "back" ;
|
||||||
-- bark_N = regN "bark" ;
|
-- bark_N = mkN "bark" ;
|
||||||
-- belly_N = regN "belly" ;
|
-- belly_N = mkN "belly" ;
|
||||||
-- blood_N = regN "blood" ;
|
-- blood_N = mkN "blood" ;
|
||||||
-- bone_N = regN "bone" ;
|
-- bone_N = mkN "bone" ;
|
||||||
-- breast_N = regN "breast" ;
|
-- breast_N = mkN "breast" ;
|
||||||
-- cloud_N = regN "cloud" ;
|
-- cloud_N = mkN "cloud" ;
|
||||||
-- day_N = regN "day" ;
|
-- day_N = mkN "day" ;
|
||||||
-- dust_N = regN "dust" ;
|
-- dust_N = mkN "dust" ;
|
||||||
-- ear_N = regN "ear" ;
|
-- ear_N = mkN "ear" ;
|
||||||
-- earth_N = regN "earth" ;
|
-- earth_N = mkN "earth" ;
|
||||||
-- egg_N = regN "egg" ;
|
-- egg_N = mkN "egg" ;
|
||||||
-- eye_N = regN "eye" ;
|
-- eye_N = mkN "eye" ;
|
||||||
-- fat_N = regN "fat" ;
|
-- fat_N = mkN "fat" ;
|
||||||
-- feather_N = regN "feather" ;
|
-- feather_N = mkN "feather" ;
|
||||||
-- fingernail_N = regN "fingernail" ;
|
-- fingernail_N = mkN "fingernail" ;
|
||||||
-- fire_N = regN "fire" ;
|
-- fire_N = mkN "fire" ;
|
||||||
-- flower_N = regN "flower" ;
|
-- flower_N = mkN "flower" ;
|
||||||
-- fog_N = regN "fog" ;
|
-- fog_N = mkN "fog" ;
|
||||||
-- foot_N = mk2N "foot" "feet" ;
|
-- foot_N = mk2N "foot" "feet" ;
|
||||||
-- forest_N = regN "forest" ;
|
-- forest_N = mkN "forest" ;
|
||||||
-- grass_N = regN "grass" ;
|
-- grass_N = mkN "grass" ;
|
||||||
-- guts_N = regN "gut" ; -- FIXME: no singular
|
-- guts_N = mkN "gut" ; -- FIXME: no singular
|
||||||
-- hair_N = regN "hair" ;
|
-- hair_N = mkN "hair" ;
|
||||||
-- hand_N = regN "hand" ;
|
-- hand_N = mkN "hand" ;
|
||||||
-- head_N = regN "head" ;
|
-- head_N = mkN "head" ;
|
||||||
-- heart_N = regN "heart" ;
|
-- heart_N = mkN "heart" ;
|
||||||
-- horn_N = regN "horn" ;
|
-- horn_N = mkN "horn" ;
|
||||||
-- husband_N = mkN masculine (regN "husband") ;
|
-- husband_N = mkN masculine (mkN "husband") ;
|
||||||
-- ice_N = regN "ice" ;
|
-- ice_N = mkN "ice" ;
|
||||||
-- knee_N = regN "knee" ;
|
-- knee_N = mkN "knee" ;
|
||||||
-- leaf_N = mk2N "leaf" "leaves" ;
|
-- leaf_N = mk2N "leaf" "leaves" ;
|
||||||
-- leg_N = regN "leg" ;
|
-- leg_N = mkN "leg" ;
|
||||||
-- liver_N = regN "liver" ;
|
-- liver_N = mkN "liver" ;
|
||||||
-- louse_N = mk2N "louse" "lice" ;
|
-- louse_N = mk2N "louse" "lice" ;
|
||||||
-- mouth_N = regN "mouth" ;
|
-- mouth_N = mkN "mouth" ;
|
||||||
-- name_N = regN "name" ;
|
-- name_N = mkN "name" ;
|
||||||
-- neck_N = regN "neck" ;
|
-- neck_N = mkN "neck" ;
|
||||||
-- night_N = regN "night" ;
|
-- night_N = mkN "night" ;
|
||||||
-- nose_N = regN "nose" ;
|
-- nose_N = mkN "nose" ;
|
||||||
-- person_N = mkN human (regN "person") ;
|
-- person_N = mkN human (mkN "person") ;
|
||||||
-- rain_N = regN "rain" ;
|
-- rain_N = mkN "rain" ;
|
||||||
-- road_N = regN "road" ;
|
-- road_N = mkN "road" ;
|
||||||
-- root_N = regN "root" ;
|
-- root_N = mkN "root" ;
|
||||||
-- rope_N = regN "rope" ;
|
-- rope_N = mkN "rope" ;
|
||||||
-- salt_N = regN "salt" ;
|
-- salt_N = mkN "salt" ;
|
||||||
-- sand_N = regN "sand" ;
|
-- sand_N = mkN "sand" ;
|
||||||
-- seed_N = regN "seed" ;
|
-- seed_N = mkN "seed" ;
|
||||||
-- skin_N = regN "skin" ;
|
-- skin_N = mkN "skin" ;
|
||||||
-- sky_N = regN "sky" ;
|
-- sky_N = mkN "sky" ;
|
||||||
-- smoke_N = regN "smoke" ;
|
-- smoke_N = mkN "smoke" ;
|
||||||
-- snow_N = regN "snow" ;
|
-- snow_N = mkN "snow" ;
|
||||||
-- stick_N = regN "stick" ;
|
-- stick_N = mkN "stick" ;
|
||||||
-- tail_N = regN "tail" ;
|
-- tail_N = mkN "tail" ;
|
||||||
-- tongue_N = regN "tongue" ;
|
-- tongue_N = mkN "tongue" ;
|
||||||
-- tooth_N = mk2N "tooth" "teeth" ;
|
-- tooth_N = mk2N "tooth" "teeth" ;
|
||||||
-- wife_N = mkN feminine (mk2N "wife" "wives") ;
|
-- wife_N = mkN feminine (mk2N "wife" "wives") ;
|
||||||
-- wind_N = regN "wind" ;
|
-- wind_N = mkN "wind" ;
|
||||||
-- wing_N = regN "wing" ;
|
-- wing_N = mkN "wing" ;
|
||||||
-- worm_N = regN "worm" ;
|
-- worm_N = mkN "worm" ;
|
||||||
-- year_N = regN "year" ;
|
-- year_N = mkN "year" ;
|
||||||
-- blow_V = IrregLat.blow_V ;
|
-- blow_V = IrregLat.blow_V ;
|
||||||
-- breathe_V = dirV2 (regV "breathe") ;
|
-- breathe_V = dirV2 (regV "breathe") ;
|
||||||
-- burn_V = IrregLat.burn_V ;
|
-- burn_V = IrregLat.burn_V ;
|
||||||
@@ -353,15 +353,15 @@ lin
|
|||||||
--
|
--
|
||||||
---- other_A = regA "other" ;
|
---- other_A = regA "other" ;
|
||||||
--
|
--
|
||||||
-- grammar_N = regN "grammar" ;
|
-- grammar_N = mkN "grammar" ;
|
||||||
-- language_N = regN "language" ;
|
-- language_N = mkN "language" ;
|
||||||
-- rule_N = regN "rule" ;
|
-- rule_N = mkN "rule" ;
|
||||||
--
|
--
|
||||||
---- added 4/6/2007
|
---- added 4/6/2007
|
||||||
-- john_PN = mkPN (mkN masculine (mkN "John")) ;
|
-- john_PN = mkPN (mkN masculine (mkN "John")) ;
|
||||||
-- question_N = regN "question" ;
|
-- question_N = mkN "question" ;
|
||||||
-- ready_A = regA "ready" ;
|
-- ready_A = regA "ready" ;
|
||||||
-- reason_N = regN "reason" ;
|
-- reason_N = mkN "reason" ;
|
||||||
-- today_Adv = mkAdv "today" ;
|
-- today_Adv = mkAdv "today" ;
|
||||||
-- uncertain_A = regA "uncertain" ;
|
-- uncertain_A = regA "uncertain" ;
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -43,11 +43,11 @@ concrete NounLat of Noun = CatLat ** open ResLat, Prelude in {
|
|||||||
n = num.n
|
n = num.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- DetNP det = {
|
DetNP det = {
|
||||||
-- s = \\c => det.sp ; ---- case
|
s = det.sp ! Neutr ;
|
||||||
-- a = agrP3 det.n
|
g = Neutr ; n = det.n ; p = P3
|
||||||
-- } ;
|
} ;
|
||||||
--
|
|
||||||
-- PossPron p = {
|
-- PossPron p = {
|
||||||
-- s = \\_,_ => p.s ! Gen ;
|
-- s = \\_,_ => p.s ! Gen ;
|
||||||
-- sp = \\_,_ => p.sp
|
-- sp = \\_,_ => p.sp
|
||||||
@@ -67,16 +67,12 @@ concrete NounLat of Noun = CatLat ** open ResLat, Prelude in {
|
|||||||
-- AdNum adn num = {s = adn.s ++ num.s ; n = num.n} ;
|
-- AdNum adn num = {s = adn.s ++ num.s ; n = num.n} ;
|
||||||
--
|
--
|
||||||
-- OrdSuperl a = {s = a.s ! AAdj Superl} ;
|
-- OrdSuperl a = {s = a.s ! AAdj Superl} ;
|
||||||
--
|
|
||||||
-- DefArt = {
|
DefArt = {
|
||||||
-- s = \\c,n => artDef ;
|
s = \\_,_,_ => [] ;
|
||||||
-- sp = \\c,n => case <n,c> of {
|
sp = \\n,g => (personalPronoun g n P3).s
|
||||||
-- <Sg,False> => "it" ;
|
} ;
|
||||||
-- <Pl,False> => "they" ;
|
|
||||||
-- _ => artDef
|
|
||||||
-- }
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- IndefArt = {
|
-- IndefArt = {
|
||||||
-- s = \\c,n => case <n,c> of {
|
-- s = \\c,n => case <n,c> of {
|
||||||
-- <Sg,False> => artIndef ;
|
-- <Sg,False> => artIndef ;
|
||||||
@@ -116,17 +112,19 @@ concrete NounLat of Noun = CatLat ** open ResLat, Prelude in {
|
|||||||
-- g = f.g ;
|
-- g = f.g ;
|
||||||
-- c2 = f.c3
|
-- c2 = f.c3
|
||||||
-- } ;
|
-- } ;
|
||||||
--
|
|
||||||
-- AdjCN ap cn = {
|
AdjCN ap cn = {
|
||||||
-- s = \\n,c => preOrPost ap.isPre (ap.s ! agrgP3 n cn.g) (cn.s ! n ! c) ;
|
s = \\n,c => preOrPost ap.isPre (ap.s ! cn.g ! n ! c) (cn.s ! n ! c) ;
|
||||||
-- g = cn.g
|
g = cn.g
|
||||||
-- } ;
|
} ;
|
||||||
|
|
||||||
-- RelCN cn rs = {
|
-- RelCN cn rs = {
|
||||||
-- s = \\n,c => cn.s ! n ! c ++ rs.s ! agrgP3 n cn.g ;
|
-- s = \\n,c => cn.s ! n ! c ++ rs.s ! agrgP3 n cn.g ;
|
||||||
-- g = cn.g
|
-- g = cn.g
|
||||||
-- } ;
|
-- } ;
|
||||||
-- AdvCN cn ad = {s = \\n,c => cn.s ! n ! c ++ ad.s ; g = cn.g} ;
|
|
||||||
--
|
AdvCN cn ad = {s = \\n,c => cn.s ! n ! c ++ ad.s ; g = cn.g} ;
|
||||||
|
|
||||||
-- SentCN cn sc = {s = \\n,c => cn.s ! n ! c ++ sc.s ; g = cn.g} ;
|
-- SentCN cn sc = {s = \\n,c => cn.s ! n ! c ++ sc.s ; g = cn.g} ;
|
||||||
--
|
--
|
||||||
-- ApposCN cn np = {s = \\n,c => cn.s ! n ! Nom ++ np.s ! c ; g = cn.g} ;
|
-- ApposCN cn np = {s = \\n,c => cn.s ! n ! Nom ++ np.s ! c ; g = cn.g} ;
|
||||||
|
|||||||
@@ -550,9 +550,21 @@ oper
|
|||||||
(mkQuantifG
|
(mkQuantifG
|
||||||
"hic" "hunc" "huius" "huic" "hoc" "haec" "hanc" "huius" "hac" "hoc" "huius" "hoc")
|
"hic" "hunc" "huius" "huic" "hoc" "haec" "hanc" "huius" "hac" "hoc" "huius" "hoc")
|
||||||
(mkQuantifG
|
(mkQuantifG
|
||||||
"hi" "hos" "horum" "his" "his" "hae" "has" "harum" "his" "hocec" "horum" "his")
|
"hi" "hos" "horum" "his" "his" "hae" "has" "harum" "his" "haec" "horum" "his")
|
||||||
;
|
;
|
||||||
|
|
||||||
|
ille_Quantifier = mkQuantifier
|
||||||
|
(mkQuantifG
|
||||||
|
"ille" "illum" "illius" "illi" "illo"
|
||||||
|
"illa" "illam" "illius" "illa"
|
||||||
|
"illud" "illius" "illo")
|
||||||
|
(mkQuantifG
|
||||||
|
"illi" "illos" "illorum" "illis" "illis"
|
||||||
|
"illae" "illas" "illarum" "illis"
|
||||||
|
"illa" "illorum" "illis")
|
||||||
|
;
|
||||||
|
|
||||||
|
mkPrep : Str -> Case -> {s : Str ; c : Case} = \s,c -> {s = s ; c = c} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,433 +0,0 @@
|
|||||||
--# -path=.:common
|
|
||||||
|
|
||||||
resource ResLatin = open
|
|
||||||
-- ParamX,
|
|
||||||
Prelude
|
|
||||||
|
|
||||||
in {
|
|
||||||
|
|
||||||
param
|
|
||||||
Number = Sg | Pl ;
|
|
||||||
Person = P1 | P2 | P3 ;
|
|
||||||
Gender = Masc | Fem | Neutr ;
|
|
||||||
Case = Nom | Acc | Gen | Dat | Abl | Voc ;
|
|
||||||
Degree = DPos | DComp | DSup ;
|
|
||||||
|
|
||||||
oper
|
|
||||||
Noun : Type = {s : Number => Case => Str ; g : Gender} ;
|
|
||||||
Adjective : Type = {s : Gender => Number => Case => Str} ;
|
|
||||||
|
|
||||||
-- worst case
|
|
||||||
|
|
||||||
mkNoun : (n1,_,_,_,_,_,_,_,_,n10 : Str) -> Gender -> Noun =
|
|
||||||
\sn,sa,sg,sd,sab,sv,pn,pa,pg,pd, g -> {
|
|
||||||
s = table {
|
|
||||||
Sg => table {
|
|
||||||
Nom => sn ;
|
|
||||||
Acc => sa ;
|
|
||||||
Gen => sg ;
|
|
||||||
Dat => sd ;
|
|
||||||
Abl => sab ;
|
|
||||||
Voc => sv
|
|
||||||
} ;
|
|
||||||
Pl => table {
|
|
||||||
Nom | Voc => pn ;
|
|
||||||
Acc => pa ;
|
|
||||||
Gen => pg ;
|
|
||||||
Dat | Abl => pd
|
|
||||||
}
|
|
||||||
} ;
|
|
||||||
g = g
|
|
||||||
} ;
|
|
||||||
|
|
||||||
-- declensions
|
|
||||||
|
|
||||||
noun1 : Str -> Noun = \mensa ->
|
|
||||||
let
|
|
||||||
mensae = mensa + "a" ;
|
|
||||||
mensis = init mensa + "is" ;
|
|
||||||
in
|
|
||||||
mkNoun
|
|
||||||
mensa (mensa +"m") mensae mensae mensa mensa
|
|
||||||
mensae (mensa + "s") (mensa + "rum") mensis
|
|
||||||
Fem ;
|
|
||||||
|
|
||||||
noun2us : Str -> Noun = \servus ->
|
|
||||||
let
|
|
||||||
serv = Predef.tk 2 servus ;
|
|
||||||
servum = serv + "um" ;
|
|
||||||
servi = serv + "i" ;
|
|
||||||
servo = serv + "o" ;
|
|
||||||
in
|
|
||||||
mkNoun
|
|
||||||
servus servum servi servo servo (serv + "e")
|
|
||||||
servi (serv + "os") (serv + "orum") (serv + "is")
|
|
||||||
Masc ;
|
|
||||||
|
|
||||||
noun2er : Str -> Noun = \puer ->
|
|
||||||
let
|
|
||||||
puerum = puer + "um" ;
|
|
||||||
pueri = puer + "i" ;
|
|
||||||
puero = puer + "o" ;
|
|
||||||
in
|
|
||||||
mkNoun
|
|
||||||
puer puerum pueri puero puero (puer + "e")
|
|
||||||
pueri (puer + "os") (puer + "orum") (puer + "is")
|
|
||||||
Masc ;
|
|
||||||
|
|
||||||
noun2um : Str -> Noun = \bellum ->
|
|
||||||
let
|
|
||||||
bell = Predef.tk 2 bellum ;
|
|
||||||
belli = bell + "i" ;
|
|
||||||
bello = bell + "o" ;
|
|
||||||
bella = bell + "a" ;
|
|
||||||
in
|
|
||||||
mkNoun
|
|
||||||
bellum bellum belli bello bello (bell + "e")
|
|
||||||
bella bella (bell + "orum") (bell + "is")
|
|
||||||
Neutr ;
|
|
||||||
|
|
||||||
-- smart paradigm for declensions 1&2
|
|
||||||
|
|
||||||
noun12 : Str -> Noun = \verbum ->
|
|
||||||
case verbum of {
|
|
||||||
_ + "a" => noun1 verbum ;
|
|
||||||
_ + "us" => noun2us verbum ;
|
|
||||||
_ + "um" => noun2um verbum ;
|
|
||||||
_ + "er" => noun2er verbum ;
|
|
||||||
_ => Predef.error ("noun12 does not apply to" ++ verbum)
|
|
||||||
} ;
|
|
||||||
|
|
||||||
noun3c : Str -> Str -> Gender -> Noun = \rex,regis,g ->
|
|
||||||
let
|
|
||||||
reg = Predef.tk 2 regis ;
|
|
||||||
rege : Str = case rex of {
|
|
||||||
_ + "e" => reg + "i" ;
|
|
||||||
_ + ("al" | "ar") => rex + "i" ;
|
|
||||||
_ => reg + "e"
|
|
||||||
} ;
|
|
||||||
regemes : Str * Str = case g of {
|
|
||||||
Neutr => <rex,reg + "a"> ;
|
|
||||||
_ => <reg + "em", reg + "es">
|
|
||||||
} ;
|
|
||||||
in
|
|
||||||
mkNoun
|
|
||||||
rex regemes.p1 (reg + "is") (reg + "i") rege rex
|
|
||||||
regemes.p2 regemes.p2 (reg + "um") (reg + "ibus")
|
|
||||||
g ;
|
|
||||||
|
|
||||||
|
|
||||||
noun3 : Str -> Noun = \labor ->
|
|
||||||
case labor of {
|
|
||||||
_ + "r" => noun3c labor (labor + "is") Masc ;
|
|
||||||
fl + "os" => noun3c labor (fl + "oris") Masc ;
|
|
||||||
lim + "es" => noun3c labor (lim + "itis") Masc ;
|
|
||||||
cod + "ex" => noun3c labor (cod + "icis") Masc ;
|
|
||||||
poem + "a" => noun3c labor (poem + "atis") Neutr ;
|
|
||||||
calc + "ar" => noun3c labor (calc + "aris") Neutr ;
|
|
||||||
mar + "e" => noun3c labor (mar + "is") Neutr ;
|
|
||||||
car + "men" => noun3c labor (car + "minis") Neutr ;
|
|
||||||
rob + "ur" => noun3c labor (rob + "oris") Neutr ;
|
|
||||||
temp + "us" => noun3c labor (temp + "oris") Neutr ;
|
|
||||||
vers + "io" => noun3c labor (vers + "ionis") Fem ;
|
|
||||||
imag + "o" => noun3c labor (imag + "inis") Fem ;
|
|
||||||
ae + "tas" => noun3c labor (ae + "tatis") Fem ;
|
|
||||||
vo + "x" => noun3c labor (vo + "cis") Fem ;
|
|
||||||
pa + "rs" => noun3c labor (pa + "rtis") Fem ;
|
|
||||||
cut + "is" => noun3c labor (cut + "is") Fem ;
|
|
||||||
urb + "s" => noun3c labor (urb + "is") Fem ;
|
|
||||||
_ => Predef.error ("noun3 does not apply to" ++ labor)
|
|
||||||
} ;
|
|
||||||
|
|
||||||
noun4us : Str -> Noun = \fructus ->
|
|
||||||
let
|
|
||||||
fructu = init fructus ;
|
|
||||||
fruct = init fructu
|
|
||||||
in
|
|
||||||
mkNoun
|
|
||||||
fructus (fructu + "m") fructus (fructu + "i") fructu fructus
|
|
||||||
fructus fructus (fructu + "um") (fruct + "ibus")
|
|
||||||
Masc ;
|
|
||||||
|
|
||||||
noun4u : Str -> Noun = \cornu ->
|
|
||||||
let
|
|
||||||
corn = init cornu ;
|
|
||||||
cornua = cornu + "a"
|
|
||||||
in
|
|
||||||
mkNoun
|
|
||||||
cornu cornu (cornu + "s") (cornu + "i") cornu cornu
|
|
||||||
cornua cornua (cornu + "um") (corn + "ibus")
|
|
||||||
Neutr ;
|
|
||||||
|
|
||||||
noun5 : Str -> Noun = \res ->
|
|
||||||
let
|
|
||||||
re = init res ;
|
|
||||||
rei = re + "i"
|
|
||||||
in
|
|
||||||
mkNoun
|
|
||||||
res (re+ "m") rei rei re res
|
|
||||||
res res (re + "rum") (re + "bus")
|
|
||||||
Fem ;
|
|
||||||
|
|
||||||
-- to change the default gender
|
|
||||||
|
|
||||||
nounWithGen : Gender -> Noun -> Noun = \g,n ->
|
|
||||||
{s = n.s ; g = g} ;
|
|
||||||
|
|
||||||
-- smart paradigms
|
|
||||||
|
|
||||||
noun_ngg : Str -> Str -> Gender -> Noun = \verbum,verbi,g ->
|
|
||||||
let s : Noun = case <verbum,verbi> of {
|
|
||||||
<_ + "a", _ + "ae"> => noun1 verbum ;
|
|
||||||
<_ + "us", _ + "i"> => noun2us verbum ;
|
|
||||||
<_ + "um", _ + "i"> => noun2um verbum ;
|
|
||||||
<_ + "er", _ + "i"> => noun2er verbum ;
|
|
||||||
<_ + "us", _ + "us"> => noun4us verbum ;
|
|
||||||
<_ + "u", _ + "us"> => noun4u verbum ;
|
|
||||||
<_ + "es", _ + "ei"> => noun5 verbum ;
|
|
||||||
_ => noun3c verbum verbi g
|
|
||||||
}
|
|
||||||
in
|
|
||||||
nounWithGen g s ;
|
|
||||||
|
|
||||||
noun : Str -> Noun = \verbum ->
|
|
||||||
case verbum of {
|
|
||||||
_ + "a" => noun1 verbum ;
|
|
||||||
_ + "us" => noun2us verbum ;
|
|
||||||
_ + "um" => noun2um verbum ;
|
|
||||||
_ + "er" => noun2er verbum ;
|
|
||||||
_ + "u" => noun4u verbum ;
|
|
||||||
_ + "es" => noun5 verbum ;
|
|
||||||
_ => noun3 verbum
|
|
||||||
} ;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- adjectives
|
|
||||||
|
|
||||||
mkAdjective : (_,_,_ : Noun) -> Adjective = \bonus,bona,bonum -> {
|
|
||||||
s = table {
|
|
||||||
Masc => bonus.s ;
|
|
||||||
Fem => bona.s ;
|
|
||||||
Neutr => bonum.s
|
|
||||||
}
|
|
||||||
} ;
|
|
||||||
|
|
||||||
adj12 : Str -> Adjective = \bonus ->
|
|
||||||
let
|
|
||||||
bon : Str = case bonus of {
|
|
||||||
pulch + "er" => pulch + "r" ;
|
|
||||||
bon + "us" => bon ;
|
|
||||||
_ => Predef.error ("adj12 does not apply to" ++ bonus)
|
|
||||||
}
|
|
||||||
in
|
|
||||||
mkAdjective (noun12 bonus) (noun1 (bon + "a")) (noun2um (bon + "um")) ;
|
|
||||||
|
|
||||||
-- verbs
|
|
||||||
|
|
||||||
param
|
|
||||||
VActForm = VAct VAnter VTense Number Person ;
|
|
||||||
VPassForm = VPass VTense Number Person ;
|
|
||||||
VInfForm = VInfActPres | VInfActPerf ;
|
|
||||||
VImpForm = VImpPres Number | VImpFut2 Number | VImpFut3 Number ;
|
|
||||||
VGerund = VGenAcc | VGenGen |VGenDat | VGenAbl ;
|
|
||||||
VSupine = VSupAcc | VSupAbl ;
|
|
||||||
|
|
||||||
VAnter = VSim | VAnt ;
|
|
||||||
VTense = VPres VMood | VImpf VMood | VFut ;
|
|
||||||
VMood = VInd | VConj ;
|
|
||||||
|
|
||||||
oper
|
|
||||||
Verb : Type = {
|
|
||||||
act : VActForm => Str ;
|
|
||||||
-- pass : VPassForm => Str ;
|
|
||||||
inf : VAnter => Str ;
|
|
||||||
-- imp : VImpForm => Str ;
|
|
||||||
-- ger : VGerund => Str ;
|
|
||||||
-- sup : VSupine => Str ;
|
|
||||||
-- partActPres : Adjective ;
|
|
||||||
-- partActFut : Adjective ;
|
|
||||||
-- partPassPerf : Adjective ;
|
|
||||||
-- partPassFut : Adjective ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
mkVerb :
|
|
||||||
(cela,cele,celab,celo,celare,celavi,celatus,celabo,celabunt,celabi : Str)
|
|
||||||
-> Verb =
|
|
||||||
\cela,cele,celab,celo,celare,celavi,celatus,celabo,celabunt,celabi ->
|
|
||||||
let
|
|
||||||
celav = init celavi
|
|
||||||
in {
|
|
||||||
act = table {
|
|
||||||
VAct VSim (VPres VInd) Sg P1 => celo ;
|
|
||||||
VAct VSim (VPres VInd) n p => cela + actPresEnding n p ;
|
|
||||||
VAct VSim (VPres VConj) n p => cele + actPresEnding n p ;
|
|
||||||
VAct VSim (VImpf VInd) n p => celab + "ba" + actPresEnding n p ;
|
|
||||||
VAct VSim (VImpf VConj) n p => celare + actPresEnding n p ;
|
|
||||||
VAct VSim VFut Sg P1 => celabo ;
|
|
||||||
VAct VSim VFut Pl P3 => celabunt ;
|
|
||||||
VAct VSim VFut n p => celabi + actPresEnding n p ;
|
|
||||||
VAct VAnt (VPres VInd) Pl P3 => celav + "erunt" ;
|
|
||||||
VAct VAnt (VPres VInd) n p => celavi + actPerfEnding n p ;
|
|
||||||
VAct VAnt (VPres VConj) n p => celav + "eri" + actPresEnding n p ;
|
|
||||||
VAct VAnt (VImpf VInd) n p => celav + "era" + actPresEnding n p ;
|
|
||||||
VAct VAnt (VImpf VConj) n p => celav + "isse" + actPresEnding n p ;
|
|
||||||
VAct VAnt VFut Sg P1 => celav + "ero" ;
|
|
||||||
VAct VAnt VFut n p => celav + "eri" + actPresEnding n p
|
|
||||||
} ;
|
|
||||||
inf = table {
|
|
||||||
VSim => celare ;
|
|
||||||
VAnt => celav + "isse"
|
|
||||||
}
|
|
||||||
} ;
|
|
||||||
|
|
||||||
actPresEnding : Number -> Person -> Str =
|
|
||||||
useEndingTable <"m", "s", "t", "mus", "tis", "nt"> ;
|
|
||||||
|
|
||||||
actPerfEnding : Number -> Person -> Str =
|
|
||||||
useEndingTable <"", "sti", "t", "mus", "stis", "erunt"> ;
|
|
||||||
|
|
||||||
useEndingTable : (Str*Str*Str*Str*Str*Str) -> Number -> Person -> Str =
|
|
||||||
\es,n,p -> case n of {
|
|
||||||
Sg => case p of {
|
|
||||||
P1 => es.p1 ;
|
|
||||||
P2 => es.p2 ;
|
|
||||||
P3 => es.p3
|
|
||||||
} ;
|
|
||||||
Pl => case p of {
|
|
||||||
P1 => es.p4 ;
|
|
||||||
P2 => es.p5 ;
|
|
||||||
P3 => es.p6
|
|
||||||
}
|
|
||||||
} ;
|
|
||||||
|
|
||||||
esseV : Verb =
|
|
||||||
let
|
|
||||||
esse = mkVerb "es" "si" "era" "sum" "esse" "fui" "*futus"
|
|
||||||
"ero" "erunt" "eri" ;
|
|
||||||
in {
|
|
||||||
act = table {
|
|
||||||
VAct VSim (VPres VInd) Sg P2 => "es" ;
|
|
||||||
VAct VSim (VPres VInd) Pl P1 => "sumus" ;
|
|
||||||
VAct VSim (VPres VInd) Pl P3 => "sunt" ;
|
|
||||||
v => esse.act ! v
|
|
||||||
} ;
|
|
||||||
inf = esse.inf
|
|
||||||
} ;
|
|
||||||
|
|
||||||
verb1 : Str -> Verb = \celare ->
|
|
||||||
let
|
|
||||||
cela = Predef.tk 2 celare ;
|
|
||||||
cel = init cela ;
|
|
||||||
celo = cel + "o" ;
|
|
||||||
cele = cel + "e" ;
|
|
||||||
celavi = cela + "vi" ;
|
|
||||||
celatus = cela + "tus" ;
|
|
||||||
in mkVerb cela cele cela celo celare celavi celatus
|
|
||||||
(cela + "bo") (cela + "bunt") (cela + "bi") ;
|
|
||||||
|
|
||||||
verb2 : Str -> Verb = \habere ->
|
|
||||||
let
|
|
||||||
habe = Predef.tk 2 habere ;
|
|
||||||
hab = init habe ;
|
|
||||||
habeo = habe + "o" ;
|
|
||||||
habea = habe + "a" ;
|
|
||||||
habui = hab + "ui" ;
|
|
||||||
habitus = hab + "itus" ;
|
|
||||||
in mkVerb habe habea habe habeo habere habui habitus
|
|
||||||
(habe + "bo") (habe + "bunt") (habe + "bi") ;
|
|
||||||
|
|
||||||
verb3 : (_,_,_ : Str) -> Verb = \gerere,gessi,gestus ->
|
|
||||||
let
|
|
||||||
gere = Predef.tk 2 gerere ;
|
|
||||||
ger = init gere ;
|
|
||||||
gero = ger + "o" ;
|
|
||||||
geri = ger + "i" ;
|
|
||||||
gera = ger + "a" ;
|
|
||||||
in mkVerb geri gera gere gero gerere gessi gestus
|
|
||||||
(ger + "am") (ger + "ent") gere ;
|
|
||||||
|
|
||||||
verb3i : (_,_,_ : Str) -> Verb = \iacere,ieci,iactus ->
|
|
||||||
let
|
|
||||||
iac = Predef.tk 3 iacere ;
|
|
||||||
iaco = iac + "io" ;
|
|
||||||
iaci = iac + "i" ;
|
|
||||||
iacie = iac + "ie" ;
|
|
||||||
iacia = iac + "ia" ;
|
|
||||||
in mkVerb iaci iacia iacie iaco iacere ieci iactus
|
|
||||||
(iac + "iam") (iac + "ient") iacie ;
|
|
||||||
|
|
||||||
verb4 : (_,_,_ : Str) -> Verb = \sentire,sensi,sensus ->
|
|
||||||
let
|
|
||||||
senti = Predef.tk 2 sentire ;
|
|
||||||
sentio = senti + "o" ;
|
|
||||||
sentia = senti + "a" ;
|
|
||||||
sentie = senti + "e" ;
|
|
||||||
in mkVerb senti sentia sentie sentio sentire sensi sensus
|
|
||||||
(senti + "am") (senti + "ent") sentie ;
|
|
||||||
|
|
||||||
|
|
||||||
-- smart paradigms
|
|
||||||
|
|
||||||
verb_pppi : (iacio,ieci,iactus,iacere : Str) -> Verb =
|
|
||||||
\iacio,ieci,iactus,iacere ->
|
|
||||||
case iacere of {
|
|
||||||
_ + "are" => verb1 iacere ;
|
|
||||||
_ + "ire" => verb4 iacere ieci iactus ;
|
|
||||||
_ + "ere" => case iacio of {
|
|
||||||
_ + "eo" => verb2 iacere ;
|
|
||||||
_ + "io" => verb3i iacere ieci iactus ;
|
|
||||||
_ => verb3 iacere ieci iactus
|
|
||||||
} ;
|
|
||||||
_ => Predef.error ("verb_pppi: illegal infinitive form" ++ iacere)
|
|
||||||
} ;
|
|
||||||
|
|
||||||
verb : (iacere : Str) -> Verb =
|
|
||||||
\iacere ->
|
|
||||||
case iacere of {
|
|
||||||
_ + "are" => verb1 iacere ;
|
|
||||||
_ + "ire" => let iaci = Predef.tk 2 iacere
|
|
||||||
in verb4 iacere (iaci + "vi") (iaci + "tus") ;
|
|
||||||
_ + "ere" => verb2 iacere ;
|
|
||||||
_ => Predef.error ("verb: illegal infinitive form" ++ iacere)
|
|
||||||
} ;
|
|
||||||
|
|
||||||
-- pronouns
|
|
||||||
|
|
||||||
Pronoun : Type = {
|
|
||||||
s : Case => Str ;
|
|
||||||
g : Gender ;
|
|
||||||
n : Number ;
|
|
||||||
p : Person ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
mkPronoun : (_,_,_,_,_ : Str) -> Gender -> Number -> Person -> Pronoun =
|
|
||||||
\ego,me,mei,mihi,mee,g,n,p -> {
|
|
||||||
s = pronForms ego me mei mihi mee ;
|
|
||||||
g = g ;
|
|
||||||
n = n ;
|
|
||||||
p = p
|
|
||||||
} ;
|
|
||||||
|
|
||||||
pronForms : (_,_,_,_,_ : Str) -> Case => Str =
|
|
||||||
\ego,me,mei,mihi,mee -> table Case [ego ; me ; mei ; mihi ; mee ; ego] ;
|
|
||||||
|
|
||||||
personalPronoun : Gender -> Number -> Person -> Pronoun = \g,n,p -> {
|
|
||||||
s = case <g,n,p> of {
|
|
||||||
<_,Sg,P1> => pronForms "ego" "me" "mei" "mihi" "me" ;
|
|
||||||
<_,Sg,P2> => pronForms "tu" "te" "tui" "tibi" "te" ;
|
|
||||||
<_,Pl,P1> => pronForms "nos" "nos" "nostri" "nobis" "nobis" ; --- nostrum
|
|
||||||
<_,Pl,P2> => pronForms "vos" "vos" "vestri" "vobis" "vobis" ; --- vestrum
|
|
||||||
<Masc, Sg,P3> => pronForms "is" "eum" "eius" "ei" "eo" ;
|
|
||||||
<Fem, Sg,P3> => pronForms "ea" "eam" "eius" "ei" "ea" ;
|
|
||||||
<Neutr,Sg,P3> => pronForms "id" "id" "eius" "ei" "eo" ;
|
|
||||||
<Masc, Pl,P3> => pronForms "ii" "eos" "eorum" "iis" "iis" ;
|
|
||||||
<Fem, Pl,P3> => pronForms "ii" "eas" "earum" "iis" "iis" ;
|
|
||||||
<Neutr,Pl,P3> => pronForms "ea" "ea" "eorum" "iis" "iis"
|
|
||||||
} ;
|
|
||||||
g = g ;
|
|
||||||
n = n ;
|
|
||||||
p = p
|
|
||||||
} ;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -5,22 +5,22 @@ concrete StructuralLat of Structural = CatLat **
|
|||||||
flags optimize=all ;
|
flags optimize=all ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
-- above_Prep = ss "above" ;
|
above_Prep = mkPrep "super" Acc ;
|
||||||
-- after_Prep = ss "after" ;
|
after_Prep = mkPrep "post" Acc ;
|
||||||
-- all_Predet = ss "all" ;
|
-- all_Predet = ss "all" ;
|
||||||
-- almost_AdA, almost_AdN = ss "almost" ;
|
almost_AdA, almost_AdN = ss "quasi" ;
|
||||||
-- although_Subj = ss "although" ;
|
-- although_Subj = ss "although" ;
|
||||||
-- always_AdV = ss "always" ;
|
always_AdV = ss "semper" ;
|
||||||
-- and_Conj = sd2 [] "and" ** {n = Pl} ;
|
-- and_Conj = sd2 [] "and" ** {n = Pl} ;
|
||||||
-----b and_Conj = ss "and" ** {n = Pl} ;
|
-----b and_Conj = ss "and" ** {n = Pl} ;
|
||||||
-- because_Subj = ss "because" ;
|
-- because_Subj = ss "because" ;
|
||||||
-- before_Prep = ss "before" ;
|
before_Prep = mkPrep "ante" Acc ;
|
||||||
-- behind_Prep = ss "behind" ;
|
-- behind_Prep = ss "behind" ;
|
||||||
-- between_Prep = ss "between" ;
|
between_Prep = mkPrep "inter" Acc ;
|
||||||
-- both7and_DConj = sd2 "both" "and" ** {n = Pl} ;
|
-- both7and_DConj = sd2 "both" "and" ** {n = Pl} ;
|
||||||
-- but_PConj = ss "but" ;
|
but_PConj = ss "sed" ;
|
||||||
-- by8agent_Prep = ss "by" ;
|
by8agent_Prep = mkPrep "a" Abl ;
|
||||||
-- by8means_Prep = ss "by" ;
|
by8means_Prep = mkPrep "per" Acc ;
|
||||||
-- can8know_VV, can_VV = {
|
-- can8know_VV, can_VV = {
|
||||||
-- s = table {
|
-- s = table {
|
||||||
-- VVF VInf => ["be able to"] ;
|
-- VVF VInf => ["be able to"] ;
|
||||||
@@ -41,19 +41,19 @@ concrete StructuralLat of Structural = CatLat **
|
|||||||
-- everywhere_Adv = ss "everywhere" ;
|
-- everywhere_Adv = ss "everywhere" ;
|
||||||
-- few_Det = mkDeterminer Pl "few" ;
|
-- few_Det = mkDeterminer Pl "few" ;
|
||||||
----- first_Ord = ss "first" ; DEPRECATED
|
----- first_Ord = ss "first" ; DEPRECATED
|
||||||
-- for_Prep = ss "for" ;
|
for_Prep = mkPrep "pro" Abl ;
|
||||||
-- from_Prep = ss "from" ;
|
from_Prep = mkPrep "de" Abl ;
|
||||||
-- he_Pron = mkPron "he" "him" "his" "his" Sg P3 Masc ;
|
he_Pron = personalPronoun Masc Sg P3 ;
|
||||||
-- here_Adv = ss "here" ;
|
here_Adv = ss "hic" ;
|
||||||
-- here7to_Adv = ss ["to here"] ;
|
-- here7to_Adv = ss ["to here"] ;
|
||||||
-- here7from_Adv = ss ["from here"] ;
|
-- here7from_Adv = ss ["from here"] ;
|
||||||
-- how_IAdv = ss "how" ;
|
-- how_IAdv = ss "how" ;
|
||||||
-- how8many_IDet = mkDeterminer Pl ["how many"] ;
|
-- how8many_IDet = mkDeterminer Pl ["how many"] ;
|
||||||
-- if_Subj = ss "if" ;
|
-- if_Subj = ss "if" ;
|
||||||
-- in8front_Prep = ss ["in front of"] ;
|
in8front_Prep = mkPrep "coram" Abl ;
|
||||||
i_Pron = personalPronoun Fem Sg P1 ;
|
i_Pron = personalPronoun Masc Sg P1 ;
|
||||||
-- in_Prep = ss "in" ;
|
in_Prep = mkPrep "in" Abl ;
|
||||||
-- it_Pron = mkPron "it" "it" "its" "its" Sg P3 Neutr ;
|
it_Pron = personalPronoun Neutr Sg P3 ;
|
||||||
-- less_CAdv = ss "less" ;
|
-- less_CAdv = ss "less" ;
|
||||||
-- many_Det = mkDeterminer Pl "many" ;
|
-- many_Det = mkDeterminer Pl "many" ;
|
||||||
-- more_CAdv = ss "more" ;
|
-- more_CAdv = ss "more" ;
|
||||||
@@ -72,37 +72,37 @@ concrete StructuralLat of Structural = CatLat **
|
|||||||
-- isAux = True
|
-- isAux = True
|
||||||
-- } ;
|
-- } ;
|
||||||
-----b no_Phr = ss "no" ;
|
-----b no_Phr = ss "no" ;
|
||||||
-- no_Utt = ss "no" ;
|
no_Utt = ss "non" ;
|
||||||
-- on_Prep = ss "on" ;
|
-- on_Prep = ss "on" ;
|
||||||
------ one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED
|
------ one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED
|
||||||
-- only_Predet = ss "only" ;
|
only_Predet = ss "tantum" ;
|
||||||
-- or_Conj = sd2 [] "or" ** {n = Sg} ;
|
-- or_Conj = sd2 [] "or" ** {n = Sg} ;
|
||||||
-- otherwise_PConj = ss "otherwise" ;
|
-- otherwise_PConj = ss "otherwise" ;
|
||||||
-- part_Prep = ss "of" ;
|
part_Prep = mkPrep [] Gen ;
|
||||||
-- please_Voc = ss "please" ;
|
-- please_Voc = ss "please" ;
|
||||||
-- possess_Prep = ss "of" ;
|
possess_Prep = mkPrep [] Gen ;
|
||||||
-- quite_Adv = ss "quite" ;
|
-- quite_Adv = ss "quite" ;
|
||||||
-- she_Pron = mkPron "she" "her" "her" "hers" Sg P3 Fem ;
|
she_Pron = personalPronoun Fem Sg P3 ;
|
||||||
-- so_AdA = ss "so" ;
|
so_AdA = ss "sic" ;
|
||||||
-- somebody_NP = regNP "somebody" Sg ;
|
-- somebody_NP = regNP "somebody" Sg ;
|
||||||
-- someSg_Det = mkDeterminer Sg "some" ;
|
-- someSg_Det = mkDeterminer Sg "some" ;
|
||||||
-- somePl_Det = mkDeterminer Pl "some" ;
|
-- somePl_Det = mkDeterminer Pl "some" ;
|
||||||
-- something_NP = regNP "something" Sg ;
|
-- something_NP = regNP "something" Sg ;
|
||||||
-- somewhere_Adv = ss "somewhere" ;
|
-- somewhere_Adv = ss "somewhere" ;
|
||||||
-- that_Quant = mkQuant "that" "those" ;
|
that_Quant = ille_Quantifier ;
|
||||||
-- there_Adv = ss "there" ;
|
-- there_Adv = ss "there" ;
|
||||||
-- there7to_Adv = ss "there" ;
|
-- there7to_Adv = ss "there" ;
|
||||||
-- there7from_Adv = ss ["from there"] ;
|
-- there7from_Adv = ss ["from there"] ;
|
||||||
-- therefore_PConj = ss "therefore" ;
|
-- therefore_PConj = ss "therefore" ;
|
||||||
-- they_Pron = mkPron "they" "them" "their" "theirs" Pl P3 Masc ; ----
|
they_Pron = personalPronoun Masc Pl P3 ;
|
||||||
this_Quant = hic_Quantifier ;
|
this_Quant = hic_Quantifier ;
|
||||||
-- through_Prep = ss "through" ;
|
-- through_Prep = ss "through" ;
|
||||||
-- too_AdA = ss "too" ;
|
-- too_AdA = ss "too" ;
|
||||||
-- to_Prep = ss "to" ;
|
-- to_Prep = ss "to" ;
|
||||||
-- under_Prep = ss "under" ;
|
under_Prep = mkPrep "sub" Acc ;
|
||||||
very_AdA = ss "valde" ;
|
very_AdA = ss "valde" ;
|
||||||
-- want_VV = P.mkVV (P.regV "want") ;
|
-- want_VV = P.mkVV (P.regV "want") ;
|
||||||
-- we_Pron = mkPron "we" "us" "our" "ours" Pl P1 Masc ;
|
we_Pron = personalPronoun Masc Pl P1 ;
|
||||||
-- whatPl_IP = mkIP "what" "what" "what's" Pl ;
|
-- whatPl_IP = mkIP "what" "what" "what's" Pl ;
|
||||||
-- whatSg_IP = mkIP "what" "what" "what's" Sg ;
|
-- whatSg_IP = mkIP "what" "what" "what's" Sg ;
|
||||||
-- when_IAdv = ss "when" ;
|
-- when_IAdv = ss "when" ;
|
||||||
@@ -114,19 +114,11 @@ concrete StructuralLat of Structural = CatLat **
|
|||||||
-- whoPl_IP = mkIP "who" "whom" "whose" Pl ;
|
-- whoPl_IP = mkIP "who" "whom" "whose" Pl ;
|
||||||
-- whoSg_IP = mkIP "who" "whom" "whose" Sg ;
|
-- whoSg_IP = mkIP "who" "whom" "whose" Sg ;
|
||||||
-- why_IAdv = ss "why" ;
|
-- why_IAdv = ss "why" ;
|
||||||
-- without_Prep = ss "without" ;
|
without_Prep = mkPrep "sine" Abl ;
|
||||||
-- with_Prep = ss "with" ;
|
with_Prep = mkPrep "cum" Abl ;
|
||||||
-----b yes_Phr = ss "yes" ;
|
yes_Utt = ss "sic" ;
|
||||||
-- yes_Utt = ss "yes" ;
|
youSg_Pron = personalPronoun Masc Sg P2 ;
|
||||||
youSg_Pron = personalPronoun Fem Sg P2 ;
|
youPl_Pron = personalPronoun Masc Pl P2 ;
|
||||||
-- youPl_Pron = mkPron "you" "you" "your" "yours" Pl P2 Masc ;
|
youPol_Pron = personalPronoun Masc Sg P2 ;
|
||||||
-- youPol_Pron = mkPron "you" "you" "your" "yours" Sg P2 Masc ;
|
|
||||||
--
|
|
||||||
--
|
|
||||||
--oper
|
|
||||||
-- mkQuant : Str -> Str -> {s,sp : Bool => Number => Str} = \x,y -> {
|
|
||||||
-- s,sp = \\_ => table Number [x ; y]
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,11 +32,11 @@ concrete VerbLat of Verb = CatLat ** open ResLat in {
|
|||||||
-- {c2 = vp.c2} ;
|
-- {c2 = vp.c2} ;
|
||||||
--
|
--
|
||||||
UseComp comp = insertAdj comp.s (predV esse_V) ;
|
UseComp comp = insertAdj comp.s (predV esse_V) ;
|
||||||
--
|
|
||||||
-- AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
|
AdvVP vp adv = insertObj adv.s vp ;
|
||||||
--
|
|
||||||
-- AdVVP adv vp = insertAdV adv.s vp ;
|
AdVVP adv vp = insertObj adv.s vp ;
|
||||||
--
|
|
||||||
-- ReflVP v = insertObjPre (\\a => v.c2 ++ reflPron ! a) v ;
|
-- ReflVP v = insertObjPre (\\a => v.c2 ++ reflPron ! a) v ;
|
||||||
--
|
--
|
||||||
-- PassV2 v = insertObj (\\_ => v.s ! VPPart) (predAux auxBe) ;
|
-- PassV2 v = insertObj (\\_ => v.s ! VPPart) (predAux auxBe) ;
|
||||||
|
|||||||
29
lib/next-resource/latin/notes.txt
Normal file
29
lib/next-resource/latin/notes.txt
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
Renaming on Mac:
|
||||||
|
|
||||||
|
for each in *Eng.gf ;
|
||||||
|
do
|
||||||
|
mv $each $(basename $each Eng.gf)Lat.gf
|
||||||
|
done
|
||||||
|
|
||||||
|
In-place change:
|
||||||
|
|
||||||
|
sed -e 's/Eng/Lat/g' -i *Lat.gf
|
||||||
|
|
||||||
|
Start with the following:
|
||||||
|
|
||||||
|
concrete GrammarLat of Grammar =
|
||||||
|
NounLat,
|
||||||
|
VerbLat,
|
||||||
|
AdjectiveLat,
|
||||||
|
-- AdverbLat,
|
||||||
|
-- NumeralLat,
|
||||||
|
SentenceLat,
|
||||||
|
-- QuestionLat,
|
||||||
|
-- RelativeLat,
|
||||||
|
-- ConjunctionLat,
|
||||||
|
-- PhraseLat,
|
||||||
|
TextX,
|
||||||
|
StructuralLat,
|
||||||
|
-- IdiomLat
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user