From 6cf9eba4df88a9a3d6f9cddb97c995dbe50a010c Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 11 Mar 2005 14:37:18 +0000 Subject: [PATCH] Norwegian Swadesh (raw); bug fix in TC of variants --- doc/gf-index.html | 8 + examples/stoneage/StoneageNor.gf | 243 +++++++++++++++++++++++ examples/stoneage/StoneageResNor.gf | 15 ++ lib/resource/norwegian/SwadeshLexNor.gf | 252 ++++++++++++++++++++++++ lib/resource/norwegian/VerbsNor.gf | 185 +++++++++++++++++ lib/resource/norwegian/VerbsNorAbs.gf | 178 +++++++++++++++++ src/GF/Compile/CheckGrammar.hs | 6 +- 7 files changed, 884 insertions(+), 3 deletions(-) create mode 100644 examples/stoneage/StoneageNor.gf create mode 100644 examples/stoneage/StoneageResNor.gf create mode 100644 lib/resource/norwegian/SwadeshLexNor.gf create mode 100644 lib/resource/norwegian/VerbsNor.gf create mode 100644 lib/resource/norwegian/VerbsNorAbs.gf diff --git a/doc/gf-index.html b/doc/gf-index.html index 65df54867..29c5b8ce0 100644 --- a/doc/gf-index.html +++ b/doc/gf-index.html @@ -18,6 +18,14 @@ November 8, 2004.

News

+March 10, 2005. +Demo film +of a multimodal dialogue system built with embedded GF grammars. + +

+ + November 9, 2004. PhD Thesis by Peter Ljunglöf: diff --git a/examples/stoneage/StoneageNor.gf b/examples/stoneage/StoneageNor.gf new file mode 100644 index 000000000..3fe4d87ea --- /dev/null +++ b/examples/stoneage/StoneageNor.gf @@ -0,0 +1,243 @@ +--# -path=.:../../lib/resource/abstract:../../lib/prelude:../../lib/resource/norwegian:../../lib/resource/scandinavian +concrete StoneageNor of Stoneage + = open SyntaxNor, ResourceNor, ParadigmsNor, VerbsNor, SwadeshLexNor, StoneageResNor in { + +--- rough-translated from Swedish by AR 11/3/2005. To be fixed soon. + +flags + startcat=S; optimize=share; + +lincat + S = Phr ; + NP = NP ; + N = N; + CN = CN ; + +lin + + -- Sentence conjunction + +-- AndS s1 s2 = { s = s1.s ++ and_Conj.s ++ s2.s } ** { lock_Phr = <> } ; + + -- NP conjunction + +-- AndNP n1 n2 = ConjNP and_Conj (TwoNP n1 n2); + + Drink = PresVasV2 drink_V ; + Eat = PresVasV2 eat_V ; + Bite = PresVasV2 bite_V ; + Suck = PresVasV2 suck_V ; + See = PresVasV2 see_V ; + Hear = PresVasV2 hear_V ; + Know = PresVasV2 know_V ; + Think = PresVasV2 think_V ; + Smell s o = PresCl (SPredV2 s (dirV2 kenne_V) (DefOneNP + (AdvCN (UseN (mk2N "lukt" "lukten")) + (PrepNP possess_Prep o)))) ; + Fear = PresVasV2 fear_V ; + Kill = PresVasV2 kill_V ; + Fight s o = PresCl (AdvCl (SPredV s fight_V) (AdvPP (PrepNP with_Prep o))) ; + Hunt = PresVasV2 hunt_V ; + Hit = PresVasV2 hit_V ; + Cut = PresVasV2 cut_V ; + Split = PresVasV2 split_V ; + Stab = PresVasV2 stab_V ; + Scratch = PresVasV2 scratch_V ; + Hold = PresVasV2 hold_V ; + Squeeze = PresVasV2 squeeze_V ; + Rub = PresVasV2 rub_V ; + Wash = PresVasV2 wash_V ; + Wipe = PresVasV2 wipe_V ; + Pull = PresVasV2 pull_V ; + Push = PresVasV2 push_V ; + Throw = PresVasV2 throw_V ; + Tie = PresVasV2 tie_V ; + Count = PresVasV2 count_V ; + + Spit = PresV spit_V ; + Vomit = PresV vomit_V ; + Blow = PresV blow_V ; + Breathe = PresV breathe_V ; + Laugh = PresV laugh_V ; + Sleep = PresV sleep_V ; + Live = PresV live_V ; + Die = PresV die_V ; + Dig = PresV dig_V ; + Swim = PresV swim_V ; + Fly = PresV fly_V ; + Walk = PresV walk_V ; + Come = PresV come_V ; + Lie = PresV lie_V ; + Sit = PresV sit_V ; + Stand = PresV stand_V ; + Turn = PresV turn_V ; + Fall = PresV fall_V ; + Sing = PresV sing_V ; + Sew = PresV sew_V ; + Play = PresV play_V ; + Float = PresV float_V ; + Flow = PresV flow_V ; + Freeze = PresV freeze_V ; + Swell = PresV swell_V ; + Burn = PresV burn_V ; + + Give = PresV3 (dirV3 give_V "til") ; + +-- Say = ; + + The_One = DefOneNP; + The_Many = DefNumNP NoNum ; + A = IndefOneNP ; + This = DetNP this_Det ; + That = DetNP that_Det ; + All = NDetNP all_NDet NoNum ; + Many = DetNP many_Det ; + Some_One = DetNP some_Det ; + Some_Many = NDetNP some_NDet NoNum ; + Few = DetNP few_Det ; + Other = DetNP other_Det ; + + One = IndefNumNP one_Num ; + Two = IndefNumNP two_Num ; + Three = IndefNumNP three_Num ; + Four = IndefNumNP four_Num ; + Five = IndefNumNP five_Num ; + + -- Pronouns + + I = i_NP ; + You_One = thou_NP ; + He = he_NP ; + We = we_NP ; + You_Many = you_NP ; + They = they_NP ; + + -- Nouns + + Woman = UseN woman_N ; + Man = UseN man_N ; + Person = UseN person_N ; + Child = UseN child_N ; + Wife = UseN wife_N ; + Husband = UseN husband_N ; + Mother = UseN mother_N ; + Father = UseN father_N ; + Animal = UseN animal_N ; + Fish = UseN fish_N ; + Bird = UseN bird_N ; + Dog = UseN dog_N ; + Louse = UseN louse_N ; + Snake = UseN snake_N ; + Worm = UseN worm_N ; + Tree = UseN tree_N ; + Forest = UseN forest_N ; + Stick = UseN stick_N ; + Fruit = UseN fruit_N ; + Seed = UseN seed_N ; + Leaf = UseN leaf_N ; + Root = UseN root_N ; + Bark = UseN bark_N ; + Flower = UseN flower_N ; + Grass = UseN grass_N ; + Rope = UseN rope_N ; + Skin = UseN skin_N ; + Meat = UseN meat_N ; + Blood = UseN blood_N ; + Bone = UseN bone_N ; + Fat = UseN fat_N ; + Egg = UseN egg_N ; + Horn = UseN horn_N ; + Tail = UseN tail_N ; + Feather = UseN feather_N ; + Hair = UseN hair_N ; + Head = UseN head_N ; + Ear = UseN ear_N ; + Eye = UseN eye_N ; + Nose = UseN nose_N ; + Mouth = UseN mouth_N ; + Tooth = UseN tooth_N ; + Tongue = UseN tongue_N ; + Fingernail = UseN fingernail_N ; + Foot = UseN foot_N ; + Leg = UseN leg_N ; + Knee = UseN knee_N ; + Hand = UseN hand_N ; + Wing = UseN wing_N ; + Belly = UseN belly_N ; + Guts = UseN guts_N ; + Neck = UseN neck_N ; + Back = UseN back_N ; + Breast = UseN breast_N ; + Heart = UseN heart_N ; + Liver = UseN liver_N ; + Sun = UseN sun_N ; + Moon = UseN moon_N ; + Star = UseN star_N ; + Water = UseN water_N ; + Rain = UseN rain_N ; + River = UseN river_N ; + Lake = UseN lake_N ; + Sea = UseN sea_N ; + Salt = UseN salt_N ; + Stone = UseN stone_N ; + Sand = UseN sand_N ; + Dust = UseN dust_N ; + Earth = UseN earth_N ; + Cloud = UseN cloud_N ; + Fog = UseN fog_N ; + Sky = UseN sky_N ; + Wind = UseN wind_N ; + Snow = UseN snow_N ; + Ice = UseN ice_N ; + Smoke = UseN smoke_N ; + Fire = UseN fire_N ; + Ashes = UseN ashes_N ; + Road = UseN road_N ; + Mountain = UseN mountain_N ; + Night = UseN night_N ; + Day = UseN day_N ; + Year = UseN year_N ; + Name = UseN name_N ; + +-- NameOf = AppN2 name_N2 ; + MotherOf = AppN2 (mkN2 mother_N "til") ; + FatherOf = AppN2 (mkN2 father_N "til") ; + + Big = ModPosA big_ADeg ; + Long = ModPosA long_ADeg ; + Wide = ModPosA wide_ADeg ; + Thick = ModPosA thick_ADeg ; + Heavy = ModPosA heavy_ADeg ; + Small = ModPosA small_ADeg ; + Short = ModPosA short_ADeg ; + Narrow = ModPosA narrow_ADeg ; + Thin = ModPosA thin_ADeg ; + Red = ModPosA red_ADeg ; + Green = ModPosA green_ADeg ; + Yellow = ModPosA yellow_ADeg ; + White = ModPosA white_ADeg ; + Black = ModPosA black_ADeg ; + Warm = ModPosA warm_ADeg ; + Cold = ModPosA cold_ADeg ; + Full = ModPosA full_ADeg ; + New = ModPosA new_ADeg ; + Old = ModPosA old_ADeg ; + Good = ModPosA good_ADeg ; + Bad = ModPosA bad_ADeg ; + Rotten = ModPosA rotten_ADeg ; + Dirty = ModPosA dirty_ADeg ; + Straight = ModPosA straight_ADeg ; + Round = ModPosA round_ADeg ; + Sharp = ModPosA sharp_ADeg ; + Dull = ModPosA dull_ADeg ; + Smooth = ModPosA smooth_ADeg ; + Wet = ModPosA wet_ADeg ; + Dry = ModPosA dry_ADeg ; + Correct = ModPosA correct_ADeg ; + Near = ModPosA near_ADeg ; +-- Far = ModPosA far_ADeg ; + + Right = ModAP (UseA right_A) ; + Left = ModAP (UseA left_A) ; + +} \ No newline at end of file diff --git a/examples/stoneage/StoneageResNor.gf b/examples/stoneage/StoneageResNor.gf new file mode 100644 index 000000000..30cd4e092 --- /dev/null +++ b/examples/stoneage/StoneageResNor.gf @@ -0,0 +1,15 @@ +resource StoneageResNor = open ResourceNor, SyntaxNor, ParadigmsNor in { + +oper + PresV : V -> NP -> Phr = \v,s -> PresCl (SPredV s v) ; + PresV2 : V2 -> NP -> NP -> Phr = \v,s,o -> PresCl (SPredV2 s v o) ; + PresV3 : V3 -> NP -> NP -> NP -> Phr = \v,s,o,r -> PresCl (SPredV3 s v o r) ; + PresVasV2 : V -> NP -> NP -> Phr = \ v -> PresV2 (dirV2 v) ; + + PresCl : Cl -> Phr = + \c -> defaultSentence (UseCl (PosTP TPresent ASimul) c) ** {lock_Phr = <>} ; + + ModPosA : ADeg -> CN -> CN = \a -> ModAP (PositADeg a) ; + ModA : A -> CN -> CN = \a -> ModAP (UseA a) ; + +} \ No newline at end of file diff --git a/lib/resource/norwegian/SwadeshLexNor.gf b/lib/resource/norwegian/SwadeshLexNor.gf new file mode 100644 index 000000000..71f3f045a --- /dev/null +++ b/lib/resource/norwegian/SwadeshLexNor.gf @@ -0,0 +1,252 @@ +--# -path=.:../abstract:../scandinavian:../../prelude + +concrete SwadeshLexNor of SwadeshLex = CategoriesNor + ** open ResourceNor, SyntaxNor, ParadigmsNor, VerbsNor, + BasicNor, Prelude in { + +--- rough-translated from Swedish by AR 11/3/2005. To be fixed soon. + + lin + + -- Pronouns + + i_NP = i_NP ; + thou_NP = thou_NP ; + he_NP = he_NP ; + we_NP = we_NP ; + you_NP = you_NP ; + they_NP = they_NP ; + who8many_IP = who8many_IP ; + who8one_IP = who8one_IP ; + what8many_IP = what8many_IP ; + what8one_IP = what8one_IP ; + + -- Determiners + + this_Det = this_Det ; + that_Det = that_Det ; + all_NDet = all_NDet ; + many_Det = many_Det ; + some_Det = some_Det ; + few_Det = mkDeterminerPl "få" IndefP ; + other_Det = mkDeterminerPl "andre" IndefP ; + + + -- Adverbs + + here_Adv = here_Adv ; + there_Adv = there_Adv ; + where_IAdv = where_IAdv ; + when_IAdv = when_IAdv ; + how_IAdv = how_IAdv ; + + -- not : Adv ; -- ? + + -- Conjunctions + + and_Conj = and_Conj ; + + -- Prepositions + + at_Prep = ss "ved" ; + in_Prep = ss "i" ; + with_Prep = ss "med" ; + + -- Numerals + + one_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01)))) ; + two_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + + -- Adjectives + + bad_ADeg = bad_ADeg ; + big_ADeg = big_ADeg ; + black_ADeg = black_ADeg ; + cold_ADeg = cold_ADeg ; + correct_ADeg = regADeg "riktig" ; + dirty_ADeg = dirty_ADeg ; + dry_ADeg = regADeg "torr" ; + dull_ADeg = regADeg "slø" ; + far_ADeg = regADeg "avlegsen" ; + full_ADeg = regADeg "full" ; + good_ADeg = good_ADeg ; + green_ADeg = green_ADeg ; + heavy_ADeg = irregADeg "tung" "tyngre" "tyngst" ; + left_A = mkA "venstre" "venstre" "venstre" ; + long_ADeg = long_ADeg ; + narrow_ADeg = narrow_ADeg ; + near_ADeg = mkADeg "nere" "nere" "nere" + "nermare" "nermast" ; + new_ADeg = new_ADeg ; + old_ADeg = old_ADeg ; + red_ADeg = red_ADeg ; + right_A = mkA "høgre" "høgre" "høgre" ; + rotten_ADeg = mk3ADeg "rutten" "ruttet" "ruttne" ; + round_ADeg = regADeg "rund" ; + sharp_ADeg = regADeg "vass" ; + short_ADeg = short_ADeg ; + small_ADeg = small_ADeg ; + smooth_ADeg = regADeg "slet" ; + straight_ADeg = regADeg "rak" ; + thick_ADeg = thick_ADeg ; + thin_ADeg = thin_ADeg ; + warm_ADeg = warm_ADeg ; + wet_ADeg = regADeg "våt" ; + white_ADeg = white_ADeg ; + wide_ADeg = mk2ADeg "bred" "brett" ; + yellow_ADeg = yellow_ADeg ; + + + -- Nouns + + animal_N = mk2N "dyr" "dyret" ; + ashes_N = mk2N "aske" "aska" ; + back_N = mk2N "rygg" "ryggen" ; + bark_N = mk2N "bark" "barken" ; + belly_N = mk2N "mage" "magen" ; + bird_N = bird_N ; + blood_N = mk2N "blod" "blod" ; + bone_N = mk2N "ben" "ben" ; + breast_N = mk2N "brøst" "brøst" ; + child_N = child_N ; + cloud_N = mk2N "moln" "moln" ; + day_N = mk2N "dag" "dagen" ; + dog_N = dog_N ; + dust_N = mk2N "damm" "damm" ; + ear_N = mkN "øre" "ørat" "øron" "øronen" ; + earth_N = mk2N "jord" "jorden" ; + egg_N = mk2N "egg" "egg" ; + eye_N = mkN "øge" "øgat" "øgon" "øgonen" ; + fat_N = mk2N "fett" "fett" ; + father_N = mkN "far" "fadern" "feder" "federne" ; +-- father_N = UseN2 father_N2 ; + feather_N = mk2N "fjeder" "fjedren" ; + fingernail_N = mk2N "nagel" "naglen" ; + fire_N = mk2N "eld" "elden" ; + fish_N = fish_N ; + flower_N = mk2N "blomme" "blomma" ; + fog_N = mk2N "dimme" "dimma" ; + foot_N = mk2N "fot" "føtter" ; + forest_N = mk2N "skog" "skogen" ; + fruit_N = fruit_N ; + grass_N = mk2N "gres" "gres" ; + guts_N = mk2N "inelve" "inelva" ; + hair_N = mk2N "hår" "hår" ; + hand_N = mk2N "hand" "hender" ; + head_N = mkN "huvud" "huvudet" "huvuden" "huvudene" ; + heart_N = mkN "hjerte" "hjertat" "hjertan" "hjertane" ; + horn_N = mk2N "horn" "horn" ; + husband_N = mk2N "make" "maken" ; + ice_N = mk2N "is" "isen" ; + knee_N = mkN "kne" "kneet" "knen" "knene" ; + lake_N = lake_N ; + leaf_N = mk2N "løv" "løv" ; + leg_N = mk2N "ben" "ben" ; + liver_N = mk2N "lever" "levren" ; + louse_N = mkN "lus" "lusen" "løss" "løssen" ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; + mother_N = mkN "mor" "modern" "mødrar" "mødrarne" ; +-- mother_N = UseN2 mother_N2 ; + mountain_N = mountain_N ; + mouth_N = mk2N "mun" "munnen" ; + name_N = mk2N "namn" "namn" ; + neck_N = mk2N "nacke" "nacken" ; + night_N = mk2N "natt" "netter" ; + nose_N = mk2N "nese" "nesa" ; + person_N = mk2N "person" "personer" ; + rain_N = mk2N "regn" "regn" ; + river_N = river_N ; + road_N = mk2N "veg" "vegen" ; + root_N = mk2N "rot" "røtter" ; + rope_N = mk2N "rep" "rep" ; + salt_N = mk2N "salt" "salter" ; + sand_N = mk2N "sand" "sander" ; + sea_N = sea_N ; + seed_N = mk2N "frø" "frøn" ; + skin_N = mk2N "skinn" "skinn" ; + sky_N = mk2N "himmel" "himlen" ; + smoke_N = mk2N "røk" "røken" ; + snake_N = snake_N ; + snow_N = mkN "snø" "snøn" "snøer" "snøerne" ; + star_N = star_N ; + stick_N = mk2N "pinne" "pinnen" ; + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = mk2N "svans" "svansen" ; + tongue_N = mk2N "tunge" "tunga" ; + tooth_N = mk2N "tand" "tender" ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = mk2N "fru" "fruen" ; + wind_N = mk2N "vind" "vinden" ; + wing_N = mk2N "vinge" "vingen" ; + woman_N = woman_N ; + worm_N = mk2N "mask" "masken" ; + year_N = mk2N "år" "år" ; + + -- Verbs + + bite_V = bite_V ; + blow_V = mk2V "blåse" "blåste" ; + breathe_V = depV (regV "ande") ; + burn_V = brinne_V ; -- FIXME: brenna? + come_V = komme_V ; + count_V = regV "rekne" ; + cut_V = skere_V ; + die_V = dø_V ; + dig_V = mk2V "greve" "grevde" ; + drink_V = drikke_V ; + eat_V = ete_V ; + fall_V = falle_V ; + fear_V = regV "frukte" ; + -- FIXME: passive forms are very strange + fight_V = mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen" ; + float_V = flyte_V ; + flow_V = rinne_V ; + fly_V = flyge_V ; + freeze_V = fryse_V ; + give_V = give_V ; + hear_V = mk2V "høre" "hørde" ; + hit_V = slå_V; + hold_V = hålle_V ; + hunt_V = regV "jage" ; + kill_V = regV "døde" ; + know_V = vete_V ; + laugh_V = regV "skratte" ; + lie_V = ligge_V ; + live_V = leve_V ; + play_V = mk2V "leke" "lekte" ; + pull_V = trekke_V ; + push_V = mk2V "trykke" "trykte" ; + rub_V = gnide_V ; + say_V = sege_V ; + scratch_V = regV "klie" ; + see_V = se_V ; + sew_V = sy_V ; + sing_V = synge_V ; + sit_V = sitte_V ; + sleep_V = sove_V ; + smell_V = regV "lukte" ; + spit_V = regV "spotte" ; + split_V = klyve_V ; + squeeze_V = klemme_V ; + stab_V = stikke_V ; + stand_V = stå_V ; + suck_V = suge_V ; + swell_V = svelle_V ; + swim_V = regV "simme" ; + think_V = mk2V "tenke" "tenkte" ; + throw_V = regV "kaste" ; + tie_V = knyte_V ; + turn_V = vende_V ; + vomit_V = mk2V "spy" "spydde" ; + walk_V = gå_V ; + wash_V = regV "vaske" ; + wipe_V = regV "torke" ; + +} \ No newline at end of file diff --git a/lib/resource/norwegian/VerbsNor.gf b/lib/resource/norwegian/VerbsNor.gf new file mode 100644 index 000000000..81a7e6a3e --- /dev/null +++ b/lib/resource/norwegian/VerbsNor.gf @@ -0,0 +1,185 @@ +--# -path=.:../scandinavian:../abstract:../../prelude + +concrete VerbsNor of VerbsNorAbs = CategoriesNor ** open ParadigmsNor in { + +--- rough-translated from Swedish by AR 11/3/2005. To be fixed soon. + + flags optimize=values ; + + lin + anfalle_V = irregV "anfalle" "anføll" "anfallet" ; + angive_V = irregV "angive" "angav" "angivet" ; + angripe_V = irregV "angripe" "angrep" "angripet" ; + anhålle_V = irregV "anhålle" "anhell" "anhållet" ; + antage_V = irregV "antage" "antog" "antaget" ; + ete_V = irregV "ete" "åt" "etet" ; + återfinne_V = irregV "återfinne" "återfann" "återfunnet" ; + avbryte_V = irregV "avbryte" "avbrøt" "avbrutet" ; + avfalle_V = irregV "avfalle" "avføll" "avfallet" ; + avhugge_V = irregV "avhugge" "avhøgg" "avhugget" ; + avlede_V = irregV "avlede" "avlad" "avlidet" ; + avlide_V = irregV "avlide" "avled" "avlidet" ; + avnyte_V = irregV "avnyte" "avnjøt" "avnytet" ; + avsitte_V = irregV "avsitte" "avsatt" "avsuttet" ; + avskrive_V = irregV "avskrive" "avskrev" "avskrivet" ; + avstige_V = irregV "avstige" "avsteg" "avstiget" ; + bere_V = irregV "bere" "bar" "buret" ; + bedrage_V = irregV "bedrage" "bedrog" "bedraget" ; + bedrive_V = irregV "bedrive" "bedrev" "bedrivet" ; + befinne_V = irregV "befinne" "befann" "befunnet" ; + begrave_V = irregV "begrave" "begrov" "begravet" ; + behålle_V = irregV "behålle" "behøll" "behållet" ; + belyge_V = irregV "belyge" "beljøg" "belyget" ; + beride_V = irregV "beride" "bered" "beridet" ; + besitte_V = irregV "besitte" "besatt" "besuttet" ; + beskrive_V = irregV "beskrive" "beskrev" "beskrivet" ; + beslute_V = irregV "beslute" "besløt" "beslutet" ; + bestige_V = irregV "bestige" "besteg" "bestiget" ; + bestride_V = irregV "bestride" "bestred" "bestridet" ; + bidrage_V = irregV "bidrage" "bidrog" "bidraget" ; + bifalle_V = irregV "bifalle" "biføll" "bifallet" ; + binde_V = irregV "binde" "band" "bundet" ; + bite_V = irregV "bite" "bet" "bitet" ; + byde_V = irregV "byde" "bjød" "bydet" ; + blive_V = irregV "bli" "blev" "blivet" ; + borttage_V = irregV "borttage" "borttog" "borttaget" ; + brinne_V = irregV "brinne" "brann" "brunnet" ; + briste_V = irregV "briste" "brast" "brustet" ; + bryte_V = irregV "bryte" "brøt" "brutet" ; + dø_V = irregV "dø" "dog" "døtt" ; + drikke_V = irregV "drikke" "drakk" "drukket" ; + drive_V = irregV "drive" "drev" "drivet" ; + drype_V = irregV "drype" "drøp" "drupet" ; + duge_V = irregV "duge" "døg" "duget" ; + dyke_V = irregV "dyke" "døk" "duket" ; + erbyde_V = irregV "erbyde" "erbjød" "erbydet" ; + erfare_V = irregV "erfare" "erfor" "erfaret" ; + erhålle_V = irregV "erhålle" "erhøll" "erhållet" ; + falle_V = irregV "falle" "føll" "fallet" ; + fånge_V = irregV "fånge" "feng" "fånget" ; + fare_V = irregV "fare" "for" "faret" ; + finne_V = irregV "finne" "fann" "funnet" ; + flyge_V = irregV "flyge" "fløg" "fluget" ; + flyte_V = irregV "flyte" "fløt" "flutet" ; + førbehålle_V = irregV "førbehålle" "førbehøll" "førbehållet" ; + førbinde_V = irregV "førbinde" "førband" "førbundet" ; + førbyde_V = irregV "førbyde" "førbjød" "førbydet" ; + førdrive_V = irregV "førdrive" "førdrev" "førdrivet" ; + føreskrive_V = irregV "føreskrive" "føreskrev" "føreskrivet" ; + føretage_V = irregV "føretage" "føretog" "føretaget" ; + førfryse_V = irregV "førfryse" "førfrøs" "førfruset" ; + førlåte_V = irregV "førlåte" "førlet" "førlåtet" ; + førnimme_V = irregV "førnimme" "førnamm" "førnummet" ; + førsitte_V = irregV "førsitte" "førsatt" "førsuttet" ; + førsvinne_V = irregV "førsvinne" "førsvann" "førsvunnet" ; + førtige_V = irregV "førtige" "førteg" "førtiget" ; + fryse_V = irregV "fryse" "frøs" "fruset" ; + gå_V = irregV "gå" "gikk" "gått" ; + genomdrive_V = irregV "genomdrive" "genomdrev" "genomdrivet" ; + gille_V = irregV "gille" "gall" "gillet" ; + give_V = irregV "ge" "gav" "givet" ; + gyte_V = irregV "gyte" "gjøt" "gytet" ; + glide_V = irregV "glide" "gled" "glidet" ; + gnide_V = irregV "gnide" "gned" "gnidet" ; + gråte_V = irregV "gråte" "gret" "gråtet" ; + gripe_V = irregV "gripe" "grep" "gripet" ; + hålle_V = irregV "hålle" "høll" "hållet" ; + hinne_V = irregV "hinne" "hann" "hunnet" ; + hugge_V = irregV "hugge" "høgg" "hugget" ; + iakttage_V = irregV "iakttage" "iakttog" "iakttaget" ; + inbegripe_V = irregV "inbegripe" "inbegrep" "inbegripet" ; + inbyde_V = irregV "inbyde" "inbjød" "inbydet" ; + indrage_V = irregV "indrage" "indrog" "indraget" ; + inneslute_V = irregV "inneslute" "innesløt" "inneslutet" ; + inskrive_V = irregV "inskrive" "inskrev" "inskrivet" ; + intage_V = irregV "intage" "intog" "intaget" ; + kenne_V = irregV "kenne" "kende" "kent" ; + klemme_V = irregV "klemme" "klemde" "klemt" ; + klive_V = irregV "klive" "klev" "klivet" ; + klyve_V = irregV "klyve" "kløv" "kluvet" ; + knipe_V = irregV "knipe" "knep" "knipet" ; + knyte_V = irregV "knyte" "knøt" "knutet" ; + komme_V = irregV "komme" "kom" "kommet" ; + krype_V = irregV "krype" "krøp" "krupet" ; + kunne_V = mkV "kunne" "kan" "kan" "kunde" "kunnet" "kunn" ; + kvide_V = irregV "kvide" "kved" "kvidet" ; + låte_V = irregV "låte" "let" "låtet" ; + leve_V = irregV "leve" "levde" "levt" ; + ligge_V = irregV "ligge" "låg" "legat" ; + lyde_V = irregV "lyde" "ljød" "lydet" ; + lyge_V = irregV "lyge" "ljøg" "lyget" ; + lyte_V = irregV "lyte" "ljøt" "lytet" ; + mottage_V = irregV "mottage" "mottog" "mottaget" ; + nerstige_V = irregV "nerstige" "nersteg" "nerstiget" ; + nige_V = irregV "nige" "neg" "niget" ; + nyte_V = irregV "nyte" "njøt" "nytet" ; + omgive_V = irregV "omgive" "omgav" "omgivet" ; + øverfalle_V = irregV "øverfalle" "øverføll" "øverfallet" ; + øvergive_V = irregV "øvergive" "øvergav" "øvergivet" ; + pipe_V = irregV "pipe" "pep" "pipet" ; + ride_V = irregV "ride" "red" "ridet" ; + rinne_V = irregV "rinne" "rann" "runnet" ; + rive_V = irregV "rive" "rev" "rivet" ; + ryte_V = irregV "ryte" "røt" "rutet" ; + sege_V = irregV "sege" "sade" "sagt" ; + se_V = irregV "se" "såg" "sett" ; + sitte_V = irregV "sitte" "satt" "suttet" ; + syde_V = irregV "syde" "sjød" "sydet" ; + synge_V = irregV "synge" "sjøng" "synget" ; + synke_V = irregV "synke" "sjønk" "synket" ; + skere_V = mkV "skere" "sker" "sker" "skar" "skurit" "sker" ; + skine_V = irregV "skine" "sken" "skinet" ; + skite_V = irregV "skite" "sket" "skitet" ; + skyte_V = irregV "skyte" "skjøt" "skytet" ; + skride_V = irregV "skride" "skred" "skridet" ; + skrike_V = irregV "skrike" "skrek" "skriket" ; + skrive_V = irregV "skrive" "skrev" "skrivet" ; + skryte_V = irregV "skryte" "skrøt" "skrutet" ; + slå_V = irregV "slå" "slog" "slaget" ; + slinke_V = irregV "slinke" "slank" "slunket" ; + slippe_V = irregV "slippe" "slapp" "sluppet" ; + slite_V = irregV "slite" "slet" "slitet" ; + slute_V = irregV "slute" "sløt" "slutet" ; + smørje_V = irregV "smørje" "smorjde" "smort" ; + smite_V = irregV "smite" "smet" "smitet" ; + snyte_V = irregV "snyte" "snøt" "snutet" ; + sove_V = irregV "sove" "sov" "sovet" ; + spinne_V = irregV "spinne" "spann" "spunnet" ; + sprikke_V = irregV "sprikke" "sprakk" "sprukket" ; + spride_V = irregV "spride" "spred" "spridet" ; + springe_V = irregV "springe" "sprang" "sprunget" ; + stå_V = irregV "stå" "stod" "stått" ; + stikke_V = irregV "stikke" "stakk" "stukket" ; + stige_V = irregV "stige" "steg" "stiget" ; + stinke_V = irregV "stinke" "stank" "stunket" ; + stride_V = irregV "stride" "stred" "stridet" ; + strype_V = irregV "strype" "strøp" "strupet" ; + suge_V = irregV "suge" "søg" "suget" ; + supe_V = irregV "supe" "søp" "supet" ; + svelle_V = irregV "svelle" "svellde" "svellt" ; + svide_V = irregV "svide" "sved" "svidet" ; + svike_V = irregV "svike" "svek" "sviket" ; + sy_V = irregV "sy" "sydde" "sytt" ; + tage_V = irregV "tage" "tog" "taget" ; + tige_V = irregV "tige" "teg" "tiget" ; + tillåte_V = irregV "tillåte" "tillet" "tillåtet" ; + tillslute_V = irregV "tillslute" "tillsløt" "tillslutet" ; + tyte_V = irregV "tyte" "tjøt" "tytet" ; + trekke_V = irregV "trekke" "trakk" "trukket" ; ---- + tryte_V = irregV "tryte" "trøt" "trutet" ; + tvinge_V = irregV "tvinge" "tvang" "tvunget" ; + uppfinne_V = irregV "uppfinne" "uppfann" "uppfunnet" ; + uppgive_V = irregV "uppgive" "uppgav" "uppgivet" ; + upplåte_V = irregV "upplåte" "upplet" "upplåtet" ; + uppstige_V = irregV "uppstige" "uppsteg" "uppstiget" ; + upptage_V = irregV "upptage" "upptog" "upptaget" ; + utbyde_V = irregV "utbyde" "utbjød" "utbydet" ; + utbriste_V = irregV "utbriste" "utbrast" "utbrustet" ; + uteslute_V = irregV "uteslute" "utesløt" "uteslutet" ; + utskrive_V = irregV "utskrive" "utskrev" "utskrivet" ; + vete_V = mkV "vete" "vet" "vet" "visste" "vetat" "vet" ; + vende_V = irregV "vende" "vende" "vent" ; + vine_V = irregV "vine" "ven" "vinet" ; + vinne_V = irregV "vinne" "vann" "vunnet" ; + vride_V = irregV "vride" "vred" "vridet" ; +} diff --git a/lib/resource/norwegian/VerbsNorAbs.gf b/lib/resource/norwegian/VerbsNorAbs.gf new file mode 100644 index 000000000..a24407128 --- /dev/null +++ b/lib/resource/norwegian/VerbsNorAbs.gf @@ -0,0 +1,178 @@ +abstract VerbsNorAbs = Categories ** { + fun + anfalle_V : V ; + angive_V : V ; + angripe_V : V ; + anhålle_V : V ; + antage_V : V ; + ete_V : V ; + återfinne_V : V ; + avbryte_V : V ; + avfalle_V : V ; + avhugge_V : V ; + avlede_V : V ; + avlide_V : V ; + avnyte_V : V ; + avsitte_V : V ; + avskrive_V : V ; + avstige_V : V ; + bere_V : V ; + bedrage_V : V ; + bedrive_V : V ; + befinne_V : V ; + begrave_V : V ; + behålle_V : V ; + belyge_V : V ; + beride_V : V ; + besitte_V : V ; + beskrive_V : V ; + beslute_V : V ; + bestige_V : V ; + bestride_V : V ; + bidrage_V : V ; + bifalle_V : V ; + binde_V : V ; + bite_V : V ; + byde_V : V ; + blive_V : V ; + borttage_V : V ; + brinne_V : V ; + briste_V : V ; + bryte_V : V ; + dø_V : V ; + drikke_V : V ; + drive_V : V ; + drype_V : V ; + duge_V : V ; + dyke_V : V ; + erbyde_V : V ; + erfare_V : V ; + erhålle_V : V ; + falle_V : V ; + fånge_V : V ; + fare_V : V ; + finne_V : V ; + flyge_V : V ; + flyte_V : V ; + førbehålle_V : V ; + førbinde_V : V ; + førbyde_V : V ; + førdrive_V : V ; + føreskrive_V : V ; + føretage_V : V ; + førfryse_V : V ; + førlåte_V : V ; + førnimme_V : V ; + førsitte_V : V ; + førsvinne_V : V ; + førtige_V : V ; + fryse_V : V ; + gå_V : V ; + genomdrive_V : V ; + gille_V : V ; + give_V : V ; + gyte_V : V ; + glide_V : V ; + gnide_V : V ; + gråte_V : V ; + gripe_V : V ; + hålle_V : V ; + hinne_V : V ; + hugge_V : V ; + iakttage_V : V ; + inbegripe_V : V ; + inbyde_V : V ; + indrage_V : V ; + inneslute_V : V ; + inskrive_V : V ; + intage_V : V ; + kenne_V : V ; + klemme_V : V ; + klive_V : V ; + klyve_V : V ; + knipe_V : V ; + knyte_V : V ; + komme_V : V ; + krype_V : V ; + kunne_V : V ; + kvide_V : V ; + låte_V : V ; + leve_V : V ; + ligge_V : V ; + lyde_V : V ; + lyge_V : V ; + lyte_V : V ; + mottage_V : V ; + nerstige_V : V ; + nige_V : V ; + nyte_V : V ; + omgive_V : V ; + øverfalle_V : V ; + øvergive_V : V ; + pipe_V : V ; + ride_V : V ; + rinne_V : V ; + rive_V : V ; + ryte_V : V ; + sege_V : V ; + se_V : V ; + sitte_V : V ; + syde_V : V ; + synge_V : V ; + synke_V : V ; + skere_V : V ; + skine_V : V ; + skite_V : V ; + skyte_V : V ; + skride_V : V ; + skrike_V : V ; + skrive_V : V ; + skryte_V : V ; + slå_V : V ; + slinke_V : V ; + slippe_V : V ; + slite_V : V ; + slute_V : V ; + smørje_V : V ; + smite_V : V ; + snyte_V : V ; + sove_V : V ; + spinne_V : V ; + sprikke_V : V ; + spride_V : V ; + springe_V : V ; + stå_V : V ; + stikke_V : V ; + stige_V : V ; + stinke_V : V ; + stride_V : V ; + strype_V : V ; + suge_V : V ; + supe_V : V ; + svelle_V : V ; + svide_V : V ; + svike_V : V ; + sy_V : V ; + tage_V : V ; + tige_V : V ; + tillåte_V : V ; + tillslute_V : V ; + trekke_V : V ; + tyte_V : V ; + tryte_V : V ; + tvinge_V : V ; + uppfinne_V : V ; + uppgive_V : V ; + upplåte_V : V ; + uppstige_V : V ; + upptage_V : V ; + utbyde_V : V ; + utbriste_V : V ; + uteslute_V : V ; + utskrive_V : V ; + vende_V : V ; + vete_V : V ; + vine_V : V ; + vinne_V : V ; + vride_V : V ; +} diff --git a/src/GF/Compile/CheckGrammar.hs b/src/GF/Compile/CheckGrammar.hs index 38a900981..0831c9834 100644 --- a/src/GF/Compile/CheckGrammar.hs +++ b/src/GF/Compile/CheckGrammar.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/03/08 18:08:58 $ +-- > CVS $Date: 2005/03/11 15:37:20 $ -- > CVS $Author: aarne $ --- > CVS $Revision: 1.21 $ +-- > CVS $Revision: 1.22 $ -- -- AR 4\/12\/1999 -- 1\/4\/2000 -- 8\/9\/2001 -- 15\/5\/2002 -- 27\/11\/2002 -- 18\/6\/2003 -- @@ -447,7 +447,7 @@ inferLType gr trm = case trm of return $ (Table p' t', typeType) FV vs -> do - (ty,_) <- checks $ map infer vs + (_,ty) <- checks $ map infer vs --- checkIfComplexVariantType trm ty check trm ty