From 6065e7373898cdf6c3a2178f778f8757d926019a Mon Sep 17 00:00:00 2001
From: aarne Adjectives and adjectival phrases
+ Adjective: Adjectives and Adjectival Phrases
-Author:
-Last update: Tue Jun 13 11:42:38 2006
+Last update: 2006-06-15 09:19:39 CEST
-
-
@@ -25,8 +20,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
abstract Adjective = Cat ** {
diff --git a/resource-1.0/doc/gfdoc/Adverb.html b/resource-1.0/doc/gfdoc/Adverb.html
index 2dd71c97..2f707f31 100644
--- a/resource-1.0/doc/gfdoc/Adverb.html
+++ b/resource-1.0/doc/gfdoc/Adverb.html
@@ -2,21 +2,16 @@
- Adverbs and adverbial phrases
+ Adverb: Adverbs and Adverbial Phrases
- Adverbs and adverbial phrases
+ Adverb: Adverbs and Adverbial Phrases
-Author:
-Last update: Tue Jun 13 11:42:38 2006
+Last update: 2006-06-15 09:19:39 CEST
-
-
@@ -25,8 +20,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Adverbs and adverbial phrases
abstract Adverb = Cat ** {
diff --git a/resource-1.0/doc/gfdoc/Cat.html b/resource-1.0/doc/gfdoc/Cat.html
index f047efd4..25ac5597 100644
--- a/resource-1.0/doc/gfdoc/Cat.html
+++ b/resource-1.0/doc/gfdoc/Cat.html
@@ -2,31 +2,27 @@
- The category system
+ Cat: the Category System
- The category system
+ Cat: the Category System
-Author:
-Last update: Tue Jun 13 11:42:38 2006
+Last update: 2006-06-15 09:19:39 CEST
-
- - The category system
- - Sentences and clauses
-
- Questions and interrogatives
-
- Relative clauses and pronouns
-
- Verb phrases
-
- Adjectival phrases
-
- Nouns and noun phrases
-
- Numerals
-
- Structural words
-
- Words of open classes
+
- Sentences and clauses
+
- Questions and interrogatives
+
- Relative clauses and pronouns
+
- Verb phrases
+
- Adjectival phrases
+
- Nouns and noun phrases
+
- Numerals
+
- Structural words
+
- Words of open classes
-
@@ -36,8 +32,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-The category system
The category system is central to the library in the sense
that the other modules (Adjective, Adverb, Noun, Verb etc)
@@ -64,7 +58,7 @@ are defined on Conjunction and only used locally there.
cat
-
+
Sentences and clauses
Constructed in Sentence, and also in
@@ -79,7 +73,7 @@ Constructed in Sentence, and also in
Imp ; -- imperative e.g. "look at this"
-
+
Constructed in Question. @@ -91,7 +85,7 @@ Constructed in Question. IDet ; -- interrogative determiner e.g. "which"
- +Constructed in Relative. @@ -101,7 +95,7 @@ Constructed in Relative. RP ; -- relative pronoun e.g. "in which"
- +Constructed in Verb. @@ -111,7 +105,7 @@ Constructed in Verb. Comp ; -- complement of copula, such as AP e.g. "very warm"
- +Constructed in Adjective. @@ -120,7 +114,7 @@ Constructed in Adjective. AP ; -- adjectival phrase e.g. "very warm"
- +Constructed in Noun. @@ -147,7 +141,7 @@ as defined in Noun. Ord ; -- ordinal number (used in Det) e.g. "seventh"
- +Constructed in Numeral. @@ -156,7 +150,7 @@ Constructed in Numeral. Numeral;-- cardinal or ordinal, e.g. "five/fifth"
- +Constructed in Structural. @@ -168,7 +162,7 @@ Constructed in Structural. Prep ; -- preposition, or just case e.g. "in"
- +These are constructed in Lexicon and in diff --git a/resource-1.0/doc/gfdoc/Common.html b/resource-1.0/doc/gfdoc/Common.html index c6a9669a..8fc32086 100644 --- a/resource-1.0/doc/gfdoc/Common.html +++ b/resource-1.0/doc/gfdoc/Common.html @@ -2,25 +2,21 @@
-
This module defines the categories that uniformly have the linearization
{s : Str} in all languages.
@@ -48,7 +42,7 @@ Romance languages.
cat
Constructed in Text: Text.
@@ -74,7 +68,7 @@ Constructed in Sentence:
SC ; -- embedded sentence or question e.g. "that it rains"
Constructed in Adverb. @@ -89,7 +83,7 @@ Many adverbs are constructed in Structural. CAdv ; -- comparative adverb e.g. "more"
- +
Tense ; -- tense: present, past, future, conditional
diff --git a/resource-1.0/doc/gfdoc/Conjunction.html b/resource-1.0/doc/gfdoc/Conjunction.html
index 48f5b2b3..18246dd7 100644
--- a/resource-1.0/doc/gfdoc/Conjunction.html
+++ b/resource-1.0/doc/gfdoc/Conjunction.html
@@ -2,25 +2,21 @@
- Coordination
+ Conjunction: Coordination
- Coordination
+ Conjunction: Coordination
-Author:
-Last update: Tue Jun 13 11:42:39 2006
+Last update: 2006-06-15 09:19:39 CEST
-
- - Coordination
- - Rules
-
- Categories
-
- List constructors
+
- Rules
+
- Categories
+
- List constructors
-
@@ -30,8 +26,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Coordination
Coordination is defined for many different categories; here is
a sample. The rules apply to lists of two or more elements,
@@ -51,7 +45,7 @@ compatibility with API 0.9 is needed, use
abstract Conjunction = Cat ** {
-
+
fun
@@ -66,7 +60,7 @@ compatibility with API 0.9 is needed, use
DConjAdv : DConj -> [Adv] -> Adv; -- "both badly and slowly"
-
+
These categories are only used in this module. @@ -79,7 +73,7 @@ These categories are only used in this module. [AP]{2} ;
- +The list constructors are derived from the list notation and therefore diff --git a/resource-1.0/doc/gfdoc/Grammar.html b/resource-1.0/doc/gfdoc/Grammar.html index f68e408b..b4c131f8 100644 --- a/resource-1.0/doc/gfdoc/Grammar.html +++ b/resource-1.0/doc/gfdoc/Grammar.html @@ -2,21 +2,16 @@
-This grammar a collection of the different grammar modules, To test the resource, import Lang, which also contains diff --git a/resource-1.0/doc/gfdoc/Idiom.html b/resource-1.0/doc/gfdoc/Idiom.html index 665fb764..e808d2c2 100644 --- a/resource-1.0/doc/gfdoc/Idiom.html +++ b/resource-1.0/doc/gfdoc/Idiom.html @@ -2,21 +2,16 @@
-
abstract Idiom = Cat ** {
diff --git a/resource-1.0/doc/gfdoc/Lang.html b/resource-1.0/doc/gfdoc/Lang.html
index 751aa89e..fc916718 100644
--- a/resource-1.0/doc/gfdoc/Lang.html
+++ b/resource-1.0/doc/gfdoc/Lang.html
@@ -2,21 +2,16 @@
--This grammar is just a collection of the different modules, -and the one that can be imported when one wants to test the -grammar. A module without a lexicon is Grammar, +This grammar is for testing the resource as included in the +language-independent API, consisting of a grammar and a lexicon. +The grammar without a lexicon is Grammar, which may be more suitable to open in applications.
diff --git a/resource-1.0/doc/gfdoc/Mathematical.html b/resource-1.0/doc/gfdoc/Mathematical.html index 83e6bf82..70ef813a 100644 --- a/resource-1.0/doc/gfdoc/Mathematical.html +++ b/resource-1.0/doc/gfdoc/Mathematical.html @@ -6,17 +6,12 @@-The Mathematics API to the Resource Grammar
-Author:
-Last update: Tue Jun 13 11:42:44 2006 +Last update: 2006-02-28 09:26:58 CET
-
This grammar is a collection of the different modules.
It differs from Lang in two main ways:
diff --git a/resource-1.0/doc/gfdoc/Multi.html b/resource-1.0/doc/gfdoc/Multi.html
index 4b1e2b9a..e94882d8 100644
--- a/resource-1.0/doc/gfdoc/Multi.html
+++ b/resource-1.0/doc/gfdoc/Multi.html
@@ -6,17 +6,12 @@
abstract Multi = Lang ** {
diff --git a/resource-1.0/doc/gfdoc/Noun.html b/resource-1.0/doc/gfdoc/Noun.html
index 87c0d9e8..90b866dd 100644
--- a/resource-1.0/doc/gfdoc/Noun.html
+++ b/resource-1.0/doc/gfdoc/Noun.html
@@ -2,26 +2,22 @@
- The construction of nouns, noun phrases, and determiners
+ Noun: Nouns, noun phrases, and determiners
- The construction of nouns, noun phrases, and determiners
+ Noun: Nouns, noun phrases, and determiners
-Author:
-Last update: Tue Jun 13 11:42:40 2006
+Last update: 2006-06-15 09:19:39 CEST
-
- - The construction of nouns, noun phrases, and determiners
- - Noun phrases
-
- Determiners
-
- Common nouns
-
- Apposition
+
- Noun phrases
+
- Determiners
+
- Common nouns
+
- Apposition
-
@@ -31,13 +27,11 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-The construction of nouns, noun phrases, and determiners
abstract Noun = Cat ** {
-
+
Noun phrases
The three main types of noun phrases are
@@ -72,7 +66,7 @@ verb or by an adverb.
AdvNP : NP -> Adv -> NP ; -- Paris at midnight
-
+
The determiner has a fine-grained structure, in which a 'nucleus' @@ -166,7 +160,7 @@ in semantically odd expressions.
Other determiners are defined in Structural.
- +Simple nouns can be used as nouns outright. @@ -212,7 +206,7 @@ to decide. Sentential complements are defined in Verb. SentCN : CN -> SC -> CN ; -- fact that John smokes, question if he does
- +This is certainly overgenerating. diff --git a/resource-1.0/doc/gfdoc/Numeral.html b/resource-1.0/doc/gfdoc/Numeral.html index 2139cd31..6406bf1a 100644 --- a/resource-1.0/doc/gfdoc/Numeral.html +++ b/resource-1.0/doc/gfdoc/Numeral.html @@ -6,17 +6,12 @@
This grammar defines numerals from 1 to 999999. The implementations are adapted from the diff --git a/resource-1.0/doc/gfdoc/ParadigmsDan.html b/resource-1.0/doc/gfdoc/ParadigmsDan.html index 72b0a5bc..81267511 100644 --- a/resource-1.0/doc/gfdoc/ParadigmsDan.html +++ b/resource-1.0/doc/gfdoc/ParadigmsDan.html @@ -2,64 +2,50 @@
+-Author: -Last update: Tue Jun 13 11:42:42 2006 -
-Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-== -
--# -path=.:../scandinavian:../common:../abstract:../../prelude -
- -Aarne Ranta 2003
@@ -97,7 +83,7 @@ words. CatDan in {
- +To abstract over gender names, we define the following identifiers. @@ -134,10 +120,11 @@ To abstract over case names, we define the following. Prepositions used in many-argument functions are just strings.
- Preposition : Type = Str ; + mkPrep : Str -> Prep ; + noPrep : Prep ; -- empty string- +
Worst case: give all four forms. The gender is computed from the @@ -180,19 +167,19 @@ indefinite mk3N : (bil,bilen,biler : Str) -> N ;
- +All the functions above work quite as well to form compound nouns, such as fotboll.
- +Relational nouns (daughter of x) need a preposition.
- mkN2 : N -> Preposition -> N2 ; + mkN2 : N -> Prep -> N2 ;
@@ -204,17 +191,18 @@ shortcut for regular, nonhuman relational nouns with av.
-Use the function mkPreposition or see the section on prepositions below to
+Use the function mkPrep or see the section on prepositions below to
form other prepositions.
-Three-place relational nouns (the connection from x to y) need two prepositions. +Three-place relational nouns (the connection from x to y) +need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ; + mkN3 : N -> Prep -> Prep -> N3 ;- +
In some cases, you may want to make a complex CN into a
@@ -222,13 +210,14 @@ relational noun (e.g. the old town hall of). However, N2 and
N3 are purely lexical categories. But you can use the AdvCN
and PrepNP constructions to build phrases like this.
Proper names, with a regular genitive, are formed as follows
- regPN : Str -> Gender -> PN ; -- John, John's + mkPN : Str -> Gender -> PN ; -- Paris neutrum + regPN : Str -> PN ; -- utrum gender
@@ -246,7 +235,7 @@ genitive, you can use the worst-case function. mkNP : Str -> Str -> Number -> Gender -> NP ;
- +Non-comparison one-place adjectives need three forms: @@ -269,13 +258,13 @@ In most cases, two forms are enough. mk2A : (stor,stort : Str) -> A ;
- +Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ; + mkA2 : A -> Prep -> A2 ;
@@ -316,7 +305,7 @@ long adjective, the following pattern is used: compoundA : A -> A ; -- -/mer/mest norsk
- +Adverbs are not inflected. Most lexical ones have position @@ -334,16 +323,7 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;
- --A preposition is just a string. -
-- mkPreposition : Str -> Preposition ; -- - +
The worst case needs six forms. @@ -374,7 +354,7 @@ In practice, it is enough to give three forms, as in school books. irregV : (drikke, drakk, drukket : Str) -> V ;
- +By default, the auxiliary is have. This function changes it to være. @@ -383,7 +363,7 @@ By default, the auxiliary is have. This function changes it to v vaereV : V -> V ;
- +The particle, such as in switch on, is given as a string. @@ -392,7 +372,7 @@ The particle, such as in switch on, is given as a string. partV : V -> Str -> V ;
- +Some words are used in passive forms only, e.g. hoppas, some as @@ -403,31 +383,31 @@ reflexive e.g. reflV : V -> V ;
- +
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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
-
+
Three-place (ditransitive) verbs need two prepositions, of which the first one or both can be absent.
- mkV3 : V -> Str -> Str -> V3 ; -- speak, with, about
- dirV3 : V -> Str -> V3 ; -- give,_,to
+ mkV3 : V -> Prep -> Prep -> V3 ; -- speak, with, about
+ dirV3 : V -> Prep -> V3 ; -- give,_,to
dirdirV3 : V -> V3 ; -- give,_,_
-
+
Verbs and adjectives can take complements such as sentences, @@ -436,18 +416,18 @@ questions, verb phrases, and adjectives.
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Str -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
- mkV2V : V -> Str -> Str -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Str -> V2A ;
+ mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Str -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Str -> A2S ;
+ mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
- mkA2V : A -> Str -> A2V ;
+ mkA2V : A -> Prep -> A2V ;
@@ -461,12 +441,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.
AS, A2S, AV, A2V : Type ;
-The definitions should not bother the user of the API. So they are -hidden from the document. -
diff --git a/resource-1.0/doc/gfdoc/ParadigmsEng.html b/resource-1.0/doc/gfdoc/ParadigmsEng.html index 8d3ba8d2..884d264f 100644 --- a/resource-1.0/doc/gfdoc/ParadigmsEng.html +++ b/resource-1.0/doc/gfdoc/ParadigmsEng.html @@ -2,63 +2,50 @@ +-Author: -Last update: Tue Jun 13 11:42:42 2006 -
-Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-== -
--# -path=.:../abstract:../../prelude:../common -
- -Aarne Ranta 2003--2005
@@ -97,7 +84,7 @@ The following modules are presupposed: in {
- +To abstract over gender names, we define the following identifiers. @@ -133,12 +120,9 @@ To abstract over case names, we define the following.
Prepositions are used in many-argument functions for rection.
+The resource category Prep is used.
- Preposition : Type ; -- - +
Worst case: give all four forms and the semantic gender. @@ -172,7 +156,7 @@ function: genderN : Gender -> N -> N ;
- +A compound noun ia an uninflected string attached to an inflected noun, @@ -182,13 +166,13 @@ such as baby boom, chief executive officer. compoundN : Str -> N -> N ;
- +Relational nouns (daughter of x) need a preposition.
- mkN2 : N -> Preposition -> N2 ; + mkN2 : N -> Prep -> N2 ;
@@ -200,34 +184,35 @@ shortcut for regular relational nouns with of.
-Use the function mkPreposition or see the section on prepositions below to
+Use the function mkPrep or see the section on prepositions below to
form other prepositions.
Three-place relational nouns (the connection from x to y) need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ; + mkN3 : N -> Prep -> Prep -> N3 ;- +
In some cases, you may want to make a complex CN into a
relational noun (e.g. the old town hall of).
- cnN2 : CN -> Preposition -> N2 ; - cnN3 : CN -> Preposition -> Preposition -> N3 ; + cnN2 : CN -> Prep -> N2 ; + cnN3 : CN -> Prep -> Prep -> N3 ;- +
Proper names, with a regular genitive, are formed as follows
- regPN : Str -> Gender -> PN ; -- John, John's + regPN : Str -> PN ; + regGenPN : Str -> Gender -> PN ; -- John, John's
@@ -245,7 +230,7 @@ genitive, you can use the worst-case function. mkNP : Str -> Str -> Number -> Gender -> NP ;
- +Non-comparison one-place adjectives need two forms: one for @@ -263,13 +248,13 @@ even for cases with the variation happy - happily. regA : Str -> A ;
- +Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ; + mkA2 : A -> Prep -> A2 ;
@@ -313,7 +298,7 @@ From a given ADeg, it is possible to get back to A.
adegA : ADeg -> A ;
Adverbs are not inflected. Most lexical ones have position @@ -331,21 +316,21 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;
- +
A preposition as used for rection in the lexicon, as well as to
build PPs in the resource API, just requires a string.
- mkPreposition : Str -> Preposition ; - mkPrep : Str -> Prep ; + mkPrep : Str -> Prep ; + noPrep : Prep ;
(These two functions are synonyms.)
- +Except for be, the worst case needs five forms: the infinitive and @@ -384,7 +369,7 @@ duplication in the present participle. irregDuplV : (get, got, gotten : Str) -> V ;
- +The particle, such as in switch on, is given as a string. @@ -393,7 +378,7 @@ The particle, such as in switch on, is given as a string. partV : V -> Str -> V ;
- +By default, verbs are not reflexive; this function makes them that. @@ -402,31 +387,31 @@ By default, verbs are not reflexive; this function makes them that. reflV : V -> V ;
- +
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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
-
+
Three-place (ditransitive) verbs need two prepositions, of which the first one or both can be absent.
- mkV3 : V -> Preposition -> Preposition -> V3 ; -- speak, with, about - dirV3 : V -> Preposition -> V3 ; -- give,_,to - dirdirV3 : V -> V3 ; -- give,_,_ + mkV3 : V -> Prep -> Prep -> V3 ; -- speak, with, about + dirV3 : V -> Prep -> V3 ; -- give,_,to + dirdirV3 : V -> V3 ; -- give,_,_- +
Verbs and adjectives can take complements such as sentences, @@ -435,18 +420,18 @@ questions, verb phrases, and adjectives.
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Str -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
- mkV2V : V -> Str -> Str -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Str -> V2A ;
+ mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Str -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Str -> A2S ;
+ mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
- mkA2V : A -> Str -> A2V ;
+ mkA2V : A -> Prep -> A2V ;
@@ -460,12 +445,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.
AS, A2S, AV, A2V : Type ;
-The definitions should not bother the user of the API. So they are -hidden from the document. -
diff --git a/resource-1.0/doc/gfdoc/ParadigmsFin.html b/resource-1.0/doc/gfdoc/ParadigmsFin.html index f7922bc5..dd81e391 100644 --- a/resource-1.0/doc/gfdoc/ParadigmsFin.html +++ b/resource-1.0/doc/gfdoc/ParadigmsFin.html @@ -2,48 +2,36 @@ +-Author: -Last update: Tue Jun 13 11:42:42 2006 -
-Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-== -
--# -path=.:../abstract:../common:../../prelude -
- -Aarne Ranta 2003--2005
@@ -89,7 +77,7 @@ flags optimize=all ; flags optimize=noexpand ;
- +To abstract over gender, number, and (some) case names, @@ -129,7 +117,7 @@ just a case, or a pre/postposition and a case. casePrep : Case -> Prep ; -- adessive
- +The worst case gives ten forms and the semantic gender. @@ -325,11 +313,12 @@ 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 ;
-
+
Non-comparison one-place adjectives are just like nouns.
@@ -361,7 +350,7 @@ The regular adjectives are based on regN in the positive.
regA : (punainen : Str) -> A ;
The grammar does not cover the potential mood and some nominal
@@ -467,7 +456,7 @@ But this is taken care of by ClauseFin.
dirV2 : V -> V2 ;
Three-place (ditransitive) verbs need two prepositions, of which @@ -479,7 +468,7 @@ the first one or both can be absent. dirdirV3 : V -> V3 ; -- acc, allat
- +
Verbs and adjectives can take complements such as sentences,
@@ -513,10 +502,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.
AS, A2S, AV, A2V : Type ;
-The definitions should not bother the user of the API. So they are -hidden from the document. -
diff --git a/resource-1.0/doc/gfdoc/ParadigmsFre.html b/resource-1.0/doc/gfdoc/ParadigmsFre.html index 51c1b1fc..58847f94 100644 --- a/resource-1.0/doc/gfdoc/ParadigmsFre.html +++ b/resource-1.0/doc/gfdoc/ParadigmsFre.html @@ -2,61 +2,48 @@ +-Author: -Last update: Tue Jun 13 11:42:43 2006 -
-Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-== -
--# -path=.:../romance:../common:../abstract:../../prelude -
- -Aarne Ranta 2003
@@ -96,7 +83,7 @@ words. flags optimize=all ;
- +To abstract over gender names, we define the following identifiers. @@ -126,16 +113,14 @@ amalgamate with the following word (the 'genitive' de and the 'dative' à).
- Preposition : Type ;
+ accusative : Prep ;
+ genitive : Prep ;
+ dative : Prep ;
- accusative : Preposition ;
- genitive : Preposition ;
- dative : Preposition ;
-
- mkPreposition : Str -> Preposition ;
+ mkPrep : Str -> Prep ;
-
+
Worst case: give both two forms and the gender. @@ -165,7 +150,7 @@ Adding gender information widens the scope of the foregoing function. regGenN : Str -> Gender -> N ;
- +Some nouns are ones where the first part is inflected as a noun but @@ -177,13 +162,13 @@ they are frequent in lexica. compN : N -> Str -> N ;
- +Relational nouns (fille de x) need a case and a preposition.
- mkN2 : N -> Preposition -> N2 ; + mkN2 : N -> Prep -> N2 ;
@@ -199,10 +184,10 @@ with the empty preposition. Three-place relational nouns (la connection de x à y) need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ; + mkN3 : N -> Prep -> Prep -> N3 ;- +
In some cases, you may want to make a complex CN into a
@@ -210,13 +195,15 @@ relational noun (e.g. the old town hall of). However, N2 and
N3 are purely lexical categories. But you can use the AdvCN
and PrepNP constructions to build phrases like this.
Proper names need a string and a gender.
- mkPN : Str -> Gender -> PN ; -- Jean + mkPN : Str -> Gender -> PN ; -- Jean + + regPN : Str -> PN ; -- masculine
@@ -227,7 +214,7 @@ you can use the worst-case function. mkNP : Str -> Gender -> Number -> NP ;
- +Non-comparison one-place adjectives need four forms in the worst @@ -258,16 +245,16 @@ provided. prefA : A -> A ;
- +Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ; + mkA2 : A -> Prep -> A2 ;- +
Comparison adjectives are in the worst case put up from two @@ -293,7 +280,7 @@ provided. prefA : A -> A ;
- +Adverbs are not inflected. Most lexical ones have position @@ -317,7 +304,7 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;
- +
Irregular verbs are given in the module VerbsFre.
@@ -354,14 +341,14 @@ To change it to
reflV : V -> V ;
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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -373,19 +360,19 @@ You can reuse a V2 verb in V.
v2V : V2 -> V ;
-
+
Three-place (ditransitive) verbs need two prepositions, of which the first one or both can be absent.
- mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de - dirV3 : V -> Preposition -> V3 ; -- donner,_,à - dirdirV3 : V -> V3 ; -- donner,_,_ + mkV3 : V -> Prep -> Prep -> V3 ; -- parler, à, de + dirV3 : V -> Prep -> V3 ; -- donner,_,à + dirdirV3 : V -> V3 ; -- donner,_,_- +
Verbs and adjectives can take complements such as sentences, @@ -394,20 +381,20 @@ questions, verb phrases, and adjectives.
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Preposition -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "je veux parler"
deVV : V -> VV ; -- "j'essaie de parler"
aVV : V -> VV ; -- "j'arrive à parler"
- mkV2V : V -> Preposition -> Preposition -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Preposition -> Preposition -> V2A ;
+ mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Preposition -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Preposition -> A2S ;
- mkAV : A -> Preposition -> AV ;
- mkA2V : A -> Preposition -> Preposition -> A2V ;
+ mkA2S : A -> Prep -> A2S ;
+ mkAV : A -> Prep -> AV ;
+ mkA2V : A -> Prep -> Prep -> A2V ;
@@ -421,12 +408,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.
AS, A2S, AV, A2V : Type ;
-The definitions should not bother the user of the API. So they are -hidden from the document. -
diff --git a/resource-1.0/doc/gfdoc/ParadigmsGer.html b/resource-1.0/doc/gfdoc/ParadigmsGer.html index ef042f88..e10d4a88 100644 --- a/resource-1.0/doc/gfdoc/ParadigmsGer.html +++ b/resource-1.0/doc/gfdoc/ParadigmsGer.html @@ -2,55 +2,42 @@ +-Author: -Last update: Tue Jun 13 11:42:43 2006 -
-Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-== -
--# -path=.:../common:../abstract:../../prelude -
- -Aarne Ranta & Harald Hammarström 2003--2006
@@ -86,7 +73,7 @@ words. in {
- +To abstract over gender names, we define the following identifiers. @@ -122,7 +109,7 @@ To abstract over number names, we define the following. plural : Number ;
- +Worst case: give all four singular forms, two plural forms (others + dative), @@ -172,7 +159,7 @@ Three-place relational nouns (die Verbindung von x nach y) need two prepo mkN3 : N -> Prep -> Prep -> N3 ;
- +Proper names, with a regular genitive, are formed as follows @@ -183,7 +170,7 @@ The regular genitive is s, omitted after s. regPN : (Johann : Str) -> PN ; -- Johann, Johanns ; Johannes, Johannes
- +Adjectives need three forms, one for each degree. @@ -214,7 +201,7 @@ Two-place adjectives are formed by adding a preposition to an adjective. mkA2 : A -> Prep -> A2 ;
- +Adverbs are just strings. @@ -223,7 +210,7 @@ Adverbs are just strings. mkAdv : Str -> Adv ;
- +A preposition is formed from a string and a case. @@ -249,7 +236,7 @@ A couple of common prepositions (always with the dative). zu_Prep : Prep ;
- +The worst-case constructor needs six forms: @@ -312,7 +299,7 @@ Reflexive verbs can take reflexive pronouns of different cases. reflV : V -> Case -> V ;
- +Two-place verbs need a preposition, except the special case with direct object @@ -325,7 +312,7 @@ Two-place verbs need a preposition, except the special case with direct object datV2 : V -> V2 ;
- +Three-place (ditransitive) verbs need two prepositions, of which @@ -337,7 +324,7 @@ the first one or both can be absent. accdatV3 : V -> V3 ; -- give,_,_
- +
Verbs and adjectives can take complements such as sentences,
@@ -371,12 +358,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.
AS, A2S, AV, A2V : Type ;
-The definitions should not bother the user of the API. So they are -hidden from the document. -
diff --git a/resource-1.0/doc/gfdoc/ParadigmsIta.html b/resource-1.0/doc/gfdoc/ParadigmsIta.html index a81f78bc..1b928060 100644 --- a/resource-1.0/doc/gfdoc/ParadigmsIta.html +++ b/resource-1.0/doc/gfdoc/ParadigmsIta.html @@ -2,61 +2,48 @@ +-Author: -Last update: Tue Jun 13 11:42:43 2006 -
-Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-== -
--# -path=.:../romance:../common:../abstract:../../prelude -
- -Aarne Ranta 2003
@@ -97,7 +84,7 @@ words. flags optimize=all ;
- +To abstract over gender names, we define the following identifiers. @@ -127,16 +114,16 @@ amalgamate with the following word (the 'genitive' de and the 'dative' à).
- Preposition : Type ;
+ Prep : Type ;
- accusative : Preposition ;
- genitive : Preposition ;
- dative : Preposition ;
+ accusative : Prep ;
+ genitive : Prep ;
+ dative : Prep ;
- mkPreposition : Str -> Preposition ;
+ mkPrep : Str -> Prep ;
-
+
Worst case: give both two forms and the gender. @@ -163,7 +150,7 @@ To force a different gender, use one of the following functions. femN : N -> N ;
- +Some nouns are ones where the first part is inflected as a noun but @@ -175,13 +162,13 @@ they are frequent in lexica. compN : N -> Str -> N ;
- +Relational nouns (figlio di x) need a case and a preposition.
- mkN2 : N -> Preposition -> N2 ; + mkN2 : N -> Prep -> N2 ;
@@ -197,10 +184,10 @@ with the empty preposition. Three-place relational nouns (la connessione di x a y) need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ; + mkN3 : N -> Prep -> Prep -> N3 ;- +
In some cases, you may want to make a complex CN into a
@@ -208,13 +195,14 @@ relational noun (e.g. the old town hall of). However, N2 and
N3 are purely lexical categories. But you can use the AdvCN
and PrepNP constructions to build phrases like this.
Proper names need a string and a gender.
- mkPN : Str -> Gender -> PN ; -- Jean + mkPN : Str -> Gender -> PN ; + regPN : Str -> PN ; -- masculine
@@ -225,7 +213,7 @@ you can use the worst-case function. mkNP : Str -> Gender -> Number -> NP ;
- +Non-comparison one-place adjectives need five forms in the worst @@ -253,16 +241,16 @@ provided. prefA : A -> A ;
- +Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ; + mkA2 : A -> Prep -> A2 ;- +
Comparison adjectives are in the worst case put up from two @@ -288,7 +276,7 @@ with comparison by plus. regADeg : Str -> A ;
- +Adverbs are not inflected. Most lexical ones have position @@ -312,7 +300,7 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;
- +Regular verbs are ones with the infinitive er or ir, the @@ -343,14 +331,14 @@ Reflexive implies essere. reflV : V -> V ;
- +
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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -362,19 +350,19 @@ You can reuse a V2 verb in V.
v2V : V2 -> V ;
-
+
Three-place (ditransitive) verbs need two prepositions, of which the first one or both can be absent.
- mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de - dirV3 : V -> Preposition -> V3 ; -- donner,_,à - dirdirV3 : V -> V3 ; -- donner,_,_ + mkV3 : V -> Prep -> Prep -> V3 ; -- parlare, a, di + dirV3 : V -> Prep -> V3 ; -- dare,_,a + dirdirV3 : V -> V3 ; -- dare,_,_- +
Verbs and adjectives can take complements such as sentences, @@ -383,20 +371,20 @@ questions, verb phrases, and adjectives.
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Preposition -> V2S ;
- mkVV : V -> VV ; -- plain infinitive: "je veux parler"
- deVV : V -> VV ; -- "j'essaie de parler"
- aVV : V -> VV ; -- "j'arrive à parler"
- mkV2V : V -> Preposition -> Preposition -> V2V ;
+ mkV2S : V -> Prep -> V2S ;
+ mkVV : V -> VV ; -- plain infinitive: "voglio parlare"
+ deVV : V -> VV ; -- "cerco di parlare"
+ aVV : V -> VV ; -- "arrivo a parlare"
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Preposition -> Preposition -> V2A ;
+ mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Preposition -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Preposition -> A2S ;
- mkAV : A -> Preposition -> AV ;
- mkA2V : A -> Preposition -> Preposition -> A2V ;
+ mkA2S : A -> Prep -> A2S ;
+ mkAV : A -> Prep -> AV ;
+ mkA2V : A -> Prep -> Prep -> A2V ;
@@ -410,12 +398,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.
AS, A2S, AV, A2V : Type ;
-The definitions should not bother the user of the API. So they are -hidden from the document. -
diff --git a/resource-1.0/doc/gfdoc/ParadigmsNor.html b/resource-1.0/doc/gfdoc/ParadigmsNor.html index 9608ffdb..22f67f43 100644 --- a/resource-1.0/doc/gfdoc/ParadigmsNor.html +++ b/resource-1.0/doc/gfdoc/ParadigmsNor.html @@ -2,64 +2,50 @@ +-Author: -Last update: Tue Jun 13 11:42:43 2006 -
-Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-== -
--# -path=.:../scandinavian:../common:../abstract:../../prelude -
- -Aarne Ranta 2003
@@ -97,7 +83,7 @@ words. CatNor in {
- +To abstract over gender names, we define the following identifiers. @@ -135,10 +121,11 @@ To abstract over case names, we define the following. Prepositions used in many-argument functions are just strings.
- Preposition : Type = Str ; + mkPrep : Str -> Prep ; + noPrep : Prep ; -- empty string- +
Worst case: give all four forms. The gender is computed from the @@ -174,19 +161,19 @@ gender is computed from the definite form. mk2N : (bil,bilen : Str) -> N ;
- +All the functions above work quite as well to form compound nouns, such as fotboll.
- +Relational nouns (daughter of x) need a preposition.
- mkN2 : N -> Preposition -> N2 ; + mkN2 : N -> Prep -> N2 ;
@@ -198,17 +185,17 @@ shortcut for regular, nonhuman relational nouns with av.
-Use the function mkPreposition or see the section on prepositions below to
+Use the function mkPrep or see the section on prepositions below to
form other prepositions.
Three-place relational nouns (the connection from x to y) need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ; + mkN3 : N -> Prep -> Prep -> N3 ;- +
In some cases, you may want to make a complex CN into a
@@ -216,13 +203,14 @@ relational noun (e.g. the old town hall of). However, N2 and
N3 are purely lexical categories. But you can use the AdvCN
and PrepNP constructions to build phrases like this.
Proper names, with a regular genitive, are formed as follows
- regPN : Str -> Gender -> PN ; -- John, John's + regPN : Str -> PN ; -- utrum + regGenPN : Str -> Gender -> PN ;
@@ -240,7 +228,7 @@ genitive, you can use the worst-case function. mkNP : Str -> Str -> Number -> Gender -> NP ;
- +Non-comparison one-place adjectives need three forms: @@ -263,13 +251,13 @@ In most cases, two forms are enough. mk2A : (stor,stort : Str) -> A ;
- +Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ; + mkA2 : A -> Prep -> A2 ;
@@ -310,7 +298,7 @@ long adjective, the following pattern is used: compoundA : A -> A ; -- -/mer/mest norsk
- +Adverbs are not inflected. Most lexical ones have position @@ -328,16 +316,7 @@ Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA ;
- --A preposition is just a string. -
-- mkPreposition : Str -> Preposition ; -- - +
The worst case needs six forms. @@ -368,7 +347,7 @@ In practice, it is enough to give three forms, as in school books. irregV : (drikke, drakk, drukket : Str) -> V ;
- +By default, the auxiliary is have. This function changes it to være. @@ -377,7 +356,7 @@ By default, the auxiliary is have. This function changes it to v vaereV : V -> V ;
- +The particle, such as in switch on, is given as a string. @@ -386,7 +365,7 @@ The particle, such as in switch on, is given as a string. partV : V -> Str -> V ;
- +Some words are used in passive forms only, e.g. hoppas, some as @@ -397,31 +376,31 @@ reflexive e.g. reflV : V -> V ;
- +
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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
-
+
Three-place (ditransitive) verbs need two prepositions, of which the first one or both can be absent.
- mkV3 : V -> Str -> Str -> V3 ; -- speak, with, about - dirV3 : V -> Str -> V3 ; -- give,_,to - dirdirV3 : V -> V3 ; -- give,_,_ + mkV3 : V -> Prep -> Prep -> V3 ; -- speak, with, about + dirV3 : V -> Prep -> V3 ; -- give,_,to + dirdirV3 : V -> V3 ; -- give,_,_- +
Verbs and adjectives can take complements such as sentences, @@ -430,18 +409,18 @@ questions, verb phrases, and adjectives.
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Str -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
- mkV2V : V -> Str -> Str -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Str -> V2A ;
+ mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Str -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Str -> A2S ;
+ mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
- mkA2V : A -> Str -> A2V ;
+ mkA2V : A -> Prep -> A2V ;
@@ -455,12 +434,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.
AS, A2S, AV, A2V : Type ;
-The definitions should not bother the user of the API. So they are -hidden from the document. -
diff --git a/resource-1.0/doc/gfdoc/ParadigmsRus.html b/resource-1.0/doc/gfdoc/ParadigmsRus.html index 97d85fbf..db97b8cd 100644 --- a/resource-1.0/doc/gfdoc/ParadigmsRus.html +++ b/resource-1.0/doc/gfdoc/ParadigmsRus.html @@ -2,45 +2,33 @@ +-Author: -Last update: Tue Jun 13 11:42:43 2006 -
-Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-== -
--# -path=.:../abstract:../../prelude:../common -
- -Janna Khegai 2003--2005
@@ -82,7 +70,7 @@ The following modules are presupposed: flags coding=utf8 ;
- +To abstract over gender names, we define the following identifiers. @@ -122,7 +110,7 @@ To abstract over number names, we define the following. plural : Number ;
- +Best case: indeclinabe nouns: кофе, пальто, ВУЗ. @@ -221,6 +209,7 @@ Proper names.
mkPN : Str -> Gender -> Animacy -> PN ; -- "Иван", "Маша"
+ regPN : Str -> PN ;
nounPN : N -> PN ;
@@ -233,7 +222,7 @@ On the top level, it is maybe CN that is used rather than N
mkNP : Str -> Gender -> Animacy -> NP ;
-
+
Adjectives
Non-comparison (only positive degree) one-place adjectives need 28 (4 by 7)
@@ -297,7 +286,7 @@ On top level, there are adjectival phrases. The most common case is
just to use a one-place adjective.
ap : A -> IsPostfixAdj -> AP ;
-
+
Adverbs
Adverbs are not inflected. Most lexical ones have position
@@ -307,7 +296,7 @@ after the verb. Some can be preverbal (e.g. always).
mkAdv : Str -> Adv ;
-
+
Verbs
In our lexicon description (Verbum) there are 62 forms:
@@ -395,10 +384,6 @@ a particle can be included in a V.
tvDirDir : V -> V3 ;
-
-The definitions should not bother the user of the API. So they are
-hidden from the document.
-
diff --git a/resource-1.0/doc/gfdoc/ParadigmsSpa.html b/resource-1.0/doc/gfdoc/ParadigmsSpa.html
index f4ea81d3..7374df77 100644
--- a/resource-1.0/doc/gfdoc/ParadigmsSpa.html
+++ b/resource-1.0/doc/gfdoc/ParadigmsSpa.html
@@ -2,61 +2,48 @@
+ Spanish Lexical Paradigms
+ Spanish Lexical Paradigms
+Last update: 2006-06-15 16:29:51 CEST
-
- - Spanish Lexical Paradigms
- - Parameters
-
- Nouns
+
- Parameters
+
- Nouns
-
- Adjectives
+
- Adjectives
-
- Adverbs
-
- Verbs
+
- Adverbs
+
- Verbs
-
- The definitions of the paradigms
-
-Author:
-Last update: Tue Jun 13 11:42:43 2006
-
-
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-==
-
-
-# -path=.:../romance:../common:../abstract:../../prelude
-
-
-Spanish Lexical Paradigms
-
Aarne Ranta 2003
@@ -94,7 +81,7 @@ escape to construct the most irregular words of type C.
flags optimize=all ;
-
+
Parameters
To abstract over gender names, we define the following identifiers.
@@ -124,16 +111,16 @@ amalgamate with the following word (the 'genitive' de and the
'dative' à).
- Preposition : Type ;
+ Prep : Type ;
- accusative : Preposition ;
- genitive : Preposition ;
- dative : Preposition ;
+ accusative : Prep ;
+ genitive : Prep ;
+ dative : Prep ;
- mkPreposition : Str -> Preposition ;
+ mkPrep : Str -> Prep ;
-
+
Nouns
Worst case: two forms (singular + plural),
@@ -164,7 +151,7 @@ To force a different gender, use one of the following functions.
femN : N -> N ;
-
+
Compound nouns
Some nouns are ones where the first part is inflected as a noun but
@@ -176,13 +163,13 @@ they are frequent in lexica.
compN : N -> Str -> N ;
-
+
Relational nouns
Relational nouns (fille de x) need a case and a preposition.
- mkN2 : N -> Preposition -> N2 ;
+ mkN2 : N -> Prep -> N2 ;
@@ -198,10 +185,10 @@ with the empty preposition.
Three-place relational nouns (la connessione di x a y) need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ;
+ mkN3 : N -> Prep -> Prep -> N3 ;
-
+
Relational common noun phrases
In some cases, you may want to make a complex CN into a
@@ -209,13 +196,14 @@ relational noun (e.g. the old town hall of). 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.
- mkPN : Str -> Gender -> PN ; -- Jean
+ mkPN : Str -> Gender -> PN ; -- Jean
+ regPN : Str -> PN ; -- masculine
@@ -226,7 +214,7 @@ you can use the worst-case function.
mkNP : Str -> Gender -> Number -> NP ;
-
+
Adjectives
Non-comparison one-place adjectives need five forms in the worst
@@ -255,16 +243,16 @@ provided.
prefA : A -> A ;
-
+
Two-place adjectives
Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ;
+ mkA2 : A -> Prep -> A2 ;
-
+
Comparison adjectives
Comparison adjectives are in the worst case put up from two
@@ -290,7 +278,7 @@ with comparison by mas.
regADeg : Str -> A ;
-
+
Adverbs
Adverbs are not inflected. Most lexical ones have position
@@ -314,7 +302,7 @@ Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -> AdA ;
-
+
Verbs
Regular verbs are ones inflected like cortar, deber, or vivir.
@@ -350,14 +338,14 @@ in masculine singular form as second argument.
special_ppV : V -> 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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -369,19 +357,19 @@ 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 -> Preposition -> Preposition -> V3 ; -- parler, à, de
- dirV3 : V -> Preposition -> V3 ; -- donner,_,à
- dirdirV3 : V -> V3 ; -- donner,_,_
+ mkV3 : V -> Prep -> Prep -> V3 ; -- parler, à, de
+ dirV3 : V -> Prep -> V3 ; -- donner,_,à
+ dirdirV3 : V -> V3 ; -- donner,_,_
-
+
Other complement patterns
Verbs and adjectives can take complements such as sentences,
@@ -390,20 +378,20 @@ questions, verb phrases, and adjectives.
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Preposition -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "je veux parler"
deVV : V -> VV ; -- "j'essaie de parler"
aVV : V -> VV ; -- "j'arrive à parler"
- mkV2V : V -> Preposition -> Preposition -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Preposition -> Preposition -> V2A ;
+ mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Preposition -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Preposition -> A2S ;
- mkAV : A -> Preposition -> AV ;
- mkA2V : A -> Preposition -> Preposition -> A2V ;
+ mkA2S : A -> Prep -> A2S ;
+ mkAV : A -> Prep -> AV ;
+ mkA2V : A -> Prep -> Prep -> A2V ;
@@ -417,12 +405,6 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.
AS, A2S, AV, A2V : Type ;
-
-The definitions of the paradigms
-
-The definitions should not bother the user of the API. So they are
-hidden from the document.
-
diff --git a/resource-1.0/doc/gfdoc/ParadigmsSwe.html b/resource-1.0/doc/gfdoc/ParadigmsSwe.html
index 662e8042..8e2cf156 100644
--- a/resource-1.0/doc/gfdoc/ParadigmsSwe.html
+++ b/resource-1.0/doc/gfdoc/ParadigmsSwe.html
@@ -2,63 +2,50 @@
+ Swedish Lexical Paradigms
+ Swedish Lexical Paradigms
+Last update: 2006-06-15 16:03:55 CEST
-
- - Swedish Lexical Paradigms
- - Parameters
-
- Nouns
+
- Parameters
+
- Nouns
-
- Adjectives
+
- Adjectives
-
- Adverbs
-
- Prepositions
-
- Verbs
+
- Adverbs
+
- Verbs
-
- Definitions of the paradigms
+
- Definitions of the paradigms
-
-Author:
-Last update: Tue Jun 13 11:42:44 2006
-
-
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-==
-
-
-# -path=.:../scandinavian:../common:../abstract:../../prelude
-
-
-Swedish Lexical Paradigms
-
Aarne Ranta 2003
@@ -96,7 +83,7 @@ words.
CatSwe in {
-
+
Parameters
To abstract over gender names, we define the following identifiers.
@@ -133,10 +120,11 @@ To abstract over case names, we define the following.
Prepositions used in many-argument functions are just strings.
- Preposition : Type = Str ;
+ mkPrep : Str -> Prep ;
+ noPrep : Prep ; -- empty string
-
+
Nouns
Worst case: give all four forms. The gender is computed from the
@@ -179,19 +167,19 @@ It does not work if there are changes in the stem.
mk1N : (bilarna : Str) -> N ;
-
+
Compound nouns
All the functions above work quite as well to form compound nouns,
such as fotboll.
-
+
Relational nouns
Relational nouns (daughter of x) need a preposition.
- mkN2 : N -> Preposition -> N2 ;
+ mkN2 : N -> Prep -> N2 ;
@@ -210,10 +198,10 @@ form other prepositions.
Three-place relational nouns (the connection from x to y) need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ;
+ mkN3 : N -> Prep -> Prep -> N3 ;
-
+
Relational common noun phrases
In some cases, you may want to make a complex CN into a
@@ -221,13 +209,14 @@ relational noun (e.g. the old town hall of). 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, with a regular genitive, are formed as follows
- regPN : Str -> Gender -> PN ; -- John, John's
+ regGenPN : Str -> Gender -> PN ;
+ regPN : Str -> PN ; -- utrum
@@ -245,7 +234,7 @@ genitive, you can use the worst-case function.
mkNP : Str -> Str -> Number -> Gender -> NP ;
-
+
Adjectives
Adjectives may need as many as seven forms.
@@ -284,16 +273,16 @@ Comparison forms may be compound (mera svensk - mest svensk).
compoundA : A -> A ;
-
+
Two-place adjectives
Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ;
+ mkA2 : A -> Prep -> A2 ;
-
+
Adverbs
Adverbs are not inflected. Most lexical ones have position
@@ -311,16 +300,7 @@ Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -> AdA ;
-
-Prepositions
-
-A preposition is just a string.
-
-
- mkPreposition : Str -> Preposition ;
-
-
-
+
Verbs
The worst case needs five forms.
@@ -358,7 +338,7 @@ In practice, it is enough to give three forms, as in school books.
irregV : (dricka, drack, druckit : Str) -> V ;
-
+
Verbs with a particle.
The particle, such as in passa på, is given as a string.
@@ -367,7 +347,7 @@ The particle, such as in passa p
partV : V -> Str -> V ;
-
+
Deponent verbs.
Some words are used in passive forms only, e.g. hoppas, some as
@@ -378,31 +358,31 @@ reflexive e.g.
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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
-
+
Three-place verbs
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
- mkV3 : V -> Preposition -> Preposition -> V3 ; -- tala med om
- dirV3 : V -> Preposition -> V3 ; -- ge _ till
+ mkV3 : V -> Prep -> Prep -> V3 ; -- tala med om
+ dirV3 : V -> Prep -> V3 ; -- ge _ till
dirdirV3 : V -> V3 ; -- ge _ _
-
+
Other complement patterns
Verbs and adjectives can take complements such as sentences,
@@ -411,18 +391,18 @@ questions, verb phrases, and adjectives.
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Str -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
- mkV2V : V -> Str -> Str -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Str -> V2A ;
+ mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Str -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Str -> A2S ;
+ mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
- mkA2V : A -> Str -> A2V ;
+ mkA2V : A -> Prep -> A2V ;
@@ -436,7 +416,7 @@ as an adverb. Likewise AS, A2S, AV, A2V are just A.
AS, A2S, AV, A2V : Type ;
-
+
Definitions of the paradigms
The definitions should not bother the user of the API. So they are
diff --git a/resource-1.0/doc/gfdoc/Phrase.html b/resource-1.0/doc/gfdoc/Phrase.html
index 7102c652..bc9bae55 100644
--- a/resource-1.0/doc/gfdoc/Phrase.html
+++ b/resource-1.0/doc/gfdoc/Phrase.html
@@ -2,21 +2,16 @@
- Phrases and utterances
+ Phrase: Phrases and Utterances
- Phrases and utterances
+ Phrase: Phrases and Utterances
-Author:
-Last update: Tue Jun 13 11:42:40 2006
+Last update: 2006-06-15 09:19:39 CEST
-
-
@@ -25,8 +20,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Phrases and utterances
abstract Phrase = Cat ** {
diff --git a/resource-1.0/doc/gfdoc/Precedence.html b/resource-1.0/doc/gfdoc/Precedence.html
index 378255b7..63b42152 100644
--- a/resource-1.0/doc/gfdoc/Precedence.html
+++ b/resource-1.0/doc/gfdoc/Precedence.html
@@ -13,8 +13,7 @@
-Author:
-Last update: Tue Jun 13 11:42:45 2006
+Last update: 2005-11-23 09:16:18 CET
Produced by
@@ -22,9 +21,6 @@ gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-==
-
-
operations for precedence-dependent strings.
five levels:
p4 (constants), p3 (applications), p2 (products), p1 (sums), p0 (arrows)
diff --git a/resource-1.0/doc/gfdoc/Predef.html b/resource-1.0/doc/gfdoc/Predef.html
index 3256d722..60a36d44 100644
--- a/resource-1.0/doc/gfdoc/Predef.html
+++ b/resource-1.0/doc/gfdoc/Predef.html
@@ -6,17 +6,12 @@
Predefined functions for concrete syntax
-Author:
-Last update: Tue Jun 13 11:42:45 2006
+Last update: 2006-02-27 09:41:31 CET
-
-
@@ -25,8 +20,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Predefined functions for concrete syntax
The definitions of these constants are hard-coded in GF, and defined
in AppPredefined.hs. Applying
diff --git a/resource-1.0/doc/gfdoc/PredefAbs.html b/resource-1.0/doc/gfdoc/PredefAbs.html
index 393042e4..8bd03dae 100644
--- a/resource-1.0/doc/gfdoc/PredefAbs.html
+++ b/resource-1.0/doc/gfdoc/PredefAbs.html
@@ -13,17 +13,13 @@
-Author:
-Last update: Tue Jun 13 11:42:45 2006
+Last update: 2006-06-02 17:49:44 CEST
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-==
-
abstract PredefAbs = {
cat Int ; String ; Float ;
diff --git a/resource-1.0/doc/gfdoc/Predication.html b/resource-1.0/doc/gfdoc/Predication.html
index a1c9022b..3278694a 100644
--- a/resource-1.0/doc/gfdoc/Predication.html
+++ b/resource-1.0/doc/gfdoc/Predication.html
@@ -6,24 +6,20 @@
A Small Predication Library
-Author:
-Last update: Tue Jun 13 11:42:44 2006
+Last update: 2006-02-28 09:26:58 CET
-
- - A Small Predication Library
- - The category of atomic sentences
-
- Predication patterns.
-
- Imperatives and infinitives.
-
- Individual-valued function applications
-
- Families of types
-
- Type constructor
+
- The category of atomic sentences
+
- Predication patterns.
+
- Imperatives and infinitives.
+
- Individual-valued function applications
+
- Families of types
+
- Type constructor
-
@@ -33,8 +29,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-A Small Predication Library
(c) Aarne Ranta 2003-2006 under Gnu GPL.
@@ -46,7 +40,7 @@ API of resource grammars.
abstract Predication = Cat ** {
-
+
The category of atomic sentences
We want to use sentences in positive and negative forms but do not care about
@@ -58,7 +52,7 @@ tenses.
NegCl : Cl -> S ; -- negative sentence: "x doesn't intersect y"
-
+
Predication patterns.
predV : V -> NP -> Cl ; -- one-place verb: "x converges"
@@ -76,14 +70,14 @@ tenses.
predPrep : Prep -> NP -> NP -> Cl ; -- preposition: "x is outside y"
-
+
Imperatives and infinitives.
impV2 : V2 -> NP -> Phr ; -- imperative: "solve the equation E"
infV2 : V2 -> NP -> Phr ; -- infinitive: "to solve the equation E"
-
+
Individual-valued function applications
appN2 : N2 -> NP -> NP ; -- one-place function: "the successor of x"
@@ -91,7 +85,7 @@ tenses.
appColl : N2 -> NP -> NP -> NP ; -- collective function: "the sum of x and y"
-
+
Families of types
These are expressed by relational nouns applied to arguments.
@@ -102,7 +96,7 @@ These are expressed by relational nouns applied to arguments.
famColl : N2 -> NP -> NP -> CN ; -- collective family: "path between x and y"
-
+
Type constructor
This is similar to a family except that the argument is a type.
diff --git a/resource-1.0/doc/gfdoc/Prelude.html b/resource-1.0/doc/gfdoc/Prelude.html
index f354cecb..6f1bbde2 100644
--- a/resource-1.0/doc/gfdoc/Prelude.html
+++ b/resource-1.0/doc/gfdoc/Prelude.html
@@ -6,25 +6,21 @@
The GF Prelude
-Author:
-Last update: Tue Jun 13 11:42:46 2006
+Last update: 2006-02-27 09:41:31 CET
-
- - The GF Prelude
- - Strings, records, and tables
-
- Optional elements
-
- Infixes. prefixes, and postfixes
-
- Booleans
-
- High-level acces to Predef operations
-
- Lexer-related operations
-
- Miscellaneous
+
- Strings, records, and tables
+
- Optional elements
+
- Infixes. prefixes, and postfixes
+
- Booleans
+
- High-level acces to Predef operations
+
- Lexer-related operations
+
- Miscellaneous
-
@@ -34,8 +30,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-The GF Prelude
This file defines some prelude facilities usable in all grammars.
@@ -45,7 +39,7 @@ This file defines some prelude facilities usable in all grammars.
oper
-
+
Strings, records, and tables
SS : Type = {s : Str} ;
@@ -74,7 +68,7 @@ Discontinuous constituents.
sd2 : (_,_ : Str) -> SD2 = \x,y -> {s1 = x ; s2 = y} ;
-
+
Optional elements
Missing form.
@@ -106,7 +100,7 @@ Parametric order between two strings.
if_then_Str pr (x ++ y) (y ++ x) ;
-
+
Infixes. prefixes, and postfixes
Fixes with precedences are defined in Precedence.
@@ -118,7 +112,7 @@ Fixes with precedences are defined in Precedence.
embedSS : Str -> Str -> SS -> SS = \f,g,x -> ss (f ++ x.s ++ g) ;
-
+
Booleans
param Bool = True | False ;
@@ -154,7 +148,7 @@ Interface to internal booleans
last : Tok -> Tok = Predef.dp 1 ;
-
+
High-level acces to Predef operations
isNil : Tok -> Bool = \b -> pbool2bool (Predef.eqStr [] b) ;
@@ -163,7 +157,7 @@ Interface to internal booleans
case Predef.eqStr t u of {Predef.PTrue => a ; Predef.PFalse => b} ;
-
+
Lexer-related operations
Bind together two tokens in some lexers, either obligatorily or optionally
@@ -191,7 +185,7 @@ These should be hidden, and never changed since they are hardcoded in (un)lexers
CAPIT : Str = "&|" ;
-
+
Miscellaneous
Identity function
diff --git a/resource-1.0/doc/gfdoc/Question.html b/resource-1.0/doc/gfdoc/Question.html
index 2949564f..5c0446cb 100644
--- a/resource-1.0/doc/gfdoc/Question.html
+++ b/resource-1.0/doc/gfdoc/Question.html
@@ -2,21 +2,16 @@
- Questions and interrogative pronouns
+ Question: Questions and Interrogative Pronouns
- Questions and interrogative pronouns
+ Question: Questions and Interrogative Pronouns
-Author:
-Last update: Tue Jun 13 11:42:41 2006
+Last update: 2006-06-15 09:19:39 CEST
-
-
@@ -25,8 +20,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Questions and interrogative pronouns
abstract Question = Cat ** {
diff --git a/resource-1.0/doc/gfdoc/Relative.html b/resource-1.0/doc/gfdoc/Relative.html
index 0b200ef3..1ea23738 100644
--- a/resource-1.0/doc/gfdoc/Relative.html
+++ b/resource-1.0/doc/gfdoc/Relative.html
@@ -6,17 +6,12 @@
Relative clauses and pronouns
-Author:
-Last update: Tue Jun 13 11:42:41 2006
+Last update: 2006-01-25 12:10:58 CET
-
-
@@ -25,8 +20,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Relative clauses and pronouns
abstract Relative = Cat ** {
diff --git a/resource-1.0/doc/gfdoc/Sentence.html b/resource-1.0/doc/gfdoc/Sentence.html
index 1faac79e..2d2be7ee 100644
--- a/resource-1.0/doc/gfdoc/Sentence.html
+++ b/resource-1.0/doc/gfdoc/Sentence.html
@@ -2,27 +2,23 @@
- Sentences, clauses, imperatives, and sentential complements
+ Sentence: Sentences, Clauses, and Imperatives
- Sentences, clauses, imperatives, and sentential complements
+ Sentence: Sentences, Clauses, and Imperatives
-Author:
-Last update: Tue Jun 13 11:42:41 2006
+Last update: 2006-06-15 09:19:39 CEST
-
@@ -32,13 +28,11 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Sentences, clauses, imperatives, and sentential complements
abstract Sentence = Cat ** {
-
+
Clauses
The NP VP predication rule form a clause whose linearization
@@ -59,7 +53,7 @@ is only meaningful for some verb phrases.
PredSCVP : SC -> VP -> Cl ; -- that you go makes me happy
-
+
Clauses missing object noun phrases
This category is a variant of the 'slash category' S/NP of
@@ -77,7 +71,7 @@ the style of CCG.
SlashPrep : Cl -> Prep -> Slash ; -- (with whom) he walks
-
+
Imperatives
An imperative is straightforwardly formed from a verb phrase.
@@ -88,7 +82,7 @@ To fix these parameters, see Phrase.
ImpVP : VP -> Imp ; -- go
-
+
Embedded sentences
Sentences, questions, and infinitival phrases can be used as
@@ -100,7 +94,7 @@ subjects and (adverbial) complements.
EmbedVP : VP -> SC ; -- to go
-
+
Sentences
These are the 2 x 4 x 4 = 16 forms generated by different
diff --git a/resource-1.0/doc/gfdoc/Structural.html b/resource-1.0/doc/gfdoc/Structural.html
index 32650aec..f7c9c8a9 100644
--- a/resource-1.0/doc/gfdoc/Structural.html
+++ b/resource-1.0/doc/gfdoc/Structural.html
@@ -2,21 +2,16 @@
- GF Resource Grammar API for Structural Words
+ Structural: Structural Words
- GF Resource Grammar API for Structural Words
+ Structural: Structural Words
-Author:
-Last update: Tue Jun 13 11:42:41 2006
+Last update: 2006-06-15 09:19:39 CEST
-
-
@@ -25,11 +20,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-GF Resource Grammar API for Structural Words
-
-AR 21/11/2003 -- 30/11/2005
-
Here we have some words belonging to closed classes and appearing
in all languages we have considered.
diff --git a/resource-1.0/doc/gfdoc/Symbol.html b/resource-1.0/doc/gfdoc/Symbol.html
index 7e071431..5fef735c 100644
--- a/resource-1.0/doc/gfdoc/Symbol.html
+++ b/resource-1.0/doc/gfdoc/Symbol.html
@@ -6,21 +6,17 @@
Symbolic expressions
-Author:
-Last update: Tue Jun 13 11:42:44 2006
+Last update: 2006-03-17 14:11:37 CET
-
@@ -30,8 +26,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Symbolic expressions
Note. This module is not automatically included in the main
grammar Lang.
@@ -40,7 +34,7 @@ grammar Lang.
abstract Symbol = Cat, PredefAbs ** {
-
+
Noun phrases with symbols and numbers
fun
@@ -52,13 +46,13 @@ grammar Lang.
CNSymbNP : Det -> CN -> [Symb] -> NP ; -- (the) (2) numbers x and y
-
+
Sentence consisting of a formula
SymbS : Symb -> S ; -- A
-
+
Symbol lists
A symbol list has at least two elements. The last two are separated
diff --git a/resource-1.0/doc/gfdoc/Tense.html b/resource-1.0/doc/gfdoc/Tense.html
index 511cb96e..3ed4c71a 100644
--- a/resource-1.0/doc/gfdoc/Tense.html
+++ b/resource-1.0/doc/gfdoc/Tense.html
@@ -6,17 +6,12 @@
Tense, Polarity, and Anteriority
-Author:
-Last update: Tue Jun 13 11:42:41 2006
+Last update: 2006-02-27 09:41:31 CET
-
-
@@ -25,8 +20,6 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Tense, Polarity, and Anteriority
This module defines the abstract parameters of tense, polarity, and
anteriority, which are used in Tensed to generate different
diff --git a/resource-1.0/doc/gfdoc/Text.html b/resource-1.0/doc/gfdoc/Text.html
index 021306b6..8ab03c9e 100644
--- a/resource-1.0/doc/gfdoc/Text.html
+++ b/resource-1.0/doc/gfdoc/Text.html
@@ -2,21 +2,16 @@
- Texts
+ Text: Texts
- Texts
+ Text: Texts
-Author:
-Last update: Tue Jun 13 11:42:41 2006
+Last update: 2006-06-15 09:19:39 CEST
-
- - Texts
-
-
@@ -25,16 +20,19 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-Texts
+
+Texts are built from an empty text by adding Phrases,
+using as constructors the punctuation marks ., ?, and !.
+Any punctuation mark can be attached to any kind of phrase.
+
abstract Text = Common ** {
fun
- TEmpty : Text ;
- TFullStop : Phr -> Text -> Text ;
- TQuestMark : Phr -> Text -> Text ;
- TExclMark : Phr -> Text -> Text ;
+ TEmpty : Text ; --
+ TFullStop : Phr -> Text -> Text ; -- John walks. ...
+ TQuestMark : Phr -> Text -> Text ; -- Are you OK? ...
+ TExclMark : Phr -> Text -> Text ; -- John walks! ...
}
diff --git a/resource-1.0/doc/gfdoc/Verb.html b/resource-1.0/doc/gfdoc/Verb.html
index fcd77387..ce260bf7 100644
--- a/resource-1.0/doc/gfdoc/Verb.html
+++ b/resource-1.0/doc/gfdoc/Verb.html
@@ -6,22 +6,18 @@
The construction of verb phrases
-Author:
-Last update: Tue Jun 13 11:42:41 2006
+Last update: 2006-02-27 09:41:31 CET
-
@@ -31,13 +27,11 @@ Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
-
-The construction of verb phrases
abstract Verb = Cat ** {
-
+
Complementization rules
Verb phrases are constructed from verbs by providing their
@@ -57,7 +51,7 @@ complements. There is one rule for each verb category.
ComplV2A : V2A -> NP -> AP -> VP ; -- paint the house red
-
+
Other ways of forming verb phrases
Verb phrases can also be constructed reflexively and from
@@ -98,7 +92,7 @@ vs. next to (or before) the verb.
Agents of passives are constructed as adverbs with the
preposition Structural.8agent_Prep.
-
+
Complements to copula
Adjectival phrases, noun phrases, and adverbs can be used.
@@ -109,7 +103,7 @@ Adjectival phrases, noun phrases, and adverbs can be used.
CompAdv : Adv -> Comp ; -- (be) here
-
+
Coercions
Verbs can change subcategorization patterns in systematic ways,
diff --git a/resource-1.0/english/LexiconEng.gf b/resource-1.0/english/LexiconEng.gf
index b2d845ae..7a85896c 100644
--- a/resource-1.0/english/LexiconEng.gf
+++ b/resource-1.0/english/LexiconEng.gf
@@ -8,18 +8,18 @@ flags
lin
airplane_N = regN "airplane" ;
- answer_V2S = mkV2S (regV "answer") "to" ;
+ answer_V2S = mkV2S (regV "answer") toP ;
apartment_N = regN "apartment" ;
apple_N = regN "apple" ;
art_N = regN "art" ;
- ask_V2Q = mkV2Q (regV "ask") [] ;
+ ask_V2Q = mkV2Q (regV "ask") noPrep ;
baby_N = regN "baby" ;
bad_A = mkADeg "bad" "badly" "worse" "worst" ;
bank_N = regN "bank" ;
beautiful_A = regADeg "beautiful" ;
become_VA = mkVA (irregV "become" "became" "become") ;
beer_N = regN "beer" ;
- beg_V2V = mkV2V (regDuplV "beg") [] "to" ;
+ beg_V2V = mkV2V (regDuplV "beg") noPrep toP ;
big_A = duplADeg "big" ;
bike_N = regN "bike" ;
bird_N = regN "bird" ;
@@ -60,12 +60,12 @@ lin
cow_N = regN "cow" ;
die_V = (regV "die") ;
dirty_A = regADeg "dirty" ;
- distance_N3 = mkN3 (regN "distance") "from" "to" ;
+ distance_N3 = mkN3 (regN "distance") fromP toP ;
doctor_N = regN "doctor" ;
dog_N = regN "dog" ;
door_N = regN "door" ;
drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ;
- easy_A2V = mkA2V (regA "easy") "for" ;
+ easy_A2V = mkA2V (regA "easy") forP ;
eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ;
empty_A = regADeg "empty" ;
enemy_N = regN "enemy" ;
@@ -108,14 +108,14 @@ lin
leather_N = regN "leather" ;
leave_V2 = dirV2 (irregV "leave" "left" "left") ;
like_V2 = dirV2 (regV "like") ;
- listen_V2 = mkV2 (regV "listen") "to" ;
+ listen_V2 = mkV2 (regV "listen") toP ;
live_V = (regV "live") ;
long_A = regADeg "long" ;
lose_V2 = dirV2 (irregV "lose" "lost" "lost") ;
love_N = regN "love" ;
love_V2 = dirV2 (regV "love") ;
man_N = mk2N "man" "men" ;
- married_A2 = mkA2 (regA "married") "to" ;
+ married_A2 = mkA2 (regA "married") toP ;
meat_N = regN "meat" ;
milk_N = regN "milk" ;
moon_N = regN "moon" ;
@@ -128,9 +128,9 @@ lin
oil_N = regN "oil" ;
old_A = regADeg "old" ;
open_V2 = dirV2 (regV "open") ;
- paint_V2A = mkV2A (regV "paint") [] ;
+ paint_V2A = mkV2A (regV "paint") noPrep ;
paper_N = regN "paper" ;
- paris_PN = regPN "Paris" nonhuman ;
+ paris_PN = regPN "Paris" ;
peace_N = regN "peace" ;
pen_N = regN "pen" ;
planet_N = regN "planet" ;
@@ -157,8 +157,8 @@ lin
sea_N = regN "sea" ;
seek_V2 = dirV2 (irregV "seek" "sought" "sought") ;
see_V2 = dirV2 (irregV "see" "saw" "seen") ;
- sell_V3 = dirV3 (irregV "sell" "sold" "sold") "to" ;
- send_V3 = dirV3 (irregV "send" "sent" "sent") "to" ;
+ sell_V3 = dirV3 (irregV "sell" "sold" "sold") toP ;
+ send_V3 = dirV3 (irregV "send" "sent" "sent") toP ;
sheep_N = mk2N "sheep" "sheep" ;
ship_N = regN "ship" ;
shirt_N = regN "shirt" ;
@@ -182,7 +182,7 @@ lin
switch8off_V2 = dirV2 (partV (regV "switch") "off") ;
switch8on_V2 = dirV2 (partV (regV "switch") "on") ;
table_N = regN "table" ;
- talk_V3 = mkV3 (regV "talk") "to" "about" ;
+ talk_V3 = mkV3 (regV "talk") toP aboutP ;
teacher_N = regN "teacher" ;
teach_V2 = dirV2 (irregV "teach" "taught" "taught") ;
television_N = regN "television" ;
@@ -196,7 +196,7 @@ lin
understand_V2 = dirV2 (irregV "understand" "understood" "understood") ;
university_N = regN "university" ;
village_N = regN "village" ;
- wait_V2 = mkV2 (regV "wait") "for" ;
+ wait_V2 = mkV2 (regV "wait") forP ;
walk_V = (regV "walk") ;
warm_A = regADeg "warm" ;
war_N = regN "war" ;
@@ -217,9 +217,9 @@ lin
now_Adv = mkAdv "now" ;
already_Adv = mkAdv "already" ;
song_N = regN "song" ;
- add_V3 = dirV3 (regV "add") "to" ;
+ add_V3 = dirV3 (regV "add") toP ;
number_N = regN "number" ;
- put_V2 = mkV2 (irregDuplV "put" "put" "put") [] ;
+ put_V2 = mkV2 (irregDuplV "put" "put" "put") noPrep ;
stop_V = regDuplV "stop" ;
jump_V = regV "jump" ;
@@ -311,7 +311,7 @@ lin
flow_V = regV "flow" ;
fly_V = fly_V ;
freeze_V = freeze_V ;
- give_V3 = dirV3 give_V "to" ;
+ give_V3 = dirV3 give_V toP ;
laugh_V = regV "laugh" ;
lie_V = lie_V ;
play_V = regV "play" ;
@@ -351,4 +351,13 @@ lin
-- other_A = regA "other" ;
+oper
+ aboutP = mkPrep "about" ;
+ atP = mkPrep "at" ;
+ forP = mkPrep "for" ;
+ fromP = mkPrep "from" ;
+ inP = mkPrep "in" ;
+ onP = mkPrep "on" ;
+ toP = mkPrep "to" ;
+
} ;
diff --git a/resource-1.0/english/ParadigmsEng.gf b/resource-1.0/english/ParadigmsEng.gf
index 067b8bea..226f6bec 100644
--- a/resource-1.0/english/ParadigmsEng.gf
+++ b/resource-1.0/english/ParadigmsEng.gf
@@ -58,8 +58,8 @@ oper
genitive : Case ;
-- Prepositions are used in many-argument functions for rection.
+-- The resource category $Prep$ is used.
- Preposition : Type ;
--2 Nouns
@@ -96,19 +96,19 @@ oper
--
-- Relational nouns ("daughter of x") need a preposition.
- mkN2 : N -> Preposition -> N2 ;
+ mkN2 : N -> Prep -> N2 ;
-- The most common preposition is "of", and the following is a
-- shortcut for regular relational nouns with "of".
regN2 : Str -> N2 ;
--- Use the function $mkPreposition$ or see the section on prepositions below to
+-- Use the function $mkPrep$ or see the section on prepositions below to
-- form other prepositions.
--
-- Three-place relational nouns ("the connection from x to y") need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ;
+ mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -116,15 +116,16 @@ oper
-- In some cases, you may want to make a complex $CN$ into a
-- relational noun (e.g. "the old town hall of").
- cnN2 : CN -> Preposition -> N2 ;
- cnN3 : CN -> Preposition -> Preposition -> N3 ;
+ cnN2 : CN -> Prep -> N2 ;
+ cnN3 : CN -> Prep -> Prep -> N3 ;
--
--3 Proper names and noun phrases
--
-- Proper names, with a regular genitive, are formed as follows
- regPN : Str -> Gender -> PN ; -- John, John's
+ regPN : Str -> PN ;
+ regGenPN : Str -> Gender -> PN ; -- John, John's
-- Sometimes you can reuse a common noun as a proper name, e.g. "Bank".
@@ -151,7 +152,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ;
+ mkA2 : A -> Prep -> A2 ;
-- Comparison adjectives may two more forms.
@@ -197,8 +198,8 @@ oper
-- A preposition as used for rection in the lexicon, as well as to
-- build $PP$s in the resource API, just requires a string.
- mkPreposition : Str -> Preposition ;
- mkPrep : Str -> Prep ;
+ mkPrep : Str -> Prep ;
+ noPrep : Prep ;
-- (These two functions are synonyms.)
@@ -247,7 +248,7 @@ oper
-- 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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -256,9 +257,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
- mkV3 : V -> Preposition -> Preposition -> V3 ; -- speak, with, about
- dirV3 : V -> Preposition -> V3 ; -- give,_,to
- dirdirV3 : V -> V3 ; -- give,_,_
+ mkV3 : V -> Prep -> Prep -> V3 ; -- speak, with, about
+ dirV3 : V -> Prep -> V3 ; -- give,_,to
+ dirdirV3 : V -> V3 ; -- give,_,_
--3 Other complement patterns
--
@@ -267,18 +268,18 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Str -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
- mkV2V : V -> Str -> Str -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Str -> V2A ;
+ mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Str -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Str -> A2S ;
+ mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
- mkA2V : A -> Str -> A2V ;
+ mkA2V : A -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -288,12 +289,11 @@ oper
V0, V2S, V2V, V2A, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
-
+--.
--2 Definitions of paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
---.
Gender = MorphoEng.Gender ;
Number = MorphoEng.Number ;
@@ -307,7 +307,7 @@ oper
nominative = Nom ;
genitive = Gen ;
- Preposition = Str ;
+ Preposition : Type = Str ; -- obsolete
regN = \ray ->
let
@@ -345,13 +345,14 @@ oper
compoundN s n = {s = \\x,y => s ++ n.s ! x ! y ; g=n.g ; lock_N = <>} ;
- mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
- regN2 n = mkN2 (regN n) (mkPreposition "of") ;
- mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
- cnN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
- cnN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
+ mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p.s} ;
+ regN2 n = mkN2 (regN n) (mkPrep "of") ;
+ mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p.s ; c3 = q.s} ;
+ cnN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p.s} ;
+ cnN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p.s ; c3 = q.s} ;
- regPN n g = nameReg n g ** {lock_PN = <>} ;
+ regPN n = regGenPN n human ;
+ regGenPN n g = nameReg n g ** {lock_PN = <>} ;
nounPN n = {s = n.s ! singular ; g = n.g ; lock_PN = <>} ;
mkNP x y n g = {s = table {Gen => x ; _ => y} ; a = agrP3 n ;
lock_NP = <>} ;
@@ -359,7 +360,7 @@ oper
mkA a b = mkAdjective a a a b ** {lock_A = <>} ;
regA a = regAdjective a ** {lock_A = <>} ;
- mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
+ mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ;
ADeg = A ; ----
@@ -394,8 +395,8 @@ oper
mkAdV x = ss x ** {lock_AdV = <>} ;
mkAdA x = ss x ** {lock_AdA = <>} ;
- mkPreposition p = p ;
mkPrep p = ss p ** {lock_Prep = <>} ;
+ noPrep = mkPrep [] ;
mkV a b c d e = mkVerb a b c d e ** {s1 = [] ; lock_V = <>} ;
@@ -434,12 +435,12 @@ oper
partV v p = verbPart v p ** {lock_V = <>} ;
reflV v = {s = v.s ; part = v.part ; lock_V = v.lock_V ; isRefl = True} ;
- mkV2 v p = v ** {s = v.s ; s1 = v.s1 ; c2 = p ; lock_V2 = <>} ;
- dirV2 v = mkV2 v [] ;
+ mkV2 v p = v ** {s = v.s ; s1 = v.s1 ; c2 = p.s ; lock_V2 = <>} ;
+ dirV2 v = mkV2 v noPrep ;
- mkV3 v p q = v ** {s = v.s ; s1 = v.s1 ; c2 = p ; c3 = q ; lock_V3 = <>} ;
- dirV3 v p = mkV3 v [] p ;
- dirdirV3 v = dirV3 v [] ;
+ mkV3 v p q = v ** {s = v.s ; s1 = v.s1 ; c2 = p.s ; c3 = q.s ; lock_V3 = <>} ;
+ dirV3 v p = mkV3 v noPrep p ;
+ dirdirV3 v = dirV3 v noPrep ;
mkVS v = v ** {lock_VS = <>} ;
mkVV v = {
diff --git a/resource-1.0/finnish/ParadigmsFin.gf b/resource-1.0/finnish/ParadigmsFin.gf
index 0120d62e..e297a663 100644
--- a/resource-1.0/finnish/ParadigmsFin.gf
+++ b/resource-1.0/finnish/ParadigmsFin.gf
@@ -203,6 +203,7 @@ oper
-- 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 ;
@@ -333,9 +334,9 @@ oper
V0, V2S, V2V, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
+--.
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
---.
Case = MorphoFin.Case ;
Number = MorphoFin.Number ;
@@ -472,6 +473,7 @@ reg3N = \vesi,veden,vesi
mkN2 = \n,c -> n ** {c2 = c ; lock_N2 = <>} ;
mkN3 = \n,c,e -> n ** {c2 = c ; c3 = e ; lock_N3 = <>} ;
genN2 = \n -> mkN2 n (casePrep genitive) ;
+ regPN m = mkPN (regN m) ;
mkPN n = mkProperName n ** {lock_PN = <>} ;
mkNP noun num = {
s = \\c => noun.s ! NCase num (npform2case c) ;
diff --git a/resource-1.0/french/ParadigmsFre.gf b/resource-1.0/french/ParadigmsFre.gf
index 3375bbb1..5d7ec085 100644
--- a/resource-1.0/french/ParadigmsFre.gf
+++ b/resource-1.0/french/ParadigmsFre.gf
@@ -57,13 +57,11 @@ oper
-- amalgamate with the following word (the 'genitive' "de" and the
-- 'dative' "à").
- Preposition : Type ;
+ accusative : Prep ;
+ genitive : Prep ;
+ dative : Prep ;
- accusative : Preposition ;
- genitive : Preposition ;
- dative : Preposition ;
-
- mkPreposition : Str -> Preposition ;
+ mkPrep : Str -> Prep ;
--2 Nouns
@@ -102,7 +100,7 @@ oper
--
-- Relational nouns ("fille de x") need a case and a preposition.
- mkN2 : N -> Preposition -> N2 ;
+ mkN2 : N -> Prep -> N2 ;
-- The most common cases are the genitive "de" and the dative "à",
-- with the empty preposition.
@@ -112,7 +110,7 @@ oper
-- Three-place relational nouns ("la connection de x à y") need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ;
+ mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -127,7 +125,10 @@ oper
--
-- Proper names need a string and a gender.
- mkPN : Str -> Gender -> PN ; -- Jean
+ mkPN : Str -> Gender -> PN ; -- Jean
+
+ regPN : Str -> PN ; -- masculine
+
-- To form a noun phrase that can also be plural,
-- you can use the worst-case function.
@@ -160,7 +161,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ;
+ mkA2 : A -> Prep -> A2 ;
--3 Comparison adjectives
@@ -227,7 +228,7 @@ oper
-- 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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -240,9 +241,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
- mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de
- dirV3 : V -> Preposition -> V3 ; -- donner,_,à
- dirdirV3 : V -> V3 ; -- donner,_,_
+ mkV3 : V -> Prep -> Prep -> V3 ; -- parler, à, de
+ dirV3 : V -> Prep -> V3 ; -- donner,_,à
+ dirdirV3 : V -> V3 ; -- donner,_,_
--3 Other complement patterns
--
@@ -251,20 +252,20 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Preposition -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "je veux parler"
deVV : V -> VV ; -- "j'essaie de parler"
aVV : V -> VV ; -- "j'arrive à parler"
- mkV2V : V -> Preposition -> Preposition -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Preposition -> Preposition -> V2A ;
+ mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Preposition -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Preposition -> A2S ;
- mkAV : A -> Preposition -> AV ;
- mkA2V : A -> Preposition -> Preposition -> A2V ;
+ mkA2S : A -> Prep -> A2S ;
+ mkAV : A -> Prep -> AV ;
+ mkA2V : A -> Prep -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -274,11 +275,12 @@ oper
V0, V2S, V2V, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
+--.
--2 Definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
---.
+
Gender = MorphoFre.Gender ;
Number = MorphoFre.Number ;
@@ -291,7 +293,12 @@ oper
accusative = complAcc ;
genitive = complGen ;
dative = complDat ;
- mkPreposition p = {s = p ; c = Acc ; isDir = False} ;
+ mkPrep p = {s = p ; c = Acc ; isDir = False} ;
+
+ --- obsolete
+ Preposition : Type ;
+ mkPreposition : Str -> Preposition ;
+ mkPreposition = mkPrep ;
mkN x y g = mkCNomIrreg x y g ** {lock_N = <>} ;
regN x = regGenN x g where {
@@ -308,6 +315,7 @@ oper
aN2 n = mkN2 n dative ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
+ regPN x = mkPN x masculine ;
mkPN x g = {s = x ; g = g} ** {lock_PN = <>} ;
mkNP x g n = {s = (pn2np (mkPN x g)).s; a = agrP3 g n ; hasClit = False} ** {lock_NP = <>} ;
diff --git a/resource-1.0/german/ParadigmsGer.gf b/resource-1.0/german/ParadigmsGer.gf
index b1d891dd..bb7f3d1d 100644
--- a/resource-1.0/german/ParadigmsGer.gf
+++ b/resource-1.0/german/ParadigmsGer.gf
@@ -1,5 +1,5 @@
--# -path=.:../common:../abstract:../../prelude
---
+
--1 German Lexical Paradigms
--
-- Aarne Ranta & Harald Hammarström 2003--2006
@@ -235,12 +235,13 @@ oper
AS, A2S, AV, A2V : Type ;
+--.
--2 Definitions of paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
---.
+
Gender = MorphoGer.Gender ;
Case = MorphoGer.Case ;
diff --git a/resource-1.0/italian/ExtraIta.gf b/resource-1.0/italian/ExtraIta.gf
new file mode 100644
index 00000000..59d1a8ef
--- /dev/null
+++ b/resource-1.0/italian/ExtraIta.gf
@@ -0,0 +1,5 @@
+concrete ExtraIta of ExtraItaAbs = ExtraRomanceIta **
+ open CommonRomance, PhonoIta, ParamX, ResIta in {
+
+
+}
diff --git a/resource-1.0/italian/ExtraItaAbs.gf b/resource-1.0/italian/ExtraItaAbs.gf
new file mode 100644
index 00000000..55eaddde
--- /dev/null
+++ b/resource-1.0/italian/ExtraItaAbs.gf
@@ -0,0 +1,6 @@
+-- Structures special for Italian. These are not implemented in other
+-- Romance languages.
+
+abstract ExtraItaAbs = ExtraRomanceAbs ** {
+
+}
diff --git a/resource-1.0/italian/ExtraRomanceIta.gf b/resource-1.0/italian/ExtraRomanceIta.gf
new file mode 100644
index 00000000..af4bb597
--- /dev/null
+++ b/resource-1.0/italian/ExtraRomanceIta.gf
@@ -0,0 +1,2 @@
+concrete ExtraRomanceIta of ExtraRomanceAbs = CatIta ** ExtraRomance with
+ (ResRomance = ResIta) ;
diff --git a/resource-1.0/italian/Italian.gf b/resource-1.0/italian/Italian.gf
new file mode 100644
index 00000000..72a921af
--- /dev/null
+++ b/resource-1.0/italian/Italian.gf
@@ -0,0 +1,7 @@
+--# -path=.:../romance:../abstract:../common:prelude
+
+concrete Italian of ItalianAbs =
+ LangIta,
+-- IrregIta,
+ ExtraIta
+ ** {} ;
diff --git a/resource-1.0/italian/ItalianAbs.gf b/resource-1.0/italian/ItalianAbs.gf
new file mode 100644
index 00000000..23272368
--- /dev/null
+++ b/resource-1.0/italian/ItalianAbs.gf
@@ -0,0 +1,5 @@
+abstract ItalianAbs =
+ Lang,
+-- IrregItaAbs,
+ ExtraItaAbs
+ ** {} ;
diff --git a/resource-1.0/italian/LexiconIta.gf b/resource-1.0/italian/LexiconIta.gf
index 78577182..4652cdff 100644
--- a/resource-1.0/italian/LexiconIta.gf
+++ b/resource-1.0/italian/LexiconIta.gf
@@ -130,7 +130,7 @@ lin
old_A = prefA (regADeg "vecchio") ;
open_V2 = dirV2 (verboV (aprire_102 "aprire")) ;
paint_V2A =
- mkV2A (verboV (cingere_31 "pingere")) accusative (mkPreposition "in") ;
+ mkV2A (verboV (cingere_31 "pingere")) accusative (mkPrep "in") ; ----
paper_N = regN "carta" ;
paris_PN = mkPN "Parigi" masculine ;
peace_N = femN (regN "pace") ;
diff --git a/resource-1.0/italian/ParadigmsIta.gf b/resource-1.0/italian/ParadigmsIta.gf
index 1742721c..ae93829f 100644
--- a/resource-1.0/italian/ParadigmsIta.gf
+++ b/resource-1.0/italian/ParadigmsIta.gf
@@ -58,13 +58,13 @@ oper
-- amalgamate with the following word (the 'genitive' "de" and the
-- 'dative' "à").
- Preposition : Type ;
+ Prep : Type ;
- accusative : Preposition ;
- genitive : Preposition ;
- dative : Preposition ;
+ accusative : Prep ;
+ genitive : Prep ;
+ dative : Prep ;
- mkPreposition : Str -> Preposition ;
+ mkPrep : Str -> Prep ;
--2 Nouns
@@ -98,7 +98,7 @@ oper
--
-- Relational nouns ("figlio di x") need a case and a preposition.
- mkN2 : N -> Preposition -> N2 ;
+ mkN2 : N -> Prep -> N2 ;
-- The most common cases are the genitive "di" and the dative "a",
-- with the empty preposition.
@@ -108,7 +108,7 @@ oper
-- Three-place relational nouns ("la connessione di x a y") need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ;
+ mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -123,7 +123,8 @@ oper
--
-- Proper names need a string and a gender.
- mkPN : Str -> Gender -> PN ; -- Jean
+ mkPN : Str -> Gender -> PN ;
+ regPN : Str -> PN ; -- masculine
-- To form a noun phrase that can also be plural,
-- you can use the worst-case function.
@@ -153,7 +154,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ;
+ mkA2 : A -> Prep -> A2 ;
--3 Comparison adjectives
@@ -217,7 +218,7 @@ oper
-- 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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -230,9 +231,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
- mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de
- dirV3 : V -> Preposition -> V3 ; -- donner,_,à
- dirdirV3 : V -> V3 ; -- donner,_,_
+ mkV3 : V -> Prep -> Prep -> V3 ; -- parlare, a, di
+ dirV3 : V -> Prep -> V3 ; -- dare,_,a
+ dirdirV3 : V -> V3 ; -- dare,_,_
--3 Other complement patterns
@@ -242,20 +243,20 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Preposition -> V2S ;
- mkVV : V -> VV ; -- plain infinitive: "je veux parler"
- deVV : V -> VV ; -- "j'essaie de parler"
- aVV : V -> VV ; -- "j'arrive à parler"
- mkV2V : V -> Preposition -> Preposition -> V2V ;
+ mkV2S : V -> Prep -> V2S ;
+ mkVV : V -> VV ; -- plain infinitive: "voglio parlare"
+ deVV : V -> VV ; -- "cerco di parlare"
+ aVV : V -> VV ; -- "arrivo a parlare"
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Preposition -> Preposition -> V2A ;
+ mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Preposition -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Preposition -> A2S ;
- mkAV : A -> Preposition -> AV ;
- mkA2V : A -> Preposition -> Preposition -> A2V ;
+ mkA2S : A -> Prep -> A2S ;
+ mkAV : A -> Prep -> AV ;
+ mkA2V : A -> Prep -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -266,11 +267,12 @@ oper
AS, A2S, AV, A2V : Type ;
+--.
--2 The definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
---.
+
Gender = MorphoIta.Gender ;
Number = MorphoIta.Number ;
@@ -279,11 +281,11 @@ oper
singular = Sg ;
plural = Pl ;
- Preposition = Compl ;
+ Prep = Compl ;
accusative = complAcc ;
genitive = complGen ;
dative = complDat ;
- mkPreposition p = {s = p ; c = Acc ; isDir = False} ;
+ mkPrep p = {s = p ; c = Acc ; isDir = False} ;
mkN x y g = mkNounIrreg x y g ** {lock_N = <>} ;
regN x = mkNomReg x ** {lock_N = <>} ;
@@ -298,6 +300,7 @@ oper
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
mkPN x g = {s = x ; g = g} ** {lock_PN = <>} ;
+ regPN x = mkPN x masculine ;
mkNP x g n = {s = (pn2np (mkPN x g)).s; a = agrP3 g n ; hasClit = False} ** {lock_NP = <>} ;
mkA a b c d e =
diff --git a/resource-1.0/italian/StructuralIta.gf b/resource-1.0/italian/StructuralIta.gf
index b22a4117..bc7e7cec 100644
--- a/resource-1.0/italian/StructuralIta.gf
+++ b/resource-1.0/italian/StructuralIta.gf
@@ -6,7 +6,7 @@ concrete StructuralIta of Structural = CatIta **
lin
above_Prep = {s = ["sopra"] ; c = MorphoIta.genitive ; isDir = False} ;
- after_Prep = mkPreposition "dopo" ;
+ after_Prep = mkPrep "dopo" ;
all_Predet = {
s = \\a,c => prepCase c ++ aagrForms "tutto" "tutta" "tutti" "tutte" ! a ;
c = Nom
@@ -16,16 +16,16 @@ lin
although_Subj = ss "benché" ** {m = Conjunct} ;
and_Conj = ss "e" ** {n = Pl} ;
because_Subj = ss "perché" ** {m = Indic} ;
- before_Prep = mkPreposition "prima" ;
- behind_Prep = mkPreposition "dietro" ;
- between_Prep = mkPreposition "fra" ;
+ before_Prep = mkPrep "prima" ;
+ behind_Prep = mkPrep "dietro" ;
+ between_Prep = mkPrep "fra" ;
both7and_DConj = {s1,s2 = "e" ; n = Pl} ;
but_PConj = ss "ma" ;
- by8agent_Prep = {s = [] ; c = CPrep P_da} ;
- by8means_Prep = mkPreposition "per" ;
+ by8agent_Prep = {s = [] ; c = CPrep P_da ; isDir = False} ;
+ by8means_Prep = mkPrep "per" ;
can8know_VV = mkVV (verboV (sapere_78 "sapere")) ;
can_VV = mkVV (verboV (potere_69 "potere")) ;
- during_Prep = mkPreposition "durante" ;
+ during_Prep = mkPrep "durante" ;
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
everybody_NP = mkNP ["tutti"] Masc Pl ;
every_Det = {s = \\_,_ => "ogni" ; n = Sg} ;
@@ -44,12 +44,12 @@ lin
how_IAdv = ss "come" ;
how8many_IDet = {s = \\g,c => prepCase c ++ genForms "quanti" "quante" ! g ; n = Pl} ;
if_Subj = ss "se" ** {m = Indic} ;
- in8front_Prep = mkPreposition "davanti" ;
+ in8front_Prep = mkPrep "davanti" ;
i_Pron =
mkPronoun
"io" "mi" "mi" "me" "me" "mio" "mia" "miei" "mie"
Fem Sg P1 ;
- in_Prep = {s = [] ; c = CPrep P_in} ;
+ in_Prep = {s = [] ; c = CPrep P_in ; isDir = False} ;
it_Pron =
mkPronoun
"lui" "lo" "gli" "glie" "lui" "suo" "sua" "suoi" "sue"
@@ -61,7 +61,7 @@ lin
much_Det = {s = \\g,c => prepCase c ++ genForms "molto" "molta" ! g ; n = Sg} ;
must_VV = mkVV (verboV (dovere_47 "dovere")) ;
no_Phr = ss "no" ;
- on_Prep = {s = [] ; c = CPrep P_su} ;
+ on_Prep = {s = [] ; c = CPrep P_su ; isDir = False} ;
one_Quant = {s = \\g,c => prepCase c ++ genForms "uno" "una" ! g} ;
only_Predet = {s = \\_,c => prepCase c ++ "soltanto" ; c = Nom} ; --- solo|a|i|e
or_Conj = {s = "o" ; n = Sg} ;
@@ -103,10 +103,10 @@ lin
} ;
this_NP = pn2np (mkPN ["questo"] Masc) ;
those_NP = mkNP ["quelle"] Fem Pl ;
- through_Prep = mkPreposition "per" ;
+ through_Prep = mkPrep "per" ;
too_AdA = ss "troppo" ;
to_Prep = complDat ;
- under_Prep = mkPreposition "sotto" ;
+ under_Prep = mkPrep "sotto" ;
very_AdA = ss "molto" ;
want_VV = mkVV (verboV (volere_96 "volere")) ;
we_Pron =
@@ -122,8 +122,8 @@ lin
whoPl_IP = {s = \\c => prepCase c ++ "chi" ; a = aagr Fem Pl} ;
whoSg_IP = {s = \\c => prepCase c ++ "chi" ; a = aagr Fem Sg} ;
why_IAdv = ss "perché" ;
- without_Prep = mkPreposition "senza" ;
- with_Prep = {s = [] ; c = CPrep P_con} ;
+ without_Prep = mkPrep "senza" ;
+ with_Prep = {s = [] ; c = CPrep P_con ; isDir = False} ;
yes_Phr = ss "sì" ;
youSg_Pron = mkPronoun
"tu" "ti" "ti" "te" "te" "tuo" "tua" "tuoi" "tue"
diff --git a/resource-1.0/norwegian/LexiconNor.gf b/resource-1.0/norwegian/LexiconNor.gf
index fce902fe..ebac3dfa 100644
--- a/resource-1.0/norwegian/LexiconNor.gf
+++ b/resource-1.0/norwegian/LexiconNor.gf
@@ -8,18 +8,18 @@ flags startcat=Phr ; lexer=textlit ; unlexer=text ;
lin
airplane_N = mk2N "fly" "flyet" ;
- answer_V2S = mkV2S (regV "svare") "til" ;
+ answer_V2S = mkV2S (regV "svare") (mkPrep "til") ;
apartment_N = mk2N "leilighet" "leiligheten" ;
apple_N = mk2N "eple" "eplet" ;
art_N = mk2N "kunst" "kunsten" ;
- ask_V2Q = mkV2Q spørre_V [] ;
+ ask_V2Q = mkV2Q spørre_V noPrep ;
baby_N = mk2N "baby" "babyen" ;
bad_A = regADeg "dårlig" ; ----
bank_N = mk2N "bank" "banken" ;
beautiful_A = mk3ADeg "vakker" "vakkert" "vakra" ;
become_VA = mkVA (vaereV bli_V) ;
beer_N = regGenN "øl" neutrum ;
- beg_V2V = mkV2V be_V [] "at" ;
+ beg_V2V = mkV2V be_V noPrep (mkPrep "at") ;
big_A = irregADeg "stor" "større" "størst";
bike_N = mkN "sykkel" "sykkelen" "sykler" "syklene" ;
bird_N = mk2N "fugl" "fuglen" ;
@@ -33,7 +33,7 @@ lin
bread_N = regGenN "brød" neutrum ;
break_V2 = dirV2 (mk2V "knuse" "knuste") ;
broad_A = regADeg "bred" ;
- brother_N2 = mkN2 ( (mkN "bror" "broren" "brødre" "brødrene")) "til" ;
+ brother_N2 = mkN2 ( (mkN "bror" "broren" "brødre" "brødrene")) (mkPrep "til") ;
brown_A = regADeg "brun" ;
butter_N = regGenN "smør" neutrum ;
buy_V2 = dirV2 (mk2V "kjøpe" "kjøpte") ;
@@ -60,17 +60,17 @@ lin
cow_N = mkN "ku" "kua" "kyr" "kyrne" ; ----
die_V = vaereV dø_V ;
dirty_A = mk3ADeg "skitten" "skittent" "skitne" ; ----
- distance_N3 = mkN3 (regGenN "avstand" masculine) "fra" "til" ;
+ distance_N3 = mkN3 (regGenN "avstand" masculine) (mkPrep "fra") (mkPrep "til") ;
doctor_N = mk2N "lege" "legen" ;
dog_N = regGenN "hund" masculine ;
door_N = regGenN "dør" feminine ;
drink_V2 = dirV2 drikke_V ;
- easy_A2V = mkA2V (regA "grei") "for" ;
+ easy_A2V = mkA2V (regA "grei") (mkPrep "for") ;
eat_V2 = dirV2 (mk2V "spise" "spiste") ;
empty_A = mkADeg "tom" "tomt" "tomme" "tommere" "tommest" ;
enemy_N = regGenN "fiende" masculine ;
factory_N = mk2N "fabrikk" "fabrikken" ;
- father_N2 = mkN2 ( (mkN "far" "faren" "fedre" "fedrene")) "til" ;
+ father_N2 = mkN2 ( (mkN "far" "faren" "fedre" "fedrene")) (mkPrep "til") ;
fear_VS = mkVS (regV "frykte") ;
find_V2 = dirV2 (irregV "finne" "fann" "funnet") ;
fish_N = mk2N "fisk" "fisken" ;
@@ -115,11 +115,11 @@ lin
love_N = regGenN "kjærlighet" masculine ;
love_V2 = dirV2 (regV "elske") ;
man_N = (mkN "mann" "mannen" "menn" "mennen") ;
- married_A2 = mkA2 (mk2A "gift" "gift") "med" ;
+ married_A2 = mkA2 (mk2A "gift" "gift") (mkPrep "med") ;
meat_N = regGenN "kjøtt" neutrum ;
milk_N = regGenN "melk" masculine ;
moon_N = regGenN "måne" masculine ;
- mother_N2 = mkN2 (mkN "mor" "moren" "mødre" "mødrene") "til" ; ---- fem
+ mother_N2 = mkN2 (mkN "mor" "moren" "mødre" "mødrene") (mkPrep "til") ; ---- fem
mountain_N = regGenN "berg" neutrum ;
music_N = mk2N "musikk" "musikken" ;
narrow_A = regADeg "smal" ;
@@ -128,9 +128,9 @@ lin
oil_N = regGenN "olje" masculine ;
old_A = mkADeg "gammel" "gammelt" "gamle" "eldre" "eldst" ;
open_V2 = dirV2 (regV "åpne") ;
- paint_V2A = mkV2A (regV "male") [] ;
+ paint_V2A = mkV2A (regV "male") noPrep ;
paper_N = regGenN "papir" neutrum ; ----
- paris_PN = regPN "Paris" neutrum ;
+ paris_PN = regGenPN "Paris" neutrum ;
peace_N = regGenN "fred" masculine ;
pen_N = regGenN "penn" masculine ;
planet_N = mk2N "planet" "planeten" ;
@@ -155,10 +155,10 @@ lin
school_N = regGenN "skole" feminine;
science_N = mk2N "vitenskap" "vitenskapen" ;
sea_N = mk2N "sjø" "sjøen" ;
- seek_V2 = mkV2 (mk2V "lete" "lette") "etter" ;
+ seek_V2 = mkV2 (mk2V "lete" "lette") (mkPrep "etter") ;
see_V2 = dirV2 se_V ;
- sell_V3 = dirV3 selge_V "til" ;
- send_V3 = dirV3 (mk2V "sende" "sendte") "til" ;
+ sell_V3 = dirV3 selge_V (mkPrep "til") ;
+ send_V3 = dirV3 (mk2V "sende" "sendte") (mkPrep "til") ;
sheep_N = mk2N "får" "fåret" ;
ship_N = regGenN "skip" neutrum ;
shirt_N = regGenN "skjorte" feminine ;
@@ -182,7 +182,7 @@ lin
switch8off_V2 = dirV2 (partV (irregV "slå" "slo" "slått") "av") ;
switch8on_V2 = dirV2 (partV (irregV "slå" "slo" "slått") "på") ;
table_N = regGenN "bord" neutrum ;
- talk_V3 = mkV3 (regV "snakke") "til" "om" ;
+ talk_V3 = mkV3 (regV "snakke") (mkPrep "til") (mkPrep "om") ;
teacher_N = mkN "lærer" "læreren" "lærere" "lærerne" ;
teach_V2 = dirV2 (mk2V "undervise" "underviste") ;
television_N = mk2N "fjernsyn" "fjernsynet" ;
@@ -196,11 +196,11 @@ lin
understand_V2 = dirV2 (irregV "forstå" "forstod" "forstått") ;
university_N = regGenN "universitet" neutrum ;
village_N = mk2N "grend" "grenda" ;
- wait_V2 = mkV2 (regV "vente") "på" ;
+ wait_V2 = mkV2 (regV "vente") (mkPrep "på") ;
walk_V = vaereV gå_V ;
warm_A = regADeg "varm" ;
war_N = regGenN "krig" masculine ;
- watch_V2 = mkV2 se_V "på" ;
+ watch_V2 = mkV2 se_V (mkPrep "på") ;
water_N = mk2N "vatn" "vatnet" ;
white_A = regADeg "hvit" ;
window_N = mkN "vindu" "vinduet" "vinduer" "vinduene" ; ---- er?
@@ -217,9 +217,9 @@ lin
now_Adv = mkAdv "nå" ;
already_Adv = mkAdv "allerede" ;
song_N = mk2N "sang" "sangen" ;
- add_V3 = mkV3 (partV (irregV "legge" "la" "lagt") "til") [] "til" ;
+ add_V3 = mkV3 (partV (irregV "legge" "la" "lagt") "til") noPrep (mkPrep "til") ;
number_N = mk2N "nummer" "nummeret" ;
- put_V2 = mkV2 (irregV "sette" "satte" "satt") [] ;
+ put_V2 = mkV2 (irregV "sette" "satte" "satt") noPrep ;
stop_V = vaereV (regV "stanse") ;
jump_V = regV "hoppe" ;
diff --git a/resource-1.0/norwegian/ParadigmsNor.gf b/resource-1.0/norwegian/ParadigmsNor.gf
index 2d8a7c3e..8cc30c9c 100644
--- a/resource-1.0/norwegian/ParadigmsNor.gf
+++ b/resource-1.0/norwegian/ParadigmsNor.gf
@@ -60,7 +60,8 @@ oper
-- Prepositions used in many-argument functions are just strings.
- Preposition : Type = Str ;
+ mkPrep : Str -> Prep ;
+ noPrep : Prep ; -- empty string
--2 Nouns
@@ -97,19 +98,19 @@ oper
--
-- Relational nouns ("daughter of x") need a preposition.
- mkN2 : N -> Preposition -> 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
+-- Use the function $mkPrep$ or see the section on prepositions below to
-- form other prepositions.
--
-- Three-place relational nouns ("the connection from x to y") need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ;
+ mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -124,7 +125,8 @@ oper
--
-- Proper names, with a regular genitive, are formed as follows
- regPN : Str -> Gender -> PN ; -- John, John's
+ regPN : Str -> PN ; -- utrum
+ regGenPN : Str -> Gender -> PN ;
-- Sometimes you can reuse a common noun as a proper name, e.g. "Bank".
@@ -153,7 +155,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ;
+ mkA2 : A -> Prep -> A2 ;
-- Comparison adjectives may need as many as five forms.
@@ -191,11 +193,6 @@ oper
mkAdA : Str -> AdA ;
---2 Prepositions
---
--- A preposition is just a string.
-
- mkPreposition : Str -> Preposition ;
--2 Verbs
--
@@ -243,7 +240,7 @@ oper
-- 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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -252,9 +249,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
- mkV3 : V -> Str -> Str -> V3 ; -- speak, with, about
- dirV3 : V -> Str -> V3 ; -- give,_,to
- dirdirV3 : V -> V3 ; -- give,_,_
+ mkV3 : V -> Prep -> Prep -> V3 ; -- speak, with, about
+ dirV3 : V -> Prep -> V3 ; -- give,_,to
+ dirdirV3 : V -> V3 ; -- give,_,_
--3 Other complement patterns
--
@@ -263,18 +260,18 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Str -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
- mkV2V : V -> Str -> Str -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Str -> V2A ;
+ mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Str -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Str -> A2S ;
+ mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
- mkA2V : A -> Str -> A2V ;
+ mkA2V : A -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -285,11 +282,11 @@ oper
AS, A2S, AV, A2V : Type ;
+--.
--2 Definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
---.
Gender = MorphoNor.Gender ;
Number = MorphoNor.Number ;
@@ -331,11 +328,12 @@ oper
} ;
- mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
- regN2 n g = mkN2 (regGenN n g) (mkPreposition "av") ;
- mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
+ mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p.s} ;
+ regN2 n g = mkN2 (regGenN n g) (mkPrep "av") ;
+ mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p.s ; c3 = q.s} ;
- regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
+ regGenPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
+ regPN n = regGenPN n utrum ;
nounPN n = {s = n.s ! singular ! Indef ; g = n.g ; lock_PN = <>} ;
mkNP x y n g =
{s = table {NPPoss _ => x ; _ => y} ; a = agrP3 g n ;
@@ -345,7 +343,7 @@ oper
mk2A a b = mkA a b (a + "e") ;
regA a = (regADeg a) ** {isComp = False ; lock_A = <>} ;
- mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
+ mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ;
mkADeg a b c d e = mkAdject a b c d e ** {isComp = False ; lock_A = <>} ;
regADeg a = case Predef.dp 2 a of {
@@ -366,7 +364,8 @@ oper
mkAdV x = ss x ** {lock_AdV = <>} ;
mkAdA x = ss x ** {lock_AdA = <>} ;
- mkPreposition p = p ;
+ mkPrep p = {s = p ; lock_Prep = <>} ;
+ noPrep = mkPrep [] ;
mkV a b c d e f = mkVerb6 a b c d e f **
{part = [] ; vtype = VAct ; isVaere = False ; lock_V = <>} ;
@@ -404,12 +403,12 @@ oper
depV v = {s = v.s ; part = v.part ; vtype = VPass ; isVaere = False ; lock_V = <>} ;
reflV v = {s = v.s ; part = v.part ; vtype = VRefl ; isVaere = False ; lock_V = <>} ;
- mkV2 v p = v ** {c2 = p ; lock_V2 = <>} ;
- dirV2 v = mkV2 v [] ;
+ mkV2 v p = v ** {c2 = p.s ; lock_V2 = <>} ;
+ dirV2 v = mkV2 v noPrep ;
- mkV3 v p q = v ** {c2 = p ; c3 = q ; lock_V3 = <>} ;
- dirV3 v p = mkV3 v [] p ;
- dirdirV3 v = dirV3 v [] ;
+ mkV3 v p q = v ** {c2 = p.s ; c3 = q.s ; lock_V3 = <>} ;
+ dirV3 v p = mkV3 v noPrep p ;
+ dirdirV3 v = dirV3 v noPrep ;
mkV0 v = v ** {lock_V0 = <>} ;
mkVS v = v ** {lock_VS = <>} ;
diff --git a/resource-1.0/romance/CatRomance.gf b/resource-1.0/romance/CatRomance.gf
index a9904bd7..1b03e668 100644
--- a/resource-1.0/romance/CatRomance.gf
+++ b/resource-1.0/romance/CatRomance.gf
@@ -65,7 +65,7 @@ incomplete concrete CatRomance of Cat =
Conj = {s : Str ; n : Number} ;
DConj = {s1,s2 : Str ; n : Number} ;
Subj = {s : Str ; m : Mood} ;
- Prep = {s : Str ; c : Case} ;
+ Prep = {s : Str ; c : Case ; isDir : Bool} ;
-- Open lexical classes, e.g. Lexicon
diff --git a/resource-1.0/russian/ParadigmsRus.gf b/resource-1.0/russian/ParadigmsRus.gf
index e5e10412..a8e4c826 100644
--- a/resource-1.0/russian/ParadigmsRus.gf
+++ b/resource-1.0/russian/ParadigmsRus.gf
@@ -143,6 +143,7 @@ nPepel : Str -> N ; -- masculine, inanimate, ending with "-ел"- "пеп-л
-- Proper names.
mkPN : Str -> Gender -> Animacy -> PN ; -- "Иван", "Маша"
+ regPN : Str -> PN ;
nounPN : N -> PN ;
-- On the top level, it is maybe $CN$ that is used rather than $N$, and
@@ -292,10 +293,11 @@ perfective: Aspect ;
mkV3 : V -> Str -> Str -> Case -> Case -> V3 ; -- "Ñложить пиÑьмо в конверт"
dirV2 : V -> V2 ; -- "видеть", "любить"
tvDirDir : V -> V3 ;
-
+
+--.
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
---.
+
Gender = MorphoRus.Gender ;
Case = MorphoRus.Case ;
Number = MorphoRus.Number ;
@@ -450,6 +452,8 @@ regN = \ray ->
Masc => mkProperNameMasc ivan anim ;
_ => mkProperNameFem ivan anim
} ** {lock_PN =<>};
+ regPN x = mkPN x masculine animate ;
+
nounPN n = {s=\\c => n.s! SF Sg c; anim=n.anim; g=n.g; lock_PN=<>};
mkCN = UseN;
diff --git a/resource-1.0/spanish/ExtraRomanceSpa.gf b/resource-1.0/spanish/ExtraRomanceSpa.gf
new file mode 100644
index 00000000..d143b961
--- /dev/null
+++ b/resource-1.0/spanish/ExtraRomanceSpa.gf
@@ -0,0 +1,2 @@
+concrete ExtraRomanceSpa of ExtraRomanceAbs = CatSpa ** ExtraRomance with
+ (ResRomance = ResSpa) ;
diff --git a/resource-1.0/spanish/ExtraSpa.gf b/resource-1.0/spanish/ExtraSpa.gf
new file mode 100644
index 00000000..736a9536
--- /dev/null
+++ b/resource-1.0/spanish/ExtraSpa.gf
@@ -0,0 +1,5 @@
+concrete ExtraSpa of ExtraSpaAbs = ExtraRomanceSpa **
+ open CommonRomance, PhonoSpa, ParamX, ResSpa in {
+
+
+}
diff --git a/resource-1.0/spanish/ExtraSpaAbs.gf b/resource-1.0/spanish/ExtraSpaAbs.gf
new file mode 100644
index 00000000..be1a8ffa
--- /dev/null
+++ b/resource-1.0/spanish/ExtraSpaAbs.gf
@@ -0,0 +1,6 @@
+-- Structures special for Spanish. These are not implemented in other
+-- Romance languages.
+
+abstract ExtraSpaAbs = ExtraRomanceAbs ** {
+
+}
diff --git a/resource-1.0/spanish/LexiconSpa.gf b/resource-1.0/spanish/LexiconSpa.gf
index 659fd823..a6da3b48 100644
--- a/resource-1.0/spanish/LexiconSpa.gf
+++ b/resource-1.0/spanish/LexiconSpa.gf
@@ -128,7 +128,7 @@ lin
oil_N = regN "aceite" ;
old_A = prefA (regADeg "viejo") ;
open_V2 = dirV2 (special_ppV (regV "abrir") "abierto") ;
- paint_V2A = mkV2A (regV "pintar") accusative (mkPreposition "en") ;
+ paint_V2A = mkV2A (regV "pintar") accusative (mkPrep "en") ;
paper_N = regN "papel" ;
paris_PN = mkPN "Paris" masculine ;
peace_N = femN (regN "paz") ;
diff --git a/resource-1.0/spanish/ParadigmsSpa.gf b/resource-1.0/spanish/ParadigmsSpa.gf
index 61a2519a..f222a903 100644
--- a/resource-1.0/spanish/ParadigmsSpa.gf
+++ b/resource-1.0/spanish/ParadigmsSpa.gf
@@ -55,13 +55,13 @@ oper
-- amalgamate with the following word (the 'genitive' "de" and the
-- 'dative' "à").
- Preposition : Type ;
+ Prep : Type ;
- accusative : Preposition ;
- genitive : Preposition ;
- dative : Preposition ;
+ accusative : Prep ;
+ genitive : Prep ;
+ dative : Prep ;
- mkPreposition : Str -> Preposition ;
+ mkPrep : Str -> Prep ;
--2 Nouns
@@ -100,7 +100,7 @@ oper
--
-- Relational nouns ("fille de x") need a case and a preposition.
- mkN2 : N -> Preposition -> N2 ;
+ mkN2 : N -> Prep -> N2 ;
-- The most common cases are the genitive "de" and the dative "a",
-- with the empty preposition.
@@ -110,7 +110,7 @@ oper
-- Three-place relational nouns ("la connessione di x a y") need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ;
+ mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -125,7 +125,9 @@ oper
--
-- Proper names need a string and a gender.
- mkPN : Str -> Gender -> PN ; -- Jean
+ mkPN : Str -> Gender -> PN ; -- Jean
+ regPN : Str -> PN ; -- masculine
+
-- To form a noun phrase that can also be plural,
-- you can use the worst-case function.
@@ -156,7 +158,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ;
+ mkA2 : A -> Prep -> A2 ;
--3 Comparison adjectives
@@ -221,7 +223,7 @@ oper
-- 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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -234,9 +236,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
- mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de
- dirV3 : V -> Preposition -> V3 ; -- donner,_,à
- dirdirV3 : V -> V3 ; -- donner,_,_
+ mkV3 : V -> Prep -> Prep -> V3 ; -- parler, à, de
+ dirV3 : V -> Prep -> V3 ; -- donner,_,à
+ dirdirV3 : V -> V3 ; -- donner,_,_
--3 Other complement patterns
--
@@ -245,20 +247,20 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Preposition -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "je veux parler"
deVV : V -> VV ; -- "j'essaie de parler"
aVV : V -> VV ; -- "j'arrive à parler"
- mkV2V : V -> Preposition -> Preposition -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Preposition -> Preposition -> V2A ;
+ mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Preposition -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Preposition -> A2S ;
- mkAV : A -> Preposition -> AV ;
- mkA2V : A -> Preposition -> Preposition -> A2V ;
+ mkA2S : A -> Prep -> A2S ;
+ mkAV : A -> Prep -> AV ;
+ mkA2V : A -> Prep -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -269,11 +271,11 @@ oper
AS, A2S, AV, A2V : Type ;
+--.
--2 The definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
---.
Gender = MorphoSpa.Gender ;
Number = MorphoSpa.Number ;
@@ -282,11 +284,11 @@ oper
singular = Sg ;
plural = Pl ;
- Preposition = Compl ;
+ Prep = Compl ;
accusative = complAcc ;
genitive = complGen ;
dative = complDat ;
- mkPreposition p = {s = p ; c = Acc ; isDir = False} ;
+ mkPrep p = {s = p ; c = Acc ; isDir = False} ;
mkN x y g = mkNounIrreg x y g ** {lock_N = <>} ;
@@ -301,6 +303,7 @@ oper
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
mkPN x g = {s = x ; g = g} ** {lock_PN = <>} ;
+ regPN x = mkPN x masculine ;
mkNP x g n = {s = (pn2np (mkPN x g)).s; a = agrP3 g n ; hasClit = False} ** {lock_NP = <>} ;
mkA a b c d e =
diff --git a/resource-1.0/spanish/Spanish.gf b/resource-1.0/spanish/Spanish.gf
new file mode 100644
index 00000000..4d71f62c
--- /dev/null
+++ b/resource-1.0/spanish/Spanish.gf
@@ -0,0 +1,7 @@
+--# -path=.:../romance:../abstract:../common:prelude
+
+concrete Spanish of SpanishAbs =
+ LangSpa,
+-- IrregSpa,
+ ExtraSpa
+ ** {} ;
diff --git a/resource-1.0/spanish/SpanishAbs.gf b/resource-1.0/spanish/SpanishAbs.gf
new file mode 100644
index 00000000..031820a5
--- /dev/null
+++ b/resource-1.0/spanish/SpanishAbs.gf
@@ -0,0 +1,5 @@
+abstract SpanishAbs =
+ Lang,
+-- IrregSpaAbs,
+ ExtraSpaAbs
+ ** {} ;
diff --git a/resource-1.0/spanish/StructuralSpa.gf b/resource-1.0/spanish/StructuralSpa.gf
index bb62aaf9..24d68080 100644
--- a/resource-1.0/spanish/StructuralSpa.gf
+++ b/resource-1.0/spanish/StructuralSpa.gf
@@ -5,7 +5,7 @@ concrete StructuralSpa of Structural = CatSpa **
lin
- above_Prep = mkPreposition "sobre" ;
+ above_Prep = mkPrep "sobre" ;
after_Prep = {s = ["despues"] ; c = MorphoSpa.genitive ; isDir = False} ;
all_Predet = {
s = \\a,c => prepCase c ++ aagrForms "todo" "toda" "todos" "todas" ! a ;
@@ -18,14 +18,14 @@ lin
because_Subj = ss "porque" ** {m = Indic} ;
before_Prep = {s = "antes" ; c = MorphoSpa.genitive ; isDir = False} ;
behind_Prep = {s = "detrás" ; c = MorphoSpa.genitive ; isDir = False} ;
- between_Prep = mkPreposition "entre" ;
+ between_Prep = mkPrep "entre" ;
both7and_DConj = {s1,s2 = etConj.s ; n = Pl} ;
but_PConj = ss "pero" ;
- by8agent_Prep = mkPreposition "por" ;
- by8means_Prep = mkPreposition "por" ;
+ by8agent_Prep = mkPrep "por" ;
+ by8means_Prep = mkPrep "por" ;
can8know_VV = mkVV (verboV (saber_71 "saber")) ;
can_VV = mkVV (verboV (poder_58 "poder")) ;
- during_Prep = mkPreposition "durante" ; ----
+ during_Prep = mkPrep "durante" ; ----
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
everybody_NP = mkNP ["todos"] Masc Pl ;
every_Det = {s = \\_,_ => "cada" ; n = Sg} ;
@@ -52,7 +52,7 @@ lin
"yo" "me" "me" "mí"
"mi" "mi" "mis" "mis"
Fem Sg P1 ;
- in_Prep = mkPreposition "en" ;
+ in_Prep = mkPrep "en" ;
it_Pron =
mkPronoun
"el" "lo" "le" "él"
@@ -65,7 +65,7 @@ lin
much_Det = {s = \\g,c => prepCase c ++ genForms "mucho" "mucha" ! g ; n = Sg} ;
must_VV = mkVV (verboV (deber_6 "deber")) ;
no_Phr = ss "no" ;
- on_Prep = mkPreposition "sobre" ;
+ on_Prep = mkPrep "sobre" ;
one_Quant = {s = \\g,c => prepCase c ++ genForms "uno" "una" ! g} ;
only_Predet = {s = \\_,c => prepCase c ++ "solamente" ; c = Nom} ;
or_Conj = {s = "o" ; n = Sg} ;
@@ -109,10 +109,10 @@ lin
} ;
this_NP = pn2np (mkPN ["esto"] Masc) ;
those_NP = mkNP ["esas"] Fem Pl ;
- through_Prep = mkPreposition "por" ;
+ through_Prep = mkPrep "por" ;
too_AdA = ss "demasiado" ;
to_Prep = complDat ;
- under_Prep = mkPreposition "bajo" ;
+ under_Prep = mkPrep "bajo" ;
very_AdA = ss "muy" ;
want_VV = mkVV (verboV (querer_64 "querer")) ;
we_Pron =
@@ -130,8 +130,8 @@ lin
whoPl_IP = {s = \\c => prepCase c ++ "quién" ; a = aagr Fem Pl} ;
whoSg_IP = {s = \\c => prepCase c ++ "quién" ; a = aagr Fem Sg} ;
why_IAdv = ss "porqué" ;
- without_Prep = mkPreposition "sin" ;
- with_Prep = mkPreposition "con" ;
+ without_Prep = mkPrep "sin" ;
+ with_Prep = mkPrep "con" ;
yes_Phr = ss "sí" ;
youSg_Pron = mkPronoun
"tu" "te" "te" "tí"
diff --git a/resource-1.0/swedish/ExtraSweAbs.gf b/resource-1.0/swedish/ExtraSweAbs.gf
new file mode 100644
index 00000000..9371b3e1
--- /dev/null
+++ b/resource-1.0/swedish/ExtraSweAbs.gf
@@ -0,0 +1,7 @@
+-- Structures special for Swedish. These are not implemented in other
+-- Scandinavian languages.
+
+abstract ExtraSweAbs = ExtraScandAbs ** {
+
+
+}
\ No newline at end of file
diff --git a/resource-1.0/swedish/LexiconSwe.gf b/resource-1.0/swedish/LexiconSwe.gf
index 80e6db9a..b8c7bc75 100644
--- a/resource-1.0/swedish/LexiconSwe.gf
+++ b/resource-1.0/swedish/LexiconSwe.gf
@@ -8,18 +8,18 @@ flags
lin
airplane_N = regGenN "flygplan" neutrum ;
- answer_V2S = mkV2S (regV "svarar") "till" ;
+ answer_V2S = mkV2S (regV "svarar") (mkPrep "till") ;
apartment_N = mk2N "lägenhet" "lägenheter" ;
apple_N = regGenN "äpple" neutrum ;
art_N = mk2N "konst" "konster" ;
- ask_V2Q = mkV2Q (regV "frågar") [] ;
+ ask_V2Q = mkV2Q (regV "frågar") noPrep ;
baby_N = regGenN "bebis" utrum ;
bad_A = irregA "dålig" "sämre" "sämst";
bank_N = mk2N "bank" "banker" ;
beautiful_A = mk3A "vacker" "vackert" "vackra" ;
become_VA = mkVA (mkV "bli" "blir""bli" "blev" "blivit" "bliven") ;
beer_N = regGenN "öl" neutrum ;
- beg_V2V = mkV2V (mkV "be" "ber""be" "blad" "bett" "bedd") [] "att" ;
+ beg_V2V = mkV2V (mkV "be" "ber""be" "blad" "bett" "bedd") noPrep (mkPrep "att") ;
big_A = irregA "stor" "större" "störst";
bike_N = mk2N "cykel" "cyklar" ;
bird_N = mk2N "fågel" "fåglar" ;
@@ -33,7 +33,7 @@ lin
bread_N = regGenN "bröd" neutrum ;
break_V2 = dirV2 (partV (mkV "slå" "slår" "slå" "slog" "slagit" "slagen") "sönder") ;
broad_A = mk2A "bred" "brett" ;
- brother_N2 = mkN2 ((mkN "bror" "brodern" "bröder" "bröderna")) "till" ;
+ brother_N2 = mkN2 ((mkN "bror" "brodern" "bröder" "bröderna")) (mkPrep "till") ;
brown_A = regA "brun" ;
butter_N = regGenN "smör" neutrum ;
buy_V2 = dirV2 (mk2V "köpa" "köpte") ;
@@ -59,18 +59,18 @@ lin
cousin_N = mk2N "kusin" "kusiner" ;
cow_N = mk2N "ko" "kor" ;
die_V = (mkV "dö" "dör" "dö" "dog" "dött" "dödd") ; ----
- distance_N3 = mkN3 (mk2N "avstånd" "avstånd") "från" "till" ;
+ distance_N3 = mkN3 (mk2N "avstånd" "avstånd") (mkPrep "från") (mkPrep "till") ;
dirty_A = regA "smutsig" ;
doctor_N = mk2N "läkare" "läkare" ;
dog_N = regGenN "hund" utrum ;
door_N = regGenN "dörr" utrum ;
drink_V2 = dirV2 (irregV "dricka" "drack" "druckit") ;
- easy_A2V = mkA2V (mk2A "lätt" "lätt") "för" ;
+ easy_A2V = mkA2V (mk2A "lätt" "lätt") (mkPrep "för") ;
eat_V2 = dirV2 (irregV "äta" "åt" "ätit") ;
empty_A = mkA "tom" "tomt" "tomma" "tomma" "tommare" "tommast" "tommaste" ;
enemy_N = regGenN "fiende" neutrum ;
factory_N = mk2N "fabrik" "fabriker" ;
- father_N2 = mkN2 ((mkN "far" "fadern" "fäder" "fäderna")) "till" ;
+ father_N2 = mkN2 ((mkN "far" "fadern" "fäder" "fäderna")) (mkPrep "till") ;
fear_VS = mkVS (regV "fruktar") ;
find_V2 = dirV2 (irregV "finna" "fann" "funnit") ;
fish_N = mk2N "fisk" "fiskar" ;
@@ -108,19 +108,19 @@ lin
learn_V2 = dirV2 (reflV (mkV "lära" "lär" "lär" "lärde" "lärt" "lärd")) ;
leather_N = mkN "läder" "lädret" "läder" "lädren" ;
leave_V2 = dirV2 (regV "lämnar") ;
- like_V2 = mkV2 (mk2V "tycka" "tyckte") "om" ;
- listen_V2 = mkV2 (regV "lyssnar") "på" ;
+ like_V2 = mkV2 (mk2V "tycka" "tyckte") (mkPrep "om") ;
+ listen_V2 = mkV2 (regV "lyssnar") (mkPrep "på") ;
live_V = (irregV "leva" "levde" "levt") ; ---- ?
long_A = irregA "lång" "längre" "längst" ;
lose_V2 = dirV2 (regV "förlora") ;
love_N = regGenN "kärlek" utrum ;
love_V2 = dirV2 (regV "älska") ;
man_N = (mkN "man" "mannen" "män" "männen") ;
- married_A2 = mkA2 (mk2A "gift" "gift") "med" ;
+ married_A2 = mkA2 (mk2A "gift" "gift") (mkPrep "med") ;
meat_N = regGenN "kött" neutrum ;
milk_N = regGenN "mjölk" utrum ; ---- -ar?
moon_N = regGenN "måne" utrum ;
- mother_N2 = mkN2 (mkN "mor" "modern" "mödrar" "mödrarna") "till" ;
+ mother_N2 = mkN2 (mkN "mor" "modern" "mödrar" "mödrarna") (mkPrep "till") ;
mountain_N = regGenN "berg" neutrum ;
music_N = mk2N "musik" "musiker" ; ---- er ?
narrow_A = regA "smal" ;
@@ -129,9 +129,9 @@ lin
oil_N = regGenN "olja" utrum ;
old_A = mkA "gammal" "gammalt" "gamla" "gamla" "äldre" "äldst" "äldsta" ;
open_V2 = dirV2 (regV "öppna") ;
- paint_V2A = mkV2A (regV "måla") [] ;
+ paint_V2A = mkV2A (regV "måla") noPrep ;
paper_N = mkN "papper" "pappret" "papper" "pappren" ;
- paris_PN = regPN "Paris" neutrum ;
+ paris_PN = regGenPN "Paris" neutrum ;
peace_N = regGenN "fred" utrum ; ---- ar?
pen_N = regGenN "penna" utrum ;
planet_N = mk2N "planet" "planeter" ;
@@ -158,8 +158,8 @@ lin
sea_N = mkN "sjö" "sjön" "sjöar" "sjöarna" ;
seek_V2 = dirV2 (mk2V "söka" "sökte") ;
see_V2 = dirV2 (mkV "se" "ser" "se" "såg" "sett" "sedd") ;
- sell_V3 = dirV3 (irregV "sälja" "sålde" "sålt") "till" ;
- send_V3 = dirV3 (regV "skicka") "till" ;
+ sell_V3 = dirV3 (irregV "sälja" "sålde" "sålt") (mkPrep "till") ;
+ send_V3 = dirV3 (regV "skicka") (mkPrep "till") ;
sheep_N = mk2N "får" "får" ;
ship_N = regGenN "skepp" neutrum ;
shirt_N = regGenN "skjorta" utrum ;
@@ -183,7 +183,7 @@ lin
switch8off_V2 = dirV2 (partV (irregV "stänga" "stängde" "stängt") "av") ;
switch8on_V2 = dirV2 (partV (irregV "slå" "slog" "slagit") "på") ;
table_N = regGenN "bord" neutrum ;
- talk_V3 = mkV3 (regV "prata") "till" "om" ;
+ talk_V3 = mkV3 (regV "prata") (mkPrep "till") (mkPrep "om") ;
teacher_N = mk2N "lärare" "lärare" ;
teach_V2 = dirV2 (regV "undervisa") ;
television_N = mk2N "television" "televisioner" ;
@@ -197,11 +197,11 @@ lin
understand_V2 = dirV2 (mkV "förstå" "förstår" "förstå" "förstod" "förstått" "förstådd") ;
university_N = regGenN "universitet" neutrum ;
village_N = mkN "by" "byn" "byar" "byarna" ;
- wait_V2 = mkV2 (regV "vänta") "på" ;
+ wait_V2 = mkV2 (regV "vänta") (mkPrep "på") ;
walk_V = (mkV "gå" "går" "gå" "gick" "gått" "gången") ;
warm_A = regA "varm" ;
war_N = regGenN "krig" neutrum ;
- watch_V2 = mkV2 (regV "titta") "på" ;
+ watch_V2 = mkV2 (regV "titta") (mkPrep "på") ;
water_N = mkN "vatten" "vattnet" "vatten" "vattnen" ;
white_A = regA "vit" ;
window_N = mkN "fönster" "fönstret" "fönster" "fönstren" ;
@@ -218,9 +218,9 @@ lin
now_Adv = mkAdv "nu" ;
already_Adv = mkAdv "redan" ;
song_N = mk2N "sång" "sånger" ;
- add_V3 = mkV3 (partV (irregV "lägga" "lade" "lagt") "till") [] "till" ;
+ add_V3 = mkV3 (partV (irregV "lägga" "lade" "lagt") "till") noPrep (mkPrep "till") ;
number_N = mkN "nummer" "numret" "numren" "numren" ;
- put_V2 = mkV2 (mkV "sätta" "sätter" "sätt" "satte" "satt" "satt") [] ;
+ put_V2 = mkV2 (mkV "sätta" "sätter" "sätt" "satte" "satt" "satt") noPrep ;
stop_V = regV "stanna" ;
jump_V = regV "hoppa" ;
@@ -315,7 +315,7 @@ lin
flow_V = rinna_V ;
fly_V = flyga_V ;
freeze_V = frysa_V ;
- give_V3 = dirV3 giva_V "till";
+ give_V3 = dirV3 giva_V (mkPrep "till");
hit_V2 = dirV2 (slå_V) ;
hold_V2 = dirV2 (hålla_V) ;
hunt_V2 = dirV2 (regV "jaga") ;
@@ -348,6 +348,7 @@ lin
wipe_V2 = dirV2 (regV "torka") ;
breathe_V = depV (regV "anda") ;
- fight_V2 = mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") "med" ;
+ fight_V2 =
+ mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") (mkPrep "med") ;
} ;
diff --git a/resource-1.0/swedish/ParadigmsSwe.gf b/resource-1.0/swedish/ParadigmsSwe.gf
index 4c98e8b5..287a76e4 100644
--- a/resource-1.0/swedish/ParadigmsSwe.gf
+++ b/resource-1.0/swedish/ParadigmsSwe.gf
@@ -59,7 +59,8 @@ oper
-- Prepositions used in many-argument functions are just strings.
- Preposition : Type = Str ;
+ mkPrep : Str -> Prep ;
+ noPrep : Prep ; -- empty string
--2 Nouns
@@ -100,7 +101,7 @@ oper
--
-- Relational nouns ("daughter of x") need a preposition.
- mkN2 : N -> Preposition -> N2 ;
+ mkN2 : N -> Prep -> N2 ;
-- The most common preposition is "av", and the following is a
-- shortcut for regular, $nonhuman$ relational nouns with "av".
@@ -112,7 +113,7 @@ oper
--
-- Three-place relational nouns ("the connection from x to y") need two prepositions.
- mkN3 : N -> Preposition -> Preposition -> N3 ;
+ mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -127,7 +128,8 @@ oper
--
-- Proper names, with a regular genitive, are formed as follows
- regPN : Str -> Gender -> PN ; -- John, John's
+ regGenPN : Str -> Gender -> PN ;
+ regPN : Str -> PN ; -- utrum
-- Sometimes you can reuse a common noun as a proper name, e.g. "Bank".
@@ -167,7 +169,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
- mkA2 : A -> Preposition -> A2 ;
+ mkA2 : A -> Prep -> A2 ;
--2 Adverbs
@@ -182,12 +184,6 @@ oper
mkAdA : Str -> AdA ;
---2 Prepositions
---
--- A preposition is just a string.
-
- mkPreposition : Str -> Preposition ;
-
--2 Verbs
--
-- The worst case needs five forms.
@@ -234,7 +230,7 @@ oper
-- 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 -> Preposition -> V2 ;
+ mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -243,8 +239,8 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
- mkV3 : V -> Preposition -> Preposition -> V3 ; -- tala med om
- dirV3 : V -> Preposition -> V3 ; -- ge _ till
+ mkV3 : V -> Prep -> Prep -> V3 ; -- tala med om
+ dirV3 : V -> Prep -> V3 ; -- ge _ till
dirdirV3 : V -> V3 ; -- ge _ _
--3 Other complement patterns
@@ -254,18 +250,18 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
- mkV2S : V -> Str -> V2S ;
+ mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
- mkV2V : V -> Str -> Str -> V2V ;
+ mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
- mkV2A : V -> Str -> V2A ;
+ mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
- mkV2Q : V -> Str -> V2Q ;
+ mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
- mkA2S : A -> Str -> A2S ;
+ mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
- mkA2V : A -> Str -> A2V ;
+ mkA2V : A -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -292,6 +288,9 @@ oper
nominative = Nom ;
genitive = Gen ;
+ mkPrep p = {s = p ; lock_Prep = <>} ;
+ noPrep = mkPrep [] ;
+
mkN = \apa,apan,apor,aporna -> {
s = nounForms apa apan apor aporna ;
g = case last apan of {
@@ -381,11 +380,12 @@ oper
} ;
- mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
- regN2 n g = mkN2 (regGenN n g) (mkPreposition "av") ;
- mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
+ mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p.s} ;
+ regN2 n g = mkN2 (regGenN n g) (mkPrep "av") ;
+ mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p.s ; c3 = q.s} ;
- regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
+ regPN n = regGenPN n utrum ;
+ regGenPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
nounPN n = {s = n.s ! singular ! Indef ; g = n.g ; lock_PN = <>} ;
mkNP x y n g =
{s = table {NPPoss _ => y ; _ => x} ; a = agrP3 g n ; p = P3 ;
@@ -413,14 +413,12 @@ oper
compoundA adj = {s = adj.s ; isComp = True ; lock_A = <>} ;
- mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
+ mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ;
mkAdv x = ss x ** {lock_Adv = <>} ;
mkAdV x = ss x ** {lock_AdV = <>} ;
mkAdA x = ss x ** {lock_AdA = <>} ;
- mkPreposition p = p ;
-
mkV = \finna,finner,finn,fann,funnit,funnen ->
let
funn = ptPretForms funnen ;
@@ -489,12 +487,12 @@ oper
depV v = {s = v.s ; part = v.part ; vtype = VPass ; lock_V = <>} ;
reflV v = {s = v.s ; part = v.part ; vtype = VRefl ; lock_V = <>} ;
- mkV2 v p = v ** {c2 = p ; lock_V2 = <>} ;
- dirV2 v = mkV2 v [] ;
+ mkV2 v p = v ** {c2 = p.s ; lock_V2 = <>} ;
+ dirV2 v = mkV2 v noPrep ;
- mkV3 v p q = v ** {c2 = p ; c3 = q ; lock_V3 = <>} ;
- dirV3 v p = mkV3 v [] p ;
- dirdirV3 v = dirV3 v [] ;
+ mkV3 v p q = v ** {c2 = p.s ; c3 = q.s ; lock_V3 = <>} ;
+ dirV3 v p = mkV3 v noPrep p ;
+ dirdirV3 v = dirV3 v noPrep ;
mkV0 v = v ** {lock_V0 = <>} ;
mkVS v = v ** {lock_VS = <>} ;