From 3a69241209c5c6228ebda225c4272ae9d7283fb3 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 25 Jan 2006 09:50:30 +0000 Subject: [PATCH] cleaning up resource module structure --- lib/resource-1.0/doc/gfdoc/Adjective.html | 2 +- lib/resource-1.0/doc/gfdoc/Adverb.html | 2 +- lib/resource-1.0/doc/gfdoc/Basic.html | 2 +- lib/resource-1.0/doc/gfdoc/Cat.html | 2 +- lib/resource-1.0/doc/gfdoc/Conjunction.html | 2 +- lib/resource-1.0/doc/gfdoc/Lang.html | 2 +- lib/resource-1.0/doc/gfdoc/Math.html | 2 +- lib/resource-1.0/doc/gfdoc/Noun.html | 2 +- lib/resource-1.0/doc/gfdoc/Numeral.html | 2 +- lib/resource-1.0/doc/gfdoc/ParadigmsEng.html | 2 +- lib/resource-1.0/doc/gfdoc/ParadigmsFre.html | 2 +- lib/resource-1.0/doc/gfdoc/ParadigmsGer.html | 2 +- lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html | 6 +- lib/resource-1.0/doc/gfdoc/Phrase.html | 2 +- lib/resource-1.0/doc/gfdoc/Question.html | 2 +- lib/resource-1.0/doc/gfdoc/Relative.html | 2 +- lib/resource-1.0/doc/gfdoc/Sentence.html | 2 +- lib/resource-1.0/doc/gfdoc/Structural.html | 8 +- lib/resource-1.0/doc/gfdoc/Tense.html | 2 +- lib/resource-1.0/doc/gfdoc/Tensed.html | 2 +- lib/resource-1.0/doc/gfdoc/Verb.html | 2 +- lib/resource-1.0/german/ListConjunctionGer.gf | 43 ---- lib/resource-1.0/{abstract => old}/Lex.gf | 0 lib/resource-1.0/{english => old}/LexEng.gf | 0 lib/resource-1.0/{french => old}/LexFre.gf | 0 lib/resource-1.0/{german => old}/LexGer.gf | 0 lib/resource-1.0/{swedish => old}/LexSwe.gf | 0 .../{abstract => old}/SeqConjunction.gf | 0 .../{english => old}/SeqConjunctionEng.gf | 0 .../{german => old}/SeqConjunctionGer.gf | 0 .../{romance => old}/SeqConjunctionRomance.gf | 0 .../SeqConjunctionScand.gf | 0 lib/resource-1.0/{abstract => old}/Test.gf | 0 lib/resource-1.0/{english => old}/TestEng.gf | 0 lib/resource-1.0/{french => old}/TestFre.gf | 0 lib/resource-1.0/{german => old}/TestGer.gf | 0 lib/resource-1.0/{swedish => old}/TestSwe.gf | 0 .../{abstract => old}/Untensed.gf | 0 .../{english => old}/UntensedEng.gf | 0 .../{french => old}/UntensedFre.gf | 0 .../{german => old}/UntensedGer.gf | 0 .../{romance => old}/UntensedRomance.gf | 0 .../{scandinavian => old}/UntensedScand.gf | 0 .../{swedish => old}/UntensedSwe.gf | 0 lib/resource-1.0/scandinavian/CommonScand.gf | 193 ++++++++++++++++++ 45 files changed, 219 insertions(+), 69 deletions(-) delete mode 100644 lib/resource-1.0/german/ListConjunctionGer.gf rename lib/resource-1.0/{abstract => old}/Lex.gf (100%) rename lib/resource-1.0/{english => old}/LexEng.gf (100%) rename lib/resource-1.0/{french => old}/LexFre.gf (100%) rename lib/resource-1.0/{german => old}/LexGer.gf (100%) rename lib/resource-1.0/{swedish => old}/LexSwe.gf (100%) rename lib/resource-1.0/{abstract => old}/SeqConjunction.gf (100%) rename lib/resource-1.0/{english => old}/SeqConjunctionEng.gf (100%) rename lib/resource-1.0/{german => old}/SeqConjunctionGer.gf (100%) rename lib/resource-1.0/{romance => old}/SeqConjunctionRomance.gf (100%) rename lib/resource-1.0/{scandinavian => old}/SeqConjunctionScand.gf (100%) rename lib/resource-1.0/{abstract => old}/Test.gf (100%) rename lib/resource-1.0/{english => old}/TestEng.gf (100%) rename lib/resource-1.0/{french => old}/TestFre.gf (100%) rename lib/resource-1.0/{german => old}/TestGer.gf (100%) rename lib/resource-1.0/{swedish => old}/TestSwe.gf (100%) rename lib/resource-1.0/{abstract => old}/Untensed.gf (100%) rename lib/resource-1.0/{english => old}/UntensedEng.gf (100%) rename lib/resource-1.0/{french => old}/UntensedFre.gf (100%) rename lib/resource-1.0/{german => old}/UntensedGer.gf (100%) rename lib/resource-1.0/{romance => old}/UntensedRomance.gf (100%) rename lib/resource-1.0/{scandinavian => old}/UntensedScand.gf (100%) rename lib/resource-1.0/{swedish => old}/UntensedSwe.gf (100%) create mode 100644 lib/resource-1.0/scandinavian/CommonScand.gf diff --git a/lib/resource-1.0/doc/gfdoc/Adjective.html b/lib/resource-1.0/doc/gfdoc/Adjective.html index 5ec079344..0b384776f 100644 --- a/lib/resource-1.0/doc/gfdoc/Adjective.html +++ b/lib/resource-1.0/doc/gfdoc/Adjective.html @@ -7,7 +7,7 @@

Adjectives and adjectival phrases

Author:
-Last update: Fri Jan 20 18:01:37 2006 +Last update: Wed Jan 25 10:50:12 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Adverb.html b/lib/resource-1.0/doc/gfdoc/Adverb.html index abfe772d4..dc190c656 100644 --- a/lib/resource-1.0/doc/gfdoc/Adverb.html +++ b/lib/resource-1.0/doc/gfdoc/Adverb.html @@ -7,7 +7,7 @@

Adverbs and adverbial phrases

Author:
-Last update: Fri Jan 20 18:01:37 2006 +Last update: Wed Jan 25 10:50:12 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Basic.html b/lib/resource-1.0/doc/gfdoc/Basic.html index 7066d8215..f9da1479c 100644 --- a/lib/resource-1.0/doc/gfdoc/Basic.html +++ b/lib/resource-1.0/doc/gfdoc/Basic.html @@ -7,7 +7,7 @@

A Basic Lexicon

Author:
-Last update: Fri Jan 20 18:01:37 2006 +Last update: Wed Jan 25 10:50:12 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Cat.html b/lib/resource-1.0/doc/gfdoc/Cat.html index 430ad80d4..3822534c4 100644 --- a/lib/resource-1.0/doc/gfdoc/Cat.html +++ b/lib/resource-1.0/doc/gfdoc/Cat.html @@ -7,7 +7,7 @@

The category system

Author:
-Last update: Fri Jan 20 18:01:37 2006 +Last update: Wed Jan 25 10:50:12 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Conjunction.html b/lib/resource-1.0/doc/gfdoc/Conjunction.html index b3905380b..86d17d538 100644 --- a/lib/resource-1.0/doc/gfdoc/Conjunction.html +++ b/lib/resource-1.0/doc/gfdoc/Conjunction.html @@ -7,7 +7,7 @@

Coordination

Author:
-Last update: Fri Jan 20 18:01:38 2006 +Last update: Wed Jan 25 10:50:13 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Lang.html b/lib/resource-1.0/doc/gfdoc/Lang.html index e73346719..861454dc7 100644 --- a/lib/resource-1.0/doc/gfdoc/Lang.html +++ b/lib/resource-1.0/doc/gfdoc/Lang.html @@ -7,7 +7,7 @@

The Main Module of the Resource Grammar

Author:
-Last update: Fri Jan 20 18:01:38 2006 +Last update: Wed Jan 25 10:50:13 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Math.html b/lib/resource-1.0/doc/gfdoc/Math.html index f52e9f688..5cfbbcfd0 100644 --- a/lib/resource-1.0/doc/gfdoc/Math.html +++ b/lib/resource-1.0/doc/gfdoc/Math.html @@ -7,7 +7,7 @@

Symbolic expressions

Author:
-Last update: Fri Jan 20 18:01:38 2006 +Last update: Wed Jan 25 10:50:13 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Noun.html b/lib/resource-1.0/doc/gfdoc/Noun.html index 95497a073..c62d998da 100644 --- a/lib/resource-1.0/doc/gfdoc/Noun.html +++ b/lib/resource-1.0/doc/gfdoc/Noun.html @@ -7,7 +7,7 @@

The construction of nouns, noun phrases, and determiners

Author:
-Last update: Fri Jan 20 18:01:38 2006 +Last update: Wed Jan 25 10:50:13 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Numeral.html b/lib/resource-1.0/doc/gfdoc/Numeral.html index 9a1c5f47c..caa162e2b 100644 --- a/lib/resource-1.0/doc/gfdoc/Numeral.html +++ b/lib/resource-1.0/doc/gfdoc/Numeral.html @@ -7,7 +7,7 @@

Numerals

Author:
-Last update: Fri Jan 20 18:01:38 2006 +Last update: Wed Jan 25 10:50:13 2006

diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html b/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html index 9cb2c4d5e..7c2388852 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html @@ -43,7 +43,7 @@

Author: -Last update: Fri Jan 20 18:01:40 2006 +Last update: Wed Jan 25 10:50:14 2006

Produced by diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html b/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html index 295cac122..35e3deef0 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html @@ -41,7 +41,7 @@

Author: -Last update: Fri Jan 20 18:01:41 2006 +Last update: Wed Jan 25 10:50:15 2006

Produced by diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html b/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html index dd001478e..e43582fa4 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html @@ -35,7 +35,7 @@

Author: -Last update: Fri Jan 20 18:01:41 2006 +Last update: Wed Jan 25 10:50:15 2006

Produced by diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html b/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html index c53466c45..bade162d0 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html @@ -43,7 +43,7 @@

Author: -Last update: Fri Jan 20 18:01:41 2006 +Last update: Wed Jan 25 10:50:15 2006

Produced by @@ -90,8 +90,8 @@ words. open (Predef=Predef), Prelude, - ResScand, - DiffSwe, + CommonScand, + ResSwe, MorphoSwe, CatSwe in { diff --git a/lib/resource-1.0/doc/gfdoc/Phrase.html b/lib/resource-1.0/doc/gfdoc/Phrase.html index 781ac4ae5..26ccab4b1 100644 --- a/lib/resource-1.0/doc/gfdoc/Phrase.html +++ b/lib/resource-1.0/doc/gfdoc/Phrase.html @@ -7,7 +7,7 @@

Phrases and utterances

Author:
-Last update: Fri Jan 20 18:01:39 2006 +Last update: Wed Jan 25 10:50:13 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Question.html b/lib/resource-1.0/doc/gfdoc/Question.html index f1a33bc81..ca04583cb 100644 --- a/lib/resource-1.0/doc/gfdoc/Question.html +++ b/lib/resource-1.0/doc/gfdoc/Question.html @@ -7,7 +7,7 @@

Questions and interrogative pronouns

Author:
-Last update: Fri Jan 20 18:01:39 2006 +Last update: Wed Jan 25 10:50:13 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Relative.html b/lib/resource-1.0/doc/gfdoc/Relative.html index f9b5ebb5e..1b4ff5bef 100644 --- a/lib/resource-1.0/doc/gfdoc/Relative.html +++ b/lib/resource-1.0/doc/gfdoc/Relative.html @@ -7,7 +7,7 @@

Relative clauses and pronouns

Author:
-Last update: Fri Jan 20 18:01:39 2006 +Last update: Wed Jan 25 10:50:14 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Sentence.html b/lib/resource-1.0/doc/gfdoc/Sentence.html index f1c6f4029..4259d7796 100644 --- a/lib/resource-1.0/doc/gfdoc/Sentence.html +++ b/lib/resource-1.0/doc/gfdoc/Sentence.html @@ -7,7 +7,7 @@

Clauses, imperatives, and sentential complements

Author:
-Last update: Fri Jan 20 18:01:39 2006 +Last update: Wed Jan 25 10:50:14 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Structural.html b/lib/resource-1.0/doc/gfdoc/Structural.html index 391f02b74..8f6fbe249 100644 --- a/lib/resource-1.0/doc/gfdoc/Structural.html +++ b/lib/resource-1.0/doc/gfdoc/Structural.html @@ -7,7 +7,7 @@

GF Resource Grammar API for Structural Words

Author:
-Last update: Fri Jan 20 18:01:39 2006 +Last update: Wed Jan 25 10:50:14 2006

@@ -119,7 +119,6 @@ This is an alphabetical list of structural words this_NP : NP ; those_NP : NP ; those_Quant : QuantPl ; - thou_Pron : Pron ; through_Prep : Prep ; to_Prep : Prep ; too_AdA : AdA ; @@ -139,9 +138,10 @@ This is an alphabetical list of structural words why_IAdv : IAdv ; with_Prep : Prep ; without_Prep : Prep ; - ye_Pron : Pron ; yes_Phr : Phr ; - you_Pron : Pron ; + youSg_Pron : Pron ; + youPl_Pron : Pron ; + youPol_Pron : Pron ; } diff --git a/lib/resource-1.0/doc/gfdoc/Tense.html b/lib/resource-1.0/doc/gfdoc/Tense.html index 6803f8c21..557d347a1 100644 --- a/lib/resource-1.0/doc/gfdoc/Tense.html +++ b/lib/resource-1.0/doc/gfdoc/Tense.html @@ -7,7 +7,7 @@

Tense, Polarity, and Anteriority

Author:
-Last update: Fri Jan 20 18:01:40 2006 +Last update: Wed Jan 25 10:50:14 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Tensed.html b/lib/resource-1.0/doc/gfdoc/Tensed.html index 65824e318..7103339a7 100644 --- a/lib/resource-1.0/doc/gfdoc/Tensed.html +++ b/lib/resource-1.0/doc/gfdoc/Tensed.html @@ -7,7 +7,7 @@

Tensed forms of sentences, questions, and relative clauses

Author:
-Last update: Fri Jan 20 18:01:40 2006 +Last update: Wed Jan 25 10:50:14 2006

diff --git a/lib/resource-1.0/doc/gfdoc/Verb.html b/lib/resource-1.0/doc/gfdoc/Verb.html index c1e20c622..a5cb77da9 100644 --- a/lib/resource-1.0/doc/gfdoc/Verb.html +++ b/lib/resource-1.0/doc/gfdoc/Verb.html @@ -7,7 +7,7 @@

The construction of verb phrases

Author:
-Last update: Fri Jan 20 18:01:40 2006 +Last update: Wed Jan 25 10:50:14 2006

diff --git a/lib/resource-1.0/german/ListConjunctionGer.gf b/lib/resource-1.0/german/ListConjunctionGer.gf deleted file mode 100644 index 88cd8817e..000000000 --- a/lib/resource-1.0/german/ListConjunctionGer.gf +++ /dev/null @@ -1,43 +0,0 @@ ---concrete ListConjunctionGer of Conjunction = --- CatGer ** open ResGer, Coordination, Prelude in { --- --- lin --- --- ConjS conj ss = {s = conjunctX conj ss} ; --- DConjS conj ss = {s = conjunctDistrX conj ss} ; --- --- ConjAdv conj ss = {s = conjunctX conj ss} ; --- DConjAdv conj ss = {s = conjunctDistrX conj ss} ; --- --- ConjNP conj ss = conjunctTable Case conj ss ** { --- a = {n = conjNumber conj.n ss.a.n ; p = ss.a.p} --- } ; --- DConjNP conj ss = conjunctDistrTable Case conj ss ** { --- a = {n = conjNumber conj.n ss.a.n ; p = ss.a.p} --- } ; --- --- ConjAP conj ss = conjunctTable Agr conj ss ** { --- isPre = ss.isPre --- } ; --- DConjAP conj ss = conjunctDistrTable Agr conj ss ** { --- isPre = ss.isPre --- } ; --- ----- These fun's are generated from the list cat's. --- --- BaseS = twoSS ; --- ConsS = consrSS comma ; --- BaseAdv = twoSS ; --- ConsAdv = consrSS comma ; --- BaseNP x y = twoTable Case x y ** {a = conjAgr x.a y.a} ; --- ConsNP xs x = consrTable Case comma xs x ** {a = conjAgr xs.a x.a} ; --- BaseAP x y = twoTable Agr x y ** {isPre = andB x.isPre y.isPre} ; --- ConsAP xs x = consrTable Agr comma xs x ** {isPre = andB xs.isPre x.isPre} ; --- --- lincat --- [S] = {s1,s2 : Str} ; --- [Adv] = {s1,s2 : Str} ; --- [NP] = {s1,s2 : Case => Str ; a : Agr} ; --- [AP] = {s1,s2 : Agr => Str ; isPre : Bool} ; --- ---} diff --git a/lib/resource-1.0/abstract/Lex.gf b/lib/resource-1.0/old/Lex.gf similarity index 100% rename from lib/resource-1.0/abstract/Lex.gf rename to lib/resource-1.0/old/Lex.gf diff --git a/lib/resource-1.0/english/LexEng.gf b/lib/resource-1.0/old/LexEng.gf similarity index 100% rename from lib/resource-1.0/english/LexEng.gf rename to lib/resource-1.0/old/LexEng.gf diff --git a/lib/resource-1.0/french/LexFre.gf b/lib/resource-1.0/old/LexFre.gf similarity index 100% rename from lib/resource-1.0/french/LexFre.gf rename to lib/resource-1.0/old/LexFre.gf diff --git a/lib/resource-1.0/german/LexGer.gf b/lib/resource-1.0/old/LexGer.gf similarity index 100% rename from lib/resource-1.0/german/LexGer.gf rename to lib/resource-1.0/old/LexGer.gf diff --git a/lib/resource-1.0/swedish/LexSwe.gf b/lib/resource-1.0/old/LexSwe.gf similarity index 100% rename from lib/resource-1.0/swedish/LexSwe.gf rename to lib/resource-1.0/old/LexSwe.gf diff --git a/lib/resource-1.0/abstract/SeqConjunction.gf b/lib/resource-1.0/old/SeqConjunction.gf similarity index 100% rename from lib/resource-1.0/abstract/SeqConjunction.gf rename to lib/resource-1.0/old/SeqConjunction.gf diff --git a/lib/resource-1.0/english/SeqConjunctionEng.gf b/lib/resource-1.0/old/SeqConjunctionEng.gf similarity index 100% rename from lib/resource-1.0/english/SeqConjunctionEng.gf rename to lib/resource-1.0/old/SeqConjunctionEng.gf diff --git a/lib/resource-1.0/german/SeqConjunctionGer.gf b/lib/resource-1.0/old/SeqConjunctionGer.gf similarity index 100% rename from lib/resource-1.0/german/SeqConjunctionGer.gf rename to lib/resource-1.0/old/SeqConjunctionGer.gf diff --git a/lib/resource-1.0/romance/SeqConjunctionRomance.gf b/lib/resource-1.0/old/SeqConjunctionRomance.gf similarity index 100% rename from lib/resource-1.0/romance/SeqConjunctionRomance.gf rename to lib/resource-1.0/old/SeqConjunctionRomance.gf diff --git a/lib/resource-1.0/scandinavian/SeqConjunctionScand.gf b/lib/resource-1.0/old/SeqConjunctionScand.gf similarity index 100% rename from lib/resource-1.0/scandinavian/SeqConjunctionScand.gf rename to lib/resource-1.0/old/SeqConjunctionScand.gf diff --git a/lib/resource-1.0/abstract/Test.gf b/lib/resource-1.0/old/Test.gf similarity index 100% rename from lib/resource-1.0/abstract/Test.gf rename to lib/resource-1.0/old/Test.gf diff --git a/lib/resource-1.0/english/TestEng.gf b/lib/resource-1.0/old/TestEng.gf similarity index 100% rename from lib/resource-1.0/english/TestEng.gf rename to lib/resource-1.0/old/TestEng.gf diff --git a/lib/resource-1.0/french/TestFre.gf b/lib/resource-1.0/old/TestFre.gf similarity index 100% rename from lib/resource-1.0/french/TestFre.gf rename to lib/resource-1.0/old/TestFre.gf diff --git a/lib/resource-1.0/german/TestGer.gf b/lib/resource-1.0/old/TestGer.gf similarity index 100% rename from lib/resource-1.0/german/TestGer.gf rename to lib/resource-1.0/old/TestGer.gf diff --git a/lib/resource-1.0/swedish/TestSwe.gf b/lib/resource-1.0/old/TestSwe.gf similarity index 100% rename from lib/resource-1.0/swedish/TestSwe.gf rename to lib/resource-1.0/old/TestSwe.gf diff --git a/lib/resource-1.0/abstract/Untensed.gf b/lib/resource-1.0/old/Untensed.gf similarity index 100% rename from lib/resource-1.0/abstract/Untensed.gf rename to lib/resource-1.0/old/Untensed.gf diff --git a/lib/resource-1.0/english/UntensedEng.gf b/lib/resource-1.0/old/UntensedEng.gf similarity index 100% rename from lib/resource-1.0/english/UntensedEng.gf rename to lib/resource-1.0/old/UntensedEng.gf diff --git a/lib/resource-1.0/french/UntensedFre.gf b/lib/resource-1.0/old/UntensedFre.gf similarity index 100% rename from lib/resource-1.0/french/UntensedFre.gf rename to lib/resource-1.0/old/UntensedFre.gf diff --git a/lib/resource-1.0/german/UntensedGer.gf b/lib/resource-1.0/old/UntensedGer.gf similarity index 100% rename from lib/resource-1.0/german/UntensedGer.gf rename to lib/resource-1.0/old/UntensedGer.gf diff --git a/lib/resource-1.0/romance/UntensedRomance.gf b/lib/resource-1.0/old/UntensedRomance.gf similarity index 100% rename from lib/resource-1.0/romance/UntensedRomance.gf rename to lib/resource-1.0/old/UntensedRomance.gf diff --git a/lib/resource-1.0/scandinavian/UntensedScand.gf b/lib/resource-1.0/old/UntensedScand.gf similarity index 100% rename from lib/resource-1.0/scandinavian/UntensedScand.gf rename to lib/resource-1.0/old/UntensedScand.gf diff --git a/lib/resource-1.0/swedish/UntensedSwe.gf b/lib/resource-1.0/old/UntensedSwe.gf similarity index 100% rename from lib/resource-1.0/swedish/UntensedSwe.gf rename to lib/resource-1.0/old/UntensedSwe.gf diff --git a/lib/resource-1.0/scandinavian/CommonScand.gf b/lib/resource-1.0/scandinavian/CommonScand.gf new file mode 100644 index 000000000..8f076bec5 --- /dev/null +++ b/lib/resource-1.0/scandinavian/CommonScand.gf @@ -0,0 +1,193 @@ +--1 Auxiliary operations common for Scandinavian languages. +-- +-- This module contains operations that are shared by the Scandinavian +-- languages. The complete set of auxiliary operations needed to +-- implement [Test Test.html] is defined in [ResScandinavian ResScandinavian.html], +-- which depends on [DiffScandinavian DiffScandinavian.html]. + +resource CommonScand = ParamScand ** open Prelude in { + + flags optimize=all ; + + oper + +-- For $Lex$. + +-- For each lexical category, here are the worst-case constructors. +-- +-- But $mkNoun$ is fully defined only for each language, since +-- $Gender$ varies. + + nounForms : (x1,_,_,x4 : Str) -> (Number => Species => Case => Str) = + \man,mannen,men,mennen -> \\n,d,c => case of { + => mkCase c man ; + => mkCase c mannen ; + => mkCase c men ; + => mkCase c mennen + } ; + + Adjective : Type = {s : AForm => Str} ; + + mkAdjective : (x1,_,_,_,_,_,x7 : Str) -> {s : AForm => Str} = + \liten, litet, lilla, sma, mindre, minst, minsta -> { + s = table { + AF (APosit a) c => mkCase c (mkAdjPos a liten litet lilla sma) ; + AF ACompar c => mkCase c mindre ; + AF (ASuperl SupStrong) c => mkCase c minst ; + AF (ASuperl SupWeak) c => mkCase c minsta + } + } ; + + mkVerb : (x1,_,_,_,_,_,_,x8 : Str) -> {s : VForm => Str ; vtype : VType} = + \finna,finner,finn,fann,funnit,funnen,funnet,funna -> { + s = table { + VF (VPres Act) => finner ; + VF (VPres Pass) => mkVoice Pass finn ; + VF (VPret v) => mkVoice v fann ; + VF (VImper v) => mkVoice v finn ; + VI (VInfin v) => mkVoice v finna ; + VI (VSupin v) => mkVoice v funnit ; + VI (VPtPret a c)=> mkCase c (mkAdjPos a funnen funnet funna funna) + } ; + vtype = VAct + } ; + +-- These are useful auxiliaries. + + mkCase : Case -> Str -> Str = \c,f -> case c of { + Nom => f ; + Gen => f + case last f of { + "s" | "x" => [] ; + _ => "s" + } + } ; + + mkAdjPos : AFormPos -> (s1,_,_,s4 : Str) -> Str = + \a, liten, litet, lilla, sma -> + case a of { + Strong gn => case gn of { + SgUtr => liten ; + SgNeutr => litet ; + Plg => sma + } ; + Weak Sg => lilla ; + Weak Pl => sma + } ; + + mkVoice : Voice -> Str -> Str = \v,s -> case v of { + Act => s ; + Pass => s + case last s of { + "s" => "es" ; + _ => "s" + } + } ; + + +-- For $Noun$. + + artDef : GenNum -> Str = \gn -> gennumForms "den" "det" "de" ! gn ; + + mkNP : (x1,_,_,_,x5 : Str) -> GenNum -> Person -> + {s : NPForm => Str ; a : Agr} = \du,dig,din,ditt,dina,gn,p -> { + s = table { + NPNom => du ; + NPAcc => dig ; + NPPoss g => gennumForms din ditt dina ! g + } ; + a = { + gn = gn ; + p = p + } + } ; + + gennumForms : (x1,x2,x3 : Str) -> GenNum => Str = \den,det,de -> + table { + SgUtr => den ; + SgNeutr => det ; + _ => de + } ; + + regNP : Str -> Str -> GenNum -> {s : NPForm => Str ; a : Agr} = + \det,dess,gn -> + mkNP det det dess dess dess gn P3 ; + + +-- For $Verb$. + + Verb : Type = { + s : VForm => Str ; + vtype : VType + } ; + + VP = { + s : VPForm => { + fin : Str ; -- V1 har ---s1 + inf : Str -- V2 sagt ---s4 + } ; + a1 : Polarity => Str ; -- A1 inte ---s3 + n2 : Agr => Str ; -- N2 dig ---s5 + a2 : Str ; -- A2 idag ---s6 + ext : Str ; -- S-Ext att hon går ---s7 + --- ea1,ev2, --- these depend on params of v and a1 + en2,ea2,eext : Bool -- indicate if the field exists + } ; + + + insertObj : (Agr => Str) -> VP -> VP = \obj,vp -> { + s = vp.s ; + a1 = vp.a1 ; + n2 = \\a => vp.n2 ! a ++ obj ! a ; + a2 = vp.a2 ; + ext = vp.ext ; + en2 = True ; + ea2 = vp.ea2 ; + eext = vp.eext + } ; + + insertAdv : Str -> VP -> VP = \adv,vp -> { + s = vp.s ; + a1 = vp.a1 ; + n2 = vp.n2 ; + a2 = vp.a2 ++ adv ; + ext = vp.ext ; + en2 = vp.en2 ; + ea2 = True ; + eext = vp.eext + } ; + + insertAdV : Str -> VP -> VP = \adv,vp -> { + s = vp.s ; + a1 = \\b => vp.a1 ! b ++ adv ; + n2 = vp.n2 ; + a2 = vp.a2 ; + ext = vp.ext ; + en2 = vp.en2 ; + ea2 = vp.ea2 ; + eext = vp.eext + } ; + + infVP : VP -> Agr -> Str = \vp,a -> + (vp.s ! VPInfinit Simul).inf ++ vp.n2 ! a ++ vp.a2 ++ vp.ext ; --- a1 + + +-- For $Sentence$. + + Clause : Type = { + s : Tense => Anteriority => Polarity => Order => Str + } ; + + mkClause : Str -> Agr -> VP -> Clause = \subj,agr,vp -> { + s = \\t,a,b,o => + let + verb = vp.s ! VPFinite t a ; + neg = vp.a1 ! b ; + compl = vp.n2 ! agr ++ vp.a2 ++ vp.ext + in + case o of { + Main => subj ++ verb.fin ++ neg ++ verb.inf ++ compl ; + Inv => verb.fin ++ subj ++ neg ++ verb.inf ++ compl ; + Sub => subj ++ neg ++ verb.fin ++ verb.inf ++ compl + } + } ; + +}