diff --git a/lib/resource-1.0/abstract/Extra.gf b/lib/resource-1.0/abstract/Extra.gf new file mode 100644 index 000000000..a7908a2ce --- /dev/null +++ b/lib/resource-1.0/abstract/Extra.gf @@ -0,0 +1,14 @@ +--1 More syntax rules + +-- This module defines syntax rules that are not implemented in all +-- languages, but in more than one, so that it makes sense to offer a +-- common API. + +abstract Extra = Cat ** { + + fun + GenNP : NP -> Quant ; -- this man's + EmbedBareS : S -> SC ; -- (I know) you go + ComplBareVS : VS -> S -> VP ; -- know you go + +} \ No newline at end of file diff --git a/lib/resource-1.0/english/English.gf b/lib/resource-1.0/english/English.gf index 2b4f474d4..d1efdb5af 100644 --- a/lib/resource-1.0/english/English.gf +++ b/lib/resource-1.0/english/English.gf @@ -3,5 +3,5 @@ concrete English of EnglishAbs = LangEng, -- IrregEng, - ExtEng + ExtraEng ** {} ; diff --git a/lib/resource-1.0/english/EnglishAbs.gf b/lib/resource-1.0/english/EnglishAbs.gf index ba1522274..6e5ede07a 100644 --- a/lib/resource-1.0/english/EnglishAbs.gf +++ b/lib/resource-1.0/english/EnglishAbs.gf @@ -1,5 +1,5 @@ abstract EnglishAbs = Lang, --- IrregEngAbs, - ExtEngAbs + ExtraEngAbs ** {} ; diff --git a/lib/resource-1.0/english/ExtEng.gf b/lib/resource-1.0/english/ExtEng.gf deleted file mode 100644 index a1aa8325d..000000000 --- a/lib/resource-1.0/english/ExtEng.gf +++ /dev/null @@ -1,26 +0,0 @@ -concrete ExtEng of ExtEngAbs = CatEng ** open ResEng in { - - lincat - - Aux = {s : Polarity => Str} ; - - lin - - PredAux np aux vp = mkClause (np.s ! Nom) np.a { - s = \\t,ant,b,ord,agr => - let - fin = aux.s ! b ; - vf : Str -> Str -> {fin, inf : Str} = \x,y -> - {fin = x ; inf = y} ; - in - case ant of { - Simul => vf fin [] ; - Anter => vf fin "have" - } ; - s2 = \\agr => infVP vp agr - } ; - - can_Aux = {s = \\p => posneg p "can"} ; ---- cannt - must_Aux = {s = \\p => posneg p "must"} ; - -} diff --git a/lib/resource-1.0/english/ExtEngAbs.gf b/lib/resource-1.0/english/ExtEngAbs.gf deleted file mode 100644 index 85c117e47..000000000 --- a/lib/resource-1.0/english/ExtEngAbs.gf +++ /dev/null @@ -1,15 +0,0 @@ -abstract ExtEngAbs = Cat ** { - - cat - Aux ; -- auxiliary verbs: "can", "must", etc - --- Notice that $Aux$ cannot form $VP$ with infinitive, imperative, etc. - - fun - PredAux : NP -> Aux -> VP -> Cl ; - QuestAux : IP -> Aux -> VP -> QCl ; - - can_Aux : Aux ; - must_Aux : Aux ; - -} diff --git a/lib/resource-1.0/english/ExtraEng.gf b/lib/resource-1.0/english/ExtraEng.gf new file mode 100644 index 000000000..9aaffa36e --- /dev/null +++ b/lib/resource-1.0/english/ExtraEng.gf @@ -0,0 +1,8 @@ +concrete ExtraEng of ExtraEngAbs = CatEng ** open ResEng in { + + lin + GenNP np = {s = \\_ => np.s ! Gen} ; + EmbedBareS s = s ; + ComplBareVS v s = insertObj (\\_ => s.s) (predV v) ; + +} diff --git a/lib/resource-1.0/english/ExtraEngAbs.gf b/lib/resource-1.0/english/ExtraEngAbs.gf new file mode 100644 index 000000000..f4a9c9289 --- /dev/null +++ b/lib/resource-1.0/english/ExtraEngAbs.gf @@ -0,0 +1,3 @@ +abstract ExtraEngAbs = Extra ** { + +} diff --git a/lib/resource-1.0/norwegian/ExtraNor.gf b/lib/resource-1.0/norwegian/ExtraNor.gf new file mode 100644 index 000000000..1cfd1008b --- /dev/null +++ b/lib/resource-1.0/norwegian/ExtraNor.gf @@ -0,0 +1,8 @@ +concrete ExtraNor of ExtraNorAbs = ExtraScandNor ** open CommonScand, ResNor in { + + lin + PossNP np pro = { + s = \\c => np.s ! NPNom ++ pro.s ! NPPoss np.a.gn ; ---- c + a = np.a + } ; +} diff --git a/lib/resource-1.0/norwegian/ExtraNorAbs.gf b/lib/resource-1.0/norwegian/ExtraNorAbs.gf new file mode 100644 index 000000000..21c03ae7e --- /dev/null +++ b/lib/resource-1.0/norwegian/ExtraNorAbs.gf @@ -0,0 +1,9 @@ +-- Structures special for Norwegian. These are not implemented in other +-- Scandinavian languages. + +abstract ExtraNorAbs = ExtraScandAbs ** { + + fun + PossNP : NP -> Pron -> NP ; -- bilen min + +} \ No newline at end of file diff --git a/lib/resource-1.0/norwegian/ExtraScandNor.gf b/lib/resource-1.0/norwegian/ExtraScandNor.gf new file mode 100644 index 000000000..5f988fe7e --- /dev/null +++ b/lib/resource-1.0/norwegian/ExtraScandNor.gf @@ -0,0 +1,2 @@ +concrete ExtraScandNor of ExtraScandAbs = CatNor ** ExtraScand with + (ResScand = ResNor) ; diff --git a/lib/resource-1.0/norwegian/Norwegian.gf b/lib/resource-1.0/norwegian/Norwegian.gf new file mode 100644 index 000000000..cc0edaf9b --- /dev/null +++ b/lib/resource-1.0/norwegian/Norwegian.gf @@ -0,0 +1,7 @@ +--# -path=.:../scandinavian:../abstract:../common:prelude + +concrete Norwegian of NorwegianAbs = + LangNor, +-- IrregNor, + ExtraNor + ** {} ; diff --git a/lib/resource-1.0/norwegian/NorwegianAbs.gf b/lib/resource-1.0/norwegian/NorwegianAbs.gf new file mode 100644 index 000000000..0cca4cf90 --- /dev/null +++ b/lib/resource-1.0/norwegian/NorwegianAbs.gf @@ -0,0 +1,5 @@ +abstract NorwegianAbs = + Lang, +--- IrregNorAbs, + ExtraNorAbs + ** {} ; diff --git a/lib/resource-1.0/scandinavian/ExtScand.gf b/lib/resource-1.0/scandinavian/ExtScand.gf deleted file mode 100644 index 7ec98ea9e..000000000 --- a/lib/resource-1.0/scandinavian/ExtScand.gf +++ /dev/null @@ -1,14 +0,0 @@ -incomplete concrete ExtScand of ExtScandAbs = - CatScand ** open CommonScand, ResScand in { - - lin - DefSgN predet noun = let g = noun.g in { - s = \\c => predet.s ! gennum g Sg ++ noun.s ! Sg ! Def ! caseNP c ; - a = agrP3 g Sg - } ; - DefPlN predet noun = let g = noun.g in { - s = \\c => predet.s ! Plg ++ noun.s ! Pl ! Def ! caseNP c ; - a = agrP3 g Sg - } ; - -} diff --git a/lib/resource-1.0/scandinavian/ExtScandAbs.gf b/lib/resource-1.0/scandinavian/ExtScandAbs.gf deleted file mode 100644 index e23f05f8e..000000000 --- a/lib/resource-1.0/scandinavian/ExtScandAbs.gf +++ /dev/null @@ -1,9 +0,0 @@ -abstract ExtScandAbs = Cat ** { - - fun - --- Definite form of simple nouns without article; neither $Num$ nor $Ord$ allowed. - - DefSgN, DefPlN : Predef -> N -> NP ; - -} diff --git a/lib/resource-1.0/scandinavian/ExtraScand.gf b/lib/resource-1.0/scandinavian/ExtraScand.gf new file mode 100644 index 000000000..c743cb908 --- /dev/null +++ b/lib/resource-1.0/scandinavian/ExtraScand.gf @@ -0,0 +1,12 @@ +incomplete concrete ExtraScand of ExtraScandAbs = CatScand ** open CommonScand,ResScand in { + + lin + GenNP np = { + s = \\n,_,g => np.s ! NPPoss (gennum g n) ; + det = DDef Indef + } ; + + EmbedBareS s = {s = s.s ! Sub} ; + ComplBareVS v s = insertObj (\\_ => s.s ! Sub) (predV v) ; + +} diff --git a/lib/resource-1.0/scandinavian/ExtraScandAbs.gf b/lib/resource-1.0/scandinavian/ExtraScandAbs.gf new file mode 100644 index 000000000..7f0fb1651 --- /dev/null +++ b/lib/resource-1.0/scandinavian/ExtraScandAbs.gf @@ -0,0 +1,3 @@ +abstract ExtraScandAbs = Extra ** { + +} diff --git a/lib/resource-1.0/swedish/ExtraScandSwe.gf b/lib/resource-1.0/swedish/ExtraScandSwe.gf new file mode 100644 index 000000000..ba62a8f1e --- /dev/null +++ b/lib/resource-1.0/swedish/ExtraScandSwe.gf @@ -0,0 +1,2 @@ +concrete ExtraScandSwe of ExtraScandAbs = CatSwe ** ExtraScand with + (ResScand = ResSwe) ; diff --git a/lib/resource-1.0/swedish/ExtraSwe.gf b/lib/resource-1.0/swedish/ExtraSwe.gf new file mode 100644 index 000000000..ca533be6b --- /dev/null +++ b/lib/resource-1.0/swedish/ExtraSwe.gf @@ -0,0 +1,3 @@ +concrete ExtraSwe of ExtraSweAbs = ExtraScandSwe ** { + +} diff --git a/lib/resource-1.0/swedish/Swedish.gf b/lib/resource-1.0/swedish/Swedish.gf new file mode 100644 index 000000000..f71934293 --- /dev/null +++ b/lib/resource-1.0/swedish/Swedish.gf @@ -0,0 +1,7 @@ +--# -path=.:../scandinavian:../abstract:../common:prelude + +concrete Swedish of SwedishAbs = + LangSwe, +-- IrregSwe, + ExtraSwe + ** {} ; diff --git a/lib/resource-1.0/swedish/SwedishAbs.gf b/lib/resource-1.0/swedish/SwedishAbs.gf new file mode 100644 index 000000000..b4bf60813 --- /dev/null +++ b/lib/resource-1.0/swedish/SwedishAbs.gf @@ -0,0 +1,5 @@ +abstract SwedishAbs = + Lang, +--- IrregSweAbs, + ExtraSweAbs + ** {} ;