From ec4bc75a64dc23130fb3dd109ea241a992786061 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Wed, 18 Feb 2026 15:37:16 +0100 Subject: [PATCH] added irregular Scots verbs --- src/scots/AllSco.gf | 1 + src/scots/AllScoAbs.gf | 1 + src/scots/IrregSco.gf | 53 ++++++++++++++++++++++++++++++++++++++++ src/scots/IrregScoAbs.gf | 53 ++++++++++++++++++++++++++++++++++++++++ src/scots/LexiconSco.gf | 18 +++++++------- 5 files changed, 117 insertions(+), 9 deletions(-) create mode 100644 src/scots/IrregSco.gf create mode 100644 src/scots/IrregScoAbs.gf diff --git a/src/scots/AllSco.gf b/src/scots/AllSco.gf index ff87d024..03f2be4f 100644 --- a/src/scots/AllSco.gf +++ b/src/scots/AllSco.gf @@ -2,6 +2,7 @@ concrete AllSco of AllScoAbs = LangSco, + IrregSco - [burn_V, freeze_V], ExtendSco ** {} ; diff --git a/src/scots/AllScoAbs.gf b/src/scots/AllScoAbs.gf index b2d8fd84..2671579c 100644 --- a/src/scots/AllScoAbs.gf +++ b/src/scots/AllScoAbs.gf @@ -2,5 +2,6 @@ abstract AllScoAbs = Lang, + IrregScoAbs - [burn_V, freeze_V], Extend ** {} ; diff --git a/src/scots/IrregSco.gf b/src/scots/IrregSco.gf new file mode 100644 index 00000000..ebc7d679 --- /dev/null +++ b/src/scots/IrregSco.gf @@ -0,0 +1,53 @@ +concrete IrregSco of IrregScoAbs = CatSco ** open ParadigmsSco in { + +lin + acquent_V = mkV "acquent" "acquents" "acquentit" "acquent" "acquentin" ; + awe_V = mkV "awe" "awes" "aucht" "aucht" "awein" ; + beat_V = mkV "beat" "beats" "bate" "bate" "beatin" ; + bear_V = mkV "bear" "bears" "bure" "born" "bearin" ; + begin_V = mkV "begin" "begins" "begoud" "began" "beginin" ; + bend_V = mkV "bend" "bends" "bent" "bent" "bendin" ; + bid_V = mkV "bid" "bids" ("baud" | "bade") "bidden" "bidin" ; + bind_V = mkV "bind" "binds" "band" "bund" "bindin" ; + birrie_V = mkV "birrie" "birries" "birriet" "birriet" "birriein" ; + blaw_V = mkV "blaw" "blaws" "blew" "blawn" "blawin" ; + bluid_V = mkV "bluid" "bluids" "bled" "bled" "bluidin" ; + bide_V = mkV "bide" "bides" "bade" "bidden" "bidin" ; + bou_V = mkV "bou" "bous" "boud" "boud" "bouin" ; + burn_V = mkV "burn" "burns" "brunt" "brunt" "burnin" ; + buy_V = mkV "buy" "buys" "bocht" "bocht" "buyin" ; + byle_V = mkV "byle" "byles" "bylt" "bylt" "bylin" ; + can_V = mkV "can" "cans" "coud" "coud" "canin" ; + cast_V = mkV "cast" "casts" "cuist" "cuisten" "castin" ; + dee_V = mkV "dee" "dees" "dee'd" "dee'd" "deein" ; + ding_V = mkV "ding" "dings" "dang" "dung" "dingin" ; + draw_V = mkV "draw" "draws" "drew" "drawn" "drawin" ; + drink_V = mkV "drink" "drinks" "drank" ("drucken" | "drunken") "drinkin" ; + drive_V = mkV "drive" "drives" "druive" ("druive" | "driv") "drivin" ; + faw_V = mkV "faw" "faws" "fell" "fawn" "fawin" ; + fesh_V = mkV "fesh" "feshs" "fuish" "fuishen" "feshin" ; + find_V = mkV "find" "finds" "fand" "fund" "findin" ; + flee_V = mkV "flee" "flees" "flew" "flewen" "fleein" ; + fling_V = mkV "fling" "flings" "flang" "flung" "flingin" ; + forgit_V = mkV "forgit" "forgits" "forgat" "forgotten" "forgitin" ; + freeze_V = mkV "freeze" "freezes" "fruize" "frozen" "freezein" ; + gae_V = mkV "gae" "gaes" "gaed" ("gane" | "went") "gaein" ; + git_V = mkV "git" "gits" "gat" "gotten" "gitin" ; + greet_V = mkV "greet" "greets" "grat" "grutten" "greetin" ; + hae_V = mkV "hae" "haes" "haed" "haet" "hain" ; + hide_V = mkV "hide" "hides" "hade" "hidden" "hidin" | mkV "hide" "hides" "hod" "hodden" "hidin" ; + hit_V = mkV "hit" "hits" "hat" "hutten" "hitin" ; + lat_V = mkV "lat" "lats" "luit" "lutten" "latin" ; + leap_V = mkV "leap" "leaps" ("lap" | "lape") "luppen" "leapin" ; + mistak_V = mkV "mistak" "mistaks" "misteuk" "mistaen" "mistakin" ; + quit_V = mkV "quit" "quits" "quat" ("quat" | "quitten") "quitin" ; + read_V = mkV "read" "reads" "rade" ("read" | "readen") "readin" ; + rin_V = mkV "rin" "rins" "ran" "run" "rinin" ; + ride_V = mkV "ride" "rides" "rade" "ridden" "ridein" ; + shall_V = mkV "shall" "shalls" "shoud" "shoud" "shallin" ; + sweir_V = mkV "sweir" "sweirs" "swuire" "sworn" "sweirin" ; + tak_V = mkV "tak" "taks" "teuk" "taen" "takin" ; + thresh_V = mkV "thresh" "threshs" "thruish" "thruishen" "threshin" ; + write_V = mkV "write" "writes" "wrat" "written" "writein" ; + +} diff --git a/src/scots/IrregScoAbs.gf b/src/scots/IrregScoAbs.gf new file mode 100644 index 00000000..37ae0759 --- /dev/null +++ b/src/scots/IrregScoAbs.gf @@ -0,0 +1,53 @@ +abstract IrregScoAbs = Cat ** { + +fun + acquent_V : V ; + awe_V : V ; + beat_V : V ; + bear_V : V ; + begin_V : V ; + bend_V : V ; + bid_V : V ; + bind_V : V ; + birrie_V : V ; + blaw_V : V ; + bluid_V : V ; + bide_V : V ; + bou_V : V ; + burn_V : V ; + buy_V : V ; + byle_V : V ; + can_V : V ; + cast_V : V ; + dee_V : V ; + ding_V : V ; + draw_V : V ; + drink_V : V ; + drive_V : V ; + faw_V : V ; + fesh_V : V ; + find_V : V ; + flee_V : V ; + fling_V : V ; + forgit_V : V ; + freeze_V : V ; + gae_V : V ; + git_V : V ; + greet_V : V ; + hae_V : V ; + hide_V : V ; + hit_V : V ; + lat_V : V ; + leap_V : V ; + mistak_V : V ; + quit_V : V ; + read_V : V ; + rin_V : V ; + ride_V : V ; + shall_V : V ; + sweir_V : V ; + tak_V : V ; + thresh_V : V ; + write_V : V ; + +} diff --git a/src/scots/LexiconSco.gf b/src/scots/LexiconSco.gf index e6d6aee0..18650dbc 100644 --- a/src/scots/LexiconSco.gf +++ b/src/scots/LexiconSco.gf @@ -1,7 +1,7 @@ --# -path=.:prelude concrete LexiconSco of Lexicon = CatSco ** - open ParadigmsSco, Prelude in { + open ParadigmsSco, IrregSco, Prelude in { flags optimize=values ; @@ -39,7 +39,7 @@ lin brother_N2 = mkN2 (mkN masculine (mkN "brother")) (mkPrep "of") ; brown_A = regADeg "brown" ; butter_N = regN "butter" ; - buy_V2 = dirV2 (irregV "buy" "bought" "bought") ; + buy_V2 = dirV2 IrregSco.buy_V ; camera_N = regN "camera" ; cap_N = regN "cap" ; car_N = regN "car" ; @@ -67,7 +67,7 @@ lin doctor_N = mkN human (regN "doctor") ; dog_N = regN "dog" ; door_N = regN "door" ; - drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ; + drink_V2 = mkV2 IrregSco.drink_V ; easy_A2V = mkA2V (regA "easy") forP ; eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ; empty_A = regADeg "empty" ; @@ -75,7 +75,7 @@ lin factory_N = regN "factory" ; father_N2 = mkN2 (mkN masculine (mkN "father")) (mkPrep "of") ; fear_VS = mkVS (regV "fear") ; - find_V2 = dirV2 (irregV "find" "found" "found") ; + find_V2 = dirV2 IrregSco.find_V ; fish_N = mk2N "fish" "fish" ; floor_N = regN "floor" ; forget_V2 = dirV2 (irregDuplV "forget" "forgot" "forgotten") ; @@ -146,7 +146,7 @@ lin queen_N = mkN feminine (regN "queen") ; radio_N = regN "radio" ; rain_V0 = mkV0 (regV "rain") ; - read_V2 = dirV2 (irregV "read" "read" "read") ; + read_V2 = dirV2 IrregSco.read_V ; red_A = duplADeg "red" ; religion_N = regN "religion" ; restaurant_N = regN "restaurant" ; @@ -213,7 +213,7 @@ lin woman_N = mkN feminine (mk2N "woman" "women") ; wonder_VQ = mkVQ (mkV "wonder" "wondered") ; wood_N = regN "wood" ; - write_V2 = dirV2 (irregV "write" "wrote" "written") ; + write_V2 = dirV2 IrregSco.write_V ; yellow_A = mkA "yellow" ; young_A = regADeg "young" ; @@ -306,15 +306,15 @@ lin wing_N = regN "wing" ; worm_N = regN "worm" ; year_N = regN "year" ; --- blow_V = IrregEng.blow_V ; +-- blow_V = IrregSco.blow_V ; breathe_V = dirV2 (regV "breathe") ; --- burn_V = IrregEng.burn_V ; + burn_V = IrregSco.burn_V ; -- dig_V = IrregEng.dig_V ; -- fall_V = IrregEng.fall_V ; float_V = regV "float" ; flow_V = regV "flow" ; -- fly_V = IrregEng.fly_V ; --- freeze_V = IrregEng.freeze_V ; + freeze_V = IrregSco.freeze_V ; -- give_V3 = mkV3 give_V noPrep noPrep ; laugh_V = regV "laugh" ; -- lie_V = IrregEng.lie_V ;