forked from GitHub/gf-core
inspected ParadigmsX
This commit is contained in:
@@ -24,15 +24,17 @@
|
||||
-- video recorder dialogue systems, software specifications, and a
|
||||
-- health-related phrase book. Each new application helped to identify some
|
||||
-- missing structures in the resource and suggested some additions, but the
|
||||
-- number of them was usually small.
|
||||
-- number of required additions was usually small.
|
||||
--
|
||||
-- To use the resource in applications, you need the following
|
||||
-- $cat$ and $fun$ rules in $oper$ form, completed by taking the
|
||||
-- $lincat$ and $lin$ judgements of a particular language. This is done
|
||||
-- by using, instead of this module, the $reuse$ module which has the name
|
||||
-- $ResourceX$
|
||||
-- $ResourceX$. It is located in the subdirectory
|
||||
-- $grammars/resource/lang$ where $lang$ is the full name of the language.
|
||||
|
||||
abstract Combinations = {
|
||||
|
||||
abstract Combinations = PredefAbs ** {
|
||||
--!
|
||||
--2 Categories
|
||||
--
|
||||
@@ -221,9 +223,9 @@ fun
|
||||
PosVG,NegVG : VG -> VP ; --
|
||||
|
||||
--!
|
||||
--3 Adverbials
|
||||
--3 Adverbs
|
||||
--
|
||||
-- Here is how complex adverbials can be formed and used.
|
||||
-- Here is how complex adverbs can be formed and used.
|
||||
|
||||
AdjAdv : AP -> AdV ; -- "freely", "more consciously than you"
|
||||
PrepNP : Prep -> NP -> AdV ; -- "in London", "after the war"
|
||||
@@ -237,9 +239,9 @@ fun
|
||||
--
|
||||
|
||||
PredVP : NP -> VP -> S ; -- "John walks"
|
||||
PosSlashTV, NegSlashTV : NP -> TV -> Slash ; -- "John sees", "John doesn's see"
|
||||
PosSlashTV,NegSlashTV : NP -> TV -> Slash ; -- "John sees", "John doesn's see"
|
||||
OneVP : VP -> S ; -- "one walks"
|
||||
ThereNP : NP -> S ; -- "there is a bar","there are 86 bars"
|
||||
ThereNP : NP -> S ; -- "there is a bar","there are 86 bars"
|
||||
|
||||
IdRP : RP ; -- "which"
|
||||
FunRP : Fun -> RP -> RP ; -- "the successor of which"
|
||||
@@ -317,9 +319,9 @@ fun
|
||||
-- These are, more generally, *one-phrase utterances*. The list below
|
||||
-- is very incomplete.
|
||||
|
||||
PhrNP : NP -> Phr ; -- "Some man.", "John."
|
||||
PhrNP : NP -> Phr ; -- "Some man.", "John."
|
||||
PhrOneCN, PhrManyCN : CN -> Phr ; -- "A car.", "Cars."
|
||||
PhrIP : IAdv -> Phr ; -- "Who?"
|
||||
PhrIP : IAdv -> Phr ; -- "Who?"
|
||||
PhrIAdv : IAdv -> Phr ; -- "Why?"
|
||||
|
||||
--!
|
||||
|
||||
@@ -41,7 +41,7 @@ fun
|
||||
-- Depending on language, all, some, or none of there verbs belong to
|
||||
-- a separate class of *auxiliary* verbs. The list is incomplete.
|
||||
|
||||
CanVV, CanKnowVV, MustVV : VV ; -- can (pouvoir/savoir), must
|
||||
CanVV, CanKnowVV, MustVV : VV ; -- can (pouvoir,savoir), must
|
||||
WantVV : VV ; -- want (to do)
|
||||
|
||||
--!
|
||||
@@ -65,7 +65,7 @@ fun
|
||||
--!
|
||||
--2 Prepositions
|
||||
--
|
||||
-- We have carefully chosen a set of semantic relations expressible
|
||||
-- We have chosen a set of semantic relations expressible
|
||||
-- by prepositions in some languages, by cases or postpositions in
|
||||
-- others. Complement uses of prepositions are not included, and
|
||||
-- should be treated by the use of many-place verbs, adjectives, and
|
||||
|
||||
@@ -13,8 +13,9 @@
|
||||
--
|
||||
-- The main difference with $MorphoEng.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
-- had the design principle of always having existing forms as string
|
||||
-- arguments of the paradigms, not stems.
|
||||
-- had the design principle of always having existing forms, rather
|
||||
-- than stems, as string
|
||||
-- arguments of the paradigms.
|
||||
--
|
||||
-- The following modules are presupposed:
|
||||
|
||||
@@ -33,6 +34,11 @@ oper
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
|
||||
-- To abstract over case names, we define the following.
|
||||
|
||||
nominative : Case ;
|
||||
genitive : Case ;
|
||||
|
||||
|
||||
--2 Nouns
|
||||
|
||||
@@ -69,8 +75,8 @@ oper
|
||||
|
||||
pnReg : (John : Str) -> PN ; -- John, John's
|
||||
|
||||
-- The most common cases on the top level havee shortcuts.
|
||||
-- The regular "y"/"s" variation is taken into account in $CN$.
|
||||
-- The most common cases on the higher-level category $CN$ have shortcuts.
|
||||
-- The regular "y"/"s" variation is taken into account.
|
||||
|
||||
cnNonhuman : Str -> CN ;
|
||||
cnHuman : Str -> CN ;
|
||||
@@ -102,7 +108,7 @@ oper
|
||||
aFat : (fat : Str) -> AdjDeg ; -- fat, fatter, fattest
|
||||
aRidiculous : (ridiculous : Str) -> AdjDeg ; -- -/more/most ridiculous
|
||||
|
||||
-- On top level, there are adjectival phrases. The most common case is
|
||||
-- On higher level, there are adjectival phrases. The most common case is
|
||||
-- just to use a one-place adjective.
|
||||
|
||||
apReg : Str -> AP ;
|
||||
@@ -112,7 +118,7 @@ oper
|
||||
-- Adverbs are not inflected. Most lexical ones have position not
|
||||
-- before the verb. Some can be preverbal (e.g. "always").
|
||||
|
||||
mkAdv : Str -> AdV ;
|
||||
mkAdv : Str -> AdV ;
|
||||
mkAdvPre : Str -> AdV ;
|
||||
|
||||
-- Adverbs modifying adjectives and sentences can also be formed.
|
||||
@@ -167,9 +173,9 @@ oper
|
||||
|
||||
-- Ditransitive verbs.
|
||||
|
||||
mkV3 : V -> Str -> Str -> V3 ; -- prata, med, om
|
||||
v3Dir : V -> Str -> V3 ; -- ge,_,till
|
||||
v3DirDir : V -> V3 ; -- ge,_,_
|
||||
mkV3 : V -> Str -> Str -> V3 ; -- speak, with, about
|
||||
v3Dir : V -> Str -> V3 ; -- give,_,to
|
||||
v3DirDir : V -> V3 ; -- give,_,_
|
||||
|
||||
-- The definitions should not bother the user of the API. So they are
|
||||
-- hidden from the document.
|
||||
@@ -177,10 +183,11 @@ oper
|
||||
|
||||
human = Hum ;
|
||||
nonhuman = NoHum ;
|
||||
-- singular defined in types.Eng
|
||||
-- plural defined in types.Eng
|
||||
singular = Sg ;
|
||||
plural = Pl ;
|
||||
|
||||
nominative = Nom ;
|
||||
genitive = Nom ;
|
||||
|
||||
mkN = \man,men,man's,men's,g ->
|
||||
mkNoun man men man's men's ** {g = g ; lock_N = <>} ;
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
-- Closed categories (determiners, pronouns, conjunctions) are
|
||||
-- accessed through the resource syntax API, $Structural.gf$.
|
||||
--
|
||||
-- The main difference with $morpho.Fin.gf$ is that the types
|
||||
-- The main difference with $MorphoFin.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
-- had the design principle of always having existing forms as string
|
||||
-- arguments of the paradigms, not stems.
|
||||
-- had the design principle of always having existing forms, not
|
||||
-- stems, as string arguments of the paradigms, not stems.
|
||||
--
|
||||
-- This is the path to read the grammar from the same directory.
|
||||
--# -path=.:../abstract:../../prelude
|
||||
@@ -30,8 +30,8 @@ oper
|
||||
human : Gender ;
|
||||
nonhuman : Gender ;
|
||||
|
||||
-- singular : Number ;
|
||||
-- singular : Number ;
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
|
||||
nominative : Case ;
|
||||
genitive : Case ;
|
||||
@@ -50,7 +50,8 @@ oper
|
||||
-- stems, vowel alternation, and vowel harmony.
|
||||
|
||||
oper
|
||||
mkN : (talo,talon,talona,taloa,taloon,taloina,taloissa,talojen,taloja,taloihin
|
||||
mkN :
|
||||
(talo,talon,talona,taloa,taloon,taloina,taloissa,talojen,taloja,taloihin
|
||||
: Str) -> Gender -> N ;
|
||||
|
||||
-- Nouns with partitive "a"/"ä" are a large group.
|
||||
@@ -147,12 +148,13 @@ oper
|
||||
-- Nouns used as functions need a case, of which by far the commonest is
|
||||
-- the genitive.
|
||||
|
||||
mkFun : N -> Case -> Fun ;
|
||||
fGen : N -> Fun ;
|
||||
mkFun : N -> Case -> Fun ;
|
||||
fGen : N -> Fun ;
|
||||
|
||||
-- Proper names can be formed by using declensions for nouns.
|
||||
-- The plural forms are filtered away by the compiler.
|
||||
|
||||
mkPN : N -> PN ;
|
||||
mkPN : N -> PN ;
|
||||
|
||||
|
||||
--2 Adjectives
|
||||
@@ -225,8 +227,8 @@ oper
|
||||
-- The definitions should not bother the user of the API. So they are
|
||||
-- hidden from the document.
|
||||
--.
|
||||
-- singular defined in types.Fin
|
||||
-- plural defined in types.Fin
|
||||
singular = Sg ;
|
||||
plural = Pl ;
|
||||
|
||||
human = Human ;
|
||||
nonhuman = NonHuman ;
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
--
|
||||
-- The main difference with $MorphoFre.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
-- had the design principle of always having existing forms as string
|
||||
-- arguments of the paradigms, not stems.
|
||||
-- had the design principle of always having existing forms, not stems, as string
|
||||
-- arguments of the paradigms.
|
||||
--
|
||||
-- The following modules are presupposed:
|
||||
|
||||
resource ParadigmsFre =
|
||||
open (Predef=Predef), Prelude, (Types = TypesFre), SyntaxFre, MorphoFre,
|
||||
open Prelude, (Types = TypesFre), SyntaxFre, MorphoFre,
|
||||
ResourceFre in {
|
||||
|
||||
--2 Parameters
|
||||
@@ -30,18 +30,21 @@ oper
|
||||
masculine : Gender ;
|
||||
feminine : Gender ;
|
||||
|
||||
-- To abstract over case names, we define the following.
|
||||
-- To abstract over number names, we define the following.
|
||||
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
|
||||
-- To abstract over case names, we define the following. (Except for
|
||||
-- some pronouns, the accusative is equal to the nominative, the
|
||||
-- dative is formed by the preposition "à", and the genitive by the
|
||||
-- preposition "de".)
|
||||
|
||||
nominative : Case ;
|
||||
accusative : Case ;
|
||||
dative : Case ;
|
||||
genitive : Case ;
|
||||
|
||||
-- To abstract over number names, we define the following.
|
||||
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
|
||||
|
||||
--2 Nouns
|
||||
|
||||
@@ -55,7 +58,7 @@ oper
|
||||
nReg : Str -> Gender -> N ; -- regular, e.g. maison, (maisons,) feminine
|
||||
nEau : Str -> Gender -> N ; -- eau, (eaux,) feminine
|
||||
nCas : Str -> Gender -> N ; -- cas, (cas,) masculine
|
||||
nCheval : Str -> N ; -- cheval, (chevaux, masculine)
|
||||
nCheval : Str -> N ; -- cheval, (chevaux, masculine)
|
||||
|
||||
-- Nouns used as functions need a case and a preposition. The most common is "de".
|
||||
|
||||
@@ -115,7 +118,7 @@ oper
|
||||
--
|
||||
-- The fragment only has present tense so far, but in all persons.
|
||||
-- These are examples of standard conjugations are available. The full list
|
||||
-- of Bescherelle conjugations is given in $morpho.Fra.gf$, with all forms
|
||||
-- of Bescherelle conjugations is given in $MorphoFra.gf$, with all forms
|
||||
-- (their type is $Verbum$). The present-tense forms can be extracted by the
|
||||
-- function $extractVerb$.
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
--
|
||||
-- The main difference with $MorphoGer.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
-- had the design principle of always having existing forms as string
|
||||
-- arguments of the paradigms, not stems.
|
||||
-- had the design principle of always having existing forms, not stems, as string
|
||||
-- arguments of the paradigms.
|
||||
--
|
||||
-- The following modules are presupposed:
|
||||
|
||||
resource ParadigmsGer = open (Predef=Predef), Prelude,
|
||||
(Morpho=MorphoGer), SyntaxGer, ResourceGer in {
|
||||
resource ParadigmsGer =
|
||||
open Prelude, (Morpho=MorphoGer), SyntaxGer, ResourceGer in {
|
||||
|
||||
|
||||
--2 Parameters
|
||||
@@ -174,7 +174,7 @@ oper
|
||||
|
||||
-- Regular verbs are those where no Umlaut occurs.
|
||||
|
||||
vReg : Str -> V ; -- führen
|
||||
vReg : Str -> V ; -- führen
|
||||
|
||||
-- The verbs 'be' and 'have' are special.
|
||||
|
||||
@@ -194,11 +194,11 @@ oper
|
||||
-- Two-place verbs, and the special case with direct object. Notice that
|
||||
-- a particle can be included in a $V$.
|
||||
|
||||
mkTV : V -> Str -> Case -> TV ; -- hören, zu, dative
|
||||
mkTV : V -> Str -> Case -> TV ; -- hören, zu, dative
|
||||
|
||||
tvReg : Str -> Str -> Case -> TV ; -- hören, zu, dative
|
||||
tvDir : V -> TV ; -- umbringen
|
||||
tvDirReg : Str -> TV ; -- lieben
|
||||
tvReg : Str -> Str -> Case -> TV ; -- hören, zu, dative
|
||||
tvDir : V -> TV ; -- umbringen
|
||||
tvDirReg : Str -> TV ; -- lieben
|
||||
|
||||
-- Three-place verbs require two prepositions and cases.
|
||||
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
--
|
||||
-- The main difference with $MorphoIta.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
-- had the design principle of always having existing forms as string
|
||||
-- arguments of the paradigms, not stems.
|
||||
-- had the design principle of always having existing forms, not stems, as string
|
||||
-- arguments of the paradigms.
|
||||
--
|
||||
-- The following modules are presupposed:
|
||||
|
||||
resource ParadigmsIta =
|
||||
open (Predef=Predef), Prelude, (Types = TypesIta), SyntaxIta, MorphoIta,
|
||||
open Prelude, (Types = TypesIta), SyntaxIta, MorphoIta,
|
||||
ResourceIta in {
|
||||
|
||||
--2 Parameters
|
||||
@@ -30,7 +30,15 @@ oper
|
||||
masculine : Gender ;
|
||||
feminine : Gender ;
|
||||
|
||||
-- To abstract over case names, we define the following.
|
||||
-- To abstract over number names, we define the following.
|
||||
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
|
||||
-- To abstract over case names, we define the following. (Except for
|
||||
-- some pronouns, the accusative is equal to the nominative, the
|
||||
-- dative is formed by the preposition "a", and the genitive by the
|
||||
-- preposition "di".)
|
||||
|
||||
nominative : Case ;
|
||||
accusative : Case ;
|
||||
@@ -44,10 +52,6 @@ oper
|
||||
prep_su : Case ;
|
||||
prep_con : Case ;
|
||||
|
||||
-- To abstract over number names, we define the following.
|
||||
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
|
||||
--2 Nouns
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
--
|
||||
-- The main difference with $MorphoSwe.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
-- had the design principle of always having existing forms as string
|
||||
-- arguments of the paradigms, not stems.
|
||||
-- had the design principle of always having existing forms, not stems, as string
|
||||
-- arguments of the paradigms.
|
||||
--
|
||||
-- The following modules are presupposed:
|
||||
|
||||
@@ -28,7 +28,7 @@ oper
|
||||
utrum : Gender ;
|
||||
neutrum : Gender ;
|
||||
|
||||
masculine : Sex ;
|
||||
masculine : Sex ;
|
||||
nonmasculine : Sex ;
|
||||
|
||||
-- To abstract over case names, we define the following.
|
||||
@@ -195,8 +195,8 @@ oper
|
||||
nonmasculine = NoMasc ;
|
||||
nominative = Nom ;
|
||||
genitive = Gen ;
|
||||
-- singular defined in Types
|
||||
-- plural defined in Types
|
||||
singular = Sg ;
|
||||
plural = Pl ;
|
||||
|
||||
mkN = \apa, apan, apor, aporna, g, x -> let
|
||||
{nom = table {
|
||||
|
||||
Reference in New Issue
Block a user