diff --git a/examples/bronzeage/Bronzeage.gf b/examples/bronzeage/Bronzeage.gf index 0c1bf58c8..0e8dc8656 100644 --- a/examples/bronzeage/Bronzeage.gf +++ b/examples/bronzeage/Bronzeage.gf @@ -1,7 +1,7 @@ abstract Bronzeage = Cat, Swadesh ** { cat - Sent ; + Sent ; MassCN ; fun PhrPos : Sent -> Phr ; @@ -12,6 +12,7 @@ abstract Bronzeage = Cat, Swadesh ** { SentV : V -> NP -> Sent ; SentV2 : V2 -> NP -> NP -> Sent ; + SentV2Mass : V2 -> NP -> MassCN -> Sent ; SentV3 : V3 -> NP -> NP -> NP -> Sent ; SentA : A -> NP -> Sent ; SentNP : NP -> NP -> Sent ; @@ -22,10 +23,14 @@ abstract Bronzeage = Cat, Swadesh ** { ImpV : V -> Imp ; ImpV2 : V2 -> NP -> Imp ; + UsePron : Pron -> NP ; DetCN : Det -> CN -> NP ; NumCN : Num -> CN -> NP ; UseN : N -> CN ; ModCN : A -> CN -> CN ; + UseMassN : MassN -> MassCN ; + ModMass : A -> MassCN -> MassCN ; + } diff --git a/examples/bronzeage/BronzeageEng.gf b/examples/bronzeage/BronzeageEng.gf index 6ca4afa36..3da48281d 100644 --- a/examples/bronzeage/BronzeageEng.gf +++ b/examples/bronzeage/BronzeageEng.gf @@ -1,6 +1,5 @@ --# -path=.:present:prelude concrete BronzeageEng of Bronzeage = CatEng, SwadeshEng ** BronzeageI with - (Lang = LangEng), - (Swadesh = SwadeshEng) ; + (Lang = LangEng) ; diff --git a/examples/bronzeage/BronzeageFin.gf b/examples/bronzeage/BronzeageFin.gf index f06eab40e..f865790f2 100644 --- a/examples/bronzeage/BronzeageFin.gf +++ b/examples/bronzeage/BronzeageFin.gf @@ -1,6 +1,5 @@ --# -path=.:present:prelude concrete BronzeageFin of Bronzeage = CatFin, SwadeshFin ** BronzeageI with - (Lang = LangFin), - (Swadesh = SwadeshFin) ; + (Lang = LangFin) ; diff --git a/examples/bronzeage/BronzeageFre.gf b/examples/bronzeage/BronzeageFre.gf index 91f787dd0..63231a652 100644 --- a/examples/bronzeage/BronzeageFre.gf +++ b/examples/bronzeage/BronzeageFre.gf @@ -1,6 +1,5 @@ --# -path=.:present:prelude concrete BronzeageFre of Bronzeage = CatFre, SwadeshFre ** BronzeageI with - (Lang = LangFre), - (Swadesh = SwadeshFre) ; + (Lang = LangFre) ; diff --git a/examples/bronzeage/BronzeageGer.gf b/examples/bronzeage/BronzeageGer.gf index 39d434da7..05c6eb9b0 100644 --- a/examples/bronzeage/BronzeageGer.gf +++ b/examples/bronzeage/BronzeageGer.gf @@ -1,6 +1,5 @@ --# -path=.:present:prelude concrete BronzeageGer of Bronzeage = CatGer, SwadeshGer ** BronzeageI with - (Lang = LangGer), - (Swadesh = SwadeshGer) ; + (Lang = LangGer) ; diff --git a/examples/bronzeage/BronzeageI.gf b/examples/bronzeage/BronzeageI.gf index 1f9cd4c82..dbaac3ce9 100644 --- a/examples/bronzeage/BronzeageI.gf +++ b/examples/bronzeage/BronzeageI.gf @@ -1,11 +1,11 @@ -incomplete concrete BronzeageI of Bronzeage = Cat, Swadesh ** open Lang in { +incomplete concrete BronzeageI of Bronzeage = open Lang in { flags startcat = Phr ; optimize = all_subs ; unlexer = text ; lexer = text ; lincat - Sent = {s : SForm => Str} ; + Sent = {s : SForm => Str} ; MassCN = CN ; lin PhrPos sent = {s = sent.s ! SPos ++ "."} ; @@ -17,6 +17,7 @@ incomplete concrete BronzeageI of Bronzeage = Cat, Swadesh ** open Lang in { SentV v np = mkSent np (UseV v) ; SentV2 v x y = mkSent x (ComplV2 v y) ; + SentV2Mass v x y = mkSent x (ComplV2 v (massNP y)) ; SentV3 v x y z = mkSent x (ComplV3 v y z) ; SentA a x = mkSent x (UseComp (CompAP (PositA a))) ; SentNP a x = mkSent x (UseComp (CompNP a)) ; @@ -27,12 +28,16 @@ incomplete concrete BronzeageI of Bronzeage = Cat, Swadesh ** open Lang in { ImpV v = ImpVP (UseV v) ; ImpV2 v x = ImpVP (ComplV2 v x) ; + UsePron p = UsePron p ; DetCN d n = DetCN d n ; NumCN k cn = DetCN (DetPl (PlQuant IndefArt) k NoOrd) cn ; UseN n = UseN n ; ModCN a cn = AdjCN (PositA a) cn ; + UseMassN mn = UseN mn ; + ModMass a cn = AdjCN (PositA a) cn ; + param SForm = SPos | SNeg | SQuest ; @@ -48,4 +53,7 @@ incomplete concrete BronzeageI of Bronzeage = Cat, Swadesh ** open Lang in { } ; lock_Sent = <> } ; + + massNP : CN -> NP = \mcn -> DetCN (DetSg MassDet NoOrd) mcn ; + } diff --git a/examples/bronzeage/BronzeageIta.gf b/examples/bronzeage/BronzeageIta.gf index 07861fda0..9ae5a4f95 100644 --- a/examples/bronzeage/BronzeageIta.gf +++ b/examples/bronzeage/BronzeageIta.gf @@ -1,6 +1,5 @@ --# -path=.:present:prelude concrete BronzeageIta of Bronzeage = CatIta, SwadeshIta ** BronzeageI with - (Lang = LangIta), - (Swadesh = SwadeshIta) ; + (Lang = LangIta) ; diff --git a/examples/bronzeage/BronzeageNor.gf b/examples/bronzeage/BronzeageNor.gf index 395ff4325..49c897921 100644 --- a/examples/bronzeage/BronzeageNor.gf +++ b/examples/bronzeage/BronzeageNor.gf @@ -1,6 +1,5 @@ --# -path=.:present:prelude concrete BronzeageNor of Bronzeage = CatNor, SwadeshNor ** BronzeageI with - (Lang = LangNor), - (Swadesh = SwadeshNor) ; + (Lang = LangNor) ; diff --git a/examples/bronzeage/BronzeageSpa.gf b/examples/bronzeage/BronzeageSpa.gf index 3b492a6ab..48cfa6d50 100644 --- a/examples/bronzeage/BronzeageSpa.gf +++ b/examples/bronzeage/BronzeageSpa.gf @@ -1,6 +1,5 @@ --# -path=.:present:prelude concrete BronzeageSpa of Bronzeage = CatSpa, SwadeshSpa ** BronzeageI with - (Lang = LangSpa), - (Swadesh = SwadeshSpa) ; + (Lang = LangSpa) ; diff --git a/examples/bronzeage/BronzeageSwe.gf b/examples/bronzeage/BronzeageSwe.gf index 0414f3d42..937b4b101 100644 --- a/examples/bronzeage/BronzeageSwe.gf +++ b/examples/bronzeage/BronzeageSwe.gf @@ -1,6 +1,5 @@ --# -path=.:present:prelude concrete BronzeageSwe of Bronzeage = CatSwe, SwadeshSwe ** BronzeageI with - (Lang = LangSwe), - (Swadesh = SwadeshSwe) ; + (Lang = LangSwe) ; diff --git a/examples/bronzeage/Swadesh.gf b/examples/bronzeage/Swadesh.gf index 4566d3238..0b77de99d 100644 --- a/examples/bronzeage/Swadesh.gf +++ b/examples/bronzeage/Swadesh.gf @@ -1,5 +1,7 @@ -- Swadesh 207 abstract Swadesh = Cat ** { + cat MassN; + fun -- Pronouns @@ -25,6 +27,9 @@ abstract Swadesh = Cat ** { few_Det : Det ; other_Det : Det ; + left_Ord : Ord ; + right_Ord : Ord ; + -- Adverbs here_Adv : Adv ; @@ -91,27 +96,24 @@ abstract Swadesh = Cat ** { wide_A : A ; yellow_A : A ; - left_A : A ; - right_A : A ; - -- Nouns animal_N : N ; - ashes_N : N ; + ashes_N : MassN ; back_N : N ; - bark_N : N ; + bark_N : MassN ; belly_N : N ; bird_N : N ; - blood_N : N ; + blood_N : MassN ; bone_N : N ; breast_N : N ; child_N : N ; cloud_N : N ; day_N : N ; dog_N : N ; - dust_N : N ; + dust_N : MassN ; ear_N : N ; - earth_N : N ; + earth_N : MassN ; egg_N : N ; eye_N : N ; fat_N : N ; @@ -126,14 +128,14 @@ abstract Swadesh = Cat ** { forest_N : N ; fruit_N : N ; grass_N : N ; - guts_N : N ; + guts_N : MassN ; hair_N : N ; hand_N : N ; head_N : N ; heart_N : N ; horn_N : N ; husband_N : N ; - ice_N : N ; + ice_N : MassN ; knee_N : N ; lake_N : N ; leaf_N : N ; @@ -141,7 +143,7 @@ abstract Swadesh = Cat ** { liver_N : N ; louse_N : N ; man_N : N ; - meat_N : N ; + meat_N : MassN ; moon_N : N ; mother_N : N ; mountain_N : N ; @@ -151,20 +153,20 @@ abstract Swadesh = Cat ** { night_N : N ; nose_N : N ; person_N : N ; - rain_N : N ; + rain_N : MassN ; river_N : N ; road_N : N ; root_N : N ; rope_N : N ; - salt_N : N ; - sand_N : N ; + salt_N : MassN ; + sand_N : MassN ; sea_N : N ; seed_N : N ; skin_N : N ; sky_N : N ; - smoke_N : N ; + smoke_N : MassN ; snake_N : N ; - snow_N : N ; + snow_N : MassN ; star_N : N ; stick_N : N ; stone_N : N ; @@ -173,7 +175,7 @@ abstract Swadesh = Cat ** { tongue_N : N ; tooth_N : N ; tree_N : N ; - water_N : N ; + water_N : MassN ; wife_N : N ; wind_N : N ; wing_N : N ; diff --git a/examples/bronzeage/SwadeshEng.gf b/examples/bronzeage/SwadeshEng.gf index 04a332ae5..068284724 100644 --- a/examples/bronzeage/SwadeshEng.gf +++ b/examples/bronzeage/SwadeshEng.gf @@ -3,6 +3,9 @@ concrete SwadeshEng of Swadesh = CatEng ** open MorphoEng, LangEng, ParadigmsEng, IrregEng, Prelude in { + lincat + MassN = N ; + lin -- Pronouns @@ -28,6 +31,8 @@ concrete SwadeshEng of Swadesh = CatEng few_Det = mkDeterminer Pl "few" ; other_Det = mkDeterminer Pl "other" ; + left_Ord = ss "left" ; + right_Ord = ss "right" ; -- Adverbs @@ -93,9 +98,6 @@ concrete SwadeshEng of Swadesh = CatEng wide_A = regA "wide" ; yellow_A = yellow_A ; - left_A = regA "left" ; - right_A = regA "right" ; - -- Nouns animal_N = regN "animal" ; diff --git a/examples/bronzeage/SwadeshFin.gf b/examples/bronzeage/SwadeshFin.gf index b41687bee..e85bee80a 100644 --- a/examples/bronzeage/SwadeshFin.gf +++ b/examples/bronzeage/SwadeshFin.gf @@ -5,6 +5,9 @@ concrete SwadeshFin of Swadesh = CatFin flags optimize=values ; + lincat + MassN = N ; + lin -- Pronouns @@ -38,6 +41,9 @@ concrete SwadeshFin of Swadesh = CatFin few_Det = mkDet Sg (regN "harva") ; other_Det = mkDet Sg (regN "muu") ; +-- left_Ord = mkA (regN "vasen") ; +-- right_Ord = mkA (regN "oikea") ; + -- Adverbs here_Adv = here_Adv; @@ -102,9 +108,6 @@ concrete SwadeshFin of Swadesh = CatFin wide_A = regA "leve" ; yellow_A = yellow_A ; - left_A = mkA (regN "vasen") ; ---- - right_A = mkA (regN "oikea") ; - -- Nouns animal_N = reg3N "elin" "elimen" "elimi" ; diff --git a/examples/bronzeage/SwadeshFre.gf b/examples/bronzeage/SwadeshFre.gf index 0a4ba93ca..134266a22 100644 --- a/examples/bronzeage/SwadeshFre.gf +++ b/examples/bronzeage/SwadeshFre.gf @@ -3,6 +3,9 @@ concrete SwadeshFre of Swadesh = CatFre ** open PhonoFre, MorphoFre, LangFre, ParadigmsFre, IrregFre, Prelude in { + lincat + MassN = N ; + lin -- Pronouns @@ -34,6 +37,9 @@ concrete SwadeshFre of Swadesh = CatFre n = Pl } ; +-- left_Ord = regA "gauche" ; +-- right_Ord = regA "droite" ; + -- Adverbs here_Adv = here_Adv; @@ -98,9 +104,6 @@ concrete SwadeshFre of Swadesh = CatFre wide_A = regA "large" ; yellow_A = yellow_A ; - left_A = regA "gauche" ; - right_A = regA "droite" ; - -- Nouns animal_N = regN "animal" masculine ; diff --git a/examples/bronzeage/SwadeshGer.gf b/examples/bronzeage/SwadeshGer.gf index 242d23cca..3b29da219 100644 --- a/examples/bronzeage/SwadeshGer.gf +++ b/examples/bronzeage/SwadeshGer.gf @@ -3,6 +3,9 @@ concrete SwadeshGer of Swadesh = CatGer ** open MorphoGer, LangGer, ParadigmsGer, Prelude in { + lincat + MassN = N ; + lin -- Pronouns @@ -29,6 +32,9 @@ concrete SwadeshGer of Swadesh = CatGer -- other_Det = mkDeterminer Pl "other" ; +-- left_Ord = regA "left" ; +-- right_Ord = regA "right" ; + -- Adverbs here_Adv = here_Adv; @@ -93,9 +99,6 @@ concrete SwadeshGer of Swadesh = CatGer -- wide_A = regA "wide" ; yellow_A = yellow_A ; --- left_A = regA "left" ; --- right_A = regA "right" ; - -- Nouns -- animal_N = regN "animal" ; diff --git a/examples/bronzeage/SwadeshIta.gf b/examples/bronzeage/SwadeshIta.gf index b9aa53aaf..f3afd9243 100644 --- a/examples/bronzeage/SwadeshIta.gf +++ b/examples/bronzeage/SwadeshIta.gf @@ -3,6 +3,9 @@ concrete SwadeshIta of Swadesh = CatIta ** open PhonoIta, MorphoIta, LangIta, ParadigmsIta, BeschIta, Prelude in { + lincat + MassN = N ; + lin -- Pronouns @@ -33,6 +36,9 @@ concrete SwadeshIta of Swadesh = CatIta n = Pl } ; +-- left_Ord = regA "sinistro" ; +-- right_Ord = regA "destro" ; + -- Adverbs here_Adv = here_Adv; @@ -97,9 +103,6 @@ concrete SwadeshIta of Swadesh = CatIta wide_A = regA "largo" ; yellow_A = yellow_A ; - left_A = regA "sinistro" ; - right_A = regA "destro" ; - -- Nouns animal_N = regN "animale" ; diff --git a/examples/bronzeage/SwadeshNor.gf b/examples/bronzeage/SwadeshNor.gf index 7ad64f3bc..20079ddc2 100644 --- a/examples/bronzeage/SwadeshNor.gf +++ b/examples/bronzeage/SwadeshNor.gf @@ -3,6 +3,9 @@ concrete SwadeshNor of Swadesh = CatNor ** open MorphoNor, LangNor, ParadigmsNor, IrregNor, Prelude in { + lincat + MassN = N ; + lin -- Pronouns @@ -28,6 +31,9 @@ concrete SwadeshNor of Swadesh = CatNor few_Det = {s = \\_,_ => "f" ; n = Pl ; det = DDef Indef} ; other_Det = {s = \\_,_ => "andre" ; n = Pl ; det = DDef Indef} ; + left_Ord = {s = "venstre" ; isDet = True} ; + right_Ord = {s = "hyre" ; isDet = True} ; + -- Adverbs here_Adv = here_Adv ; @@ -70,14 +76,12 @@ concrete SwadeshNor of Swadesh = CatNor good_A = good_A ; green_A = green_A ; heavy_A = irregADeg "tung" "tyngre" "tyngst" ; - left_A = mkA "venstre" "venstre" "venstre" ; long_A = long_A ; narrow_A = narrow_A ; near_A = mkADeg "nre" "nre" "nre" "nrmere" "nrmest" ; new_A = new_A ; old_A = old_A ; red_A = red_A ; - right_A = mkA "hyre" "hyre" "hyre" ; rotten_A = mk3ADeg "rtten" "rttent" "rtne" ; round_A = regA "rund" ; sharp_A = mk2A "kvass" "kvast" ; diff --git a/examples/bronzeage/SwadeshRus.gf b/examples/bronzeage/SwadeshRus.gf index 43be5fbfa..651b0b0fa 100644 --- a/examples/bronzeage/SwadeshRus.gf +++ b/examples/bronzeage/SwadeshRus.gf @@ -4,6 +4,10 @@ concrete SwadeshRus of Swadesh = CatRus ** open ResourceRus, SyntaxRus, ParadigmsRus, BasicRus, Prelude in { flags coding=utf8 ; + + lincat + MassN = N ; + lin -- Pronouns @@ -29,6 +33,8 @@ flags coding=utf8 ; few_Det = adjInvar "мало" ** {n = Sg; g = PNoGen; c= Nom} ; other_Det = drugojDet ** {n = Sg; g = PNoGen; c= Nom} ; +-- left_Ord = AStaruyj "лев"; +-- right_Ord = AStaruyj "прав"; -- Adverbs @@ -73,14 +79,12 @@ flags coding=utf8 ; good_A = good_A ; green_A = green_A ; heavy_A = mkA (AStaruyj "тяжел") "тяжелее"; - left_A = AStaruyj "лев"; long_A = long_A ; narrow_A = narrow_A ; near_A = mkA (AMalenkij "близк") "ближе"; new_A = new_A ; old_A = old_A ; red_A = red_A ; - right_A = AStaruyj "прав"; rotten_A = mkA (AMolodoj "гнил") "гнилее"; round_A = mkA (AStaruyj "кругл") "круглее"; sharp_A = mkA (AStaruyj "остр") "острее"; diff --git a/examples/bronzeage/SwadeshSpa.gf b/examples/bronzeage/SwadeshSpa.gf index c7a940835..b474c2521 100644 --- a/examples/bronzeage/SwadeshSpa.gf +++ b/examples/bronzeage/SwadeshSpa.gf @@ -5,6 +5,9 @@ concrete SwadeshSpa of Swadesh = CatSpa -- words contributed by Ana Bove, May 2005 + lincat + MassN = N ; + lin -- Pronouns @@ -36,6 +39,15 @@ concrete SwadeshSpa of Swadesh = CatSpa n = Pl } ; + left_Ord = mkOrd (regA "izquierda") ; + right_Ord = mkOrd (regA "derecha") ; + + oper + mkOrd : A -> Ord ; + mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ; + + lin + -- Adverbs here_Adv = here_Adv; @@ -101,9 +113,6 @@ concrete SwadeshSpa of Swadesh = CatSpa wide_A = regA "ancho" ; -- extenso yellow_A = yellow_A ; - left_A = regA "izquierda" ; - right_A = regA "derecha" ; - -- Nouns animal_N = regN "animal" ; -- masc (sometimes fem when adj) diff --git a/examples/bronzeage/SwadeshSwe.gf b/examples/bronzeage/SwadeshSwe.gf index 69f8841ac..29e166f2d 100644 --- a/examples/bronzeage/SwadeshSwe.gf +++ b/examples/bronzeage/SwadeshSwe.gf @@ -1,8 +1,11 @@ ---# -path=.:../swedish:../common:../abstract:../scandinavian:../../prelude +--# -path=.:present:prelude concrete SwadeshSwe of Swadesh = CatSwe ** open MorphoSwe, LangSwe, ParadigmsSwe, IrregSwe, Prelude in { + lincat + MassN = N ; + lin -- Pronouns @@ -28,6 +31,8 @@ concrete SwadeshSwe of Swadesh = CatSwe few_Det = {s = \\_,_ => "f" ; n = Pl ; det = DDef Indef} ; other_Det = {s = \\_,_ => "andra" ; n = Pl ; det = DDef Indef} ; + left_Ord = {s = "vnstra" ; isDet = True} ; + right_Ord = {s = "hgra" ; isDet = True} ; -- Adverbs @@ -72,7 +77,6 @@ concrete SwadeshSwe of Swadesh = CatSwe good_A = good_A ; green_A = green_A ; heavy_A = irregA "tung" "tyngre" "tyngst" ; - left_A = regA "vnster" ; ---- long_A = long_A ; narrow_A = narrow_A ; near_A = mkA "nra" "nra" "nra" "nra" @@ -80,7 +84,6 @@ concrete SwadeshSwe of Swadesh = CatSwe new_A = new_A ; old_A = old_A ; red_A = red_A ; - right_A = regA "hger" ; ---- rotten_A = mk3A "rutten" "ruttet" "ruttna" ; round_A = regA "rund" ; sharp_A = regA "vass" ;