diff --git a/lib/next-resource/latin/AdverbLat.gf b/lib/next-resource/latin/AdverbLat.gf index b7f4e5ff1..4d5232431 100644 --- a/lib/next-resource/latin/AdverbLat.gf +++ b/lib/next-resource/latin/AdverbLat.gf @@ -1,6 +1,6 @@ ---concrete AdverbLat of Adverb = CatLat ** open ResLat, Prelude in { --- --- lin +concrete AdverbLat of Adverb = CatLat ** open ResLat, Prelude in { + + lin -- PositAdvAdj a = {s = a.s ! AAdv} ; -- ComparAdvAdj cadv a np = { -- s = cadv.s ++ a.s ! AAdv ++ "than" ++ np.s ! Nom @@ -8,9 +8,9 @@ -- ComparAdvAdjS cadv a 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 ; -- -- SubjS = cc2 ; diff --git a/lib/next-resource/latin/CatLat.gf b/lib/next-resource/latin/CatLat.gf index eb8868f7a..5b7f32e9a 100644 --- a/lib/next-resource/latin/CatLat.gf +++ b/lib/next-resource/latin/CatLat.gf @@ -63,11 +63,9 @@ concrete CatLat of Cat = CommonX ** open ResLat, Prelude in { -- ---- Structural -- --- Conj = {s1,s2 : Str ; n : Number} ; ------b Conj = {s : Str ; n : Number} ; ------b DConj = {s1,s2 : Str ; n : Number} ; + Conj = {s1,s2 : Str ; n : Number} ; -- Subj = {s : Str} ; --- Prep = {s : Str} ; + Prep = {s : Str ; c : Case} ; -- ---- Open lexical classes, e.g. Lexicon @@ -85,6 +83,6 @@ concrete CatLat of Cat = CommonX ** open ResLat, Prelude in { N = Noun ; -- N2 = {s : Number => Case => Str ; g : Gender} ** {c2 : Str} ; -- N3 = {s : Number => Case => Str ; g : Gender} ** {c2,c3 : Str} ; --- PN = {s : Case => Str ; g : Gender} ; + PN = {s : Case => Str ; g : Gender} ; -- } diff --git a/lib/next-resource/latin/LexiconLat.gf b/lib/next-resource/latin/LexiconLat.gf index 3e0863e63..4c0fc16a3 100644 --- a/lib/next-resource/latin/LexiconLat.gf +++ b/lib/next-resource/latin/LexiconLat.gf @@ -9,105 +9,105 @@ flags optimize=values ; lin --- airplane_N = regN "airplane" ; +-- airplane_N = mkN "airplane" ; -- answer_V2S = mkV2S (regV "answer") toP ; --- apartment_N = regN "apartment" ; --- apple_N = regN "apple" ; --- art_N = regN "art" ; +-- apartment_N = mkN "apartment" ; +-- apple_N = mkN "apple" ; + art_N = mkN "ars" ; -- ask_V2Q = mkV2Q (regV "ask") noPrep ; --- baby_N = regN "baby" ; --- bad_A = mkADeg "bad" "worse" "worst" "badly" ; --- bank_N = regN "bank" ; --- beautiful_A = compoundADeg (regA "beautiful") ; + baby_N = mkN "infans" ; + bad_A = mkA "malus" ; +-- bank_N = mkN "bank" ; + beautiful_A = mkA "pulcher" ; -- become_VA = mkVA (irregV "become" "became" "become") ; --- beer_N = regN "beer" ; + beer_N = mkN "cerevisia" ; -- beg_V2V = mkV2V (regDuplV "beg") noPrep toP ; --- big_A = duplADeg "big" ; --- bike_N = regN "bike" ; --- bird_N = regN "bird" ; --- black_A = regADeg "black" ; + big_A = mkA "magnus" ; +-- bike_N = mkN "bike" ; + bird_N = mkN "avis" "avis" masculine ; + black_A = mkA "niger" ; -- blue_A = regADeg "blue" ; --- boat_N = regN "boat" ; --- book_N = regN "book" ; --- boot_N = regN "boot" ; --- boss_N = mkN human (regN "boss") ; --- boy_N = mkN masculine (regN "boy") ; --- bread_N = regN "bread" ; --- break_V2 = dirV2 (irregV "break" "broke" "broken") ; +-- boat_N = mkN "boat" ; + book_N = mkN "liber" ; +-- boot_N = mkN "boot" ; +-- boss_N = mkN human (mkN "boss") ; + boy_N = mkN "liber" ; + bread_N = mkN "panis" "panis" masculine ; + break_V2 = mkV2 (mkV "rumpo" "rupi" "ruptum" "rumpere") ; -- broad_A = regADeg "broad" ; -- brother_N2 = mkN2 (mkN masculine (mkN "brother")) (mkPrep "of") ; -- brown_A = regADeg "brown" ; --- butter_N = regN "butter" ; +-- butter_N = mkN "butter" ; -- buy_V2 = dirV2 (irregV "buy" "bought" "bought") ; --- camera_N = regN "camera" ; --- cap_N = regN "cap" ; --- car_N = regN "car" ; --- carpet_N = regN "carpet" ; --- cat_N = regN "cat" ; --- ceiling_N = regN "ceiling" ; --- chair_N = regN "chair" ; --- cheese_N = regN "cheese" ; +-- camera_N = mkN "camera" ; +-- cap_N = mkN "cap" ; +-- car_N = mkN "car" ; +-- carpet_N = mkN "carpet" ; + cat_N = mkN "felis" ; +-- ceiling_N = mkN "ceiling" ; +-- chair_N = mkN "chair" ; +-- cheese_N = mkN "cheese" ; -- child_N = mk2N "child" "children" ; --- church_N = regN "church" ; --- city_N = regN "city" ; +-- church_N = mkN "church" ; + city_N = mkN "urbs" "urbis" feminine ; -- clean_A = regADeg "clean" ; -- clever_A = regADeg "clever" ; -- close_V2 = dirV2 (regV "close") ; --- coat_N = regN "coat" ; +-- coat_N = mkN "coat" ; -- cold_A = regADeg "cold" ; -- come_V = (irregV "come" "came" "come") ; --- computer_N = regN "computer" ; --- country_N = regN "country" ; --- cousin_N = mkN human (regN "cousin") ; --- cow_N = regN "cow" ; +-- computer_N = mkN "computer" ; +-- country_N = mkN "country" ; +-- cousin_N = mkN human (mkN "cousin") ; +-- cow_N = mkN "cow" ; -- die_V = (regV "die") ; -- dirty_A = regADeg "dirty" ; --- distance_N3 = mkN3 (regN "distance") fromP toP ; --- doctor_N = mkN human (regN "doctor") ; --- dog_N = regN "dog" ; --- door_N = regN "door" ; +-- distance_N3 = mkN3 (mkN "distance") fromP toP ; +-- doctor_N = mkN human (mkN "doctor") ; +-- dog_N = mkN "dog" ; +-- door_N = mkN "door" ; -- drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ; -- easy_A2V = mkA2V (regA "easy") forP ; -- eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ; -- empty_A = regADeg "empty" ; --- enemy_N = regN "enemy" ; --- factory_N = regN "factory" ; +-- enemy_N = mkN "enemy" ; +-- factory_N = mkN "factory" ; -- father_N2 = mkN2 (mkN masculine (mkN "father")) (mkPrep "of") ; -- fear_VS = mkVS (regV "fear") ; -- find_V2 = dirV2 (irregV "find" "found" "found") ; -- fish_N = mk2N "fish" "fish" ; --- floor_N = regN "floor" ; +-- floor_N = mkN "floor" ; -- forget_V2 = dirV2 (irregDuplV "forget" "forgot" "forgotten") ; --- fridge_N = regN "fridge" ; --- friend_N = mkN human (regN "friend") ; --- fruit_N = regN "fruit" ; +-- fridge_N = mkN "fridge" ; +-- friend_N = mkN human (mkN "friend") ; +-- fruit_N = mkN "fruit" ; -- fun_AV = mkAV (regA "fun") ; --- garden_N = regN "garden" ; --- girl_N = mkN feminine (regN "girl") ; --- glove_N = regN "glove" ; +-- garden_N = mkN "garden" ; +-- girl_N = mkN feminine (mkN "girl") ; +-- glove_N = mkN "glove" ; gold_N = mkN "aurum" ; good_A = mkA "bonus" ; -- go_V = mk5V "go" "goes" "went" "gone" "going" ; -- green_A = regADeg "green" ; --- harbour_N = regN "harbour" ; +-- harbour_N = mkN "harbour" ; -- hate_V2 = dirV2 (regV "hate") ; --- hat_N = regN "hat" ; +-- hat_N = mkN "hat" ; -- have_V2 = dirV2 (mk5V "have" "has" "had" "had" "having") ; -- hear_V2 = dirV2 (irregV "hear" "heard" "heard") ; --- hill_N = regN "hill" ; +-- hill_N = mkN "hill" ; -- hope_VS = mkVS (regV "hope") ; --- horse_N = regN "horse" ; +-- horse_N = mkN "horse" ; -- hot_A = duplADeg "hot" ; --- house_N = regN "house" ; +-- house_N = mkN "house" ; -- important_A = compoundADeg (regA "important") ; --- industry_N = regN "industry" ; --- iron_N = regN "iron" ; --- king_N = mkN masculine (regN "king") ; +-- industry_N = mkN "industry" ; +-- iron_N = mkN "iron" ; +-- king_N = mkN masculine (mkN "king") ; -- know_V2 = dirV2 (irregV "know" "knew" "known") ; --- lake_N = regN "lake" ; --- lamp_N = regN "lamp" ; +-- lake_N = mkN "lake" ; +-- lamp_N = mkN "lamp" ; -- learn_V2 = dirV2 (regV "learn") ; --- leather_N = regN "leather" ; +-- leather_N = mkN "leather" ; -- leave_V2 = dirV2 (irregV "leave" "left" "left") ; -- like_V2 = dirV2 (regV "like") ; -- listen_V2 = prepV2 (regV "listen") toP ; @@ -118,99 +118,99 @@ lin love_V2 = mkV2 "amare" ; -- man_N = mkN masculine (mk2N "man" "men") ; -- married_A2 = mkA2 (regA "married") toP ; --- meat_N = regN "meat" ; --- milk_N = regN "milk" ; --- moon_N = regN "moon" ; +-- meat_N = mkN "meat" ; +-- milk_N = mkN "milk" ; +-- moon_N = mkN "moon" ; -- mother_N2 = mkN2 (mkN feminine (mkN "mother")) (mkPrep "of") ; --- mountain_N = regN "mountain" ; --- music_N = regN "music" ; +-- mountain_N = mkN "mountain" ; +-- music_N = mkN "music" ; -- narrow_A = regADeg "narrow" ; -- new_A = regADeg "new" ; --- newspaper_N = regN "newspaper" ; --- oil_N = regN "oil" ; +-- newspaper_N = mkN "newspaper" ; +-- oil_N = mkN "oil" ; -- old_A = regADeg "old" ; -- open_V2 = dirV2 (regV "open") ; -- paint_V2A = mkV2A (regV "paint") noPrep ; --- paper_N = regN "paper" ; +-- paper_N = mkN "paper" ; -- paris_PN = mkPN (mkN nonhuman (mkN "Paris")) ; --- peace_N = regN "peace" ; --- pen_N = regN "pen" ; --- planet_N = regN "planet" ; --- plastic_N = regN "plastic" ; +-- peace_N = mkN "peace" ; +-- pen_N = mkN "pen" ; +-- planet_N = mkN "planet" ; +-- plastic_N = mkN "plastic" ; -- play_V2 = dirV2 (regV "play") ; -- policeman_N = mkN masculine (mkN "policeman" "policemen") ; --- priest_N = mkN human (regN "priest") ; +-- priest_N = mkN human (mkN "priest") ; -- probable_AS = mkAS (regA "probable") ; --- queen_N = mkN feminine (regN "queen") ; --- radio_N = regN "radio" ; +-- queen_N = mkN feminine (mkN "queen") ; +-- radio_N = mkN "radio" ; -- rain_V0 = mkV0 (regV "rain") ; -- read_V2 = dirV2 (irregV "read" "read" "read") ; -- red_A = duplADeg "red" ; --- religion_N = regN "religion" ; --- restaurant_N = regN "restaurant" ; --- river_N = regN "river" ; --- rock_N = regN "rock" ; --- roof_N = regN "roof" ; --- rubber_N = regN "rubber" ; +-- religion_N = mkN "religion" ; +-- restaurant_N = mkN "restaurant" ; +-- river_N = mkN "river" ; +-- rock_N = mkN "rock" ; +-- roof_N = mkN "roof" ; +-- rubber_N = mkN "rubber" ; -- run_V = (irregDuplV "run" "ran" "run") ; -- say_VS = mkVS (irregV "say" "said" "said") ; --- school_N = regN "school" ; --- science_N = regN "science" ; --- sea_N = regN "sea" ; +-- school_N = mkN "school" ; +-- science_N = mkN "science" ; +-- sea_N = mkN "sea" ; -- seek_V2 = dirV2 (irregV "seek" "sought" "sought") ; -- see_V2 = dirV2 (irregV "see" "saw" "seen") ; -- sell_V3 = dirV3 (irregV "sell" "sold" "sold") toP ; -- send_V3 = dirV3 (irregV "send" "sent" "sent") toP ; -- sheep_N = mk2N "sheep" "sheep" ; --- ship_N = regN "ship" ; --- shirt_N = regN "shirt" ; --- shoe_N = regN "shoe" ; --- shop_N = regN "shop" ; +-- ship_N = mkN "ship" ; +-- shirt_N = mkN "shirt" ; +-- shoe_N = mkN "shoe" ; +-- shop_N = mkN "shop" ; -- short_A = regADeg "short" ; --- silver_N = regN "silver" ; +-- silver_N = mkN "silver" ; -- sister_N = mkN2 (mkN feminine (mkN "sister")) (mkPrep "of") ; sleep_V = mkV "dormio" "dormivi" "dormitus" "dormire" ; -- small_A = regADeg "small" ; --- snake_N = regN "snake" ; --- sock_N = regN "sock" ; +-- snake_N = mkN "snake" ; +-- sock_N = mkN "sock" ; -- speak_V2 = dirV2 (irregV "speak" "spoke" "spoken") ; --- star_N = regN "star" ; --- steel_N = regN "steel" ; --- stone_N = regN "stone" ; --- stove_N = regN "stove" ; --- student_N = mkN human (regN "student") ; +-- star_N = mkN "star" ; +-- steel_N = mkN "steel" ; +-- stone_N = mkN "stone" ; +-- stove_N = mkN "stove" ; +-- student_N = mkN human (mkN "student") ; -- stupid_A = regADeg "stupid" ; --- sun_N = regN "sun" ; +-- sun_N = mkN "sun" ; -- switch8off_V2 = dirV2 (partV (regV "switch") "off") ; -- switch8on_V2 = dirV2 (partV (regV "switch") "on") ; --- table_N = regN "table" ; +-- table_N = mkN "table" ; -- 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") ; --- television_N = regN "television" ; +-- television_N = mkN "television" ; -- thick_A = regADeg "thick" ; -- thin_A = duplADeg "thin" ; --- train_N = regN "train" ; +-- train_N = mkN "train" ; -- travel_V = (regDuplV "travel") ; --- tree_N = regN "tree" ; --- ---- trousers_N = regN "trousers" ; +-- tree_N = mkN "tree" ; +-- ---- trousers_N = mkN "trousers" ; -- ugly_A = regADeg "ugly" ; -- understand_V2 = dirV2 (irregV "understand" "understood" "understood") ; --- university_N = regN "university" ; --- village_N = regN "village" ; +-- university_N = mkN "university" ; +-- village_N = mkN "village" ; -- wait_V2 = prepV2 (regV "wait") forP ; -- walk_V = (regV "walk") ; -- warm_A = regADeg "warm" ; --- war_N = regN "war" ; +-- war_N = mkN "war" ; -- watch_V2 = dirV2 (regV "watch") ; --- water_N = regN "water" ; +-- water_N = mkN "water" ; -- white_A = regADeg "white" ; --- window_N = regN "window" ; --- wine_N = regN "wine" ; +-- window_N = mkN "window" ; +-- wine_N = mkN "wine" ; -- win_V2 = dirV2 (irregDuplV "win" "won" "won") ; -- woman_N = mkN feminine (mk2N "woman" "women") ; -- wonder_VQ = mkVQ (regV "wonder") ; --- wood_N = regN "wood" ; +-- wood_N = mkN "wood" ; -- write_V2 = dirV2 (irregV "write" "wrote" "written") ; -- yellow_A = regADeg "yellow" ; -- young_A = regADeg "young" ; @@ -218,9 +218,9 @@ lin -- do_V2 = dirV2 (mk5V "do" "does" "did" "done" "doing") ; -- now_Adv = mkAdv "now" ; -- already_Adv = mkAdv "already" ; --- song_N = regN "song" ; +-- song_N = mkN "song" ; -- add_V3 = dirV3 (regV "add") toP ; --- number_N = regN "number" ; +-- number_N = mkN "number" ; -- put_V2 = prepV2 (irregDuplV "put" "put" "put") noPrep ; -- stop_V = regDuplV "stop" ; -- jump_V = regV "jump" ; @@ -241,69 +241,69 @@ lin -- straight_A = regA "straight" ; -- wet_A = regA "wet" ; ---- -- wide_A = regA "wide" ; --- animal_N = regN "animal" ; --- ashes_N = regN "ash" ; -- FIXME: plural only? --- back_N = regN "back" ; --- bark_N = regN "bark" ; --- belly_N = regN "belly" ; --- blood_N = regN "blood" ; --- bone_N = regN "bone" ; --- breast_N = regN "breast" ; --- cloud_N = regN "cloud" ; --- day_N = regN "day" ; --- dust_N = regN "dust" ; --- ear_N = regN "ear" ; --- earth_N = regN "earth" ; --- egg_N = regN "egg" ; --- eye_N = regN "eye" ; --- fat_N = regN "fat" ; --- feather_N = regN "feather" ; --- fingernail_N = regN "fingernail" ; --- fire_N = regN "fire" ; --- flower_N = regN "flower" ; --- fog_N = regN "fog" ; +-- animal_N = mkN "animal" ; +-- ashes_N = mkN "ash" ; -- FIXME: plural only? +-- back_N = mkN "back" ; +-- bark_N = mkN "bark" ; +-- belly_N = mkN "belly" ; +-- blood_N = mkN "blood" ; +-- bone_N = mkN "bone" ; +-- breast_N = mkN "breast" ; +-- cloud_N = mkN "cloud" ; +-- day_N = mkN "day" ; +-- dust_N = mkN "dust" ; +-- ear_N = mkN "ear" ; +-- earth_N = mkN "earth" ; +-- egg_N = mkN "egg" ; +-- eye_N = mkN "eye" ; +-- fat_N = mkN "fat" ; +-- feather_N = mkN "feather" ; +-- fingernail_N = mkN "fingernail" ; +-- fire_N = mkN "fire" ; +-- flower_N = mkN "flower" ; +-- fog_N = mkN "fog" ; -- foot_N = mk2N "foot" "feet" ; --- forest_N = regN "forest" ; --- grass_N = regN "grass" ; --- guts_N = regN "gut" ; -- FIXME: no singular --- hair_N = regN "hair" ; --- hand_N = regN "hand" ; --- head_N = regN "head" ; --- heart_N = regN "heart" ; --- horn_N = regN "horn" ; --- husband_N = mkN masculine (regN "husband") ; --- ice_N = regN "ice" ; --- knee_N = regN "knee" ; +-- forest_N = mkN "forest" ; +-- grass_N = mkN "grass" ; +-- guts_N = mkN "gut" ; -- FIXME: no singular +-- hair_N = mkN "hair" ; +-- hand_N = mkN "hand" ; +-- head_N = mkN "head" ; +-- heart_N = mkN "heart" ; +-- horn_N = mkN "horn" ; +-- husband_N = mkN masculine (mkN "husband") ; +-- ice_N = mkN "ice" ; +-- knee_N = mkN "knee" ; -- leaf_N = mk2N "leaf" "leaves" ; --- leg_N = regN "leg" ; --- liver_N = regN "liver" ; +-- leg_N = mkN "leg" ; +-- liver_N = mkN "liver" ; -- louse_N = mk2N "louse" "lice" ; --- mouth_N = regN "mouth" ; --- name_N = regN "name" ; --- neck_N = regN "neck" ; --- night_N = regN "night" ; --- nose_N = regN "nose" ; --- person_N = mkN human (regN "person") ; --- rain_N = regN "rain" ; --- road_N = regN "road" ; --- root_N = regN "root" ; --- rope_N = regN "rope" ; --- salt_N = regN "salt" ; --- sand_N = regN "sand" ; --- seed_N = regN "seed" ; --- skin_N = regN "skin" ; --- sky_N = regN "sky" ; --- smoke_N = regN "smoke" ; --- snow_N = regN "snow" ; --- stick_N = regN "stick" ; --- tail_N = regN "tail" ; --- tongue_N = regN "tongue" ; +-- mouth_N = mkN "mouth" ; +-- name_N = mkN "name" ; +-- neck_N = mkN "neck" ; +-- night_N = mkN "night" ; +-- nose_N = mkN "nose" ; +-- person_N = mkN human (mkN "person") ; +-- rain_N = mkN "rain" ; +-- road_N = mkN "road" ; +-- root_N = mkN "root" ; +-- rope_N = mkN "rope" ; +-- salt_N = mkN "salt" ; +-- sand_N = mkN "sand" ; +-- seed_N = mkN "seed" ; +-- skin_N = mkN "skin" ; +-- sky_N = mkN "sky" ; +-- smoke_N = mkN "smoke" ; +-- snow_N = mkN "snow" ; +-- stick_N = mkN "stick" ; +-- tail_N = mkN "tail" ; +-- tongue_N = mkN "tongue" ; -- tooth_N = mk2N "tooth" "teeth" ; -- wife_N = mkN feminine (mk2N "wife" "wives") ; --- wind_N = regN "wind" ; --- wing_N = regN "wing" ; --- worm_N = regN "worm" ; --- year_N = regN "year" ; +-- wind_N = mkN "wind" ; +-- wing_N = mkN "wing" ; +-- worm_N = mkN "worm" ; +-- year_N = mkN "year" ; -- blow_V = IrregLat.blow_V ; -- breathe_V = dirV2 (regV "breathe") ; -- burn_V = IrregLat.burn_V ; @@ -353,15 +353,15 @@ lin -- ---- other_A = regA "other" ; -- --- grammar_N = regN "grammar" ; --- language_N = regN "language" ; --- rule_N = regN "rule" ; +-- grammar_N = mkN "grammar" ; +-- language_N = mkN "language" ; +-- rule_N = mkN "rule" ; -- ---- added 4/6/2007 -- john_PN = mkPN (mkN masculine (mkN "John")) ; --- question_N = regN "question" ; +-- question_N = mkN "question" ; -- ready_A = regA "ready" ; --- reason_N = regN "reason" ; +-- reason_N = mkN "reason" ; -- today_Adv = mkAdv "today" ; -- uncertain_A = regA "uncertain" ; -- diff --git a/lib/next-resource/latin/NounLat.gf b/lib/next-resource/latin/NounLat.gf index 896aaee3e..01eb80a25 100644 --- a/lib/next-resource/latin/NounLat.gf +++ b/lib/next-resource/latin/NounLat.gf @@ -43,11 +43,11 @@ concrete NounLat of Noun = CatLat ** open ResLat, Prelude in { n = num.n } ; --- DetNP det = { --- s = \\c => det.sp ; ---- case --- a = agrP3 det.n --- } ; --- + DetNP det = { + s = det.sp ! Neutr ; + g = Neutr ; n = det.n ; p = P3 + } ; + -- PossPron p = { -- s = \\_,_ => p.s ! Gen ; -- 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} ; -- -- OrdSuperl a = {s = a.s ! AAdj Superl} ; --- --- DefArt = { --- s = \\c,n => artDef ; --- sp = \\c,n => case of { --- => "it" ; --- => "they" ; --- _ => artDef --- } --- } ; --- + + DefArt = { + s = \\_,_,_ => [] ; + sp = \\n,g => (personalPronoun g n P3).s + } ; + -- IndefArt = { -- s = \\c,n => case of { -- => artIndef ; @@ -116,17 +112,19 @@ concrete NounLat of Noun = CatLat ** open ResLat, Prelude in { -- g = f.g ; -- c2 = f.c3 -- } ; --- --- AdjCN ap cn = { --- s = \\n,c => preOrPost ap.isPre (ap.s ! agrgP3 n cn.g) (cn.s ! n ! c) ; --- g = cn.g --- } ; + + AdjCN ap cn = { + s = \\n,c => preOrPost ap.isPre (ap.s ! cn.g ! n ! c) (cn.s ! n ! c) ; + g = cn.g + } ; + -- RelCN cn rs = { -- s = \\n,c => cn.s ! n ! c ++ rs.s ! agrgP3 n 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} ; -- -- ApposCN cn np = {s = \\n,c => cn.s ! n ! Nom ++ np.s ! c ; g = cn.g} ; diff --git a/lib/next-resource/latin/ResLat.gf b/lib/next-resource/latin/ResLat.gf index 99ae5c3e4..fd66e8cfb 100644 --- a/lib/next-resource/latin/ResLat.gf +++ b/lib/next-resource/latin/ResLat.gf @@ -550,9 +550,21 @@ oper (mkQuantifG "hic" "hunc" "huius" "huic" "hoc" "haec" "hanc" "huius" "hac" "hoc" "huius" "hoc") (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} ; } diff --git a/lib/next-resource/latin/ResLatin.gf b/lib/next-resource/latin/ResLatin.gf deleted file mode 100644 index ec40269d8..000000000 --- a/lib/next-resource/latin/ResLatin.gf +++ /dev/null @@ -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 => ; - _ => - } ; - 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 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 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 - => pronForms "is" "eum" "eius" "ei" "eo" ; - => pronForms "ea" "eam" "eius" "ei" "ea" ; - => pronForms "id" "id" "eius" "ei" "eo" ; - => pronForms "ii" "eos" "eorum" "iis" "iis" ; - => pronForms "ii" "eas" "earum" "iis" "iis" ; - => pronForms "ea" "ea" "eorum" "iis" "iis" - } ; - g = g ; - n = n ; - p = p - } ; - -} diff --git a/lib/next-resource/latin/StructuralLat.gf b/lib/next-resource/latin/StructuralLat.gf index 1da0e796a..c112ee640 100644 --- a/lib/next-resource/latin/StructuralLat.gf +++ b/lib/next-resource/latin/StructuralLat.gf @@ -5,22 +5,22 @@ concrete StructuralLat of Structural = CatLat ** flags optimize=all ; lin --- above_Prep = ss "above" ; --- after_Prep = ss "after" ; + above_Prep = mkPrep "super" Acc ; + after_Prep = mkPrep "post" Acc ; -- all_Predet = ss "all" ; --- almost_AdA, almost_AdN = ss "almost" ; + almost_AdA, almost_AdN = ss "quasi" ; -- although_Subj = ss "although" ; --- always_AdV = ss "always" ; + always_AdV = ss "semper" ; -- and_Conj = sd2 [] "and" ** {n = Pl} ; -----b and_Conj = ss "and" ** {n = Pl} ; -- because_Subj = ss "because" ; --- before_Prep = ss "before" ; + before_Prep = mkPrep "ante" Acc ; -- behind_Prep = ss "behind" ; --- between_Prep = ss "between" ; + between_Prep = mkPrep "inter" Acc ; -- both7and_DConj = sd2 "both" "and" ** {n = Pl} ; --- but_PConj = ss "but" ; --- by8agent_Prep = ss "by" ; --- by8means_Prep = ss "by" ; + but_PConj = ss "sed" ; + by8agent_Prep = mkPrep "a" Abl ; + by8means_Prep = mkPrep "per" Acc ; -- can8know_VV, can_VV = { -- s = table { -- VVF VInf => ["be able to"] ; @@ -41,19 +41,19 @@ concrete StructuralLat of Structural = CatLat ** -- everywhere_Adv = ss "everywhere" ; -- few_Det = mkDeterminer Pl "few" ; ----- first_Ord = ss "first" ; DEPRECATED --- for_Prep = ss "for" ; --- from_Prep = ss "from" ; --- he_Pron = mkPron "he" "him" "his" "his" Sg P3 Masc ; --- here_Adv = ss "here" ; + for_Prep = mkPrep "pro" Abl ; + from_Prep = mkPrep "de" Abl ; + he_Pron = personalPronoun Masc Sg P3 ; + here_Adv = ss "hic" ; -- here7to_Adv = ss ["to here"] ; -- here7from_Adv = ss ["from here"] ; -- how_IAdv = ss "how" ; -- how8many_IDet = mkDeterminer Pl ["how many"] ; -- if_Subj = ss "if" ; --- in8front_Prep = ss ["in front of"] ; - i_Pron = personalPronoun Fem Sg P1 ; --- in_Prep = ss "in" ; --- it_Pron = mkPron "it" "it" "its" "its" Sg P3 Neutr ; + in8front_Prep = mkPrep "coram" Abl ; + i_Pron = personalPronoun Masc Sg P1 ; + in_Prep = mkPrep "in" Abl ; + it_Pron = personalPronoun Neutr Sg P3 ; -- less_CAdv = ss "less" ; -- many_Det = mkDeterminer Pl "many" ; -- more_CAdv = ss "more" ; @@ -72,37 +72,37 @@ concrete StructuralLat of Structural = CatLat ** -- isAux = True -- } ; -----b no_Phr = ss "no" ; --- no_Utt = ss "no" ; + no_Utt = ss "non" ; -- on_Prep = ss "on" ; ------ one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED --- only_Predet = ss "only" ; + only_Predet = ss "tantum" ; -- or_Conj = sd2 [] "or" ** {n = Sg} ; -- otherwise_PConj = ss "otherwise" ; --- part_Prep = ss "of" ; + part_Prep = mkPrep [] Gen ; -- please_Voc = ss "please" ; --- possess_Prep = ss "of" ; + possess_Prep = mkPrep [] Gen ; -- quite_Adv = ss "quite" ; --- she_Pron = mkPron "she" "her" "her" "hers" Sg P3 Fem ; --- so_AdA = ss "so" ; + she_Pron = personalPronoun Fem Sg P3 ; + so_AdA = ss "sic" ; -- somebody_NP = regNP "somebody" Sg ; -- someSg_Det = mkDeterminer Sg "some" ; -- somePl_Det = mkDeterminer Pl "some" ; -- something_NP = regNP "something" Sg ; -- somewhere_Adv = ss "somewhere" ; --- that_Quant = mkQuant "that" "those" ; + that_Quant = ille_Quantifier ; -- there_Adv = ss "there" ; -- there7to_Adv = ss "there" ; -- there7from_Adv = ss ["from there"] ; -- therefore_PConj = ss "therefore" ; --- they_Pron = mkPron "they" "them" "their" "theirs" Pl P3 Masc ; ---- + they_Pron = personalPronoun Masc Pl P3 ; this_Quant = hic_Quantifier ; -- through_Prep = ss "through" ; -- too_AdA = ss "too" ; -- to_Prep = ss "to" ; --- under_Prep = ss "under" ; + under_Prep = mkPrep "sub" Acc ; very_AdA = ss "valde" ; -- 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 ; -- whatSg_IP = mkIP "what" "what" "what's" Sg ; -- when_IAdv = ss "when" ; @@ -114,19 +114,11 @@ concrete StructuralLat of Structural = CatLat ** -- whoPl_IP = mkIP "who" "whom" "whose" Pl ; -- whoSg_IP = mkIP "who" "whom" "whose" Sg ; -- why_IAdv = ss "why" ; --- without_Prep = ss "without" ; --- with_Prep = ss "with" ; ------b yes_Phr = ss "yes" ; --- yes_Utt = ss "yes" ; - youSg_Pron = personalPronoun Fem Sg P2 ; --- youPl_Pron = mkPron "you" "you" "your" "yours" Pl P2 Masc ; --- 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] --- } ; --- + without_Prep = mkPrep "sine" Abl ; + with_Prep = mkPrep "cum" Abl ; + yes_Utt = ss "sic" ; + youSg_Pron = personalPronoun Masc Sg P2 ; + youPl_Pron = personalPronoun Masc Pl P2 ; + youPol_Pron = personalPronoun Masc Sg P2 ; } diff --git a/lib/next-resource/latin/VerbLat.gf b/lib/next-resource/latin/VerbLat.gf index 451963e96..29f970a4a 100644 --- a/lib/next-resource/latin/VerbLat.gf +++ b/lib/next-resource/latin/VerbLat.gf @@ -32,11 +32,11 @@ concrete VerbLat of Verb = CatLat ** open ResLat in { -- {c2 = vp.c2} ; -- UseComp comp = insertAdj comp.s (predV esse_V) ; --- --- AdvVP vp adv = insertObj (\\_ => adv.s) vp ; --- --- AdVVP adv vp = insertAdV adv.s vp ; --- + + AdvVP vp adv = insertObj adv.s vp ; + + AdVVP adv vp = insertObj adv.s vp ; + -- ReflVP v = insertObjPre (\\a => v.c2 ++ reflPron ! a) v ; -- -- PassV2 v = insertObj (\\_ => v.s ! VPPart) (predAux auxBe) ; diff --git a/lib/next-resource/latin/notes.txt b/lib/next-resource/latin/notes.txt new file mode 100644 index 000000000..cd9bd5705 --- /dev/null +++ b/lib/next-resource/latin/notes.txt @@ -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 + +