forked from GitHub/gf-core
gfdocs
This commit is contained in:
382
lib/resource-0.6/doc/Combinations.html
Normal file
382
lib/resource-0.6/doc/Combinations.html
Normal file
@@ -0,0 +1,382 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1> Abstract Syntax for Multilingual Resource Grammar</h1>
|
||||
|
||||
<p>
|
||||
Aarne Ranta 2002 -- 2003
|
||||
<p>
|
||||
Although concrete syntax differs a lot between different languages,
|
||||
many structures can be treated as common, on the level
|
||||
of abstraction that GF provides.
|
||||
What we will present in the following is a linguistically oriented abstract
|
||||
syntax that has been successfully defined for the following languages:
|
||||
<p>
|
||||
<li><tt>Eng</tt>lish
|
||||
<li><tt>Fin</tt>nish
|
||||
<li><tt>Fre</tt>nch
|
||||
<li><tt>Ger</tt>man
|
||||
<li><tt>Ita</tt>lian
|
||||
<li><tt>Rus</tt>sian
|
||||
<li><tt>Swe</tt>dish
|
||||
<p>
|
||||
The three-letter prefixes are used in file names all over the resource
|
||||
grammar library; we refer to them commonly as <tt>X</tt> below.
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
The grammar has been applied to define language
|
||||
fragments on technical or near-to-technical domains: database queries,
|
||||
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 required additions was usually small.
|
||||
|
||||
To use the resource in applications, you need the following
|
||||
<tt>cat</tt> and <tt>fun</tt> rules in <tt>oper</tt> form, completed by taking the
|
||||
<tt>lincat</tt> and <tt>lin</tt> judgements of a particular language. This is done
|
||||
by using, instead of this module, the <tt>reuse</tt> module which has the name
|
||||
<tt>ResourceX</tt>. It is located in the subdirectory
|
||||
<tt>grammars/resource/lang</tt> where <tt>lang</tt> is the full name of the language.
|
||||
<pre>
|
||||
abstract Combinations = PredefAbs ** {
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> Categories</h2>
|
||||
<p>
|
||||
The categories of this resource grammar are mostly 'standard' categories
|
||||
of linguistics. Their is no claim that they correspond to semantic categories
|
||||
definable in type theory: to define such correspondences is the business
|
||||
of applications grammars. In general, the correspondence between linguistic
|
||||
and semantic categories is many-to-many.
|
||||
<p>
|
||||
Categories that may look special are <tt>Adj2</tt>, <tt>Fun</tt>, and <tt>TV</tt>. They are all
|
||||
instances of endowing another category with a complement, which can be either
|
||||
a direct object (whose case may vary) or a prepositional phrase. Prepositional
|
||||
phrases that are not complements belong to the category
|
||||
<tt>AdV</tt> of adverbials.
|
||||
<p>
|
||||
In each group below, some categories are <b>lexical</b> in the sense of only
|
||||
containing atomic elements. These elements are not necessarily expressed by
|
||||
one word in all languages; the essential thing is that they have no
|
||||
constituents. Thus they have no productions in this part of the
|
||||
resource grammar. The <tt>ParadigmsX</tt> grammars provide ways of defining
|
||||
lexical elements.
|
||||
<p>
|
||||
Lexical categories are listed before other categories
|
||||
in each group and divided by an empty line.
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Nouns and noun phrases</h3>
|
||||
<p>
|
||||
<pre>
|
||||
cat
|
||||
N ; -- simple common noun, e.g. "car"
|
||||
PN ; -- proper name, e.g. "John", "New York"
|
||||
Fun ; -- function word, e.g. "mother (of)"
|
||||
Fun2 ; -- two-place function, e.g. "flight (from) (to)"
|
||||
|
||||
CN ; -- common noun phrase, e.g. "red car", "car that John owns"
|
||||
NP ; -- noun phrase, e.g. "John", "all cars", "you"
|
||||
Det ; -- determiner, e.g. "every", "all"
|
||||
Num ; -- numeral, e.g. "three", "879"
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Adjectives and adjectival phrases</h3>
|
||||
<p>
|
||||
<pre>
|
||||
Adj1 ; -- one-place adjective, e.g. "even"
|
||||
Adj2 ; -- two-place adjective, e.g. "divisible (by)"
|
||||
AdjDeg ; -- degree adjective, e.g. "big/bigger/biggest"
|
||||
|
||||
AP ; -- adjective phrase, e.g. "divisible by two", "bigger than John"
|
||||
</pre>
|
||||
|
||||
The difference between <tt>Adj1</tt> and <tt>AdjDeg</tt> is that the former has no
|
||||
comparison forms.
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Verbs and verb phrases</h3>
|
||||
<p>
|
||||
<pre>
|
||||
V ; -- one-place verb, e.g. "walk"
|
||||
TV ; -- two-place verb, e.g. "love", "wait (for)", "switch on"
|
||||
V3 ; -- three-place verb, e.g. "give", "prefer (stg) (to stg)"
|
||||
VS ; -- sentence-compl. verb, e.g. "say", "prove"
|
||||
VV ; -- verb-compl. verb, e.g. "can", "want"
|
||||
|
||||
VG ; -- verbal group, e.g. "switch the light on"
|
||||
VP ; -- verb phrase, e.g. "switch the light on", "don't run"
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Adverbials</h3>
|
||||
<p>
|
||||
This group has no lexical categories.
|
||||
<pre>
|
||||
AdV ; -- adverbial e.g. "now", "in the house"
|
||||
AdA ; -- ad-adjective e.g. "very"
|
||||
AdS ; -- sentence adverbial e.g. "therefore", "otherwise"
|
||||
Prep ; -- pre/postposition, case e.g. "after", Adessive
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Sentences and relative clauses</h3>
|
||||
<p>
|
||||
This group has no lexical categories.
|
||||
<pre>
|
||||
S ; -- sentence, e.g. "John walks"
|
||||
Slash ; -- sentence without NP, e.g. "John waits for (...)"
|
||||
RP ; -- relative pronoun, e.g. "which", "the mother of whom"
|
||||
RC ; -- relative clause, e.g. "who walks", "that I wait for"
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Questions and imperatives</h3>
|
||||
<p>
|
||||
This group has no lexical categories.
|
||||
<pre>
|
||||
IP ; -- interrogative pronoun, e.g. "who", "whose mother", "which yellow car"
|
||||
IAdv ; -- interrogative adverb., e.g. "when", "why"
|
||||
Qu ; -- question, e.g. "who walks"
|
||||
Imp ; -- imperative, e.g. "walk!"
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Coordination and subordination</h3>
|
||||
<p>
|
||||
<pre>
|
||||
Conj ; -- conjunction, e.g. "and"
|
||||
ConjD ; -- distributed conj. e.g. "both - and"
|
||||
Subj ; -- subjunction, e.g. "if", "when"
|
||||
|
||||
ListS ; -- list of sentences
|
||||
ListAP ; -- list of adjectival phrases
|
||||
ListNP ; -- list of noun phrases
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Complete utterances</h3>
|
||||
<p>
|
||||
This group has no lexical categories.
|
||||
<pre>
|
||||
Phr ; -- full phrase, e.g. "John walks.","Who walks?", "Wait for me!"
|
||||
Text ; -- sequence of phrases e.g. "One is odd. Therefore, two is even."
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> Rules</h2>
|
||||
<p>
|
||||
This set of rules is minimal, in the sense of defining the simplest combinations
|
||||
of categories and not having redundant rules.
|
||||
When the resource grammar is used as a library, it will often be useful to
|
||||
access it through an intermediate library that defines more rules as
|
||||
'macros' for combinations of the ones below.
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Nouns and noun phrases</h3>
|
||||
<p>
|
||||
<pre>
|
||||
fun
|
||||
UseN : N -> CN ; -- "car"
|
||||
UsePN : PN -> NP ; -- "John"
|
||||
UseFun : Fun -> CN ; -- "successor"
|
||||
UseInt : Int -> Num ; -- "32" --- assumes i > 1
|
||||
|
||||
SymbPN : String -> PN ; -- "x"
|
||||
SymbCN : CN -> String -> CN ; -- "number x"
|
||||
|
||||
ModAdj : AP -> CN -> CN ; -- "red car"
|
||||
DetNP : Det -> CN -> NP ; -- "every car"
|
||||
MassNP : CN -> NP ; -- "wine"
|
||||
IndefOneNP : CN -> NP ; -- "a car", "cars"
|
||||
IndefNumNP : Num -> CN -> NP ; -- "houses", "86 houses"
|
||||
DefOneNP : CN -> NP ; -- "the car"
|
||||
DefNumNP : Num -> CN -> NP ; -- "the cars", "the 86 cars"
|
||||
ModGenOne : NP -> CN -> NP ; -- "John's car"
|
||||
ModGenNum : Num -> NP -> CN -> NP ; -- "John's cars", "John's 86 cars"
|
||||
AppFun : Fun -> NP -> CN ; -- "successor of zero"
|
||||
AppFun2 : Fun2 -> NP -> Fun ; -- "flight from Paris"
|
||||
CNthatS : CN -> S -> CN ; -- "idea that the Earth is flat"
|
||||
NoNum : Num ; -- no numeral modifier
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Adjectives and adjectival phrases</h3>
|
||||
<p>
|
||||
<pre>
|
||||
AdjP1 : Adj1 -> AP ; -- "red"
|
||||
PositAdjP : AdjDeg -> AP ; -- "old"
|
||||
|
||||
ComplAdj : Adj2 -> NP -> AP ; -- "divisible by two"
|
||||
ComparAdjP : AdjDeg -> NP -> AP ; -- "older than John"
|
||||
SuperlNP : AdjDeg -> CN -> NP ; -- "the oldest man"
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Verbs and verb phrases</h3>
|
||||
<p>
|
||||
The principal way of forming sentences (<tt>S</tt>) is by combining a noun phrase
|
||||
with a verb phrase (the <tt>PredVP</tt> rule below). In addition to this, verb
|
||||
phrases have uses in relative clauses and questions. Verb phrases already
|
||||
have (or have not) a negation, but they are formed from verbal groups
|
||||
(<tt>VG</tt>), which have both positive and negative forms.
|
||||
<pre>
|
||||
PredV : V -> VG ; -- "walk", "doesn't walk"
|
||||
PredPassV : V -> VG ; -- "is seen", "is not seen"
|
||||
PredTV : TV -> NP -> VG ; -- "sees John", "doesn't see John"
|
||||
PredVS : VS -> S -> VG ; -- "says that I run", "doesn't say..."
|
||||
PredVV : VV -> VG -> VG ; -- "can run", "can't run", "tries to run"
|
||||
PredV3 : V3 -> NP -> NP -> VG ; -- "prefers wine to beer"
|
||||
|
||||
PredNP : NP -> VG ; -- "is John", "is not John"
|
||||
PredAdV : AdV -> VG ; -- "is everywhere", "is not in France"
|
||||
PredAP : AP -> VG ; -- "is old", "isn't old"
|
||||
PredCN : CN -> VG ; -- "is a man", "isn't a man"
|
||||
VTrans : TV -> V ; -- "loves"
|
||||
|
||||
PosVG,NegVG : VG -> VP ; --
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Adverbs</h3>
|
||||
<p>
|
||||
Here is how complex adverbs can be formed and used.
|
||||
<pre>
|
||||
AdjAdv : AP -> AdV ; -- "freely", "more consciously than you"
|
||||
PrepNP : Prep -> NP -> AdV ; -- "in London", "after the war"
|
||||
|
||||
AdvVP : VP -> AdV -> VP ; -- "always walks", "walks in the park"
|
||||
AdvCN : CN -> AdV -> CN ; -- "house in London", "house today"
|
||||
AdvAP : AdA -> AP -> AP ; -- "very good"
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Sentences and relative clauses</h3>
|
||||
<p>
|
||||
<pre>
|
||||
PredVP : NP -> VP -> S ; -- "John walks"
|
||||
PosSlashTV,NegSlashTV : NP -> TV -> Slash ; -- "John sees", "John doesn't see"
|
||||
OneVP : VP -> S ; -- "one walks"
|
||||
ThereNP : NP -> S ; -- "there is a bar","there are 86 bars"
|
||||
|
||||
IdRP : RP ; -- "which"
|
||||
FunRP : Fun -> RP -> RP ; -- "the successor of which"
|
||||
RelVP : RP -> VP -> RC ; -- "who walks", "who doesn't walk"
|
||||
RelSlash : RP -> Slash -> RC ; -- "that I wait for"/"for which I wait"
|
||||
ModRC : CN -> RC -> CN ; -- "man who walks"
|
||||
RelSuch : S -> RC ; -- "such that it is even"
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Questions and imperatives</h3>
|
||||
<p>
|
||||
<pre>
|
||||
WhoOne, WhoMany : IP ; -- "who (is)", "who (are)"
|
||||
WhatOne, WhatMany : IP ; -- "what (is)", "what (are)"
|
||||
FunIP : Fun -> IP -> IP ; -- "the mother of whom"
|
||||
NounIPOne, NounIPMany : CN -> IP ; -- "which car", "which cars"
|
||||
|
||||
QuestVP : NP -> VP -> Qu ; -- "does John walk"; "doesn't John walk"
|
||||
IntVP : IP -> VP -> Qu ; -- "who walks"
|
||||
IntSlash : IP -> Slash -> Qu ; -- "whom does John see"
|
||||
QuestAdv : IAdv -> NP -> VP -> Qu ; -- "why do you walk"
|
||||
IsThereNP : NP -> Qu ; -- "is there a bar", "are there (86) bars"
|
||||
|
||||
ImperVP : VP -> Imp ; -- "be a man"
|
||||
|
||||
IndicPhrase : S -> Phr ; -- "I walk."
|
||||
QuestPhrase : Qu -> Phr ; -- "Do I walk?"
|
||||
ImperOne, ImperMany : Imp -> Phr ; -- "Be a man!", "Be men!"
|
||||
|
||||
AdvS : AdS -> S -> Phr ; -- "Therefore, 2 is prime."
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Coordination</h3>
|
||||
<p>
|
||||
We consider <i>n</i>-ary coordination, with <i>n</i> > 1. To this end, we have introduced
|
||||
a <b>list category</b> <tt>ListX</tt> for each category <tt>X</tt> whose expressions we want to
|
||||
conjoin. Each list category has two constructors, the base case being <tt>TwoX</tt>.
|
||||
We have not defined coordination of all possible categories here,
|
||||
since it can be tricky in many languages. For instance, <tt>VP</tt> coordination
|
||||
is linguistically problematic in German because <tt>VP</tt> is a discontinuous
|
||||
category.
|
||||
<pre>
|
||||
ConjS : Conj -> ListS -> S ; -- "John walks and Mary runs"
|
||||
ConjAP : Conj -> ListAP -> AP ; -- "even and prime"
|
||||
ConjNP : Conj -> ListNP -> NP ; -- "John or Mary"
|
||||
|
||||
ConjDS : ConjD -> ListS -> S ; -- "either John walks or Mary runs"
|
||||
ConjDAP : ConjD -> ListAP -> AP ; -- "both even and prime"
|
||||
ConjDNP : ConjD -> ListNP -> NP ; -- "either John or Mary"
|
||||
|
||||
TwoS : S -> S -> ListS ;
|
||||
ConsS : ListS -> S -> ListS ;
|
||||
|
||||
TwoAP : AP -> AP -> ListAP ;
|
||||
ConsAP : ListAP -> AP -> ListAP ;
|
||||
|
||||
TwoNP : NP -> NP -> ListNP ;
|
||||
ConsNP : ListNP -> NP -> ListNP ;
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h3> Subordination</h3>
|
||||
<p>
|
||||
Subjunctions are different from conjunctions, but form
|
||||
a uniform category among themselves.
|
||||
<pre>
|
||||
SubjS : Subj -> S -> S -> S ; -- "if 2 is odd, 3 is even"
|
||||
SubjImper : Subj -> S -> Imp -> Imp ; -- "if it is hot, use a glove!"
|
||||
SubjQu : Subj -> S -> Qu -> Qu ; -- "if you are new, who are you?"
|
||||
SubjVP : VP -> Subj -> S -> VP ; -- "(a man who) sings when he runs"
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> One-word utterances</h2>
|
||||
<p>
|
||||
These are, more generally, <b>one-phrase utterances</b>. The list below
|
||||
is very incomplete.
|
||||
<pre>
|
||||
PhrNP : NP -> Phr ; -- "Some man.", "John."
|
||||
PhrOneCN, PhrManyCN : CN -> Phr ; -- "A car.", "Cars."
|
||||
PhrIP : IAdv -> Phr ; -- "Who?"
|
||||
PhrIAdv : IAdv -> Phr ; -- "Why?"
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> Text formation</h2>
|
||||
<p>
|
||||
A text is a sequence of phrases. It is defined like a non-empty list.
|
||||
<pre>
|
||||
OnePhr : Phr -> Text ;
|
||||
ConsPhr : Phr -> Text -> Text ;
|
||||
|
||||
} ;
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
211
lib/resource-0.6/doc/ParadigmsEng.html
Normal file
211
lib/resource-0.6/doc/ParadigmsEng.html
Normal file
@@ -0,0 +1,211 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1></h1>
|
||||
|
||||
# -path=.:../abstract:../../prelude
|
||||
<h1> English Lexical Paradigms</h1>
|
||||
<p>
|
||||
Aarne Ranta 2003
|
||||
<p>
|
||||
This is an API to the user of the resource grammar
|
||||
for adding lexical items. It give shortcuts for forming
|
||||
expressions of basic categories: nouns, adjectives, verbs.
|
||||
|
||||
Closed categories (determiners, pronouns, conjunctions) are
|
||||
accessed through the resource syntax API, <tt>Structural.gf</tt>.
|
||||
<p>
|
||||
The main difference with <tt>MorphoEng.gf</tt> is that the types
|
||||
referred to are compiled resource grammar types. We have moreover
|
||||
had the design principle of always having existing forms, rather
|
||||
than stems, as string
|
||||
arguments of the paradigms.
|
||||
<p>
|
||||
The following modules are presupposed:
|
||||
<pre>
|
||||
resource ParadigmsEng = open (Predef=Predef), Prelude, SyntaxEng, ResourceEng in {
|
||||
</pre>
|
||||
|
||||
<h2> Parameters </h2>
|
||||
<p>
|
||||
To abstract over gender names, we define the following identifiers.
|
||||
<pre>
|
||||
oper
|
||||
human : Gender ;
|
||||
nonhuman : Gender ;
|
||||
</pre>
|
||||
|
||||
To abstract over number names, we define the following.
|
||||
<pre>
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
</pre>
|
||||
|
||||
To abstract over case names, we define the following.
|
||||
<pre>
|
||||
nominative : Case ;
|
||||
genitive : Case ;
|
||||
</pre>
|
||||
|
||||
<h2> Nouns</h2>
|
||||
Worst case: give all four forms and the semantic gender.
|
||||
In practice the worst case is just: give singular and plural nominative.
|
||||
<pre>
|
||||
oper
|
||||
mkN : (man,men,man's,men's : Str) -> Gender -> N ;
|
||||
nMan : (man,men : Str) -> Gender -> N ;
|
||||
</pre>
|
||||
|
||||
Regular nouns, nouns ending with <i>s</i>, <i>y</i>, or <i>o</i>, and nouns with the same
|
||||
plural form as the singular.
|
||||
<pre>
|
||||
nReg : Str -> Gender -> N ; -- dog, dogs
|
||||
nKiss : Str -> Gender -> N ; -- kiss, kisses
|
||||
nFly : Str -> Gender -> N ; -- fly, flies
|
||||
nHero : Str -> Gender -> N ; -- hero, heroes (= nKiss !)
|
||||
nSheep : Str -> Gender -> N ; -- sheep, sheep
|
||||
</pre>
|
||||
|
||||
These use general heuristics, that recognizes the last letter. <b>N.B</b> it
|
||||
does not get right with <i>boy</i>, <i>rush</i>, since it only looks at one letter.
|
||||
<pre>
|
||||
nHuman : Str -> N ; -- gambler/actress/nanny
|
||||
nNonhuman : Str -> N ; -- dog/kiss/fly
|
||||
</pre>
|
||||
|
||||
Nouns used as functions need a preposition. The most common is <i>of</i>.
|
||||
<pre>
|
||||
mkFun : N -> Preposition -> Fun ;
|
||||
|
||||
funHuman : Str -> Fun ; -- the father/mistress/daddy of
|
||||
funNonhuman : Str -> Fun ; -- the successor/address/copy of
|
||||
</pre>
|
||||
|
||||
Proper names, with their regular genitive.
|
||||
<pre>
|
||||
pnReg : (John : Str) -> PN ; -- John, John's
|
||||
</pre>
|
||||
|
||||
The most common cases on the higher-level category <tt>CN</tt> have shortcuts.
|
||||
The regular <i>y</i>/<i>s</i> variation is taken into account.
|
||||
<pre>
|
||||
cnNonhuman : Str -> CN ;
|
||||
cnHuman : Str -> CN ;
|
||||
npReg : Str -> NP ;
|
||||
</pre>
|
||||
|
||||
In some cases, you may want to make a complex <tt>CN</tt> into a function.
|
||||
<pre>
|
||||
mkFunCN : CN -> Preposition -> Fun ;
|
||||
funOfCN : CN -> Fun ;
|
||||
</pre>
|
||||
|
||||
<h2> Adjectives</h2>
|
||||
Non-comparison one-place adjectives just have one form.
|
||||
<pre>
|
||||
mkAdj1 : (even : Str) -> Adj1 ;
|
||||
</pre>
|
||||
|
||||
Two-place adjectives need a preposition as second argument.
|
||||
<pre>
|
||||
mkAdj2 : (divisible, by : Str) -> Adj2 ;
|
||||
</pre>
|
||||
|
||||
Comparison adjectives have three forms. The common irregular
|
||||
cases are ones ending with <i>y</i> and a consonant that is duplicated;
|
||||
the <i>y</i> ending is recognized by the function <tt>aReg</tt>.
|
||||
<pre>
|
||||
mkAdjDeg : (good,better,best : Str) -> AdjDeg ;
|
||||
|
||||
aReg : (long : Str) -> AdjDeg ; -- long, longer, longest
|
||||
aFat : (fat : Str) -> AdjDeg ; -- fat, fatter, fattest
|
||||
aRidiculous : (ridiculous : Str) -> AdjDeg ; -- -/more/most ridiculous
|
||||
</pre>
|
||||
|
||||
On higher level, there are adjectival phrases. The most common case is
|
||||
just to use a one-place adjective.
|
||||
<pre>
|
||||
apReg : Str -> AP ;
|
||||
</pre>
|
||||
|
||||
<h2> Adverbs</h2>
|
||||
Adverbs are not inflected. Most lexical ones have position not
|
||||
before the verb. Some can be preverbal (e.g. <i>always</i>).
|
||||
<pre>
|
||||
mkAdv : Str -> AdV ;
|
||||
mkAdvPre : Str -> AdV ;
|
||||
</pre>
|
||||
|
||||
Adverbs modifying adjectives and sentences can also be formed.
|
||||
<pre>
|
||||
mkAdA : Str -> AdA ;
|
||||
mkAdS : Str -> AdS ;
|
||||
</pre>
|
||||
|
||||
Prepositional phrases are another productive form of adverbials.
|
||||
<pre>
|
||||
mkPP : Str -> NP -> AdV ;
|
||||
</pre>
|
||||
|
||||
<h2> Verbs</h2>
|
||||
<p>
|
||||
The fragment now has all verb forms, except the gerund/present participle.
|
||||
Except for <i>be</i>, the worst case needs four forms: the infinitive and
|
||||
the third person singular present, the past indicative, and the past participle.
|
||||
<pre>
|
||||
mkV : (go, goes, went, gone : Str) -> V ;
|
||||
|
||||
vReg : (walk : Str) -> V ; -- walk, walks
|
||||
vKiss : (kiss : Str) -> V ; -- kiss, kisses
|
||||
vFly : (fly : Str) -> V ; -- fly, flies
|
||||
vGo : (go : Str) -> V ; -- go, goes (= vKiss !)
|
||||
</pre>
|
||||
|
||||
This generic function recognizes the special cases where the last
|
||||
character is <i>y</i>, <i>s</i>, or <i>z</i>. It is not right for <i>finish</i> and <i>convey</i>.
|
||||
<pre>
|
||||
vGen : Str -> V ; -- walk/kiss/fly
|
||||
</pre>
|
||||
|
||||
The verbs <i>be</i> and <i>have</i> are special.
|
||||
<pre>
|
||||
vBe : V ;
|
||||
vHave : V ;
|
||||
</pre>
|
||||
|
||||
Verbs with a particle.
|
||||
<pre>
|
||||
vPart : (go, goes, went, gone, up : Str) -> V ;
|
||||
vPartReg : (get, up : Str) -> V ;
|
||||
</pre>
|
||||
|
||||
Two-place verbs, and the special case with direct object.
|
||||
Notice that a particle can already be included in <tt>V</tt>.
|
||||
<pre>
|
||||
mkTV : V -> Str -> TV ; -- look for, kill
|
||||
|
||||
tvGen : (look, for : Str) -> TV ; -- look for, talk about
|
||||
tvDir : V -> TV ; -- switch off
|
||||
tvGenDir : (kill : Str) -> TV ; -- kill
|
||||
</pre>
|
||||
|
||||
Regular two-place verbs with a particle.
|
||||
<pre>
|
||||
tvPartReg : Str -> Str -> Str -> TV ; -- get, along, with
|
||||
</pre>
|
||||
|
||||
Ditransitive verbs.
|
||||
<pre>
|
||||
mkV3 : V -> Str -> Str -> V3 ; -- speak, with, about
|
||||
v3Dir : V -> Str -> V3 ; -- give,_,to
|
||||
v3DirDir : V -> V3 ; -- give,_,_
|
||||
</pre>
|
||||
|
||||
The definitions should not bother the user of the API. So they are
|
||||
hidden from the document.
|
||||
</body>
|
||||
</html>
|
||||
268
lib/resource-0.6/doc/ParadigmsFin.html
Normal file
268
lib/resource-0.6/doc/ParadigmsFin.html
Normal file
@@ -0,0 +1,268 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1> Finnish Lexical Paradigms</h1>
|
||||
|
||||
<p>
|
||||
Aarne Ranta 2003
|
||||
<p>
|
||||
This is an API to the user of the resource grammar
|
||||
for adding lexical items. It give shortcuts for forming
|
||||
expressions of basic categories: nouns, adjectives, verbs.
|
||||
|
||||
Closed categories (determiners, pronouns, conjunctions) are
|
||||
accessed through the resource syntax API, <tt>Structural.gf</tt>.
|
||||
<p>
|
||||
The main difference with <tt>MorphoFin.gf</tt> is that the types
|
||||
referred to are compiled resource grammar types. We have moreover
|
||||
had the design principle of always having existing forms, not
|
||||
stems, as string arguments of the paradigms, not stems.
|
||||
<p>
|
||||
This is the path to read the grammar from the same directory.
|
||||
# -path=.:../abstract:../../prelude
|
||||
<p>
|
||||
The following modules are presupposed:
|
||||
<pre>
|
||||
resource ParadigmsFin = open Prelude, SyntaxFin, ResourceFin in {
|
||||
</pre>
|
||||
|
||||
<h2> Parameters </h2>
|
||||
<p>
|
||||
To abstract over gender, number, and (some) case names,
|
||||
we define the following identifiers.
|
||||
<pre>
|
||||
oper
|
||||
human : Gender ;
|
||||
nonhuman : Gender ;
|
||||
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
|
||||
nominative : Case ;
|
||||
genitive : Case ;
|
||||
partitive : Case ;
|
||||
inessive : Case ;
|
||||
elative : Case ;
|
||||
illative : Case ;
|
||||
adessive : Case ;
|
||||
ablative : Case ;
|
||||
allative : Case ;
|
||||
</pre>
|
||||
|
||||
<h2> Nouns</h2>
|
||||
Worst case: give ten forms and the semantic gender.
|
||||
In practice just a couple of forms are needed, to define the different
|
||||
stems, vowel alternation, and vowel harmony.
|
||||
<pre>
|
||||
oper
|
||||
mkN :
|
||||
(talo,talon,talona,taloa,taloon,taloina,taloissa,talojen,taloja,taloihin
|
||||
: Str) -> Gender -> N ;
|
||||
</pre>
|
||||
|
||||
Nouns with partitive <i>a</i>/<i>ä</i> are a large group.
|
||||
To determine for grade and vowel alternation, three forms are usually needed:
|
||||
singular nominative and genitive, and plural partitive.
|
||||
Examples: <i>talo</i>, <i>kukko</i>, <i>huippu</i>, <i>koira</i>, <i>kukka</i>, <i>syylä</i>, <i>särki</i>...
|
||||
<pre>
|
||||
nKukko : (kukko,kukon,kukkoja : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
For convenience, we define 1-argument paradigms as producing the
|
||||
nonhuman gender; the following function changes this:
|
||||
<pre>
|
||||
humanN : N -> N ;
|
||||
</pre>
|
||||
|
||||
A special case are nouns with no alternations:
|
||||
the vowel harmony is inferred from the last letter,
|
||||
which must be one of <i>o</i>, <i>u</i>, <i>ö</i>, <i>y</i>.
|
||||
<pre>
|
||||
nTalo : (talo : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
Another special case are nouns where the last two consonants
|
||||
undergo regular weak-grade alternation:
|
||||
<i>kukko - kukon</i>, <i>rutto - ruton</i>, <i>hyppy - hypyn</i>, <i>sampo - sammon</i>,
|
||||
<i>kunto - kunnon</i>, <i>sisältö - sisällön</i>, .
|
||||
<pre>
|
||||
nLukko : (lukko : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
<i>arpi - arven</i>, <i>sappi - sapen</i>, <i>kampi - kammen</i>;<i>sylki - syljen</i>
|
||||
<pre>
|
||||
nArpi : (arpi : Str) -> N ;
|
||||
nSylki : (sylki : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
Foreign words ending in consonants are actually similar to words like
|
||||
<i>malli</i>/<i>mallin</i>/<i>malleja</i>, with the exception that the <i>i</i> is not attached
|
||||
to the singular nominative. Examples: <i>linux</i>, <i>savett</i>, <i>screen</i>.
|
||||
The singular partitive form is used to get the vowel harmony. (N.B. more than
|
||||
1-syllabic words ending in <i>n</i> would have variant plural genitive and
|
||||
partitive forms, like <i>sultanien</i>/<i>sultaneiden</i>, which are not covered.)
|
||||
<pre>
|
||||
nLinux : (linuxia : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
Nouns of at least 3 syllables ending with <i>a</i> or <i>ä</i>, like <i>peruna</i>, <i>tavara</i>,
|
||||
<i>rytinä</i>.
|
||||
<pre>
|
||||
nPeruna : (peruna : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
The following paradigm covers both nouns ending in an aspirated <i>e</i>, such as
|
||||
<i>rae</i>, <i>perhe</i>, <i>savuke</i>, and also many ones ending in a consonant
|
||||
(<i>rengas</i>, <i>kätkyt</i>). The singular nominative and essive are given.
|
||||
<pre>
|
||||
nRae : (rae, rakeena : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
The following covers nouns with partitive <i>ta</i>/<i>tä</i>, such as
|
||||
<i>susi</i>, <i>vesi</i>, <i>pieni</i>. To get all stems and the vowel harmony, it takes
|
||||
the singular nominative, genitive, and essive.
|
||||
<pre>
|
||||
nSusi : (susi,suden,sutta : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
Nouns ending with a long vowel, such as <i>puu</i>, <i>pää</i>, <i>pii</i>, <i>leikkuu</i>,
|
||||
are inflected according to the following.
|
||||
<pre>
|
||||
nPuu : (puu : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
One-syllable diphthong nouns, such as <i>suo</i>, <i>tie</i>, <i>työ</i>, are inflected by
|
||||
the following.
|
||||
<pre>
|
||||
nSuo : (suo : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
Many adjectives but also nouns have the nominative ending <i>nen</i> which in other
|
||||
cases becomes <i>s</i>: <i>nainen</i>, <i>ihminen</i>, <i>keltainen</i>.
|
||||
To capture the vowel harmony, we use the partitive form as the argument.
|
||||
<pre>
|
||||
nNainen : (naista : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
The following covers some nouns ending with a consonant, e.g.
|
||||
<i>tilaus</i>, <i>kaulin</i>, <i>paimen</i>, <i>laidun</i>.
|
||||
<pre>
|
||||
nTilaus : (tilaus,tilauksena : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
Special case:
|
||||
<pre>
|
||||
nKulaus : (kulaus : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
The following covers nouns like <i>nauris</i> and adjectives like <i>kallis</i>, <i>tyyris</i>.
|
||||
The partitive form is taken to get the vowel harmony.
|
||||
<pre>
|
||||
nNauris : (naurista : Str) -> N ;
|
||||
</pre>
|
||||
|
||||
Separately-written compound nouns, like <i>sambal oelek</i>, <i>Urho Kekkonen</i>,
|
||||
have only their last part inflected.
|
||||
<pre>
|
||||
nComp : Str -> N -> N ;
|
||||
</pre>
|
||||
|
||||
Nouns used as functions need a case, of which by far the commonest is
|
||||
the genitive.
|
||||
<pre>
|
||||
mkFun : N -> Case -> Fun ;
|
||||
fGen : N -> Fun ;
|
||||
</pre>
|
||||
|
||||
Proper names can be formed by using declensions for nouns.
|
||||
The plural forms are filtered away by the compiler.
|
||||
<pre>
|
||||
mkPN : N -> PN ;
|
||||
</pre>
|
||||
|
||||
<h2> Adjectives</h2>
|
||||
Non-comparison one-place adjectives are just like nouns.
|
||||
<pre>
|
||||
mkAdj1 : N -> Adj1 ;
|
||||
</pre>
|
||||
|
||||
Two-place adjectives need a case for the second argument.
|
||||
<pre>
|
||||
mkAdj2 : N -> Case -> Adj2 ;
|
||||
</pre>
|
||||
|
||||
Comparison adjectives have three forms. The comparative and the superlative
|
||||
are always inflected in the same way, so the nominative of them is actually
|
||||
enough (except for the superlative <i>paras</i> of <i>hyvä</i>).
|
||||
<pre>
|
||||
mkAdjDeg : (kiva : N) -> (kivempaa,kivinta : Str) -> AdjDeg ;
|
||||
</pre>
|
||||
|
||||
<h2> Verbs</h2>
|
||||
<p>
|
||||
The fragment only has present tense so far, but in all persons.
|
||||
The worst case needs five forms, as shown in the following.
|
||||
<pre>
|
||||
mkV : (tulla,tulen,tulee,tulevat,tulkaa,tullaan : Str) -> V ;
|
||||
</pre>
|
||||
|
||||
A simple special case is the one with just one stem and no grade alternation.
|
||||
It covers e.g. <i>sanoa</i>, <i>valua</i>, <i>kysyä</i>.
|
||||
<pre>
|
||||
vValua : (valua : Str) -> V ;
|
||||
</pre>
|
||||
|
||||
With two forms, the following function covers a variety of verbs, such as
|
||||
<i>ottaa</i>, <i>käyttää</i>, <i>löytää</i>, <i>huoltaa</i>, <i>hiihtää</i>, <i>siirtää</i>.
|
||||
<pre>
|
||||
vKattaa : (kattaa, katan : Str) -> V ;
|
||||
</pre>
|
||||
|
||||
When grade alternation is not present, just a one-form special case is needed
|
||||
(<i>poistaa</i>, <i>ryystää</i>).
|
||||
<pre>
|
||||
vOstaa : (ostaa : Str) -> V ;
|
||||
</pre>
|
||||
|
||||
The following covers
|
||||
<i>juosta</i>, <i>piestä</i>, <i>nousta</i>, <i>rangaista</i>, <i>kävellä</i>, <i>surra</i>, <i>panna</i>.
|
||||
<pre>
|
||||
vNousta : (nousta, nousen : Str) -> V ;
|
||||
</pre>
|
||||
|
||||
This is for one-syllable diphthong verbs like <i>juoda</i>, <i>syödä</i>.
|
||||
<pre>
|
||||
vTuoda : (tuoda : Str) -> V ;
|
||||
</pre>
|
||||
|
||||
The verbs <i>be</i> and the negative auxiliary are special.
|
||||
<pre>
|
||||
vOlla : V ;
|
||||
vEi : V ;
|
||||
</pre>
|
||||
|
||||
Two-place verbs need a case, and can have a pre- or postposition.
|
||||
At least one of the latter is empty, <tt>[]</tt>.
|
||||
<pre>
|
||||
mkTV : V -> Case -> (prep,postp : Str) -> TV ;
|
||||
</pre>
|
||||
|
||||
If both are empty, the following special function can be used.
|
||||
<pre>
|
||||
tvCase : V -> Case -> TV ;
|
||||
</pre>
|
||||
|
||||
Verbs with a direct (accusative) object
|
||||
are special, since their complement case is finally decided in syntax.
|
||||
<pre>
|
||||
tvDir : V -> TV ;
|
||||
</pre>
|
||||
|
||||
The definitions should not bother the user of the API. So they are
|
||||
hidden from the document.
|
||||
</body>
|
||||
</html>
|
||||
175
lib/resource-0.6/doc/ParadigmsFre.html
Normal file
175
lib/resource-0.6/doc/ParadigmsFre.html
Normal file
@@ -0,0 +1,175 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1></h1>
|
||||
|
||||
# -path=.:../romance:../abstract:../../prelude
|
||||
<h1> French Lexical Paradigms</h1>
|
||||
<p>
|
||||
Aarne Ranta 2003
|
||||
<p>
|
||||
This is an API to the user of the resource grammar
|
||||
for adding lexical items. It give shortcuts for forming
|
||||
expressions of basic categories: nouns, adjectives, verbs.
|
||||
|
||||
Closed categories (determiners, pronouns, conjunctions) are
|
||||
accessed through the resource syntax API, <tt>resource.Abs.gf</tt>.
|
||||
<p>
|
||||
The main difference with <tt>MorphoFre.gf</tt> is that the types
|
||||
referred to are compiled resource grammar types. We have moreover
|
||||
had the design principle of always having existing forms, not stems, as string
|
||||
arguments of the paradigms.
|
||||
<p>
|
||||
The following modules are presupposed:
|
||||
<pre>
|
||||
resource ParadigmsFre =
|
||||
open Prelude, (Types = TypesFre), SyntaxFre, MorphoFre,
|
||||
ResourceFre in {
|
||||
</pre>
|
||||
|
||||
<h2> Parameters </h2>
|
||||
<p>
|
||||
To abstract over gender names, we define the following identifiers.
|
||||
<pre>
|
||||
oper
|
||||
masculine : Gender ;
|
||||
feminine : Gender ;
|
||||
</pre>
|
||||
|
||||
To abstract over number names, we define the following.
|
||||
<pre>
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
</pre>
|
||||
|
||||
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 <i>à</i>, and the genitive by the
|
||||
preposition <i>de</i>.)
|
||||
<pre>
|
||||
nominative : Case ;
|
||||
accusative : Case ;
|
||||
dative : Case ;
|
||||
genitive : Case ;
|
||||
</pre>
|
||||
|
||||
<h2> Nouns</h2>
|
||||
Worst case: two forms (singular + plural),
|
||||
and the gender.
|
||||
<pre>
|
||||
mkN : (_,_ : Str) -> Gender -> N ; -- oeil, yeux, masculine
|
||||
</pre>
|
||||
|
||||
Often it is enough with one form. Some of them have a typical gender.
|
||||
<pre>
|
||||
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)
|
||||
</pre>
|
||||
|
||||
Nouns used as functions need a case and a preposition. The most common is <i>de</i>.
|
||||
<pre>
|
||||
funPrep : N -> Preposition -> Fun ;
|
||||
funCase : N -> Case -> Fun ;
|
||||
funDe : N -> Fun ;
|
||||
</pre>
|
||||
|
||||
Proper names, with their gender.
|
||||
<pre>
|
||||
mkPN : Str -> Gender -> PN ; -- Jean, masculine
|
||||
</pre>
|
||||
|
||||
On the top level, it is maybe <tt>CN</tt> that is used rather than <tt>N</tt>, and
|
||||
<tt>NP</tt> rather than <tt>PN</tt>.
|
||||
<pre>
|
||||
mkCN : N -> CN ;
|
||||
mkNP : Str -> Gender -> NP ;
|
||||
</pre>
|
||||
|
||||
<h2> Adjectives</h2>
|
||||
Non-comparison one-place adjectives need three forms in the worst case.
|
||||
A parameter tells if they are pre- or postpositions in modification.
|
||||
<pre>
|
||||
Position : Type ;
|
||||
prepos : Position ;
|
||||
postpos : Position ;
|
||||
|
||||
mkAdj1 : (bon, bonne, bons, bien : Str) -> Position -> Adj1 ;
|
||||
</pre>
|
||||
|
||||
Usually it is enough to give the two singular forms. Fully regular adjectives
|
||||
only need the masculine singular form.
|
||||
<pre>
|
||||
adj1Reg : Str -> Position -> Adj1 ;
|
||||
adj1Cher : (cher, chère : Str) -> Position -> Adj1 ;
|
||||
</pre>
|
||||
|
||||
Two-place adjectives need a preposition and a case as extra arguments.
|
||||
<pre>
|
||||
mkAdj2 : Adj1 -> Preposition -> Case -> Adj2 ; -- divisible par
|
||||
</pre>
|
||||
|
||||
Comparison adjectives may need two adjectives, corresponding to the
|
||||
positive and other forms.
|
||||
<pre>
|
||||
mkAdjDeg : (bon, meilleur : Adj1) -> AdjDeg ;
|
||||
</pre>
|
||||
|
||||
In the completely regular case, the comparison forms are constructed by
|
||||
the particle <i>plus</i>.
|
||||
<pre>
|
||||
aReg : Str -> Position -> AdjDeg ; -- lent (, plus lent)
|
||||
</pre>
|
||||
|
||||
On top level, there are adjectival phrases. The most common case is
|
||||
just to use a one-place adjective.
|
||||
<pre>
|
||||
apReg : Str -> Position -> AP ;
|
||||
</pre>
|
||||
|
||||
<h2> Verbs</h2>
|
||||
<p>
|
||||
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 <tt>MorphoFra.gf</tt>, with all forms
|
||||
(their type is <tt>Verbum</tt>). The present-tense forms can be extracted by the
|
||||
function <tt>extractVerb</tt>.
|
||||
<pre>
|
||||
vAimer : Str -> V ;
|
||||
vFinir : Str -> V ;
|
||||
vDormir : Str -> V ;
|
||||
vCourir : Str -> V ;
|
||||
vVenir : Str -> V ;
|
||||
|
||||
extractVerb : Verbum -> V ;
|
||||
</pre>
|
||||
|
||||
The verbs 'be' and 'have' are special.
|
||||
<pre>
|
||||
vEtre : V ;
|
||||
vAvoir : V ;
|
||||
</pre>
|
||||
|
||||
Two-place verbs, and the special case with direct object. Notice that
|
||||
a particle can be included in a <tt>V</tt>.
|
||||
<pre>
|
||||
mkTV : V -> Preposition -> Case -> TV ;
|
||||
tvDir : V -> TV ;
|
||||
</pre>
|
||||
|
||||
The idiom with <i>avoir</i> and an invariable noun, such as <i>peur</i>, <i>faim</i>,
|
||||
and a two-place variant with <i>de</i> + complement.
|
||||
<pre>
|
||||
avoirChose : Str -> V ;
|
||||
avoirChoseDe : Str -> TV ;
|
||||
</pre>
|
||||
|
||||
The definitions should not bother the user of the API. So they are
|
||||
hidden from the document.
|
||||
</body>
|
||||
</html>
|
||||
273
lib/resource-0.6/doc/ParadigmsGer.html
Normal file
273
lib/resource-0.6/doc/ParadigmsGer.html
Normal file
@@ -0,0 +1,273 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1></h1>
|
||||
|
||||
# -path=.:../abstract:../../prelude
|
||||
<h1> German Lexical Paradigms</h1>
|
||||
<p>
|
||||
Aarne Ranta 2003
|
||||
<p>
|
||||
This is an API to the user of the resource grammar
|
||||
for adding lexical items. It give shortcuts for forming
|
||||
expressions of basic categories: nouns, adjectives, verbs.
|
||||
|
||||
Closed categories (determiners, pronouns, conjunctions) are
|
||||
accessed through the resource syntax API, <tt>Resource.gf</tt>.
|
||||
Their original typings via abstract syntax are in
|
||||
<tt>Structural.gf</tt>, which also contains documentation.
|
||||
<p>
|
||||
The main difference with <tt>MorphoGer.gf</tt> is that the types
|
||||
referred to are compiled resource grammar types. We have moreover
|
||||
had the design principle of always having existing forms, not stems, as string
|
||||
arguments of the paradigms.
|
||||
<p>
|
||||
The following modules are presupposed:
|
||||
<pre>
|
||||
resource ParadigmsGer =
|
||||
open Prelude, (Morpho=MorphoGer), SyntaxGer, ResourceGer in {
|
||||
</pre>
|
||||
|
||||
<h2> Parameters </h2>
|
||||
<p>
|
||||
To abstract over gender names, we define the following identifiers.
|
||||
<pre>
|
||||
oper
|
||||
masculine : Gender ;
|
||||
feminine : Gender ;
|
||||
neuter : Gender ;
|
||||
</pre>
|
||||
|
||||
To abstract over case names, we define the following.
|
||||
<pre>
|
||||
nominative : Case ;
|
||||
accusative : Case ;
|
||||
dative : Case ;
|
||||
genitive : Case ;
|
||||
</pre>
|
||||
|
||||
To abstract over number names, we define the following.
|
||||
<pre>
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
</pre>
|
||||
|
||||
<h2> Nouns</h2>
|
||||
Worst case: give all four singular forms, two plural forms (others + dative),
|
||||
and the gender.
|
||||
<pre>
|
||||
mkN : (_,_,_,_,_,_ : Str) -> Gender -> N ;
|
||||
-- mann, mann, manne, mannes, männer, männern
|
||||
</pre>
|
||||
|
||||
Often it is enough with singular and plural nominatives, and singular
|
||||
genitive. The plural dative
|
||||
is computed by the heuristic that it is the same as the nominative this
|
||||
ends with <i>n</i> or <i>s</i>, otherwise <i>n</i> is added.
|
||||
<pre>
|
||||
nGen : Str -> Str -> Str -> Gender -> N ; -- punkt,punktes,punkt
|
||||
</pre>
|
||||
|
||||
Here are some common patterns. Singular nominative or two nominatives are needed.
|
||||
Two forms are needed in case of Umlaut, which would be complicated to define.
|
||||
For the same reason, we have separate patterns for multisyllable stems.
|
||||
|
||||
The weak masculine pattern <tt>nSoldat</tt> avoids duplicating the final <i>e</i>.
|
||||
<pre>
|
||||
nRaum : (_,_ : Str) -> N ; -- Raum, (Raumes,) Räume (masc)
|
||||
nTisch : Str -> N ; -- Tisch, (Tisches, Tische) (masc)
|
||||
nVater : (_,_ : Str) -> N ; -- Vater, (Vaters,) Väter (masc)
|
||||
nFehler : Str -> N ; -- Fehler, (fehlers, Fehler) (masc)
|
||||
nSoldat : Str -> N ; -- Soldat (, Soldaten) ; Kunde (, Kunden) (masc)
|
||||
</pre>
|
||||
|
||||
Neuter patterns.
|
||||
<pre>
|
||||
nBuch : (_,_ : Str) -> N ; -- Buch, (Buches, Bücher) (neut)
|
||||
nMesser : Str -> N ; -- Messer, (Messers, Messer) (neut)
|
||||
nAuto : Str -> N ; -- Auto, (Autos, Autos) (neut)
|
||||
</pre>
|
||||
|
||||
Feminine patterns. Duplicated <i>e</i> is avoided in <tt>nFrau</tt>.
|
||||
<pre>
|
||||
nHand : (_,_ : Str) -> N ; -- Hand, Hände; Mutter, Mütter (fem)
|
||||
nFrau : Str -> N ; -- Frau (, Frauen) ; Wiese (, Wiesen) (fem)
|
||||
</pre>
|
||||
|
||||
Nouns used as functions need a preposition. The most common is <i>von</i>.
|
||||
<pre>
|
||||
mkFun : N -> Preposition -> Case -> Fun ;
|
||||
funVon : N -> Fun ;
|
||||
</pre>
|
||||
|
||||
Proper names, with their possibly
|
||||
irregular genitive. The regular genitive is <i>s</i>, omitted after <i>s</i>.
|
||||
<pre>
|
||||
mkPN : (karolus, karoli : Str) -> PN ; -- karolus, karoli
|
||||
pnReg : (Johann : Str) -> PN ; -- Johann, Johanns ; Johannes, Johannes
|
||||
</pre>
|
||||
|
||||
On the top level, it is maybe <tt>CN</tt> that is used rather than <tt>N</tt>, and
|
||||
<tt>NP</tt> rather than <tt>PN</tt>.
|
||||
<pre>
|
||||
mkCN : N -> CN ;
|
||||
mkNP : (karolus,karoli : Str) -> NP ;
|
||||
|
||||
npReg : Str -> NP ; -- Johann, Johanns
|
||||
</pre>
|
||||
|
||||
In some cases, you may want to make a complex <tt>CN</tt> into a function.
|
||||
<pre>
|
||||
mkFunCN : CN -> Preposition -> Case -> Fun ;
|
||||
funVonCN : CN -> Fun ;
|
||||
</pre>
|
||||
|
||||
<h2> Adjectives</h2>
|
||||
Non-comparison one-place adjectives need two forms in the worst case:
|
||||
the one in predication and the one before the ending <i>e</i>.
|
||||
<pre>
|
||||
mkAdj1 : (teuer,teur : Str) -> Adj1 ;
|
||||
</pre>
|
||||
|
||||
Invariable adjective are a special case.
|
||||
<pre>
|
||||
adjInvar : Str -> Adj1 ; -- prima
|
||||
</pre>
|
||||
|
||||
The following heuristic recognizes the the end of the word, and builds
|
||||
the second form depending on if it is <i>e</i>, <i>er</i>, or something else.
|
||||
N.B. a contraction is made with <i>er</i>, which works for <i>teuer</i> but not
|
||||
for <i>bitter</i>.
|
||||
<pre>
|
||||
adjGen : Str -> Adj1 ; -- gut; teuer; böse
|
||||
</pre>
|
||||
|
||||
Two-place adjectives need a preposition and a case as extra arguments.
|
||||
<pre>
|
||||
mkAdj2 : Adj1 -> Str -> Case -> Adj2 ; -- teilbar, durch, acc
|
||||
</pre>
|
||||
|
||||
Comparison adjectives may need three adjective, corresponding to the
|
||||
three comparison forms.
|
||||
<pre>
|
||||
mkAdjDeg : (gut,besser,best : Adj1) -> AdjDeg ;
|
||||
</pre>
|
||||
|
||||
In many cases, each of these adjectives is itself regular. Then we only
|
||||
need three strings. Notice that contraction with <i>er</i> is not performed
|
||||
(<i>bessere</i>, not <i>bessre</i>).
|
||||
<pre>
|
||||
aDeg3 : (gut,besser,best : Str) -> AdjDeg ;
|
||||
</pre>
|
||||
|
||||
In the completely regular case, the comparison forms are constructed by
|
||||
the endings <i>er</i> and <i>st</i>.
|
||||
<pre>
|
||||
aReg : Str -> AdjDeg ; -- billig, billiger, billigst
|
||||
</pre>
|
||||
|
||||
The past participle of a verb can be used as an adjective.
|
||||
<pre>
|
||||
aPastPart : V -> Adj1 ; -- gefangen
|
||||
</pre>
|
||||
|
||||
On top level, there are adjectival phrases. The most common case is
|
||||
just to use a one-place adjective. The variation in <tt>adjGen</tt> is taken
|
||||
into account.
|
||||
<pre>
|
||||
apReg : Str -> AP ;
|
||||
</pre>
|
||||
|
||||
<h2> Verbs</h2>
|
||||
<p>
|
||||
The fragment only has present tense so far, but in all persons.
|
||||
It also has the infinitive and the past participles.
|
||||
The worst case macro needs four forms: : the infinitive and
|
||||
the third person singular (where Umlaut may occur), the singular imperative,
|
||||
and the past participle.
|
||||
|
||||
The function recognizes if the stem ends with <i>s</i> or <i>t</i> and performs the
|
||||
appropriate contractions.
|
||||
<pre>
|
||||
mkV : (_,_,_,_ : Str) -> V ; -- geben, gibt, gib, gegeben
|
||||
</pre>
|
||||
|
||||
Regular verbs are those where no Umlaut occurs.
|
||||
<pre>
|
||||
vReg : Str -> V ; -- führen
|
||||
</pre>
|
||||
|
||||
The verbs 'be' and 'have' are special.
|
||||
<pre>
|
||||
vSein : V ;
|
||||
vHaben : V ;
|
||||
</pre>
|
||||
|
||||
Some irregular verbs.
|
||||
<pre>
|
||||
vFahren : V ;
|
||||
</pre>
|
||||
|
||||
Verbs with a detachable particle, with regular ones as a special case.
|
||||
<pre>
|
||||
vPart : (_,_,_,_,_ : Str) -> V ; -- sehen, sieht, sieh, gesehen, aus
|
||||
vPartReg : (_,_ : Str) -> V ; -- bringen, um
|
||||
mkVPart : V -> Str -> V ; -- vFahren, aus
|
||||
</pre>
|
||||
|
||||
Two-place verbs, and the special case with direct object. Notice that
|
||||
a particle can be included in a <tt>V</tt>.
|
||||
<pre>
|
||||
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
|
||||
</pre>
|
||||
|
||||
Three-place verbs require two prepositions and cases.
|
||||
<pre>
|
||||
mkV3 : V -> Str -> Case -> Str -> Case -> V3 ; -- geben,[],dative,[],accusative
|
||||
</pre>
|
||||
|
||||
Sentence-complement verbs are just verbs.
|
||||
<pre>
|
||||
mkVS : V -> VS ;
|
||||
</pre>
|
||||
|
||||
Verb-complement verbs either need the <i>zu</i> particle or don't.
|
||||
The ones that don't are usually auxiliary verbs.
|
||||
<pre>
|
||||
vsAux : V -> VV ;
|
||||
vsZu : V -> VV ;
|
||||
</pre>
|
||||
|
||||
<h2> Adverbials</h2>
|
||||
<p>
|
||||
Adverbials for modifying verbs, adjectives, and sentences can be formed
|
||||
from strings.
|
||||
<pre>
|
||||
mkAdV : Str -> AdV ;
|
||||
mkAdA : Str -> AdA ;
|
||||
mkAdS : Str -> AdS ;
|
||||
</pre>
|
||||
|
||||
Prepositional phrases are another productive form of adverbials.
|
||||
<pre>
|
||||
mkPP : Case -> Str -> NP -> AdV ;
|
||||
</pre>
|
||||
|
||||
One can also use the function <tt>ResourceGer.PrepNP</tt> with one of the given
|
||||
prepositions or a preposition formed by giving a string and a case:
|
||||
<pre>
|
||||
mkPrep : Str -> Case -> Prep ;
|
||||
</pre>
|
||||
|
||||
The definitions should not bother the user of the API. So they are
|
||||
hidden from the document.
|
||||
</body>
|
||||
</html>
|
||||
192
lib/resource-0.6/doc/ParadigmsIta.html
Normal file
192
lib/resource-0.6/doc/ParadigmsIta.html
Normal file
@@ -0,0 +1,192 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1></h1>
|
||||
|
||||
# -path=.:../romance:../abstract:../../prelude
|
||||
<h1> Italian Lexical Paradigms</h1>
|
||||
<p>
|
||||
Aarne Ranta 2003
|
||||
<p>
|
||||
This is an API to the user of the resource grammar
|
||||
for adding lexical items. It give shortcuts for forming
|
||||
expressions of basic categories: nouns, adjectives, verbs.
|
||||
|
||||
Closed categories (determiners, pronouns, conjunctions) are
|
||||
accessed through the resource syntax API, <tt>resource.Abs.gf</tt>.
|
||||
<p>
|
||||
The main difference with <tt>MorphoIta.gf</tt> is that the types
|
||||
referred to are compiled resource grammar types. We have moreover
|
||||
had the design principle of always having existing forms, not stems, as string
|
||||
arguments of the paradigms.
|
||||
<p>
|
||||
The following modules are presupposed:
|
||||
<pre>
|
||||
resource ParadigmsIta =
|
||||
open Prelude, (Types = TypesIta), SyntaxIta, MorphoIta,
|
||||
ResourceIta in {
|
||||
</pre>
|
||||
|
||||
<h2> Parameters </h2>
|
||||
<p>
|
||||
To abstract over gender names, we define the following identifiers.
|
||||
<pre>
|
||||
oper
|
||||
masculine : Gender ;
|
||||
feminine : Gender ;
|
||||
</pre>
|
||||
|
||||
To abstract over number names, we define the following.
|
||||
<pre>
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
</pre>
|
||||
|
||||
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 <i>a</i>, and the genitive by the
|
||||
preposition <i>di</i>.)
|
||||
<pre>
|
||||
nominative : Case ;
|
||||
accusative : Case ;
|
||||
dative : Case ;
|
||||
genitive : Case ;
|
||||
|
||||
prep_a : Case ;
|
||||
prep_di : Case ;
|
||||
prep_da : Case ;
|
||||
prep_in : Case ;
|
||||
prep_su : Case ;
|
||||
prep_con : Case ;
|
||||
</pre>
|
||||
|
||||
<h2> Nouns</h2>
|
||||
Worst case: two forms (singular + plural),
|
||||
and the gender.
|
||||
<pre>
|
||||
mkN : (_,_ : Str) -> Gender -> N ; -- uomo, uomini, masculine
|
||||
</pre>
|
||||
|
||||
Often it is enough with one form. If it ends with
|
||||
<i>o</i> or <i>a</i>, no gender is needed; if with something else,
|
||||
the gender must be given.
|
||||
<pre>
|
||||
nVino : Str -> N ; -- vino (, vini, masculine)
|
||||
nRana : Str -> N ; -- rana (, rane, feminine)
|
||||
nSale : Str -> Gender -> N ; -- sale (, sali), masculine
|
||||
nTram : Str -> Gender -> N ; -- tram (, tram), masculine
|
||||
</pre>
|
||||
|
||||
Nouns used as functions need a case and a preposition. The most common is <i>di</i>.
|
||||
Recall that the prepositions <i>a</i>, <i>di</i>, <i>da</i>, <i>in</i>, <i>su</i>, <i>con</i> are treated
|
||||
as part of the case (cf. above).
|
||||
<pre>
|
||||
funPrep : N -> Preposition -> Fun ;
|
||||
funCase : N -> Case -> Fun ;
|
||||
funDi : N -> Fun ;
|
||||
</pre>
|
||||
|
||||
Proper names, with their gender.
|
||||
<pre>
|
||||
mkPN : Str -> Gender -> PN ; -- Giovanni, masculine
|
||||
</pre>
|
||||
|
||||
On the top level, it is maybe <tt>CN</tt> that is used rather than <tt>N</tt>, and
|
||||
<tt>NP</tt> rather than <tt>PN</tt>.
|
||||
<pre>
|
||||
mkCN : N -> CN ;
|
||||
mkNP : Str -> Gender -> NP ;
|
||||
</pre>
|
||||
|
||||
<h2> Adjectives</h2>
|
||||
Non-comparison one-place adjectives need four forms in the worst case.
|
||||
A parameter tells if they are pre- or postpositions in modification.
|
||||
<pre>
|
||||
Position : Type ;
|
||||
prepos : Position ;
|
||||
postpos : Position ;
|
||||
|
||||
mkAdj1 : (solo,sola,soli,sole,solamente : Str) -> Position -> Adj1 ;
|
||||
</pre>
|
||||
|
||||
Adjectives ending with <i>o</i> and <i>e</i>, and invariable adjectives,
|
||||
are the most important regular patterns.
|
||||
<pre>
|
||||
adj1Solo : (solo : Str) -> Bool -> Adj1 ;
|
||||
adj1Tale : (tale : Str) -> Bool -> Adj1 ;
|
||||
adj1Blu : (blu : Str) -> Bool -> Adj1 ;
|
||||
</pre>
|
||||
|
||||
Two-place adjectives need a preposition and a case as extra arguments.
|
||||
<pre>
|
||||
mkAdj2 : Adj1 -> Preposition -> Case -> Adj2 ; -- divisibile per
|
||||
</pre>
|
||||
|
||||
Comparison adjectives may need two adjectives, corresponding to the
|
||||
positive and other forms.
|
||||
<pre>
|
||||
mkAdjDeg : (buono, migliore : Adj1) -> AdjDeg ;
|
||||
</pre>
|
||||
|
||||
In the completely regular case, the comparison forms are constructed by
|
||||
the particle <i>più</i>.
|
||||
<pre>
|
||||
aSolo : Str -> Position -> AdjDeg ; -- lento (, più lento)
|
||||
aTale : Str -> Position -> AdjDeg ; -- grave (, più grave)
|
||||
aBlu : Str -> Position -> AdjDeg ; -- blu (, più blu)
|
||||
</pre>
|
||||
|
||||
On top level, there are adjectival phrases. The most common case is
|
||||
just to use a one-place adjective.
|
||||
<pre>
|
||||
apSolo : Str -> Position -> AP ;
|
||||
apTale : Str -> Position -> AP ;
|
||||
apBlu : Str -> Position -> AP ;
|
||||
</pre>
|
||||
|
||||
<h2> Verbs</h2>
|
||||
<p>
|
||||
The fragment only has present tense so far, but in all persons.
|
||||
The worst case needs nine forms (and is not very user-friendly).
|
||||
<pre>
|
||||
mkV : (_,_,_,_,_,_,_,_,_ : Str) -> V ;
|
||||
</pre>
|
||||
|
||||
These are examples of standard conjugations. Other conjugations
|
||||
can be extracted from the Italian functional morphology, which has full
|
||||
<i>Bescherelle</i> tables.
|
||||
<pre>
|
||||
vAmare : Str -> V ;
|
||||
vDormire : Str -> V ;
|
||||
vFinire : Str -> V ;
|
||||
vCorrere : (_,_ : Str) -> V ;
|
||||
</pre>
|
||||
|
||||
The verbs 'be' and 'have' are special.
|
||||
<pre>
|
||||
vEssere : V ;
|
||||
vAvere : V ;
|
||||
</pre>
|
||||
|
||||
Two-place verbs, and the special case with direct object. Notice that
|
||||
a particle can be included in a <tt>V</tt>.
|
||||
<pre>
|
||||
mkTV : V -> Preposition -> Case -> TV ;
|
||||
tvDir : V -> TV ;
|
||||
</pre>
|
||||
|
||||
The idiom with <i>avere</i> and an invariable noun, such as <i>paura</i>, <i>fame</i>,
|
||||
and a two-place variant with <i>di</i> + complement.
|
||||
<pre>
|
||||
averCosa : Str -> V ;
|
||||
averCosaDi : Str -> TV ;
|
||||
</pre>
|
||||
|
||||
The definitions should not bother the user of the API. So they are
|
||||
hidden from the document.
|
||||
</body>
|
||||
</html>
|
||||
238
lib/resource-0.6/doc/ParadigmsRus.html
Normal file
238
lib/resource-0.6/doc/ParadigmsRus.html
Normal file
@@ -0,0 +1,238 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1></h1>
|
||||
|
||||
# -path=.:../abstract:../../prelude
|
||||
<h1> Russian Lexical Paradigms
|
||||
</h1>
|
||||
|
||||
Aarne Ranta, Janna Khegai 2003
|
||||
|
||||
This is an API to the user of the resource grammar
|
||||
for adding lexical items. It give shortcuts for forming
|
||||
expressions of basic categories: nouns, adjectives, verbs.
|
||||
|
||||
Closed categories (determiners, pronouns, conjunctions) are
|
||||
accessed through the resource syntax API, <tt>resource.Abs.gf</tt>.
|
||||
|
||||
|
||||
The following files are presupposed:
|
||||
<pre>
|
||||
resource ParadigmsRus = open (Predef=Predef), Prelude, SyntaxRus, ResourceRus in {
|
||||
|
||||
flags coding=utf8 ;
|
||||
</pre>
|
||||
|
||||
<h2> Parameters
|
||||
</h2>
|
||||
|
||||
To abstract over gender names, we define the following identifiers.
|
||||
<pre>
|
||||
oper
|
||||
masculine : Gender ;
|
||||
feminine : Gender ;
|
||||
neuter : Gender ;
|
||||
</pre>
|
||||
|
||||
To abstract over case names, we define the following.
|
||||
<pre>
|
||||
nominative : Case ;
|
||||
genitive : Case ;
|
||||
dative : Case ;
|
||||
accusative : Case ;
|
||||
instructive : Case ;
|
||||
prepositional : Case ;
|
||||
</pre>
|
||||
|
||||
In some (written in English) textbooks accusative case
|
||||
is put on the second place. However, we follow the case order
|
||||
standard for Russian textbooks.
|
||||
To abstract over number names, we define the following.
|
||||
<pre>
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
</pre>
|
||||
|
||||
<h2> Nouns
|
||||
</h2>
|
||||
Best case: indeclinabe nouns: <i>кофе</i>, <i>пальто</i>, <i>ВУЗ</i>.
|
||||
<pre>
|
||||
mkIndeclinableNoun: Str -> Gender -> Animacy -> N ;
|
||||
</pre>
|
||||
|
||||
Worst case - give six singular forms:
|
||||
Nominative, Genetive, Dative, Accusative, Instructive and Prepositional;
|
||||
corresponding six plural forms and the gender.
|
||||
May be the number of forms needed can be reduced,
|
||||
but this requires a separate investigation.
|
||||
Animacy parameter (determining whether the Accusative form is equal
|
||||
to the Nominative or the Genetive one) is actually of no help,
|
||||
since there are a lot of exceptions and the gain is just one form less.
|
||||
<pre>
|
||||
mkN : (_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Animacy -> N ;
|
||||
|
||||
-- мужчина, мужчины, мужчине, мужчину, мужчиной, мужчине
|
||||
-- мужчины, мужчин, мужчинам, мужчин, мужчинами, мужчинах
|
||||
</pre>
|
||||
|
||||
Here are some common patterns. The list is far from complete.
|
||||
Feminine patterns.
|
||||
<pre>
|
||||
nMashina : Str -> N ; -- feminine, inanimate, ending with "-а", Inst -"машин-ой"
|
||||
nEdinica : Str -> N ; -- feminine, inanimate, ending with "-а", Inst -"единиц-ей"
|
||||
nZhenchina : Str -> N ; -- feminine, animate, ending with "-a"
|
||||
nNoga : Str -> N ; -- feminine, inanimate, ending with "г_к_х-a"
|
||||
nMalyariya : Str -> N ; -- feminine, inanimate, ending with "-ия"
|
||||
nTetya : Str -> N ; -- feminine, animate, ending with "-я"
|
||||
nBol : Str -> N ; -- feminine, inanimate, ending with "-ь"(soft sign)
|
||||
</pre>
|
||||
|
||||
Neuter patterns.
|
||||
<pre>
|
||||
nObezbolivauchee : Str -> N ; -- neutral, inanimate, ending with "-ee"
|
||||
nProizvedenie : Str -> N ; -- neutral, inanimate, ending with "-e"
|
||||
nChislo : Str -> N ; -- neutral, inanimate, ending with "-o"
|
||||
</pre>
|
||||
|
||||
Masculine patterns.
|
||||
<pre>
|
||||
nStomatolog : Str -> N ; -- masculine, animate, ending with consonant
|
||||
|
||||
-- the next two differ only in
|
||||
-- plural nominative (= accusative) form(s) :
|
||||
nAdres : Str -> N ; -- адрес-а
|
||||
nTelefon : Str -> N ; -- телефон-ы
|
||||
-- masculine, inanimate, ending with consonant
|
||||
|
||||
nNol : Str -> N ; -- masculine, inanimate, ending with "-ь" (soft sign)
|
||||
nUroven : Str -> N ; -- masculine, inanimate, ending with "-ень"
|
||||
</pre>
|
||||
|
||||
Nouns used as functions need a preposition. The most common is with Genitive.
|
||||
<pre>
|
||||
mkFun : N -> Preposition -> Case -> Fun ;
|
||||
funGen : N -> Fun ;
|
||||
</pre>
|
||||
|
||||
Proper names.
|
||||
<pre>
|
||||
mkPN : Str -> Gender -> Animacy -> PN ; -- "Иван", "Маша"
|
||||
</pre>
|
||||
|
||||
On the top level, it is maybe <tt>CN</tt> that is used rather than <tt>N</tt>, and
|
||||
<tt>NP</tt> rather than <tt>PN</tt>.
|
||||
<pre>
|
||||
mkCN : N -> CN ;
|
||||
mkNP : Str -> Gender -> Animacy -> NP ;
|
||||
</pre>
|
||||
|
||||
<h2> Adjectives
|
||||
</h2>
|
||||
Non-comparison (only positive degree) one-place adjectives need 28 (4 by 7)
|
||||
forms in the worst case:
|
||||
Masculine | Feminine | Neutral | Plural
|
||||
Nominative
|
||||
Genitive
|
||||
Dative
|
||||
Accusative Inanimate
|
||||
Accusative Animate
|
||||
Instructive
|
||||
Prepositional
|
||||
Notice that 4 short forms, which exist for some adjectives are not included
|
||||
in the current description, otherwise there would be 32 forms for
|
||||
positive degree.
|
||||
mkAdj1 : ( : Str) -> Adj1 ;
|
||||
Invariable adjective is a special case.
|
||||
<pre>
|
||||
adjInvar : Str -> Adj1 ; -- khaki, mini, hindi, netto
|
||||
</pre>
|
||||
|
||||
Some regular patterns depending on the ending.
|
||||
<pre>
|
||||
adj1Staruyj : Str -> Adj1 ; -- ending with "-ый"
|
||||
adj1Malenkij : Str -> Adj1 ; -- endign with "-ий"
|
||||
adj1Molodoj : Str -> Adj1 ; -- ending with "-ой",
|
||||
-- plural - молод-ые"
|
||||
adj1Kakoj_Nibud : Str -> Str -> Adj1 ; -- ending with "-ой",
|
||||
-- plural - "как-ие"
|
||||
</pre>
|
||||
|
||||
Two-place adjectives need a preposition and a case as extra arguments.
|
||||
<pre>
|
||||
mkAdj2 : Adj1 -> Str -> Case -> Adj2 ; -- "делим на"
|
||||
</pre>
|
||||
|
||||
Comparison adjectives need a positive adjective
|
||||
(28 forms without short forms).
|
||||
Taking only one comparative form (non-syntaxic) and
|
||||
only one superlative form (syntaxic) we can produce the
|
||||
comparison adjective with only one extra argument -
|
||||
non-syntaxic comparative form.
|
||||
Syntaxic forms are based on the positive forms.
|
||||
<pre>
|
||||
mkAdjDeg : Adj1 -> Str -> AdjDeg ;
|
||||
</pre>
|
||||
|
||||
On top level, there are adjectival phrases. The most common case is
|
||||
just to use a one-place adjective.
|
||||
<pre>
|
||||
ap : Adj1 -> IsPostfixAdj -> AP ;
|
||||
</pre>
|
||||
|
||||
<h2> Verbs
|
||||
</h2>
|
||||
|
||||
In our lexicon description (<i>Verbum</i>) there are 62 forms:
|
||||
2 (Voice) by { 1 (infinitive) + [2(number) by 3 (person)](imperative) +
|
||||
[ [2(Number) by 3(Person)](present) + [2(Number) by 3(Person)](future) +
|
||||
4(GenNum)(past) ](indicative)+ 4 (GenNum) (subjunctive) }
|
||||
Participles (Present and Past) and Gerund forms are not included,
|
||||
since they fuction more like Adjectives and Adverbs correspondingly
|
||||
rather than verbs. Aspect regarded as an inherent parameter of a verb.
|
||||
Notice, that some forms are never used for some verbs. Actually,
|
||||
the majority of verbs do not have many of the forms.
|
||||
The worst case need 6 forms of the present tense in indicative mood
|
||||
(<i>я бегу</i>, <i>ты бежишь</i>, <i>он бежит</i>, <i>мы бежим</i>, <i>вы бежите</i>, <i>они бегут</i>),
|
||||
a past form (singular, masculine: <i>я бежал</i>), an imperative form
|
||||
(singular, second person: <i>беги</i>), an infinitive (<i>бежать</i>).
|
||||
Inherent aspect should also be specified.
|
||||
<pre>
|
||||
mkVerbum : Aspect -> (_,_,_,_,_,_,_,_,_ : Str) -> Verbum ;
|
||||
</pre>
|
||||
|
||||
Common conjugation patterns are two conjugations:
|
||||
first - verbs ending with <i>-ать/-ять</i> and second - <i>-ить/-еть</i>.
|
||||
Instead of 6 present forms of the worst case, we only need
|
||||
a present stem and one ending (singular, first person):
|
||||
<i>я люб-лю</i>, <i>я жд-у</i>, etc. To determine where the border
|
||||
between stem and ending lies it is sufficient to compare
|
||||
first person from with second person form:
|
||||
<i>я люб-лю</i>, <i>ты люб-ишь</i>. Stems shoud be the same.
|
||||
So the definition for verb <i>любить</i> looks like:
|
||||
mkRegVerb Imperfective Second <i>люб</i> <i>лю</i> <i>любил</i> <i>люби</i> <i>любить</i>;
|
||||
<pre>
|
||||
mkRegVerb :Aspect -> Conjugation -> (_,_,_,_,_ : Str) -> Verbum ;
|
||||
</pre>
|
||||
|
||||
For writing an application grammar one usualy doesn't need
|
||||
the whole inflection table, since each verb is used in
|
||||
a particular context that determines some of the parameters
|
||||
(Tense and Voice while Aspect is fixed from the beginning) for certain usage.
|
||||
The <i>V</i> type, that have these parameters fixed.
|
||||
We can extract the <i>V</i> from the lexicon.
|
||||
<pre>
|
||||
mkV: Verbum -> Voice -> Tense -> V ;
|
||||
mkPresentV: Verbum -> Voice -> V ;
|
||||
</pre>
|
||||
|
||||
Two-place verbs, and the special case with direct object. Notice that
|
||||
a particle can be included in a <tt>V</tt>.
|
||||
<pre>
|
||||
mkTV : V -> Str -> Case -> TV ; -- "войти в дом"; "в", accusative
|
||||
tvDir : V -> TV ; -- "видеть", "любить"
|
||||
</pre>
|
||||
217
lib/resource-0.6/doc/ParadigmsSwe.html
Normal file
217
lib/resource-0.6/doc/ParadigmsSwe.html
Normal file
@@ -0,0 +1,217 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1></h1>
|
||||
|
||||
# -path=.:../abstract:../../prelude
|
||||
<h1> Swedish Lexical Paradigms</h1>
|
||||
<p>
|
||||
Aarne Ranta 2003
|
||||
<p>
|
||||
This is an API to the user of the resource grammar
|
||||
for adding lexical items. It give shortcuts for forming
|
||||
expressions of basic categories: nouns, adjectives, verbs.
|
||||
|
||||
Closed categories (determiners, pronouns, conjunctions) are
|
||||
accessed through the resource syntax API, <tt>Structural.gf</tt>.
|
||||
<p>
|
||||
The main difference with <tt>MorphoSwe.gf</tt> is that the types
|
||||
referred to are compiled resource grammar types. We have moreover
|
||||
had the design principle of always having existing forms, not stems, as string
|
||||
arguments of the paradigms.
|
||||
<p>
|
||||
The following modules are presupposed:
|
||||
<pre>
|
||||
resource ParadigmsSwe = open (Predef=Predef), Prelude, SyntaxSwe, ResourceSwe in {
|
||||
</pre>
|
||||
|
||||
<h2> Parameters </h2>
|
||||
<p>
|
||||
To abstract over gender names, we define the following identifiers.
|
||||
<pre>
|
||||
oper
|
||||
utrum : Gender ;
|
||||
neutrum : Gender ;
|
||||
|
||||
masculine : Sex ;
|
||||
nonmasculine : Sex ;
|
||||
</pre>
|
||||
|
||||
To abstract over case names, we define the following.
|
||||
<pre>
|
||||
nominative : Case ;
|
||||
genitive : Case ;
|
||||
</pre>
|
||||
|
||||
To abstract over number names, we define the following.
|
||||
<pre>
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
</pre>
|
||||
|
||||
<h2> Nouns</h2>
|
||||
Worst case: give all nominative forms and the gender.
|
||||
The genitive is formed automatically, even when the nominative
|
||||
ends with an <i>s</i>.
|
||||
<pre>
|
||||
mkN : (_,_,_,_ : Str) -> Gender -> Sex -> N ;
|
||||
-- man, mannen, män, männen
|
||||
</pre>
|
||||
|
||||
Here are some common patterns, corresponding to school-gramamr declensions.
|
||||
Except <tt>nPojke</tt>, <tt>nKarl</tt>, and <tt>nMurare</tt>,
|
||||
they are defined to be <tt>nonmasculine</tt>, which means that they don't create
|
||||
the definite adjective form with <i>e</i> but with <i>a</i>.
|
||||
<pre>
|
||||
nApa : Str -> N ; -- apa (apan, apor, aporna) ; utrum
|
||||
nBil : Str -> N ; -- bil (bilen, bilar, bilarna) ; utrum
|
||||
nKarl : Str -> N ; -- karl (karlen, karlar, karlarna) ; utrum ; masculine
|
||||
nPojke : Str -> N ; -- pojke (pojken, pojkar, pojkarna) ; utrum ; masculine
|
||||
nNyckel : Str -> N ; -- nyckel (nyckeln, nycklar, nycklarna) ; utrum
|
||||
nRisk : Str -> N ; -- risk (risken, risker, riskerna) ; utrum
|
||||
nDike : Str -> N ; -- dike (diket, diken, dikena) ; neutrum
|
||||
nRep : Str -> N ; -- rep (repet, rep, repen) ; neutrum
|
||||
nPapper : Str -> N ; -- papper (pappret, papper, pappren) ; neutrum
|
||||
nMurare : Str -> N ; -- murare (muraren, murare, murarna) ; utrum ; masculine
|
||||
nKikare : Str -> N ; -- kikare (kikaren, kikare, kikarna) ; utrum
|
||||
</pre>
|
||||
|
||||
Nouns used as functions need a preposition. The most common ones are <i>av</i>,
|
||||
<i>på</i>, and <i>till</i>. A preposition is a string.
|
||||
<pre>
|
||||
mkFun : N -> Str -> Fun ;
|
||||
funAv : N -> Fun ;
|
||||
funPaa : N -> Fun ;
|
||||
funTill : N -> Fun ;
|
||||
</pre>
|
||||
|
||||
Proper names, with their possibly
|
||||
irregular genitive. The regular genitive is <i>s</i>, omitted after <i>s</i>.
|
||||
<pre>
|
||||
mkPN : (_,_ : Str) -> Gender -> Sex -> PN ; -- Karolus, Karoli
|
||||
pnReg : Str -> Gender -> Sex -> PN ; -- Johan,Johans ; Johannes, Johannes
|
||||
pnS : Str -> Gender -> Sex -> PN ; -- "Burger King(s)"
|
||||
</pre>
|
||||
|
||||
On the top level, it is maybe <tt>CN</tt> that is used rather than <tt>N</tt>, and
|
||||
<tt>NP</tt> rather than <tt>PN</tt>.
|
||||
<pre>
|
||||
mkCN : N -> CN ;
|
||||
mkNP : (Karolus, Karoli : Str) -> Gender -> NP ;
|
||||
|
||||
npReg : Str -> Gender -> NP ; -- Johann, Johanns
|
||||
</pre>
|
||||
|
||||
<h2> Adjectives</h2>
|
||||
Non-comparison one-place adjectives need four forms in the worst case:
|
||||
strong singular, weak singular, plural.
|
||||
<pre>
|
||||
mkAdj1 : (_,_,_,_ : Str) -> Adj1 ; -- liten, litet, lilla, små
|
||||
</pre>
|
||||
|
||||
Special cases needing one form each are: regular adjectives,
|
||||
adjectives with unstressed <i>e</i> in the last syllable, those
|
||||
ending with <i>n</i> as a further special case, and invariable
|
||||
adjectives.
|
||||
<pre>
|
||||
adjReg : Str -> Adj1 ; -- billig (billigt, billiga, billiga)
|
||||
adjNykter : Str -> Adj1 ; -- nykter (nyktert, nyktra, nyktra)
|
||||
adjGalen : Str -> Adj1 ; -- galen (galet, galna, galna)
|
||||
adjInvar : Str -> Adj1 ; -- bra
|
||||
</pre>
|
||||
|
||||
Two-place adjectives need a preposition and a case as extra arguments.
|
||||
<pre>
|
||||
mkAdj2 : Adj1 -> Str -> Adj2 ; -- delbar, med
|
||||
mkAdj2Reg : Str -> Str -> Adj2 ; --
|
||||
</pre>
|
||||
|
||||
Comparison adjectives may need the three four forms for the positive case, plus
|
||||
three more forms for the comparison cases.
|
||||
<pre>
|
||||
mkAdjDeg : (liten, litet, lilla, sma, mindre, minst, minsta : Str) -> AdjDeg ;
|
||||
</pre>
|
||||
|
||||
Some comparison adjectives are completely regular.
|
||||
<pre>
|
||||
aReg : Str -> AdjDeg ;
|
||||
</pre>
|
||||
|
||||
On top level, there are adjectival phrases. The most common case is
|
||||
just to use a one-place adjective. The variation in <tt>adjGen</tt> is taken
|
||||
into account.
|
||||
<pre>
|
||||
apReg : Str -> AP ;
|
||||
</pre>
|
||||
|
||||
<h2> Adverbs</h2>
|
||||
Adverbs are not inflected. Most lexical ones have position not
|
||||
before the verb. Some can be preverbal (e.g. <i>alltid</i>).
|
||||
<pre>
|
||||
mkAdv : Str -> AdV ;
|
||||
mkAdvPre : Str -> AdV ;
|
||||
</pre>
|
||||
|
||||
Adverbs modifying adjectives and sentences can also be formed.
|
||||
<pre>
|
||||
mkAdA : Str -> AdA ;
|
||||
mkAdS : Str -> AdS ;
|
||||
</pre>
|
||||
|
||||
Prepositional phrases are another productive form of adverbials.
|
||||
<pre>
|
||||
mkPP : Str -> NP -> AdV ;
|
||||
</pre>
|
||||
|
||||
<h2> Verbs</h2>
|
||||
<p>
|
||||
The fragment only has present tense so far.
|
||||
The worst case needs three forms: the infinitive, the indicative, and the
|
||||
imperative.
|
||||
<pre>
|
||||
mkV : (_,_,_ : Str) -> V ; -- vara, är, var; trivas, trivs, trivs
|
||||
</pre>
|
||||
|
||||
The main conjugations need one string each.
|
||||
<pre>
|
||||
vKoka : Str -> V ; -- tala (talar, tala)
|
||||
vSteka : Str -> V ; -- leka (leker, lek)
|
||||
vBo : Str -> V ; -- bo (bor, bo)
|
||||
|
||||
vAndas : Str -> V ; -- andas [all forms the same: also "slåss"]
|
||||
vTrivas : Str -> V ; -- trivas (trivs, trivs)
|
||||
</pre>
|
||||
|
||||
The verbs 'be' and 'have' are special.
|
||||
<pre>
|
||||
vVara : V ;
|
||||
vHa : V ;
|
||||
</pre>
|
||||
|
||||
Particle verbs are formed by putting together a verb and a particle.
|
||||
If the verb already has a particle, it is replaced by the new one.
|
||||
<pre>
|
||||
mkPartV : V -> Str -> V ; -- stänga av ;
|
||||
</pre>
|
||||
|
||||
Two-place verbs, and the special case with direct object.
|
||||
<pre>
|
||||
mkTV : V -> Str -> TV ; -- tycka, om
|
||||
tvDir : V -> TV ; -- gilla
|
||||
</pre>
|
||||
|
||||
Ditransitive verbs.
|
||||
<pre>
|
||||
mkV3 : V -> Str -> Str -> V3 ; -- prata, med, om
|
||||
v3Dir : V -> Str -> V3 ; -- ge,_,till
|
||||
v3DirDir : V -> V3 ; -- ge,_,_
|
||||
</pre>
|
||||
|
||||
The definitions should not bother the user of the API. So they are
|
||||
hidden from the document.
|
||||
</body>
|
||||
</html>
|
||||
106
lib/resource-0.6/doc/Predication.html
Normal file
106
lib/resource-0.6/doc/Predication.html
Normal file
@@ -0,0 +1,106 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1></h1>
|
||||
|
||||
<h1> A Small Predication Library</h1>
|
||||
<p>
|
||||
(c) Aarne Ranta 2003 under Gnu GPL.
|
||||
<p>
|
||||
This library is built on a language-independent API of
|
||||
resource grammars. It has a common part, the type signatures
|
||||
(defined here), and language-dependent parts. The user of
|
||||
the library should only have to look at the type signatures.
|
||||
<pre>
|
||||
incomplete resource Predication = open Resource, ResourceExt in {
|
||||
</pre>
|
||||
|
||||
We first define a set of predication patterns.
|
||||
<pre>
|
||||
oper
|
||||
predV1 : V -> NP -> S ; -- one-place verb: "John walks"
|
||||
predV2 : TV -> NP -> NP -> S ; -- two-place verb: "John loves Mary"
|
||||
predV3 : V3 -> NP -> NP -> NP -> S ;-- three-place verb: "John prefers Mary to Jane"
|
||||
predVColl : V -> NP -> NP -> S ; -- collective verb: "John and Mary fight"
|
||||
predA1 : Adj1 -> NP -> S ; -- one-place adjective: "John is old"
|
||||
predA2 : Adj2 -> NP -> NP -> S ; -- two-place adj: "John is married to Mary"
|
||||
predAComp : AdjDeg -> NP -> NP -> S ; -- compar adj: "John is older than Mary"
|
||||
predAColl : Adj1 -> NP -> NP -> S ; -- collective adj: "John and Mary are married"
|
||||
predN1 : N -> NP -> S ; -- one-place noun: "John is a man"
|
||||
predN2 : Fun -> NP -> NP -> S ; -- two-place noun: "John is a lover of Mary"
|
||||
predNColl : N -> NP -> NP -> S ; -- collective noun: "John and Mary are lovers"
|
||||
predAdv : AdV -> NP -> S ; -- adverb: "Joh is outside"
|
||||
</pre>
|
||||
|
||||
Individual-valued function applications.
|
||||
<pre>
|
||||
appFun1 : Fun -> NP -> NP ; -- one-place function: "the successor of x"
|
||||
appFun2 : Fun2 -> NP -> NP -> NP ; -- two-place function: "the distance from x to y"
|
||||
appFunColl : Fun -> NP -> NP -> NP ; -- collective function: "the sum of x and y"
|
||||
</pre>
|
||||
|
||||
Families of types, expressed by common nouns depending on arguments.
|
||||
<pre>
|
||||
appFam1 : Fun -> NP -> CN ; -- one-place family: "divisor of x"
|
||||
appFamColl : Fun -> NP -> NP -> CN ; -- collective family: "path between x and y"
|
||||
</pre>
|
||||
|
||||
Type constructor, similar to a family except that the argument is a type.
|
||||
<pre>
|
||||
constrTyp1 : Fun -> CN -> CN ;
|
||||
</pre>
|
||||
|
||||
Logical connectives on two sentences.
|
||||
<pre>
|
||||
conjS : S -> S -> S ;
|
||||
disjS : S -> S -> S ;
|
||||
implS : S -> S -> S ;
|
||||
</pre>
|
||||
|
||||
As an auxiliary, we need two-place conjunction of names (<i>John and Mary</i>),
|
||||
used in collective predication.
|
||||
<pre>
|
||||
conjNP : NP -> NP -> NP ;
|
||||
</pre>
|
||||
|
||||
---------------------------
|
||||
-- what follows should be an implementation of the preceding
|
||||
<pre>
|
||||
oper
|
||||
predV1 = \F, x -> PredVP x (PosV F) ;
|
||||
predV2 = \F, x, y -> PredVP x (PosTV F y) ;
|
||||
predV3 = \F, x, y, z -> PredVP x (PosVG (PredV3 F y z)) ;
|
||||
predVColl = \F, x, y -> PredVP (conjNP x y) (PosV F) ;
|
||||
predA1 = \F, x -> PredVP x (PosA (AdjP1 F)) ;
|
||||
predA2 = \F, x, y -> PredVP x (PosA (ComplAdj F y)) ;
|
||||
predAComp = \F, x, y -> PredVP x (PosA (ComparAdjP F y)) ;
|
||||
predAColl = \F, x, y -> PredVP (conjNP x y) (PosA (AdjP1 F)) ;
|
||||
predN1 = \F, x -> PredVP x (PosCN (UseN F)) ;
|
||||
predN2 = \F, x, y -> PredVP x (PosCN (AppFun F y)) ;
|
||||
predNColl = \F, x, y -> PredVP (conjNP x y) (PosCN (UseN F)) ;
|
||||
predAdv = \F, x -> PredVP x (PosVG (PredAdV F)) ;
|
||||
|
||||
appFun1 = \f, x -> DefOneNP (AppFun f x) ;
|
||||
appFun2 = \f, x, y -> DefOneNP (AppFun (AppFun2 f y) x) ;
|
||||
appFunColl = \f, x, y -> DefOneNP (AppFun f (conjNP x y)) ;
|
||||
|
||||
appFam1 = \F, x -> AppFun F x ;
|
||||
appFamColl = \F, x, y -> AppFun F (conjNP x y) ;
|
||||
|
||||
conjS = \A, B -> ConjS AndConj (TwoS A B) ;
|
||||
disjS = \A, B -> ConjS OrConj (TwoS A B) ;
|
||||
implS = \A, B -> SubjS IfSubj A B ;
|
||||
|
||||
constrTyp1 = \F, A -> AppFun F (IndefManyNP A) ;
|
||||
|
||||
conjNP = \x, y -> ConjNP AndConj (TwoNP x y) ;
|
||||
|
||||
} ;
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
114
lib/resource-0.6/doc/Structural.html
Normal file
114
lib/resource-0.6/doc/Structural.html
Normal file
@@ -0,0 +1,114 @@
|
||||
<html>
|
||||
<body>
|
||||
<i> Produced by
|
||||
gfdoc - a rudimentary GF document generator.
|
||||
(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.
|
||||
</i>
|
||||
<p>
|
||||
<h1> GF Resource Grammar API for Structural Words</h1>
|
||||
|
||||
|
||||
AR 21/11/2003
|
||||
<p>
|
||||
Here we have some words belonging to closed classes and appearing
|
||||
in all languages we have considered.
|
||||
Sometimes they are not really meaningful, e.g. <tt>TheyNP</tt> in French
|
||||
should really be replaced by masculine and feminine variants.
|
||||
<pre>
|
||||
abstract Structural = Combinations ** {
|
||||
|
||||
fun
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> Determiners and noun phrases</h2>
|
||||
<p>
|
||||
Many plural determiners can take a numeral modifier. So can the plural
|
||||
pronouns <i>we</i> and <i>you</i>.
|
||||
<pre>
|
||||
EveryDet, WhichDet, AllMassDet, -- every, sg which, sg all
|
||||
SomeDet, AnyDet, NoDet, -- sg some, any, no
|
||||
MostDet, MostsDet, ManyDet, MuchDet : Det ; -- sg most, pl most, many, much
|
||||
ThisDet, ThatDet : Det ; -- this, that
|
||||
|
||||
AllNumDet, WhichNumDet, -- pl all, which (86)
|
||||
SomeNumDet, AnyNumDet, NoNumDet, -- pl some, any, no
|
||||
TheseNumDet, ThoseNumDet : Num -> Det ; -- these, those (86)
|
||||
|
||||
ThisNP, ThatNP : NP ; -- this, that
|
||||
TheseNumNP, ThoseNumNP : Num -> NP ; -- these, those (86)
|
||||
INP, ThouNP, HeNP, SheNP, ItNP : NP ; -- personal pronouns in singular
|
||||
WeNumNP, YeNumNP : Num -> NP ; -- these pronouns can take numeral
|
||||
TheyNP : NP ; YouNP : NP ; -- they, the polite you
|
||||
|
||||
EverybodyNP, SomebodyNP, NobodyNP, -- everybody, somebody, nobody
|
||||
EverythingNP, SomethingNP, NothingNP : NP ; -- everything, something, nothing
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> Auxiliary verbs</h2>
|
||||
<p>
|
||||
Depending on language, all, some, or none of there verbs belong to
|
||||
a separate class of <b>auxiliary</b> verbs. The list is incomplete.
|
||||
<pre>
|
||||
CanVV, CanKnowVV, MustVV : VV ; -- can (pouvoir,savoir), must
|
||||
WantVV : VV ; -- want (to do)
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> Adverbials</h2>
|
||||
<p>
|
||||
<pre>
|
||||
WhenIAdv,WhereIAdv,WhyIAdv,HowIAdv : IAdv ; -- when, where, why, how
|
||||
EverywhereNP, SomewhereNP,NowhereNP : AdV ; -- everywhere, somewhere, nowhere
|
||||
VeryAdv, TooAdv : AdA ; -- very, too
|
||||
AlmostAdv, QuiteAdv : AdA ; -- almost, quite
|
||||
OtherwiseAdv, ThereforeAdv : AdS ; -- therefore, otherwise
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> Conjunctions and subjunctions</h2>
|
||||
<p>
|
||||
<pre>
|
||||
AndConj, OrConj : Conj ; -- and, or
|
||||
BothAnd, EitherOr, NeitherNor : ConjD ; -- both-and, either-or, neither-nor
|
||||
IfSubj, WhenSubj, AlthoughSubj : Subj ; -- if, when, although
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> Prepositions</h2>
|
||||
<p>
|
||||
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
|
||||
functions.
|
||||
<pre>
|
||||
InPrep, OnPrep, ToPrep, FromPrep, -- spatial relations
|
||||
ThroughPrep, AbovePrep, UnderPrep,
|
||||
InFrontPrep, BehindPrep, BetweenPrep : Prep ;
|
||||
BeforePrep, DuringPrep, AfterPrep : Prep ; -- temporal relations
|
||||
WithPrep, WithoutPrep, ByMeansPrep : Prep ; -- some other relations
|
||||
PossessPrep : Prep ; -- possessive/genitive
|
||||
PartPrep : Prep ; -- partitive "of" ("bottle of wine")
|
||||
AgentPrep : Prep ; -- agent "by" in passive constructions
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<!-- NEW -->
|
||||
<h2> Affirmation and negation</h2>
|
||||
<p>
|
||||
The negative-positive (French <i>si</i>, German <i>doch</i>) is missing.
|
||||
<pre>
|
||||
PhrYes, PhrNo : Phr ; -- yes, no
|
||||
|
||||
}
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user