1
0
forked from GitHub/gf-rgl

added irregular Scots verbs

This commit is contained in:
Krasimir Angelov
2026-02-18 15:37:16 +01:00
parent dbe6eba30a
commit ec4bc75a64
5 changed files with 117 additions and 9 deletions

View File

@@ -2,6 +2,7 @@
concrete AllSco of AllScoAbs = concrete AllSco of AllScoAbs =
LangSco, LangSco,
IrregSco - [burn_V, freeze_V],
ExtendSco ExtendSco
** **
{} ; {} ;

View File

@@ -2,5 +2,6 @@
abstract AllScoAbs = abstract AllScoAbs =
Lang, Lang,
IrregScoAbs - [burn_V, freeze_V],
Extend Extend
** {} ; ** {} ;

53
src/scots/IrregSco.gf Normal file
View File

@@ -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" ;
}

53
src/scots/IrregScoAbs.gf Normal file
View File

@@ -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 ;
}

View File

@@ -1,7 +1,7 @@
--# -path=.:prelude --# -path=.:prelude
concrete LexiconSco of Lexicon = CatSco ** concrete LexiconSco of Lexicon = CatSco **
open ParadigmsSco, Prelude in { open ParadigmsSco, IrregSco, Prelude in {
flags flags
optimize=values ; optimize=values ;
@@ -39,7 +39,7 @@ lin
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 = regN "butter" ;
buy_V2 = dirV2 (irregV "buy" "bought" "bought") ; buy_V2 = dirV2 IrregSco.buy_V ;
camera_N = regN "camera" ; camera_N = regN "camera" ;
cap_N = regN "cap" ; cap_N = regN "cap" ;
car_N = regN "car" ; car_N = regN "car" ;
@@ -67,7 +67,7 @@ lin
doctor_N = mkN human (regN "doctor") ; doctor_N = mkN human (regN "doctor") ;
dog_N = regN "dog" ; dog_N = regN "dog" ;
door_N = regN "door" ; door_N = regN "door" ;
drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ; drink_V2 = mkV2 IrregSco.drink_V ;
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" ;
@@ -75,7 +75,7 @@ lin
factory_N = regN "factory" ; factory_N = regN "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 IrregSco.find_V ;
fish_N = mk2N "fish" "fish" ; fish_N = mk2N "fish" "fish" ;
floor_N = regN "floor" ; floor_N = regN "floor" ;
forget_V2 = dirV2 (irregDuplV "forget" "forgot" "forgotten") ; forget_V2 = dirV2 (irregDuplV "forget" "forgot" "forgotten") ;
@@ -146,7 +146,7 @@ lin
queen_N = mkN feminine (regN "queen") ; queen_N = mkN feminine (regN "queen") ;
radio_N = regN "radio" ; radio_N = regN "radio" ;
rain_V0 = mkV0 (regV "rain") ; rain_V0 = mkV0 (regV "rain") ;
read_V2 = dirV2 (irregV "read" "read" "read") ; read_V2 = dirV2 IrregSco.read_V ;
red_A = duplADeg "red" ; red_A = duplADeg "red" ;
religion_N = regN "religion" ; religion_N = regN "religion" ;
restaurant_N = regN "restaurant" ; restaurant_N = regN "restaurant" ;
@@ -213,7 +213,7 @@ lin
woman_N = mkN feminine (mk2N "woman" "women") ; woman_N = mkN feminine (mk2N "woman" "women") ;
wonder_VQ = mkVQ (mkV "wonder" "wondered") ; wonder_VQ = mkVQ (mkV "wonder" "wondered") ;
wood_N = regN "wood" ; wood_N = regN "wood" ;
write_V2 = dirV2 (irregV "write" "wrote" "written") ; write_V2 = dirV2 IrregSco.write_V ;
yellow_A = mkA "yellow" ; yellow_A = mkA "yellow" ;
young_A = regADeg "young" ; young_A = regADeg "young" ;
@@ -306,15 +306,15 @@ lin
wing_N = regN "wing" ; wing_N = regN "wing" ;
worm_N = regN "worm" ; worm_N = regN "worm" ;
year_N = regN "year" ; year_N = regN "year" ;
-- blow_V = IrregEng.blow_V ; -- blow_V = IrregSco.blow_V ;
breathe_V = dirV2 (regV "breathe") ; breathe_V = dirV2 (regV "breathe") ;
-- burn_V = IrregEng.burn_V ; burn_V = IrregSco.burn_V ;
-- dig_V = IrregEng.dig_V ; -- dig_V = IrregEng.dig_V ;
-- fall_V = IrregEng.fall_V ; -- fall_V = IrregEng.fall_V ;
float_V = regV "float" ; float_V = regV "float" ;
flow_V = regV "flow" ; flow_V = regV "flow" ;
-- fly_V = IrregEng.fly_V ; -- fly_V = IrregEng.fly_V ;
-- freeze_V = IrregEng.freeze_V ; freeze_V = IrregSco.freeze_V ;
-- give_V3 = mkV3 give_V noPrep noPrep ; -- give_V3 = mkV3 give_V noPrep noPrep ;
laugh_V = regV "laugh" ; laugh_V = regV "laugh" ;
-- lie_V = IrregEng.lie_V ; -- lie_V = IrregEng.lie_V ;