diff --git a/doc/index.html b/doc/index.html index d0be7f6e0..eb96ef7e1 100644 --- a/doc/index.html +++ b/doc/index.html @@ -90,6 +90,13 @@ parser.

Grammar library documentation

+

+ +Resource Gramamr Synopsis. +With APIs and use examples, for Resource v. 1.2. + +

+ GF Resource Grammar Library user's manual, for API v 1.0. @@ -98,7 +105,7 @@ user's manual, for API v 1.0. On-line resource grammar library documentation -in progress for the forthcoming API v 1.0. +in progress for API v 1.0.

diff --git a/doc/old-news.html b/doc/old-news.html index 2e6505142..f51019548 100644 --- a/doc/old-news.html +++ b/doc/old-news.html @@ -2,7 +2,42 @@ -

GF News 2004-2006

+

GF News 2004-2007

+ + +

+ +June 27, 2007. GF 2.8 forthcoming next week. Some highlights: +

+ +

+ + +December 22, 2006. GF 2.7 released. Some highlights: +

+See GF history for more details. +Download from +SourceForge. +

diff --git a/index.html b/index.html index 91c6e340d..448ce5685 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,5 @@ -GF Version 2.7 +GF Version 2.8 @@ -9,9 +9,9 @@

Grammatical Framework

-

Version 2.7

+

Version 2.8

-December 22, 2006. +July 8, 2007.

@@ -58,36 +58,17 @@ December 22, 2006.

-June 27, 2007. GF 2.8 forthcoming next week. Some highlights: +July 8, 2007. GF 2.8 released. Some highlights:

-

- - -December 22, 2006. GF 2.7 released. Some highlights: -

-See GF history for more details. -Download from -SourceForge.

@@ -146,6 +127,11 @@ is to write an EBNF grammar in a file foo.ebnf and type GF is open-source software licensed under GNU General Public License (GPL). +

+ +The are licensed under +GNU Lesser General Public License (LGPL). +

Examples and demos

diff --git a/lib/LICENSE b/lib/LICENSE new file mode 100644 index 000000000..fc8a5de7e --- /dev/null +++ b/lib/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/lib/index.txt b/lib/index.txt index 9abeca10f..83fd65611 100644 --- a/lib/index.txt +++ b/lib/index.txt @@ -24,10 +24,10 @@ give some introduction to this idea. This library covers basic linguistic structures of different languages. -[Version 1.1 resource-1.0/doc] released 22 December 2006 +[Version 1.2 resource-1.0/doc] released 22 December 2006 (enhanced version of 1.0). Covers Danish, English, Finnish, French, German, Italian, Norwegian, -Russian, Spanish, and Swedish. +Russian, Spanish, and Swedish, and to a smaller extent Arabic and Catalan. Two older versions are also available: [Version 0.9 resource/] @@ -51,3 +51,8 @@ of predefined (hard-coded) functions. for strings, tables, records, booleans. +==License== + +All libraries in this directory and its subdirectories are +releaced under GNU Lesser General Public License (LGPL). See the file +[LICENSE ./LICENSE] for more details. diff --git a/lib/resource-1.0/doc/gfdoc/Adjective.html b/lib/resource-1.0/doc/gfdoc/Adjective.html index ba2d56630..61456859f 100644 --- a/lib/resource-1.0/doc/gfdoc/Adjective.html +++ b/lib/resource-1.0/doc/gfdoc/Adjective.html @@ -6,7 +6,7 @@

Adjective: Adjectives and Adjectival Phrases

-Last update: 2006-07-02 00:15:01 CEST
+Last update: 2007-05-31 14:17:17 CEST

@@ -33,8 +33,8 @@ elliptic-relational. (The superlative use is covered in Noun.SuperlA.)

-        PositA  : A -> AP ;         -- warm
-        ComparA : A -> NP -> AP ;   -- warmer than Spain
+        PositA  : A  -> AP ;        -- warm
+        ComparA : A  -> NP -> AP ;  -- warmer than Spain
         ComplA2 : A2 -> NP -> AP ;  -- divisible by 2
         ReflA2  : A2 -> AP ;        -- divisible by itself
         UseA2   : A2 -> A ;         -- divisible
@@ -64,6 +64,6 @@ by Adverb.
 

- + diff --git a/lib/resource-1.0/doc/gfdoc/Adverb.html b/lib/resource-1.0/doc/gfdoc/Adverb.html index 3f4b82835..2f707f31b 100644 --- a/lib/resource-1.0/doc/gfdoc/Adverb.html +++ b/lib/resource-1.0/doc/gfdoc/Adverb.html @@ -6,7 +6,7 @@

Adverb: Adverbs and Adverbial Phrases

-Last update: 2006-06-16 07:46:47 CEST
+Last update: 2006-06-15 09:19:39 CEST

@@ -69,6 +69,6 @@ Comparison adverbs also work as numeral adverbs.

- + diff --git a/lib/resource-1.0/doc/gfdoc/Cat.html b/lib/resource-1.0/doc/gfdoc/Cat.html index 864c6afd6..11f08500e 100644 --- a/lib/resource-1.0/doc/gfdoc/Cat.html +++ b/lib/resource-1.0/doc/gfdoc/Cat.html @@ -6,7 +6,7 @@

Cat: the Category System

-Last update: 2006-07-02 00:15:01 CEST
+Last update: 2007-07-06 11:21:49 CEST

@@ -129,16 +129,16 @@ The determiner structure is as defined in Noun.

-        CN ;    -- common noun (without determiner)    e.g. "red house"
-        NP ;    -- noun phrase (subject or object)     e.g. "the red house"
-        Pron ;  -- personal pronoun                    e.g. "she"
-        Det ;   -- determiner phrase                   e.g. "those seven"
-        Predet; -- predeterminer (prefixed Quant)      e.g. "all"
-        QuantSg;-- quantifier ('nucleus' of sing. Det) e.g. "every"
-        QuantPl;-- quantifier ('nucleus' of plur. Det) e.g. "many"
-        Quant ; -- quantifier with both sg and pl      e.g. "this/these"
-        Num ;   -- cardinal number (used with QuantPl) e.g. "seven"
-        Ord ;   -- ordinal number (used in Det)        e.g. "seventh"
+        CN ;     -- common noun (without determiner)    e.g. "red house"
+        NP ;     -- noun phrase (subject or object)     e.g. "the red house"
+        Pron ;   -- personal pronoun                    e.g. "she"
+        Det ;    -- determiner phrase                   e.g. "those seven"
+        Predet ; -- predeterminer (prefixed Quant)      e.g. "all"
+        QuantSg ;-- quantifier ('nucleus' of sing. Det) e.g. "every"
+        QuantPl ;-- quantifier ('nucleus' of plur. Det) e.g. "many"
+        Quant ;  -- quantifier with both sg and pl      e.g. "this/these"
+        Num ;    -- cardinal number (used with QuantPl) e.g. "seven"
+        Ord ;    -- ordinal number (used in Det)        e.g. "seventh"
 

@@ -190,6 +190,6 @@ additional lexicon modules.

- + diff --git a/lib/resource-1.0/doc/gfdoc/Combinators.html b/lib/resource-1.0/doc/gfdoc/Combinators.html index f4fac94c0..bbdb9a100 100644 --- a/lib/resource-1.0/doc/gfdoc/Combinators.html +++ b/lib/resource-1.0/doc/gfdoc/Combinators.html @@ -6,7 +6,7 @@

Combinators: a High-Level Syntax API

-Last update: 2007-05-06 21:39:21 CEST
+Last update: 2007-05-31 11:49:38 CEST

@@ -45,19 +45,19 @@ to construct arguments of these functions.

Predication

         pred : overload {
-          pred : V  -> NP -> Cl ;
-          pred : V2 -> NP -> NP -> Cl ;
-          pred : V3 -> NP -> NP -> NP -> Cl ; 
-          pred : V  -> NP -> NP -> Cl ;
-          pred : A  -> NP -> Cl ; 
-          pred : A2 -> NP -> NP -> Cl ;
-          pred : A  -> NP -> NP -> Cl ;      
-          pred : N -> NP -> Cl ;
-          pred : CN -> NP -> Cl ;
-          pred : NP -> NP -> Cl ;
-          pred : N -> NP -> NP -> Cl ; 
-          pred : Adv -> NP -> Cl ; 
-          pred : Prep -> NP -> NP -> Cl
+          pred : V  -> NP -> Cl ;             -- x converges
+          pred : V2 -> NP -> NP -> Cl ;       -- x intersects y
+          pred : V3 -> NP -> NP -> NP -> Cl ; -- x intersects y at z
+          pred : V  -> NP -> NP -> Cl ;       -- x and y intersect
+          pred : A  -> NP -> Cl ;             -- x is even
+          pred : A2 -> NP -> NP -> Cl ;       -- x is divisible by y
+          pred : A  -> NP -> NP -> Cl ;       -- x and y are equal
+          pred : N  -> NP -> Cl ;             -- x is a maximum
+          pred : CN -> NP -> Cl ;             -- x is a local maximum
+          pred : NP -> NP -> Cl ;             -- x is the neutral element
+          pred : N  -> NP -> NP -> Cl ;       -- x and y are inverses 
+          pred : Adv -> NP -> Cl ;            -- x is in scope
+          pred : Prep -> NP -> NP -> Cl       -- x is outside y
           } ;
 

@@ -135,6 +135,6 @@ This is not in ground API, because it would destroy parsing.

- + diff --git a/lib/resource-1.0/doc/gfdoc/Common.html b/lib/resource-1.0/doc/gfdoc/Common.html index 20839f99a..857588c5b 100644 --- a/lib/resource-1.0/doc/gfdoc/Common.html +++ b/lib/resource-1.0/doc/gfdoc/Common.html @@ -6,7 +6,7 @@

Common: Structures with Common Implementations.

-Last update: 2006-07-02 00:15:01 CEST
+Last update: 2007-07-04 11:06:11 CEST

@@ -86,9 +86,9 @@ Many adverbs are constructed in Structural

Tense, polarity, and anteriority

-        Tense ; -- tense: present, past, future, conditional
-        Pol ;   -- polarity: positive, negative
-        Ant ;   -- anteriority: simultaneous, anterior
+        Tense ; -- tense                               e.g. present, past, future
+        Pol ;   -- polarity                            e.g. positive, negative
+        Ant ;   -- anteriority                         e.g. simultaneous, anterior
     
       fun
         PPos, PNeg : Pol ;           -- I sleep/don't sleep
@@ -102,6 +102,6 @@ Many adverbs are constructed in Structural
 

- + diff --git a/lib/resource-1.0/doc/gfdoc/Conjunction.html b/lib/resource-1.0/doc/gfdoc/Conjunction.html index 5a3769551..aa9593ed7 100644 --- a/lib/resource-1.0/doc/gfdoc/Conjunction.html +++ b/lib/resource-1.0/doc/gfdoc/Conjunction.html @@ -6,7 +6,7 @@

Conjunction: Coordination

-Last update: 2006-07-02 00:15:01 CEST
+Last update: 2006-06-26 13:24:17 CEST

@@ -86,6 +86,6 @@ not given explicitly. But here are their type signatures:

- + diff --git a/lib/resource-1.0/doc/gfdoc/Constructors.html b/lib/resource-1.0/doc/gfdoc/Constructors.html index f46a24aa3..c638b4345 100644 --- a/lib/resource-1.0/doc/gfdoc/Constructors.html +++ b/lib/resource-1.0/doc/gfdoc/Constructors.html @@ -2,28 +2,83 @@ - Constructors: the High-Level Syntax API + Constructors: the Resource Syntax API -

Constructors: the High-Level Syntax API

+

Constructors: the Resource Syntax API

-Last update: 2007-05-09 17:52:28 CEST
+Last update: 2007-07-08 16:44:35 CEST


@@ -34,337 +89,1108 @@ Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.

-

-This module gives access to (almost) all functions in the resource -syntax API defined in Grammar. It uses overloaded -function names to reduce the burden of remembering different names. -

-

-The principle is simply: -to construct an object of type C, use the function mkC. -

-

-For example, to the object -

-

-PredVP (UsePron she_Pron) (ComplV2 love_V2 (UsePN paris_PN)) -

-

-can now also be written -

-

-mkCl (mkNP she_Pron) (mkVP love_V2 (mkNP paris_PN)) -

-

-In addition to exact variants of the Grammar functions, the module -gives some common special cases using deeper terms and default arguments. -An example of deeper terms is two-place coordination such as -

-

-mkNP : Conj -> NP -> NP -> NP. -

-

-An example of default arguments is present-tense sentences, -

-

-mkS : Cl -> S. -

-

-The old API can of course be used simultaneously with this one. -Typically, Grammar and Paradigms are needed to be opened in addition -to this. -

     incomplete resource Constructors = open Grammar in {
     
-      oper
-
-

- -

Texts, phrases, and utterances

-
-        mkText : overload {
-          mkText : Text               ;   -- [empty text]
-          mkText : Phr -> Text        ;   -- John walks.
-          mkText : Utt -> Text        ;   -- John walks.
-          mkText : S -> Text          ;   -- John walks.
-          mkText : Cl -> Text         ;   -- John walks.
-          mkText : QS -> Text         ;   -- Does John walk?
-          mkText : Imp -> Text        ;   -- Walk!
-          mkText : Pol -> Imp -> Text ;   -- Don't walk!
-          mkText : Phr -> Text -> Text    -- John walks. ...
-          } ;
-    
-        mkPhr : overload {
-          mkPhr : PConj -> Utt -> Voc -> Phr;   -- But go home my friend
-          mkPhr : Utt -> Phr                ;   -- Go home
-          mkPhr : S -> Phr                      -- I go home
-          } ;
-    
-        mkUtt : overload {
-          mkUtt : S -> Utt                  ;   -- John walked
-          mkUtt : Cl -> Utt                 ;   -- John walks
-          mkUtt : QS -> Utt                 ;   -- is it good
-          mkUtt : Pol -> Imp -> Utt         ;   -- (don't) help yourself
-          mkUtt : Imp -> Utt                ;   -- help yourself
-          mkUtt : IP   -> Utt               ;   -- who
-          mkUtt : IAdv -> Utt               ;   -- why
-          mkUtt : NP   -> Utt               ;   -- this man
-          mkUtt : Adv  -> Utt               ;   -- here
-          mkUtt : VP   -> Utt                   -- to sleep
-          } ;
-
-

- -

Sentences, and clauses

-
-        mkS : overload {
-          mkS : Cl -> S ;                        -- John walks
-          mkS : Tense -> Cl -> S ;               -- John walked
-          mkS : Ant -> Cl -> S ;                 -- John has walked
-          mkS : Pol -> Cl -> S ;                 -- John doesn't walk
-          mkS : Tense -> Ant -> Cl -> S ;        -- John had walked
-          mkS : Tense -> Pol -> Cl -> S ;        -- John didn't walk
-          mkS : Ant -> Pol -> Cl -> S ;          -- John hasn't walked
-          mkS : Tense -> Ant -> Pol -> Cl -> S ; -- John wouldn't have walked
-          mkS : Conj -> S -> S -> S ;            -- John walks and Mary talks   
-          mkS : DConj -> S -> S -> S ;           -- either I leave or you come
-          mkS : Conj -> ListS -> S ;             -- John walks, Mary talks, and Bob runs
-          mkS : DConj -> ListS -> S ;            -- either I leave, you come, or he runs
-          mkS : Adv -> S -> S                    -- today, I will sleep
-          } ;
-    
-        mkCl : overload {
-          mkCl : NP -> VP -> Cl   ;   -- John wants to walk
-          mkCl : NP -> V -> Cl    ;   -- John walks
-          mkCl : NP -> V2 -> NP -> Cl ; -- John uses it
-          mkCl : VP -> Cl         ;   -- it rains
-          mkCl : NP  -> RS -> Cl  ;   -- it is you who did it
-          mkCl : Adv -> S  -> Cl  ;   -- it is yesterday she arrived
-          mkCl : NP -> Cl         ;   -- there is a house
-          mkCl : NP -> AP -> Cl   ;   -- John is nice and warm
-          mkCl : NP -> A  -> Cl   ;   -- John is warm
-          mkCl : NP -> A -> NP -> Cl; -- John is warmer than Mary
-          mkCl : NP -> A2 -> NP -> Cl; -- John is married to Mary
-          mkCl : NP -> NP -> Cl   ;   -- John is a man
-          mkCl : NP -> Adv -> Cl      -- John is here
-          } ;
-
-

- -

Verb phrases and imperatives

-
-        mkVP : overload {
-          mkVP : V   -> VP            ;   -- sleep
-          mkVP : V2  -> NP -> VP      ;   -- use it
-          mkVP : V3  -> NP -> NP -> VP ;  -- send a message to her
-          mkVP : VV  -> VP -> VP      ;   -- want to run
-          mkVP : VS  -> S  -> VP      ;   -- know that she runs
-          mkVP : VQ  -> QS -> VP      ;   -- ask if she runs
-          mkVP : VA  -> AP -> VP      ;   -- look red
-          mkVP : V2A -> NP -> AP -> VP ;  -- paint the house red
-          mkVP : AP -> VP             ;   -- be warm
-          mkVP : NP -> VP             ;   -- be a man
-          mkVP : Adv -> VP            ;   -- be here
-          mkVP : VP -> Adv -> VP      ;   -- sleep here
-          mkVP : AdV -> VP -> VP          -- always sleep
-          } ;
-    
-        mkImp : overload {
-          mkImp : VP -> Imp              ;   -- go there now
-          mkImp : V  -> Imp              ;   -- go
-          mkImp : V2 -> NP -> Imp            -- take it
-          } ;
-
-

- -

Noun phrases and determiners

-
-        mkNP : overload {
-          mkNP : Det -> CN -> NP  ;        -- the old man
-          mkNP : Det -> N -> NP   ;        -- the man
-          mkNP : Num -> CN -> NP  ;        -- forty-five old men
-          mkNP : Num -> N -> NP   ;        -- forty-five men
-          mkNP : Int -> CN -> NP  ;        -- 51 old men
-          mkNP : Int -> N -> NP   ;        -- 51 men
-          mkNP : Digit -> CN -> NP;        -- five old men
-          mkNP : Digit -> N -> NP ;        -- five men
-          mkNP : PN -> NP         ;        -- John
-          mkNP : Pron -> NP       ;        -- he
-          mkNP : Predet -> NP -> NP ;      -- all the men
-          mkNP : NP -> V2  -> NP  ;        -- the number squared
-          mkNP : NP -> Adv -> NP  ;        -- Paris at midnight
-          mkNP : Conj -> NP -> NP -> NP ;  -- John and Mary walk
-          mkNP : DConj -> NP -> NP -> NP ; -- both John and Mary walk
-          mkNP : Conj -> ListNP -> NP ;    -- John, Mary, and Bill walk
-          mkNP : DConj -> ListNP -> NP     -- both John, Mary, and Bill walk
-    
-          } ;
-    
-        mkDet : overload {
-          mkDet : QuantSg -> Ord -> Det        ;   -- this best (man)
-          mkDet : Det                          ;   -- the (man)
-          mkDet : QuantSg ->  Det              ;   -- this (man)
-          mkDet : QuantPl -> Num -> Ord -> Det ;   -- these five best (men)
-          mkDet : QuantPl -> Det               ;   -- these (men)
-          mkDet : Quant ->  Det                ;   -- this (man)
-          mkDet : Num -> Det                   ;   -- forty-five (men)
-          mkDet : Int -> Det                   ;   -- 51 (men)
-          mkDet : Digit -> Det                 ;   -- five (men)
-          mkDet : Pron -> Det                      -- my (house)
-          } ;
-    
-       def_Det : Det ;   -- the (man)
-       indef_Det : Det ; -- a (man)
-       mass_Det : Det ;  -- (water)
+      flags optimize=noexpand ;
 

-More determiners are available in the Structural module +This module gives access to the syntactic constructions of the +GF Resource Grammar library. Its main principle is simple: +to construct an object of type C, use the function mkC. +

+

+For example, an object of type S corresponding to the string +

+

+John loves Mary +

+

+is written +

+

+mkS (mkCl (mkNP (mkPN "John")) (mkV2 "love") (mkNP (mkPN "Mary"))) +

+

+This module defines the syntactic constructors, which take trees as arguments. +Lexical constructors, which take strings as arguments, are defined in the +Paradigms modules separately for each language. +

+

+The recommended usage of this module is via the wrapper module Syntax, +which also contains the Structural (structural words). +Together with Paradigms, Syntax gives everything that is needed +to implement the concrete syntax for a langauge. +

+ +

Principles of organization

+

+To make the library easier to grasp and navigate, we have followed +a set of principles when organizing it: +

+
    +
  1. Each category C has an overloaded constructor mkC, with value type C. +
  2. With mkC, it is possible to construct any tree of type C, except +atomic ones, i.e. those that take no arguments, and +those whose argument types are exactly the same as in some other instance +
  3. To achieve completeness, the library therefore also has +for each atomic tree of type C, a constant suffixed C, and, +for other missing constructions, some operation suffixed C. +These constructors are listed immediately after the mkC group. +
  4. Those atomic constructors that are given in Structural are not repeated here. +
  5. In addition to the minimally complete set of constructions, many mkC groups +include some frequently needed special cases, with two possible logics: +default value (to decrease the number of arguments), and +direct arguments of an intervening constructor (to flatten the terms). +
  6. If such a special case is applied to some category in some rule, it is +also applied to all other rules in which the category appears. +
  7. The constructors in a group are listed, roughly, +from the most common to the most general. This does not of course specify +a total order. +
  8. Optional argument types are marked in parentheses. Although parentheses make no +difference in the way the GF compiler treats the types, their presence indicates +to the reader that the corresponding arguments can be left out; internally, the +library has an overload case for each such combination. +
  9. Each constructor case is equipped with an example that is built by that +case but could not be built with any other one. +
+ + +

Texts, phrases, and utterances

+ +

Text: texts

+

+A text is a list of phrases separated by punctuation marks. +The default punctuation mark is the full stop, and the default +continuation of a text is empty.

- -

Numerals - cardinal and ordinal

-        mkNum : overload {
-          mkNum : Num            ;   -- [no num]
-          mkNum : Int -> Num     ;   -- 51
-          mkNum : Digit -> Num
+      oper
+        mkText : overload {
+          mkText : Phr ->                      Text ; -- 1. But John walks.
+          mkText : Phr -> (Punct) -> (Text) -> Text ; -- 2. John walks? Yes.
+
+

+

+A text can also be directly built from utterances, which in turn can +be directly built from sentences, present-tense clauses, questions, or +positive imperatives. +

+
+          mkText : Utt ->  Text ;  -- 3. John.
+          mkText : S   ->  Text ;  -- 4. John walked.
+          mkText : Cl  ->  Text ;  -- 5. John walks.
+          mkText : QS  ->  Text ;  -- 6. Did John walk?
+          mkText : Imp ->  Text    -- 7. Walk!
           } ;
-    
-        mkOrd : overload {
-          mkOrd : Ord            ;   -- [no ord]
-          mkOrd : Int -> Ord     ;   -- 51st
-          mkOrd : Digit -> Ord   ;   -- fifth
-          mkOrd : A -> Ord           -- largest
+
+

+

+A text can also be empty. +

+
+          emptyText :      Text ;  -- 8. (empty text)
+
+

+ +

Punct: punctuation marks

+

+There are three punctuation marks that can separate phrases in a text. +

+
+          fullStopPunct  : Punct ;  -- .
+          questMarkPunct : Punct ;  -- ?
+          exclMarkPunct  : Punct ;  -- !
+
+

+ +

Phr: phrases in a text

+

+Phrases are built from utterances by adding a phrasal conjunction +and a vocative, both of which are by default empty. +

+
+        mkPhr : overload {
+          mkPhr :            Utt ->          Phr ;  -- 1. why
+          mkPhr : (PConj) -> Utt -> (Voc) -> Phr ;  -- 2. but why John
+
+

+

+A phrase can also be directly built by a sentence, a present-tense +clause, a question, or a positive singular imperative. +

+
+          mkPhr : S   ->  Phr ; -- 3. John walked
+          mkPhr : Cl  ->  Phr ; -- 4. John walks
+          mkPhr : QS  ->  Phr ; -- 5. did John walk
+          mkPhr : Imp ->  Phr   -- 6. walk
           } ;
 

-

Common nouns

+

PConj, phrasal conjunctions

+

+Any conjunction can be used as a phrasal conjunction. +More phrasal conjunctions are defined in Structural. +

-        mkCN : overload {
-          mkCN : N  -> CN               ;   -- house
-          mkCN : N2 -> NP -> CN         ;   -- son of the king
-          mkCN : N3 -> NP -> NP -> CN   ;   -- flight from Moscow (to Paris)
-          mkCN : N2 -> CN               ;   -- son
-          mkCN : N3 -> CN               ;   -- flight
-          mkCN : AP -> CN  -> CN        ;   -- nice and big blue house
-          mkCN : AP ->  N  -> CN        ;   -- nice and big house
-          mkCN : CN -> AP  -> CN        ;   -- nice and big blue house
-          mkCN :  N -> AP  -> CN        ;   -- nice and big house
-          mkCN :  A -> CN  -> CN        ;   -- big blue house
-          mkCN :  A ->  N  -> CN        ;   -- big house
-          mkCN : CN -> RS  -> CN        ;   -- house that John owns
-          mkCN :  N -> RS  -> CN        ;   -- house that John owns
-          mkCN : CN -> Adv -> CN        ;   -- house on the hill
-          mkCN :  N -> Adv -> CN        ;   -- house on the hill
-          mkCN : CN -> SC  -> CN        ;   -- fact that John smokes, question if he does
-          mkCN :  N -> SC  -> CN        ;   -- fact that John smokes, question if he does
-          mkCN : CN -> NP  -> CN        ;   -- number x, numbers x and y
-          mkCN :  N -> NP  -> CN            -- number x, numbers x and y
-          } ;
+          mkPConj : Conj -> PConj ;  -- 1. and
 

-

Adjectival phrases

+

Voc, vocatives

+

+Any noun phrase can be turned into a vocative. +More vocatives are defined in Structural. +

-        mkAP : overload {
-          mkAP : A -> AP        ;         -- warm
-          mkAP : A -> NP -> AP  ;         -- warmer than Spain
-          mkAP : A2 -> NP -> AP ;         -- divisible by 2
-          mkAP : A2 -> AP       ;         -- divisible by itself
-          mkAP : AP -> SC -> AP ;         -- great that she won; uncertain if she did
-          mkAP : AdA -> AP -> AP ;        -- very uncertain
-          mkAP : Conj -> AP -> AP -> AP ; -- warm and nice
-          mkAP : DConj -> AP -> AP -> AP ;-- both warm and nice
-          mkAP : Conj -> ListAP -> AP ;   -- warm, nice, and cheap
-          mkAP : DConj -> ListAP -> AP    -- both warm, nice, and cheap
-    
-          } ;
+          mkVoc : NP -> Voc ;   -- 1. John
 

-

Adverbs

+

Utt, utterances

+

+Utterances are formed from sentences, clauses, questions, and positive singular imperatives. +

-        mkAdv : overload {
-          mkAdv : A -> Adv               ;    -- quickly
-          mkAdv : Prep -> NP -> Adv      ;    -- in the house
-          mkAdv : CAdv -> A -> NP -> Adv ;    -- more quickly than John
-          mkAdv : CAdv -> A -> S -> Adv  ;    -- more quickly than he runs
-          mkAdv : AdA -> Adv -> Adv      ;    -- very quickly
-          mkAdv : Subj -> S -> Adv       ;    -- when he arrives
-          mkAdv : Conj -> Adv -> Adv -> Adv;  -- here and now
-          mkAdv : DConj -> Adv -> Adv -> Adv; -- both here and now
-          mkAdv : Conj -> ListAdv -> Adv ;    -- here, now, and with you
-          mkAdv : DConj -> ListAdv -> Adv     -- both here, now, and with you
+        mkUtt : overload {
+          mkUtt : S   -> Utt ;  -- 1. John walked
+          mkUtt : Cl  -> Utt ;  -- 2. John walks
+          mkUtt : QS  -> Utt ;  -- 3. did John walk
+          mkUtt : Imp -> Utt ;  -- 4. love yourself
+
+

+

+Imperatives can also vary in ImpForm (number/politeness) and +polarity. +

+
+          mkUtt : (ImpForm) -> (Pol) -> Imp -> Utt ;  -- 5. don't love yourselves
+
+

+

+Utterances can also be formed from interrogative phrases and +interrogative adverbials, noun phrases, adverbs, and verb phrases. +

+
+          mkUtt : IP   ->  Utt ;  -- 6. who
+          mkUtt : IAdv ->  Utt ;  -- 7. why
+          mkUtt : NP   ->  Utt ;  -- 8. John
+          mkUtt : Adv  ->  Utt ;  -- 9. here
+          mkUtt : VP   ->  Utt    -- 10. to walk
           } ;
 

+

+The plural first-person imperative is a special construction. +

+
+          lets_Utt : VP ->  Utt ;  -- 11. let's walk
+
+

-

Questions and interrogative pronouns

-
-        mkQS : overload {
-          mkQS : Tense -> Ant -> Pol -> QCl -> QS ; -- wouldn't John have walked
-          mkQS : QCl  -> QS                       ; -- who walks
-          mkQS : Cl   -> QS                         -- does John walk
-          } ;
-    
-        mkQCl : overload {
-          mkQCl : Cl -> QCl                ;   -- does John walk
-          mkQCl : IP -> VP -> QCl          ;   -- who walks
-          mkQCl : IP -> Slash -> QCl       ;   -- who does John love
-          mkQCl : IP -> NP -> V2 -> QCl    ;   -- who does John love
-          mkQCl : IAdv -> Cl -> QCl        ;   -- why does John walk
-          mkQCl : Prep -> IP -> Cl -> QCl  ;   -- with whom does John walk
-          mkQCl : IAdv -> NP -> QCl        ;   -- where is John
-          mkQCl : IP -> QCl                    -- which houses are there
-          } ;
-    
-        mkIP : overload {
-          mkIP : IDet -> Num -> Ord -> CN -> IP ; -- which five best songs
-          mkIP : IDet -> N -> IP              ;   -- which song
-          mkIP : IP -> Adv -> IP                  -- who in Europe
-          } ;
-
-

+

Auxiliary parameters for phrases and sentences

-

Relative clauses and relative pronouns

+

Pol, polarity

+

+Polarity is a parameter that sets a clause to positive or negative +form. Since positive is the default, it need never be given explicitly. +

-        mkRS : overload {
-          mkRS : Tense -> Ant -> Pol -> RCl -> RS ; -- who wouldn't have walked
-          mkRS : RCl  -> RS                         -- who walks
-          } ;
-    
-        mkRCl : overload {
-          mkRCl : Cl -> RCl          ;   -- such that John loves her
-          mkRCl : RP -> VP -> RCl    ;   -- who loves John
-          mkRCl : RP -> Slash -> RCl     -- whom John loves
-          } ;
-    
-        mkRP : overload {
-          mkRP : RP                    ;   -- which
-          mkRP : Prep -> NP -> RP -> RP    -- all the roots of which
-          } ;
+          positivePol : Pol ;  -- (John walks) [default]
+          negativePol : Pol ;  -- (John doesn't walk)
 

-

Objectless sentences and sentence complements

+

Ant, anteriority

+

+Anteriority is a parameter that presents an event as simultaneous or +anterior to some other reference time. +Since simultaneous is the default, it need never be given explicitly. +

-        mkSlash : overload {
-          mkSlash : NP -> V2 -> Slash    ;    -- (whom) he sees
-          mkSlash : NP -> VV -> V2 -> Slash ; -- (whom) he wants to see
-          mkSlash : Slash -> Adv -> Slash ;   -- (whom) he sees tomorrow
-          mkSlash : Cl -> Prep -> Slash       -- (with whom) he walks
-          } ;
-    
-        mkSC : overload {
-          mkSC : S  -> SC             ;   -- that you go
-          mkSC : QS -> SC             ;   -- whether you go
-          mkSC : VP -> SC                 -- to go
+          simultaneousAnt : Ant ;  -- (John walks) [default]
+          anteriorAnt     : Ant ;  -- (John has walked)       --# notpresent
+
+

+ +

Tense, tense

+

+Tense is a parameter that relates the time of an event +to the time of speaking about it. +Since present is the default, it need never be given explicitly. +

+
+          presentTense     : Tense ; -- (John walks) [default]
+          pastTense        : Tense ; -- (John walked)           --# notpresent
+          futureTense      : Tense ; -- (John will walk)        --# notpresent
+          conditionalTense : Tense ; -- (John would walk)       --# notpresent
+
+

+ +

ImpForm, imperative form

+

+Imperative form is a parameter that sets the form of imperative +by reference to the person or persons addressed. +Since singular is the default, it need never be given explicitly. +

+
+          singularImpForm : ImpForm ;  -- (help yourself) [default]
+          pluralImpForm   : ImpForm ;  -- (help yourselves)
+          politeImpForm   : ImpForm ;  -- (help yourself) (polite singular)
+
+

+ +

Sentences and clauses

+ +

S, sentences

+

+A sentence has a fixed tense, anteriority and polarity. +

+
+        mkS : overload {
+          mkS :                              Cl -> S ;  -- 1. John walks
+          mkS : (Tense) -> (Ant) -> (Pol) -> Cl -> S ;  -- 2. John wouldn't have walked
+
+

+

+Sentences can be combined with conjunctions. This can apply to a pair +of sentences, but also to a list of more than two. +

+
+          mkS : Conj  -> S -> S -> S ;  -- 3. John walks and I run   
+          mkS : Conj  -> ListS  -> S ;  -- 4. John walks, I run and you sleep
+          mkS : DConj -> S -> S -> S ;  -- 5. either John walk or I run
+          mkS : DConj -> ListS  -> S ;  -- 6. either John walks, I run or you sleep
+
+

+

+A sentence can be prefixed by an adverb. +

+
+          mkS : Adv -> S -> S    -- 7. today, John walks
           } ;
 

+ +

Cl, clauses

+

+A clause has a variable tense, anteriority and polarity. +A clause can be built from a subject noun phrase +with a verb and appropriate arguments. +

+
+        mkCl : overload {
+          mkCl : NP  -> V  ->             Cl ;  -- 1. John walks
+          mkCl : NP  -> V2 -> NP ->       Cl ;  -- 2. John loves her
+          mkCl : NP  -> V3 -> NP -> NP -> Cl ;  -- 3. John sends it to her
+          mkCl : NP  -> VV -> VP ->       Cl ;  -- 4. John wants to walk 
+          mkCl : NP  -> VS -> S  ->       Cl ;  -- 5. John says that it is good
+          mkCl : NP  -> VQ -> QS ->       Cl ;  -- 6. John wonders if it is good
+          mkCl : NP  -> VA -> AP ->       Cl ;  -- 7. John becomes old
+          mkCl : NP  -> V2A ->NP -> AP -> Cl ;  -- 8. John paints it red
+          mkCl : NP  -> A  ->             Cl ;  -- 9. John is old
+          mkCl : NP  -> A  -> NP ->       Cl ;  -- 10. John is older than her
+          mkCl : NP  -> A2 -> NP ->       Cl ;  -- 11. John is married to her
+          mkCl : NP  -> AP ->             Cl ;  -- 12. John is very old
+          mkCl : NP  -> N  ->             Cl ;  -- 13. John is a man
+          mkCl : NP  -> CN ->             Cl ;  -- 14. John is an old man
+          mkCl : NP  -> NP ->             Cl ;  -- 15. John is the man
+          mkCl : NP  -> Adv ->            Cl ;  -- 16. John is here
+
+

+

+As the general rule, a clause can be built from a subject noun phrase and +a verb phrase. +

+
+          mkCl : NP  -> VP -> Cl ;  -- 17. John walks here
+
+

+

+Subjectless verb phrases are used for impersonal actions. +

+
+          mkCl : V   ->  Cl ;  -- 18. it rains
+          mkCl : VP  ->  Cl ;  -- 19. it is raining
+
+

+

+Existentials are a special form of clauses. +

+
+          mkCl : N   ->  Cl ;  -- 20. there is a house
+          mkCl : CN  ->  Cl ;  -- 21. there is an old houses
+          mkCl : NP  ->  Cl ;  -- 22. there are five houses
+
+

+

+There are also special forms in which a noun phrase or an adverb is +emphasized. +

+
+          mkCl : NP  -> RS -> Cl ;  -- 23. it is John that walks
+          mkCl : Adv -> S  -> Cl    -- 24. it is here John walks
+          } ;
+
+

+

+Generic clauses are one with an impersonal subject. +

+
+          genericCl : VP ->  Cl ;   -- 25. one walks              
+
+

+ +

Verb phrases and imperatives

+ +

VP, verb phrases

+

+A verb phrase is formed from a verb with appropriate arguments. +

+
+        mkVP : overload {
+          mkVP : V   ->             VP ;  -- 1. walk
+          mkVP : V2  -> NP ->       VP ;  -- 2. love her
+          mkVP : V3  -> NP -> NP -> VP ;  -- 3. send it to her
+          mkVP : VV  -> VP ->       VP ;  -- 4. want to walk
+          mkVP : VS  -> S  ->       VP ;  -- 5. know that she walks
+          mkVP : VQ  -> QS ->       VP ;  -- 6. ask if she walks
+          mkVP : VA  -> AP ->       VP ;  -- 7. become old
+          mkVP : V2A -> NP -> AP -> VP ;  -- 8. paint it red
+
+

+

+The verb can also be a copula (be), and the relevant argument is +then the complement adjective or noun phrase. +

+
+          mkVP : A   ->      VP ;  --  9. be warm
+          mkVP : AP  ->      VP ;  -- 12. be very warm
+          mkVP : A  -> NP -> VP ;  -- 10. be older than her
+          mkVP : A2 -> NP -> VP ;  -- 11. be married to her
+          mkVP : N   ->      VP ;  -- 13. be a man
+          mkVP : CN  ->      VP ;  -- 14. be an old man
+          mkVP : NP  ->      VP ;  -- 15. be the man
+          mkVP : Adv ->      VP ;  -- 16. be here
+
+

+

+A verb phrase can be modified with a postverbal or a preverbal adverb. +

+
+          mkVP : VP  -> Adv -> VP ;  -- 17. sleep here
+          mkVP : AdV -> VP  -> VP    -- 18. always sleep
+          } ;
+
+

+

+Two-place verbs can be used reflexively. +

+
+          reflexiveVP : V2 -> VP ; -- 19. love itself
+
+

+

+Two-place verbs can also be used in the passive, with or without an agent. +

+
+        passiveVP : overload {
+          passiveVP : V2 ->       VP ;  -- 20. be loved
+          passiveVP : V2 -> NP -> VP ;  -- 21. be loved by her
+          } ;
+
+

+

+A verb phrase can be turned into the progressive form. +

+
+          progressiveVP : VP -> VP ;  -- 22. be sleeping
+
+

+ +

Imp, imperatives

+

+Imperatives are formed from verbs and their arguments; as the general +rule, from verb phrases. +

+
+        mkImp : overload {
+          mkImp : V  ->        Imp  ;   -- go
+          mkImp : V2 -> NP ->  Imp  ;   -- take it
+          mkImp : VP ->        Imp      -- go there now
+          } ;
+
+

+ +

Noun phrases and determiners

+ +

NP, noun phrases

+

+A noun phrases can be built from a determiner and a common noun (CN) . +For determiners, the special cases of quantifiers, numerals, integers, +and possessive pronouns are provided. For common nouns, the +special case of a simple common noun (N) is always provided. +

+
+        mkNP : overload {
+          mkNP : Det     -> N  -> NP ;       --  1. the first man
+          mkNP : Det     -> CN -> NP ;       --  2. the first old man
+          mkNP : QuantSg -> N  -> NP ;       --  3. this man
+          mkNP : QuantSg -> CN -> NP ;       --  4. this old man
+          mkNP : QuantPl -> N  -> NP ;       --  5. these men
+          mkNP : QuantPl -> CN -> NP ;       --  6. these old men
+          mkNP : Numeral -> N  -> NP ;       --  7. twenty men
+          mkNP : Numeral -> CN -> NP ;       --  8. twenty old men
+          mkNP : Int     -> N  -> NP ;       --  9. 45 men
+          mkNP : Int     -> CN -> NP ;       -- 10. 45 old men
+          mkNP : Num     -> N  -> NP ;       -- 11. almost twenty men
+          mkNP : Num     -> CN -> NP ;       -- 12. almost twenty old men
+          mkNP : Pron    -> N  -> NP ;       -- 13. my man
+          mkNP : Pron    -> CN -> NP;        -- 14. my old man
+
+

+

+Proper names and pronouns can be used as noun phrases. +

+
+          mkNP : PN    -> NP ;  -- 15. John
+          mkNP : Pron  -> NP ;  -- 16. he
+
+

+

+A noun phrase once formed can be prefixed by a predeterminer and +suffixed by a past participle or an adverb. +

+
+          mkNP : Predet -> NP -> NP ;  -- 17. only John
+          mkNP : NP ->    V2  -> NP ;  -- 18. John killed
+          mkNP : NP ->    Adv -> NP ;  -- 19. John in Paris
+
+

+

+A conjunction can be formed both from two noun phrases and a longer +list of them. +

+
+          mkNP : Conj  -> NP -> NP -> NP ; -- 20. John and I
+          mkNP : Conj  -> ListNP ->   NP ; -- 21. John, I, and that
+          mkNP : DConj -> NP -> NP -> NP ; -- 22. either John or I
+          mkNP : DConj -> ListNP ->   NP   -- 23. either John, I, or that
+    
+          } ;
+
+

+ +

Det, determiners

+

+A determiner is either a singular or a plural one. +Both have a quantifier and an optional ordinal; the plural +determiner also has an optional numeral. +

+
+        mkDet : overload {
+          mkDet : QuantSg ->                   Det ; -- 1. this
+          mkDet : QuantSg ->          (Ord) -> Det ; -- 2. this first
+          mkDet : QuantPl ->                   Det ; -- 3. these
+          mkDet : QuantPl -> (Num) -> (Ord) -> Det ; -- 4. these five best
+
+

+

+Quantifiers that have both singular and plural forms are by default used as +singular determiners. If a numeral is added, the plural form is chosen. +

+
+          mkDet : Quant ->        Det ;  -- 5. this
+          mkDet : Quant -> Num -> Det ;  -- 6. these five
+
+

+

+Numerals, their special cases integers and digits, and possessive pronouns can be +used as determiners. +

+
+          mkDet : Num     ->  Det ;  --  7. almost twenty
+          mkDet : Numeral ->  Det ;  --  8. five
+          mkDet : Int     ->  Det ;  --  9. 51
+          mkDet : Pron    ->  Det    -- 10. my
+          } ;
+
+

+

+The definite and indefinite articles are commonly used determiners. +

+
+          defSgDet   : Det ;  -- 11. the (house)
+          defPlDet   : Det ;  -- 12. the (houses)
+          indefSgDet : Det ;  -- 13. a (house)
+          indefPlDet : Det ;  -- 14. (houses)
+
+

+ +

Quant, quantifiers with both sincular and plural forms

+

+Definite and indefinite articles have both singular and plural +forms (even though the +plural indefinite is empty in most languages). +

+
+          defQuant   : Quant ;  -- 1. the
+          indefQuant : Quant ;  -- 2. a
+
+

+

+More quantifiers are available in the Structural module. +

+ +

QuantSg, singular quantifiers

+

+From quantifiers that can have both forms, this constructor +builds the singular form. +

+
+          mkQuantSg : Quant -> QuantSg ;  -- 1. this
+
+

+

+The mass noun phrase constructor is treated as a singular quantifier. +

+
+          massQuant : QuantSg ;  -- 2. (mass terms)
+
+

+

+More singular quantifiers are available in the Structural module. +

+ +

QuantPl, plural quantifiers

+

+From quantifiers that can have both forms, this constructor +builds the plural form. +

+
+          mkQuantPl : Quant -> QuantPl ;  -- 1. these
+
+

+

+More plural quantifiers are available in the Structural module. +

+ +

Num, cardinal numerals

+

+Numerals can be formed from number words (Numeral), their special case digits, +and from symbolic integers. +

+
+        mkNum : overload {
+          mkNum : Numeral -> Num ;   -- 1. twenty
+          mkNum : Int     -> Num ;   -- 2. 51
+
+

+

+A numeral can be modified by an adnumeral. +

+
+          mkNum : AdN -> Num -> Num  -- 3. almost ten
+          } ;
+
+

+ +

Ord, ordinal numerals

+

+Just like cardinals, ordinals can be formed from number words (Numeral) +and from symbolic integers. +

+
+        mkOrd : overload {
+          mkOrd : Numeral -> Ord ;  -- 1. twentieth
+          mkOrd : Int     -> Ord ;  -- 2. 51st
+
+

+

+Also adjectives in the superlative form can appear on ordinal positions. +

+
+          mkOrd : A  -> Ord  -- 3. best
+          } ;
+
+

+ +

AdN, adnumerals

+

+Comparison adverbs can be used as adnumerals. +

+
+          mkAdN : CAdv -> AdN ;  -- 1. more than
+
+

+ +

Numeral, number words

+

+Digits and some round numbers are here given as shorthands. +

+
+          n1_Numeral    : Numeral ; -- 1. one
+          n2_Numeral    : Numeral ; -- 2. two
+          n3_Numeral    : Numeral ; -- 3. three
+          n4_Numeral    : Numeral ; -- 4. four
+          n5_Numeral    : Numeral ; -- 5. five
+          n6_Numeral    : Numeral ; -- 6. six
+          n7_Numeral    : Numeral ; -- 7. seven
+          n8_Numeral    : Numeral ; -- 8. eight
+          n9_Numeral    : Numeral ; -- 9. nine
+          n10_Numeral   : Numeral ; -- 10. ten
+          n20_Numeral   : Numeral ; -- 11. twenty
+          n100_Numeral  : Numeral ; -- 12. hundred
+          n1000_Numeral : Numeral ; -- 13. thousand
+
+

+

+See Numeral for the full set of constructors, or use Int for other numbers. +

+ +

Nouns

+ +

CN, common noun phrases

+
+        mkCN : overload {
+
+

+

+The most frequent way of forming common noun phrases is from atomic nouns N. +

+
+          mkCN : N -> CN ;   -- 1. house
+
+

+

+Common noun phrases can be formed from relational nouns by providing arguments. +

+
+          mkCN : N2 -> NP ->       CN ; -- 2. mother of John
+          mkCN : N3 -> NP -> NP -> CN ; -- 3. distance from this city to Paris
+
+

+

+Relational nouns can also be used without their arguments. +

+
+          mkCN : N2 -> CN ;   -- 4. son
+          mkCN : N3 -> CN ;   -- 5. flight
+
+

+

+A common noun phrase can be modified by adjectival phrase. We give special +cases of this, where one or both of the arguments are atomic. +

+
+          mkCN : A  -> N   -> CN ;   -- 6. big house
+          mkCN : A  -> CN  -> CN ;   -- 7. big blue house
+          mkCN : AP -> N   -> CN ;   -- 8. very big house
+          mkCN : AP -> CN  -> CN ;   -- 9. very big blue house
+
+

+

+A common noun phrase can be modified by a relative clause or an adverb. +

+
+          mkCN : N  -> RS  -> CN ;   -- 10. house that John loves
+          mkCN : CN -> RS  -> CN ;   -- 11. big house that John loves
+          mkCN : N  -> Adv -> CN ;   -- 12. house in the city
+          mkCN : CN -> Adv -> CN ;   -- 13. big house in the city
+
+

+

+For some nouns it makes sense to modify them by sentences, +questions, or infinitives. But syntactically this is possible for +all nouns. +

+
+          mkCN : CN -> S   -> CN ;   -- 14. rule that John walks
+          mkCN : CN -> QS  -> CN ;   -- 15. question if John walks
+          mkCN : CN -> VP  -> CN ;   -- 16. reason to walk
+
+

+

+A noun can be used in apposition to a noun phrase, especially a proper name. +

+
+          mkCN : N  -> NP  -> CN ;   -- 17. king John
+          mkCN : CN -> NP  -> CN     -- 18. old king John
+          } ;
+
+

+ +

Adjectives and adverbs

+ +

AP, adjectival phrases

+
+        mkAP : overload {
+
+

+

+Adjectival phrases can be formed from atomic adjectives by using the positive form or +the comparative with a complement +

+
+          mkAP : A  ->       AP ;  -- 1. old
+          mkAP : A  -> NP -> AP ;  -- 2. older than John
+
+

+

+Relational adjectives can be used with a complement or a reflexive +

+
+          mkAP : A2 -> NP -> AP ;  -- 3. married to her
+          mkAP : A2 ->       AP ;  -- 4. married to myself
+
+

+

+Some adjectival phrases can take as complements sentences, +questions, or infinitives. Syntactically this is possible for +all adjectives. +

+
+          mkAP : AP -> S  -> AP ;  -- 5. probable that John walks
+          mkAP : AP -> QS -> AP ;  -- 6. uncertain if John walks
+          mkAP : AP -> VP -> AP ;  -- 7. ready to go
+
+

+

+An adjectival phrase can be modified by an adadjective. +

+
+          mkAP : AdA  -> A  -> AP ;  -- 8. very old
+          mkAP : AdA  -> AP -> AP ;  -- 9. very very old
+
+

+

+Conjunction can be formed from two or more adjectival phrases. +

+
+          mkAP : Conj  -> AP -> AP -> AP ; -- 10. old and big
+          mkAP : Conj  -> ListAP   -> AP ; -- 11. old, big, and warm
+          mkAP : DConj -> AP -> AP -> AP ; -- 12. either old or big
+          mkAP : DConj -> ListAP ->   AP   -- 13. either old, big, or warm
+    
+          } ;
+
+

+ +

Adv, adverbial phrases

+
+        mkAdv : overload {
+
+

+

+Adverbs can be formed from adjectives. +

+
+          mkAdv : A -> Adv  ;   -- 1. warmly
+
+

+

+Prepositional phrases are treated as adverbs. +

+
+          mkAdv : Prep -> NP -> Adv ;  -- 2. with John
+
+

+

+Subordinate sentences are treated as adverbs. +

+
+          mkAdv : Subj -> S -> Adv  ;  -- 3. when John walks
+
+

+

+An adjectival adverb can be compared to a noun phrase or a sentence. +

+
+          mkAdv : CAdv -> A -> NP -> Adv ;  -- 4. more warmly than John
+          mkAdv : CAdv -> A -> S  -> Adv ;  -- 5. more warmly than John walks
+
+

+

+Adverbs can be modified by adadjectives. +

+
+          mkAdv : AdA -> Adv -> Adv ;  -- 6. very warmly
+
+

+

+Conjunction can be formed from two or more adverbial phrases. +

+
+          mkAdv : Conj  -> Adv -> Adv -> Adv ; -- 7. here and now
+          mkAdv : Conj  -> ListAdv ->    Adv ; -- 8. with John, here and now
+          mkAdv : DConj -> Adv -> Adv -> Adv ; -- 9. either here or now
+          mkAdv : DConj -> ListAdv ->    Adv   -- 10. either here, now, or with John
+          } ;
+
+

+ +

Questions and relatives

+ +

QS, question sentences

+
+        mkQS : overload {
+
+

+

+Just like a sentence S is built from a clause Cl, +a question sentence QS is built from +a question clause QCl by fixing tense, anteriority and polarity. +Any of these arguments can be omitted, which results in the +default (present, simultaneous, and positive, respectively). +

+
+          mkQS :                              QCl -> QS ;  -- 1. who walks
+          mkQS : (Tense) -> (Ant) -> (Pol) -> QCl -> QS ;  -- 2. who wouldn't have walked
+
+

+

+Since 'yes-no' question clauses can be built from clauses (see below), +we give a shortcut +for building a question sentence directly from a clause, using the defaults +present, simultaneous, and positive. +

+
+          mkQS : Cl -> QS  -- 3. does John walk
+          } ;
+
+

+ +

QCl, question clauses

+
+        mkQCl : overload {
+
+

+

+'Yes-no' question clauses are built from 'declarative' clauses. +

+
+          mkQCl : Cl -> QCl ;   -- 1. does John walk
+
+

+

+'Wh' questions are built from interrogative pronouns in subject +or object position. The former uses a verb phrase; we don't give +shortcuts for verb-argument sequences as we do for clauses. +The latter uses the 'slash' category of objectless clauses +(see below); we give the common special case with a two-place verb. +

+
+          mkQCl : IP -> VP ->       QCl ;  -- 2. who walks
+          mkQCl : IP -> NP -> V2 -> QCl ;  -- 3. whom does John love
+          mkQCl : IP -> Slash ->    QCl ;  -- 4. whom does John love today
+
+

+

+Adverbial 'wh' questions are built with interrogative adverbials, with the +special case of prepositional phrases with interrogative pronouns. +

+
+          mkQCl : IAdv -> Cl ->       QCl ;   -- 5. why does John walk
+          mkQCl : Prep -> IP -> Cl -> QCl ;   -- 6. with who does John walk
+
+

+

+An interrogative adverbial can serve as the complement of a copula. +

+
+          mkQCl : IAdv -> NP -> QCl ;  -- 7. where is John
+
+

+

+Existentials are a special construction. +

+
+          mkQCl : IP -> QCl  -- 8. what is there
+          } ;
+
+

+ +

IP, interrogative pronouns

+
+        mkIP : overload {
+
+

+

+Interrogative pronouns +can be formed much like noun phrases, by using interrogative determiners. +

+
+          mkIP : IDet ->                   N  -> IP ; -- 1. which city
+          mkIP : IDet -> (Num) -> (Ord) -> CN -> IP ; -- 2. which five best cities
+
+

+

+An interrogative pronoun can be modified by an adverb. +

+
+          mkIP : IP -> Adv -> IP  -- 3. who in Paris
+          } ;
+
+

+

+More interrogative pronouns and determiners can be found in Structural. +

+ +

IAdv, interrogative adverbs.

+

+In addition to the interrogative adverbs defined in the Structural lexicon, they +can be formed as prepositional phrases from interrogative pronouns. +

+
+        mkIAdv : Prep -> IP -> IAdv ;  -- 1. in which city
+
+

+

+More interrogative adverbs are given in Structural. +

+ +

RS, relative sentences

+

+Just like a sentence S is built from a clause Cl, +a relative sentence RS is built from +a relative clause RCl by fixing the tense, anteriority and polarity. +Any of these arguments +can be omitted, which results in the default (present, simultaneous, +and positive, respectively). +

+
+        mkRS : overload {
+          mkRS : RCl ->                              RS ; -- 1. that walk
+          mkRS : (Tense) -> (Ant) -> (Pol) -> RCl -> RS   -- 2. that wouldn't have walked
+          } ;
+
+

+ +

RCl, relative clauses

+
+        mkRCl : overload {
+
+

+

+Relative clauses are built from relative pronouns in subject or object position. +The former uses a verb phrase; we don't give +shortcuts for verb-argument sequences as we do for clauses. +The latter uses the 'slash' category of objectless clauses (see below); +we give the common special case with a two-place verb. +

+
+          mkRCl : RP -> VP ->       RCl ;  -- 1. that walk
+          mkRCl : RP -> NP -> V2 -> RCl ;  -- 2. which John loves
+          mkRCl : RP -> Slash ->    RCl ;  -- 3. which John loves today
+
+

+

+There is a simple 'such that' construction for forming relative +clauses from clauses. +

+
+          mkRCl : Cl -> RCl  -- 4. such that John loves her
+          } ;
+
+

+ +

RP, relative pronouns

+

+There is an atomic relative pronoun +

+
+          which_RP : RP ;   -- 1. which
+
+

+

+A relative pronoun can be made into a kind of a prepositional phrase. +

+
+          mkRP : Prep -> NP -> RP -> RP ;  -- 2. all the houses in which
+
+

+ +

Slash, objectless sentences

+
+        mkSlash : overload {
+
+

+

+Objectless sentences are used in questions and relative clauses. +The most common way of constructing them is by using a two-place verb +with a subject but without an object. +

+
+          mkSlash : NP -> V2 -> Slash ;  -- 1. (whom) John loves
+
+

+

+The two-place verb can be separated from the subject by a verb-complement verb. +

+
+          mkSlash : NP -> VV -> V2 -> Slash ;  -- 2. (whom) John wants to see
+
+

+

+The missing object can also be the noun phrase in a prepositional phrase. +

+
+          mkSlash : Cl -> Prep -> Slash ;  -- 3. (with whom) John walks
+
+

+

+An objectless sentence can be modified by an adverb. +

+
+          mkSlash : Slash -> Adv -> Slash  -- 4. (whom) John loves today
+          } ;
+
+

+ +

Lists for coordination

+

+The rules in this section are very uniform: a list can be built from two or more +expressions of the same category. +

+ +

ListS, sentence lists

+
+        mkListS : overload {
+         mkListS : S -> S ->     ListS ;  -- 1. he walks, I run
+         mkListS : S -> ListS -> ListS    -- 2. John walks, I run, you sleep
+         } ;
+
+

+ +

ListAdv, adverb lists

+
+        mkListAdv : overload {
+         mkListAdv : Adv -> Adv ->     ListAdv ;  -- 1. here, now
+         mkListAdv : Adv -> ListAdv -> ListAdv    -- 2. to me, here, now
+         } ;
+
+

+ +

ListAP, adjectival phrase lists

+
+        mkListAP : overload {
+         mkListAP : AP -> AP ->     ListAP ;  -- 1. old, big
+         mkListAP : AP -> ListAP -> ListAP    -- 2. old, big, warm
+         } ;
+
+

+ +

ListNP, noun phrase lists

+
+        mkListNP : overload {
+         mkListNP : NP -> NP ->     ListNP ;  -- 1. John, I
+         mkListNP : NP -> ListNP -> ListNP    -- 2. John, I, that
+         } ;
+
+

- + diff --git a/lib/resource-1.0/doc/gfdoc/Grammar.html b/lib/resource-1.0/doc/gfdoc/Grammar.html index 99d30d5e2..c9cd46216 100644 --- a/lib/resource-1.0/doc/gfdoc/Grammar.html +++ b/lib/resource-1.0/doc/gfdoc/Grammar.html @@ -6,7 +6,7 @@

Grammar: the Main Module of the Resource Grammar

-Last update: 2006-07-02 00:15:01 CEST
+Last update: 2007-06-20 08:34:45 CEST

@@ -39,11 +39,10 @@ a lexicon. Phrase, Text, Structural, - Idiom - ** {} ; + Idiom ;

- + diff --git a/lib/resource-1.0/doc/gfdoc/Idiom.html b/lib/resource-1.0/doc/gfdoc/Idiom.html index 1392a9d75..e808d2c24 100644 --- a/lib/resource-1.0/doc/gfdoc/Idiom.html +++ b/lib/resource-1.0/doc/gfdoc/Idiom.html @@ -6,7 +6,7 @@

Idiom: Idiomatic Expressions

-Last update: 2006-06-16 07:46:47 CEST
+Last update: 2006-06-15 09:19:39 CEST

@@ -47,6 +47,6 @@ often different even in closely related languages.

- + diff --git a/lib/resource-1.0/doc/gfdoc/IrregEng.gf b/lib/resource-1.0/doc/gfdoc/IrregEng.gf index bea851f70..2b90da1c4 100644 --- a/lib/resource-1.0/doc/gfdoc/IrregEng.gf +++ b/lib/resource-1.0/doc/gfdoc/IrregEng.gf @@ -37,7 +37,7 @@ flags optimize=values ; deal_V = irregV "deal" "dealt" "dealt" ; dig_V = irregDuplV "dig" "dug" "dug" ; dive_V = irregV "dive" (variants {"dived" ; "dove"}) "dived" ; - do_V = mkV "do" "does" "did" "done" "doing" ; + do_V = mk5V "do" "does" "did" "done" "doing" ; draw_V = irregV "draw" "drew" "drawn" ; dream_V = irregV "dream" (variants {"dreamed" ; "dreamt"}) (variants {"dreamed" ; "dreamt"}) ; drive_V = irregV "drive" "drove" "driven" ; @@ -59,11 +59,11 @@ flags optimize=values ; freeze_V = irregV "freeze" "froze" "frozen" ; get_V = irregDuplV "get" "got" "gotten" ; give_V = irregV "give" "gave" "given" ; - go_V = mkV "go" "goes" "went" "gone" "going" ; + go_V = mk5V "go" "goes" "went" "gone" "going" ; grind_V = irregV "grind" "ground" "ground" ; grow_V = irregV "grow" "grew" "grown" ; hang_V = irregV "hang" "hung" "hung" ; - have_V = mkV "have" "has" "had" "had" "having" ; + have_V = mk5V "have" "has" "had" "had" "having" ; hear_V = irregV "hear" "heard" "heard" ; hide_V = irregV "hide" "hid" "hidden" ; hit_V = irregDuplV "hit" "hit" "hit" ; @@ -90,7 +90,7 @@ flags optimize=values ; mistake_V = irregV "mistake" "mistook" "mistaken" ; mow_V = irregV "mow" "mowed" (variants {"mowed" ; "mown"}) ; overcome_V = irregV "overcome" "overcame" "overcome" ; - overdo_V = mkV "overdo" "overdoes" "overdid" "overdone" "overdoing" ; + overdo_V = mk5V "overdo" "overdoes" "overdid" "overdone" "overdoing" ; overtake_V = irregV "overtake" "overtook" "overtaken" ; overthrow_V = irregV "overthrow" "overthrew" "overthrown" ; pay_V = irregV "pay" "paid" "paid" ; diff --git a/lib/resource-1.0/doc/gfdoc/IrregGer.gf b/lib/resource-1.0/doc/gfdoc/IrregGer.gf index 75a4fd4ba..35f85aafb 100644 --- a/lib/resource-1.0/doc/gfdoc/IrregGer.gf +++ b/lib/resource-1.0/doc/gfdoc/IrregGer.gf @@ -31,7 +31,11 @@ in { lin dingen_V = irregV "dingen" "dingt" "dingte" "dang" "gedungen" ; lin dreschen_V = irregV "dreschen" "drischt" "drosch" "drφsche" "gedroschen" ; lin dringen_V = irregV "dringen" "dringt" "drang" "drδnge" "gedrungen" ; - lin dόrfen_V = irregV "dόrfen" "darf" "durfte" "dόrfte" "gedurft" ; + lin dόrfen_V = M.mkV + "dόrfen" "darf" "darfst" "darf" "dόrft" "dόrf" + "durfte" "durftest" "durften" "durftet" + "dόrfte" "gedurft" [] + M.VHaben ** {lock_V = <>} ; lin empfehlen_V = irregV "empfehlen" "empfiehlt" "empfahl" (variants {"empfφhle" ; "empfδhle"}) "empfohlen" ; lin erlφschen_V = irregV "erlφschen" "erlischt" "erlosch" "erlφsche" "erloschen" ; @@ -78,7 +82,11 @@ in { lin klingen_V = irregV "klingen" "klingt" "klang" "klδnge" "geklungen" ; lin kneifen_V = irregV "kneifen" "kneift" "kniff" "kniffe" "gekniffen" ; lin kommen_V = irregV "kommen" "kommt" "kam" "kδme" "gekommen" ; - lin kφnnen_V = irregV "kφnnen" "kann" "konnte" "kφnnte" "gekonnt" ; + lin kφnnen_V = M.mkV + "kφnnen" "kann" "kannst" "kann" "kφnnt" "kφnn" + "konnte" "konntest" "konnten" "konntet" + "kφnnte" "gekonnt" [] + M.VHaben ** {lock_V = <>} ; lin kriechen_V = irregV "kriechen" "kriecht" "kroch" "krφche" "gekrochen" ; lin kόren_V = irregV "kόren" "kόrt" "kόrte" "kor" "gekόrt" ; lin laden_V = irregV "laden" "lδdt" "lud" "lόde" "geladen" ; @@ -99,9 +107,12 @@ in { "mochte" "mochtest" "mochten" "mochtet" "mφchte" "gemocht" [] M.VHaben ** {lock_V = <>} ; - - lin mόssen_V = irregV "mόssen" "muί" "muίte" "mόίte" "gemuίt" ; - lin nehmen_V = mkV "nehmen" "nimmt" "nimm" "nahm" "nδhme" "genommen" ; + lin mόssen_V = M.mkV + "mόssen" "muί" "muίt" "muί" "mόίt" "mόί" + "muίte" "muίtest" "muίten" "muίtet" + "mόίte" "gemuίt" [] + M.VHaben ** {lock_V = <>} ; + lin nehmen_V = mk6V "nehmen" "nimmt" "nimm" "nahm" "nδhme" "genommen" ; lin nennen_V = irregV "nennen" "nennt" "nannte" "nennte" "genannt" ; lin pfeifen_V = irregV "pfeifen" "pfeift" "pfiff" "pfiffe" "gepfiffen" ; lin preisen_V = irregV "preisen" "preist" "pries" "priese" "gepriesen" ; @@ -154,7 +165,12 @@ in { lin sinken_V = irregV "sinken" "sinkt" "sank" "sδnke" "gesunken" ; lin sinnen_V = irregV "sinnen" "sinnt" "sann" "sδnne" "gesonnen" ; lin sitzen_V = irregV "sitzen" "sitzt" "saί" "sδίe" "gesessen" ; - lin sollen_V = irregV "sollen" "sollt" "sollte" "sollte" "gesollt" ; + lin sollen_V = M.mkV + "sollen" "soll" "sollst" "soll" "sollt" "soll" + "sollte" "solltest" "sollten" "solltet" + "sollte" "gesollt" [] + M.VHaben ** {lock_V = <>} ; + lin speien_V = irregV "speien" "speit" "spie" "spie" "gespien" ; lin spinnen_V = irregV "spinnen" "spinnt" "spann" (variants {"spφnne" ; "spδnne"}) "gesponnen" ; lin spleiίen_V = irregV "spleiίen" "spleiίt" "spliί" "spliίe" "gesplissen" ; @@ -188,7 +204,11 @@ in { lin weisen_V = irregV "weisen" "weist" "wies" "wiese" "gewiesen" ; lin wenden_V = irregV "wenden" "wendt" (variants {"wandte" ; "wendete"}) (variants {"wandte" ; "wendete"}) (variants {"gewandt" ; "gewendet"}) ; lin werben_V = irregV "werben" "wirbt" "warb" "wόrbe" "geworben" ; - lin werden_V = irregV "werden" "wird" (variants {"wurde" ; "ward"}) "wόrde" "geworden" ; + lin werden_V = M.mkV + "werden" "werde" "wirst" "wird" "werdet" "werd" + "wurde" "wurdest" "wurden" "wurdet" + "wόrde" "geworden" [] + M.VHaben ** {lock_V = <>} ; lin werfen_V = irregV "werfen" "wirft" "warf" "wόrfe" "geworfen" ; lin wiegen_V = irregV "wiegen" "wiegt" "wog" "wφge" "gewogen" ; lin winden_V = irregV "winden" "windt" "wand" "wδnde" "gewunden" ; @@ -196,7 +216,7 @@ in { lin wollen_V = M.mkV "wollen" "will" "willst" "will" "wollt" "woll" "wollte" "wolltest" "wollten" "wolltet" - "wollte" "gewollen" [] + "wollte" "gewollt" [] M.VHaben ** {lock_V = <>} ; diff --git a/lib/resource-1.0/doc/gfdoc/IrregSwe.gf b/lib/resource-1.0/doc/gfdoc/IrregSwe.gf index 25f63a0fa..a31fd7241 100644 --- a/lib/resource-1.0/doc/gfdoc/IrregSwe.gf +++ b/lib/resource-1.0/doc/gfdoc/IrregSwe.gf @@ -177,7 +177,7 @@ concrete IrregSwe of IrregSweAbs = CatSwe ** open ParadigmsSwe in { utbrista_V = irregV "utbrista" "utbrast" "utbrustit" ; utesluta_V = irregV "utesluta" "uteslφt" "uteslutit" ; utskriva_V = irregV "utskriva" "utskrev" "utskrivit" ; - veta_V = mkV "veta" "vet" "vet" "visste" "vetat" (variants {}) ; + veta_V = mk6V "veta" "vet" "vet" "visste" "vetat" (variants {}) ; vδnda_V = irregV "vδnda" "vδnde" "vδnt" ; vina_V = irregV "vina" "ven" "vinit" ; vinna_V = irregV "vinna" "vann" "vunnit" ; diff --git a/lib/resource-1.0/doc/gfdoc/Lang.html b/lib/resource-1.0/doc/gfdoc/Lang.html index 8bd320137..8e957cbdb 100644 --- a/lib/resource-1.0/doc/gfdoc/Lang.html +++ b/lib/resource-1.0/doc/gfdoc/Lang.html @@ -6,7 +6,7 @@

Lang: a Test Module for the Resource Grammar

-Last update: 2006-07-02 00:15:01 CEST
+Last update: 2006-06-26 13:24:17 CEST

@@ -34,6 +34,6 @@ which may be more suitable to open in applications.

- + diff --git a/lib/resource-1.0/doc/gfdoc/Lexicon.html b/lib/resource-1.0/doc/gfdoc/Lexicon.html index a9c83d429..243fc7212 100644 --- a/lib/resource-1.0/doc/gfdoc/Lexicon.html +++ b/lib/resource-1.0/doc/gfdoc/Lexicon.html @@ -13,7 +13,7 @@

-Last update: 2006-07-02 00:15:01 CEST +Last update: 2007-06-04 14:10:04 CEST

Produced by @@ -180,6 +180,7 @@ gfdoc - a rudimentary GF document generator. important_A : A ; industry_N : N ; iron_N : N ; + john_PN : PN ; jump_V : V ; kill_V2 : V2 ; king_N : N ; @@ -209,7 +210,6 @@ gfdoc - a rudimentary GF document generator. man_N : N ; married_A2 : A2 ; meat_N : N ; - meat_N : N ; milk_N : N ; moon_N : N ; mother_N2 : N2 ; @@ -246,10 +246,13 @@ gfdoc - a rudimentary GF document generator. push_V2 : V2 ; put_V2 : V2 ; queen_N : N ; + question_N : N ; radio_N : N ; rain_N : N ; rain_V0 : V ; read_V2 : V2 ; + ready_A : A ; + reason_N : N ; red_A : A ; religion_N : N ; restaurant_N : N ; @@ -334,6 +337,7 @@ gfdoc - a rudimentary GF document generator. think_V : V ; throw_V2 : V2 ; tie_V2 : V2 ; + today_Adv : Adv ; tongue_N : N ; tooth_N : N ; train_N : N ; @@ -341,6 +345,7 @@ gfdoc - a rudimentary GF document generator. tree_N : N ; turn_V : V ; ugly_A : A ; + uncertain_A : A ; understand_V2 : V2 ; university_N : N ; village_N : N ; @@ -352,7 +357,6 @@ gfdoc - a rudimentary GF document generator. wash_V2 : V2 ; watch_V2 : V2 ; water_N : N ; - water_N : N ; wet_A : A ; white_A : A ; wide_A : A ; @@ -376,6 +380,6 @@ gfdoc - a rudimentary GF document generator.

- + diff --git a/lib/resource-1.0/doc/gfdoc/Mathematical.html b/lib/resource-1.0/doc/gfdoc/Mathematical.html index dffb690b3..70ef813ac 100644 --- a/lib/resource-1.0/doc/gfdoc/Mathematical.html +++ b/lib/resource-1.0/doc/gfdoc/Mathematical.html @@ -6,7 +6,7 @@

The Mathematics API to the Resource Grammar

-Last update: 2006-03-03 17:06:11 CET
+Last update: 2006-02-28 09:26:58 CET

@@ -67,6 +67,6 @@ Sentence,

- + diff --git a/lib/resource-1.0/doc/gfdoc/Multi.html b/lib/resource-1.0/doc/gfdoc/Multi.html index ea9b331e7..e94882d8b 100644 --- a/lib/resource-1.0/doc/gfdoc/Multi.html +++ b/lib/resource-1.0/doc/gfdoc/Multi.html @@ -6,7 +6,7 @@

Multimodal additions to the resource grammar library

-Last update: 2006-05-31 02:54:54 CEST
+Last update: 2006-05-24 15:08:56 CEST

@@ -75,6 +75,6 @@ Building points from strings.

- + diff --git a/lib/resource-1.0/doc/gfdoc/Noun.html b/lib/resource-1.0/doc/gfdoc/Noun.html index 2706ec2d5..5483a7e8d 100644 --- a/lib/resource-1.0/doc/gfdoc/Noun.html +++ b/lib/resource-1.0/doc/gfdoc/Noun.html @@ -6,7 +6,7 @@

Noun: Nouns, noun phrases, and determiners

-Last update: 2006-07-02 00:15:01 CEST
+Last update: 2006-06-26 13:24:17 CEST

@@ -219,6 +219,6 @@ This is certainly overgenerating.

- + diff --git a/lib/resource-1.0/doc/gfdoc/Numeral.html b/lib/resource-1.0/doc/gfdoc/Numeral.html index ab219fdbc..482a5736a 100644 --- a/lib/resource-1.0/doc/gfdoc/Numeral.html +++ b/lib/resource-1.0/doc/gfdoc/Numeral.html @@ -6,7 +6,7 @@

Numerals

-Last update: 2006-07-02 00:15:01 CEST
+Last update: 2006-06-26 13:24:17 CEST

@@ -74,6 +74,6 @@ parts of a numeral, which is often incorrect - more work on

- + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsDan.html b/lib/resource-1.0/doc/gfdoc/ParadigmsDan.html index dec490e1f..ed0b83c63 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsDan.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsDan.html @@ -6,7 +6,7 @@

Danish Lexical Paradigms

-Last update: 2006-07-02 00:15:01 CEST
+Last update: 2007-07-06 10:12:24 CEST

@@ -28,8 +28,8 @@
  • Adverbs
  • Verbs
      -
    • Verbs with 'vζre' as auxiliary -
    • Verbs with a particle +
    • Verbs with a particle. +
    • Verbs with 'vζre' as auxiliary
    • Deponent verbs
    • Two-place verbs
    • Three-place verbs @@ -126,12 +126,8 @@ Prepositions used in many-argument functions are just strings.

      Nouns

      -

      -Worst case: give all four forms. The gender is computed from the -last letter of the second form (if n, then utrum, otherwise neutrum). -

      -      mkN  : (dreng,drengen,drenge,drengene : Str) -> N ;
      +      mkN : overload {
       

      @@ -141,14 +137,14 @@ The heuristic is that all nouns are utrum with the plural ending er or r.

      -      regN : Str -> N ;
      +        mkN : (bil : Str) -> N ;
       

      Giving gender manually makes the heuristic more reliable.

      -      regGenN : Str -> Gender -> N ;
      +        mkN : (hus : Str) -> Gender -> N ;
       

      @@ -156,7 +152,7 @@ This function takes the singular indefinite and definite forms; the gender is computed from the definite form.

      -      mk2N : (bil,bilen : Str) -> N ;
      +        mkN : (bil,bilen : Str) -> N ;
       

      @@ -164,7 +160,16 @@ This function takes the singular indefinite and definite and the plural indefinite

      -      mk3N : (bil,bilen,biler : Str) -> N ;
      +        mkN : (bil,bilen,biler : Str) -> N ;
      +
      +

      +

      +Worst case: give all four forms. The gender is computed from the +last letter of the second form (if n, then utrum, otherwise neutrum). +

      +
      +        mkN : (dreng,drengen,drenge,drengene : Str) -> N ;
      +      } ;
       

      @@ -216,46 +221,34 @@ and PrepNP constructions to build phrases like this. Proper names, with a regular genitive, are formed as follows

      -      mkPN  : Str -> Gender -> PN ;          -- Paris neutrum
      -      regPN : Str -> PN ;                    -- utrum gender
      -
      -

      -

      -Sometimes you can reuse a common noun as a proper name, e.g. Bank. -

      -
      -      nounPN : N -> PN ;
      -
      -

      -

      -To form a noun phrase that can also be plural and have an irregular -genitive, you can use the worst-case function. -

      -
      -      mkNP : Str -> Str -> Number -> Gender -> NP ; 
      +      mkPN : overload {
      +        mkPN : Str -> PN ;       -- utrum
      +        mkPN : Str -> Gender -> PN ;  
      +        mkPN : N -> PN ;
      +        } ;
       

      Adjectives

      -Non-comparison one-place adjectives need three forms: +The regular pattern works for many adjectives, e.g. those ending +with ig. Two, five, or at worst five forms are sometimes needed.

      -      mkA : (galen,galet,galne : Str) -> A ;
      +      mkA : overload {
      +        mkA : (fin : Str) -> A ;
      +        mkA : (fin,fint : Str) -> A ;
      +        mkA : (galen,galet,galne : Str) -> A ;
      +        mkA : (stor,stort,store,storre,storst : Str) -> A ;
       

      -For regular adjectives, the other forms are derived. +If comparison is formed by mer, mest, as in general for +long adjective, the following pattern is used:

      -      regA : Str -> A ;
      -
      -

      -

      -In most cases, two forms are enough. -

      -
      -      mk2A : (stor,stort : Str) -> A ;
      +        mkA : A -> A ; -- -/mer/mest norsk
      +      } ;
       

      @@ -267,44 +260,6 @@ Two-place adjectives need a preposition for their second argument. mkA2 : A -> Prep -> A2 ;

      -

      -Comparison adjectives may need as many as five forms. -

      -
      -      mkADeg : (stor,stort,store,storre,storst : Str) -> A ;
      -
      -

      -

      -The regular pattern works for many adjectives, e.g. those ending -with ig. -

      -
      -      regADeg : Str -> A ;
      -
      -

      -

      -Just the comparison forms can be irregular. -

      -
      -      irregADeg : (tung,tyngre,tyngst : Str) -> A ;
      -
      -

      -

      -Sometimes just the positive forms are irregular. -

      -
      -      mk3ADeg : (galen,galet,galna : Str) -> A ;
      -      mk2ADeg : (bred,bredt        : Str) -> A ;
      -
      -

      -

      -If comparison is formed by mer, mest, as in general for -long adjective, the following pattern is used: -

      -
      -      compoundA : A -> A ; -- -/mer/mest norsk
      -
      -

      Adverbs

      @@ -326,25 +281,22 @@ Adverbs modifying adjectives and sentences can also be formed.

      Verbs

      -

      -The worst case needs six forms. -

      -      mkV : (spise,spiser,spises,spiste,spist,spis : Str) -> V ;
      +      mkV : overload {
       

      The 'regular verb' function is the first conjugation.

      -      regV : (snakke : Str) -> V ;
      +        mkV : (snakke : Str) -> V ;
       

      The almost regular verb function needs the infinitive and the preteritum.

      -      mk2V : (leve,levde : Str) -> V ;
      +        mkV : (leve,levde : Str) -> V ;
       

      @@ -352,10 +304,27 @@ There is an extensive list of irregular verbs in the module IrregDan

      -      irregV : (drikke, drak, drukket  : Str) -> V ;
      +        mkV : (drikke, drakk, drukket  : Str) -> V ;
      +
      +

      +

      +The worst case needs six forms. +

      +
      +        mkV : (spise,spiser,spises,spiste,spist,spis : Str) -> V ;
       

      +

      Verbs with a particle.

      +

      +The particle, such as in lukke op, is given as a string. +

      +
      +        mkV : V -> Str -> V ;
      +      } ;
      +
      +

      +

      Verbs with 'vζre' as auxiliary

      By default, the auxiliary is have. This function changes it to vζre. @@ -364,15 +333,6 @@ By default, the auxiliary is have. This function changes it to v vaereV : V -> V ;

      - -

      Verbs with a particle

      -

      -The particle, such as in passe pε, is given as a string. -

      -
      -      partV  : V -> Str -> V ;
      -
      -

      Deponent verbs

      @@ -388,12 +348,14 @@ reflexive e.g. forestille sig.

      Two-place verbs

      Two-place verbs need a preposition, except the special case with direct object. -(transitive verbs). Notice that a particle comes from the V. +(transitive verbs). Notice that, if a particle is needed, it comes from the V.

      -      mkV2  : V -> Prep -> V2 ;
      -    
      -      dirV2 : V -> V2 ;
      +      mkV2 : overload {
      +        mkV2 : Str -> V2 ;
      +        mkV2 : V -> V2 ;
      +        mkV2 : V -> Prep -> V2 ;
      +      } ;
       

      @@ -443,6 +405,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.

      - + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html b/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html index e2767914a..12453f8bd 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html @@ -6,7 +6,7 @@

      English Lexical Paradigms

      -Last update: 2007-01-08 17:30:04 CET
      +Last update: 2007-06-25 18:09:50 CEST

      @@ -18,22 +18,19 @@ -
    • Adjectives +
    • Adjectives -
    • Adverbs -
    • Prepositions -
    • Verbs +
    • Adverbs +
    • Prepositions +
    • Verbs
    @@ -130,13 +127,6 @@ number of arguments.

    -Worst case: give all four forms. -

    -
    -        mkN : (man,men,man's,men's : Str) -> N ;
    -
    -

    -

    The regular function captures the variants for nouns ending with s,sh,x,z or y: kiss - kisses, flash - flashes; fly - flies (but toy - toys), @@ -146,19 +136,17 @@ The regular function captures the variants for nouns ending with

    -In practice the worst case is just: give singular and plural nominative. +In practice the worst case is to give singular and plural nominative.

             mkN : (man,men : Str) -> N ;
     

    -All nouns created by the previous functions are marked as -nonhuman. If you want a human noun, wrap it with the following -function: +The theoretical worst case: give all four forms.

    -        mkN : Gender -> N -> N ;
    +        mkN : (man,men,man's,men's : Str) -> N ;
     

    @@ -201,60 +189,64 @@ Three-place relational nouns (the connection from x to y) need two prepos

    -

    Relational common noun phrases

    +

    Proper names and noun phrases

    -In some cases, you may want to make a complex CN into a -relational noun (e.g. the old town hall of). +Proper names, with a regular genitive, are formed from strings.

    -      cnN2 : CN -> Prep -> N2 ;
    -      cnN3 : CN -> Prep -> Prep -> N3 ;
    +      mkPN : overload {
    +    
    +        mkPN : Str -> PN ;
    +
    +

    +

    +Sometimes a common noun can be reused as a proper name, e.g. Bank +

    +
    +        mkPN : N -> PN
    +      } ;
     

    -

    Proper names and noun phrases

    -

    -Proper names, with a regular genitive, are formed as follows -

    +

    Adjectives

    -      regPN    : Str -> PN ;          
    -      regGenPN : Str -> Gender -> PN ;     -- John, John's
    +      mkA : overload {
     

    -Sometimes you can reuse a common noun as a proper name, e.g. Bank. +For regular adjectives, the adverbial and comparison forms are derived. This holds +even for cases with the variations happy - happily - happier - happiest, +free - freely - freer - freest, and rude - rudest.

    -      nounPN : N -> PN ;
    +        mkA : (happy : Str) -> A ;
     

    -To form a noun phrase that can also be plural and have an irregular -genitive, you can use the worst-case function. +However, the duplication of the final consonant cannot be predicted, +but a separate case is used to give the comparative

    -      mkNP : Str -> Str -> Number -> Gender -> NP ; 
    +        mkA : (fat,fatter : Str) -> A ;
    +
    +

    +

    +As many as four forms may be needed. +

    +
    +        mkA : (good,better,best,well : Str) -> A 
    +        } ;
    +
    +

    +

    +To force comparison to be formed by more - most, +the following function is used: +

    +
    +        compoundA : A -> A ; -- -/more/most ridiculous
     

    -

    Adjectives

    -

    -Non-comparison one-place adjectives need two forms: one for -the adjectival and one for the adverbial form (free - freely) -

    -
    -      mkA : (free,freely : Str) -> A ;
    -
    -

    -

    -For regular adjectives, the adverbial form is derived. This holds -even for cases with the variation happy - happily. -

    -
    -      regA : Str -> A ;
    -
    -

    -

    Two-place adjectives

    Two-place adjectives need a preposition for their second argument. @@ -263,48 +255,7 @@ Two-place adjectives need a preposition for their second argument. mkA2 : A -> Prep -> A2 ;

    -

    -Comparison adjectives may two more forms. -

    -
    -      ADeg : Type ;
    -    
    -      mkADeg : (good,better,best,well : Str) -> ADeg ;
    -
    -

    -

    -The regular pattern recognizes two common variations: --e (rude - ruder - rudest) and --y (happy - happier - happiest - happily) -

    -
    -      regADeg : Str -> ADeg ;      -- long, longer, longest
    -
    -

    -

    -However, the duplication of the final consonant is nor predicted, -but a separate pattern is used: -

    -
    -      duplADeg : Str -> ADeg ;      -- fat, fatter, fattest
    -
    -

    -

    -If comparison is formed by more, most, as in general for -long adjective, the following pattern is used: -

    -
    -      compoundADeg : A -> ADeg ; -- -/more/most ridiculous
    -
    -

    -

    -From a given ADeg, it is possible to get back to A. -

    -
    -      adegA : ADeg -> A ;
    -
    -

    - +

    Adverbs

    Adverbs are not inflected. Most lexical ones have position @@ -322,7 +273,7 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;

    - +

    Prepositions

    A preposition as used for rection in the lexicon, as well as to @@ -336,76 +287,91 @@ build PPs in the resource API, just requires a string.

    (These two functions are synonyms.)

    - +

    Verbs

    +Verbs are constructed by the function mkV, which takes a varying +number of arguments. +

    +
    +      mkV : overload {
    +
    +

    +

    +The regular verb function recognizes the special cases where the last +character is y (cry-cries but buy-buys) or a sibilant +(kiss-kisses, //jazz-jazzes, rush-rushes, munch - munches, // +fix - fixes). +

    +
    +        mkV : (cry : Str) -> V ;
    +
    +

    +

    +Give the present and past forms for regular verbs where +the last letter is duplicated in some forms, +e.g. rip - ripped - ripping. +

    +
    +        mkV : (stop, stopped : Str) -> V ;
    +
    +

    +

    +There is an extensive list of irregular verbs in the module IrregularEng. +In practice, it is enough to give three forms, +e.g. drink - drank - drunk. +

    +
    +        mkV : (drink, drank, drunk  : Str) -> V ;
    +
    +

    +

    +Irregular verbs with duplicated consonant in the present participle. +

    +
    +        mkV : (run, ran, run, running  : Str) -> V ;
    +
    +

    +

    Except for be, the worst case needs five forms: the infinitive and the third person singular present, the past indicative, and the past and present participles.

    -      mkV : (go, goes, went, gone, going : Str) -> V ;
    +        mkV : (go, goes, went, gone, going : Str) -> V
    +      };
     

    -The regular verb function recognizes the special cases where the last -character is y (cry - cries but buy - buys) or s, sh, x, z -(fix - fixes, etc). -

    -
    -      regV : Str -> V ;
    -
    -

    -

    -The following variant duplicates the last letter in the forms like -rip - ripped - ripping. -

    -
    -      regDuplV : Str -> V ;
    -
    -

    -

    -There is an extensive list of irregular verbs in the module IrregularEng. -In practice, it is enough to give three forms, -e.g. drink - drank - drunk, with a variant indicating consonant -duplication in the present participle. -

    -
    -      irregV     : (drink, drank, drunk  : Str) -> V ;
    -      irregDuplV : (get,   got,   gotten : Str) -> V ;
    -
    -

    - -

    Verbs with a particle.

    -

    +Verbs with a particle. The particle, such as in switch on, is given as a string.

           partV  : V -> Str -> V ;
     

    - -

    Reflexive verbs

    +Reflexive verbs. By default, verbs are not reflexive; this function makes them that.

           reflV  : V -> V ;
     

    - +

    Two-place verbs

    Two-place verbs need a preposition, except the special case with direct object. (transitive verbs). Notice that a particle comes from the V.

    -      mkV2  : V -> Prep -> V2 ;
    -    
    -      dirV2 : V -> V2 ;
    +      mkV2 : overload {
    +        mkV2  : V -> Prep -> V2 ; -- believe in
    +        mkV2  : V -> V2           -- kill
    +      };
     

    - +

    Three-place verbs

    Three-place (ditransitive) verbs need two prepositions, of which @@ -417,7 +383,7 @@ the first one or both can be absent. dirdirV3 : V -> V3 ; -- give,_,_

    - +

    Other complement patterns

    Verbs and adjectives can take complements such as sentences, @@ -441,17 +407,17 @@ questions, verb phrases, and adjectives.

    -Notice: categories V2S, V2V, V2A, V2Q are in v 1.0 treated +Notice: categories V2S, V2V, V2Q are in v 1.0 treated just as synonyms of V2, and the second argument is given as an adverb. Likewise AS, A2S, AV, A2V are just A. V0 is just V.

    -      V0, V2S, V2V, V2A, V2Q : Type ;
    +      V0, V2S, V2V, V2Q : Type ;
           AS, A2S, AV, A2V : Type ;
     

    - + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html b/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html index 6c7c17d4c..fcc6d79e2 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html @@ -6,7 +6,7 @@

    Finnish Lexical Paradigms

    -Last update: 2006-11-21 14:49:06 CET
    +Last update: 2007-07-08 15:18:54 CEST

    @@ -117,8 +117,6 @@ stems, vowel alternation, and vowel harmony.

         oper
    -      mkN : (talo,   talon,   talona, taloa, taloon,
    -             taloina,taloissa,talojen,taloja,taloihin : Str) -> N ;
     

    @@ -127,22 +125,21 @@ nominative) and analyses it to pick the correct paradigm. It does automatic grade alternation, and is hence not usable for words like auto (whose genitive would become audon).

    -
    -      regN : (talo : Str) -> N ;
    -
    -

    -If regN does not give the correct result, one can try and give -two or three forms as follows. Examples of the use of these -functions are given in BasicFin. Most notably, reg2N is used +If the one-argument paradigm does not give the correct result, one can try and give +two or three forms. Most notably, the two-argument variant is used for nouns like kivi - kiviδ, which would otherwise become like -rivi - rivejδ. regN3 is used e.g. for +rivi - rivejδ. Three arguments are used e.g. for sydδn - sydδmen - sydδmiδ, which would otherwise become sydδn - sytδmen.

    -      reg2N : (savi,savia : Str) -> N ;
    -      reg3N : (vesi,veden,vesiδ : Str) -> N ;
    +      mkN : overload {
    +        mkN : (talo : Str) -> N ;
    +        mkN : (savi,savia : Str) -> N ;
    +        mkN : (vesi,veden,vesiδ : Str) -> N ;
    +        mkN : (olo,oln,olona,oloa,oloon,oloina,oloissa,olojen,oloja,oloihin : Str) -> N 
    +      } ;
     

    @@ -291,12 +288,14 @@ have only their last part inflected.

    -Nouns used as functions need a case, of which by far the commonest is +Nouns used as functions need a case, of which the default is the genitive.

    -      mkN2  : N -> Prep -> N2 ;
    -      genN2 : N -> N2 ;
    +      mkN2 = overload {
    +        mkN2 : N -> N2 = genN2 ;
    +        mkN2 : N -> Prep -> N2 = mmkN2
    +        } ;
         
           mkN3  : N -> Prep -> Prep -> N3 ;
     
    @@ -306,18 +305,28 @@ Proper names can be formed by using declensions for nouns. The plural forms are filtered away by the compiler.

    -      regPN : Str -> PN ;
    -      mkPN  : N -> PN ;
    -      mkNP  : N -> Number -> NP ; 
    +      mkPN : overload {
    +        mkPN : Str -> PN ;
    +        mkPN : N -> PN
    +        } ;
     

    Adjectives

    Non-comparison one-place adjectives are just like nouns. +The regular adjectives are based on regN in the positive. +Comparison adjectives have three forms. +The comparative and the superlative +are always inflected in the same way, so the nominative of them is actually +enough (except for the superlative paras of hyvδ).

    -      mkA : N -> A ;
    +      mkA : overload {
    +        mkA : Str -> A ;
    +        mkA : N -> A ;
    +        mkA : N -> (kivempaa,kivinta : Str) -> A
    +      } ;
     

    @@ -327,22 +336,6 @@ Two-place adjectives need a case for the second argument. mkA2 : A -> Prep -> A2 ;

    -

    -Comparison adjectives have three forms. The comparative and the superlative -are always inflected in the same way, so the nominative of them is actually -enough (except for the superlative paras of hyvδ). -

    -
    -      mkADeg : (kiva : N) -> (kivempaa,kivinta : Str) -> A ;
    -
    -

    -

    -The regular adjectives are based on regN in the positive. -

    -
    -      regA : (punainen : Str) -> A ;
    -
    -

    Verbs

    @@ -350,26 +343,22 @@ The grammar does not cover the potential mood and some nominal forms. One way to see the coverage is to linearize a verb to a table. The worst case needs twelve forms, as shown in the following. -

    -
    -      mkV   : (tulla,tulee,tulen,tulevat,tulkaa,tullaan,
    -               tuli,tulin,tulisi,tullut,tultu,tullun : Str) -> V ;
    -
    -

    -

    The following heuristics cover more and more verbs.

    -      regV  : (soutaa : Str) -> V ;
    -      reg2V : (soutaa,souti : Str) -> V ;
    -      reg3V : (soutaa,soudan,souti : Str) -> V ;
    +      mkV : overload {
    +        mkV : (soutaa : Str) -> V ;
    +        mkV : (soutaa,souti : Str) -> V ;
    +        mkV : (soutaa,soudan,souti : Str) -> V ;
    +        mkV : (tulla,tulee,tulen,tulevat,tulkaa,tullaan,tuli,tulin,tulisi,tullut,tultu,tullun : Str) -> V ;
     

    -The subject case of verbs is by default nominative. This dunction can change it. +The subject case of verbs is by default nominative. This function can change it.

    -      subjcaseV : V -> Case -> V ;
    +        mkV : V -> Case -> V
    +      } ;
     

    @@ -429,26 +418,18 @@ The verbs be is special.

    Two-place verbs

    -Two-place verbs need a case, and can have a pre- or postposition. +Two-place verbs need an object case, and can have a pre- or postposition. +The default is direct (accusative) object. There is also a special case +with case only. The string-only argument case yields a regular verb with +accusative object.

    -      mkV2 : V -> Prep -> V2 ;
    -
    -

    -

    -If the complement needs just a case, the following special function can be used. -

    -
    -      caseV2 : V -> Case -> V2 ;
    -
    -

    -

    -Verbs with a direct (accusative) object -are special, since their complement case is finally decided in syntax. -But this is taken care of in VerbFin. -

    -
    -      dirV2 : V -> V2 ;
    +      mkV2 : overload {
    +        mkV2 : Str -> V2 ;
    +        mkV2 : V -> V2 ;
    +        mkV2 : V -> Case -> V2 ;
    +        mkV2 : V -> Prep -> V2 ;
    +        } ;
     

    @@ -498,6 +479,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html b/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html index 95af6cb92..7b8775309 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html @@ -6,7 +6,7 @@

    French Lexical Paradigms

    -Last update: 2006-07-02 00:15:01 CEST
    +Last update: 2007-07-06 09:17:50 CEST

    @@ -24,14 +24,13 @@
  • Adjectives -
  • Adverbs -
  • Verbs +
  • Adverbs +
  • Verbs @@ -122,32 +121,35 @@ amalgamate with the following word (the 'genitive' de and the

    Nouns

    -

    -Worst case: give both two forms and the gender. -

    -      mkN  : (oeil,yeux : Str) -> Gender -> N ;
    +      mkN : overload {
     

    -The regular function takes the singular form, -and computes the plural and the gender by a heuristic. The plural +The regular function uses heuristics to compute the +plural and the gender from the singular. The plural heuristic currently covers the cases pas-pas, prix-prix, nez-nez, bijou-bijoux, cheveu-cheveux, plateau-plateaux, cheval-chevaux. The gender heuristic is less reliable: it treats as feminine all nouns ending with e and ion, all others as masculine. -If in doubt, use the cc command to test!

    -      regN : Str -> N ;
    +        mkN : (cheval : Str) -> N ;
     

    -Adding gender information widens the scope of the foregoing function. +Adding gender information widens the scope of the regular pattern.

    -      regGenN : Str -> Gender -> N ;
    +        mkN : (foie : Str) -> Gender -> N ; 
    +
    +

    +

    +In the worst case, both singular and plural forms and the gender are needed. +

    +
    +        mkN : (oeil,yeux : Str) -> Gender -> N ;
     

    @@ -159,7 +161,8 @@ They could be formed in syntax, but we give a shortcut here since they are frequent in lexica.

    -      compN : N -> Str -> N ;
    +        mkN : N -> Str -> N
    +      } ; 
     

    @@ -198,51 +201,65 @@ and PrepNP constructions to build phrases like this.

    Proper names and noun phrases

    -Proper names need a string and a gender. +Proper names need a string and a gender. If no gender is given, the +feminine is used for strings ending with e, the masculine for other strings.

    -      mkPN  : Str -> Gender -> PN ; -- Jean
    -    
    -      regPN : Str -> PN ;           -- feminine if "-e", masculine otherwise
    -
    -

    -

    -To form a noun phrase that can also be plural, -you can use the worst-case function. -

    -
    -      mkNP : Str -> Gender -> Number -> NP ; 
    +      mkPN  : overload {
    +        mkPN : Str -> PN ;
    +        mkPN : Str -> Gender -> PN
    +        } ;
     

    Adjectives

    -

    -Non-comparison one-place adjectives need four forms in the worst -case (masc and fem singular, masc plural, adverbial). -

    -      mkA : (banal,banale,banaux,banalement : Str) -> A ;
    +      mkA : overload {
     

    -For regular adjectives, all other forms are derived from the +For regular adjectives, all forms are derived from the masculine singular. The heuristic takes into account certain -deviant endings: banal- -banaux, chinois- -chinois, +deviant endings: banal-banale-banaux, chinois-chinoise-chinois, heureux-heureuse-heureux, italien-italienne, jeune-jeune, amer-amθre, carrι- - -carrιment, joli- - -joliment.

    -      regA : Str -> A ;
    +        mkA : (cher : Str) -> A ;
     

    -These functions create postfix adjectives. To switch +Often just the feminine singular is deviant. +

    +
    +        mkA : (sec,seche : Str) -> A ;
    +
    +

    +

    +This is the worst-case paradigm for the positive forms. +

    +
    +        mkA : (banal,banale,banaux,banalement : Str) -> A ;
    +
    +

    +

    +If comparison forms are irregular (i.e. not formed by plus, e.g. +bon-meilleur), the positive and comparative can be given as separate +adjectives. +

    +
    +        mkA : A -> A -> A
    +      } ;
    +
    +

    +

    +The functions create by default postfix adjectives. To switch them to prefix ones (i.e. ones placed before the noun in modification, as in petite maison), the following function is provided.

    -      prefA : A -> A ;
    +      prefixA : A -> A ;
     

    @@ -255,32 +272,6 @@ Two-place adjectives need a preposition for their second argument.

    -

    Comparison adjectives

    -

    -Comparison adjectives are in the worst case put up from two -adjectives: the positive (bon), and the comparative (meilleure). -

    -
    -      mkADeg : A -> A -> A ;
    -
    -

    -

    -If comparison is formed by plus, as usual in French, -the following pattern is used: -

    -
    -      compADeg : A -> A ;
    -
    -

    -

    -For prefixed adjectives, the following function is -provided. -

    -
    -      prefA : A -> A ;
    -
    -

    -

    Adverbs

    Adverbs are not inflected. Most lexical ones have position @@ -304,24 +295,20 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;

    - +

    Verbs

    -Irregular verbs are given in the module VerbsFre. +Irregular verbs are given in the module IrregFre. If a verb should be missing in that list, the module BeschFre gives all the patterns of the Bescherelle book.

    Regular verbs are ones with the infinitive er or ir, the latter with plural present indicative forms as finissons. -The regular verb function is the first conjugation recognizes +The regular verb function in the first conjugation recognizes these endings, as well as the variations among aimer, cιder, placer, peser, jeter, placer, manger, assiιger, payer.

    -
    -      regV : Str -> V ;
    -
    -

    Sometimes, however, it is not predictable which variant of the er conjugation is to be selected. Then it is better to use the function @@ -329,50 +316,63 @@ that gives the third person singular present indicative and future ((il) jette, jettera) as second argument.

    -      reg3V : (jeter,jette,jettera : Str) -> V ;
    +      mkV : overload {
    +        mkV : (finir : Str) -> V ;
    +        mkV : (jeter,jette,jettera : Str) -> V ;
     

    -The function regV gives all verbs the compound auxiliary avoir. -To change it to κtre, use the following function. Reflexive implies κtre. +The IrregFre list gives some verbs as two-place. These verbs can be +reused as one-place verbs. +

    +
    +        mkV : V2 -> V
    +      } ;
    +
    +

    +

    +The function mkV gives the default compound auxiliary avoir. +To change it to κtre, use the following function.

           etreV : V -> V ;
    +
    +

    +

    +This function turns a verb into reflexive, which implies the auxiliary κtre. +

    +
           reflV : V -> V ;
     

    - +

    Two-place verbs

    Two-place verbs need a preposition, except the special case with direct object. (transitive verbs).

    -      mkV2  : V -> Prep -> V2 ;
    -    
    -      dirV2 : V -> V2 ;
    +      mkV2 = overload {
    +        mkV2 : V -> V2 = dirV2 ;  
    +        mkV2 : V -> Prep -> V2 = mmkV2
    +      } ;
     

    -

    -You can reuse a V2 verb in V. -

    -
    -      v2V : V2 -> V ;
    -
    -

    - +

    Three-place verbs

    Three-place (ditransitive) verbs need two prepositions, of which the first one or both can be absent.

    -      mkV3     : V -> Prep -> Prep -> V3 ;  -- parler, ΰ, de
    -      dirV3    : V -> Prep -> V3 ;          -- donner,_,ΰ
    -      dirdirV3 : V -> V3 ;                  -- donner,_,_
    +      mkV3 : overload {
    +        mkV3 : V -> V3 ;                -- donner,_,_
    +        mkV3 : V -> Prep -> V3 ;        -- placer,_,dans
    +        mkV3 : V -> Prep -> Prep -> V3  -- parler, ΰ, de
    +        } ;
     

    - +

    Other complement patterns

    Verbs and adjectives can take complements such as sentences, @@ -409,6 +409,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html b/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html index 36310d8c3..648be2727 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html @@ -6,7 +6,7 @@

    German Lexical Paradigms

    -Last update: 2007-03-22 14:10:09 CET
    +Last update: 2007-06-08 17:51:31 CEST

    @@ -38,7 +38,7 @@ gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.

    -Aarne Ranta & Harald Hammarstrφm 2003--2006 +Aarne Ranta, Harald Hammarstrφm and Bjφrn Bringert2003--2007

    This is an API for the user of the resource grammar @@ -50,19 +50,14 @@ Closed categories (determiners, pronouns, conjunctions) are accessed through the resource syntax API, Structural.gf.

    -The main difference with MorphoGer.gf is that the types -referred to are compiled resource grammar types. We have moreover -had the design principle of always having existing forms, rather -than stems, as string arguments of the paradigms. -

    -

    The structure of functions for each word class C is the following: first we give a handful of patterns that aim to cover all -regular cases. Then we give a worst-case function mkC, which serves as an -escape to construct the most irregular words of type C. -However, this function should only seldom be needed: we have a -separate module IrregGer -which covers irregularly inflected verbs. +cases, from the most regular (with just one argument) to the worst. +The name of this function is mkC. +

    +

    +There is also a module IrregGer +which covers irregular verbs.

         resource ParadigmsGer = open 
    @@ -111,13 +106,8 @@ To abstract over number names, we define the following.
     

    Nouns

    -

    -Worst case: give all four singular forms, two plural forms (others + dative), -and the gender. -

    -      mkN : (x1,_,_,_,_,x6 : Str) -> Gender -> N ; 
    -                           -- mann, mann, manne, mannes, mδnner, mδnnern
    +    mkN : overload {
     

    @@ -127,7 +117,7 @@ feminine with plural ending -n, -en, and the rest are masculines with the plural -e (without Umlaut).

    -      regN : Str -> N ;
    +      mkN : (Stufe : Str) -> N ;
     

    @@ -136,21 +126,35 @@ dictionary. It takes the singular and plural nominative and the gender, and infers the other forms from these.

    -      reg2N : (x1,x2 : Str) -> Gender -> N ;
    +      mkN : (Bild,Bilder : Str) -> Gender -> N ;
    +
    +

    +

    +Worst case: give all four singular forms, two plural forms (others + dative), +and the gender. +

    +
    +      mkN : (x1,_,_,_,_,x6 : Str) -> Gender -> N
    +                           -- mann, mann, manne, mannes, mδnner, mδnnern
    +      };
     

    Relational nouns need a preposition. The most common is von with -the dative. Some prepositions are constructed in StructuralGer. +the dative, and there is a special case for regular nouns.

    -      mkN2  : N -> Prep -> N2 ;
    -      vonN2 : N -> N2 ;
    +      mkN2 : overload {
    +        mkN2 : Str -> N2 ;
    +        mkN2 : N ->   N2 ; 
    +        mkN2 : N -> Prep -> N2
    +        } ;   
     

    Use the function mkPrep or see the section on prepositions below to form other prepositions. +Some prepositions are moreover constructed in StructuralGer.

    Three-place relational nouns (die Verbindung von x nach y) need two prepositions. @@ -162,22 +166,34 @@ Three-place relational nouns (die Verbindung von x nach y) need two prepo

    Proper names and noun phrases

    -Proper names, with a regular genitive, are formed as follows -The regular genitive is s, omitted after s. +Proper names, with an s genitive and other cases like the +nominative, are formed from a string. Final s (Johannes-Johannes) is +taken into account.

    -      mkPN  : (karolus, karoli : Str) -> PN ; -- karolus, karoli
    -      regPN : (Johann : Str) -> PN ;  
    -        -- Johann, Johanns ; Johannes, Johannes
    +      mkPN : overload {
    +        mkPN : Str -> PN ;
    +
    +

    +

    +If only the genitive differs, two strings are needed. +

    +
    +        mkPN : (nom,gen : Str) -> PN ;
    +
    +

    +

    +In the worst case, all four forms are needed. +

    +
    +        mkPN : (nom,acc,dat,gen : Str) -> PN
    +        } ;
     

    Adjectives

    -

    -Adjectives need three forms, one for each degree. -

    -      mkA : (x1,_,x3 : Str) -> A ; -- gut,besser,beste 
    +      mkA : overload {
     

    @@ -185,7 +201,16 @@ The regular adjective formation works for most cases, and includes variations such as teuer - teurer, bφse - bφser.

    -      regA : Str -> A ;
    +        mkA : Str -> A ;
    +
    +

    +

    +In the worst case, adjectives need three forms - one for each degree. +

    +
    +        mkA : (gut,besser,beste : Str) -> A -- gut,besser,beste 
    +    
    +        };
     

    @@ -205,7 +230,7 @@ Two-place adjectives are formed by adding a preposition to an adjective.

    Adverbs

    -Adverbs are just strings. +Adverbs are formed from strings.

           mkAdv : Str -> Adv ;
    @@ -239,6 +264,24 @@ A couple of common prepositions (always with the dative).
     

    Verbs

    +
    +    mkV : overload {
    +
    +

    +

    +Regular verbs (weak verbs) need just the infinitive form. +

    +
    +      mkV : (fόhren : Str) -> V ;
    +
    +

    +

    +Irregular verbs use Ablaut and, in the worst cases, also Umlaut. +

    +
    +      mkV : (sehen,sieht,sah,sδhe,gesehen : Str) -> V ;
    +
    +

    The worst-case constructor needs six forms:

    @@ -252,21 +295,15 @@ The worst-case constructor needs six forms:
    -      mkV : (x1,_,_,_,_,x6 : Str) -> V ;   -- geben, gibt, gib, gab, gδbe, gegeben
    +      mkV : (geben, gibt, gib, gab, gδbe, gegeben : Str) -> V ; 
     

    -Weak verbs are sometimes called regular verbs. +To add a movable suffix e.g. auf(fassen).

    -      regV : Str -> V ;                    -- fόhren
    -
    -

    -

    -Irregular verbs use Ablaut and, in the worst cases, also Umlaut. -

    -
    -      irregV : (x1,_,_,_,x5 : Str) -> V ; -- sehen, sieht, sah, sδhe, gesehen
    +      mkV : Str -> V -> V
    +    };
     

    @@ -278,13 +315,6 @@ prefixed by be-, ver-.

    -To add a movable suffix e.g. auf(fassen). -

    -
    -      prefixV : Str -> V -> V ;
    -
    -

    -

    To change the auxiliary from haben (default) to sein and vice-versa.

    @@ -302,15 +332,30 @@ Reflexive verbs can take reflexive pronouns of different cases.

    Two-place verbs

    +
    +    mkV2 : overload {
    +
    +

    -Two-place verbs need a preposition, except the special case with direct object -(accusative, transitive verbs). There is also a case for dative objects. +Two-place verbs with a preposition.

    -      mkV2  : V -> Prep -> V2 ;
    -    
    -      dirV2 : V -> V2 ;
    -      datV2 : V -> V2 ;
    +      mkV2 : V -> Prep -> V2 ;
    +
    +

    +

    +Two-place verbs with direct object (accusative, transitive verbs). +

    +
    +      mkV2 : V -> V2 ;
    +
    +

    +

    +Two-place verbs with object in the given case. +

    +
    +      mkV2 : V -> Case -> V2
    +    };
     

    @@ -360,6 +405,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsIta.html b/lib/resource-1.0/doc/gfdoc/ParadigmsIta.html index b967874dd..909ca3b61 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsIta.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsIta.html @@ -6,7 +6,7 @@

    Italian Lexical Paradigms

    -Last update: 2006-12-15 17:11:19 CET
    +Last update: 2007-07-06 09:18:06 CEST

    @@ -16,22 +16,20 @@
  • Parameters
  • Nouns -
  • Adjectives +
  • Adjectives -
  • Adverbs -
  • Verbs +
  • Adverbs +
  • Verbs @@ -132,11 +130,8 @@ The following prepositions also have special contracted forms.

    Nouns

    -

    -Worst case: give both two forms and the gender. -

    -      mkN  : (uomo,uomini : Str) -> Gender -> N ;
    +      mkN : overload {
     

    @@ -146,45 +141,45 @@ The heuristic says that the gender is feminine for nouns ending with a, and masculine for all other words.

    -      regN : Str -> N ;
    +        mkN : (cane : Str) -> N ;
     

    -To force a different gender, use one of the following functions. +To force a different gender, give it explicitly.

    -      mascN : N -> N ;
    -      femN  : N -> N ;
    +        mkN : (carne : Str) -> Gender -> N ; 
     

    - -

    Compound nouns

    -Some nouns are ones where the first part is inflected as a noun but +Worst case: give both two forms and the gender. +

    +
    +        mkN : (uomo,uomini : Str) -> Gender -> N ;
    +
    +

    +

    +In compound nouns, the first part is inflected as a noun but the second part is not inflected. e.g. numero di telefono. They could be formed in syntax, but we give a shortcut here since they are frequent in lexica.

    -      compN : N -> Str -> N ;
    +        mkN : N -> Str -> N
    +        } ;
     

    - +

    Relational nouns

    Relational nouns (figlio di x) need a case and a preposition. +The default is regular nouns with the genitive di.

    -      mkN2 : N -> Prep -> N2 ;
    -
    -

    -

    -The most common cases are the genitive di and the dative a, -with the empty preposition. -

    -
    -      diN2 : N -> N2 ;
    -      aN2  : N -> N2 ;
    +      mkN2 : overload {
    +        mkN2 : Str -> N2 ;
    +        mkN2 : N -> Prep -> N2
    +      } ;
     

    @@ -194,7 +189,7 @@ Three-place relational nouns (la connessione di x a y) need two prepositi mkN3 : N -> Prep -> Prep -> N3 ;

    - +

    Relational common noun phrases

    In some cases, you may want to make a complex CN into a @@ -202,53 +197,62 @@ relational noun (e.g. la vecchia chiesa di). However, N2 and N3 are purely lexical categories. But you can use the AdvCN and PrepNP constructions to build phrases like this.

    - +

    Proper names and noun phrases

    -Proper names need a string and a gender. +Proper names need a string and a gender. The gender is by default feminine if +the name ends with an a, and masculine otherwise.

    -      mkPN  : Str -> Gender -> PN ;
    -      regPN : Str -> PN ;           -- feminine if "-a", otherwise masculine
    +      mkPN : overload {
    +        mkPN : Str -> PN ;
    +        mkPN : Str -> Gender -> PN
    +      } ;
     

    -

    -To form a noun phrase that can also be plural, -you can use the worst-case function. -

    -
    -      mkNP : Str -> Gender -> Number -> NP ; 
    -
    -

    - +

    Adjectives

    -

    -Non-comparison one-place adjectives need five forms in the worst -case (masc and fem singular, masc plural, adverbial). -

    -      mkA : (solo,sola,soli,sole, solamente : Str) -> A ;
    +      mkA : overload {
     

    -For regular adjectives, all other forms are derived from the -masculine singular. +For regular adjectives, all forms are derived from the +masculine singular. Comparison is formed by piω.

    -      regA : Str -> A ;
    +        mkA : (bianco : Str) -> A ;
     

    -These functions create postfix adjectives. To switch +Five forms are needed in the worst +case (masc and fem singular, masc plural, adverbial), given that +comparison is formed by piω. +

    +
    +        mkA : (solo,sola,soli,sole,solamente : Str) -> A ;
    +
    +

    +

    +With irregular comparison, there are as it were two adjectives: +the positive (buono) and the comparative (migliore). +

    +
    +        mkA : A -> A -> A
    +        } ;
    +
    +

    +

    +All the functions above create postfix adjectives. To switch them to prefix ones (i.e. ones placed before the noun in modification, as in vecchia chiesa), the following function is provided.

    -      prefA : A -> A ;
    +        prefixA : A -> A = prefA ;
     

    - +

    Two-place adjectives

    Two-place adjectives need a preposition for their second argument. @@ -257,33 +261,7 @@ Two-place adjectives need a preposition for their second argument. mkA2 : A -> Prep -> A2 ;

    - -

    Comparison adjectives

    -

    -Comparison adjectives are in the worst case put up from two -adjectives: the positive (buono), and the comparative (migliore). -

    -
    -      mkADeg : A -> A -> A ;
    -
    -

    -

    -If comparison is formed by piω, as usual in Italian, -the following pattern is used: -

    -
    -      compADeg : A -> A ;
    -
    -

    -

    -The regular pattern is the same as regA for plain adjectives, -with comparison by piω. -

    -
    -      regADeg : Str -> A ;
    -
    -

    - +

    Adverbs

    Adverbs are not inflected. Most lexical ones have position @@ -307,8 +285,12 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;

    - +

    Verbs

    +
    +      mkV : overload {
    +
    +

    Regular verbs are ones with the infinitive are or ire, the latter with singular present indicative forms as finisco. @@ -317,7 +299,7 @@ these endings, as well as the variations among amare, cominciare, mangiare, legare, cercare.

    -      regV : Str -> V ;
    +        mkV : Str -> V ;
     

    @@ -325,7 +307,17 @@ The module BeschIta gives (almost) all the patterns of the Besch book. To use them in the category V, wrap them with the function

    -      verboV : Verbo -> V ;
    +        mkV : Verbo -> V ;
    +
    +

    +

    +If BeschIta does not give the desired result or feels difficult +to consult, here is a worst-case function for -ire and -ere verbs, +taking 11 arguments. +

    +
    +        mkV : (udire,odo,ode,udiamo,udiro,udii,udisti,udi,udirono,odi,udito : Str) -> V 
    +        } ;
     

    @@ -338,26 +330,18 @@ Reflexive implies essere. reflV : V -> V ;

    -

    -If BeschIta does not give the desired result or feels difficult -to consult, here is a worst-case function for -ire and -ere verbs, -taking 11 arguments. -

    -
    -      mkV : 
    -        (udire,odo,ode,udiamo,udiro,udii,udisti,udi,udirono,odi,udito : Str) -> V ; 
    -
    -

    - +

    Two-place verbs

    Two-place verbs need a preposition, except the special case with direct object. (transitive verbs). Notice that a particle comes from the V.

    -      mkV2  : V -> Prep -> V2 ;
    -    
    -      dirV2 : V -> V2 ;
    +      mkV2 : overload {
    +        mkV2 : Str -> V2 ;
    +        mkV2 : V -> V2 ;
    +        mkV2 : V -> Prep -> V2
    +        } ;
     

    @@ -367,7 +351,7 @@ You can reuse a V2 verb in V. v2V : V2 -> V ;

    - +

    Three-place verbs

    Three-place (ditransitive) verbs need two prepositions, of which @@ -379,7 +363,7 @@ the first one or both can be absent. dirdirV3 : V -> V3 ; -- dare,_,_

    - +

    Other complement patterns

    Verbs and adjectives can take complements such as sentences, @@ -416,6 +400,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html b/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html index a1b41ea8b..78227b2d5 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html @@ -6,7 +6,7 @@

    Norwegian Lexical Paradigms

    -Last update: 2006-07-02 00:15:01 CEST
    +Last update: 2007-07-06 10:10:01 CEST

    @@ -28,8 +28,8 @@
  • Adverbs
  • Verbs
      -
    • Verbs with 'vζre' as auxiliary -
    • Verbs with a particle. +
    • Verbs with a particle. +
    • Verbs with 'vζre' as auxiliary
    • Deponent verbs.
    • Two-place verbs
    • Three-place verbs @@ -129,37 +129,24 @@ Prepositions used in many-argument functions are just strings.

      Nouns

      -Worst case: give all four forms. The gender is computed from the -last letter of the second form (if n, then utrum, otherwise neutrum). -

      -
      -      mkN  : (dreng,drengen,drenger,drengene : Str) -> N ;
      -
      -

      -

      The regular function takes the singular indefinite form and computes the other forms and the gender by a heuristic. The heuristic is that nouns ending e are feminine like kvinne, all others are masculine like bil. -If in doubt, use the cc command to test! -

      -
      -      regN : Str -> N ;
      -
      -

      -

      Giving gender manually makes the heuristic more reliable. -

      -
      -      regGenN : Str -> Gender -> N ;
      -
      -

      -

      -This function takes the singular indefinite and definite forms; the +One can also compute the gender from the definite form. gender is computed from the definite form. +If in doubt, use the cc command to test! +In the worst case, give all four forms. The gender is computed from the +last letter of the second form (if n, then utrum, otherwise neutrum).

      -      mk2N : (bil,bilen : Str) -> N ;
      +      mkN : overload {
      +        mkN : Str -> N ;
      +        mkN : Str -> Gender -> N ;
      +        mkN : (bil,bilen : Str) -> N ;
      +        mkN  : (dreng,drengen,drenger,drengene : Str) -> N
      +      } ;
       

      @@ -209,48 +196,37 @@ and PrepNP constructions to build phrases like this.

      Proper names and noun phrases

      Proper names, with a regular genitive, are formed as follows -

      -
      -      regPN    : Str -> PN ;            -- utrum
      -      regGenPN : Str -> Gender -> PN ;  
      -
      -

      -

      Sometimes you can reuse a common noun as a proper name, e.g. Bank.

      -      nounPN : N -> PN ;
      -
      -

      -

      -To form a noun phrase that can also be plural and have an irregular -genitive, you can use the worst-case function. -

      -
      -      mkNP : Str -> Str -> Number -> Gender -> NP ; 
      +      mkPN : overload {
      +        mkPN : Str -> PN ;       -- masculine
      +        mkPN : Str -> Gender -> PN ;  
      +        mkPN : N -> PN ;
      +        } ;
       

      Adjectives

      -Non-comparison one-place adjectives need three forms: +The regular pattern works for many adjectives, e.g. those ending +with ig. Two, five, or at worst five forms are sometimes needed.

      -      mkA : (galen,galet,galne : Str) -> A ;
      +      mkA : overload {
      +        mkA : (fin : Str) -> A ;
      +        mkA : (fin,fint : Str) -> A ;
      +        mkA : (galen,galet,galne : Str) -> A ;
      +        mkA : (stor,stort,store,storre,storst : Str) -> A ;
       

      -For regular adjectives, the other forms are derived. +If comparison is formed by mer, mest, as in general for +long adjective, the following pattern is used:

      -      regA : Str -> A ;
      -
      -

      -

      -In most cases, two forms are enough. -

      -
      -      mk2A : (stor,stort : Str) -> A ;
      +        mkA : A -> A ; -- -/mer/mest norsk
      +      } ;
       

      @@ -262,44 +238,6 @@ Two-place adjectives need a preposition for their second argument. mkA2 : A -> Prep -> A2 ;

      -

      -Comparison adjectives may need as many as five forms. -

      -
      -      mkADeg : (stor,stort,store,storre,storst : Str) -> A ;
      -
      -

      -

      -The regular pattern works for many adjectives, e.g. those ending -with ig. -

      -
      -      regADeg : Str -> A ;
      -
      -

      -

      -Just the comparison forms can be irregular. -

      -
      -      irregADeg : (tung,tyngre,tyngst : Str) -> A ;
      -
      -

      -

      -Sometimes just the positive forms are irregular. -

      -
      -      mk3ADeg : (galen,galet,galne : Str) -> A ;
      -      mk2ADeg : (bred,bredt        : Str) -> A ;
      -
      -

      -

      -If comparison is formed by mer, mest, as in general for -long adjective, the following pattern is used: -

      -
      -      compoundA : A -> A ; -- -/mer/mest norsk
      -
      -

      Adverbs

      @@ -320,25 +258,22 @@ Adverbs modifying adjectives and sentences can also be formed.

      Verbs

      -

      -The worst case needs six forms. -

      -      mkV : (spise,spiser,spises,spiste,spist,spis : Str) -> V ;
      +      mkV : overload {
       

      The 'regular verb' function is the first conjugation.

      -      regV : (snakke : Str) -> V ;
      +        mkV : (snakke : Str) -> V ;
       

      The almost regular verb function needs the infinitive and the preteritum.

      -      mk2V : (leve,levde : Str) -> V ;
      +        mkV : (leve,levde : Str) -> V ;
       

      @@ -346,10 +281,27 @@ There is an extensive list of irregular verbs in the module IrregNor

      -      irregV : (drikke, drakk, drukket  : Str) -> V ;
      +        mkV : (drikke, drakk, drukket  : Str) -> V ;
      +
      +

      +

      +The worst case needs six forms. +

      +
      +        mkV : (spise,spiser,spises,spiste,spist,spis : Str) -> V ;
       

      +

      Verbs with a particle.

      +

      +The particle, such as in lukke opp, is given as a string. +

      +
      +        mkV : V -> Str -> V ;
      +      } ;
      +
      +

      +

      Verbs with 'vζre' as auxiliary

      By default, the auxiliary is have. This function changes it to vζre. @@ -358,15 +310,6 @@ By default, the auxiliary is have. This function changes it to v vaereV : V -> V ;

      - -

      Verbs with a particle.

      -

      -The particle, such as in lukke opp, is given as a string. -

      -
      -      partV  : V -> Str -> V ;
      -
      -

      Deponent verbs.

      @@ -382,12 +325,14 @@ reflexive e.g. forestille seg.

      Two-place verbs

      Two-place verbs need a preposition, except the special case with direct object. -(transitive verbs). Notice that a particle comes from the V. +(transitive verbs). Notice that, if a particle is needed, it comes from the V.

      -      mkV2  : V -> Prep -> V2 ;
      -    
      -      dirV2 : V -> V2 ;
      +      mkV2 : overload {
      +        mkV2 : Str -> V2 ;
      +        mkV2 : V -> V2 ;
      +        mkV2 : V -> Prep -> V2 ;
      +      } ;
       

      @@ -437,6 +382,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.

      - + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsRus.html b/lib/resource-1.0/doc/gfdoc/ParadigmsRus.html index 41288297e..c142bd34b 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsRus.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsRus.html @@ -6,7 +6,7 @@

      Russian Lexical Paradigms

      -Last update: 2006-09-07 16:12:56 CEST
      +Last update: 2007-07-06 10:39:50 CEST

      @@ -18,6 +18,10 @@
    • Adjectives
    • Adverbs
    • Verbs +

    @@ -105,6 +109,11 @@ To abstract over number names, we define the following. singular : Number ; plural : Number ; + + Animacy: Type ; + + animate: Animacy; + inanimate: Animacy;

    @@ -113,12 +122,22 @@ To abstract over number names, we define the following. Best case: indeclinabe nouns: ΠΊΠΎΡ„Π΅, ΠΏΠ°Π»ΡŒΡ‚ΠΎ, Π’Π£Π—.

    -      Animacy: Type ; 
    -    
    -      animate: Animacy;
    -      inanimate: Animacy; 
    -    
    -      mkIndeclinableNoun: Str -> Gender -> Animacy -> N ; 
    +      mkN : overload {
    +
    +

    +

    +The regular function captures the variants for some popular nouns +endings below: +

    +
    +        mkN : Str -> N ;
    +
    +

    +

    +This function is for indeclinable nouns. +

    +
    +        mkN : Str -> Gender -> Animacy -> N ; 
     

    @@ -132,19 +151,15 @@ to the Nominative or the Genetive one) is actually of no help, since there are a lot of exceptions and the gain is just one form less.

    -      mkN  : (nomSg, genSg, datSg, accSg, instSg, preposSg,
    -              nomPl, genPl, datPl, accPl, instPl, preposPl: Str) -> Gender -> Animacy -> N ; 
    -    
    -         -- ΠΌΡƒΠΆΡ‡ΠΈΠ½Π°, ΠΌΡƒΠΆΡ‡ΠΈΠ½Ρ‹, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π΅, ΠΌΡƒΠΆΡ‡ΠΈΠ½Ρƒ, ΠΌΡƒΠΆΡ‡ΠΈΠ½ΠΎΠΉ, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π΅
    -         -- ΠΌΡƒΠΆΡ‡ΠΈΠ½Ρ‹, ΠΌΡƒΠΆΡ‡ΠΈΠ½, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π°ΠΌ, ΠΌΡƒΠΆΡ‡ΠΈΠ½, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π°ΠΌΠΈ, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π°Ρ…
    +        mkN : (nomSg,_,_,_,_,_,_,_,_,_,_,prepPl : Str) -> Gender -> Animacy -> N ; 
     

    -The regular function captures the variants for some popular nouns -endings below: +ΠΌΡƒΠΆΡ‡ΠΈΠ½Π°, ΠΌΡƒΠΆΡ‡ΠΈΠ½Ρ‹, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π΅, ΠΌΡƒΠΆΡ‡ΠΈΠ½Ρƒ, ΠΌΡƒΠΆΡ‡ΠΈΠ½ΠΎΠΉ, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π΅ +ΠΌΡƒΠΆΡ‡ΠΈΠ½Ρ‹, ΠΌΡƒΠΆΡ‡ΠΈΠ½, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π°ΠΌ, ΠΌΡƒΠΆΡ‡ΠΈΠ½, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π°ΠΌΠΈ, ΠΌΡƒΠΆΡ‡ΠΈΠ½Π°Ρ…

    -      regN : Str -> N ;
    +      } ;
     

    @@ -206,17 +221,11 @@ Nouns used as functions need a preposition. The most common is with Genitive. Proper names.

    -      mkPN  : Str -> Gender -> Animacy -> PN ;          -- "Иван", "Маша"
    -      nounPN : N -> PN ;
    -
    -

    -

    -On the top level, it is maybe CN that is used rather than N, and -NP rather than PN. -

    -
    -      mkCN  : N -> CN ;
    -      mkNP  : Str -> Gender -> Animacy -> NP ;
    +      mkPN : overload {
    +        mkPN : Str -> PN ; 
    +        mkPN : Str -> Gender -> Animacy -> PN ;          -- "Иван", "Маша"
    +        mkPN : N -> PN ;
    +      } ;
     

    @@ -230,20 +239,16 @@ Instructive | Prepositional) Notice that 4 short forms, which exist for some adjectives are not included in the current description, otherwise there would be 32 forms for positive degree. -mkA : ( : Str) -> A ; The regular function captures the variants for some popular adjective endings below. The first string agrument is the masculine singular form, the second is comparative: +Invariable adjective is a special case, with only on string needed.

    -       regA : Str -> Str -> A ;
    -
    -

    -

    -Invariable adjective is a special case. -

    -
    -       adjInvar : Str -> A ;          -- khaki, mini, hindi, netto
    +       mkA : overload {
    +         mkA : Str -> A ;          -- khaki, mini, hindi, netto
    +         mkA : Str -> Str -> A ;
    +       } ;
     

    @@ -274,10 +279,6 @@ only one superlative form (syntactic) we can produce the comparison adjective with only one extra argument - non-syntactic comparative form. Syntactic forms are based on the positive forms. -mkADeg : A -> Str -> ADeg ; -On top level, there are adjectival phrases. The most common case is -just to use a one-place adjective. -ap : A -> IsPostfixAdj -> AP ;

    Adverbs

    @@ -322,20 +323,6 @@ Notice, that some forms are never used for some verbs.

    -The worst case need 6 forms of the present tense in indicative mood -(я Π±Π΅Π³Ρƒ, Ρ‚Ρ‹ бСТишь, ΠΎΠ½ Π±Π΅ΠΆΠΈΡ‚, ΠΌΡ‹ Π±Π΅ΠΆΠΈΠΌ, Π²Ρ‹ Π±Π΅ΠΆΠΈΡ‚Π΅, ΠΎΠ½ΠΈ Π±Π΅Π³ΡƒΡ‚), -a past form (singular, masculine: я Π±Π΅ΠΆΠ°Π»), an imperative form -(singular, second person: Π±Π΅Π³ΠΈ), an infinitive (Π±Π΅ΠΆΠ°Ρ‚ΡŒ). -Inherent aspect should also be specified. -mkVerbum : Aspect -> (presentSgP1,presentSgP2,presentSgP3, -

    -
    -       mkV : Aspect -> (presentSgP1,presentSgP2,presentSgP3,
    -                             presentPlP1,presentPlP2,presentPlP3,
    -                             pastSgMasculine,imperative,infinitive: Str) -> V ;
    -
    -

    -

    Common conjugation patterns are two conjugations: first - verbs ending with -Π°Ρ‚ΡŒ/-ΡΡ‚ΡŒ and second - -ΠΈΡ‚ΡŒ/-Π΅Ρ‚ΡŒ. Instead of 6 present forms of the worst case, we only need @@ -347,20 +334,45 @@ first person from with second person form: So the definition for verb Π»ΡŽΠ±ΠΈΡ‚ΡŒ looks like: regV Imperfective Second люб лю любил люби Π»ΡŽΠ±ΠΈΡ‚ΡŒ;

    +

    +There is no one-argument case. +

    -       regV :Aspect -> Conjugation -> (stemPresentSgP1,endingPresentSgP1,
    -                             pastSgP1,imperative,infinitive : Str) -> V ; 
    +      mkV : overload {
    +        mkV : Aspect -> Conjugation -> (stemPrsSgP1,endPrsSgP1,pastSgP1,imp,inf : Str) -> V ; 
     

    +The worst case need 6 forms of the present tense in indicative mood +(я Π±Π΅Π³Ρƒ, Ρ‚Ρ‹ бСТишь, ΠΎΠ½ Π±Π΅ΠΆΠΈΡ‚, ΠΌΡ‹ Π±Π΅ΠΆΠΈΠΌ, Π²Ρ‹ Π±Π΅ΠΆΠΈΡ‚Π΅, ΠΎΠ½ΠΈ Π±Π΅Π³ΡƒΡ‚), +a past form (singular, masculine: я Π±Π΅ΠΆΠ°Π»), an imperative form +(singular, second person: Π±Π΅Π³ΠΈ), an infinitive (Π±Π΅ΠΆΠ°Ρ‚ΡŒ). +Inherent aspect should also be specified. +

    +
    +       mkV : Aspect -> (presSgP1,presSgP2,presSgP3,presPlP1,presPlP2,presPlP3,pastSgMasc,imp,inf: Str) -> V ;
    +    
    +      } ;
    +
    +

    + +

    Two-place verbs

    +

    Two-place verbs, and the special case with direct object. Notice that a particle can be included in a V.

    -       mkV2     : V   -> Str -> Case -> V2 ;   -- "Π²ΠΎΠΉΡ‚ΠΈ Π² Π΄ΠΎΠΌ"; "Π²", accusative
    -       mkV3  : V -> Str -> Str -> Case -> Case -> V3 ; -- "ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ письмо Π² ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚"
    -       dirV2    : V -> V2 ;                    -- "Π²ΠΈΠ΄Π΅Ρ‚ΡŒ", "Π»ΡŽΠ±ΠΈΡ‚ΡŒ"
    +      mkV2 : overload { 
    +        mkV2 : V -> V2 ;                    -- "Π²ΠΈΠ΄Π΅Ρ‚ΡŒ", "Π»ΡŽΠ±ΠΈΡ‚ΡŒ"
    +        mkV2 : V   -> Str -> Case -> V2 ;   -- "Π²ΠΎΠΉΡ‚ΠΈ Π² Π΄ΠΎΠΌ"; "Π²", accusative
    +      } ;
    +
    +

    + +

    Three-place verbs

    +
            tvDirDir : V -> V3 ; 
    +       mkV3     : V -> Str -> Str -> Case -> Case -> V3 ; -- "ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ письмо Π² ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚"                            
     

    @@ -368,6 +380,6 @@ The definitions should not bother the user of the API. So they are hidden from the document.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsSpa.html b/lib/resource-1.0/doc/gfdoc/ParadigmsSpa.html index 0021449b6..0ff6bd7c0 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsSpa.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsSpa.html @@ -6,7 +6,7 @@

    Spanish Lexical Paradigms

    -Last update: 2007-03-19 18:25:03 CET
    +Last update: 2007-07-06 09:19:56 CEST

    @@ -24,14 +24,13 @@
  • Adjectives -
  • Adverbs -
  • Verbs +
  • Adverbs +
  • Verbs @@ -124,12 +123,8 @@ amalgamate with the following word (the 'genitive' de and the

    Nouns

    -

    -Worst case: two forms (singular + plural), -and the gender. -

    -      mkN  : (_,_ : Str) -> Gender -> N ;   -- bastσn, bastones, masculine
    +      mkN : overload {
     

    @@ -142,15 +137,22 @@ those ending with z have ces in plural; all other nouns have es as plural ending. The accent is not dealt with.

    -      regN : Str -> N ;
    +        mkN : (luz : Str) -> N ;
     

    -To force a different gender, use one of the following functions. +A different gender can be forced.

    -      mascN : N -> N ;
    -      femN  : N -> N ;
    +        mkN : Str -> Gender -> N ;
    +
    +

    +

    +The worst case has two forms (singular + plural) and the gender. +

    +
    +        mkN : (baston,bastones : Str) -> Gender -> N 
    +        } ;
     

    @@ -202,47 +204,55 @@ and PrepNP constructions to build phrases like this.

    Proper names and noun phrases

    Proper names need a string and a gender. +The default gender is feminine for names ending with a, otherwise masculine.

    -      mkPN  : Str -> Gender -> PN ; -- Juan
    -      regPN : Str -> PN ;           -- feminine for "-a", otherwise masculine
    -
    -

    -

    -To form a noun phrase that can also be plural, -you can use the worst-case function. -

    -
    -      mkNP : Str -> Gender -> Number -> NP ; 
    +      mkPN : overload {
    +        mkPN : (Anna : Str) -> PN ;
    +        mkPN : (Pilar : Str) -> Gender -> PN
    +        } ;
     

    Adjectives

    +
    +      mkA : overload {
    +
    +

    -Non-comparison one-place adjectives need five forms in the worst +For regular adjectives, all forms are derived from the +masculine singular. The types of adjectives that are recognized are +alto, fuerte, util. Comparison is formed by mas. +

    +
    +        mkA : (util : Str) -> A ;
    +
    +

    +

    +One-place adjectives compared with mas need five forms in the worst case (masc and fem singular, masc plural, adverbial).

    -      mkA : (solo,sola,solos,solas, solamiento : Str) -> A ;
    +        mkA : (solo,sola,solos,solas,solamiento : Str) -> A ;
     

    -For regular adjectives, all other forms are derived from the -masculine singular. The types of adjectives that are recognized are -alto, fuerte, util. +In the worst case, two separate adjectives are given: +the positive (bueno), and the comparative (mejor).

    -      regA : Str -> A ;
    +        mkA : (bueno : A) -> (mejor : A) -> A
    +        } ;
     

    -These functions create postfix adjectives. To switch +The functions above create postfix adjectives. To switch them to prefix ones (i.e. ones placed before the noun in modification, as in bueno vino), the following function is provided.

    -      prefA : A -> A ;
    +      prefixA : A -> A ;
     

    @@ -255,32 +265,6 @@ Two-place adjectives need a preposition for their second argument.

    -

    Comparison adjectives

    -

    -Comparison adjectives are in the worst case put up from two -adjectives: the positive (bueno), and the comparative (mejor). -

    -
    -      mkADeg : A -> A -> A ;
    -
    -

    -

    -If comparison is formed by mas, as usual in Spanish, -the following pattern is used: -

    -
    -      compADeg : A -> A ;
    -
    -

    -

    -The regular pattern is the same as regA for plain adjectives, -with comparison by mas. -

    -
    -      regADeg : Str -> A ;
    -
    -

    -

    Adverbs

    Adverbs are not inflected. Most lexical ones have position @@ -304,8 +288,12 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;

    - +

    Verbs

    +
    +      mkV : overload {
    +
    +

    Regular verbs are ones inflected like cortar, deber, or vivir. The regular verb function is the first conjugation (ar) recognizes @@ -314,15 +302,25 @@ the variations corresponding to the patterns the complete set of Bescherelle conjugations.

    -      regV : Str -> V ;
    +        mkV : (pagar : Str) -> V ;
     

    -The module BeschSpa gives all the patterns of the Bescherelle +Verbs with vowel alternatition in the stem - easiest to give with +two forms, e.g. mostrar///muestro//. +

    +
    +        mkV : (mostrar,muestro : Str) -> V ;
    +
    +

    +

    +Most irreguler verbs are found in IrregSpa. If this is not enough, +the module BeschSpa gives all the patterns of the Bescherelle book. To use them in the category V, wrap them with the function

    -      verboV : Verbum -> V ;
    +        mkV : Verbum -> V 
    +        } ;
     

    @@ -340,24 +338,18 @@ in masculine singular form as second argument. special_ppV : V -> Str -> V ;

    -

    -Verbs with vowel alternatition in the stem - easiest to give with -two forms, e.g. mostrar///muestro//. -

    -
    -      regAltV : (mostrar,muestro : Str) -> V ;
    -
    -

    - +

    Two-place verbs

    Two-place verbs need a preposition, except the special case with direct object. -(transitive verbs). Notice that a particle comes from the V. +(transitive verbs).

    -      mkV2  : V -> Prep -> V2 ;
    -    
    -      dirV2 : V -> V2 ;
    +      mkV2 : overload {
    +        mkV2 : Str -> V2 ;
    +        mkV2 : V -> V2 ;  
    +        mkV2 : V -> Prep -> V2
    +        } ;
     

    @@ -367,7 +359,7 @@ You can reuse a V2 verb in V. v2V : V2 -> V ;

    - +

    Three-place verbs

    Three-place (ditransitive) verbs need two prepositions, of which @@ -379,7 +371,7 @@ the first one or both can be absent. dirdirV3 : V -> V3 ; -- dar,(dative),(accusative)

    - +

    Other complement patterns

    Verbs and adjectives can take complements such as sentences, @@ -416,6 +408,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html b/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html index 8144a4660..06e415ca1 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html @@ -6,7 +6,7 @@

    Swedish Lexical Paradigms

    -Last update: 2007-03-06 17:30:03 CET
    +Last update: 2007-07-06 09:20:11 CEST

    @@ -16,23 +16,21 @@
  • Parameters
  • Nouns -
  • Adjectives +
  • Adjectives -
  • Adverbs -
  • Verbs +
  • Adverbs +
  • Verbs @@ -116,7 +114,7 @@ To abstract over case names, we define the following.

    -Prepositions used in many-argument functions are just strings. +Prepositions used in many-argument functions can be constructed from strings.

           mkPrep : Str -> Prep ;
    @@ -126,74 +124,66 @@ Prepositions used in many-argument functions are just strings.
     
     

    Nouns

    -Worst case: give all four forms. The gender is computed from the -last letter of the second form (if n, then utrum, otherwise neutrum). +The following overloaded paradigm takes care of all noun formation.

    -      mkN  : (apa,apan,apor,aporna : Str) -> N ;
    +      mkN : overload {
     

    -The regular function takes the singular indefinite form and computes the other -forms and the gender by a heuristic. The heuristic is currently -to treat all words ending with a like flicka, with e like rike, -and otherwise like bil. -If in doubt, use the cc command to test! +The one-argument case takes the singular indefinite form and computes +the other forms and the gender by a simple heuristic. The heuristic is currently +to treat all words ending with a like apa-apor, with e like rike-riken, +and otherwise like bil-bilar.

    -      regN : Str -> N ;
    +        mkN : (apa : Str) -> N ;
     

    -Adding the gender manually greatly improves the correction of regN. +The case with a string and gender makes it possible to treat +lik (neutrum) and pojke (utrum).

    -      regGenN : Str -> Gender -> N ;
    +        mkN : (lik : Str) -> Gender -> N ; 
     

    -In practice the worst case is often just: give singular and plural indefinite. +Giving two forms - the singular and plural indefinite - is sufficient for +most nouns. The paradigm deals correctly with the vowel contractions in +nyckel - nycklar such as pojke - pojkar.

    -      mk2N : (nyckel,nycklar : Str) -> N ;
    +        mkN : (nyckel,nycklar : Str) -> N ; 
     

    -This heuristic takes just the plural definite form and infers the others. -It does not work if there are changes in the stem. +In the worst case, four forms are needed.

    -      mk1N : (bilarna : Str) -> N ;
    +        mkN : (museum,museet,museer,museerna : Str) -> N
    +      } ;
     

    - -

    Compound nouns

    -All the functions above work quite as well to form compound nouns, +All the functions above work quite as well to form compound nouns, such as fotboll.

    - +

    Relational nouns

    -Relational nouns (dotter till x) need a preposition. +Relational nouns (kung av x) are nouns with a preposition. +As a special case, we provide regular nouns (formed with one-argument mkN) +with the preposition av.

    -      mkN2 : N -> Prep -> N2 ;
    +      mkN2 : overload {
    +        mkN2 : Str -> N2 ;
    +        mkN2 : N -> Prep -> N2
    +      } ;
     

    -The most common preposition is av, and the following is a -shortcut for regular, nonhuman relational nouns with av. -

    -
    -      regN2 : Str -> Gender -> N2 ;
    -
    -

    -

    -Use the function mkPreposition or see the section on prepositions below to -form other prepositions. -

    -

    Three-place relational nouns (fφrbindelse frεn x till y) need two prepositions.

    @@ -201,7 +191,7 @@ need two prepositions. mkN3 : N -> Prep -> Prep -> N3 ;

    - +

    Relational common noun phrases

    In some cases, you may want to make a complex CN into a @@ -209,71 +199,82 @@ relational noun (e.g. den f N3 are purely lexical categories. But you can use the AdvCN and PrepNP constructions to build phrases like this.

    - +

    Proper names and noun phrases

    -Proper names, with a regular genitive, are formed as follows +Proper names, with a regular genitive, are formed from strings and +have the default gender utrum.

    -      regGenPN : Str -> Gender -> PN ;
    -      regPN    : Str -> PN ;            -- utrum
    +      mkPN : overload {
    +        mkPN : Str -> PN ;
    +        mkPN : Str -> Gender -> PN ;
     

    -Sometimes you can reuse a common noun as a proper name, e.g. Bank. +In the worst case, the genitive form is irregular.

    -      nounPN : N -> PN ;
    +        mkPN : (jesus,jesu : Str) -> Gender -> PN
    +        } ;
     

    -

    -To form a noun phrase that can also be plural and have an irregular -genitive, you can use the worst-case function. -

    -
    -      mkNP : Str -> Str -> Number -> Gender -> NP ; 
    -
    -

    - +

    Adjectives

    -Adjectives may need as many as seven forms. +Adjectives need one to seven forms.

    -      mkA : (liten, litet, lilla, sma, mindre, minst, minsta : Str) -> A ;
    +      mkA : overload {
     

    -The regular pattern works for many adjectives, e.g. those ending -with ig. +Most adjectives are formed simply by adding endings to a stem.

    -      regA : Str -> A ;
    +        mkA : (billig : Str) -> A ;
     

    -Just the comparison forms can be irregular. +Some adjectives have a deviant neuter form. The following pattern +also recognizes the neuter formation galen-galet and forms the +proper plural and comparison forms galna-galnare-galnast.

    -      irregA : (tung,tyngre,tyngst : Str) -> A ;
    +        mkA : (bred,brett : Str) -> A ;
     

    -Sometimes just the positive forms are irregular. +Umlaut in comparison forms is

    -      mk3A : (galen,galet,galna : Str) -> A ;
    -      mk2A : (bred,brett        : Str) -> A ;
    +        mkA : (tung,tyngre,tyngst : Str) -> A ;
     

    -Comparison forms may be compound (mera svensk - mest svensk). +A few adjectives need 5 forms. +

    +
    +        mkA : (god,gott,goda,battre,bast : Str) -> A ;
    +
    +

    +

    +Hardly any other adjective than liten needs the full 7 forms. +

    +
    +        mkA : (liten,litet,lilla,sma,mindre,minst,minsta : Str) -> A
    +        } ;
    +
    +

    +

    +Comparison forms may be compound (mera svensk - mest svensk); +this behaviour can be forced on any adjective.

           compoundA : A -> A ;
     

    - +

    Two-place adjectives

    Two-place adjectives need a preposition for their second argument. @@ -282,7 +283,7 @@ Two-place adjectives need a preposition for their second argument. mkA2 : A -> Prep -> A2 ;

    - +

    Adverbs

    Adverbs are not inflected. Most lexical ones have position @@ -301,89 +302,97 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;

    - +

    Verbs

    -The worst case needs five forms. +All verbs can be defined by the overloaded paradigm mkV.

    -      mkV : (supa,super,sup,sφp,supit,supen : Str) -> V ;
    +      mkV : overload {
     

    -The 'regular verb' function is inspired by Lexin. It uses the +The 'regular verb' (= one-place) case is inspired by Lexin. It uses the present tense indicative form. The value is the first conjugation if the argument ends with ar (tala - talar - talade - talat), the second with er (leka - leker - lekte - lekt, with the -variations like grδva, vδnda, tyda, hyra), and +variations like in grδva, vδnda, tyda, hyra), and the third in other cases (bo - bor - bodde - bott). +It is also possible to give the infinite form to it; they are treated +as if they were implicitly suffixed by r. Moreover, deponent verbs +are recognized from the final s (hoppas).

    -      regV : (talar : Str) -> V ;
    +        mkV : (stδmmer : Str) -> V ;
     

    -The almost regular verb function needs the infinitive and the preteritum. -It is not really more powerful than the new implementation of -regV based on the indicative form. +Most irregular verbs need just the conventional three forms.

    -      mk2V : (leka,lekte : Str) -> V ;
    +        mkV : (dricka,drack,druckit : Str) -> V ;
     

    -There is an extensive list of irregular verbs in the module IrregSwe. -In practice, it is enough to give three forms, as in school books. +In the worst case, six forms are given.

    -      irregV : (dricka, drack, druckit : Str) -> V ;
    +        mkV : (gε,gεr,gε,gick,gεtt,gεngen : Str) -> V ;
     

    - -

    Verbs with a particle.

    -The particle, such as in passa pε, is given as a string. +Particle verbs, such as passa pε, are formed by adding a string to a verb.

    -      partV  : V -> Str -> V ;
    +        mkV : V -> Str -> V
    +        } ;
     

    - +

    Deponent verbs.

    Some words are used in passive forms only, e.g. hoppas, some as -reflexive e.g. εngra sig. +reflexive e.g. εngra sig. Regular deponent verbs are also +handled by mkV and recognized from the ending s.

           depV  : V -> V ;
           reflV : V -> V ;
     

    - +

    Two-place verbs

    -Two-place verbs need a preposition, except the special case with direct object. -(transitive verbs). Notice that a particle comes from the V. +Two-place verbs need a preposition, which default to the 'empty preposition' +i.e. direct object. (transitive verbs). The simplest case is a regular +verb (as in mkV) with a direct object. +Notice that, if a particle is needed, it comes from the V.

    -      mkV2  : V -> Prep -> V2 ;
    -    
    -      dirV2 : V -> V2 ;
    +      mkV2 : overload {
    +        mkV2 : Str -> V2 ;
    +        mkV2 : V   -> V2 ;
    +        mkV2 : V   -> Prep -> V2
    +        } ;
     

    - +

    Three-place verbs

    Three-place (ditransitive) verbs need two prepositions, of which -the first one or both can be absent. +the first one or both can be absent. The simplest case is a regular +verb (as in mkV) with no prepositions.

    -      mkV3     : V -> Prep -> Prep -> V3 ; -- tala, med, om
    -      dirV3    : V -> Prep -> V3 ;         -- ge, (acc),till
    -      dirdirV3 : V -> V3 ;                 -- ge, (dat), (acc)
    +      mkV3 : overload {
    +        mkV3 : Str -> V3 ;
    +        mkV3 : V   -> V3 ;
    +        mkV3 : V   -> Prep -> V3 ;
    +        mkV3 : V   -> Prep -> Prep -> V3
    +        } ;
     

    - +

    Other complement patterns

    Verbs and adjectives can take complements such as sentences, @@ -418,6 +427,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Phrase.html b/lib/resource-1.0/doc/gfdoc/Phrase.html index 5b0abd5b7..ae6ef29cf 100644 --- a/lib/resource-1.0/doc/gfdoc/Phrase.html +++ b/lib/resource-1.0/doc/gfdoc/Phrase.html @@ -6,7 +6,7 @@

    Phrase: Phrases and Utterances

    -Last update: 2006-12-15 17:11:19 CET
    +Last update: 2006-12-13 09:36:48 CET

    @@ -81,6 +81,6 @@ which may be overgenerating (e.g. I).

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Precedence.html b/lib/resource-1.0/doc/gfdoc/Precedence.html index 2e534a10e..63b421529 100644 --- a/lib/resource-1.0/doc/gfdoc/Precedence.html +++ b/lib/resource-1.0/doc/gfdoc/Precedence.html @@ -13,7 +13,7 @@

    -Last update: 2006-03-03 17:05:26 CET +Last update: 2005-11-23 09:16:18 CET

    Produced by @@ -175,6 +175,6 @@ make a string a into non/left/right -associative infix operator, of precedence p

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Predef.html b/lib/resource-1.0/doc/gfdoc/Predef.html index 0d3bb7fae..693d078e2 100644 --- a/lib/resource-1.0/doc/gfdoc/Predef.html +++ b/lib/resource-1.0/doc/gfdoc/Predef.html @@ -6,7 +6,7 @@

    Predefined functions for concrete syntax

    -Last update: 2006-09-05 15:15:35 CEST
    +Last update: 2006-09-01 16:37:08 CEST

    @@ -62,6 +62,6 @@ This type of booleans is for internal use only.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/PredefAbs.html b/lib/resource-1.0/doc/gfdoc/PredefAbs.html index 3f9e7a47c..8bd03dae2 100644 --- a/lib/resource-1.0/doc/gfdoc/PredefAbs.html +++ b/lib/resource-1.0/doc/gfdoc/PredefAbs.html @@ -13,7 +13,7 @@

    -Last update: 2006-06-16 07:46:47 CEST +Last update: 2006-06-02 17:49:44 CEST

    Produced by @@ -27,6 +27,6 @@ gfdoc - a rudimentary GF document generator.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Predication.html b/lib/resource-1.0/doc/gfdoc/Predication.html index c36a1db0c..3278694ac 100644 --- a/lib/resource-1.0/doc/gfdoc/Predication.html +++ b/lib/resource-1.0/doc/gfdoc/Predication.html @@ -6,7 +6,7 @@

    A Small Predication Library

    -Last update: 2006-03-03 17:06:11 CET
    +Last update: 2006-02-28 09:26:58 CET

    @@ -108,6 +108,6 @@ This is similar to a family except that the argument is a type.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Prelude.html b/lib/resource-1.0/doc/gfdoc/Prelude.html index 2302d0479..6f1bbde29 100644 --- a/lib/resource-1.0/doc/gfdoc/Prelude.html +++ b/lib/resource-1.0/doc/gfdoc/Prelude.html @@ -6,7 +6,7 @@

    The GF Prelude

    -Last update: 2006-03-03 17:06:11 CET
    +Last update: 2006-02-27 09:41:31 CET

    @@ -217,6 +217,6 @@ Zero, one, two, or more (elements in a list etc)

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Question.html b/lib/resource-1.0/doc/gfdoc/Question.html index 590ab5e1a..5a4a25358 100644 --- a/lib/resource-1.0/doc/gfdoc/Question.html +++ b/lib/resource-1.0/doc/gfdoc/Question.html @@ -6,7 +6,7 @@

    Question: Questions and Interrogative Pronouns

    -Last update: 2006-07-02 00:15:01 CEST
    +Last update: 2006-06-26 13:24:17 CEST

    @@ -59,6 +59,6 @@ More IP, IDet, and IAdv are defined in

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Relative.html b/lib/resource-1.0/doc/gfdoc/Relative.html index 0a0e73b56..ecceda94e 100644 --- a/lib/resource-1.0/doc/gfdoc/Relative.html +++ b/lib/resource-1.0/doc/gfdoc/Relative.html @@ -6,7 +6,7 @@

    Relative clauses and pronouns

    -Last update: 2006-07-02 00:15:01 CEST
    +Last update: 2006-06-26 13:24:17 CEST

    @@ -56,6 +56,6 @@ or suffixing (depending on language) prepositional phrases.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Sentence.html b/lib/resource-1.0/doc/gfdoc/Sentence.html index 001625f72..c91e9acf9 100644 --- a/lib/resource-1.0/doc/gfdoc/Sentence.html +++ b/lib/resource-1.0/doc/gfdoc/Sentence.html @@ -6,7 +6,7 @@

    Sentence: Sentences, Clauses, and Imperatives

    -Last update: 2007-01-08 17:30:04 CET
    +Last update: 2006-12-18 16:59:02 CET

    @@ -119,6 +119,6 @@ An adverb can be added to the beginning of a sentence.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Structural.html b/lib/resource-1.0/doc/gfdoc/Structural.html index 9d260df14..bf3306bff 100644 --- a/lib/resource-1.0/doc/gfdoc/Structural.html +++ b/lib/resource-1.0/doc/gfdoc/Structural.html @@ -6,7 +6,7 @@

    Structural: Structural Words

    -Last update: 2006-12-01 13:43:01 CET
    +Last update: 2006-11-27 16:41:30 CET

    @@ -138,6 +138,6 @@ This is an alphabetical list of structural words

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Symbol.html b/lib/resource-1.0/doc/gfdoc/Symbol.html index 9959cd737..12c81da6b 100644 --- a/lib/resource-1.0/doc/gfdoc/Symbol.html +++ b/lib/resource-1.0/doc/gfdoc/Symbol.html @@ -6,7 +6,7 @@

    Symbolic expressions

    -Last update: 2006-12-01 13:43:01 CET
    +Last update: 2006-11-23 12:18:08 CET

    @@ -86,6 +86,6 @@ This produces x, y and z, in English.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Symbolic.html b/lib/resource-1.0/doc/gfdoc/Symbolic.html index 6e42bf64a..1b606f2a5 100644 --- a/lib/resource-1.0/doc/gfdoc/Symbolic.html +++ b/lib/resource-1.0/doc/gfdoc/Symbolic.html @@ -6,7 +6,7 @@

    Symbolic: Noun Phrases with mathematical symbols

    -Last update: 2007-01-08 17:30:04 CET
    +Last update: 2006-12-22 14:08:31 CET

    @@ -38,6 +38,6 @@ gfdoc - a rudimentary GF document generator.

    - + diff --git a/lib/resource-1.0/doc/gfdoc/Text.html b/lib/resource-1.0/doc/gfdoc/Text.html index c1077b05b..8ab03c9ec 100644 --- a/lib/resource-1.0/doc/gfdoc/Text.html +++ b/lib/resource-1.0/doc/gfdoc/Text.html @@ -6,7 +6,7 @@

    Text: Texts

    -Last update: 2006-06-16 07:46:47 CEST
    +Last update: 2006-06-15 09:19:39 CEST

    @@ -38,6 +38,6 @@ Any punctuation mark can be attached to any kind of phrase.

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

    The construction of verb phrases

    -Last update: 2006-03-03 17:06:11 CET
    +Last update: 2006-02-27 09:41:31 CET

    @@ -118,6 +118,6 @@ work in all the languages we cover.

    - + diff --git a/lib/resource-1.0/doc/index.html b/lib/resource-1.0/doc/index.html index 10bcf3fd6..8c7e42f8b 100644 --- a/lib/resource-1.0/doc/index.html +++ b/lib/resource-1.0/doc/index.html @@ -7,7 +7,7 @@

    GF Resource Grammar Library v. 1.2

    Author: Aarne Ranta <aarne (at) cs.chalmers.se>
    -Last update: Sun Jul 8 17:07:04 2007 +Last update: Sun Jul 8 18:49:50 2007