From 695dcf7cbcba661ab04c2c3d5adc192f5e37650c Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 14 Apr 2004 08:52:11 +0000 Subject: [PATCH] more shallow grs --- lib/resource-0.6/english/MorphoEng.gf | 13 + lib/resource-0.6/english/ParadigmsEng.gf | 11 +- lib/resource-0.6/gf-resource.html | 594 ++++++++++++++++++ lib/resource-0.6/shallow/Shallow.gf | 4 + lib/resource-0.6/shallow/ShallowI.gf | 4 + lib/resource-0.6/shallow/english/LexAbs.gf | 244 +++++++ lib/resource-0.6/shallow/english/LexEng.gf | 245 ++++++++ lib/resource-0.6/shallow/english/english.para | 21 + lib/resource-0.6/shallow/swedish/Lex.gf | 148 +++++ lib/resource-0.6/shallow/swedish/LexSwe.gf | 150 +++++ lib/resource-0.6/shallow/swedish/swe.para | 12 + lib/resource-0.6/swedish/ParadigmsSwe.gf | 17 +- 12 files changed, 1458 insertions(+), 5 deletions(-) create mode 100644 lib/resource-0.6/gf-resource.html create mode 100644 lib/resource-0.6/shallow/english/LexAbs.gf create mode 100644 lib/resource-0.6/shallow/english/LexEng.gf create mode 100644 lib/resource-0.6/shallow/english/english.para create mode 100644 lib/resource-0.6/shallow/swedish/Lex.gf create mode 100644 lib/resource-0.6/shallow/swedish/LexSwe.gf create mode 100644 lib/resource-0.6/shallow/swedish/swe.para diff --git a/lib/resource-0.6/english/MorphoEng.gf b/lib/resource-0.6/english/MorphoEng.gf index 54dbdeb2a..3061b4e7e 100644 --- a/lib/resource-0.6/english/MorphoEng.gf +++ b/lib/resource-0.6/english/MorphoEng.gf @@ -33,6 +33,12 @@ oper nounY : Str -> CommonNoun = \fl -> mkNoun (fl + "y") (fl + "ies") (fl + "y's") (fl + "ies'") ; + nounGen : Str -> CommonNoun = \dog -> case last dog of { + "y" => nounY "dog" ; + "s" => nounS (init "dog") ; + _ => nounReg "dog" + } ; + --3 Proper names -- -- Regular proper names are inflected with "'s" in the genitive. @@ -174,6 +180,13 @@ oper verbP3y : Str -> VerbP3 = \cr -> mkVerbP3 (cr + "y") (cr + "ies") (cr + "ied") (cr + "ied") ; + verbGen : Str -> VerbP3 = \kill -> case last kill of { + "y" => verbP3y (init "kill") ; + "e" => verbP3y (init "kill") ; + "s" => verbP3s (init "kill") ; + _ => regVerbP3 "kill" + } ; + verbP3Have = mkVerbP3 "have" "has" "had" "had" ; verbP3Do = mkVerbP3 "do" "does" "did" "done" ; diff --git a/lib/resource-0.6/english/ParadigmsEng.gf b/lib/resource-0.6/english/ParadigmsEng.gf index 6178b6023..7c0315a92 100644 --- a/lib/resource-0.6/english/ParadigmsEng.gf +++ b/lib/resource-0.6/english/ParadigmsEng.gf @@ -9,7 +9,7 @@ -- expressions of basic categories: nouns, adjectives, verbs. -- -- Closed categories (determiners, pronouns, conjunctions) are --- accessed through the resource syntax API, $resource.Abs.gf$. +-- accessed through the resource syntax API, $Structural.gf$. -- -- The main difference with $MorphoEng.gf$ is that the types -- referred to are compiled resource grammar types. We have moreover @@ -148,6 +148,12 @@ oper tvPartReg : Str -> Str -> Str -> TV ; -- get, along, with +-- Ditransitive verbs. + + mkV3 : V -> Str -> Str -> V3 ; -- prata, med, om + v3Dir : V -> Str -> V3 ; -- ge,_,till + v3DirDir : V -> V3 ; -- ge,_,_ + -- The definitions should not bother the user of the API. So they are -- hidden from the document. --. @@ -239,4 +245,7 @@ oper tvDir = \v -> mkTV v [] ; tvGenDir = \s -> tvDir (vGen s) ; + mkV3 x y z = mkDitransVerb x y z ** {lock_V3 = <>} ; + v3Dir x y = mkV3 x [] y ; + v3DirDir x = v3Dir x [] ; } ; diff --git a/lib/resource-0.6/gf-resource.html b/lib/resource-0.6/gf-resource.html new file mode 100644 index 000000000..cdf196771 --- /dev/null +++ b/lib/resource-0.6/gf-resource.html @@ -0,0 +1,594 @@ + + + + +
+ + +

The GF Resource Grammar Library

+ + +Aarne Ranta +2002-2004 + +

+ +Version 0.6: source package. + +

+ +Current languages: English, Finnish, French, German, Italian, Russian, Swedish. + +

+ + +News.
+ +13/4/2004 Version 0.6 written using the module system of GF 2. Also an +extended coverage. The files are placed in separate subdirectories (one +per language) and have different names than before, so that file names +(without the extension .gf) are also legal module names. + +
+ +15/8/2003 Version 0.4 with Finnish added. Some updates of the Russian modules. + +
+ +25/6/2003 Release of GF 1.2 making it much more efficient to work with +resource grammars. See +highlights. +Also source package version 0.3 +with some bug fixes. + +
+ +5/6/2003. Russian resource modules by +Janna Khegai. +Cyrillic strings in the files *.RusU.gf use UTF-8 encoding, +which is automatically detected by the Java GUI to GF. However, in web +browsers the encoding must be set manually. + +
+ +3/6/2003. New version of this document, with separate sections +on application and resource grammarians' views and +added documentation +on the type system of each language X +in resource.X.gf. + +
+ +23/5/2003. High-level lexicon access also in +French, +Italian, +and +Swedish. + +
+ +23/5/2003. +Italian grammar based on generic Romance modules, shared with French. + +
+ +14/4/2003. High-level access to define a lexicon in +English and German. + +

+ + +Notice. You need GF Version 2.0beta or later +to work with these resource grammars. +It is available from the +GF home page. + + + +

+ + +

Introduction

+ +As programs in general can be divided into +application programs and library programs, +GF grammars can be divided into +application grammars and +resource grammars. +An application grammar is typically built around +a semantic model, which is formalized as the abstract +syntax of the language. Concrete syntax defines +a mapping from the abstract syntax into English or +Swedish or some other language. +A resource grammar is not based on semantics, but its +purpose is to define the linguistic "surface" structures +of some language. The availability of these structures makes it easier to +write application grammars. + + + +

Abstraction level

+ +Resource grammars +raise the level of abstraction in concrete syntax. +The author of an application grammar is freed from thinking +about inflection, word order, etc, but can use structured +tree-like objects in linearization rules. For instance, to +express the linearization of the arithmetical predicate even +in French, she no longer has to write +
+  lin Even x = {s =
+      table {
+        m => x.s ++ 
+             table {Ind  => "est" ;  Subj => "soit"} ! m ++
+             table {Masc => "pair" ; Fem  => "paire"} ! x.g
+      }
+    } ;
+
+but simply +
+  lin Even = predA1 (adjReg "pair") ;
+
+The author of the French resource grammar will have defined the +functions predAdj and adjReg in such a way that +they can be used in all applications. + + + +

Unity of language

+ +In addition to high abstraction level, reusability, and the division +of labour, resource grammars have the virtue of making sense of the +unity of a language such as English: while application grammars +depend on applications, resource grammars depend on language. +What is more, resource grammars for related languages can +share much of their code: to what degree this can be done gives +a measure of how related the languages are. +Thus we find resource grammars to be an interesting linguistic +project in its own right. + + +

Semantics

+ +We leave it open if we can also explain the semantics +of resource grammar on the general level. The philosophy of GF, +inherited from logical frameworks, +is that semantics is only given to +application grammars. (You can also compare them to Wittgenstein's +"language games"). +This view gives us a lot of freedom in formulating resource grammars. +When describing them, we sometimes say that such-and-such construction +is likely to be ruled out by semantic reasons; what we mean is that +this will actually happen in application grammars; we do not +mean that GF has no semantic rules. +An example of this is the free formation of question adverbials, e.g. +From which city is every number even or odd?. +The resource grammar makes it possible to form this question, +but it can hardly be grammatical in any sensible application grammar. + + + +

Programmer's view on resource grammars

+ +The resource grammar library a hierarchical structure. Its main layers are + +The core resources should not be needed by application grammarians: it should +be enough to use the core resource API and the derived libraries. If +this is not the case, the best solution is to extend the derived resource +libraries or create new ones. + + + +

Grammaticality guarantee via data abstraction

+ +An important principle is that + +This principle is simultaneously a guidance for resource grammarians +and an argument for the application grammarian to use these libraries. +What we mean by "only using the libraries" is that + +Thus for instance no records, tables, selections or projections should appear +in the rules. What we have achieved then is total data abstraction, +and the grammaticality guarantee can be given. + +

+ +Since the resource grammars are work in progress, their coverage is not +yet sufficient for complete data abstraction. In addition, there may of course +be bugs in the resource grammars that destroy grammaticality. The GF group is +grateful for bug reports, requests, and contributions! + +

+ +The most important exception to total data abstraction in practice is the +incompleteness of resource lexica. Since it is impossible to have +full coverage of all the words in a language, users often have to introduce +their own lexical entries, and thereby use literal strings in their GF code. +The safest and most convenient way of using this is via functions +defined in ParadigmsX.gf files. Using these functions guarantees +that the lexical entries created are type-correct. But nothing guards +against misspelling a word, picking a wrong inflectional pattern, or +a wrong inherent feature (such as gender). + + + +

The resource grammar documentation in gfdoc

+ +All documented GF grammars linked from this page +have been written in GF and then translated to HTML +using a light-weight documentation tool, +gfdoc. The tool is available as a part of the GF +source code package, in the Haskell file +util/GFDoc.hs that can be run in the Hugs interpreter +by the script util/gfdoc. The program also has the +flag +latex, which produces output in Latex instead of +HTML. + + + +

The core resource API

+ +The API is divided into two modules, Combiantions and +its extension Structural. + +

+ +The file Combinations.gf +gives the core resource type signatures of phrasal categories and +syntactic combination rules, together with some explanations +and examples. The examples are so far only in English, but their +equivalents are available in all of the languages for which the +API has been implemented. + +

+ +The file Structurals.gf +gives a list of structural words such as determiners, pronouns, +prepositions, and conjunctions. + +

+ +The file Structural.gf cannot be imported directly, but +via the generated files ResourceX.gf for each language X. +In these files, the fun/lin and cat/lincat judgements have been +translated into oper judgements. + + + +

The lexical paradigm modules

+ +The lexical paradigm modules define, for +each lexical category, a worst-case macro for adding words +of that category by giving a sufficient number of characteristic +forms. In addition, the most common regular paradigms are +included, where it is enough just to give one form to generate +all the others. + +

+ +For example, the English paradigm module has the worst-case macro for nouns, +

+  mkN : (man,men,man's,men's : Str) -> Gender -> N ;
+
+taking four forms and a gender (human or nonhuman, +as is also explained in the module). Its application +
+  mkN "mouse" "mice" "mouse's" "mice's" nonhuman
+
+defines all information that is needed for the noun mouse. +There are also some regular patterns, for instance, +
+  nReg  : Str -> Gender -> N ;   -- dog, dogs
+  nKiss : Str -> Gender -> N ;   -- kiss, kisses
+
+examples of which are +
+  nReg "car" nonhuman
+  nKiss "waitress" human
+
+ +

+ +Here are the documented versions of the paradigm modules: +

+ + +

The derived resource libraries

+ +The core resource grammar is minimal in the sense that it defines the +smallest syntactic combinations and has no redundancy. For applications, it +is usually more convenient to use combinations of the minimal rules. +Some such combinations are given in the predication library, +which defines the simultaneous applications of one- and two-place +verbs and adjectives to all their argument noun phrases. It also +defines some other constructions useful for logical and mathematical +applications. + +

+ +The API of the predication library is in the file +Predication.gf. +What is imported is one of the language-dependent files, +X/PredicationX.gf for each language X. + + + +

The language-dependent type systems

+ +Sometimes it is useful for the application grammarian to know what the +language-dependent linearizations types are for each category in the +core resource. These types are defined in the files CombinationsX.gf: + +For the sake of uniformity, we have tried to use the same names +of parameter types when applicable. For instance, the gender parameter +is called Gender in every grammar, even though its values +differ. The definitions of the parameter +types are given in the files TypesX.gf. +The application grammarian following the complete abstraction principle +should not use the parameter constructors directly, but rather the +names defined in ParadigmsX.gf. + + + +

Linguist's view on resource grammars

+ +

GF and other grammar formalisms

+ +Linguists in particular might be interested in resource +grammars for their own sake, not as basis of applications. +Since few linguists are so far familiar with GF, we refer to the +GF Homepage +and especially to the +GF Tutorial. +What comes here is a brief summary of the relation of GF to +other record-based formalisms. + +

+ +The records of GF are much like feature structures in PATR or HPSG. +The main differences are that +

+The latter difference explains why a GF record typically carries more +information than a feature structure. For instance, the record describing +the French noun cheval is +
+  {s = table {Sg => "cheval" ; Pl => "chevaux"} ; g = Masc} ;
+
+showing the full inflection table of the (abstract) noun cheval. +A PATR record +for the French word cheval would be +
+  {s = "cheval" ; n = Sg ; g = Masc} ;
+
+showing just the information that can be gathered from the (concrete) +string cheval. +There is a rather straightforward sense in which the PATR record is an +instance of the GF record. + +

+ +When generating language from syntax trees (or from logical formulas via +syntax trees), the record containing full inflection tables is an efficient +(linear-time) method of producing the correct forms. +This is important when text is generated in real time in +an interactive system. + + + +

The structure of core resource grammars

+ +As explained above, the application grammarian's view on resource grammars +is through API modules. They are collections of type signatures of functions. +It is the task of linguists to define these functions. +The definitions are in the end given +in the core resource grammars. + +

+ +We have divided the core resource grammar for each language X +into the following parts: +

+To get the most powerful resource grammar for each language, one can use +these files directly. + +

+ +However, the languages we have studied have so much in common +that we have gathered a considerable set of categories and rules +in a multilingual resource grammar. Its parts are +

+The advantage of using this API in application grammars is that +their concrete syntax looks the same for all languages +up to non-structural words. Thus it is possible to produce concrete syntaxes +for new languages without knowing almost anything about them. +The abstract syntax serves as a common API to the core resource grammar. + + +

The code for the core resource grammars

+ +The following links go to the gfdoc-generated +HTML files while showing the names of the GF files. + + + +

Compiling and using the resource

+ +If you want to use the resource grammars, +you should download and unpack the +source package. +At Chalmers, however, we keep the resource grammars in the +GF CVS archive, in the directory Grammars/resource/, +and you'd better take them that way. The package accessible through www +is usually not quite up to date. + +

+ +To compile the resource into reusable operations, for all languages, type +

+  make
+
+in the resource/ directory. +This requires that you have a recent version of GF (>= 1.1). +What you get is a set of files with names res.X.gf. +The file res.Types.gf gives the type signatures +of the operations. You need never consult any of these files, +but mostly look into resource.Abs.gf for the type +signatures of syntactic structures. + + + +

Examples of using the resource grammars

+ +

A test suite

+ +The grammars test.X.gf define a few expressions of each +lexical category and make it possible to test linearization, parsing, +random generation, and editing. + + +

A database query language

+ +The grammars database/(database | restaurant).X.gf +make use of the resource. The restaurant.X.gf +grammars are just one possible application building on the generic +database.X.gf grammars. +Look at the +abstract database syntax +and, as an example, the +French concrete syntax. + + + +

A dialogue system for the video recorder

+ +The grammars video/video.X.gf are meant to be a prototype +for dialogu systems. Look at the +abstract video grammar +and, as an example, the +English concrete syntax. + + + +

Functional morphology

+ +Even though GF is a useful language for describing syntax and semantics, it +is not the optimal choice for morphology. +One reason is the absence of low-level +programming, such as string matching. Another reason is efficiency. +In connection with the resource grammar project, we have started another +project, functional morphology, which uses Haskell to implement +morphology. Haskell morphologies can then be used for generating +GF morphologies, as exemplified by large parts of +morpho.Swe.gf. + +

+ +Work is in progress to document functional morphology, but here is +a beginning: +

+(Notice that we have here used gfdoc on Haskell files.) + +

+ +To see that it is nevertheless possible to implement morphology in GF, look +at the French morphology in +morpho.Fra.gf. +Its verb part is complete in the sense that it +implements all the 88 inflection tables of the Bescherelle. + + + +

Further reading

+ +If you want to read an informal introduction to +resource grammars, see these +slides, written for a German computer science +audience. Or these +other slides, written for a Swedish +linguistic audience. + + + + + diff --git a/lib/resource-0.6/shallow/Shallow.gf b/lib/resource-0.6/shallow/Shallow.gf index 1055f0d61..630966fd4 100644 --- a/lib/resource-0.6/shallow/Shallow.gf +++ b/lib/resource-0.6/shallow/Shallow.gf @@ -18,9 +18,11 @@ abstract Shallow = { Verb ; TV ; Adj ; + N ; Noun ; CN ; NP ; + PN ; Adv ; Prep ; @@ -48,7 +50,9 @@ abstract Shallow = { PrepNP : Prep -> NP -> Adv ; PrepNoun : CN -> Prep -> NP -> CN ; CNNoun : Noun -> CN ; + NounN : N -> Noun ; DefNP, IndefNP, EveryNP, AllNP : CN -> NP ; + UsePN : PN -> NP ; PossessPrep : Prep ; } diff --git a/lib/resource-0.6/shallow/ShallowI.gf b/lib/resource-0.6/shallow/ShallowI.gf index 494884f73..88ab312d6 100644 --- a/lib/resource-0.6/shallow/ShallowI.gf +++ b/lib/resource-0.6/shallow/ShallowI.gf @@ -9,9 +9,11 @@ incomplete concrete ShallowI of Shallow = open (Resource = Resource) in { Verb = Resource.V ; TV = Resource.TV ; Adj = Resource.Adj1 ; + N = Resource.N ; Noun = Resource.CN ; CN = Resource.CN ; NP = Resource.NP ; + PN = Resource.PN ; Adv = Resource.AdV ; Det = Resource.Det ; Prep = Resource.Prep ; @@ -62,12 +64,14 @@ incomplete concrete ShallowI of Shallow = open (Resource = Resource) in { ModNoun a n = Resource.ModAdj (Resource.AdjP1 a) n ; PrepNP = Resource.PrepNP ; PrepNoun f p x = Resource.AdvCN f (Resource.PrepNP p x) ; + NounN = Resource.UseN ; CNNoun n = n ; AllNP = Resource.DetNP (Resource.AllNumDet Resource.NoNum) ; EveryNP = Resource.DetNP Resource.EveryDet ; DefNP = Resource.DefOneNP ; IndefNP = Resource.IndefOneNP ; + UsePN = Resource.UsePN ; PossessPrep = Resource.PossessPrep ; } diff --git a/lib/resource-0.6/shallow/english/LexAbs.gf b/lib/resource-0.6/shallow/english/LexAbs.gf new file mode 100644 index 000000000..470d13e07 --- /dev/null +++ b/lib/resource-0.6/shallow/english/LexAbs.gf @@ -0,0 +1,244 @@ +abstract LexAbs = Shallow ** { +fun journey1 : Verb ; +fun judge1 : Verb ; +fun Dinah1 : PN ; +fun On1 : Adj ; +fun Rachel1 : PN ; +fun Rebekah1 : PN ; +fun Laban1 : PN ; +fun Leah1 : PN ; +fun Lot1 : PN ; +fun Lotan1 : PN ; +fun Pharaoh1 : PN ; +fun Hamor1 : PN ; +fun right1 : Adj ; +fun roll1 : Verb ; +fun rule1 : Verb ; +fun rain1 : Verb ; +fun reign1 : Verb ; +fun receive1 : Verb ; +fun reward1 : Verb ; +fun reach1 : Verb ; +fun remember1 : Verb ; +fun remove1 : Verb ; +fun refrain1 : Verb ; +fun rest1 : Verb ; +fun restore1 : Verb ; +fun return1 : Verb ; +fun require1 : Verb ; +fun Bless1 : Verb ; +fun Benjamin1 : PN ; +fun number1 : Verb ; +fun name1 : Verb ; +fun nourish1 : Verb ; +fun guard1 : PN ; +fun gather1 : Verb ; +fun gracious1 : Adj ; +fun great1 : Adj ; +fun go1 : Adj ; +fun good1 : Adj ; +fun Manasseh1 : PN ; +fun kill1 : Verb ; +fun kiss1 : Verb ; +fun king1 : N ; +fun kind1 : Adj ; +fun know1 : Adj ; +fun lodge1 : Verb ; +fun love1 : Verb ; +fun lord1 : N ; +fun look1 : Verb ; +fun leap1 : Verb ; +fun light1 : Verb ; +fun light2 : Adj ; +fun lift1 : Verb ; +fun lion1 : PN ; +fun live1 : Verb ; +fun laugh1 : Verb ; +fun lad1 : N ; +fun lad2 : Verb ; +fun lade1 : Verb ; +fun Abimelech1 : PN ; +fun Abram1 : PN ; +fun Abraham1 : PN ; +fun Ishmael1 : PN ; +fun Isaac1 : PN ; +fun Israel1 : PN ; +fun God1 : PN ; +fun vow1 : Verb ; +fun very1 : Adj ; +fun visit1 : Verb ; +fun smell1 : Verb ; +fun scatter1 : Verb ; +fun stand1 : Adj ; +fun stay1 : Verb ; +fun sister1 : PN ; +fun see1 : Verb ; +fun seem1 : Verb ; +fun seek1 : Adj ; +fun secret1 : Adj ; +fun separate1 : Verb ; +fun serve1 : Verb ; +fun servant1 : N ; +fun spoil1 : Verb ; +fun sojourn1 : Verb ; +fun sow1 : Verb ; +fun sore1 : Adj ; +fun son1 : N ; +fun sad1 : Adj ; +fun sack1 : N ; +fun save1 : Verb ; +fun saw1 : Adj ; +fun sure1 : Adj ; +fun should1 : Adj ; +fun she1 : Verb ; +fun shew1 : Verb ; +fun master1 : PN ; +fun marry1 : Verb ; +fun may1 : Adj ; +fun man1 : PN ; +fun mock1 : Verb ; +fun mother1 : PN ; +fun mourn1 : Verb ; +fun men1 : PN ; +fun mean1 : Adj ; +fun multiply1 : Verb ; +fun fill1 : Verb ; +fun finish1 : Verb ; +fun find1 : Adj ; +fun follow1 : Verb ; +fun form1 : Verb ; +fun forty1 : PN ; +fun fetch1 : Verb ; +fun fear1 : Verb ; +fun fear2 : Adj ; +fun favour1 : Verb ; +fun faint1 : Verb ; +fun fail1 : Verb ; +fun father1 : N ; +fun She1 : Verb ; +fun Shechem1 : PN ; +fun Sarai1 : PN ; +fun Sarah1 : PN ; +fun Judah1 : PN ; +fun Jacob1 : PN ; +fun Joseph1 : PN ; +fun dry1 : Verb ; +fun dress1 : Verb ; +fun dream1 : Verb ; +fun deliver1 : Verb ; +fun desire1 : Verb ; +fun destroy1 : Verb ; +fun depart1 : Verb ; +fun devour1 : Verb ; +fun do1 : Adj ; +fun double1 : Verb ; +fun day1 : N ; +fun dwell1 : Verb ; +fun discern1 : Verb ; +fun distress1 : Verb ; +fun displease1 : Verb ; +fun divide1 : Verb ; +fun die1 : Verb ; +fun bad1 : Adj ; +fun bless1 : Verb ; +fun build1 : Verb ; +fun bury1 : Verb ; +fun brother1 : PN ; +fun breath1 : Verb ; +fun bow1 : Verb ; +fun be1 : Verb ; +fun bed1 : PN ; +fun yield1 : Verb ; +fun young1 : Adj ; +fun your1 : PN ; +fun obey1 : Verb ; +fun open1 : Verb ; +fun open2 : Adj ; +fun on1 : Adj ; +fun our1 : N ; +fun offer1 : Verb ; +fun turn1 : Verb ; +fun tarry1 : Verb ; +fun till1 : Adj ; +fun twenty1 : PN ; +fun travail1 : Verb ; +fun touch1 : Verb ; +fun ten1 : PN ; +fun their1 : PN ; +fun escape1 : Verb ; +fun establish1 : Verb ; +fun exceeding1 : Adj ; +fun enter1 : Verb ; +fun end1 : Verb ; +fun eat1 : Adj ; +fun empty1 : Verb ; +fun embalm1 : Verb ; +fun hard1 : Adj ; +fun hast1 : Verb ; +fun haste1 : Verb ; +fun hang1 : Verb ; +fun hate1 : Verb ; +fun hire1 : Verb ; +fun he1 : Verb ; +fun hearken1 : Verb ; +fun would1 : Adj ; +fun worship1 : Verb ; +fun woman1 : PN ; +fun weary1 : Verb ; +fun well1 : N ; +fun went1 : Adj ; +fun widow1 : PN ; +fun wicked1 : Adj ; +fun wife1 : PN ; +fun wander1 : Verb ; +fun water1 : Verb ; +fun walk1 : Verb ; +fun wash1 : Verb ; +fun pitch1 : Verb ; +fun prosper1 : Verb ; +fun preserve1 : Verb ; +fun present1 : Verb ; +fun prevail1 : Verb ; +fun pray1 : Verb ; +fun plant1 : Verb ; +fun place1 : Verb ; +fun part1 : Verb ; +fun pass1 : Verb ; +fun pursue1 : Verb ; +fun purchase1 : Verb ; +fun appoint1 : Verb ; +fun appear1 : Verb ; +fun accept1 : Verb ; +fun ask1 : Verb ; +fun ass1 : N ; +fun ass2 : PN ; +fun another1 : PN ; +fun answer1 : Verb ; +fun curse1 : Verb ; +fun circumcise1 : Verb ; +fun cry1 : Verb ; +fun cease1 : Verb ; +fun certain1 : Adj ; +fun change1 : Verb ; +fun charge1 : Verb ; +fun children1 : PN ; +fun cause1 : Verb ; +fun camel1 : N ; +fun call1 : Verb ; +fun carry1 : Verb ; +fun consume1 : Verb ; +fun conceive1 : Verb ; +fun corrupt1 : Verb ; +fun couch1 : Verb ; +fun commune1 : Verb ; +fun command1 : Verb ; +fun comfort1 : Verb ; +fun increase1 : Verb ; +fun intreat1 : Verb ; +fun interpret1 : Verb ; +fun Nahor1 : PN ; +fun Noah1 : PN ; +fun Esau1 : PN ; +fun Ephraim1 : PN ; +fun Egyptian1 : N ; +} diff --git a/lib/resource-0.6/shallow/english/LexEng.gf b/lib/resource-0.6/shallow/english/LexEng.gf new file mode 100644 index 000000000..ce841dc04 --- /dev/null +++ b/lib/resource-0.6/shallow/english/LexEng.gf @@ -0,0 +1,245 @@ +--# -path=.:..:../../../prelude:../../abstract:../../english +concrete LexEng of LexAbs = ShallowEng ** open ParadigmsEng in { +lin journey1 = vGen "journey" ; +lin judge1 = vGen "judge" ; +lin Dinah1 = pnReg "Dinah" ; +lin On1 = mkAdj1 "On" ; +lin Rachel1 = pnReg "Rachel" ; +lin Rebekah1 = pnReg "Rebekah" ; +lin Laban1 = pnReg "Laban" ; +lin Leah1 = pnReg "Leah" ; +lin Lot1 = pnReg "Lot" ; +lin Lotan1 = pnReg "Lotan" ; +lin Pharaoh1 = pnReg "Pharaoh" ; +lin Hamor1 = pnReg "Hamor" ; +lin right1 = mkAdj1 "right" ; +lin roll1 = vGen "roll" ; +lin rule1 = vGen "rule" ; +lin rain1 = vGen "rain" ; +lin reign1 = vGen "reign" ; +lin receive1 = vGen "receive" ; +lin reward1 = vGen "reward" ; +lin reach1 = vGen "reach" ; +lin remember1 = vGen "remember" ; +lin remove1 = vGen "remove" ; +lin refrain1 = vGen "refrain" ; +lin rest1 = vGen "rest" ; +lin restore1 = vGen "restore" ; +lin return1 = vGen "return" ; +lin require1 = vGen "require" ; +lin Bless1 = vGen "Bless" ; +lin Benjamin1 = pnReg "Benjamin" ; +lin number1 = vGen "number" ; +lin name1 = vGen "name" ; +lin nourish1 = vGen "nourish" ; +lin guard1 = pnReg "guard" ; +lin gather1 = vGen "gather" ; +lin gracious1 = mkAdj1 "gracious" ; +lin great1 = mkAdj1 "great" ; +lin go1 = mkAdj1 "go" ; +lin good1 = mkAdj1 "good" ; +lin Manasseh1 = pnReg "Manasseh" ; +lin kill1 = vGen "kill" ; +lin kiss1 = vGen "kiss" ; +lin king1 = nNonhuman "king" ; +lin kind1 = mkAdj1 "kind" ; +lin know1 = mkAdj1 "know" ; +lin lodge1 = vGen "lodge" ; +lin love1 = vGen "love" ; +lin lord1 = nNonhuman "lord" ; +lin look1 = vGen "look" ; +lin leap1 = vGen "leap" ; +lin light1 = vGen "light" ; +lin light2 = mkAdj1 "light" ; +lin lift1 = vGen "lift" ; +lin lion1 = pnReg "lion" ; +lin live1 = vGen "live" ; +lin laugh1 = vGen "laugh" ; +lin lad1 = nNonhuman "lad" ; +lin lad2 = vGen "lad" ; +lin lade1 = vGen "lade" ; +lin Abimelech1 = pnReg "Abimelech" ; +lin Abram1 = pnReg "Abram" ; +lin Abraham1 = pnReg "Abraham" ; +lin Ishmael1 = pnReg "Ishmael" ; +lin Isaac1 = pnReg "Isaac" ; +lin Israel1 = pnReg "Israel" ; +lin God1 = pnReg "God" ; +lin vow1 = vGen "vow" ; +lin very1 = mkAdj1 "very" ; +lin visit1 = vGen "visit" ; +lin smell1 = vGen "smell" ; +lin scatter1 = vGen "scatter" ; +lin stand1 = mkAdj1 "stand" ; +lin stay1 = vGen "stay" ; +lin sister1 = pnReg "sister" ; +lin see1 = vGen "see" ; +lin seem1 = vGen "seem" ; +lin seek1 = mkAdj1 "seek" ; +lin secret1 = mkAdj1 "secret" ; +lin separate1 = vGen "separate" ; +lin serve1 = vGen "serve" ; +lin servant1 = nNonhuman "servant" ; +lin spoil1 = vGen "spoil" ; +lin sojourn1 = vGen "sojourn" ; +lin sow1 = vGen "sow" ; +lin sore1 = mkAdj1 "sore" ; +lin son1 = nNonhuman "son" ; +lin sad1 = mkAdj1 "sad" ; +lin sack1 = nNonhuman "sack" ; +lin save1 = vGen "save" ; +lin saw1 = mkAdj1 "saw" ; +lin sure1 = mkAdj1 "sure" ; +lin should1 = mkAdj1 "should" ; +lin she1 = vGen "she" ; +lin shew1 = vGen "shew" ; +lin master1 = pnReg "master" ; +lin marry1 = vGen "marry" ; +lin may1 = mkAdj1 "may" ; +lin man1 = pnReg "man" ; +lin mock1 = vGen "mock" ; +lin mother1 = pnReg "mother" ; +lin mourn1 = vGen "mourn" ; +lin men1 = pnReg "men" ; +lin mean1 = mkAdj1 "mean" ; +lin multiply1 = vGen "multiply" ; +lin fill1 = vGen "fill" ; +lin finish1 = vGen "finish" ; +lin find1 = mkAdj1 "find" ; +lin follow1 = vGen "follow" ; +lin form1 = vGen "form" ; +lin forty1 = pnReg "forty" ; +lin fetch1 = vGen "fetch" ; +lin fear1 = vGen "fear" ; +lin fear2 = mkAdj1 "fear" ; +lin favour1 = vGen "favour" ; +lin faint1 = vGen "faint" ; +lin fail1 = vGen "fail" ; +lin father1 = nNonhuman "father" ; +lin She1 = vGen "She" ; +lin Shechem1 = pnReg "Shechem" ; +lin Sarai1 = pnReg "Sarai" ; +lin Sarah1 = pnReg "Sarah" ; +lin Judah1 = pnReg "Judah" ; +lin Jacob1 = pnReg "Jacob" ; +lin Joseph1 = pnReg "Joseph" ; +lin dry1 = vGen "dry" ; +lin dress1 = vGen "dress" ; +lin dream1 = vGen "dream" ; +lin deliver1 = vGen "deliver" ; +lin desire1 = vGen "desire" ; +lin destroy1 = vGen "destroy" ; +lin depart1 = vGen "depart" ; +lin devour1 = vGen "devour" ; +lin do1 = mkAdj1 "do" ; +lin double1 = vGen "double" ; +lin day1 = nNonhuman "day" ; +lin dwell1 = vGen "dwell" ; +lin discern1 = vGen "discern" ; +lin distress1 = vGen "distress" ; +lin displease1 = vGen "displease" ; +lin divide1 = vGen "divide" ; +lin die1 = vGen "die" ; +lin bad1 = mkAdj1 "bad" ; +lin bless1 = vGen "bless" ; +lin build1 = vGen "build" ; +lin bury1 = vGen "bury" ; +lin brother1 = pnReg "brother" ; +lin breath1 = vGen "breath" ; +lin bow1 = vGen "bow" ; +lin be1 = vGen "be" ; +lin bed1 = pnReg "bed" ; +lin yield1 = vGen "yield" ; +lin young1 = mkAdj1 "young" ; +lin your1 = pnReg "your" ; +lin obey1 = vGen "obey" ; +lin open1 = vGen "open" ; +lin open2 = mkAdj1 "open" ; +lin on1 = mkAdj1 "on" ; +lin our1 = nNonhuman "our" ; +lin offer1 = vGen "offer" ; +lin turn1 = vGen "turn" ; +lin tarry1 = vGen "tarry" ; +lin till1 = mkAdj1 "till" ; +lin twenty1 = pnReg "twenty" ; +lin travail1 = vGen "travail" ; +lin touch1 = vGen "touch" ; +lin ten1 = pnReg "ten" ; +lin their1 = pnReg "their" ; +lin escape1 = vGen "escape" ; +lin establish1 = vGen "establish" ; +lin exceeding1 = mkAdj1 "exceeding" ; +lin enter1 = vGen "enter" ; +lin end1 = vGen "end" ; +lin eat1 = mkAdj1 "eat" ; +lin empty1 = vGen "empty" ; +lin embalm1 = vGen "embalm" ; +lin hard1 = mkAdj1 "hard" ; +lin hast1 = vGen "hast" ; +lin haste1 = vGen "haste" ; +lin hang1 = vGen "hang" ; +lin hate1 = vGen "hate" ; +lin hire1 = vGen "hire" ; +lin he1 = vGen "he" ; +lin hearken1 = vGen "hearken" ; +lin would1 = mkAdj1 "would" ; +lin worship1 = vGen "worship" ; +lin woman1 = pnReg "woman" ; +lin weary1 = vGen "weary" ; +lin well1 = nNonhuman "well" ; +lin went1 = mkAdj1 "went" ; +lin widow1 = pnReg "widow" ; +lin wicked1 = mkAdj1 "wicked" ; +lin wife1 = pnReg "wife" ; +lin wander1 = vGen "wander" ; +lin water1 = vGen "water" ; +lin walk1 = vGen "walk" ; +lin wash1 = vGen "wash" ; +lin pitch1 = vGen "pitch" ; +lin prosper1 = vGen "prosper" ; +lin preserve1 = vGen "preserve" ; +lin present1 = vGen "present" ; +lin prevail1 = vGen "prevail" ; +lin pray1 = vGen "pray" ; +lin plant1 = vGen "plant" ; +lin place1 = vGen "place" ; +lin part1 = vGen "part" ; +lin pass1 = vGen "pass" ; +lin pursue1 = vGen "pursue" ; +lin purchase1 = vGen "purchase" ; +lin appoint1 = vGen "appoint" ; +lin appear1 = vGen "appear" ; +lin accept1 = vGen "accept" ; +lin ask1 = vGen "ask" ; +lin ass1 = nNonhuman "ass" ; +lin ass2 = pnReg "ass" ; +lin another1 = pnReg "another" ; +lin answer1 = vGen "answer" ; +lin curse1 = vGen "curse" ; +lin circumcise1 = vGen "circumcise" ; +lin cry1 = vGen "cry" ; +lin cease1 = vGen "cease" ; +lin certain1 = mkAdj1 "certain" ; +lin change1 = vGen "change" ; +lin charge1 = vGen "charge" ; +lin children1 = pnReg "children" ; +lin cause1 = vGen "cause" ; +lin camel1 = nNonhuman "camel" ; +lin call1 = vGen "call" ; +lin carry1 = vGen "carry" ; +lin consume1 = vGen "consume" ; +lin conceive1 = vGen "conceive" ; +lin corrupt1 = vGen "corrupt" ; +lin couch1 = vGen "couch" ; +lin commune1 = vGen "commune" ; +lin command1 = vGen "command" ; +lin comfort1 = vGen "comfort" ; +lin increase1 = vGen "increase" ; +lin intreat1 = vGen "intreat" ; +lin interpret1 = vGen "interpret" ; +lin Nahor1 = pnReg "Nahor" ; +lin Noah1 = pnReg "Noah" ; +lin Esau1 = pnReg "Esau" ; +lin Ephraim1 = pnReg "Ephraim" ; +lin Egyptian1 = nNonhuman "Egyptian" ; +} diff --git a/lib/resource-0.6/shallow/english/english.para b/lib/resource-0.6/shallow/english/english.para new file mode 100644 index 000000000..90c9cd514 --- /dev/null +++ b/lib/resource-0.6/shallow/english/english.para @@ -0,0 +1,21 @@ +N!nNonhuman: car cars |car's|cars'| +N!nNonhuman: bab/y babies |baby's|babies'| +N!nNonhuman: bos/s bosses |boss's|bosses'| +PN!pnReg: john john's *johns +Verb!vGen: walk walked +Verb!vGen: ja/m jammed +Verb!vGen: ra/p rapped +Verb!vGen: shar/e shared +Verb!vGen: sp/y spied +Verb!vGen: kis/s kissed +Adj!mkAdj1: slow |slowest|slowly| +Adj!mkAdj1: bi/g |biggest|bigly| +Adj!mkAdj1: happ/y |happiest|happily| +-- +-- To do then: +-- grep fun koe >LexAbs.gf +-- grep lin koe >LexEng.gf +-- And prefix these files with +-- abstract LexAbs = Shallow ** { +-- --# -path=.:..:../../../prelude:../../abstract:../../english +-- concrete LexEng of LexAbs = ShallowEng ** open ParadigmsEng in { diff --git a/lib/resource-0.6/shallow/swedish/Lex.gf b/lib/resource-0.6/shallow/swedish/Lex.gf new file mode 100644 index 000000000..d0b86f152 --- /dev/null +++ b/lib/resource-0.6/shallow/swedish/Lex.gf @@ -0,0 +1,148 @@ +abstract Lex = Shallow ** { +fun regn1 : N ; +fun revben1 : N ; +fun räkna1 : Verb ; +fun rädda1 : Verb ; +fun räcka1 : Verb ; +fun rätt1 : N ; +fun rop1 : N ; +fun port1 : N ; +fun para1 : Verb ; +fun pläga1 : Verb ; +fun prisa1 : Verb ; +fun pröva1 : Verb ; +fun präst1 : N ; +fun D1 : N ; +fun utplåna1 : Verb ; +fun upprätta1 : Verb ; +fun Gera1 : Verb ; +fun släkt1 : N ; +fun slakta1 : Verb ; +fun slut1 : N ; +fun sluta1 : Verb ; +fun svara1 : Verb ; +fun spräcklig1 : Adj ; +fun sten1 : N ; +fun stycke1 : N ; +fun strimmig1 : Adj ; +fun stanna1 : Verb ; +fun stadga1 : Verb ; +fun stoft1 : N ; +fun söka1 : Verb ; +fun synda1 : Verb ; +fun säck1 : N ; +fun så1 : Verb ; +fun sina1 : Verb ; +fun skynda1 : Verb ; +fun skämta1 : Verb ; +fun skänk1 : N ; +fun ske1 : Verb ; +fun skaffa1 : Verb ; +fun skara1 : N ; +fun samla1 : Verb ; +fun flytta1 : Verb ; +fun femtedel1 : N ; +fun får1 : N ; +fun fängsla1 : Verb ; +fun fäst1 : N ; +fun folk1 : N ; +fun frukt1 : N ; +fun frukta1 : Verb ; +fun fråga1 : Verb ; +fun föröka1 : Verb ; +fun förkunna1 : Verb ; +fun förbanna1 : Verb ; +fun förbund1 : N ; +fun fördärva1 : Verb ; +fun förvärva1 : Verb ; +fun dräpa1 : Verb ; +fun dag1 : N ; +fun döda1 : Verb ; +fun nådig1 : Adj ; +fun namn1 : N ; +fun vin1 : N ; +fun vinträd1 : N ; +fun vila1 : Verb ; +fun vädur1 : N ; +fun växa1 : Verb ; +fun välsigna1 : Verb ; +fun vakta1 : Verb ; +fun vandra1 : Verb ; +fun vattna1 : Verb ; +fun vagn1 : N ; +fun vara1 : Verb ; +fun tvista1 : Verb ; +fun tjänstekvinna1 : N ; +fun tjäna1 : Verb ; +fun tjänarinna1 : N ; +fun tjänare1 : N ; +fun tält1 : N ; +fun tänka1 : Verb ; +fun tak1 : N ; +fun tal1 : N ; +fun tala1 : Verb ; +fun träd1 : N ; +fun trösta1 : Verb ; +fun torn1 : N ; +fun åsna1 : N ; +fun åkalla1 : Verb ; +fun år1 : N ; +fun gåva1 : N ; +fun gods1 : N ; +fun buga1 : Verb ; +fun budbärare1 : N ; +fun bo1 : Verb ; +fun blod1 : N ; +fun brokig1 : Adj ; +fun bruka1 : Verb ; +fun brunn1 : N ; +fun bröd1 : N ; +fun bevisa1 : Verb ; +fun bevara1 : Verb ; +fun berg1 : N ; +fun berätta1 : Verb ; +fun befallning1 : N ; +fun behandla1 : Verb ; +fun baka1 : Verb ; +fun barn1 : N ; +fun balsamera1 : Verb ; +fun otillbörlig1 : Adj ; +fun offra1 : Verb ; +fun omstörta1 : Verb ; +fun hjord1 : N ; +fun hövding1 : N ; +fun höga1 : Verb ; +fun högtidlig1 : Adj ; +fun hebré1 : N ; +fun heta1 : Verb ; +fun heta2 : Verb ; +fun hämta1 : Verb ; +fun härstamma1 : Verb ; +fun hus1 : N ; +fun husfolk1 : N ; +fun hav1 : N ; +fun harpa1 : N ; +fun lyssna1 : Verb ; +fun ljus1 : N ; +fun lägra1 : Verb ; +fun lämna1 : Verb ; +fun låga1 : N ; +fun liv1 : N ; +fun ledsaga1 : Verb ; +fun lova1 : Verb ; +fun land1 : N ; +fun kunna1 : Verb ; +fun källa1 : N ; +fun kasta1 : Verb ; +fun kalla1 : Verb ; +fun konung1 : N ; +fun kvinna1 : N ; +fun killing1 : N ; +fun idka1 : Verb ; +fun inbyggare1 : N ; +fun möta1 : Verb ; +fun mäktig1 : Adj ; +fun märka1 : Verb ; +fun människa1 : N ; +fun misshaga1 : Verb ; +} diff --git a/lib/resource-0.6/shallow/swedish/LexSwe.gf b/lib/resource-0.6/shallow/swedish/LexSwe.gf new file mode 100644 index 000000000..c903398d4 --- /dev/null +++ b/lib/resource-0.6/shallow/swedish/LexSwe.gf @@ -0,0 +1,150 @@ +--# -path=.:..:../../../prelude:../../abstract:../../swedish + +concrete LexSwe of Lex = ShallowSwe ** open ParadigmsSwe in { +lin regn1 = nRep "regn" ; +lin revben1 = nRep "revben" ; +lin räkna1 = vKoka "räkna" ; +lin rädda1 = vKoka "rädda" ; +lin räcka1 = vSteka "räcka" ; +lin rätt1 = nRisk "rätt" ; +lin rop1 = nRep "rop" ; +lin port1 = nBil "port" ; +lin para1 = vKoka "para" ; +lin pläga1 = vKoka "pläga" ; +lin prisa1 = vKoka "prisa" ; +lin pröva1 = vKoka "pröva" ; +lin präst1 = nRisk "präst" ; +lin D1 = nRep "D" ; +lin utplåna1 = vKoka "utplåna" ; +lin upprätta1 = vKoka "upprätta" ; +lin Gera1 = vKoka "Gera" ; +lin släkt1 = nRep "släkt" ; +lin slakta1 = vKoka "slakta" ; +lin slut1 = nRep "slut" ; +lin sluta1 = vKoka "sluta" ; +lin svara1 = vKoka "svara" ; +lin spräcklig1 = adjReg "spräcklig" ; +lin sten1 = nBil "sten" ; +lin stycke1 = nDike "stycke" ; +lin strimmig1 = adjReg "strimmig" ; +lin stanna1 = vKoka "stanna" ; +lin stadga1 = vKoka "stadga" ; +lin stoft1 = nRep "stoft" ; +lin söka1 = vSteka "söka" ; +lin synda1 = vKoka "synda" ; +lin säck1 = nBil "säck" ; +lin så1 = vBo "så" ; +lin sina1 = vKoka "sina" ; +lin skynda1 = vKoka "skynda" ; +lin skämta1 = vKoka "skämta" ; +lin skänk1 = nRisk "skänk" ; +lin ske1 = vBo "ske" ; +lin skaffa1 = vKoka "skaffa" ; +lin skara1 = nApa "skara" ; +lin samla1 = vKoka "samla" ; +lin flytta1 = vKoka "flytta" ; +lin femtedel1 = nBil "femtedel" ; +lin får1 = nRep "får" ; +lin fängsla1 = vKoka "fängsla" ; +lin fäst1 = nRep "fäst" ; +lin folk1 = nRep "folk" ; +lin frukt1 = nBil "frukt" ; +lin frukta1 = vKoka "frukta" ; +lin fråga1 = vKoka "fråga" ; +lin föröka1 = vKoka "föröka" ; +lin förkunna1 = vKoka "förkunna" ; +lin förbanna1 = vKoka "förbanna" ; +lin förbund1 = nRep "förbund" ; +lin fördärva1 = vKoka "fördärva" ; +lin förvärva1 = vKoka "förvärva" ; +lin dräpa1 = vSteka "dräpa" ; +lin dag1 = nBil "dag" ; +lin döda1 = vKoka "döda" ; +lin nådig1 = adjReg "nådig" ; +lin namn1 = nRep "namn" ; +lin vin1 = nRep "vin" ; +lin vinträd1 = nRep "vinträd" ; +lin vila1 = vKoka "vila" ; +lin vädur1 = nBil "vädur" ; +lin växa1 = vSteka "växa" ; +lin välsigna1 = vKoka "välsigna" ; +lin vakta1 = vKoka "vakta" ; +lin vandra1 = vKoka "vandra" ; +lin vattna1 = vKoka "vattna" ; +lin vagn1 = nBil "vagn" ; +lin vara1 = vKoka "vara" ; +lin tvista1 = vKoka "tvista" ; +lin tjänstekvinna1 = nApa "tjänstekvinna" ; +lin tjäna1 = vKoka "tjäna" ; +lin tjänarinna1 = nApa "tjänarinna" ; +lin tjänare1 = nMurare "tjänare" ; +lin tält1 = nRep "tält" ; +lin tänka1 = vSteka "tänka" ; +lin tak1 = nRep "tak" ; +lin tal1 = nRep "tal" ; +lin tala1 = vKoka "tala" ; +lin träd1 = nRep "träd" ; +lin trösta1 = vKoka "trösta" ; +lin torn1 = nRep "torn" ; +lin åsna1 = nApa "åsna" ; +lin åkalla1 = vKoka "åkalla" ; +lin år1 = nRep "år" ; +lin gåva1 = nApa "gåva" ; +lin gods1 = nRep "gods" ; +lin buga1 = vKoka "buga" ; +lin budbärare1 = nMurare "budbärare" ; +lin bo1 = vBo "bo" ; +lin blod1 = nRep "blod" ; +lin brokig1 = adjReg "brokig" ; +lin bruka1 = vKoka "bruka" ; +lin brunn1 = nBil "brunn" ; +lin bröd1 = nRep "bröd" ; +lin bevisa1 = vKoka "bevisa" ; +lin bevara1 = vKoka "bevara" ; +lin berg1 = nRep "berg" ; +lin berätta1 = vKoka "berätta" ; +lin befallning1 = nBil "befallning" ; +lin behandla1 = vKoka "behandla" ; +lin baka1 = vKoka "baka" ; +lin barn1 = nRep "barn" ; +lin balsamera1 = vKoka "balsamera" ; +lin otillbörlig1 = adjReg "otillbörlig" ; +lin offra1 = vKoka "offra" ; +lin omstörta1 = vKoka "omstörta" ; +lin hjord1 = nBil "hjord" ; +lin hövding1 = nBil "hövding" ; +lin höga1 = vSteka "höga" ; +lin högtidlig1 = adjReg "högtidlig" ; +lin hebré1 = nRisk "hebré" ; +lin heta1 = vKoka "heta" ; +lin heta2 = vSteka "heta" ; +lin hämta1 = vKoka "hämta" ; +lin härstamma1 = vKoka "härstamma" ; +lin hus1 = nRep "hus" ; +lin husfolk1 = nRep "husfolk" ; +lin hav1 = nRep "hav" ; +lin harpa1 = nApa "harpa" ; +lin lyssna1 = vKoka "lyssna" ; +lin ljus1 = nRep "ljus" ; +lin lägra1 = vKoka "lägra" ; +lin lämna1 = vKoka "lämna" ; +lin låga1 = nApa "låga" ; +lin liv1 = nRep "liv" ; +lin ledsaga1 = vKoka "ledsaga" ; +lin lova1 = vKoka "lova" ; +lin land1 = nRep "land" ; +lin kunna1 = vKoka "kunna" ; +lin källa1 = nApa "källa" ; +lin kasta1 = vKoka "kasta" ; +lin kalla1 = vKoka "kalla" ; +lin konung1 = nBil "konung" ; +lin kvinna1 = nApa "kvinna" ; +lin killing1 = nBil "killing" ; +lin idka1 = vKoka "idka" ; +lin inbyggare1 = nMurare "inbyggare" ; +lin möta1 = vSteka "möta" ; +lin mäktig1 = adjReg "mäktig" ; +lin märka1 = vSteka "märka" ; +lin människa1 = nApa "människa" ; +lin misshaga1 = vKoka "misshaga" ; +} diff --git a/lib/resource-0.6/shallow/swedish/swe.para b/lib/resource-0.6/shallow/swedish/swe.para new file mode 100644 index 000000000..14d50bf87 --- /dev/null +++ b/lib/resource-0.6/shallow/swedish/swe.para @@ -0,0 +1,12 @@ +N!nApa: ap/a apor +N!nBil: bil bilen bilar +N!nNyckel: cyk/el cykeln cyklar +N!nRisk: vals valserna +N!nDike: rik/e riket rikena +N!nRep: val valet +N!nMurare: kik/are kikarna +Adj1!adjReg: bill/ig billigt +Adj1!adjReg: dyr dyrt dyra |dyraste|dyrare|dyrast| +V!vKoka: tal/a |talar|talade|talat| +V!vSteka: lek/a leker |lekte|lekt| +V!vBo: sy syr sydde diff --git a/lib/resource-0.6/swedish/ParadigmsSwe.gf b/lib/resource-0.6/swedish/ParadigmsSwe.gf index 94c3cb1a9..d255eed79 100644 --- a/lib/resource-0.6/swedish/ParadigmsSwe.gf +++ b/lib/resource-0.6/swedish/ParadigmsSwe.gf @@ -69,9 +69,9 @@ oper nKikare : Str -> N ; -- kikare (kikaren, kikare, kikarna) ; utrum -- Nouns used as functions need a preposition. The most common ones are "av", --- "på", and "till". +-- "på", and "till". A preposition is a string. - mkFun : N -> Preposition -> Fun ; + mkFun : N -> Str -> Fun ; funAv : N -> Fun ; funPaa : N -> Fun ; funTill : N -> Fun ; @@ -157,8 +157,14 @@ oper -- Two-place verbs, and the special case with direct object. - mkTV : V -> Preposition -> TV ; -- tycka, om - tvDir : V -> TV ; -- gilla + mkTV : V -> Str -> TV ; -- tycka, om + tvDir : V -> TV ; -- gilla + +-- Ditransitive verbs. + + mkV3 : V -> Str -> Str -> V3 ; -- prata, med, om + v3Dir : V -> Str -> V3 ; -- ge,_,till + v3DirDir : V -> V3 ; -- ge,_,_ -- The definitions should not bother the user of the API. So they are -- hidden from the document. @@ -288,5 +294,8 @@ oper mkPartV v p = {s = v.s ; s1 = p ; lock_V = <>} ; mkTV x y = mkTransVerb x y ** {lock_TV = <>} ; tvDir = \v -> mkTV v [] ; + mkV3 x y z = mkDitransVerb x y z ** {lock_V3 = <>} ; + v3Dir x y = mkV3 x [] y ; + v3DirDir x = v3Dir x [] ; } ;