preserve 1.0

This commit is contained in:
aarne
2006-06-22 22:27:48 +00:00
parent 251bc4c738
commit 4821244741
569 changed files with 0 additions and 0 deletions

View File

@@ -1,69 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Adjective: Adjectives and Adjectival Phrases</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Adjective: Adjectives and Adjectival Phrases</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:14:36 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Adjective = Cat ** {
fun
</PRE>
<P></P>
<P>
The principal ways of forming an adjectival phrase are
positive, comparative, relational, reflexive-relational, and
elliptic-relational.
(The superlative use is covered in <A HREF="Noun.html">Noun</A>.<CODE>SuperlA</CODE>.)
</P>
<PRE>
PositA : A -&gt; AP ; -- warm
ComparA : A -&gt; NP -&gt; AP ; -- warmer than Spain
ComplA2 : A2 -&gt; NP -&gt; AP ; -- divisible by 2
ReflA2 : A2 -&gt; AP ; -- divisible by itself
UseA2 : A2 -&gt; A ; -- divisible
</PRE>
<P></P>
<P>
Sentence and question complements defined for all adjectival
phrases, although the semantics is only clear for some adjectives.
</P>
<PRE>
SentAP : AP -&gt; SC -&gt; AP ; -- great that she won, uncertain if she did
</PRE>
<P></P>
<P>
An adjectival phrase can be modified by an <B>adadjective</B>, such as <I>very</I>.
</P>
<PRE>
AdAP : AdA -&gt; AP -&gt; AP ; -- very uncertain
</PRE>
<P></P>
<P>
The formation of adverbs from adjective (e.g. <I>quickly</I>) is covered
by <A HREF="Adverb.html">Adverb</A>.
</P>
<PRE>
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Adjective.txt -->
</BODY></HTML>

View File

@@ -1,74 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Adverb: Adverbs and Adverbial Phrases</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Adverb: Adverbs and Adverbial Phrases</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-14 22:56:30 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Adverb = Cat ** {
fun
</PRE>
<P></P>
<P>
The two main ways of forming adverbs are from adjectives and by
prepositions from noun phrases.
</P>
<PRE>
PositAdvAdj : A -&gt; Adv ; -- quickly
PrepNP : Prep -&gt; NP -&gt; Adv ; -- in the house
</PRE>
<P></P>
<P>
Comparative adverbs have a noun phrase or a sentence as object of
comparison.
</P>
<PRE>
ComparAdvAdj : CAdv -&gt; A -&gt; NP -&gt; Adv ; -- more quickly than John
ComparAdvAdjS : CAdv -&gt; A -&gt; S -&gt; Adv ; -- more quickly than he runs
</PRE>
<P></P>
<P>
Adverbs can be modified by 'adadjectives', just like adjectives.
</P>
<PRE>
AdAdv : AdA -&gt; Adv -&gt; Adv ; -- very quickly
</PRE>
<P></P>
<P>
Subordinate clauses can function as adverbs.
</P>
<PRE>
SubjS : Subj -&gt; S -&gt; Adv ; -- when he arrives
AdvSC : SC -&gt; Adv ; -- that he arrives ---- REMOVE?
</PRE>
<P></P>
<P>
Comparison adverbs also work as numeral adverbs.
</P>
<PRE>
AdnCAdv : CAdv -&gt; AdN ; -- more (than five)
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Adverb.txt -->
</BODY></HTML>

View File

@@ -1,264 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> A Basic Lexicon</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> A Basic Lexicon</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Wed Jan 25 10:50:12 2006
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">A Basic Lexicon</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<A NAME="toc1"></A>
<H1>A Basic Lexicon</H1>
<P>
This files gives a list of words whose purpose is to test the GF
resource grammar. It covers all lexical categories of <A HREF="Cat.html">Cat</A>.
By containing some of the most common words,
it is aimed to cover, with high probability, all morphological
patterns in the different languages.
Using this lexicon for translation is not recommended. The linearizations
of the words in different languages are not guaranteed to be translation
equivalents.
</P>
<PRE>
abstract Basic = Cat ** {
fun
add_V3 : V3 ;
airplane_N : N ;
already_Adv : Adv ;
answer_V2S : V2 ;
apartment_N : N ;
apple_N : N ;
art_N : N ;
ask_V2Q : V2 ;
baby_N : N ;
bad_A : A ;
bank_N : N ;
beautiful_A : A ;
become_VA : VA ;
beer_N : N ;
beg_V2V : V2 ;
big_A : A ;
bike_N : N ;
bird_N : N ;
black_A : A ;
blue_A : A ;
boat_N : N ;
book_N : N ;
boot_N : N ;
boss_N : N ;
boy_N : N ;
bread_N : N ;
break_V2 : V2 ;
broad_A : A ;
brother_N2 : N2 ;
brown_A : A ;
butter_N : N ;
buy_V2 : V2 ;
camera_N : N ;
cap_N : N ;
car_N : N ;
carpet_N : N ;
cat_N : N ;
ceiling_N : N ;
chair_N : N ;
cheese_N : N ;
child_N : N ;
church_N : N ;
city_N : N ;
clean_A : A ;
clever_A : A ;
close_V2 : V2 ;
coat_N : N ;
cold_A : A ;
come_V : V ;
computer_N : N ;
country_N : N ;
cousin_N : N ;
cow_N : N ;
die_V : V ;
dirty_A : A ;
distance_N3 : N3 ;
do_V2 : V2 ;
doctor_N : N ;
dog_N : N ;
door_N : N ;
drink_V2 : V2 ;
easy_A2V : A2 ;
eat_V2 : V2 ;
enemy_N : N ;
empty_A : A ;
factory_N : N ;
father_N2 : N2 ;
fear_VS : VS ;
find_V2 : V2 ;
fish_N : N ;
floor_N : N ;
forget_V2 : V2 ;
fridge_N : N ;
friend_N : N ;
fruit_N : N ;
fun_AV : A ;
garden_N : N ;
girl_N : N ;
glove_N : N ;
gold_N : N ;
good_A : A ;
go_V : V ;
green_A : A ;
harbour_N : N ;
hate_V2 : V2 ;
hat_N : N ;
have_V2 : V2 ;
hear_V2 : V2 ;
hill_N : N ;
hope_VS : VS ;
horse_N : N ;
hot_A : A ;
house_N : N ;
important_A : A ;
industry_N : N ;
iron_N : N ;
jump_V : V ;
king_N : N ;
know_V2 : V2 ;
lake_N : N ;
lamp_N : N ;
learn_V2 : V2 ;
leather_N : N ;
leave_V2 : V2 ;
like_V2 : V2 ;
listen_V2 : V2 ;
live_V : V ;
long_A : A ;
lose_V2 : V2 ;
love_N : N ;
love_V2 : V2 ;
man_N : N ;
married_A2 : A2 ;
meat_N : N ;
milk_N : N ;
moon_N : N ;
mother_N2 : N2 ;
mountain_N : N ;
music_N : N ;
narrow_A : A ;
new_A : A ;
newspaper_N : N ;
now_Adv : Adv ;
number_N : N ;
oil_N : N ;
old_A : A ;
open_V2 : V2 ;
paint_V2A : V2A ;
paper_N : N ;
paris_PN : PN ;
peace_N : N ;
pen_N : N ;
planet_N : N ;
plastic_N : N ;
play_V2 : V2 ;
policeman_N : N ;
priest_N : N ;
probable_AS : A ;
put_V2 : V2 ;
queen_N : N ;
radio_N : N ;
rain_V0 : V ;
read_V2 : V2 ;
red_A : A ;
religion_N : N ;
restaurant_N : N ;
river_N : N ;
rock_N : N ;
roof_N : N ;
rubber_N : N ;
run_V : V ;
say_VS : VS ;
school_N : N ;
science_N : N ;
sea_N : N ;
seek_V2 : V2 ;
see_V2 : V2 ;
sell_V3 : V3 ;
send_V3 : V3 ;
sheep_N : N ;
ship_N : N ;
shirt_N : N ;
shoe_N : N ;
shop_N : N ;
short_A : A ;
silver_N : N ;
sister_N : N ;
sleep_V : V ;
small_A : A ;
snake_N : N ;
sock_N : N ;
song_N : N ;
speak_V2 : V2 ;
star_N : N ;
steel_N : N ;
stone_N : N ;
stop_V : V ;
stove_N : N ;
student_N : N ;
stupid_A : A ;
sun_N : N ;
switch8off_V2 : V2 ;
switch8on_V2 : V2 ;
table_N : N ;
talk_V3 : V3 ;
teacher_N : N ;
teach_V2 : V2 ;
television_N : N ;
thick_A : A ;
thin_A : A ;
train_N : N ;
travel_V : V ;
tree_N : N ;
---- trousers_N : N ;
ugly_A : A ;
understand_V2 : V2 ;
university_N : N ;
village_N : N ;
wait_V2 : V2 ;
walk_V : V ;
warm_A : A ;
war_N : N ;
watch_V2 : V2 ;
water_N : N ;
white_A : A ;
window_N : N ;
wine_N : N ;
win_V2 : V2 ;
woman_N : N ;
wonder_VQ : VQ ;
wood_N : N ;
write_V2 : V2 ;
yellow_A : A ;
young_A : A ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.0 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Basic.txt -->
</BODY></HTML>

View File

@@ -1,195 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Cat: the Category System</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Cat: the Category System</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:10:58 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Sentences and clauses</A>
<LI><A HREF="#toc2">Questions and interrogatives</A>
<LI><A HREF="#toc3">Relative clauses and pronouns</A>
<LI><A HREF="#toc4">Verb phrases</A>
<LI><A HREF="#toc5">Adjectival phrases</A>
<LI><A HREF="#toc6">Nouns and noun phrases</A>
<LI><A HREF="#toc7">Numerals</A>
<LI><A HREF="#toc8">Structural words</A>
<LI><A HREF="#toc9">Words of open classes</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
The category system is central to the library in the sense
that the other modules (<CODE>Adjective</CODE>, <CODE>Adverb</CODE>, <CODE>Noun</CODE>, <CODE>Verb</CODE> etc)
communicate through it. This means that a e.g. a function using
<CODE>NP</CODE>s in <CODE>Verb</CODE> need not know how <CODE>NP</CODE>s are constructed in <CODE>Noun</CODE>:
it is enough that both <CODE>Verb</CODE> and <CODE>Noun</CODE> use the same type <CODE>NP</CODE>,
which is given here in <CODE>Cat</CODE>.
</P>
<P>
Some categories are inherited from <A HREF="Common.html"><CODE>Common</CODE></A>.
The reason they are defined there is that they have the same
implementation in all languages in the resource (typically,
just a string). These categories are
<CODE>AdA, AdN, AdV, Adv, Ant, CAdv, IAdv, PConj, Phr</CODE>,
<CODE>Pol, SC, Tense, Text, Utt, Voc</CODE>.
</P>
<P>
Moreover, the list categories <CODE>ListAdv, ListAP, ListNP, ListS</CODE>
are defined on <CODE>Conjunction</CODE> and only used locally there.
</P>
<PRE>
abstract Cat = Common ** {
cat
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Sentences and clauses</H2>
<P>
Constructed in <A HREF="Sentence.html">Sentence</A>, and also in
<A HREF="Idiom.html">Idiom</A>.
</P>
<PRE>
S ; -- declarative sentence e.g. "she lived here"
QS ; -- question e.g. "where did she live"
RS ; -- relative e.g. "in which she lived"
Cl ; -- declarative clause, with all tenses e.g. "she looks at this"
Slash ; -- clause missing NP (S/NP in GPSG) e.g. "she looks at"
Imp ; -- imperative e.g. "look at this"
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Questions and interrogatives</H2>
<P>
Constructed in <A HREF="Question.html">Question</A>.
</P>
<PRE>
QCl ; -- question clause, with all tenses e.g. "why does she walk"
IP ; -- interrogative pronoun e.g. "who"
IComp ; -- interrogative complement of copula e.g. "where"
IDet ; -- interrogative determiner e.g. "which"
</PRE>
<P></P>
<A NAME="toc3"></A>
<H2>Relative clauses and pronouns</H2>
<P>
Constructed in <A HREF="Relative.html">Relative</A>.
</P>
<PRE>
RCl ; -- relative clause, with all tenses e.g. "in which she lives"
RP ; -- relative pronoun e.g. "in which"
</PRE>
<P></P>
<A NAME="toc4"></A>
<H2>Verb phrases</H2>
<P>
Constructed in <A HREF="Verb.html">Verb</A>.
</P>
<PRE>
VP ; -- verb phrase e.g. "is very warm"
Comp ; -- complement of copula, such as AP e.g. "very warm"
</PRE>
<P></P>
<A NAME="toc5"></A>
<H2>Adjectival phrases</H2>
<P>
Constructed in <A HREF="Adjective.html">Adjective</A>.
</P>
<PRE>
AP ; -- adjectival phrase e.g. "very warm"
</PRE>
<P></P>
<A NAME="toc6"></A>
<H2>Nouns and noun phrases</H2>
<P>
Constructed in <A HREF="Noun.html">Noun</A>.
Many atomic noun phrases e.g. <I>everybody</I>
are constructed in <A HREF="Structural.html">Structural</A>.
The determiner structure is
</P>
<PRE>
Predet (QuantSg | QuantPl Num) Ord
</PRE>
<P>
as defined in <A HREF="Noun.html">Noun</A>.
</P>
<PRE>
CN ; -- common noun (without determiner) e.g. "red house"
NP ; -- noun phrase (subject or object) e.g. "the red house"
Pron ; -- personal pronoun e.g. "she"
Det ; -- determiner phrase e.g. "those seven"
Predet; -- predeterminer (prefixed Quant) e.g. "all"
QuantSg;-- quantifier ('nucleus' of sing. Det) e.g. "every"
QuantPl;-- quantifier ('nucleus' of plur. Det) e.g. "many"
Quant ; -- quantifier with both sg and pl e.g. "this/these"
Num ; -- cardinal number (used with QuantPl) e.g. "seven"
Ord ; -- ordinal number (used in Det) e.g. "seventh"
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Numerals</H2>
<P>
Constructed in <A HREF="Numeral.html">Numeral</A>.
</P>
<PRE>
Numeral;-- cardinal or ordinal, e.g. "five/fifth"
</PRE>
<P></P>
<A NAME="toc8"></A>
<H2>Structural words</H2>
<P>
Constructed in <A HREF="Structural.html">Structural</A>.
</P>
<PRE>
Conj ; -- conjunction, e.g. "and"
DConj ; -- distributed conj. e.g. "both - and"
Subj ; -- subjunction, e.g. "if"
Prep ; -- preposition, or just case e.g. "in"
</PRE>
<P></P>
<A NAME="toc9"></A>
<H2>Words of open classes</H2>
<P>
These are constructed in <A HREF="Lexicon.html">Lexicon</A> and in
additional lexicon modules.
</P>
<PRE>
V ; -- one-place verb e.g. "sleep"
V2 ; -- two-place verb e.g. "love"
V3 ; -- three-place verb e.g. "show"
VV ; -- verb-phrase-complement verb e.g. "want"
VS ; -- sentence-complement verb e.g. "claim"
VQ ; -- question-complement verb e.g. "ask"
VA ; -- adjective-complement verb e.g. "look"
V2A ; -- verb with NP and AP complement e.g. "paint"
A ; -- one-place adjective e.g. "warm"
A2 ; -- two-place adjective e.g. "divisible"
N ; -- common noun e.g. "house"
N2 ; -- relational noun e.g. "son"
N3 ; -- three-place relational noun e.g. "connection"
PN ; -- proper name e.g. "Paris"
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Cat.txt -->
</BODY></HTML>

View File

@@ -1,107 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Common: Structures with Common Implementations.</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Common: Structures with Common Implementations.</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:13:55 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Top-level units</A>
<LI><A HREF="#toc2">Adverbs</A>
<LI><A HREF="#toc3">Tense, polarity, and anteriority</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
This module defines the categories that uniformly have the linearization
<CODE>{s : Str}</CODE> in all languages.
Moreover, this module defines the abstract parameters of tense, polarity, and
anteriority, which are used in <A HREF="Phrase.html"><CODE>Phrase</CODE></A> to generate different
forms of sentences. Together they give 4 x 2 x 2 = 16 sentence forms.
These tenses are defined for all languages in the library. More tenses
can be defined in the language extensions, e.g. the <I>passé simple</I> of
Romance languages in <A HREF="../romance/ExtraRomance.gf"><CODE>ExtraRomance</CODE></A>.
</P>
<PRE>
abstract Common = {
cat
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Top-level units</H2>
<P>
Constructed in <A HREF="Text.html"><CODE>Text</CODE></A>: <CODE>Text</CODE>.
</P>
<PRE>
Text ; -- text consisting of several phrases e.g. "He is here. Why?"
</PRE>
<P></P>
<P>
Constructed in <A HREF="Phrase.html"><CODE>Phrase</CODE></A>:
</P>
<PRE>
Phr ; -- phrase in a text e.g. "but be quiet please"
Utt ; -- sentence, question, word... e.g. "be quiet"
Voc ; -- vocative or "please" e.g. "my darling"
PConj ; -- phrase-beginning conj. e.g. "therefore"
</PRE>
<P></P>
<P>
Constructed in <A HREF="Sentence.html"><CODE>Sentence</CODE></A>:
</P>
<PRE>
SC ; -- embedded sentence or question e.g. "that it rains"
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Adverbs</H2>
<P>
Constructed in <A HREF="Adverb.html"><CODE>Adverb</CODE></A>.
Many adverbs are constructed in <A HREF="Structural.html"><CODE>Structural</CODE></A>.
</P>
<PRE>
Adv ; -- verb-phrase-modifying adverb, e.g. "in the house"
AdV ; -- adverb directly attached to verb e.g. "always"
AdA ; -- adjective-modifying adverb, e.g. "very"
AdN ; -- numeral-modifying adverb, e.g. "more than"
IAdv ; -- interrogative adverb e.g. "why"
CAdv ; -- comparative adverb e.g. "more"
</PRE>
<P></P>
<A NAME="toc3"></A>
<H2>Tense, polarity, and anteriority</H2>
<PRE>
Tense ; -- tense: present, past, future, conditional
Pol ; -- polarity: positive, negative
Ant ; -- anteriority: simultaneous, anterior
fun
PPos, PNeg : Pol ; -- I sleep/don't sleep
TPres : Tense ;
ASimul : Ant ;
TPast, TFut, TCond : Tense ; -- I slept/will sleep/would sleep --# notpresent
AAnter : Ant ; -- I have slept --# notpresent
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Common.txt -->
</BODY></HTML>

View File

@@ -1,91 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Conjunction: Coordination</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Conjunction: Coordination</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:17:31 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Rules</A>
<LI><A HREF="#toc2">Categories</A>
<LI><A HREF="#toc3">List constructors</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Coordination is defined for many different categories; here is
a sample. The rules apply to <B>lists</B> of two or more elements,
and define two general patterns:
</P>
<UL>
<LI>ordinary conjunction: X,...X and X
<LI>distributed conjunction: both X,...,X and X
</UL>
<P>
<CODE>VP</CODE> conjunctions are not covered here, because their applicability
depends on language. Some special cases are defined in
<A HREF="../abstract/Extra.gf"><CODE>Extra</CODE></A>.
</P>
<PRE>
abstract Conjunction = Cat ** {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Rules</H2>
<PRE>
fun
ConjS : Conj -&gt; [S] -&gt; S ; -- "John walks and Mary runs"
ConjAP : Conj -&gt; [AP] -&gt; AP ; -- "even and prime"
ConjNP : Conj -&gt; [NP] -&gt; NP ; -- "John or Mary"
ConjAdv : Conj -&gt; [Adv] -&gt; Adv ; -- "quickly or slowly"
DConjS : DConj -&gt; [S] -&gt; S ; -- "either John walks or Mary runs"
DConjAP : DConj -&gt; [AP] -&gt; AP ; -- "both even and prime"
DConjNP : DConj -&gt; [NP] -&gt; NP ; -- "either John or Mary"
DConjAdv : DConj -&gt; [Adv] -&gt; Adv; -- "both badly and slowly"
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Categories</H2>
<P>
These categories are only used in this module.
</P>
<PRE>
cat
[S]{2} ;
[Adv]{2} ;
[NP]{2} ;
[AP]{2} ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H2>List constructors</H2>
<P>
The list constructors are derived from the list notation and therefore
not given explicitly. But here are their type signatures:
</P>
<PRE>
-- BaseC : C -&gt; C -&gt; [C] ; -- for C = S, AP, NP, Adv
-- ConsC : C -&gt; [C] -&gt; [C] ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Conjunction.txt -->
</BODY></HTML>

View File

@@ -1,150 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
</HEAD><BODY BGCOLOR="white" TEXT="black">
<FONT SIZE="4">
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Last update: 2006-03-06 21:21:27 CET
</P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Demonstrative = Cat, PredefAbs ** {
</PRE>
<P></P>
<P>
Naming convention: <CODE>M</CODE> prepended to 'unimodal' names.
Exceptions: lexical units, those without unimodal counterparts.
</P>
<PRE>
cat
MS ; -- multimodal sentence or question
MQS ; -- multimodal wh question
MImp ; -- multimodal imperative
MVP ; -- multimodal verb phrase
MComp ; -- multimodal complement to copula (MAP, MNP, MAdv)
MAP ; -- multimodal adjectival phrase
MNP ; -- multimodal (demonstrative) noun phrase
MAdv ; -- multimodal (demonstrative) adverbial
Point ; -- pointing gesture
fun
</PRE>
<P></P>
<P>
A pointing gesture is constructed from a string.
</P>
<PRE>
MkPoint : String -&gt; Point ;
</PRE>
<P></P>
<P>
Construction of sentences, questions, and imperatives.
</P>
<PRE>
MPredVP : MNP -&gt; MVP -&gt; MS ; -- he flies here
MQPredVP : MNP -&gt; MVP -&gt; MQS ; -- does he fly here
MQuestVP : IP -&gt; MVP -&gt; MQS ; -- who flies here
MImpVP : MVP -&gt; MImp ; -- fly here!
</PRE>
<P></P>
<P>
Construction of verb phrases from verb + complements.
</P>
<PRE>
MUseV : V -&gt; MVP ; -- flies (here)
MComplV2 : V2 -&gt; MNP -&gt; MVP ; -- takes this (here)
MComplVV : VV -&gt; MVP -&gt; MVP ; -- wants to fly (here)
MUseComp : MComp -&gt; MVP ; -- is here ; is bigger than this
MCompAP : MAP -&gt; MComp ; -- bigger than this
MCompNP : MNP -&gt; MComp ; -- the price of this
MCompAdv : MAdv -&gt; MComp ; -- here
MPositA : A -&gt; MAP ; -- big
MComparA : A -&gt; MNP -&gt; MAP ; -- bigger than this
</PRE>
<P></P>
<P>
Adverbial modification of a verb phrase.
</P>
<PRE>
MAdvVP : MVP -&gt; MAdv -&gt; MVP ; -- fly here
</PRE>
<P></P>
<P>
Demonstrative pronouns as NPs and determiners.
</P>
<PRE>
this_MNP : Point -&gt; MNP ; -- this
that_MNP : Point -&gt; MNP ; -- that
thisDet_MNP : CN -&gt; Point -&gt; MNP ; -- this car
thatDet_MNP : CN -&gt; Point -&gt; MNP ; -- that car
</PRE>
<P></P>
<P>
Demonstrative adverbs.
</P>
<PRE>
here_MAdv : Point -&gt; MAdv ; -- here
here7from_MAdv : Point -&gt; MAdv ; -- from here
here7to_MAdv : Point -&gt; MAdv ; -- to here
</PRE>
<P></P>
<P>
Building an adverb as prepositional phrase.
</P>
<PRE>
MPrepNP : Prep -&gt; MNP -&gt; MAdv ; -- in this car
</PRE>
<P></P>
<P>
Using ordinary categories.
Mounting nondemonstrative expressions.
</P>
<PRE>
DemNP : NP -&gt; MNP ;
DemAdv : Adv -&gt; MAdv ;
</PRE>
<P></P>
<P>
Top-level phrases.
</P>
<PRE>
PhrMS : Pol -&gt; MS -&gt; Phr ;
PhrMS : Pol -&gt; MS -&gt; Phr ;
PhrMQS : Pol -&gt; MQS -&gt; Phr ;
PhrMImp : Pol -&gt; MImp -&gt; Phr ;
</PRE>
<P></P>
<P>
For testing and example-based grammar writing.
</P>
<PRE>
point1, point2 : Point ;
x_MAdv, y_MAdv : MAdv ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc multimodal/Demonstrative.txt -->
</BODY></HTML>

View File

@@ -1,49 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Grammar: the Main Module of the Resource Grammar</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Grammar: the Main Module of the Resource Grammar</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:08:55 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
This grammar is a collection of the different grammar modules,
To test the resource, import <A HREF="Lang.html"><CODE>Lang</CODE></A>, which also contains
a lexicon.
</P>
<PRE>
abstract Grammar =
Noun,
Verb,
Adjective,
Adverb,
Numeral,
Sentence,
Question,
Relative,
Conjunction,
Phrase,
Text,
Structural,
Idiom
** {} ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Grammar.txt -->
</BODY></HTML>

View File

@@ -1,52 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Idiom: Idiomatic Expressions</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Idiom: Idiomatic Expressions</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-14 22:57:19 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Idiom = Cat ** {
</PRE>
<P></P>
<P>
This module defines constructions that are formed in fixed ways,
often different even in closely related languages.
</P>
<PRE>
fun
ImpersCl : VP -&gt; Cl ; -- it rains
GenericCl : VP -&gt; Cl ; -- one sleeps
CleftNP : NP -&gt; RS -&gt; Cl ; -- it is you who did it
CleftAdv : Adv -&gt; S -&gt; Cl ; -- it is yesterday she arrived
ExistNP : NP -&gt; Cl ; -- there is a house
ExistIP : IP -&gt; QCl ; -- which houses are there
ProgrVP : VP -&gt; VP ; -- be sleeping
ImpPl1 : VP -&gt; Utt ; -- let's go
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Idiom.txt -->
</BODY></HTML>

View File

@@ -1,181 +0,0 @@
--# -path=.:prelude:../abstract:../common
concrete IrregEng of IrregEngAbs = CatEng ** open ParadigmsEng in {
flags optimize=values ;
lin
awake_V = irregV "awake" "awoke" "awoken" ;
bear_V = irregV "bear" "bore" "born" ;
beat_V = irregV "beat" "beat" "beat" ;
become_V = irregV "become" "became" "become" ;
begin_V = irregV "begin" "began" "begun" ;
bend_V = irregV "bend" "bent" "bent" ;
beset_V = irregV "beset" "beset" "beset" ;
bet_V = irregDuplV "bet" "bet" "bet" ;
bid_V = irregDuplV "bid" (variants {"bid" ; "bade"}) (variants {"bid" ; "bidden"}) ;
bind_V = irregV "bind" "bound" "bound" ;
bite_V = irregV "bite" "bit" "bitten" ;
bleed_V = irregV "bleed" "bled" "bled" ;
blow_V = irregV "blow" "blew" "blown" ;
break_V = irregV "break" "broke" "broken" ;
breed_V = irregV "breed" "bred" "bred" ;
bring_V = irregV "bring" "brought" "brought" ;
broadcast_V = irregV "broadcast" "broadcast" "broadcast" ;
build_V = irregV "build" "built" "built" ;
burn_V = irregV "burn" (variants {"burned" ; "burnt"}) (variants {"burned" ; "burnt"}) ;
burst_V = irregV "burst" "burst" "burst" ;
buy_V = irregV "buy" "bought" "bought" ;
cast_V = irregV "cast" "cast" "cast" ;
catch_V = irregV "catch" "caught" "caught" ;
choose_V = irregV "choose" "chose" "chosen" ;
cling_V = irregV "cling" "clung" "clung" ;
come_V = irregV "come" "came" "come" ;
cost_V = irregV "cost" "cost" "cost" ;
creep_V = irregV "creep" "crept" "crept" ;
cut_V = irregDuplV "cut" "cut" "cut" ;
deal_V = irregV "deal" "dealt" "dealt" ;
dig_V = irregDuplV "dig" "dug" "dug" ;
dive_V = irregV "dive" (variants {"dived" ; "dove"}) "dived" ;
do_V = mkV "do" "does" "did" "done" "doing" ;
draw_V = irregV "draw" "drew" "drawn" ;
dream_V = irregV "dream" (variants {"dreamed" ; "dreamt"}) (variants {"dreamed" ; "dreamt"}) ;
drive_V = irregV "drive" "drove" "driven" ;
drink_V = irregV "drink" "drank" "drunk" ;
eat_V = irregV "eat" "ate" "eaten" ;
fall_V = irregV "fall" "fell" "fallen" ;
feed_V = irregV "feed" "fed" "fed" ;
feel_V = irregV "feel" "felt" "felt" ;
fight_V = irregV "fight" "fought" "fought" ;
find_V = irregV "find" "found" "found" ;
fit_V = irregDuplV "fit" "fit" "fit" ;
flee_V = irregV "flee" "fled" "fled" ;
fling_V = irregV "fling" "flung" "flung" ;
fly_V = irregV "fly" "flew" "flown" ;
forbid_V = irregDuplV "forbid" "forbade" "forbidden" ;
forget_V = irregDuplV "forget" "forgot" "forgotten" ;
forgive_V = irregV "forgive" "forgave" "forgiven" ;
forsake_V = irregV "forsake" "forsook" "forsaken" ;
freeze_V = irregV "freeze" "froze" "frozen" ;
get_V = irregDuplV "get" "got" "gotten" ;
give_V = irregV "give" "gave" "given" ;
go_V = mkV "go" "goes" "went" "gone" "going" ;
grind_V = irregV "grind" "ground" "ground" ;
grow_V = irregV "grow" "grew" "grown" ;
hang_V = irregV "hang" "hung" "hung" ;
have_V = mkV "have" "has" "had" "had" "having" ;
hear_V = irregV "hear" "heard" "heard" ;
hide_V = irregV "hide" "hid" "hidden" ;
hit_V = irregDuplV "hit" "hit" "hit" ;
hold_V = irregV "hold" "held" "held" ;
hurt_V = irregV "hurt" "hurt" "hurt" ;
keep_V = irregV "keep" "kept" "kept" ;
kneel_V = irregV "kneel" "knelt" "knelt" ;
knit_V = irregDuplV "knit" "knit" "knit" ;
know_V = irregV "know" "knew" "know" ;
lay_V = irregV "lay" "laid" "laid" ;
lead_V = irregV "lead" "led" "led" ;
leap_V = irregV "leap" (variants {"leaped" ; "lept"}) (variants {"leaped" ; "lept"}) ;
learn_V = irregV "learn" (variants {"learned" ; "learnt"}) (variants {"learned" ; "learnt"}) ;
leave_V = irregV "leave" "left" "left" ;
lend_V = irregV "lend" "lent" "lent" ;
let_V = irregDuplV "let" "let" "let" ;
lie_V = irregV "lie" "lay" "lain" ;
light_V = irregV "light" (variants {"lighted" ; "lit"}) "lighted" ;
lose_V = irregV "lose" "lost" "lost" ;
make_V = irregV "make" "made" "made" ;
mean_V = irregV "mean" "meant" "meant" ;
meet_V = irregV "meet" "met" "met" ;
misspell_V = irregV "misspell" (variants {"misspelled" ; "misspelt"}) (variants {"misspelled" ; "misspelt"}) ;
mistake_V = irregV "mistake" "mistook" "mistaken" ;
mow_V = irregV "mow" "mowed" (variants {"mowed" ; "mown"}) ;
overcome_V = irregV "overcome" "overcame" "overcome" ;
overdo_V = mkV "overdo" "overdoes" "overdid" "overdone" "overdoing" ;
overtake_V = irregV "overtake" "overtook" "overtaken" ;
overthrow_V = irregV "overthrow" "overthrew" "overthrown" ;
pay_V = irregV "pay" "paid" "paid" ;
plead_V = irregV "plead" "pled" "pled" ;
prove_V = irregV "prove" "proved" (variants {"proved" ; "proven"}) ;
put_V = irregDuplV "put" "put" "put" ;
quit_V = irregDuplV "quit" "quit" "quit" ;
read_V = irregV "read" "read" "read" ;
rid_V = irregDuplV "rid" "rid" "rid" ;
ride_V = irregV "ride" "rode" "ridden" ;
ring_V = irregV "ring" "rang" "rung" ;
rise_V = irregV "rise" "rose" "risen" ;
run_V = irregDuplV "run" "ran" "run" ;
saw_V = irregV "saw" "sawed" (variants {"sawed" ; "sawn"}) ;
say_V = irregV "say" "said" "said" ;
see_V = irregV "see" "saw" "seen" ;
seek_V = irregV "seek" "sought" "sought" ;
sell_V = irregV "sell" "sold" "sold" ;
send_V = irregV "send" "sent" "sent" ;
set_V = irregDuplV "set" "set" "set" ;
sew_V = irregV "sew" "sewed" (variants {"sewed" ; "sewn"}) ;
shake_V = irregV "shake" "shook" "shaken" ;
shave_V = irregV "shave" "shaved" (variants {"shaved" ; "shaven"}) ;
shear_V = irregV "shear" "shore" "shorn" ;
shed_V = irregDuplV "shed" "shed" "shed" ;
shine_V = irregV "shine" "shone" "shone" ;
shoe_V = irregV "shoe" "shoed" (variants {"shoed" ; "shod"}) ;
shoot_V = irregV "shoot" "shot" "shot" ;
show_V = irregV "show" "showed" (variants {"showed" ; "shown"}) ;
shrink_V = irregV "shrink" "shrank" "shrunk" ;
shut_V = irregDuplV "shut" "shut" "shut" ;
sing_V = irregV "sing" "sang" "sung" ;
sink_V = irregV "sink" "sank" "sunk" ;
sit_V = irregDuplV "sit" "sat" "sat" ;
sleep_V = irregV "sleep" "slept" "slept" ;
slay_V = irregV "slay" "slew" "slain" ;
slide_V = irregV "slide" "slid" "slid" ;
sling_V = irregV "sling" "slung" "slung" ;
slit_V = irregDuplV "slit" "slit" "slit" ;
smite_V = irregV "smite" "smote" "smitten" ;
sow_V = irregV "sow" "sowed" (variants {"sowed" ; "sown"}) ;
speak_V = irregV "speak" "spoke" "spoken" ;
speed_V = irregV "speed" "sped" "sped" ;
spend_V = irregV "spend" "spent" "spent" ;
spill_V = irregV "spill" (variants {"spilled" ; "spilt"}) (variants {"spilled" ; "spilt"}) ;
spin_V = irregDuplV "spin" "spun" "spun" ;
spit_V = irregDuplV "spit" (variants {"spit" ; "spat"}) "spit" ;
split_V = irregDuplV "split" "split" "split" ;
spread_V = irregV "spread" "spread" "spread" ;
spring_V = irregV "spring" (variants {"sprang" ; "sprung"}) "sprung" ;
stand_V = irregV "stand" "stood" "stood" ;
steal_V = irregV "steal" "stole" "stolen" ;
stick_V = irregV "stick" "stuck" "stuck" ;
sting_V = irregV "sting" "stung" "stung" ;
stink_V = irregV "stink" "stank" "stunk" ;
stride_V = irregV "stride" "strod" "stridden" ;
strike_V = irregV "strike" "struck" "struck" ;
string_V = irregV "string" "strung" "strung" ;
strive_V = irregV "strive" "strove" "striven" ;
swear_V = irregV "swear" "swore" "sworn" ;
sweep_V = irregV "sweep" "swept" "swept" ;
swell_V = irregV "swell" "swelled" (variants {"swelled" ; "swollen"}) ;
swim_V = irregDuplV "swim" "swam" "swum" ;
swing_V = irregV "swing" "swung" "swung" ;
take_V = irregV "take" "took" "taken" ;
teach_V = irregV "teach" "taught" "taught" ;
tear_V = irregV "tear" "tore" "torn" ;
tell_V = irregV "tell" "told" "told" ;
think_V = irregV "think" "thought" "thought" ;
thrive_V = irregV "thrive" (variants {"thrived" ; "throve"}) "thrived" ;
throw_V = irregV "throw" "threw" "thrown" ;
thrust_V = irregV "thrust" "thrust" "thrust" ;
tread_V = irregV "tread" "trod" "trodden" ;
understand_V = irregV "understand" "understood" "understood" ;
uphold_V = irregV "uphold" "upheld" "upheld" ;
upset_V = irregDuplV "upset" "upset" "upset" ;
wake_V = irregV "wake" "woke" "woken" ;
wear_V = irregV "wear" "wore" "worn" ;
weave_V = irregV "weave" (variants {"weaved" ; "wove"}) (variants {"weaved" ; "woven"}) ;
wed_V = irregDuplV "wed" "wed" "wed" ;
weep_V = irregV "weep" "wept" "wept" ;
wind_V = irregV "wind" "wound" "wound" ;
win_V = irregDuplV "win" "won" "won" ;
withhold_V = irregV "withhold" "withheld" "withheld" ;
withstand_V = irregV "withstand" "withstood" "withstood" ;
wring_V = irregV "wring" "wrung" "wrung" ;
write_V = irregV "write" "wrote" "written" ;
}

View File

@@ -1,395 +0,0 @@
--# -path=.:../romance:../common:../abstract:../../prelude
-- Irregular verbs from Nancy, based on a list from Sylvain Pogodalla, 25/11/2004
-- Translated to GF by Aarne Ranta
-- added extracted subcat information 29/11
concrete IrregFre of IrregFreAbs = CatFre **
open DiffFre, MorphoFre, BeschFre, Prelude in {
flags optimize=values ;
-- all verbs in classes with "er" and "finir" are omitted
lin
abattre_V2 = v_besch55 "abattre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
absoudre_V2 = v_besch72 "absoudre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
abstenir_V = v_besch23 "abstenir" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
abstraire_V2 = v_besch61 "abstraire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
accourir_V = v_besch33 "accourir" ** {vtyp = VHabere ; lock_V = <>} ;
accroître_V2 = v_besch73 "accroître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
accueillir_V2 = v_besch28 "accueillir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
acquérir_V2 = v_besch24 "acquérir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
adjoindre_V2 = v_besch58 "adjoindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
admettre_V2 = v_besch56 "admettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
advenir_V = v_besch23 "advenir" ** {vtyp = VEsse ; lock_V = <>} ;
aller_V = v_besch22 "aller" ** {vtyp = VEsse ; lock_V = <>} ;
apercevoir_V2 = v_besch38 "apercevoir" ** {vtyp = VRefl ; lock_V2 = <> ; c2 = complGen} ;
apparaître_V = v_besch64 "apparaître" ** {vtyp = VHabere ; lock_V = <>} ;
appartenir_V2 = v_besch23 "appartenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
appendre_V2 = v_besch53 "appendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
apprendre_V2 = v_besch54 "apprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
assaillir_V2 = v_besch29 "assaillir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
asseoir_V2 = v_besch49 "asseoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
astreindre_V2 = v_besch57 "astreindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
atteindre_V2 = v_besch57 "atteindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
attendre_V2 = v_besch53 "attendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
avoir_V2 = v_besch1 "avoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
battre_V2 = v_besch55 "battre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
boire_V2 = v_besch69 "boire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
bouillir_V2 = v_besch31 "bouillir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
braire_V = v_besch61 "braire" ** {vtyp = VHabere ; lock_V = <>} ;
ceindre_V2 = v_besch57 "ceindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
choir_V = v_besch52 "choir" ** {vtyp = VEsse ; lock_V = <>} ;
circonscrire_V2 = v_besch80 "circonscrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
circonvenir_V2 = v_besch23 "circonvenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
clore_V2 = v_besch70 "clore" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
combattre_V2 = v_besch55 "combattre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
commettre_V2 = v_besch56 "commettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
comparaître_V2 = v_besch64 "comparaître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
complaire_V2 = v_besch63 "complaire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
comprendre_V2 = v_besch54 "comprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
compromettre_V2 = v_besch56 "compromettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
concevoir_V2 = v_besch38 "concevoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
conclure_V2 = v_besch71 "conclure" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
concourir_V2 = v_besch33 "concourir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
condescendre_V2 = v_besch53 "condescendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
conduire_V2 = v_besch82 "conduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
confire_V2 = v_besch81 "confire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
confondre_V2 = v_besch53 "confondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
conjoindre_V2 = v_besch58 "conjoindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
connaître_V2 = v_besch64 "connaître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
conquérir_V2 = v_besch24 "conquérir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
consentir_V2 = v_besch25 "consentir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
construire_V2 = v_besch82 "construire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
contenir_V2 = v_besch23 "contenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
contraindre_V2 = v_besch59 "contraindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
contrebattre_V2 = v_besch55 "contrebattre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
contredire_V2 = v_besch78 "contredire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
contrefaire_V2 = v_besch62 "contrefaire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
contrevenir_V2 = v_besch23 "contrevenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
convaincre_V2 = v_besch60 "convaincre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
convenir_V2 = v_besch23 "convenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
correspondre_V2 = v_besch53 "correspondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
corrompre_V2 = v_besch53 "corrompre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
coudre_V2 = v_besch73 "coudre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
courir_V2 = v_besch33 "courir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
couvrir_V2 = v_besch27 "couvrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
craindre_V2 = v_besch59 "craindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
croire_V2 = v_besch68 "croire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
croître_V = v_besch67 "croître" ** {vtyp = VEsse ; lock_V = <>} ;
cueillir_V2 = v_besch28 "cueillir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
cuire_V2 = v_besch82 "cuire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
débattre_V2 = v_besch55 "débattre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
débouillir_V2 = v_besch31 "débouillir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
décevoir_V2 = v_besch38 "décevoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
déchoir_V2 = v_besch52 "déchoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
déclore_V2 = v_besch70 "déclore" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
décommettre_V2 = v_besch56 "décommettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
déconfire_V2 = v_besch81 "déconfire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
découdre_V2 = v_besch73 "découdre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
découvrir_V2 = v_besch27 "découvrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
décrire_V2 = v_besch80 "décrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
décroître_V2 = v_besch67 "décroître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
décuire_V2 = v_besch82 "décuire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
déduire_V2 = v_besch82 "déduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
défaillir_V = v_besch30 "défaillir" ** {vtyp = VHabere ; lock_V = <>} ;
défaire_V2 = v_besch62 "défaire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
défendre_V2 = v_besch53 "défendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
démentir_V2 = v_besch25 "démentir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
démettre_V2 = v_besch56 "démettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
démordre_V = v_besch53 "démordre" ** {vtyp = VHabere ; lock_V = <>} ;
départir_V2 = v_besch25 "départir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
dépeindre_V2 = v_besch57 "dépeindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
dépendre_V2 = v_besch53 "dépendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
déplaire_V = v_besch63 "déplaire" ** {vtyp = VHabere ; lock_V = <>} ;
dépourvoir_V2 = v_besch40 "dépourvoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
déprendre_V2 = v_besch54 "déprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
désapprendre_V2 = v_besch54 "désapprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
descendre_V2 = v_besch53 "descendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
desservir_V2 = v_besch35 "desservir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
déteindre_V2 = v_besch57 "déteindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
détendre_V2 = v_besch53 "détendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
détenir_V2 = v_besch23 "détenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
détordre_V2 = v_besch53 "détordre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
détruire_V2 = v_besch82 "détruire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
devenir_V = v_besch23 "devenir" ** {vtyp = VEsse ; lock_V = <>} ;
dévêtir_V2 = v_besch26 "dévêtir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
devoir_V2 = v_besch42 "devoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
dire_V2 = v_besch78 "dire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
disconvenir_V2 = v_besch23 "disconvenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
discourir_V2 = v_besch33 "discourir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
disjoindre_V2 = v_besch58 "disjoindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
disparaître_V2 = v_besch64 "disparaître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
dissoudre_V2 = v_besch72 "dissoudre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
distendre_V2 = v_besch53 "distendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
distordre_V2 = v_besch53 "distordre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
distraire_V2 = v_besch61 "distraire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
dormir_V2 = v_besch32 "dormir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
ébattre_V = v_besch55 "ébattre" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
échoir_V2 = v_besch52 "échoir" ** {vtyp = VEsse ; lock_V2 = <> ; c2 = complDat} ;
éclore_V2 = v_besch70 "éclore" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
éconduire_V2 = v_besch82 "éconduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
écrire_V2 = v_besch80 "écrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
élire_V2 = v_besch77 "élire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
embatre_V2 = v_besch55 "embatre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
embattre_V2 = v_besch55 "embattre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
emboire_V = v_besch69 "emboire" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
émettre_V2 = v_besch56 "émettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
émoudre_V2 = v_besch74 "émoudre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
émouvoir_V2 = v_besch44 "émouvoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
empreindre_V2 = v_besch57 "empreindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
enceindre_V2 = v_besch57 "enceindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
enclore_V2 = v_besch70 "enclore" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
encourir_V2 = v_besch33 "encourir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
endormir_V2 = v_besch32 "endormir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
enduire_V2 = v_besch82 "enduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
enfreindre_V2 = v_besch57 "enfreindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
enfuir_V = v_besch36 "enfuir" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
enjoindre_V2 = v_besch58 "enjoindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
enquérir_V = v_besch24 "enquérir" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
entendre_V2 = v_besch53 "entendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
entr'apercevoir_V = v_besch38 "entr'apercevoir" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
entrebattre_V = v_besch55 "entrebattre" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
entre_détruire_V = v_besch82 "entre-détruire" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
entre_haïr_V = v_besch20 "entre-haïr" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
entremettre_V = v_besch56 "entremettre" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
entre_nuire_V = v_besch82 "entre-nuire" ** {vtyp = VHabere ; lock_V = <>} ;
entreprendre_V2 = v_besch54 "entreprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
entretenir_V2 = v_besch23 "entretenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
entrevoir_V2 = v_besch39 "entrevoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
entrouvrir_V2 = v_besch27 "entrouvrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
envoyer_V2 = v_besch18 "envoyer" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
épandre_V2 = v_besch53 "épandre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
éperdre_V = v_besch53 "éperdre" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
éprendre_V = v_besch54 "éprendre" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
équivaloir_V2 = v_besch47 "équivaloir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
éteindre_V2 = v_besch57 "éteindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
étendre_V2 = v_besch53 "étendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
étreindre_V2 = v_besch57 "étreindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
être_V = v_besch2 "être" ** {vtyp = VHabere ; lock_V = <>} ;
exclure_V2 = v_besch71 "exclure" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
extraire_V2 = v_besch61 "extraire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
faillir_V2 = v_besch30 "faillir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
faire_V2 = v_besch62 "faire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
falloir_V = v_besch46 "falloir" ** {vtyp = VHabere ; lock_V = <>} ;
feindre_V2 = v_besch57 "feindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
fendre_V2 = v_besch53 "fendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
fondre_V2 = v_besch53 "fondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
forfaire_V2 = v_besch62 "forfaire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
foutre_V2 = v_besch53 "foutre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
frire_V2 = v_besch81 "frire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
fuir_V2 = v_besch36 "fuir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
geindre_V2 = v_besch57 "geindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
gésir_V2 = mkNV (conj3gésir "gésir") ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
haïr_V2 = v_besch20 "haïr" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
inclure_V2 = v_besch71 "inclure" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
induire_V2 = v_besch82 "induire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
inscrire_V2 = v_besch80 "inscrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
instruire_V2 = v_besch82 "instruire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
interdire_V2 = v_besch78 "interdire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
interrompre_V2 = v_besch53 "interrompre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
intervenir_V = v_besch23 "intervenir" ** {vtyp = VEsse ; lock_V = <>} ;
introduire_V2 = v_besch82 "introduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
joindre_V2 = v_besch58 "joindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
lire_V2 = v_besch77 "lire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
luire_V = v_besch82 "luire" ** {vtyp = VHabere ; lock_V = <>} ;
mainmettre_V2 = v_besch56 "mainmettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
maintenir_V2 = v_besch23 "maintenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
méconnaître_V2 = v_besch64 "méconnaître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
mécroire_V2 = v_besch68 "mécroire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
médire_V2 = v_besch78 "médire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
mentir_V2 = v_besch25 "mentir" ** {vtyp = VEsse ; lock_V2 = <> ; c2 = complDat} ;
méprendre_V2 = v_besch54 "méprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
messeoir_V2 = v_besch50 "messeoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
mettre_V2 = v_besch56 "mettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
mévendre_V2 = v_besch53 "mévendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
mordre_V2 = v_besch53 "mordre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
morfondre_V = v_besch53 "morfondre" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
moudre_V2 = v_besch74 "moudre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
mourir_V = v_besch34 "mourir" ** {vtyp = VEsse ; lock_V = <>} ;
mouvoir_V2 = v_besch44 "mouvoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
naître_V = v_besch65 "naître" ** {vtyp = VEsse ; lock_V = <>} ;
nuire_V2 = v_besch82 "nuire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
obtenir_V2 = v_besch23 "obtenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
obvenir_V = v_besch23 "obvenir" ** {vtyp = VEsse ; lock_V = <>} ;
occlure_V2 = v_besch71 "occlure" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
offrir_V2 = v_besch27 "offrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
oindre_V2 = v_besch58 "oindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
omettre_V2 = v_besch56 "omettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
ouïr_V2 = v_besch37 "ouïr" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
ouvrir_V2 = v_besch27 "ouvrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
paître_V2 = v_besch66 "paître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
paître_V = v_besch66 "paître" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
paraître_V = v_besch64 "paraître" ** {vtyp = VHabere ; lock_V = <>} ;
parcourir_V2 = v_besch33 "parcourir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
parfondre_V2 = v_besch53 "parfondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
partir_V = v_besch25 "partir" ** {vtyp = VEsse ; lock_V = <>} ;
parvenir_V = v_besch23 "parvenir" ** {vtyp = VEsse ; lock_V = <>} ;
peindre_V2 = v_besch57 "peindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
pendre_V2 = v_besch53 "pendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
percevoir_V2 = v_besch38 "percevoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
perdre_V2 = v_besch53 "perdre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
permettre_V2 = v_besch56 "permettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
plaindre_V2 = v_besch59 "plaindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
plaire_V2 = v_besch63 "plaire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
pleuvoir_V = v_besch45 "pleuvoir" ** {vtyp = VHabere ; lock_V = <>} ;
poindre_V2 = v_besch58 "poindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
pondre_V2 = v_besch53 "pondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
pourfendre_V2 = v_besch53 "pourfendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
poursuivre_V2 = v_besch75 "poursuivre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
pourvoir_V2 = v_besch40 "pourvoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
pouvoir_V = v_besch43 "pouvoir" ** {vtyp = VHabere ; lock_V = <>} ;
prédire_V2 = v_besch78 "prédire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
prendre_V2 = v_besch54 "prendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
prescrire_V2 = v_besch80 "prescrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
pressentir_V2 = v_besch25 "pressentir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
prétendre_V2 = v_besch53 "prétendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
prévaloir_V2 = v_besch47 "prévaloir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
prévenir_V2 = v_besch23 "prévenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
prévoir_V2 = v_besch39 "prévoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
produire_V2 = v_besch82 "produire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
promettre_V2 = v_besch56 "promettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
promouvoir_V2 = v_besch44 "promouvoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
proscrire_V2 = v_besch80 "proscrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
provenir_V = v_besch23 "provenir" ** {vtyp = VEsse ; lock_V = <>} ;
rabattre_V2 = v_besch55 "rabattre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
raire_V2 = v_besch61 "raire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rapprendre_V2 = v_besch54 "rapprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rasseoir_V2 = v_besch49 "rasseoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
réadmettre_V2 = v_besch56 "réadmettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
réapparaître_V = v_besch64 "réapparaître" ** {vtyp = VHabere ; lock_V = <>} ;
réapprendre_V2 = v_besch54 "réapprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rebattre_V2 = v_besch55 "rebattre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
recevoir_V2 = v_besch38 "recevoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
recomparaître_V2 = v_besch64 "recomparaître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
reconduire_V2 = v_besch82 "reconduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
reconnaître_V2 = v_besch64 "reconnaître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
reconquérir_V2 = v_besch24 "reconquérir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
reconstruire_V2 = v_besch82 "reconstruire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
recoudre_V2 = v_besch73 "recoudre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
recourir_V2 = v_besch33 "recourir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
recouvrir_V2 = v_besch27 "recouvrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
récrire_V2 = v_besch80 "récrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
recroître_V2 = v_besch67 "recroître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
recueillir_V2 = v_besch28 "recueillir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
recuire_V2 = v_besch82 "recuire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
redécouvrir_V2 = v_besch27 "redécouvrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
redéfaire_V2 = v_besch62 "redéfaire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
redescendre_V2 = v_besch53 "redescendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
redevenir_V = v_besch23 "redevenir" ** {vtyp = VEsse ; lock_V = <>} ;
redevoir_V2 = v_besch42 "redevoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
redire_V2 = v_besch78 "redire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
réduire_V2 = v_besch82 "réduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
réécrire_V2 = v_besch80 "réécrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
réélire_V2 = v_besch77 "réélire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
réentendre_V2 = v_besch53 "réentendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
refaire_V2 = v_besch62 "refaire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
refendre_V2 = v_besch53 "refendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
refondre_V2 = v_besch53 "refondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
réinscrire_V2 = v_besch80 "réinscrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
réintroduire_V2 = v_besch82 "réintroduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rejoindre_V2 = v_besch58 "rejoindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
relire_V2 = v_besch77 "relire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
reluire_V2 = v_besch82 "reluire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
remettre_V2 = v_besch56 "remettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
remordre_V2 = v_besch53 "remordre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
remoudre_V2 = v_besch74 "remoudre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
renaître_V2 = v_besch65 "renaître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rendormir_V2 = v_besch32 "rendormir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rendre_V2 = v_besch53 "rendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rentraire_V2 = v_besch61 "rentraire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rentrouvrir_V2 = v_besch27 "rentrouvrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
renvoyer_V2 = v_besch18 "renvoyer" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
repaître_V2 = v_besch66 "repaître" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
répandre_V2 = v_besch53 "répandre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
reparaître_V = v_besch64 "reparaître" ** {vtyp = VEsse ; lock_V = <>} ;
repartir_V = v_besch25 "repartir" ** {vtyp = VEsse ; lock_V = <>} ;
repeindre_V2 = v_besch57 "repeindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rependre_V2 = v_besch53 "rependre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
repentir_V = v_besch25 "repentir" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
reperdre_V2 = v_besch53 "reperdre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
repleuvoir_V = v_besch45 "repleuvoir" ** {vtyp = VHabere ; lock_V = <>} ;
répondre_V2 = v_besch53 "répondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
reprendre_V2 = v_besch54 "reprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
reproduire_V2 = v_besch82 "reproduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
requérir_V2 = v_besch24 "requérir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
résoudre_V2 = mkNV (conj3résoudre "résoudre") ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
ressentir_V2 = v_besch25 "ressentir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
resservir_V2 = v_besch35 "resservir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
ressortir_V = v_besch25 "ressortir" ** {vtyp = VEsse ; lock_V = <>} ;
ressouvenir_V = v_besch23 "ressouvenir" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
restreindre_V2 = v_besch57 "restreindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
reteindre_V2 = v_besch57 "reteindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
retendre_V2 = v_besch53 "retendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
retenir_V2 = v_besch23 "retenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
retondre_V2 = v_besch53 "retondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
retordre_V2 = v_besch53 "retordre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
retraduire_V2 = v_besch82 "retraduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
retraire_V2 = v_besch61 "retraire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
retranscrire_V2 = v_besch80 "retranscrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
retransmettre_V2 = v_besch56 "retransmettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rétreindre_V2 = v_besch57 "rétreindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
revaloir_V2 = v_besch47 "revaloir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
revendre_V2 = v_besch53 "revendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
revenir_V = v_besch23 "revenir" ** {vtyp = VEsse ; lock_V = <>} ;
revêtir_V2 = v_besch26 "revêtir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
revivre_V2 = v_besch76 "revivre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
revoir_V2 = v_besch39 "revoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
revouloir_V2 = v_besch48 "revouloir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rire_V2 = v_besch79 "rire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ;
rompre_V2 = v_besch53 "rompre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
rouvrir_V2 = v_besch27 "rouvrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
saillir_V2 = v_besch29 "saillir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
satisfaire_V2 = v_besch62 "satisfaire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
savoir_V2 = v_besch41 "savoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
secourir_V2 = v_besch33 "secourir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
séduire_V2 = v_besch82 "séduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
sentir_V2 = v_besch25 "sentir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
seoir_V = v_besch50 "seoir" ** {vtyp = VHabere ; lock_V = <>} ;
servir_V2 = v_besch35 "servir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
sortir_V = v_besch25 "sortir" ** {vtyp = VHabere ; lock_V = <>} ;
soubattre_V2 = v_besch55 "soubattre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
souffrir_V2 = v_besch27 "souffrir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
soumettre_V2 = v_besch56 "soumettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
sourire_V2 = v_besch79 "sourire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
souscrire_V2 = v_besch80 "souscrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
sous_entendre_V2 = v_besch53 "sous-entendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
sous_tendre_V2 = v_besch53 "sous-tendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
soustraire_V2 = v_besch61 "soustraire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
soutenir_V2 = v_besch23 "soutenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
souvenir_V = v_besch23 "souvenir" ** {vtyp = VHabere ; lock_V = <> ; c2 = complAcc} ;
subvenir_V2 = v_besch23 "subvenir" ** {vtyp = VEsse ; lock_V2 = <> ; c2 = complDat} ;
suffire_V2 = v_besch81 "suffire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
suivre_V2 = v_besch75 "suivre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
surfaire_V2 = v_besch62 "surfaire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
surprendre_V2 = v_besch54 "surprendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
surproduire_V2 = v_besch82 "surproduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
surseoir_V2 = v_besch51 "surseoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
surtondre_V2 = v_besch53 "surtondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
survenir_V = v_besch23 "survenir" ** {vtyp = VEsse ; lock_V = <>} ;
survivre_V2 = v_besch76 "survivre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
suspendre_V2 = v_besch53 "suspendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
taire_V2 = v_besch63 "taire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
teindre_V2 = v_besch57 "teindre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
tendre_V2 = v_besch53 "tendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
tenir_V2 = v_besch23 "tenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ;
tondre_V2 = v_besch53 "tondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
tordre_V2 = v_besch53 "tordre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
traduire_V2 = v_besch82 "traduire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
traire_V2 = v_besch61 "traire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
transcrire_V2 = v_besch80 "transcrire" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
transmettre_V2 = v_besch56 "transmettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
transparaître_V = v_besch64 "transparaître" ** {vtyp = VHabere ; lock_V = <>} ;
tréfondre_V2 = v_besch53 "tréfondre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
tressaillir_V = v_besch29 "tressaillir" ** {vtyp = VHabere ; lock_V = <>} ;
vaincre_V2 = v_besch60 "vaincre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
valoir_V2 = v_besch47 "valoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
vendre_V2 = v_besch53 "vendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
venir_V = v_besch23 "venir" ** {vtyp = VEsse ; lock_V = <>} ;
vêtir_V2 = v_besch26 "vêtir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
vivre_V2 = v_besch76 "vivre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
voir_V2 = v_besch39 "voir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
vouloir_V2 = v_besch48 "vouloir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ;
}

View File

@@ -1,194 +0,0 @@
--# -path=.:prelude:../abstract:../common
-- adapted from verb list in
-- http://www.iee.et.tu-dresden.de/~wernerr/grammar/verben_dt.html
concrete IrregGer of IrregGerAbs = CatGer ** open ParadigmsGer in {
flags optimize=values ;
lin backen_V = irregV "backen" "bäckt" (variants {"backt" ; "buk"}) (variants {"backt" ; "buke"}) "gebacken" ;
lin befehlen_V = irregV "befehlen" "befiehlt" "befahl" "beföhle" "befähle)" ;
lin beginnen_V = irregV "beginnen" "beginnt" "begann" "begönne" "begänne)" ;
lin beißen_V = irregV "beißen" "beißt" "biß" "biße" "gebissen" ;
lin bergen_V = irregV "bergen" "birgt" "barg" "bärge" "geborgen" ;
lin bersten_V = irregV "bersten" "birst" "barst" "bärste" "geborsten" ;
lin bewegen_V = irregV "bewegen" "bewegt" "bewog" "bewöge" "bewogen" ;
lin biegen_V = irregV "biegen" "biegt" "bog" "böge" "gebogen" ;
lin bieten_V = irregV "bieten" "bietet" "bot" "böte" "geboten" ;
lin binden_V = irregV "binden" "bindt" "band" "bände" "gebunden" ;
lin bitten_V = irregV "bitten" "bittet" "bat" "bäte" "gebeten" ;
lin blasen_V = irregV "blasen" "bläst" "blies" "bliese" "geblasen" ;
lin bleiben_V = irregV "bleiben" "bleibt" "blieb" "bliebe" "geblieben" ;
lin braten_V = irregV "braten" "brät" "briet" "briete" "gebraten" ;
lin brechen_V = irregV "brechen" "bricht" "brach" "bräche" "gebrochen" ;
lin brennen_V = irregV "brennen" "brennt" "brannte" "brennte" "gebrannt" ;
lin bringen_V = irregV "bringen" "bringt" "brachte" "brachte" "gebracht" ;
lin denken_V = irregV "denken" "denkt" "dachte" "dachte" "gedacht" ;
lin dingen_V = irregV "dingen" "dingt" "dingte" "dang" "gedungen" ;
lin dreschen_V = irregV "dreschen" "drischt" "drosch" "drösche" "gedroschen" ;
lin dringen_V = irregV "dringen" "dringt" "drang" "dränge" "gedrungen" ;
lin dürfen_V = irregV "dürfen" "darf" "durfte" "dürfte" "gedurft" ;
lin empfehlen_V = irregV "empfehlen" "empfiehlt" "empfahl"
(variants {"empföhle" ; "empfähle"}) "empfohlen" ;
lin erlöschen_V = irregV "erlöschen" "erlischt" "erlosch" "erlösche" "erloschen" ;
lin erkennen_V = irregV "erkennen" "erkennt" "erkannte" "erkannte" "erkannt" ;
lin erschrecken_V = irregV "erschrecken" "erschrickt" "erschrak" "erschräke" "erschrocken" ;
lin essen_V = irregV "essen" "ißt" "aß" "äße" "gegessen" ;
lin fahren_V = irregV "fahren" "fährt" "fuhr" "führe" "gefahren" ;
lin fallen_V = irregV "fallen" "fällt" "fiel" "fiele" "gefallen" ;
lin fangen_V = irregV "fangen" "fängt" "fing" "finge" "gefangen" ;
lin fechten_V = irregV "fechten" "fechtet" "focht" "föchte" "gefochten" ;
lin finden_V = irregV "finden" "findt" "fand" "fände" "gefunden" ;
lin flechten_V = irregV "flechten" "flicht" "flocht" "flöchte" "geflochten" ;
lin fliegen_V = irregV "fliegen" "fliegt" "flog" "flöge" "geflogen" ;
lin fliehen_V = irregV "fliehen" "flieht" "floh" "flöhe" "geflohen" ;
lin fließen_V = irregV "fließen" "fließt" "floß" "flösse" "geflossen" ;
lin fressen_V = irregV "fressen" "frißt" "fraß" "fräße" "gefressen" ;
lin frieren_V = irregV "frieren" "friert" "fror" "fröre" "gefroren" ;
lin gären_V = irregV "gären" "gärt" (variants {"gor" ; "gärte"}) "göre" "gegoren" ;
lin gebären_V = irregV "gebären" "gebiert" "gebar" "gebäre" "geboren" ;
lin geben_V = irregV "geben" "gibt" "gab" "gäbe" "gegeben" ;
lin gedeihen_V = irregV "gedeihen" "gedeiht" "gedieh" "gediehe" "gediehen" ;
lin gehen_V = irregV "gehen" "geht" "ging" "ginge" "gegangen" ;
lin gelingen_V = irregV "gelingen" "gelingt" "gelang" "gelange" "gelungen" ;
lin gelten_V = irregV "gelten" "gilt" "galt" (variants {"galte" ; "golte"}) "gegolten" ;
lin genesen_V = irregV "genesen" "genest" "genas" "genäse" "genesen" ;
lin genießen_V = irregV "genießen" "genießt" "genoß" "genösse" "genossen" ;
lin geschehen_V = irregV "geschehen" "geschieht" "geschah" "geschehen" "geschähe" ;
lin gewinnen_V = irregV "gewinnen" "gewinnt" "gewann" (variants {"gewönne" ; "gewänne"}) "gewonnen" ;
lin gießen_V = irregV "gießen" "gießt" "goß" "gösse" "gegossen" ;
lin gleichen_V = irregV "gleichen" "gleicht" "glich" "gliche" "geglichen" ;
lin gleiten_V = irregV "gleiten" "gleitet" "glitt" "glitte" "geglitten" ;
lin glimmen_V = irregV "glimmen" "glimmt" "glomm" "glimmte" "glömme" ;
lin graben_V = irregV "graben" "gräbt" "grub" "grübe" "gegraben" ;
lin greifen_V = irregV "greifen" "greift" "griff" "griffe" "gegriffen" ;
lin haben_V = irregV "haben" "hat" "hatte" "hatte" "gehabt" ;
lin halten_V = irregV "halten" "hält" "hielt" "hielte" "gehalten" ;
lin hängen_V = irregV "hängen" "hängt" "hing" "hinge" "gehangen" ;
lin hauen_V = irregV "hauen" "haut" (variants {"haute" ; "hieb"}) (variants {"haute" ; "hiebe"}) "gehauen" ;
lin heben_V = irregV "heben" "hebt" "hob" "höbe" "gehoben" ;
lin heißen_V = irregV "heißen" "heißt" "hieß" "hieße" "geheißen" ;
lin helfen_V = irregV "helfen" "hilft" "half" "hülfe" "geholfen" ;
lin kennen_V = irregV "kennen" "kennt" "kannte" "kennte" "gekannt" ;
lin klimmen_V = irregV "klimmen" "klimmt" "klomm" "klömme" "geklommen" ;
lin klingen_V = irregV "klingen" "klingt" "klang" "klänge" "geklungen" ;
lin kneifen_V = irregV "kneifen" "kneift" "kniff" "kniffe" "gekniffen" ;
lin kommen_V = irregV "kommen" "kommt" "kam" "käme" "gekommen" ;
lin können_V = irregV "können" "kann" "konnte" "könnte" "gekonnt" ;
lin kriechen_V = irregV "kriechen" "kriecht" "kroch" "kröche" "gekrochen" ;
lin küren_V = irregV "küren" "kürt" "kürte" "kor" "gekürt" ;
lin laden_V = irregV "laden" "lädt" "lud" "lüde" "geladen" ;
lin lassen_V = irregV "lassen" "läßt" "ließ" "ließe" "gelassen" ;
lin laufen_V = irregV "laufen" "läuft" "lief" "liefe" "gelaufen" ;
lin leiden_V = irregV "leiden" "leidt" "litt" "litte" "gelitten" ;
lin leihen_V = irregV "leihen" "leiht" "lieh" "liehe" "geliehen" ;
lin lesen_V = irregV "lesen" "liest" "las" "läse" "gelesen" ;
lin liegen_V = irregV "liegen" "liegt" "lag" "läge" "gelegen" ;
lin lügen_V = irregV "lügen" "lügt" "log" "löge" "gelogen" ;
lin mahlen_V = irregV "mahlen" "mahlt" "mahlte" "mahlte" "gemahlen" ;
lin meiden_V = irregV "meiden" "meidt" "mied" "miede" "gemieden" ;
lin melken_V = irregV "melken" (variants {"melkt" ; "milkt"}) (variants {"melkte" ; "molk"}) "gemolken" "gemelkt" ;
lin messen_V = irregV "messen" "mißt" "maß" "mäße" "gemessen" ;
lin mißlingen_V = irregV "mißlingen" "mißlingt" "mißlang" "mißlungen" "mißlänge" ;
lin mögen_V = irregV "mögen" "mag" "mochte" "möchte" "gemocht" ;
lin müssen_V = irregV "müssen" "muß" "mußte" "müßte" "gemußt" ;
lin nehmen_V = irregV "nehmen" "nimmt" "nahm" "nähme" "genommen" ;
lin nennen_V = irregV "nennen" "nennt" "nannte" "nennte" "genannt" ;
lin pfeifen_V = irregV "pfeifen" "pfeift" "pfiff" "pfiffe" "gepfiffen" ;
lin preisen_V = irregV "preisen" "preist" "pries" "priese" "gepriesen" ;
lin quellen_V = irregV "quellen" "quillt" "quoll" "quölle" "gequollen" ;
lin raten_V = irregV "raten" "rät" "riet" "riete" "geraten" ;
lin reiben_V = irregV "reiben" "reibt" "rieb" "riebe" "gerieben" ;
lin reißen_V = irregV "reißen" "reißt" "riß" "riße" "gerissen" ;
lin reiten_V = irregV "reiten" "reitet" "ritt" "ritte" "geritten" ;
lin rennen_V = irregV "rennen" "rennt" "rannte" "rennte" "gerannt" ;
lin riechen_V = irregV "riechen" "riecht" "roch" "röche" "gerochen" ;
lin ringen_V = irregV "ringen" "ringt" "rang" "ränge" "gerungen" ;
lin rinnen_V = irregV "rinnen" "rinnt" "rann" "ränne" "geronnen" ;
lin rufen_V = irregV "rufen" "ruft" "rief" "riefe" "gerufen" ;
lin salzen_V = irregV "salzen" "salzt" "salzte" "salzte" "gesalzen" ;
lin saufen_V = irregV "saufen" "säuft" "soff" "söffe" "gesoffen" ;
lin saugen_V = irregV "saugen" "saugt" (variants {"saugte" ; "sog"}) (variants {"saugte" ; "soge"}) (variants {"gesaugt" ; "gesogen"}) ;
lin schaffen_V = irregV "schaffen" "schafft" "schuf" "schüfe" "geschaffen" ;
lin scheiden_V = irregV "scheiden" "scheidt" "schied" "schiede" "geschieden" ;
lin scheinen_V = irregV "scheinen" "scheint" "schien" "schiene" "geschienen" ;
lin scheißen_V = irregV "scheißen" "scheißt" "schiß" "schiße" "geschissen" ;
lin schelten_V = irregV "schelten" "schilt" "schalt" "schölte" "gescholten" ;
lin scheren_V = irregV "scheren" "schert" "schor" "schöre" "geschoren" ;
lin schieben_V = irregV "schieben" "schiebt" "schob" "schöbe" "geschoben" ;
lin schießen_V = irregV "schießen" "schießt" "schoß" "schösse" "geschossen" ;
lin schinden_V = irregV "schinden" "schindt" "schund" "schunde" "geschunden" ;
lin schlafen_V = irregV "schlafen" "schläft" "schlief" "schliefe" "geschlafen" ;
lin schlagen_V = irregV "schlagen" "schlägt" "schlug" "schlüge" "geschlagen" ;
lin schleichen_V = irregV "schleichen" "schleicht" "schlich" "schliche" "geschlichen" ;
lin schleifen_V = irregV "schleifen" "schleift" "schliff" "schliffe" "geschliffen" ;
lin schleißen_V = irregV "schleißen" "schleißt" (variants {"schliß" ; "schleißte"}) (variants {"schliß" ; "schleißte"}) (variants {"geschlissen" ; "geschleißt"}) ;
lin schließen_V = irregV "schließen" "schließt" "schloß" "schlösse" "geschlossen" ;
lin schlingen_V = irregV "schlingen" "schlingt" "schlang" "schlünge" "geschlungen" ;
lin schmeißen_V = irregV "schmeißen" "schmeißt" "schmiß" "schmiße" "geschmissen" ;
lin schmelzen_V = irregV "schmelzen" "schmilzt" "schmolz" "schmölze" "geschmolzen" ;
lin schneiden_V = irregV "schneiden" "schneidt" "schnitt" "schnitte" "geschnitten" ;
lin schreiben_V = irregV "schreiben" "schreibt" "schrieb" "schriebe" "geschrieben" ;
lin schreien_V = irregV "schreien" "schreit" "schrie" "schrie" "geschrien" ;
lin schreiten_V = irregV "schreiten" "schreitet" "schritt" "schritte" "geschritten" ;
lin schweigen_V = irregV "schweigen" "schweigt" "schwieg" "schwiege" "geschwiegen" ;
lin schwellen_V = irregV "schwellen" "schwillt" "schwoll" "schwölle" "geschwollen" ;
lin schwimmen_V = irregV "schwimmen" "schwimmt" "schwamm" (variants {"schwömme" ; "schwämme"}) "geschwommen" ;
lin schwinden_V = irregV "schwinden" "schwindt" "schwand" "schwände" "geschwunden" ;
lin schwingen_V = irregV "schwingen" "schwingt" "schwang" "schwänge" "geschwungen" ;
lin schwören_V = irregV "schwören" "schwört" "schwor" "schwüre" "geschworen" ;
lin sehen_V = irregV "sehen" "sieht" "sah" "sähe" "gesehen" ;
lin sein_V = irregV "sein" "ist" "war" "wäre" "gewesen" ;
lin senden_V = irregV "senden" "sendt" (variants {"sandte" ; "sendete"}) (variants {"sandte" ; "sendete"}) (variants {"gesandt" ; "gesendet"}) ;
lin sieden_V = irregV "sieden" "siedt" (variants {"siedete" ; "sott"}) (variants {"siedete" ; "sotte"}) (variants {"gesotten" ; "gesiedet"}) ;
lin singen_V = irregV "singen" "singt" "sang" "sänge" "gesungen" ;
lin sinken_V = irregV "sinken" "sinkt" "sank" "sänke" "gesunken" ;
lin sinnen_V = irregV "sinnen" "sinnt" "sann" "sänne" "gesonnen" ;
lin sitzen_V = irregV "sitzen" "sitzt" "saß" "säße" "gesessen" ;
lin sollen_V = irregV "sollen" "sollt" "sollte" "sollte" "gesollt" ;
lin speien_V = irregV "speien" "speit" "spie" "spie" "gespien" ;
lin spinnen_V = irregV "spinnen" "spinnt" "spann" (variants {"spönne" ; "spänne"}) "gesponnen" ;
lin spleißen_V = irregV "spleißen" "spleißt" "spliß" "spliße" "gesplissen" ;
lin sprechen_V = irregV "sprechen" "spricht" "sprach" "spräche" "gesprochen" ;
lin sprießen_V = irregV "sprießen" "sprießt" "sproß" "sprösse" "gesprossen" ;
lin springen_V = irregV "springen" "springt" "sprang" "spränge" "gesprungen" ;
lin stechen_V = irregV "stechen" "sticht" "stach" "stäche" "gestochen" ;
lin stehen_V = irregV "stehen" "steht" "stand" (variants {"stünde" ; "stände"}) "gestanden" ;
lin stehlen_V = irregV "stehlen" "stiehlt" "stahl" "stähle" "gestohlen" ;
lin steigen_V = irregV "steigen" "steigt" "stieg" "stiege" "gestiegen" ;
lin sterben_V = irregV "sterben" "stirbt" "starb" "stürbe" "gestorben" ;
lin stieben_V = irregV "stieben" "stiebt" "stob" "stöbe" "gestoben" ;
lin stinken_V = irregV "stinken" "stinkt" "stank" "stänke" "gestunken" ;
lin stoßen_V = irregV "stoßen" "stößt" "stieß" "stieße" "gestoßen" ;
lin streichen_V = irregV "streichen" "streicht" "strich" "striche" "gestrichen" ;
lin streiten_V = irregV "streiten" "streitet" "stritt" "stritte" "gestritten" ;
lin tragen_V = irregV "tragen" "trägt" "trug" "trüge" "getragen" ;
lin treffen_V = irregV "treffen" "trifft" "traf" "träfe" "getroffen" ;
lin treiben_V = irregV "treiben" "treibt" "trieb" "triebe" "getrieben" ;
lin treten_V = irregV "treten" "tritt" "trat" "träte" "getreten" ;
lin trinken_V = irregV "trinken" "trinkt" "trank" "tränke" "getrunken" ;
lin trügen_V = irregV "trügen" "trügt" "trog" "tröge" "getrogen" ;
lin tun_V = irregV "tun" "tut" "tat" "täte" "getan" ;
lin verderben_V = irregV "verderben" "verdirbt" "verdarb" "verdarbe" "verdorben" ;
lin verlieren_V = irregV "verlieren" "verliert" "verlor" "verlöre" "verloren" ;
lin wachsen_V = irregV "wachsen" "wächst" "wuchs" "wüchse" "gewachsen" ;
lin wägen_V = irregV "wägen" "wägt" "wog" "woge" "gewogen" ;
lin waschen_V = irregV "waschen" "wäscht" "wusch" "wüsche" "gewaschen" ;
lin weben_V = irregV "weben" "webt" (variants {"wob" ; "webte"}) "wöbe" (variants {"gewoben" ; "gewebt"}) ;
lin weichen_V = irregV "weichen" "weicht" "wich" "wiche" "gewichen" ;
lin weisen_V = irregV "weisen" "weist" "wies" "wiese" "gewiesen" ;
lin wenden_V = irregV "wenden" "wendt" (variants {"wandte" ; "wendete"}) (variants {"wandte" ; "wendete"}) (variants {"gewandt" ; "gewendet"}) ;
lin werben_V = irregV "werben" "wirbt" "warb" "würbe" "geworben" ;
lin werden_V = irregV "werden" "wird" (variants {"wurde" ; "ward"}) "würde" "geworden" ;
lin werfen_V = irregV "werfen" "wirft" "warf" "würfe" "geworfen" ;
lin wiegen_V = irregV "wiegen" "wiegt" "wog" "wöge" "gewogen" ;
lin winden_V = irregV "winden" "windt" "wand" "wände" "gewunden" ;
lin wissen_V = irregV "wissen" "weiß" "wußte" "wüßte" "gewußt" ;
lin wollen_V = irregV "wollen" "will" "wollte" "wollte" "gewollt" ;
lin wringen_V = irregV "wringen" "wringt" "wrang" "wränge" "gewrungen" ;
lin zeihen_V = irregV "zeihen" "zeiht" "zieh" "ziehe" "geziehen" ;
lin ziehen_V = irregV "ziehen" "zieht" "zog" "zöge" "gezogen" ;
lin zwingen_V = irregV "zwingen" "zwingt" "zwang" "zwänge" "gezwungen" ;
}

View File

@@ -1,72 +0,0 @@
--# -path=.:../scandinavian:../common:../abstract:../../prelude
-- see: http://frodo.bruderhof.com/norskklassen/commonverbs.htm
concrete IrregNor of IrregNorAbs = CatNor ** open ParadigmsNor in {
flags optimize=values ;
lin be_V = mkV "be" "ber" "bes" "bad" "bedt" "be" ;
lin bite_V = irregV "bite" (variants {"bet" ; "beit"}) "bitt" ;
lin bli_V = irregV "bli" (variants {"ble" ; "blei"}) "blitt" ;
lin brenne_V = irregV "brenne" (variants {"brant" ; "brente"}) "brent" ;
lin bringe_V = irregV "bringe" "brakte" "brakt" ;
lin burde_V = irregV "burde" "burde" "burdet" ;
lin bære_V = irregV "bære" "bar" "båret" ;
lin dra_V = mkV "dra" "drar" "dras" "drog" (variants {"dradd" ; "dratt"}) "dra" ;
lin drikke_V = irregV "drikke" "drakk" "drukket" ;
lin drive_V = irregV "drive" (variants {"drev" ; "dreiv"}) "drevet" ;
lin dø_V = irregV "dø" (variants {"dødde" ; "døde"}) "dødd" ;
lin eie_V = irregV "eie" (variants {"eide" ; "åtte"}) (variants {"eid" ; "ått"}) ;
lin falle_V = irregV "falle" "falt" "falt" ;
lin finne_V = irregV "finne" "fant" "funnet" ;
lin fly_V = irregV "fly" (variants {"fløy" ; "flaug"}) (variants {"fløyet";"flydd"}) ;
lin flyte_V = irregV "flyte" (variants {"fløte" ; "flaut"}) "flytt" ;
lin foretrekke_V = irregV "foretrekke" "foretrakk" "foretrukket" ;
lin forlate_V = irregV "forlate" "forlot" "forlatt" ;
lin forstå_V = irregV "forstå" "forstod" "forstått" ;
lin fortelle_V = irregV "fortelle" "fortalte" "fortalt" ;
lin fryse_V = irregV "fryse" "frøs" "frosset" ;
lin få_V = irregV "få" "fikk" "fått" ;
lin gi_V = irregV "gi" "gav" "gitt" ;
lin gjelde_V = irregV "gjelde" (variants {"gjaldt" ; "galdt"}) "gjeldt" ;
lin gjøre_V = irregV "gjøre" "gjorde" "gjort" ;
lin gni_V = irregV "gni" (variants {"gned" ; "gnei" ; "gnidde"}) "gnidd" ;
lin gå_V = irregV "gå" "gikk" "gått" ;
lin ha_V = irregV "ha" "hadde" "hatt" ;
lin hente_V = irregV "hente" "hentet" "hendt" ;
lin hete_V = irregV "hete" (variants {"het" ; "hette"}) "hett" ;
lin hjelpe_V = irregV "hjelpe" "hjalp" "hjulpet" ;
lin holde_V = irregV "holde" "holdt" "holdt" ;
lin komme_V = irregV "komme" "kom" "kommet" ;
lin kunne_V = irregV "kunne" "kunne" "kunnet" ;
lin la_V = irregV "la" "lot" "latt" ;
lin legge_V = irregV "legge" "la" "lagt" ;
lin ligge_V = irregV "ligge" "lå" "ligget" ;
lin løpe_V = irregV "løpe" "løp" (variants {"løpt" ; "løpet"}) ;
lin måtte_V = irregV "måtte" "måtte" "måttet" ;
lin renne_V = irregV "renne" "rant" "rent" ;
lin se_V = mkV "se" "ser" "ses" "så" "sett" "se" ;
lin selge_V = irregV "selge" "solgte" "solgt" ;
lin sette_V = irregV "sette" "satte" "satt" ;
lin si_V = mkV "si" "sier" "sies" "sa" "sagt" "sagd" ;
lin sitte_V = irregV "sitte" "satt" "sittet" ;
lin skjære_V = irregV "skjære" "skar" "skåret" ;
lin skrive_V = irregV "skrive" "skrev" "skrevet" ;
lin skulle_V = irregV "skulle" "skulle" "skullet" ;
lin slå_V = irregV "slå" "slo" "slått" ;
lin slåss_V = mkV "slåss" "slåss" "slåss" "sloss" "slåss" "slåss" ;
lin sove_V = irregV "sove" "sov" "sovet" ;
lin springe_V = irregV "springe" "sprang" "sprunget" ;
lin spørre_V = irregV "spørre" "spurte" "spurt" ;
lin stikke_V = irregV "stikke" "stakk" "stukket" ;
lin stå_V = irregV "stå" "stod" "stått" ;
lin suge_V = irregV "suge" (variants {"sugde" ; "saug"}) "sugd" ;
lin synes_V = irregV "synes" "syntes" (variants {"synes" ; "syns"}) ;
lin synge_V = irregV "synge" "sang" "sunget" ;
lin ta_V = irregV "ta" "tok" "tatt" ;
lin treffe_V = irregV "treffe" "traff" "truffet" ;
lin trives_V = irregV "trives" "trivdes" (variants {"trives" ; "trivs"}) ;
lin ville_V = irregV "ville" "ville" "villet" ;
lin vite_V = mkV "vite" "vet" "vetes" "visste" "visst" "vit" ;
}

View File

@@ -1,185 +0,0 @@
--# -path=.:../scandinavian:../common:../abstract:../../prelude
concrete IrregSwe of IrregSweAbs = CatSwe ** open ParadigmsSwe in {
flags optimize=values ;
lin
anfalla_V = irregV "anfalla" "anföll" "anfallit" ;
angiva_V = irregV "angiva" "angav" "angivit" ;
angripa_V = irregV "angripa" "angrep" "angripit" ;
anhålla_V = irregV "anhålla" "anhäll" "anhållit" ;
antaga_V = irregV "antaga" "antog" "antagit" ;
äta_V = irregV "äta" "åt" "ätit" ;
återfinna_V = irregV "återfinna" "återfann" "återfunnit" ;
avbryta_V = irregV "avbryta" "avbröt" "avbrutit" ;
avfalla_V = irregV "avfalla" "avföll" "avfallit" ;
avhugga_V = irregV "avhugga" "avhögg" "avhuggit" ;
avlida_V = irregV "avlida" "avled" "avlidit" ;
avnjuta_V = irregV "avnjuta" "avnjöt" "avnjutit" ;
avsitta_V = irregV "avsitta" "avsatt" "avsuttit" ;
avskriva_V = irregV "avskriva" "avskrev" "avskrivit" ;
avstiga_V = irregV "avstiga" "avsteg" "avstigit" ;
bära_V = irregV "bära" "bar" "burit" ;
bedraga_V = irregV "bedraga" "bedrog" "bedragit" ;
bedriva_V = irregV "bedriva" "bedrev" "bedrivit" ;
befinna_V = irregV "befinna" "befann" "befunnit" ;
begrava_V = irregV "begrava" "begrov" "begravit" ;
behålla_V = irregV "behålla" "behöll" "behållit" ;
beljuga_V = irregV "beljuga" "beljög" "beljugit" ;
berida_V = irregV "berida" "bered" "beridit" ;
besitta_V = irregV "besitta" "besatt" "besuttit" ;
beskriva_V = irregV "beskriva" "beskrev" "beskrivit" ;
besluta_V = irregV "besluta" "beslöt" "beslutit" ;
bestiga_V = irregV "bestiga" "besteg" "bestigit" ;
bestrida_V = irregV "bestrida" "bestred" "bestridit" ;
bidraga_V = irregV "bidraga" "bidrog" "bidragit" ;
bifalla_V = irregV "bifalla" "biföll" "bifallit" ;
binda_V = irregV "binda" "band" "bundit" ;
bita_V = irregV "bita" "bet" "bitit" ;
bjuda_V = irregV "bjuda" "bjöd" "bjudit" ;
bliva_V = irregV "bli" "blev" "blivit" ;
borttaga_V = irregV "borttaga" "borttog" "borttagit" ;
brinna_V = irregV "brinna" "brann" "brunnit" ;
brista_V = irregV "brista" "brast" "brustit" ;
bryta_V = irregV "bryta" "bröt" "brutit" ;
dö_V = irregV "dö" "dog" "dött" ;
draga_V = mkV (variants { "dra"; "draga"}) (variants { "drar" ;
"drager"}) (variants { "dra" ; "drag" }) "drog" "dragit" "dragen" ;
dricka_V = irregV "dricka" "drack" "druckit" ;
driva_V = irregV "driva" "drev" "drivit" ;
drypa_V = irregV "drypa" "dröp" "drupit" ;
duga_V = irregV "duga" "dög" "dugit" ;
dyka_V = irregV "dyka" "dök" "dukit" ;
erbjuda_V = irregV "erbjuda" "erbjöd" "erbjudit" ;
erfara_V = irregV "erfara" "erfor" "erfarit" ;
erhålla_V = irregV "erhålla" "erhöll" "erhållit" ;
falla_V = irregV "falla" "föll" "fallit" ;
fånga_V = irregV "fånga" "fäng" "fångit" ;
fara_V = irregV "fara" "for" "farit" ;
finna_V = irregV "finna" "fann" "funnit" ;
flyga_V = irregV "flyga" "flög" "flugit" ;
flyta_V = irregV "flyta" "flöt" "flutit" ;
förbehålla_V = irregV "förbehålla" "förbehöll" "förbehållit" ;
förbinda_V = irregV "förbinda" "förband" "förbundit" ;
förbjuda_V = irregV "förbjuda" "förbjöd" "förbjudit" ;
fördriva_V = irregV "fördriva" "fördrev" "fördrivit" ;
föreskriva_V = irregV "föreskriva" "föreskrev" "föreskrivit" ;
företaga_V = irregV "företaga" "företog" "företagit" ;
förfrysa_V = irregV "förfrysa" "förfrös" "förfrusit" ;
förlåta_V = irregV "förlåta" "förlät" "förlåtit" ;
förnimma_V = irregV "förnimma" "förnamm" "förnummit" ;
försitta_V = irregV "försitta" "försatt" "försuttit" ;
försvinna_V = irregV "försvinna" "försvann" "försvunnit" ;
förtiga_V = irregV "förtiga" "förteg" "förtigit" ;
frysa_V = irregV "frysa" "frös" "frusit" ;
gå_V = irregV "gå" "gick" "gått" ;
göra_V = mkV "göra" "gör" "gör" "gjorde" "gjort" "gjord" ;
genomdriva_V = irregV "genomdriva" "genomdrev" "genomdrivit" ;
gilla_V = irregV "gilla" "gall" "gillit" ;
giva_V = irregV "ge" "gav" "givit" ;
gjuta_V = irregV "gjuta" "gjöt" "gjutit" ;
glida_V = irregV "glida" "gled" "glidit" ;
gnida_V = irregV "gnida" "gned" "gnidit" ;
gråta_V = irregV "gråta" "grät" "gråtit" ;
gripa_V = irregV "gripa" "grep" "gripit" ;
hålla_V = irregV "hålla" "höll" "hållit" ;
hinna_V = irregV "hinna" "hann" "hunnit" ;
hugga_V = irregV "hugga" "högg" "huggit" ;
iakttaga_V = irregV "iakttaga" "iakttog" "iakttagit" ;
inbegripa_V = irregV "inbegripa" "inbegrep" "inbegripit" ;
inbjuda_V = irregV "inbjuda" "inbjöd" "inbjudit" ;
indraga_V = irregV "indraga" "indrog" "indragit" ;
innesluta_V = irregV "innesluta" "inneslöt" "inneslutit" ;
inskriva_V = irregV "inskriva" "inskrev" "inskrivit" ;
intaga_V = irregV "intaga" "intog" "intagit" ;
känna_V = irregV "känna" "kände" "känt" ;
klämma_V = regV "klämmer" ;
kliva_V = irregV "kliva" "klev" "klivit" ;
klyva_V = irregV "klyva" "klöv" "kluvit" ;
knipa_V = irregV "knipa" "knep" "knipit" ;
knyta_V = irregV "knyta" "knöt" "knutit" ;
komma_V = irregV "komma" "kom" "kommit" ;
krypa_V = irregV "krypa" "kröp" "krupit" ;
kunna_V = mkV "kunna" "kan" "kan" "kunde" "kunnat" "känd" ;
kvida_V = irregV "kvida" "kved" "kvidit" ;
låta_V = irregV "låta" "lät" "låtit" ;
leva_V = irregV "leva" "levde" "levt" ;
ligga_V = irregV "ligga" "låg" "legat" ;
ljuda_V = irregV "ljuda" "ljöd" "ljudit" ;
ljuga_V = irregV "ljuga" "ljög" "ljugit" ;
ljuta_V = irregV "ljuta" "ljöt" "ljutit" ;
lägga_V = irregV "lägga" "lade" "lagt" ;
mottaga_V = irregV "mottaga" "mottog" "mottagit" ;
nerstiga_V = irregV "nerstiga" "nersteg" "nerstigit" ;
niga_V = irregV "niga" "neg" "nigit" ;
njuta_V = irregV "njuta" "njöt" "njutit" ;
omgiva_V = irregV "omgiva" "omgav" "omgivit" ;
överfalla_V = irregV "överfalla" "överföll" "överfallit" ;
övergiva_V = irregV "övergiva" "övergav" "övergivit" ;
pipa_V = irregV "pipa" "pep" "pipit" ;
rida_V = irregV "rida" "red" "ridit" ;
rinna_V = irregV "rinna" "rann" "runnit" ;
riva_V = irregV "riva" "rev" "rivit" ;
ryta_V = irregV "ryta" "röt" "rutit" ;
säga_V = irregV "säga" "sade" "sagt" ;
se_V = irregV "se" "såg" "sett" ;
sitta_V = irregV "sitta" "satt" "suttit" ;
sjuda_V = irregV "sjuda" "sjöd" "sjudit" ;
sjunga_V = irregV "sjunga" "sjöng" "sjungit" ;
sjunka_V = irregV "sjunka" "sjönk" "sjunkit" ;
skära_V = mkV "skära" "skär" "skär" "skar" "skurit" "skuren" ;
skina_V = irregV "skina" "sken" "skinit" ;
skita_V = irregV "skita" "sket" "skitit" ;
skjuta_V = irregV "skjuta" "skjöt" "skjutit" ;
skrida_V = irregV "skrida" "skred" "skridit" ;
skrika_V = irregV "skrika" "skrek" "skrikit" ;
skriva_V = irregV "skriva" "skrev" "skrivit" ;
skryta_V = irregV "skryta" "skröt" "skrutit" ;
slå_V = irregV "slå" "slog" "slagit" ;
slinka_V = irregV "slinka" "slank" "slunkit" ;
slippa_V = irregV "slippa" "slapp" "sluppit" ;
slita_V = irregV "slita" "slet" "slitit" ;
sluta_V = irregV "sluta" "slöt" "slutit" ;
smörja_V = irregV "smörja" "smorjde" "smort" ;
smita_V = irregV "smita" "smet" "smitit" ;
snyta_V = irregV "snyta" "snöt" "snutit" ;
sova_V = irregV "sova" "sov" "sovit" ;
spinna_V = irregV "spinna" "spann" "spunnit" ;
spricka_V = irregV "spricka" "sprack" "spruckit" ;
sprida_V = irregV "sprida" "spred" "spridit" ;
springa_V = irregV "springa" "sprang" "sprungit" ;
stå_V = irregV "stå" "stod" "stått" ;
sticka_V = irregV "sticka" "stack" "stuckit" ;
stiga_V = irregV "stiga" "steg" "stigit" ;
stinka_V = irregV "stinka" "stank" "stunkit" ;
strida_V = irregV "strida" "stred" "stridit" ;
strypa_V = irregV "strypa" "ströp" "strupit" ;
suga_V = irregV "suga" "sög" "sugit" ;
supa_V = irregV "supa" "söp" "supit" ;
svälla_V = irregV "svälla" "svällde" "svällt" ;
svida_V = irregV "svida" "sved" "svidit" ;
svika_V = irregV "svika" "svek" "svikit" ;
sy_V = irregV "sy" "sydde" "sytt" ;
taga_V = irregV "taga" "tog" "tagit" ;
tiga_V = irregV "tiga" "teg" "tigit" ;
tillåta_V = irregV "tillåta" "tillät" "tillåtit" ;
tillsluta_V = irregV "tillsluta" "tillslöt" "tillslutit" ;
tjuta_V = irregV "tjuta" "tjöt" "tjutit" ;
tryta_V = irregV "tryta" "tröt" "trutit" ;
tvinga_V = irregV "tvinga" "tvang" "tvungit" ;
uppfinna_V = irregV "uppfinna" "uppfann" "uppfunnit" ;
uppgiva_V = irregV "uppgiva" "uppgav" "uppgivit" ;
upplåta_V = irregV "upplåta" "upplät" "upplåtit" ;
uppstiga_V = irregV "uppstiga" "uppsteg" "uppstigit" ;
upptaga_V = irregV "upptaga" "upptog" "upptagit" ;
utbjuda_V = irregV "utbjuda" "utbjöd" "utbjudit" ;
utbrista_V = irregV "utbrista" "utbrast" "utbrustit" ;
utesluta_V = irregV "utesluta" "uteslöt" "uteslutit" ;
utskriva_V = irregV "utskriva" "utskrev" "utskrivit" ;
veta_V = mkV "veta" "vet" "vet" "visste" "vetat" (variants {}) ;
vända_V = irregV "vända" "vände" "vänt" ;
vina_V = irregV "vina" "ven" "vinit" ;
vinna_V = irregV "vinna" "vann" "vunnit" ;
vrida_V = irregV "vrida" "vred" "vridit" ;
}

View File

@@ -1,39 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Lang: a Test Module for the Resource Grammar</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Lang: a Test Module for the Resource Grammar</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:09:20 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
This grammar is for testing the resource as included in the
language-independent API, consisting of a grammar and a lexicon.
The grammar without a lexicon is <A HREF="Grammar.html"><CODE>Grammar</CODE></A>,
which may be more suitable to open in applications.
</P>
<PRE>
abstract Lang =
Grammar,
Lexicon
** {} ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Lang.txt -->
</BODY></HTML>

View File

@@ -1,102 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Test lexicon</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Test lexicon</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Fri Jan 20 18:01:38 2006
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Test lexicon</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<A NAME="toc1"></A>
<H1>Test lexicon</H1>
<P>
This lexicon is used when developing a grammar, and called by
<A HREF="Test.html">Test</A>. The full lexicon is divided between
<A HREF="Structural.html">Structural</A>, <A HREF="Basic.html">Basic</A>, and <A HREF="Numeral.html">Numeral</A>.
</P>
<PRE>
abstract Lex = Cat ** {
</PRE>
<P></P>
<P>
Words of open classes
</P>
<PRE>
fun
walk_V : V ;
help_V2 : V2 ;
show_V3 : V3 ;
want_VV : VV ;
claim_VS : VS ;
ask_VQ : VQ ;
dog_N : N ;
son_N2 : N2 ;
way_N3 : N3 ;
warm_A : A ;
close_A2 : A2 ;
</PRE>
<P></P>
<P>
Structural words
</P>
<PRE>
only_Predet, all_Predet : Predet ;
this_Quant : QuantSg ;
these_Quant : QuantPl ;
i_Pron, he_Pron, we_Pron : Pron ;
whoSg_IP, whoPl_IP : IP ;
when_IAdv, where_IAdv, why_IAdv : IAdv ;
whichSg_IDet, whichPl_IDet : IDet ;
here_Adv : Adv ;
very_AdA : AdA ;
always_AdV : AdV ;
forty_Numeral : Numeral ;
in_Prep, of_Prep : Prep ;
and_Conj : Conj ;
either7or_DConj : DConj ;
but_PConj : PConj ;
if_Subj, because_Subj : Subj ;
please_Voc : Voc ;
more_CAdv, less_CAdv : CAdv ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.0 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Lex.txt -->
</BODY></HTML>

View File

@@ -1,59 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
</HEAD><BODY BGCOLOR="white" TEXT="black">
<FONT SIZE="4">
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Fri Jan 20 18:01:38 2006
</P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
==
</P>
<PRE>
abstract ListConjunction = Cat ** {
fun
ConjS : Conj -&gt; [S] -&gt; S ; -- "John walks and Mary runs"
ConjAP : Conj -&gt; [AP] -&gt; AP ; -- "even and prime"
ConjNP : Conj -&gt; [NP] -&gt; NP ; -- "John or Mary"
ConjAdv : Conj -&gt; [Adv] -&gt; Adv ; -- "quickly or slowly"
DConjS : DConj -&gt; [S] -&gt; S ; -- "either John walks or Mary runs"
DConjAP : DConj -&gt; [AP] -&gt; AP ; -- "both even and prime"
DConjNP : DConj -&gt; [NP] -&gt; NP ; -- "either John or Mary"
DConjAdv : DConj -&gt; [Adv] -&gt; Adv ; -- "both badly and slowly"
</PRE>
<P></P>
<P>
These categories are internal to this module.
</P>
<PRE>
cat
[S]{2} ;
[Adv]{2} ;
[NP]{2} ;
[AP]{2} ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.0 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/ListConjunction.txt -->
</BODY></HTML>

View File

@@ -1,72 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> The Mathematics API to the Resource Grammar</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The Mathematics API to the Resource Grammar</H1>
<FONT SIZE="4">
<I>Last update: 2006-02-25 21:36:45 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
This grammar is a collection of the different modules.
It differs from <CODE>Lang</CODE> in two main ways:
</P>
<UL>
<LI>the combinations in Noun, Verb, Adjective, Adverb, Sentence are not included
<LI>instead, Symbol and Predication are used
</UL>
<P>
In practice, the most important difference is that only present-tense sentences
are included, and that symbolic expressions are recognized as NPs.
</P>
<PRE>
abstract Mathematical =
Noun - [ComplN2], --- to avoid ambiguity
</PRE>
<P></P>
<P>
Verb,
</P>
<PRE>
Adjective,
Adverb,
Numeral,
</PRE>
<P></P>
<P>
Sentence,
</P>
<PRE>
Question,
Relative,
Conjunction,
Phrase,
Text,
Idiom,
Structural,
Symbol,
Predication,
Lexicon
** {} ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc mathematical/Mathematical.txt -->
</BODY></HTML>

View File

@@ -1,80 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Multimodal additions to the resource grammar library</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Multimodal additions to the resource grammar library</H1>
<FONT SIZE="4">
<I>Last update: 2006-05-23 23:36:59 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Multi = Lang ** {
cat
</PRE>
<P></P>
<P>
Entrypoint for speech recognition - suppresses clicks.
</P>
<PRE>
Speech ;
</PRE>
<P></P>
<P>
The entrypoint to sequencialized multimodal input is <CODE>Phr</CODE>.
The pointing gesture (click) type.
</P>
<PRE>
Point ;
fun
</PRE>
<P></P>
<P>
The top function to send an utterance to speech recognizer.
</P>
<PRE>
SpeechUtt : PConj -&gt; Utt -&gt; Voc -&gt; Speech ;
</PRE>
<P></P>
<P>
Demonstratives.
</P>
<PRE>
this8point_NP : Point -&gt; NP ;
that8point_NP : Point -&gt; NP ;
these8point_NP : Point -&gt; NP ;
those8point_NP : Point -&gt; NP ;
here8point_Adv : Point -&gt; Adv ;
here7to8point_Adv : Point -&gt; Adv ;
here7from8point_Adv : Point -&gt; Adv ;
this8point_Quant : Point -&gt; Quant ;
that8point_Quant : Point -&gt; Quant ;
</PRE>
<P></P>
<P>
Building points from strings.
</P>
<PRE>
MkPoint : String -&gt; Point ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc multimodal/Multi.txt -->
</BODY></HTML>

View File

@@ -1,55 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
</HEAD><BODY BGCOLOR="white" TEXT="black">
<FONT SIZE="4">
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Last update: 2006-02-25 21:46:53 CET
</P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Multimodal =
Noun,
</PRE>
<P></P>
<P>
Verb,
</P>
<PRE>
Adjective,
Adverb,
Numeral,
</PRE>
<P></P>
<P>
Sentence,
Question,
Relative,
Conjunction,
Phrase,
Tensed,
</P>
<PRE>
Structural,
Demonstrative,
Lexicon
** {} ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc multimodal/Multimodal.txt -->
</BODY></HTML>

View File

@@ -1,224 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Noun: Nouns, noun phrases, and determiners</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Noun: Nouns, noun phrases, and determiners</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:19:41 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Noun phrases</A>
<LI><A HREF="#toc2">Determiners</A>
<LI><A HREF="#toc3">Common nouns</A>
<LI><A HREF="#toc4">Apposition</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Noun = Cat ** {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Noun phrases</H2>
<P>
The three main types of noun phrases are
</P>
<UL>
<LI>common nouns with determiners
<LI>proper names
<LI>pronouns
</UL>
<PRE>
fun
DetCN : Det -&gt; CN -&gt; NP ; -- the man
UsePN : PN -&gt; NP ; -- John
UsePron : Pron -&gt; NP ; -- he
</PRE>
<P></P>
<P>
Pronouns are defined in the module <A HREF="Structural.html"><CODE>Structural</CODE></A>.
A noun phrase already formed can be modified by a <CODE>Predet</CODE>erminer.
</P>
<PRE>
PredetNP : Predet -&gt; NP -&gt; NP; -- only the man
</PRE>
<P></P>
<P>
A noun phrase can also be postmodified by the past participle of a
verb or by an adverb.
</P>
<PRE>
PPartNP : NP -&gt; V2 -&gt; NP ; -- the number squared
AdvNP : NP -&gt; Adv -&gt; NP ; -- Paris at midnight
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Determiners</H2>
<P>
The determiner has a fine-grained structure, in which a 'nucleus'
quantifier and two optional parts can be discerned.
The cardinal numeral is only available for plural determiners.
(This is modified from CLE by further dividing their <CODE>Num</CODE> into
cardinal and ordinal.)
</P>
<PRE>
DetSg : QuantSg -&gt; Ord -&gt; Det ; -- this best man
DetPl : QuantPl -&gt; Num -&gt; Ord -&gt; Det ; -- these five best men
</PRE>
<P></P>
<P>
Quantifiers that have both forms can be used in both ways.
</P>
<PRE>
SgQuant : Quant -&gt; QuantSg ; -- this
PlQuant : Quant -&gt; QuantPl ; -- these
</PRE>
<P></P>
<P>
Pronouns have possessive forms. Genitives of other kinds
of noun phrases are not given here, since they are not possible
in e.g. Romance languages. They can be found in
<A HREF="../abstract/Extra.gf"><CODE>Extra</CODE></A>.
</P>
<PRE>
PossPron : Pron -&gt; Quant ; -- my (house)
</PRE>
<P></P>
<P>
All parts of the determiner can be empty, except <CODE>Quant</CODE>, which is
the <I>kernel</I> of a determiner.
</P>
<PRE>
NoNum : Num ;
NoOrd : Ord ;
</PRE>
<P></P>
<P>
<CODE>Num</CODE> consists of either digits or numeral words.
</P>
<PRE>
NumInt : Int -&gt; Num ; -- 51
NumNumeral : Numeral -&gt; Num ; -- fifty-one
</PRE>
<P></P>
<P>
The construction of numerals is defined in <A HREF="Numeral.html">Numeral</A>.
<CODE>Num</CODE> can be modified by certain adverbs.
</P>
<PRE>
AdNum : AdN -&gt; Num -&gt; Num ; -- almost 51
</PRE>
<P></P>
<P>
<CODE>Ord</CODE> consists of either digits or numeral words.
</P>
<PRE>
OrdInt : Int -&gt; Ord ; -- 51st
OrdNumeral : Numeral -&gt; Ord ; -- fifty-first
</PRE>
<P></P>
<P>
Superlative forms of adjectives behave syntactically in the same way as
ordinals.
</P>
<PRE>
OrdSuperl : A -&gt; Ord ; -- largest
</PRE>
<P></P>
<P>
Definite and indefinite constructions are sometimes realized as
neatly distinct words (Spanish <I>un, unos ; el, los</I>) but also without
any particular word (Finnish; Swedish definites).
</P>
<PRE>
DefArt : Quant ; -- the (house), the (houses)
IndefArt : Quant ; -- a (house), (houses)
</PRE>
<P></P>
<P>
Nouns can be used without an article as mass nouns. The resource does
not distinguish mass nouns from other common nouns, which can result
in semantically odd expressions.
</P>
<PRE>
MassDet : QuantSg ; -- (beer)
</PRE>
<P></P>
<P>
Other determiners are defined in <A HREF="Structural.html">Structural</A>.
</P>
<A NAME="toc3"></A>
<H2>Common nouns</H2>
<P>
Simple nouns can be used as nouns outright.
</P>
<PRE>
UseN : N -&gt; CN ; -- house
</PRE>
<P></P>
<P>
Relational nouns take one or two arguments.
</P>
<PRE>
ComplN2 : N2 -&gt; NP -&gt; CN ; -- son of the king
ComplN3 : N3 -&gt; NP -&gt; N2 ; -- flight from Moscow (to Paris)
</PRE>
<P></P>
<P>
Relational nouns can also be used without their arguments.
The semantics is typically derivative of the relational meaning.
</P>
<PRE>
UseN2 : N2 -&gt; CN ; -- son
UseN3 : N3 -&gt; CN ; -- flight
</PRE>
<P></P>
<P>
Nouns can be modified by adjectives, relative clauses, and adverbs
(the last rule will give rise to many 'PP attachment' ambiguities
when used in connection with verb phrases).
</P>
<PRE>
AdjCN : AP -&gt; CN -&gt; CN ; -- big house
RelCN : CN -&gt; RS -&gt; CN ; -- house that John owns
AdvCN : CN -&gt; Adv -&gt; CN ; -- house on the hill
</PRE>
<P></P>
<P>
Nouns can also be modified by embedded sentences and questions.
For some nouns this makes little sense, but we leave this for applications
to decide. Sentential complements are defined in <A HREF="Verb.html">Verb</A>.
</P>
<PRE>
SentCN : CN -&gt; SC -&gt; CN ; -- fact that John smokes, question if he does
</PRE>
<P></P>
<A NAME="toc4"></A>
<H2>Apposition</H2>
<P>
This is certainly overgenerating.
</P>
<PRE>
ApposCN : CN -&gt; NP -&gt; CN ; -- number x, numbers x and y
} ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Noun.txt -->
</BODY></HTML>

View File

@@ -1,79 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Numerals</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Numerals</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:22:05 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
This grammar defines numerals from 1 to 999999.
The implementations are adapted from the
<A HREF="http://www.cs.chalmers.se/~aarne/GF/examples/numerals/">numerals library</A>
which defines numerals for 88 languages.
The resource grammar implementations add to this inflection (if needed)
and ordinal numbers.
</P>
<P>
<B>Note</B> 1. Number 1 as defined
in the category <CODE>Numeral</CODE> here should not be used in the formation of
noun phrases, and should therefore be removed. Instead, one should use
<A HREF="Structural.html">Structural</A><CODE>.one_Quant</CODE>. This makes the grammar simpler
because we can assume that numbers form plural noun phrases.
</P>
<P>
<B>Note</B> 2. The implementations introduce spaces between
parts of a numeral, which is often incorrect - more work on
(un)lexing is needed to solve this problem.
</P>
<PRE>
abstract Numeral = Cat ** {
cat
Digit ; -- 2..9
Sub10 ; -- 1..9
Sub100 ; -- 1..99
Sub1000 ; -- 1..999
Sub1000000 ; -- 1..999999
fun
num : Sub1000000 -&gt; Numeral ;
n2, n3, n4, n5, n6, n7, n8, n9 : Digit ;
pot01 : Sub10 ; -- 1
pot0 : Digit -&gt; Sub10 ; -- d * 1
pot110 : Sub100 ; -- 10
pot111 : Sub100 ; -- 11
pot1to19 : Digit -&gt; Sub100 ; -- 10 + d
pot0as1 : Sub10 -&gt; Sub100 ; -- coercion of 1..9
pot1 : Digit -&gt; Sub100 ; -- d * 10
pot1plus : Digit -&gt; Sub10 -&gt; Sub100 ; -- d * 10 + n
pot1as2 : Sub100 -&gt; Sub1000 ; -- coercion of 1..99
pot2 : Sub10 -&gt; Sub1000 ; -- m * 100
pot2plus : Sub10 -&gt; Sub100 -&gt; Sub1000 ; -- m * 100 + n
pot2as3 : Sub1000 -&gt; Sub1000000 ; -- coercion of 1..999
pot3 : Sub1000 -&gt; Sub1000000 ; -- m * 1000
pot3plus : Sub1000 -&gt; Sub1000 -&gt; Sub1000000 ; -- m * 1000 + n
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Numeral.txt -->
</BODY></HTML>

View File

@@ -1,448 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Danish Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Danish Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 20:53:41 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc3">Compound nouns</A>
<LI><A HREF="#toc4">Relational nouns</A>
<LI><A HREF="#toc5">Relational common noun phrases</A>
<LI><A HREF="#toc6">Proper names and noun phrases</A>
</UL>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc8">Two-place adjectives</A>
</UL>
<LI><A HREF="#toc9">Adverbs</A>
<LI><A HREF="#toc10">Verbs</A>
<UL>
<LI><A HREF="#toc11">Verbs with 'være' as auxiliary</A>
<LI><A HREF="#toc12">Verbs with a particle</A>
<LI><A HREF="#toc13">Deponent verbs</A>
<LI><A HREF="#toc14">Two-place verbs</A>
<LI><A HREF="#toc15">Three-place verbs</A>
<LI><A HREF="#toc16">Other complement patterns</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Aarne Ranta 2005 - 2006
</P>
<P>
This is an API for the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
</P>
<P>
The main difference with <CODE>MorphoDan.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>.
However, this function should only seldom be needed: we have a
separate module <A HREF="../../danish/IrregDan.gf"><CODE>IrregDan</CODE></A>,
which haves a list of irregular verbs.
</P>
<PRE>
resource ParadigmsDan =
open
(Predef=Predef),
Prelude,
CommonScand,
ResDan,
MorphoDan,
CatDan in {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
</P>
<PRE>
oper
Gender : Type ;
utrum : Gender ;
neutrum : Gender ;
</PRE>
<P></P>
<P>
To abstract over number names, we define the following.
</P>
<PRE>
Number : Type ;
singular : Number ;
plural : Number ;
</PRE>
<P></P>
<P>
To abstract over case names, we define the following.
</P>
<PRE>
Case : Type ;
nominative : Case ;
genitive : Case ;
</PRE>
<P></P>
<P>
Prepositions used in many-argument functions are just strings.
</P>
<PRE>
mkPrep : Str -&gt; Prep ;
noPrep : Prep ; -- empty string
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four forms. The gender is computed from the
last letter of the second form (if <I>n</I>, then <CODE>utrum</CODE>, otherwise <CODE>neutrum</CODE>).
</P>
<PRE>
mkN : (dreng,drengen,drenge,drengene : Str) -&gt; N ;
</PRE>
<P></P>
<P>
The regular function takes the singular indefinite form
and computes the other forms and the gender by a heuristic.
The heuristic is that all nouns are <CODE>utrum</CODE> with the
plural ending <I>er</I> or <I>r</I>.
</P>
<PRE>
regN : Str -&gt; N ;
</PRE>
<P></P>
<P>
Giving gender manually makes the heuristic more reliable.
</P>
<PRE>
regGenN : Str -&gt; Gender -&gt; N ;
</PRE>
<P></P>
<P>
This function takes the singular indefinite and definite forms; the
gender is computed from the definite form.
</P>
<PRE>
mk2N : (bil,bilen : Str) -&gt; N ;
</PRE>
<P></P>
<P>
This function takes the singular indefinite and definite and the plural
indefinite
</P>
<PRE>
mk3N : (bil,bilen,biler : Str) -&gt; N ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
All the functions above work quite as well to form compound nouns,
such as <I>fodbold</I>.
</P>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>datter til x</I>) need a preposition.
</P>
<PRE>
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
The most common preposition is <I>af</I>, and the following is a
shortcut for regular relational nouns with <I>af</I>.
</P>
<PRE>
regN2 : Str -&gt; Gender -&gt; N2 ;
</PRE>
<P></P>
<P>
Use the function <CODE>mkPrep</CODE> or see the section on prepositions below to
form other prepositions.
</P>
<P>
Three-place relational nouns (<I>forbindelse fra x til y</I>)
need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H3>Relational common noun phrases</H3>
<P>
In some cases, you may want to make a complex <CODE>CN</CODE> into a
relational noun (e.g. <I>tidligere kone til</I>). However, <CODE>N2</CODE> and
<CODE>N3</CODE> are purely lexical categories. But you can use the <CODE>AdvCN</CODE>
and <CODE>PrepNP</CODE> constructions to build phrases like this.
</P>
<A NAME="toc6"></A>
<H3>Proper names and noun phrases</H3>
<P>
Proper names, with a regular genitive, are formed as follows
</P>
<PRE>
mkPN : Str -&gt; Gender -&gt; PN ; -- Paris neutrum
regPN : Str -&gt; PN ; -- utrum gender
</PRE>
<P></P>
<P>
Sometimes you can reuse a common noun as a proper name, e.g. <I>Bank</I>.
</P>
<PRE>
nounPN : N -&gt; PN ;
</PRE>
<P></P>
<P>
To form a noun phrase that can also be plural and have an irregular
genitive, you can use the worst-case function.
</P>
<PRE>
mkNP : Str -&gt; Str -&gt; Number -&gt; Gender -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need three forms:
</P>
<PRE>
mkA : (galen,galet,galne : Str) -&gt; A ;
</PRE>
<P></P>
<P>
For regular adjectives, the other forms are derived.
</P>
<PRE>
regA : Str -&gt; A ;
</PRE>
<P></P>
<P>
In most cases, two forms are enough.
</P>
<PRE>
mk2A : (stor,stort : Str) -&gt; A ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<H3>Two-place adjectives</H3>
<P>
Two-place adjectives need a preposition for their second argument.
</P>
<PRE>
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<P>
Comparison adjectives may need as many as five forms.
</P>
<PRE>
mkADeg : (stor,stort,store,storre,storst : Str) -&gt; A ;
</PRE>
<P></P>
<P>
The regular pattern works for many adjectives, e.g. those ending
with <I>ig</I>.
</P>
<PRE>
regADeg : Str -&gt; A ;
</PRE>
<P></P>
<P>
Just the comparison forms can be irregular.
</P>
<PRE>
irregADeg : (tung,tyngre,tyngst : Str) -&gt; A ;
</PRE>
<P></P>
<P>
Sometimes just the positive forms are irregular.
</P>
<PRE>
mk3ADeg : (galen,galet,galna : Str) -&gt; A ;
mk2ADeg : (bred,bredt : Str) -&gt; A ;
</PRE>
<P></P>
<P>
If comparison is formed by <I>mer</I>, <I>mest</I>, as in general for
long adjective, the following pattern is used:
</P>
<PRE>
compoundA : A -&gt; A ; -- -/mer/mest norsk
</PRE>
<P></P>
<A NAME="toc9"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
after the verb. Some can be close to the verb like the negation
<I>ikke</I> (e.g. <I>altid</I>).
</P>
<PRE>
mkAdv : Str -&gt; Adv ;
mkAdV : Str -&gt; AdV ;
</PRE>
<P></P>
<P>
Adverbs modifying adjectives and sentences can also be formed.
</P>
<PRE>
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<H2>Verbs</H2>
<P>
The worst case needs six forms.
</P>
<PRE>
mkV : (spise,spiser,spises,spiste,spist,spis : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The 'regular verb' function is the first conjugation.
</P>
<PRE>
regV : (snakke : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The almost regular verb function needs the infinitive and the preteritum.
</P>
<PRE>
mk2V : (leve,levde : Str) -&gt; V ;
</PRE>
<P></P>
<P>
There is an extensive list of irregular verbs in the module <CODE>IrregDan</CODE>.
In practice, it is enough to give three forms, as in school books.
</P>
<PRE>
irregV : (drikke, drak, drukket : Str) -&gt; V ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<H3>Verbs with 'være' as auxiliary</H3>
<P>
By default, the auxiliary is <I>have</I>. This function changes it to <I>være</I>.
</P>
<PRE>
vaereV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<H3>Verbs with a particle</H3>
<P>
The particle, such as in <I>passe på</I>, is given as a string.
</P>
<PRE>
partV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<H3>Deponent verbs</H3>
<P>
Some words are used in passive forms only, e.g. <I>undres</I>, some as
reflexive e.g. <I>forestille sig</I>.
</P>
<PRE>
depV : V -&gt; V ;
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a preposition, except the special case with direct object.
(transitive verbs). Notice that a particle comes from the <CODE>V</CODE>.
</P>
<PRE>
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc15"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
</P>
<PRE>
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- snakke, med, om
dirV3 : V -&gt; Prep -&gt; V3 ; -- give,_,til
dirdirV3 : V -&gt; V3 ; -- give,_,_
</PRE>
<P></P>
<A NAME="toc16"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
questions, verb phrases, and adjectives.
</P>
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
Notice: categories <CODE>V2S, V2V, V2A, V2Q</CODE> are in v 1.0 treated
just as synonyms of <CODE>V2</CODE>, and the second argument is given
as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
<CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<PRE>
V0, V2S, V2V, V2A, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc danish/ParadigmsDan.txt -->
</BODY></HTML>

View File

@@ -1,595 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
</HEAD><BODY BGCOLOR="white" TEXT="black">
<FONT SIZE="4">
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jan 17 15:24:36 2006
</P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
==
</P>
<P>
--# -path=.:../abstract:../../prelude
</P>
<P>
--1 Dutlish Lexical Paradigms
--
-- Aarne Ranta 2003--2005
--
-- This is an API to the user of the resource grammar
-- for adding lexical items. It gives functions for forming
-- expressions of open categories: nouns, adjectives, verbs.
--
-- Closed categories (determiners, pronouns, conjunctions) are
-- accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
--
-- The main difference with <CODE>MorphoDut.gf</CODE> is that the types
-- referred to are compiled resource grammar types. We have moreover
-- had the design principle of always having existing forms, rather
-- than stems, as string arguments of the paradigms.
--
-- The structure of functions for each word class <CODE>C</CODE> is the following:
-- first we give a handful of patterns that aim to cover all
-- regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
-- escape to construct the most irregular words of type <CODE>C</CODE>.
-- However, this function should only seldom be needed: we have a
-- separate module <CODE>IrregularDut</CODE>, which covers all irregularly inflected
-- words.
--
-- The following modules are presupposed:
</P>
<P>
resource ParadigmsDut = open
(Predef=Predef),
Prelude,
MorphoDut,
CatDut
in {
--2 Parameters
--
-- To abstract over gender names, we define the following identifiers.
</P>
<P>
oper
Gender : Type ;
</P>
<P>
human : Gender ;
nonhuman : Gender ;
masculine : Gender ;
feminite : Gender ;
</P>
<P>
-- To abstract over number names, we define the following.
</P>
<P>
Number : Type ;
</P>
<P>
singular : Number ;
plural : Number ;
</P>
<P>
-- To abstract over case names, we define the following.
</P>
<P>
Case : Type ;
</P>
<P>
nominative : Case ;
genitive : Case ;
</P>
<P>
-- Prepositions are used in many-argument functions for rection.
</P>
<P>
Preposition : Type ;
</P>
<P>
--2 Nouns
</P>
<P>
-- Worst case: give all four forms and the semantic gender.
</P>
<P>
mkN : (man,men,man's,men's : Str) -&gt; N ;
</P>
<P>
-- The regular function captures the variants for nouns ending with
-- <I>s</I>,<I>sh</I>,<I>x</I>,<I>z</I> or <I>y</I>: <I>kiss - kisses</I>, <I>flash - flashes</I>;
-- <I>fly - flies</I> (but <I>toy - toys</I>),
</P>
<P>
regN : Str -&gt; N ;
</P>
<P>
-- In practice the worst case is just: give singular and plural nominative.
</P>
<P>
mk2N : (man,men : Str) -&gt; N ;
</P>
<P>
-- All nouns created by the previous functions are marked as
-- <CODE>nonhuman</CODE>. If you want a <CODE>human</CODE> noun, wrap it with the following
-- function:
</P>
<P>
genderN : Gender -&gt; N -&gt; N ;
</P>
<P>
--3 Compound nouns
--
-- All the functions above work quite as well to form compound nouns,
-- such as <I>baby boom</I>.
</P>
<P>
--3 Relational nouns
--
-- Relational nouns (<I>daughter of x</I>) need a preposition.
</P>
<P>
mkN2 : N -&gt; Preposition -&gt; N2 ;
</P>
<P>
-- The most common preposition is <I>of</I>, and the following is a
-- shortcut for regular, <CODE>nonhuman</CODE> relational nouns with <I>of</I>.
</P>
<P>
regN2 : Str -&gt; N2 ;
</P>
<P>
-- Use the function <CODE>mkPreposition</CODE> or see the section on prepositions below to
-- form other prepositions.
--
-- Three-place relational nouns (<I>the connection from x to y</I>) need two prepositions.
</P>
<P>
mkN3 : N -&gt; Preposition -&gt; Preposition -&gt; N3 ;
</P>
<P>
--3 Relational common noun phrases
--
-- In some cases, you may want to make a complex <CODE>CN</CODE> into a
-- relational noun (e.g. <I>the old town hall of</I>).
</P>
<P>
cnN2 : CN -&gt; Preposition -&gt; N2 ;
cnN3 : CN -&gt; Preposition -&gt; Preposition -&gt; N3 ;
</P>
<P>
--
--3 Proper names and noun phrases
--
-- Proper names, with a regular genitive, are formed as follows
</P>
<P>
regPN : Str -&gt; Gender -&gt; PN ; -- John, John's
</P>
<P>
-- Sometimes you can reuse a common noun as a proper name, e.g. <I>Bank</I>.
</P>
<P>
nounPN : N -&gt; PN ;
</P>
<P>
-- To form a noun phrase that can also be plural and have an irregular
-- genitive, you can use the worst-case function.
</P>
<P>
mkNP : Str -&gt; Str -&gt; Number -&gt; Gender -&gt; NP ;
</P>
<P>
--2 Adjectives
</P>
<P>
-- Non-comparison one-place adjectives need two forms: one for
-- the adjectival and one for the adverbial form (<I>free - freely</I>)
</P>
<P>
mkA : (free,freely : Str) -&gt; A ;
</P>
<P>
-- For regular adjectives, the adverbial form is derived. This holds
-- even for cases with the variation <I>happy - happily</I>.
</P>
<P>
regA : Str -&gt; A ;
</P>
<P>
--3 Two-place adjectives
--
-- Two-place adjectives need a preposition for their second argument.
</P>
<P>
mkA2 : A -&gt; Preposition -&gt; A2 ;
</P>
<P>
-- Comparison adjectives may two more forms.
</P>
<P>
ADeg : Type ;
</P>
<P>
mkADeg : (good,better,best,well : Str) -&gt; ADeg ;
</P>
<P>
-- The regular pattern recognizes two common variations:
-- <I>-e</I> (<I>rude</I> - <I>ruder</I> - <I>rudest</I>) and
-- <I>-y</I> (<I>happy - happier - happiest - happily</I>)
</P>
<P>
regADeg : Str -&gt; ADeg ; -- long, longer, longest
</P>
<P>
-- However, the duplication of the final consonant is nor predicted,
-- but a separate pattern is used:
</P>
<P>
duplADeg : Str -&gt; ADeg ; -- fat, fatter, fattest
</P>
<P>
-- If comparison is formed by <I>more, //most</I>, as in general for//
-- long adjective, the following pattern is used:
</P>
<P>
compoundADeg : A -&gt; ADeg ; -- -/more/most ridiculous
</P>
<P>
-- From a given <CODE>ADeg</CODE>, it is possible to get back to <CODE>A</CODE>.
</P>
<P>
adegA : ADeg -&gt; A ;
</P>
<P>
--2 Adverbs
</P>
<P>
-- Adverbs are not inflected. Most lexical ones have position
-- after the verb. Some can be preverbal (e.g. <I>always</I>).
</P>
<P>
mkAdv : Str -&gt; Adv ;
mkAdV : Str -&gt; AdV ;
</P>
<P>
-- Adverbs modifying adjectives and sentences can also be formed.
</P>
<P>
mkAdA : Str -&gt; AdA ;
</P>
<P>
--2 Prepositions
--
-- A preposition as used for rection in the lexicon, as well as to
-- build <CODE>PP</CODE>s in the resource API, just requires a string.
</P>
<P>
mkPreposition : Str -&gt; Preposition ;
mkPrep : Str -&gt; Prep ;
</P>
<P>
-- (These two functions are synonyms.)
</P>
<P>
--2 Verbs
--
-- Except for <I>be</I>, the worst case needs five forms: the infinitive and
-- the third person singular present, the past indicative, and the
-- past and present participles.
</P>
<P>
mkV : (go, goes, went, gone, going : Str) -&gt; V ;
</P>
<P>
-- The regular verb function recognizes the special cases where the last
-- character is <I>y</I> (<I>cry - cries</I> but <I>buy - buys</I>) or <I>s</I>, <I>sh</I>, <I>x</I>, <I>z</I>
-- (<I>fix - fixes</I>, etc).
</P>
<P>
regV : Str -&gt; V ;
</P>
<P>
-- The following variant duplicates the last letter in the forms like
-- <I>rip - ripped - ripping</I>.
</P>
<P>
regDuplV : Str -&gt; V ;
</P>
<P>
-- There is an extensive list of irregular verbs in the module <CODE>IrregularDut</CODE>.
-- In practice, it is enough to give three forms,
-- e.g. <I>drink - drank - drunk</I>, with a variant indicating consonant
-- duplication in the present participle.
</P>
<P>
irregV : (drink, drank, drunk : Str) -&gt; V ;
irregDuplV : (get, got, gotten : Str) -&gt; V ;
</P>
<P>
--3 Verbs with a particle.
--
-- The particle, such as in <I>switch on</I>, is given as a string.
</P>
<P>
partV : V -&gt; Str -&gt; V ;
</P>
<P>
--3 Two-place verbs
--
-- Two-place verbs need a preposition, except the special case with direct object.
-- (transitive verbs). Notice that a particle comes from the <CODE>V</CODE>.
</P>
<P>
mkV2 : V -&gt; Preposition -&gt; V2 ;
</P>
<P>
dirV2 : V -&gt; V2 ;
</P>
<P>
--3 Three-place verbs
--
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
</P>
<P>
mkV3 : V -&gt; Str -&gt; Str -&gt; V3 ; -- speak, with, about
dirV3 : V -&gt; Str -&gt; V3 ; -- give,_,to
dirdirV3 : V -&gt; V3 ; -- give,_,_
</P>
<P>
--3 Other complement patterns
--
-- Verbs and adjectives can take complements such as sentences,
-- questions, verb phrases, and adjectives.
</P>
<P>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Str -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Str -&gt; Str -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Str -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Str -&gt; V2Q ;
</P>
<P>
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Str -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Str -&gt; A2V ;
</P>
<P>
-- Notice: categories <CODE>V2S, V2V, V2A, V2Q</CODE> are in v 1.0 treated
-- just as synonyms of <CODE>V2</CODE>, and the second argument is given
-- as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
-- <CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<P>
V0, V2S, V2V, V2A, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</P>
<P>
--2 Definitions of paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
</P>
<P>
Gender = MorphoDut.Gender ;
Number = MorphoDut.Number ;
Case = MorphoDut.Case ;
human = Masc ;
nonhuman = Neutr ;
masculine = Masc ;
feminine = Fem ;
singular = Sg ;
plural = Pl ;
nominative = Nom ;
genitive = Gen ;
</P>
<P>
Preposition = Str ;
</P>
<P>
regN = \ray -&gt;
let
ra = Predef.tk 1 ray ;
y = Predef.dp 1 ray ;
r = Predef.tk 2 ray ;
ay = Predef.dp 2 ray ;
rays =
case y of {
<I>y</I> =&gt; y2ie ray <I>s</I> ;
<I>s</I> =&gt; ray + <I>es</I> ;
<I>z</I> =&gt; ray + <I>es</I> ;
<I>x</I> =&gt; ray + <I>es</I> ;
_ =&gt; case ay of {
<I>sh</I> =&gt; ray + <I>es</I> ;
<I>ch</I> =&gt; ray + <I>es</I> ;
_ =&gt; ray + <I>s</I>
}
}
in
mk2N ray rays ;
</P>
<P>
mk2N = \man,men -&gt;
let mens = case last men of {
<I>s</I> =&gt; men + <I>'</I> ;
_ =&gt; men + <I>'s</I>
}
in
mkN man men (man + <I>'s</I>) mens ;
</P>
<P>
mkN = \man,men,man's,men's -&gt;
mkNoun man men man's men's **** {g = Neutr ; lock_N = &lt;&gt;} ;
</P>
<P>
genderN g man = {s = man.s ; g = g ; lock_N = &lt;&gt;} ;
</P>
<P>
mkN2 = \n,p -&gt; n **** {lock_N2 = &lt;&gt; ; c2 = p} ;
regN2 n = mkN2 (regN n) (mkPreposition <I>of</I>) ;
mkN3 = \n,p,q -&gt; n **** {lock_N3 = &lt;&gt; ; c2 = p ; c3 = q} ;
cnN2 = \n,p -&gt; n **** {lock_N2 = &lt;&gt; ; c2 = p} ;
cnN3 = \n,p,q -&gt; n **** {lock_N3 = &lt;&gt; ; c2 = p ; c3 = q} ;
</P>
<P>
regPN n g = nameReg n g **** {lock_PN = &lt;&gt;} ;
nounPN n = {s = n.s ! singular ; g = n.g ; lock_PN = &lt;&gt;} ;
mkNP x y n g = {s = table {Gen =&gt; x ; _ =&gt; y} ; a = (agrP3 n).a ;
lock_NP = &lt;&gt;} ;
</P>
<P>
mkA a b = mkAdjective a a a b **** {lock_A = &lt;&gt;} ;
regA a = regAdjective a **** {lock_A = &lt;&gt;} ;
</P>
<P>
mkA2 a p = a **** {c2 = p ; lock_A2 = &lt;&gt;} ;
</P>
<P>
ADeg = A ; ----
</P>
<P>
mkADeg a b c d = mkAdjective a b c d **** {lock_A = &lt;&gt;} ;
</P>
<P>
regADeg happy =
let
happ = init happy ;
y = last happy ;
happie = case y of {
<I>y</I> =&gt; happ + <I>ie</I> ;
<I>e</I> =&gt; happy ;
_ =&gt; happy + <I>e</I>
} ;
happily = case y of {
<I>y</I> =&gt; happ + <I>ily</I> ;
_ =&gt; happy + <I>ly</I>
} ;
in mkADeg happy (happie + <I>r</I>) (happie + <I>st</I>) happily ;
</P>
<P>
duplADeg fat =
mkADeg fat
(fat + last fat + <I>er</I>) (fat + last fat + <I>est</I>) (fat + <I>ly</I>) ;
</P>
<P>
compoundADeg a =
let ad = (a.s ! AAdj Posit)
in mkADeg ad (<I>more</I> ++ ad) (<I>most</I> ++ ad) (a.s ! AAdv) ;
</P>
<P>
adegA a = a ;
</P>
<P>
mkAdv x = ss x **** {lock_Adv = &lt;&gt;} ;
mkAdV x = ss x **** {lock_AdV = &lt;&gt;} ;
mkAdA x = ss x **** {lock_AdA = &lt;&gt;} ;
</P>
<P>
mkPreposition p = p ;
mkPrep p = ss p **** {lock_Prep = &lt;&gt;} ;
</P>
<P>
mkV a b c d e = mkVerbWorst a b c d e **** {s1 = [] ; lock_V = &lt;&gt;} ;
</P>
<P>
regV cry =
let
cr = init cry ;
y = last cry ;
cries = (regN cry).s ! Pl ! Nom ; -- !
crie = init cries ;
cried = case last crie of {
<I>e</I> =&gt; crie + <I>d</I> ;
_ =&gt; crie + <I>ed</I>
} ;
crying = case y of {
<I>e</I> =&gt; case last cr of {
<I>e</I> =&gt; cry + <I>ing</I> ;
_ =&gt; cr + <I>ing</I>
} ;
_ =&gt; cry + <I>ing</I>
}
in mkV cry cries cried cried crying ;
</P>
<P>
regDuplV fit =
let fitt = fit + last fit in
mkV fit (fit + <I>s</I>) (fitt + <I>ed</I>) (fitt + <I>ed</I>) (fitt + <I>ing</I>) ;
</P>
<P>
irregV x y z = let reg = (regV x).s in
mkV x (reg ! VPres) y z (reg ! VPresPart) **** {s1 = [] ; lock_V = &lt;&gt;} ;
</P>
<P>
irregDuplV fit y z =
let
fitting = (regDuplV fit).s ! VPresPart
in
mkV fit (fit + <I>s</I>) y z fitting ;
</P>
<P>
partV v p = verbPart v p **** {lock_V = &lt;&gt;} ;
</P>
<P>
mkV2 v p = v **** {s = v.s ; s1 = v.s1 ; c2 = p ; lock_V2 = &lt;&gt;} ;
dirV2 v = mkV2 v [] ;
</P>
<P>
mkV3 v p q = v **** {s = v.s ; s1 = v.s1 ; c2 = p ; c3 = q ; lock_V3 = &lt;&gt;} ;
dirV3 v p = mkV3 v [] p ;
dirdirV3 v = dirV3 v [] ;
</P>
<P>
mkVS v = v **** {lock_VS = &lt;&gt;} ;
mkVV v = v **** {c2 = <I>to</I> ; lock_VV = &lt;&gt;} ;
mkVQ v = v **** {lock_VQ = &lt;&gt;} ;
</P>
<P>
V0 : Type = V ;
V2S, V2V, V2Q, V2A : Type = V2 ;
AS, A2S, AV : Type = A ;
A2V : Type = A2 ;
</P>
<P>
mkV0 v = v **** {lock_V = &lt;&gt;} ;
mkV2S v p = mkV2 v p **** {lock_V2 = &lt;&gt;} ;
mkV2V v p t = mkV2 v p **** {s4 = t ; lock_V2 = &lt;&gt;} ;
mkVA v = v **** {lock_VA = &lt;&gt;} ;
mkV2A v p = mkV2 v p **** {lock_V2A = &lt;&gt;} ;
mkV2Q v p = mkV2 v p **** {lock_V2 = &lt;&gt;} ;
</P>
<P>
mkAS v = v **** {lock_A = &lt;&gt;} ;
mkA2S v p = mkA2 v p **** {lock_A = &lt;&gt;} ;
mkAV v = v **** {lock_A = &lt;&gt;} ;
mkA2V v p = mkA2 v p **** {lock_A2 = &lt;&gt;} ;
</P>
<P>
} ;
</P>
<!-- html code generated by txt2tags 2.0 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc dutch/ParadigmsDut.txt -->
</BODY></HTML>

View File

@@ -1,448 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> English Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> English Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 20:54:15 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc3">Compound nouns</A>
<LI><A HREF="#toc4">Relational nouns</A>
<LI><A HREF="#toc5">Relational common noun phrases</A>
<LI><A HREF="#toc6">Proper names and noun phrases</A>
</UL>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc8">Two-place adjectives</A>
</UL>
<LI><A HREF="#toc9">Adverbs</A>
<LI><A HREF="#toc10">Prepositions</A>
<LI><A HREF="#toc11">Verbs</A>
<UL>
<LI><A HREF="#toc12">Verbs with a particle.</A>
<LI><A HREF="#toc13">Reflexive verbs</A>
<LI><A HREF="#toc14">Two-place verbs</A>
<LI><A HREF="#toc15">Three-place verbs</A>
<LI><A HREF="#toc16">Other complement patterns</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Aarne Ranta 2003--2005
</P>
<P>
This is an API for the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
</P>
<P>
The main difference with <CODE>MorphoEng.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>.
However, this function should only seldom be needed: we have a
separate module <A HREF="../../english/IrregEng.gf"><CODE>IrregEng</CODE></A>,
which covers irregular verbss.
</P>
<PRE>
resource ParadigmsEng = open
(Predef=Predef),
Prelude,
MorphoEng,
CatEng
in {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
</P>
<PRE>
oper
Gender : Type ;
human : Gender ;
nonhuman : Gender ;
masculine : Gender ;
</PRE>
<P></P>
<P>
To abstract over number names, we define the following.
</P>
<PRE>
Number : Type ;
singular : Number ;
plural : Number ;
</PRE>
<P></P>
<P>
To abstract over case names, we define the following.
</P>
<PRE>
Case : Type ;
nominative : Case ;
genitive : Case ;
</PRE>
<P></P>
<P>
Prepositions are used in many-argument functions for rection.
The resource category <CODE>Prep</CODE> is used.
</P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four forms.
</P>
<PRE>
mkN : (man,men,man's,men's : Str) -&gt; N ;
</PRE>
<P></P>
<P>
The regular function captures the variants for nouns ending with
<I>s</I>,<I>sh</I>,<I>x</I>,<I>z</I> or <I>y</I>: <I>kiss - kisses</I>, <I>flash - flashes</I>;
<I>fly - flies</I> (but <I>toy - toys</I>),
</P>
<PRE>
regN : Str -&gt; N ;
</PRE>
<P></P>
<P>
In practice the worst case is just: give singular and plural nominative.
</P>
<PRE>
mk2N : (man,men : Str) -&gt; N ;
</PRE>
<P></P>
<P>
All nouns created by the previous functions are marked as
<CODE>nonhuman</CODE>. If you want a <CODE>human</CODE> noun, wrap it with the following
function:
</P>
<PRE>
genderN : Gender -&gt; N -&gt; N ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
A compound noun ia an uninflected string attached to an inflected noun,
such as <I>baby boom</I>, <I>chief executive officer</I>.
</P>
<PRE>
compoundN : Str -&gt; N -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>daughter of x</I>) need a preposition.
</P>
<PRE>
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
The most common preposition is <I>of</I>, and the following is a
shortcut for regular relational nouns with <I>of</I>.
</P>
<PRE>
regN2 : Str -&gt; N2 ;
</PRE>
<P></P>
<P>
Use the function <CODE>mkPrep</CODE> or see the section on prepositions below to
form other prepositions.
</P>
<P>
Three-place relational nouns (<I>the connection from x to y</I>) need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H3>Relational common noun phrases</H3>
<P>
In some cases, you may want to make a complex <CODE>CN</CODE> into a
relational noun (e.g. <I>the old town hall of</I>).
</P>
<PRE>
cnN2 : CN -&gt; Prep -&gt; N2 ;
cnN3 : CN -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<H3>Proper names and noun phrases</H3>
<P>
Proper names, with a regular genitive, are formed as follows
</P>
<PRE>
regPN : Str -&gt; PN ;
regGenPN : Str -&gt; Gender -&gt; PN ; -- John, John's
</PRE>
<P></P>
<P>
Sometimes you can reuse a common noun as a proper name, e.g. <I>Bank</I>.
</P>
<PRE>
nounPN : N -&gt; PN ;
</PRE>
<P></P>
<P>
To form a noun phrase that can also be plural and have an irregular
genitive, you can use the worst-case function.
</P>
<PRE>
mkNP : Str -&gt; Str -&gt; Number -&gt; Gender -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need two forms: one for
the adjectival and one for the adverbial form (<I>free - freely</I>)
</P>
<PRE>
mkA : (free,freely : Str) -&gt; A ;
</PRE>
<P></P>
<P>
For regular adjectives, the adverbial form is derived. This holds
even for cases with the variation <I>happy - happily</I>.
</P>
<PRE>
regA : Str -&gt; A ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<H3>Two-place adjectives</H3>
<P>
Two-place adjectives need a preposition for their second argument.
</P>
<PRE>
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<P>
Comparison adjectives may two more forms.
</P>
<PRE>
ADeg : Type ;
mkADeg : (good,better,best,well : Str) -&gt; ADeg ;
</PRE>
<P></P>
<P>
The regular pattern recognizes two common variations:
<I>-e</I> (<I>rude</I> - <I>ruder</I> - <I>rudest</I>) and
<I>-y</I> (<I>happy - happier - happiest - happily</I>)
</P>
<PRE>
regADeg : Str -&gt; ADeg ; -- long, longer, longest
</PRE>
<P></P>
<P>
However, the duplication of the final consonant is nor predicted,
but a separate pattern is used:
</P>
<PRE>
duplADeg : Str -&gt; ADeg ; -- fat, fatter, fattest
</PRE>
<P></P>
<P>
If comparison is formed by <I>more</I>, <I>most</I>, as in general for
long adjective, the following pattern is used:
</P>
<PRE>
compoundADeg : A -&gt; ADeg ; -- -/more/most ridiculous
</PRE>
<P></P>
<P>
From a given <CODE>ADeg</CODE>, it is possible to get back to <CODE>A</CODE>.
</P>
<PRE>
adegA : ADeg -&gt; A ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
after the verb. Some can be preverbal (e.g. <I>always</I>).
</P>
<PRE>
mkAdv : Str -&gt; Adv ;
mkAdV : Str -&gt; AdV ;
</PRE>
<P></P>
<P>
Adverbs modifying adjectives and sentences can also be formed.
</P>
<PRE>
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<H2>Prepositions</H2>
<P>
A preposition as used for rection in the lexicon, as well as to
build <CODE>PP</CODE>s in the resource API, just requires a string.
</P>
<PRE>
mkPrep : Str -&gt; Prep ;
noPrep : Prep ;
</PRE>
<P></P>
<P>
(These two functions are synonyms.)
</P>
<A NAME="toc11"></A>
<H2>Verbs</H2>
<P>
Except for <I>be</I>, the worst case needs five forms: the infinitive and
the third person singular present, the past indicative, and the
past and present participles.
</P>
<PRE>
mkV : (go, goes, went, gone, going : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The regular verb function recognizes the special cases where the last
character is <I>y</I> (<I>cry - cries</I> but <I>buy - buys</I>) or <I>s</I>, <I>sh</I>, <I>x</I>, <I>z</I>
(<I>fix - fixes</I>, etc).
</P>
<PRE>
regV : Str -&gt; V ;
</PRE>
<P></P>
<P>
The following variant duplicates the last letter in the forms like
<I>rip - ripped - ripping</I>.
</P>
<PRE>
regDuplV : Str -&gt; V ;
</PRE>
<P></P>
<P>
There is an extensive list of irregular verbs in the module <CODE>IrregularEng</CODE>.
In practice, it is enough to give three forms,
e.g. <I>drink - drank - drunk</I>, with a variant indicating consonant
duplication in the present participle.
</P>
<PRE>
irregV : (drink, drank, drunk : Str) -&gt; V ;
irregDuplV : (get, got, gotten : Str) -&gt; V ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<H3>Verbs with a particle.</H3>
<P>
The particle, such as in <I>switch on</I>, is given as a string.
</P>
<PRE>
partV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<H3>Reflexive verbs</H3>
<P>
By default, verbs are not reflexive; this function makes them that.
</P>
<PRE>
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a preposition, except the special case with direct object.
(transitive verbs). Notice that a particle comes from the <CODE>V</CODE>.
</P>
<PRE>
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc15"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
</P>
<PRE>
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- speak, with, about
dirV3 : V -&gt; Prep -&gt; V3 ; -- give,_,to
dirdirV3 : V -&gt; V3 ; -- give,_,_
</PRE>
<P></P>
<A NAME="toc16"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
questions, verb phrases, and adjectives.
</P>
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
Notice: categories <CODE>V2S, V2V, V2A, V2Q</CODE> are in v 1.0 treated
just as synonyms of <CODE>V2</CODE>, and the second argument is given
as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
<CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<PRE>
V0, V2S, V2V, V2A, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc english/ParadigmsEng.txt -->
</BODY></HTML>

View File

@@ -1,502 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Finnish Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Finnish Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 20:46:07 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<LI><A HREF="#toc3">Adjectives</A>
<LI><A HREF="#toc4">Verbs</A>
<UL>
<LI><A HREF="#toc5">Two-place verbs</A>
<LI><A HREF="#toc6">Three-place verbs</A>
<LI><A HREF="#toc7">Other complement patterns</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Aarne Ranta 2003--2005
</P>
<P>
This is an API to the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
</P>
<P>
The main difference with <CODE>MorphoFin.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>.
However, this function should only seldom be needed.
</P>
<PRE>
resource ParadigmsFin = open
(Predef=Predef),
Prelude,
MorphoFin,
CatFin
in {
flags optimize=noexpand ;
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender, number, and (some) case names,
we define the following identifiers. The application programmer
should always use these constants instead of the constructors
defined in <CODE>ResFin</CODE>.
</P>
<PRE>
oper
Number : Type ;
singular : Number ;
plural : Number ;
Case : Type ;
nominative : Case ;
genitive : Case ;
partitive : Case ;
translative : Case ;
inessive : Case ;
elative : Case ;
illative : Case ;
adessive : Case ;
ablative : Case ;
allative : Case ;
</PRE>
<P></P>
<P>
The following type is used for defining <B>rection</B>, i.e. complements
of many-place verbs and adjective. A complement can be defined by
just a case, or a pre/postposition and a case.
</P>
<PRE>
prePrep : Case -&gt; Str -&gt; Prep ; -- ilman, partitive
postPrep : Case -&gt; Str -&gt; Prep ; -- takana, genitive
postGenPrep : Str -&gt; Prep ; -- takana
casePrep : Case -&gt; Prep ; -- adessive
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
The worst case gives ten forms.
In practice just a couple of forms are needed to define the different
stems, vowel alternation, and vowel harmony.
</P>
<PRE>
oper
mkN : (talo, talon, talona, taloa, taloon,
taloina,taloissa,talojen,taloja,taloihin : Str) -&gt; N ;
</PRE>
<P></P>
<P>
The regular noun heuristic takes just one form (singular
nominative) and analyses it to pick the correct paradigm.
It does automatic grade alternation, and is hence not usable
for words like <I>auto</I> (whose genitive would become <I>audon</I>).
</P>
<PRE>
regN : (talo : Str) -&gt; N ;
</PRE>
<P></P>
<P>
If <CODE>regN</CODE> does not give the correct result, one can try and give
two or three forms as follows. Examples of the use of these
functions are given in <CODE>BasicFin</CODE>. Most notably, <CODE>reg2N</CODE> is used
for nouns like <I>kivi - kiviä</I>, which would otherwise become like
<I>rivi - rivejä</I>. <CODE>regN3</CODE> is used e.g. for
<I>sydän - sydämen - sydämiä</I>, which would otherwise become
<I>sydän - sytämen</I>.
</P>
<PRE>
reg2N : (savi,savia : Str) -&gt; N ;
reg3N : (vesi,veden,vesiä : Str) -&gt; N ;
</PRE>
<P></P>
<P>
Some nouns have an unexpected singular partitive, e.g. <I>meri</I>, <I>lumi</I>.
</P>
<PRE>
sgpartN : (meri : N) -&gt; (merta : Str) -&gt; N ;
nMeri : (meri : Str) -&gt; N ;
</PRE>
<P></P>
<P>
The rest of the noun paradigms are mostly covered by the three
heuristics.
</P>
<P>
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>...
</P>
<PRE>
nKukko : (kukko,kukon,kukkoja : Str) -&gt; N ;
</PRE>
<P></P>
<P>
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>.
</P>
<PRE>
nTalo : (talo : Str) -&gt; N ;
</PRE>
<P></P>
<P>
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>, .
</P>
<PRE>
nLukko : (lukko : Str) -&gt; N ;
</PRE>
<P></P>
<P>
<I>arpi - arven</I>, <I>sappi - sapen</I>, <I>kampi - kammen</I>;<I>sylki - syljen</I>
</P>
<PRE>
nArpi : (arpi : Str) -&gt; N ;
nSylki : (sylki : Str) -&gt; N ;
</PRE>
<P></P>
<P>
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.)
</P>
<PRE>
nLinux : (linuxia : Str) -&gt; N ;
</PRE>
<P></P>
<P>
Nouns of at least 3 syllables ending with <I>a</I> or <I>ä</I>, like <I>peruna</I>, <I>tavara</I>,
<I>rytinä</I>.
</P>
<PRE>
nPeruna : (peruna : Str) -&gt; N ;
</PRE>
<P></P>
<P>
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.
</P>
<PRE>
nRae : (rae, rakeena : Str) -&gt; N ;
</PRE>
<P></P>
<P>
The following covers nouns with partitive <I>ta</I>,<I></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.
</P>
<PRE>
nSusi : (susi,suden,sutta : Str) -&gt; N ;
</PRE>
<P></P>
<P>
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.
</P>
<PRE>
nPuu : (puu : Str) -&gt; N ;
</PRE>
<P></P>
<P>
One-syllable diphthong nouns, such as <I>suo</I>, <I>tie</I>, <I>työ</I>, are inflected by
the following.
</P>
<PRE>
nSuo : (suo : Str) -&gt; N ;
</PRE>
<P></P>
<P>
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.
</P>
<PRE>
nNainen : (naista : Str) -&gt; N ;
</PRE>
<P></P>
<P>
The following covers some nouns ending with a consonant, e.g.
<I>tilaus</I>, <I>kaulin</I>, <I>paimen</I>, <I>laidun</I>.
</P>
<PRE>
nTilaus : (tilaus,tilauksena : Str) -&gt; N ;
</PRE>
<P></P>
<P>
Special case:
</P>
<PRE>
nKulaus : (kulaus : Str) -&gt; N ;
</PRE>
<P></P>
<P>
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.
</P>
<PRE>
nNauris : (naurista : Str) -&gt; N ;
</PRE>
<P></P>
<P>
Separately-written compound nouns, like <I>sambal oelek</I>, <I>Urho Kekkonen</I>,
have only their last part inflected.
</P>
<PRE>
compN : Str -&gt; N -&gt; N ;
</PRE>
<P></P>
<P>
Nouns used as functions need a case, of which by far the commonest is
the genitive.
</P>
<PRE>
mkN2 : N -&gt; Prep -&gt; N2 ;
genN2 : N -&gt; N2 ;
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<P>
Proper names can be formed by using declensions for nouns.
The plural forms are filtered away by the compiler.
</P>
<PRE>
regPN : Str -&gt; PN ;
mkPN : N -&gt; PN ;
mkNP : N -&gt; Number -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives are just like nouns.
</P>
<PRE>
mkA : N -&gt; A ;
</PRE>
<P></P>
<P>
Two-place adjectives need a case for the second argument.
</P>
<PRE>
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<P>
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>).
</P>
<PRE>
mkADeg : (kiva : N) -&gt; (kivempaa,kivinta : Str) -&gt; A ;
</PRE>
<P></P>
<P>
The regular adjectives are based on <CODE>regN</CODE> in the positive.
</P>
<PRE>
regA : (punainen : Str) -&gt; A ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<H2>Verbs</H2>
<P>
The grammar does not cover the potential mood and some nominal
forms. One way to see the coverage is to linearize a verb to
a table.
The worst case needs twelve forms, as shown in the following.
</P>
<PRE>
mkV : (tulla,tulee,tulen,tulevat,tulkaa,tullaan,
tuli,tulin,tulisi,tullut,tultu,tullun : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The following heuristics cover more and more verbs.
</P>
<PRE>
regV : (soutaa : Str) -&gt; V ;
reg2V : (soutaa,souti : Str) -&gt; V ;
reg3V : (soutaa,soudan,souti : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The subject case of verbs is by default nominative. This dunction can change it.
</P>
<PRE>
subjcaseV : V -&gt; Case -&gt; V ;
</PRE>
<P></P>
<P>
The rest of the paradigms are special cases mostly covered by the heuristics.
A simple special case is the one with just one stem and without grade alternation.
</P>
<PRE>
vValua : (valua : Str) -&gt; V ;
</PRE>
<P></P>
<P>
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>.
</P>
<PRE>
vKattaa : (kattaa, katan : Str) -&gt; V ;
</PRE>
<P></P>
<P>
When grade alternation is not present, just a one-form special case is needed
(<I>poistaa</I>, <I>ryystää</I>).
</P>
<PRE>
vOstaa : (ostaa : Str) -&gt; V ;
</PRE>
<P></P>
<P>
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>.
</P>
<PRE>
vNousta : (nousta, nousen : Str) -&gt; V ;
</PRE>
<P></P>
<P>
This is for one-syllable diphthong verbs like <I>juoda</I>, <I>syödä</I>.
</P>
<PRE>
vTuoda : (tuoda : Str) -&gt; V ;
</PRE>
<P></P>
<P>
All the patterns above have <CODE>nominative</CODE> as subject case.
If another case is wanted, use the following.
</P>
<PRE>
caseV : Case -&gt; V -&gt; V ;
</PRE>
<P></P>
<P>
The verbs <I>be</I> is special.
</P>
<PRE>
vOlla : V ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a case, and can have a pre- or postposition.
</P>
<PRE>
mkV2 : V -&gt; Prep -&gt; V2 ;
</PRE>
<P></P>
<P>
If the complement needs just a case, the following special function can be used.
</P>
<PRE>
caseV2 : V -&gt; Case -&gt; V2 ;
</PRE>
<P></P>
<P>
Verbs with a direct (accusative) object
are special, since their complement case is finally decided in syntax.
But this is taken care of in <CODE>VerbFin</CODE>.
</P>
<PRE>
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
</P>
<PRE>
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- puhua, allative, elative
dirV3 : V -&gt; Case -&gt; V3 ; -- siirtää, (accusative), illative
dirdirV3 : V -&gt; V3 ; -- antaa, (accusative), (allative)
</PRE>
<P></P>
<A NAME="toc7"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
questions, verb phrases, and adjectives.
</P>
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; Prep -&gt; VA ;
mkV2A : V -&gt; Prep -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
Notice: categories <CODE>V2S, V2V, V2Q</CODE> are in v 1.0 treated
just as synonyms of <CODE>V2</CODE>, and the second argument is given
as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
<CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<PRE>
V0, V2S, V2V, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc finnish/ParadigmsFin.txt -->
</BODY></HTML>

View File

@@ -1,414 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> French Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> French Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 21:02:44 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc3">Compound nouns</A>
<LI><A HREF="#toc4">Relational nouns</A>
<LI><A HREF="#toc5">Relational common noun phrases</A>
<LI><A HREF="#toc6">Proper names and noun phrases</A>
</UL>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc8">Two-place adjectives</A>
<LI><A HREF="#toc9">Comparison adjectives</A>
</UL>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Verbs</A>
<UL>
<LI><A HREF="#toc12">Two-place verbs</A>
<LI><A HREF="#toc13">Three-place verbs</A>
<LI><A HREF="#toc14">Other complement patterns</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Aarne Ranta 2001 - 2006
</P>
<P>
This is an API for the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
</P>
<P>
The main difference with <CODE>MorphoFre.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>.
However, this function should only seldom be needed: we have a
separate module <A HREF="../../french/IrregFre.gf"><CODE>IrregFre</CODE></A>,
which covers all irregularly inflected verbs.
</P>
<PRE>
resource ParadigmsFre =
open
(Predef=Predef),
Prelude,
CommonRomance,
ResFre,
MorphoFre,
CatFre in {
flags optimize=all ;
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
</P>
<PRE>
oper
Gender : Type ;
masculine : Gender ;
feminine : Gender ;
</PRE>
<P></P>
<P>
To abstract over number names, we define the following.
</P>
<PRE>
Number : Type ;
singular : Number ;
plural : Number ;
</PRE>
<P></P>
<P>
Prepositions used in many-argument functions are either strings
(including the 'accusative' empty string) or strings that
amalgamate with the following word (the 'genitive' <I>de</I> and the
'dative' <I>à</I>).
</P>
<PRE>
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
mkPrep : Str -&gt; Prep ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give both two forms and the gender.
</P>
<PRE>
mkN : (oeil,yeux : Str) -&gt; Gender -&gt; N ;
</PRE>
<P></P>
<P>
The regular function takes the singular form,
and computes the plural and the gender by a heuristic. The plural
heuristic currently
covers the cases <I>pas-pas</I>, <I>prix-prix</I>, <I>nez-nez</I>,
<I>bijou-bijoux</I>, <I>cheveu-cheveux</I>, <I>plateau-plateaux</I>, <I>cheval-chevaux</I>.
The gender heuristic is less reliable: it treats as feminine all
nouns ending with <I>e</I> and <I>ion</I>, all others as masculine.
If in doubt, use the <CODE>cc</CODE> command to test!
</P>
<PRE>
regN : Str -&gt; N ;
</PRE>
<P></P>
<P>
Adding gender information widens the scope of the foregoing function.
</P>
<PRE>
regGenN : Str -&gt; Gender -&gt; N ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
Some nouns are ones where the first part is inflected as a noun but
the second part is not inflected. e.g. <I>numéro de téléphone</I>.
They could be formed in syntax, but we give a shortcut here since
they are frequent in lexica.
</P>
<PRE>
compN : N -&gt; Str -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>fille de x</I>) need a case and a preposition.
</P>
<PRE>
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
The most common cases are the genitive <I>de</I> and the dative <I>à</I>,
with the empty preposition.
</P>
<PRE>
deN2 : N -&gt; N2 ;
aN2 : N -&gt; N2 ;
</PRE>
<P></P>
<P>
Three-place relational nouns (<I>la connection de x à y</I>) need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H3>Relational common noun phrases</H3>
<P>
In some cases, you may want to make a complex <CODE>CN</CODE> into a
relational noun (e.g. <I>la vieille église de</I>). However, <CODE>N2</CODE> and
<CODE>N3</CODE> are purely lexical categories. But you can use the <CODE>AdvCN</CODE>
and <CODE>PrepNP</CODE> constructions to build phrases like this.
</P>
<A NAME="toc6"></A>
<H3>Proper names and noun phrases</H3>
<P>
Proper names need a string and a gender.
</P>
<PRE>
mkPN : Str -&gt; Gender -&gt; PN ; -- Jean
regPN : Str -&gt; PN ; -- feminine if "-e", masculine otherwise
</PRE>
<P></P>
<P>
To form a noun phrase that can also be plural,
you can use the worst-case function.
</P>
<PRE>
mkNP : Str -&gt; Gender -&gt; Number -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need four forms in the worst
case (masc and fem singular, masc plural, adverbial).
</P>
<PRE>
mkA : (banal,banale,banaux,banalement : Str) -&gt; A ;
</PRE>
<P></P>
<P>
For regular adjectives, all other forms are derived from the
masculine singular. The heuristic takes into account certain
deviant endings: <I>banal- -banaux</I>, <I>chinois- -chinois</I>,
<I>heureux-heureuse-heureux</I>, <I>italien-italienne</I>, <I>jeune-jeune</I>,
<I>amer-amère</I>, <I>carré- - -carrément</I>, <I>joli- - -joliment</I>.
</P>
<PRE>
regA : Str -&gt; A ;
</PRE>
<P></P>
<P>
These functions create postfix adjectives. To switch
them to prefix ones (i.e. ones placed before the noun in
modification, as in <I>petite maison</I>), the following function is
provided.
</P>
<PRE>
prefA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<H3>Two-place adjectives</H3>
<P>
Two-place adjectives need a preposition for their second argument.
</P>
<PRE>
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<H3>Comparison adjectives</H3>
<P>
Comparison adjectives are in the worst case put up from two
adjectives: the positive (<I>bon</I>), and the comparative (<I>meilleure</I>).
</P>
<PRE>
mkADeg : A -&gt; A -&gt; A ;
</PRE>
<P></P>
<P>
If comparison is formed by <I>plus</I>, as usual in French,
the following pattern is used:
</P>
<PRE>
compADeg : A -&gt; A ;
</PRE>
<P></P>
<P>
For prefixed adjectives, the following function is
provided.
</P>
<PRE>
prefA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
after the verb.
</P>
<PRE>
mkAdv : Str -&gt; Adv ;
</PRE>
<P></P>
<P>
Some appear next to the verb (e.g. <I>toujours</I>).
</P>
<PRE>
mkAdV : Str -&gt; AdV ;
</PRE>
<P></P>
<P>
Adverbs modifying adjectives and sentences can also be formed.
</P>
<PRE>
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<H2>Verbs</H2>
<P>
Irregular verbs are given in the module <CODE>VerbsFre</CODE>.
If a verb should be missing in that list, the module
<CODE>BeschFre</CODE> gives all the patterns of the <I>Bescherelle</I> book.
</P>
<P>
Regular verbs are ones with the infinitive <I>er</I> or <I>ir</I>, the
latter with plural present indicative forms as <I>finissons</I>.
The regular verb function is the first conjugation recognizes
these endings, as well as the variations among
<I>aimer, céder, placer, peser, jeter, placer, manger, assiéger, payer</I>.
</P>
<PRE>
regV : Str -&gt; V ;
</PRE>
<P></P>
<P>
Sometimes, however, it is not predictable which variant of the <I>er</I>
conjugation is to be selected. Then it is better to use the function
that gives the third person singular present indicative and future
((<I>il</I>) <I>jette</I>, <I>jettera</I>) as second argument.
</P>
<PRE>
reg3V : (jeter,jette,jettera : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The function <CODE>regV</CODE> gives all verbs the compound auxiliary <I>avoir</I>.
To change it to <I>être</I>, use the following function. Reflexive implies <I>être</I>.
</P>
<PRE>
etreV : V -&gt; V ;
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a preposition, except the special case with direct object.
(transitive verbs).
</P>
<PRE>
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<P>
You can reuse a <CODE>V2</CODE> verb in <CODE>V</CODE>.
</P>
<PRE>
v2V : V2 -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
</P>
<PRE>
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- parler, à, de
dirV3 : V -&gt; Prep -&gt; V3 ; -- donner,_,à
dirdirV3 : V -&gt; V3 ; -- donner,_,_
</PRE>
<P></P>
<A NAME="toc14"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
questions, verb phrases, and adjectives.
</P>
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ; -- plain infinitive: "je veux parler"
deVV : V -&gt; VV ; -- "j'essaie de parler"
aVV : V -&gt; VV ; -- "j'arrive à parler"
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Prep -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; Prep -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
Notice: categories <CODE>V2S, V2V, V2Q</CODE> are in v 1.0 treated
just as synonyms of <CODE>V2</CODE>, and the second argument is given
as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
<CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<PRE>
V0, V2S, V2V, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc french/ParadigmsFre.txt -->
</BODY></HTML>

View File

@@ -1,365 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> German Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> German Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 20:58:18 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc3">Proper names and noun phrases</A>
</UL>
<LI><A HREF="#toc4">Adjectives</A>
<LI><A HREF="#toc5">Adverbs</A>
<LI><A HREF="#toc6">Prepositions</A>
<LI><A HREF="#toc7">Verbs</A>
<UL>
<LI><A HREF="#toc8">Two-place verbs</A>
<LI><A HREF="#toc9">Three-place verbs</A>
<LI><A HREF="#toc10">Other complement patterns</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Aarne Ranta &amp; Harald Hammarström 2003--2006
</P>
<P>
This is an API for the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
</P>
<P>
The main difference with <CODE>MorphoGer.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>.
However, this function should only seldom be needed: we have a
separate module <A HREF="../../german/IrregGer.gf"><CODE>IrregGer</CODE></A>
which covers irregularly inflected verbs.
</P>
<PRE>
resource ParadigmsGer = open
(Predef=Predef),
Prelude,
MorphoGer,
CatGer
in {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
</P>
<PRE>
oper
Gender : Type ;
masculine : Gender ;
feminine : Gender ;
neuter : Gender ;
</PRE>
<P></P>
<P>
To abstract over case names, we define the following.
</P>
<PRE>
Case : Type ;
nominative : Case ;
accusative : Case ;
dative : Case ;
genitive : Case ;
</PRE>
<P></P>
<P>
To abstract over number names, we define the following.
</P>
<PRE>
Number : Type ;
singular : Number ;
plural : Number ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four singular forms, two plural forms (others + dative),
and the gender.
</P>
<PRE>
mkN : (x1,_,_,_,_,x6 : Str) -&gt; Gender -&gt; N ;
-- mann, mann, manne, mannes, männer, männern
</PRE>
<P></P>
<P>
The regular heuristics recognizes some suffixes, from which it
guesses the gender and the declension: <I>e, ung, ion</I> give the
feminine with plural ending <I>-n, -en</I>, and the rest are masculines
with the plural <I>-e</I> (without Umlaut).
</P>
<PRE>
regN : Str -&gt; N ;
</PRE>
<P></P>
<P>
The 'almost regular' case is much like the information given in an ordinary
dictionary. It takes the singular and plural nominative and the
gender, and infers the other forms from these.
</P>
<PRE>
reg2N : (x1,x2 : Str) -&gt; Gender -&gt; N ;
</PRE>
<P></P>
<P>
Relational nouns need a preposition. The most common is <I>von</I> with
the dative. Some prepositions are constructed in <A HREF="StructuralGer.html">StructuralGer</A>.
</P>
<PRE>
mkN2 : N -&gt; Prep -&gt; N2 ;
vonN2 : N -&gt; N2 ;
</PRE>
<P></P>
<P>
Use the function <CODE>mkPrep</CODE> or see the section on prepositions below to
form other prepositions.
</P>
<P>
Three-place relational nouns (<I>die Verbindung von x nach y</I>) need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H3>Proper names and noun phrases</H3>
<P>
Proper names, with a regular genitive, are formed as follows
The regular genitive is <I>s</I>, omitted after <I>s</I>.
</P>
<PRE>
mkPN : (karolus, karoli : Str) -&gt; PN ; -- karolus, karoli
regPN : (Johann : Str) -&gt; PN ;
-- Johann, Johanns ; Johannes, Johannes
</PRE>
<P></P>
<A NAME="toc4"></A>
<H2>Adjectives</H2>
<P>
Adjectives need three forms, one for each degree.
</P>
<PRE>
mkA : (x1,_,x3 : Str) -&gt; A ; -- gut,besser,beste
</PRE>
<P></P>
<P>
The regular adjective formation works for most cases, and includes
variations such as <I>teuer - teurer</I>, <I>böse - böser</I>.
</P>
<PRE>
regA : Str -&gt; A ;
</PRE>
<P></P>
<P>
Invariable adjective are a special case.
</P>
<PRE>
invarA : Str -&gt; A ; -- prima
</PRE>
<P></P>
<P>
Two-place adjectives are formed by adding a preposition to an adjective.
</P>
<PRE>
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H2>Adverbs</H2>
<P>
Adverbs are just strings.
</P>
<PRE>
mkAdv : Str -&gt; Adv ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<H2>Prepositions</H2>
<P>
A preposition is formed from a string and a case.
</P>
<PRE>
mkPrep : Str -&gt; Case -&gt; Prep ;
</PRE>
<P></P>
<P>
Often just a case with the empty string is enough.
</P>
<PRE>
accPrep : Prep ;
datPrep : Prep ;
genPrep : Prep ;
</PRE>
<P></P>
<P>
A couple of common prepositions (always with the dative).
</P>
<PRE>
von_Prep : Prep ;
zu_Prep : Prep ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Verbs</H2>
<P>
The worst-case constructor needs six forms:
</P>
<UL>
<LI>Infinitive,
<LI>3p sg pres. indicative,
<LI>2p sg imperative,
<LI>1/3p sg imperfect indicative,
<LI>1/3p sg imperfect subjunctive (because this uncommon form can have umlaut)
<LI>the perfect participle
</UL>
<PRE>
mkV : (x1,_,_,_,_,x6 : Str) -&gt; V ; -- geben, gibt, gib, gab, gäbe, gegeben
</PRE>
<P></P>
<P>
Weak verbs are sometimes called regular verbs.
</P>
<PRE>
regV : Str -&gt; V ; -- führen
</PRE>
<P></P>
<P>
Irregular verbs use Ablaut and, in the worst cases, also Umlaut.
</P>
<PRE>
irregV : (x1,_,_,_,x5 : Str) -&gt; V ; -- sehen, sieht, sah, sähe, gesehen
</PRE>
<P></P>
<P>
To remove the past participle prefix <I>ge</I>, e.g. for the verbs
prefixed by <I>be-, ver-</I>.
</P>
<PRE>
no_geV : V -&gt; V ;
</PRE>
<P></P>
<P>
To add a movable suffix e.g. <I>auf(fassen)</I>.
</P>
<PRE>
prefixV : Str -&gt; V -&gt; V ;
</PRE>
<P></P>
<P>
To change the auxiliary from <I>haben</I> (default) to <I>sein</I> and
vice-versa.
</P>
<PRE>
seinV : V -&gt; V ;
habenV : V -&gt; V ;
</PRE>
<P></P>
<P>
Reflexive verbs can take reflexive pronouns of different cases.
</P>
<PRE>
reflV : V -&gt; Case -&gt; V ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a preposition, except the special case with direct object
(accusative, transitive verbs). There is also a case for dative objects.
</P>
<PRE>
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
datV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
</P>
<PRE>
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- sprechen, mit, über
dirV3 : V -&gt; Prep -&gt; V3 ; -- senden,(accusative),nach
accdatV3 : V -&gt; V3 ; -- give,accusative,dative
</PRE>
<P></P>
<A NAME="toc10"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
questions, verb phrases, and adjectives.
</P>
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
Notice: categories <CODE>V2S, V2V, V2A, V2Q</CODE> are in v 1.0 treated
just as synonyms of <CODE>V2</CODE>, and the second argument is given
as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
<CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<PRE>
V0, V2S, V2V, V2A, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc german/ParadigmsGer.txt -->
</BODY></HTML>

View File

@@ -1,414 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Italian Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Italian Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 21:07:00 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc3">Compound nouns</A>
<LI><A HREF="#toc4">Relational nouns</A>
<LI><A HREF="#toc5">Relational common noun phrases</A>
<LI><A HREF="#toc6">Proper names and noun phrases</A>
</UL>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc8">Two-place adjectives</A>
<LI><A HREF="#toc9">Comparison adjectives</A>
</UL>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Verbs</A>
<UL>
<LI><A HREF="#toc12">Two-place verbs</A>
<LI><A HREF="#toc13">Three-place verbs</A>
<LI><A HREF="#toc14">Other complement patterns</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Aarne Ranta 2003
</P>
<P>
This is an API for the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
</P>
<P>
The main difference with <CODE>MorphoIta.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>.
However, this function should only seldom be needed. For verbs, we have a
separate module <A HREF="../../italian/BeschIta.gf"><CODE>BeschIta</CODE></A>,
which covers the <I>Bescherelle</I> verb conjugations.
</P>
<PRE>
resource ParadigmsIta =
open
(Predef=Predef),
Prelude,
CommonRomance,
ResIta,
MorphoIta,
BeschIta,
CatIta in {
flags optimize=all ;
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
</P>
<PRE>
oper
Gender : Type ;
masculine : Gender ;
feminine : Gender ;
</PRE>
<P></P>
<P>
To abstract over number names, we define the following.
</P>
<PRE>
Number : Type ;
singular : Number ;
plural : Number ;
</PRE>
<P></P>
<P>
Prepositions used in many-argument functions are either strings
(including the 'accusative' empty string) or strings that
amalgamate with the following word (the 'genitive' <I>di</I> and the
'dative' <I>a</I>).
</P>
<PRE>
Prep : Type ;
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
mkPrep : Str -&gt; Prep ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give both two forms and the gender.
</P>
<PRE>
mkN : (uomo,uomini : Str) -&gt; Gender -&gt; N ;
</PRE>
<P></P>
<P>
The regular function takes the singular form and the gender,
and computes the plural and the gender by a heuristic.
The heuristic says that the gender is feminine for nouns
ending with <I>a</I>, and masculine for all other words.
</P>
<PRE>
regN : Str -&gt; N ;
</PRE>
<P></P>
<P>
To force a different gender, use one of the following functions.
</P>
<PRE>
mascN : N -&gt; N ;
femN : N -&gt; N ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
Some nouns are ones where the first part is inflected as a noun but
the second part is not inflected. e.g. <I>numero di telefono</I>.
They could be formed in syntax, but we give a shortcut here since
they are frequent in lexica.
</P>
<PRE>
compN : N -&gt; Str -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>figlio di x</I>) need a case and a preposition.
</P>
<PRE>
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
The most common cases are the genitive <I>di</I> and the dative <I>a</I>,
with the empty preposition.
</P>
<PRE>
diN2 : N -&gt; N2 ;
aN2 : N -&gt; N2 ;
</PRE>
<P></P>
<P>
Three-place relational nouns (<I>la connessione di x a y</I>) need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H3>Relational common noun phrases</H3>
<P>
In some cases, you may want to make a complex <CODE>CN</CODE> into a
relational noun (e.g. <I>la vecchia chiesa di</I>). However, <CODE>N2</CODE> and
<CODE>N3</CODE> are purely lexical categories. But you can use the <CODE>AdvCN</CODE>
and <CODE>PrepNP</CODE> constructions to build phrases like this.
</P>
<A NAME="toc6"></A>
<H3>Proper names and noun phrases</H3>
<P>
Proper names need a string and a gender.
</P>
<PRE>
mkPN : Str -&gt; Gender -&gt; PN ;
regPN : Str -&gt; PN ; -- feminine if "-a", otherwise masculine
</PRE>
<P></P>
<P>
To form a noun phrase that can also be plural,
you can use the worst-case function.
</P>
<PRE>
mkNP : Str -&gt; Gender -&gt; Number -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need five forms in the worst
case (masc and fem singular, masc plural, adverbial).
</P>
<PRE>
mkA : (solo,sola,soli,sole, solamente : Str) -&gt; A ;
</PRE>
<P></P>
<P>
For regular adjectives, all other forms are derived from the
masculine singular.
</P>
<PRE>
regA : Str -&gt; A ;
</PRE>
<P></P>
<P>
These functions create postfix adjectives. To switch
them to prefix ones (i.e. ones placed before the noun in
modification, as in <I>vecchia chiesa</I>), the following function is
provided.
</P>
<PRE>
prefA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<H3>Two-place adjectives</H3>
<P>
Two-place adjectives need a preposition for their second argument.
</P>
<PRE>
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<H3>Comparison adjectives</H3>
<P>
Comparison adjectives are in the worst case put up from two
adjectives: the positive (<I>buono</I>), and the comparative (<I>migliore</I>).
</P>
<PRE>
mkADeg : A -&gt; A -&gt; A ;
</PRE>
<P></P>
<P>
If comparison is formed by <I>più</I>, as usual in Italian,
the following pattern is used:
</P>
<PRE>
compADeg : A -&gt; A ;
</PRE>
<P></P>
<P>
The regular pattern is the same as <CODE>regA</CODE> for plain adjectives,
with comparison by <I>più</I>.
</P>
<PRE>
regADeg : Str -&gt; A ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
after the verb.
</P>
<PRE>
mkAdv : Str -&gt; Adv ;
</PRE>
<P></P>
<P>
Some appear next to the verb (e.g. <I>sempre</I>).
</P>
<PRE>
mkAdV : Str -&gt; AdV ;
</PRE>
<P></P>
<P>
Adverbs modifying adjectives and sentences can also be formed.
</P>
<PRE>
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<H2>Verbs</H2>
<P>
Regular verbs are ones with the infinitive <I>are</I> or <I>ire</I>, the
latter with singular present indicative forms as <I>finisco</I>.
The regular verb function is the first conjugation recognizes
these endings, as well as the variations among
<I>amare, cominciare, mangiare, legare, cercare</I>.
</P>
<PRE>
regV : Str -&gt; V ;
</PRE>
<P></P>
<P>
The module <CODE>BeschIta</CODE> gives (almost) all the patterns of the <I>Bescherelle</I>
book. To use them in the category <CODE>V</CODE>, wrap them with the function
</P>
<PRE>
verboV : Verbo -&gt; V ;
</PRE>
<P></P>
<P>
The function <CODE>regV</CODE> gives all verbs the compound auxiliary <I>avere</I>.
To change it to <I>essere</I>, use the following function.
Reflexive implies <I>essere</I>.
</P>
<PRE>
essereV : V -&gt; V ;
reflV : V -&gt; V ;
</PRE>
<P></P>
<P>
If <CODE>BeschIta</CODE> does not give the desired result or feels difficult
to consult, here is a worst-case function for <I>-ire</I> and <I>-ere</I> verbs,
taking 11 arguments.
</P>
<PRE>
mkV :
(udire,odo,ode,udiamo,udiro,udii,udisti,udi,udirono,odi,udito : Str) -&gt; V ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a preposition, except the special case with direct object.
(transitive verbs). Notice that a particle comes from the <CODE>V</CODE>.
</P>
<PRE>
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<P>
You can reuse a <CODE>V2</CODE> verb in <CODE>V</CODE>.
</P>
<PRE>
v2V : V2 -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
</P>
<PRE>
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- parlare, a, di
dirV3 : V -&gt; Prep -&gt; V3 ; -- dare,_,a
dirdirV3 : V -&gt; V3 ; -- dare,_,_
</PRE>
<P></P>
<A NAME="toc14"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
questions, verb phrases, and adjectives.
</P>
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ; -- plain infinitive: "voglio parlare"
deVV : V -&gt; VV ; -- "cerco di parlare"
aVV : V -&gt; VV ; -- "arrivo a parlare"
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Prep -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; Prep -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
Notice: categories <CODE>V2S, V2V, V2Q</CODE> are in v 1.0 treated
just as synonyms of <CODE>V2</CODE>, and the second argument is given
as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
<CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<PRE>
V0, V2S, V2V, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc italian/ParadigmsIta.txt -->
</BODY></HTML>

View File

@@ -1,442 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Norwegian Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Norwegian Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 21:16:02 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc3">Compound nouns</A>
<LI><A HREF="#toc4">Relational nouns</A>
<LI><A HREF="#toc5">Relational common noun phrases</A>
<LI><A HREF="#toc6">Proper names and noun phrases</A>
</UL>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc8">Two-place adjectives</A>
</UL>
<LI><A HREF="#toc9">Adverbs</A>
<LI><A HREF="#toc10">Verbs</A>
<UL>
<LI><A HREF="#toc11">Verbs with 'være' as auxiliary</A>
<LI><A HREF="#toc12">Verbs with a particle.</A>
<LI><A HREF="#toc13">Deponent verbs.</A>
<LI><A HREF="#toc14">Two-place verbs</A>
<LI><A HREF="#toc15">Three-place verbs</A>
<LI><A HREF="#toc16">Other complement patterns</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Aarne Ranta 2003
</P>
<P>
This is an API for the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
It covers the <I>bokmål</I> variant of Norwegian.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural</CODE>.
</P>
<P>
The main difference with <CODE>MorphoNor.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>.
However, this function should only seldom be needed: we have a
separate module <A HREF="../../norwegian/IrregNor"><CODE>IrregNor</CODE></A>,
which covers irregularly inflected verbs.
</P>
<PRE>
resource ParadigmsNor =
open
(Predef=Predef),
Prelude,
CommonScand,
ResNor,
MorphoNor,
CatNor in {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
</P>
<PRE>
oper
Gender : Type ;
masculine : Gender ;
feminine : Gender ;
neutrum : Gender ;
</PRE>
<P></P>
<P>
To abstract over number names, we define the following.
</P>
<PRE>
Number : Type ;
singular : Number ;
plural : Number ;
</PRE>
<P></P>
<P>
To abstract over case names, we define the following.
</P>
<PRE>
Case : Type ;
nominative : Case ;
genitive : Case ;
</PRE>
<P></P>
<P>
Prepositions used in many-argument functions are just strings.
</P>
<PRE>
mkPrep : Str -&gt; Prep ;
noPrep : Prep ; -- empty string
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four forms. The gender is computed from the
last letter of the second form (if <I>n</I>, then <CODE>utrum</CODE>, otherwise <CODE>neutrum</CODE>).
</P>
<PRE>
mkN : (dreng,drengen,drenger,drengene : Str) -&gt; N ;
</PRE>
<P></P>
<P>
The regular function takes the singular indefinite form
and computes the other forms and the gender by a heuristic.
The heuristic is that nouns ending <I>e</I> are feminine like <I>kvinne</I>,
all others are masculine like <I>bil</I>.
If in doubt, use the <CODE>cc</CODE> command to test!
</P>
<PRE>
regN : Str -&gt; N ;
</PRE>
<P></P>
<P>
Giving gender manually makes the heuristic more reliable.
</P>
<PRE>
regGenN : Str -&gt; Gender -&gt; N ;
</PRE>
<P></P>
<P>
This function takes the singular indefinite and definite forms; the
gender is computed from the definite form.
</P>
<PRE>
mk2N : (bil,bilen : Str) -&gt; N ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
All the functions above work quite as well to form compound nouns,
such as <I>fotboll</I>.
</P>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>datter til x</I>) need a preposition.
</P>
<PRE>
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
The most common preposition is <I>av</I>, and the following is a
shortcut for regular, <CODE>nonhuman</CODE> relational nouns with <I>av</I>.
</P>
<PRE>
regN2 : Str -&gt; Gender -&gt; N2 ;
</PRE>
<P></P>
<P>
Use the function <CODE>mkPrep</CODE> or see the section on prepositions below to
form other prepositions.
</P>
<P>
Three-place relational nouns (<I>forbindelse fra x til y</I>)
need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H3>Relational common noun phrases</H3>
<P>
In some cases, you may want to make a complex <CODE>CN</CODE> into a
relational noun (e.g. <I>den gamle kongen av</I>). However, <CODE>N2</CODE> and
<CODE>N3</CODE> are purely lexical categories. But you can use the <CODE>AdvCN</CODE>
and <CODE>PrepNP</CODE> constructions to build phrases like this.
</P>
<A NAME="toc6"></A>
<H3>Proper names and noun phrases</H3>
<P>
Proper names, with a regular genitive, are formed as follows
</P>
<PRE>
regPN : Str -&gt; PN ; -- utrum
regGenPN : Str -&gt; Gender -&gt; PN ;
</PRE>
<P></P>
<P>
Sometimes you can reuse a common noun as a proper name, e.g. <I>Bank</I>.
</P>
<PRE>
nounPN : N -&gt; PN ;
</PRE>
<P></P>
<P>
To form a noun phrase that can also be plural and have an irregular
genitive, you can use the worst-case function.
</P>
<PRE>
mkNP : Str -&gt; Str -&gt; Number -&gt; Gender -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need three forms:
</P>
<PRE>
mkA : (galen,galet,galne : Str) -&gt; A ;
</PRE>
<P></P>
<P>
For regular adjectives, the other forms are derived.
</P>
<PRE>
regA : Str -&gt; A ;
</PRE>
<P></P>
<P>
In most cases, two forms are enough.
</P>
<PRE>
mk2A : (stor,stort : Str) -&gt; A ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<H3>Two-place adjectives</H3>
<P>
Two-place adjectives need a preposition for their second argument.
</P>
<PRE>
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<P>
Comparison adjectives may need as many as five forms.
</P>
<PRE>
mkADeg : (stor,stort,store,storre,storst : Str) -&gt; A ;
</PRE>
<P></P>
<P>
The regular pattern works for many adjectives, e.g. those ending
with <I>ig</I>.
</P>
<PRE>
regADeg : Str -&gt; A ;
</PRE>
<P></P>
<P>
Just the comparison forms can be irregular.
</P>
<PRE>
irregADeg : (tung,tyngre,tyngst : Str) -&gt; A ;
</PRE>
<P></P>
<P>
Sometimes just the positive forms are irregular.
</P>
<PRE>
mk3ADeg : (galen,galet,galne : Str) -&gt; A ;
mk2ADeg : (bred,bredt : Str) -&gt; A ;
</PRE>
<P></P>
<P>
If comparison is formed by <I>mer</I>, <I>mest</I>, as in general for
long adjective, the following pattern is used:
</P>
<PRE>
compoundA : A -&gt; A ; -- -/mer/mest norsk
</PRE>
<P></P>
<A NAME="toc9"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
after the verb. Some follow the verb (e.g. <I>altid</I>).
</P>
<PRE>
mkAdv : Str -&gt; Adv ; -- e.g. her
mkAdV : Str -&gt; AdV ; -- e.g. altid
</PRE>
<P></P>
<P>
Adverbs modifying adjectives and sentences can also be formed.
</P>
<PRE>
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<H2>Verbs</H2>
<P>
The worst case needs six forms.
</P>
<PRE>
mkV : (spise,spiser,spises,spiste,spist,spis : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The 'regular verb' function is the first conjugation.
</P>
<PRE>
regV : (snakke : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The almost regular verb function needs the infinitive and the preteritum.
</P>
<PRE>
mk2V : (leve,levde : Str) -&gt; V ;
</PRE>
<P></P>
<P>
There is an extensive list of irregular verbs in the module <CODE>IrregNor</CODE>.
In practice, it is enough to give three forms, as in school books.
</P>
<PRE>
irregV : (drikke, drakk, drukket : Str) -&gt; V ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<H3>Verbs with 'være' as auxiliary</H3>
<P>
By default, the auxiliary is <I>have</I>. This function changes it to <I>være</I>.
</P>
<PRE>
vaereV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<H3>Verbs with a particle.</H3>
<P>
The particle, such as in <I>lukke opp</I>, is given as a string.
</P>
<PRE>
partV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<H3>Deponent verbs.</H3>
<P>
Some words are used in passive forms only, e.g. <I>trives</I>, some as
reflexive e.g. <I>forestille seg</I>.
</P>
<PRE>
depV : V -&gt; V ;
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a preposition, except the special case with direct object.
(transitive verbs). Notice that a particle comes from the <CODE>V</CODE>.
</P>
<PRE>
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc15"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
</P>
<PRE>
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- snakke, med, om
dirV3 : V -&gt; Prep -&gt; V3 ; -- gi,_,til
dirdirV3 : V -&gt; V3 ; -- gi,_,_
</PRE>
<P></P>
<A NAME="toc16"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
questions, verb phrases, and adjectives.
</P>
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
Notice: categories <CODE>V2S, V2V, V2A, V2Q</CODE> are in v 1.0 treated
just as synonyms of <CODE>V2</CODE>, and the second argument is given
as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
<CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<PRE>
V0, V2S, V2V, V2A, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc norwegian/ParadigmsNor.txt -->
</BODY></HTML>

View File

@@ -1,380 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Russian Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Russian Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 17:53:54 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<LI><A HREF="#toc3">Adjectives</A>
<LI><A HREF="#toc4">Adverbs</A>
<LI><A HREF="#toc5">Verbs</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Janna Khegai 2003--2006
</P>
<P>
This is an API for the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
</P>
<P>
The main difference with <CODE>MorphoRus.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>.
</P>
<P>
The following modules are presupposed:
</P>
<PRE>
resource ParadigmsRus = open
(Predef=Predef),
Prelude,
MorphoRus,
CatRus,
NounRus
in {
flags coding=utf8 ;
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
</P>
<PRE>
oper
Gender : Type ;
masculine : Gender ;
feminine : Gender ;
neuter : Gender ;
</PRE>
<P></P>
<P>
To abstract over case names, we define the following.
</P>
<PRE>
Case : Type ;
nominative : Case ;
genitive : Case ;
dative : Case ;
accusative : Case ;
instructive : Case ;
prepositional : Case ;
</PRE>
<P></P>
<P>
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.
</P>
<PRE>
Number : Type ;
singular : Number ;
plural : Number ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Best case: indeclinabe nouns: <I>кофе</I>, <I>пальто</I>, <I>ВУЗ</I>.
</P>
<PRE>
Animacy: Type ;
animate: Animacy;
inanimate: Animacy;
mkIndeclinableNoun: Str -&gt; Gender -&gt; Animacy -&gt; N ;
</PRE>
<P></P>
<P>
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.
</P>
<PRE>
mkN : (nomSg, genSg, datSg, accSg, instSg, preposSg,
nomPl, genPl, datPl, accPl, instPl, preposPl: Str) -&gt; Gender -&gt; Animacy -&gt; N ;
-- мужчина, мужчины, мужчине, мужчину, мужчиной, мужчине
-- мужчины, мужчин, мужчинам, мужчин, мужчинами, мужчинах
</PRE>
<P></P>
<P>
The regular function captures the variants for some popular nouns
endings below:
</P>
<PRE>
regN : Str -&gt; N ;
</PRE>
<P></P>
<P>
Here are some common patterns. The list is far from complete.
Feminine patterns.
</P>
<PRE>
nMashina : Str -&gt; N ; -- feminine, inanimate, ending with "-а", Inst -"машин-ой"
nEdinica : Str -&gt; N ; -- feminine, inanimate, ending with "-а", Inst -"единиц-ей"
nZhenchina : Str -&gt; N ; -- feminine, animate, ending with "-a"
nNoga : Str -&gt; N ; -- feminine, inanimate, ending with "г_к_х-a"
nMalyariya : Str -&gt; N ; -- feminine, inanimate, ending with "-ия"
nTetya : Str -&gt; N ; -- feminine, animate, ending with "-я"
nBol : Str -&gt; N ; -- feminine, inanimate, ending with "-ь"(soft sign)
</PRE>
<P></P>
<P>
Neuter patterns.
</P>
<PRE>
nObezbolivauchee : Str -&gt; N ; -- neutral, inanimate, ending with "-ee"
nProizvedenie : Str -&gt; N ; -- neutral, inanimate, ending with "-e"
nChislo : Str -&gt; N ; -- neutral, inanimate, ending with "-o"
nZhivotnoe : Str -&gt; N ; -- masculine, inanimate, ending with "-ень"
</PRE>
<P></P>
<P>
Masculine patterns.
Ending with consonant:
</P>
<PRE>
nPepel : Str -&gt; N ; -- masculine, inanimate, ending with "-ел"- "пеп-ла"
nBrat: Str -&gt; N ; -- animate, брат-ья
nStul: Str -&gt; N ; -- same as above, but inanimate
nMalush : Str -&gt; N ; -- малышей
nPotolok : Str -&gt; N ; -- потол-ок - потол-ка
-- the next four differ in plural nominative and/or accusative form(s) :
nBank: Str -&gt; N ; -- банк-и (Nom=Acc)
nStomatolog : Str -&gt; N ; -- same as above, but animate
nAdres : Str -&gt; N ; -- адрес-а (Nom=Acc)
nTelefon : Str -&gt; N ; -- телефон-ы (Nom=Acc)
nNol : Str -&gt; N ; -- masculine, inanimate, ending with "-ь" (soft sign)
nUroven : Str -&gt; N ; -- masculine, inanimate, ending with "-ень"
</PRE>
<P></P>
<P>
Nouns used as functions need a preposition. The most common is with Genitive.
</P>
<PRE>
mkFun : N -&gt; Prep -&gt; N2 ;
mkN2 : N -&gt; N2 ;
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<P>
Proper names.
</P>
<PRE>
mkPN : Str -&gt; Gender -&gt; Animacy -&gt; PN ; -- "Иван", "Маша"
nounPN : N -&gt; PN ;
</PRE>
<P></P>
<P>
On the top level, it is maybe <CODE>CN</CODE> that is used rather than <CODE>N</CODE>, and
<CODE>NP</CODE> rather than <CODE>PN</CODE>.
</P>
<PRE>
mkCN : N -&gt; CN ;
mkNP : Str -&gt; Gender -&gt; Animacy -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H2>Adjectives</H2>
<P>
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.
mkA : ( : Str) -&gt; A ;
The regular function captures the variants for some popular adjective
endings below. The first string agrument is the masculine singular form,
the second is comparative:
</P>
<PRE>
regA : Str -&gt; Str -&gt; A ;
</PRE>
<P></P>
<P>
Invariable adjective is a special case.
</P>
<PRE>
adjInvar : Str -&gt; A ; -- khaki, mini, hindi, netto
</PRE>
<P></P>
<P>
Some regular patterns depending on the ending.
</P>
<PRE>
AStaruyj : Str -&gt; Str -&gt; A ; -- ending with "-ый"
AMalenkij : Str -&gt; Str -&gt; A ; -- ending with "-ий", Gen - "маленьк-ого"
AKhoroshij : Str -&gt; Str -&gt; A ; -- ending with "-ий", Gen - "хорош-его"
AMolodoj : Str -&gt; Str -&gt; A ; -- ending with "-ой",
-- plural - молод-ые"
AKakoj_Nibud : Str -&gt; Str -&gt; Str -&gt; A ; -- ending with "-ой",
-- plural - "как-ие"
</PRE>
<P></P>
<P>
Two-place adjectives need a preposition and a case as extra arguments.
</P>
<PRE>
mkA2 : A -&gt; Str -&gt; Case -&gt; A2 ; -- "делим на"
</PRE>
<P></P>
<P>
Comparison adjectives need a positive adjective
(28 forms without short forms).
Taking only one comparative form (non-syntactic) and
only one superlative form (syntactic) we can produce the
comparison adjective with only one extra argument -
non-syntactic comparative form.
Syntactic forms are based on the positive forms.
mkADeg : A -&gt; Str -&gt; ADeg ;
On top level, there are adjectival phrases. The most common case is
just to use a one-place adjective.
ap : A -&gt; IsPostfixAdj -&gt; AP ;
</P>
<A NAME="toc4"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected.
</P>
<PRE>
mkAdv : Str -&gt; Adv ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H2>Verbs</H2>
<P>
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 is regarded as an inherent parameter of a verb.
Notice, that some forms are never used for some verbs.
</P>
<PRE>
Voice: Type;
Aspect: Type;
Bool: Type;
Conjugation: Type ;
first: Conjugation; -- "гуля-Ешь, гуля-Ем"
firstE: Conjugation; -- Verbs with vowel "ё": "даёшь" (give), "пьёшь" (drink)
second: Conjugation; -- "вид-Ишь, вид-Им"
mixed: Conjugation; -- "хоч-Ешь - хот-Им"
dolzhen: Conjugation; -- irregular
true: Bool;
false: Bool;
active: Voice ;
passive: Voice ;
imperfective: Aspect;
perfective: Aspect ;
</PRE>
<P></P>
<P>
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.
</P>
<PRE>
mkVerbum : Aspect -&gt; (presentSgP1,presentSgP2,presentSgP3,
presentPlP1,presentPlP2,presentPlP3,
pastSgMasculine,imperative,infinitive: Str) -&gt; V ;
</PRE>
<P></P>
<P>
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:
regV Imperfective Second <I>люб</I> <I>лю</I> <I>любил</I> <I>люби</I> <I>любить</I>;
</P>
<PRE>
regV :Aspect -&gt; Conjugation -&gt; (stemPresentSgP1,endingPresentSgP1,
pastSgP1,imperative,infinitive : Str) -&gt; V ;
</PRE>
<P></P>
<P>
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.
mkV: Verbum -&gt; Voice -&gt; V ;
mkPresentV: Verbum -&gt; Voice -&gt; V ;
Two-place verbs, and the special case with direct object. Notice that
a particle can be included in a <CODE>V</CODE>.
</P>
<PRE>
mkV2 : V -&gt; Str -&gt; Case -&gt; V2 ; -- "войти в дом"; "в", accusative
mkV3 : V -&gt; Str -&gt; Str -&gt; Case -&gt; Case -&gt; V3 ; -- "сложить письмо в конверт"
dirV2 : V -&gt; V2 ; -- "видеть", "любить"
tvDirDir : V -&gt; V3 ;
</PRE>
<P></P>
<P>
The definitions should not bother the user of the API. So they are
hidden from the document.
</P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc russian/ParadigmsRus.txt -->

View File

@@ -1,413 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Spanish Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Spanish Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 21:33:43 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc3">Compound nouns</A>
<LI><A HREF="#toc4">Relational nouns</A>
<LI><A HREF="#toc5">Relational common noun phrases</A>
<LI><A HREF="#toc6">Proper names and noun phrases</A>
</UL>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc8">Two-place adjectives</A>
<LI><A HREF="#toc9">Comparison adjectives</A>
</UL>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Verbs</A>
<UL>
<LI><A HREF="#toc12">Two-place verbs</A>
<LI><A HREF="#toc13">Three-place verbs</A>
<LI><A HREF="#toc14">Other complement patterns</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Aarne Ranta 2004 - 2006
</P>
<P>
This is an API for the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
</P>
<P>
The main difference with <CODE>MorphoSpa.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>. For
verbs, there is a fairly complete list of irregular verbs in
<A HREF="../../spanish/IrregSpa.gf"><CODE>IrregSpa</CODE></A>.
</P>
<PRE>
resource ParadigmsSpa =
open
(Predef=Predef),
Prelude,
CommonRomance,
ResSpa,
MorphoSpa,
BeschSpa,
CatSpa in {
flags optimize=all ;
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
</P>
<PRE>
oper
Gender : Type ;
masculine : Gender ;
feminine : Gender ;
</PRE>
<P></P>
<P>
To abstract over number names, we define the following.
</P>
<PRE>
Number : Type ;
singular : Number ;
plural : Number ;
</PRE>
<P></P>
<P>
Prepositions used in many-argument functions are either strings
(including the 'accusative' empty string) or strings that
amalgamate with the following word (the 'genitive' <I>de</I> and the
'dative' <I>a</I>).
</P>
<PRE>
Prep : Type ;
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
mkPrep : Str -&gt; Prep ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: two forms (singular + plural),
and the gender.
</P>
<PRE>
mkN : (_,_ : Str) -&gt; Gender -&gt; N ; -- bastón, bastones, masculine
</PRE>
<P></P>
<P>
The regular function takes the singular form and the gender,
and computes the plural and the gender by a heuristic.
The heuristic says that the gender is feminine for nouns
ending with <I>a</I> or <I>z</I>, and masculine for all other words.
Nouns ending with <I>a</I>, <I>o</I>, <I>e</I> have the plural with <I>s</I>,
those ending with <I>z</I> have <I>ces</I> in plural; all other nouns
have <I>es</I> as plural ending. The accent is not dealt with.
</P>
<PRE>
regN : Str -&gt; N ;
</PRE>
<P></P>
<P>
To force a different gender, use one of the following functions.
</P>
<PRE>
mascN : N -&gt; N ;
femN : N -&gt; N ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
Some nouns are ones where the first part is inflected as a noun but
the second part is not inflected. e.g. <I>número de teléfono</I>.
They could be formed in syntax, but we give a shortcut here since
they are frequent in lexica.
</P>
<PRE>
compN : N -&gt; Str -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>fille de x</I>) need a case and a preposition.
</P>
<PRE>
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
The most common cases are the genitive <I>de</I> and the dative <I>a</I>,
with the empty preposition.
</P>
<PRE>
deN2 : N -&gt; N2 ;
aN2 : N -&gt; N2 ;
</PRE>
<P></P>
<P>
Three-place relational nouns (<I>la connessione di x a y</I>) need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H3>Relational common noun phrases</H3>
<P>
In some cases, you may want to make a complex <CODE>CN</CODE> into a
relational noun (e.g. <I>the old town hall of</I>). However, <CODE>N2</CODE> and
<CODE>N3</CODE> are purely lexical categories. But you can use the <CODE>AdvCN</CODE>
and <CODE>PrepNP</CODE> constructions to build phrases like this.
</P>
<A NAME="toc6"></A>
<H3>Proper names and noun phrases</H3>
<P>
Proper names need a string and a gender.
</P>
<PRE>
mkPN : Str -&gt; Gender -&gt; PN ; -- Juan
regPN : Str -&gt; PN ; -- feminine for "-a", otherwise masculine
</PRE>
<P></P>
<P>
To form a noun phrase that can also be plural,
you can use the worst-case function.
</P>
<PRE>
mkNP : Str -&gt; Gender -&gt; Number -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need five forms in the worst
case (masc and fem singular, masc plural, adverbial).
</P>
<PRE>
mkA : (solo,sola,solos,solas, solamiento : Str) -&gt; A ;
</PRE>
<P></P>
<P>
For regular adjectives, all other forms are derived from the
masculine singular. The types of adjectives that are recognized are
<I>alto</I>, <I>fuerte</I>, <I>util</I>.
</P>
<PRE>
regA : Str -&gt; A ;
</PRE>
<P></P>
<P>
These functions create postfix adjectives. To switch
them to prefix ones (i.e. ones placed before the noun in
modification, as in <I>bueno vino</I>), the following function is
provided.
</P>
<PRE>
prefA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<H3>Two-place adjectives</H3>
<P>
Two-place adjectives need a preposition for their second argument.
</P>
<PRE>
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<H3>Comparison adjectives</H3>
<P>
Comparison adjectives are in the worst case put up from two
adjectives: the positive (<I>bueno</I>), and the comparative (<I>mejor</I>).
</P>
<PRE>
mkADeg : A -&gt; A -&gt; A ;
</PRE>
<P></P>
<P>
If comparison is formed by <I>mas</I>, as usual in Spanish,
the following pattern is used:
</P>
<PRE>
compADeg : A -&gt; A ;
</PRE>
<P></P>
<P>
The regular pattern is the same as <CODE>regA</CODE> for plain adjectives,
with comparison by <I>mas</I>.
</P>
<PRE>
regADeg : Str -&gt; A ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
after the verb.
</P>
<PRE>
mkAdv : Str -&gt; Adv ;
</PRE>
<P></P>
<P>
Some appear next to the verb (e.g. <I>siempre</I>).
</P>
<PRE>
mkAdV : Str -&gt; AdV ;
</PRE>
<P></P>
<P>
Adverbs modifying adjectives and sentences can also be formed.
</P>
<PRE>
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<H2>Verbs</H2>
<P>
Regular verbs are ones inflected like <I>cortar</I>, <I>deber</I>, or <I>vivir</I>.
The regular verb function is the first conjugation (<I>ar</I>) recognizes
the variations corresponding to the patterns
<I>actuar, cazar, guiar, pagar, sacar</I>. The module <CODE>BeschSpa</CODE> gives
the complete set of <I>Bescherelle</I> conjugations.
</P>
<PRE>
regV : Str -&gt; V ;
</PRE>
<P></P>
<P>
The module <CODE>BeschSpa</CODE> gives all the patterns of the <I>Bescherelle</I>
book. To use them in the category <CODE>V</CODE>, wrap them with the function
</P>
<PRE>
verboV : Verbum -&gt; V ;
</PRE>
<P></P>
<P>
To form reflexive verbs:
</P>
<PRE>
reflV : V -&gt; V ;
</PRE>
<P></P>
<P>
Verbs with a deviant passive participle: just give the participle
in masculine singular form as second argument.
</P>
<PRE>
special_ppV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a preposition, except the special case with direct object.
(transitive verbs). Notice that a particle comes from the <CODE>V</CODE>.
</P>
<PRE>
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<P>
You can reuse a <CODE>V2</CODE> verb in <CODE>V</CODE>.
</P>
<PRE>
v2V : V2 -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
</P>
<PRE>
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- hablar, a, di
dirV3 : V -&gt; Prep -&gt; V3 ; -- dar,(accusative),a
dirdirV3 : V -&gt; V3 ; -- dar,(dative),(accusative)
</PRE>
<P></P>
<A NAME="toc14"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
questions, verb phrases, and adjectives.
</P>
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ; -- plain infinitive: "quiero hablar"
deVV : V -&gt; VV ; -- "terminar de hablar"
aVV : V -&gt; VV ; -- "aprender a hablar"
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Prep -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; Prep -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
Notice: categories <CODE>V2S, V2V, V2Q</CODE> are in v 1.0 treated
just as synonyms of <CODE>V2</CODE>, and the second argument is given
as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
<CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<PRE>
V0, V2S, V2V, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc spanish/ParadigmsSpa.txt -->
</BODY></HTML>

View File

@@ -1,423 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Swedish Lexical Paradigms</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Swedish Lexical Paradigms</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 21:39:41 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc3">Compound nouns</A>
<LI><A HREF="#toc4">Relational nouns</A>
<LI><A HREF="#toc5">Relational common noun phrases</A>
<LI><A HREF="#toc6">Proper names and noun phrases</A>
</UL>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc8">Two-place adjectives</A>
</UL>
<LI><A HREF="#toc9">Adverbs</A>
<LI><A HREF="#toc10">Verbs</A>
<UL>
<LI><A HREF="#toc11">Verbs with a particle.</A>
<LI><A HREF="#toc12">Deponent verbs.</A>
<LI><A HREF="#toc13">Two-place verbs</A>
<LI><A HREF="#toc14">Three-place verbs</A>
<LI><A HREF="#toc15">Other complement patterns</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Aarne Ranta 2001 - 2006
</P>
<P>
This is an API for the user of the resource grammar
for adding lexical items. It gives functions for forming
expressions of open categories: nouns, adjectives, verbs.
</P>
<P>
Closed categories (determiners, pronouns, conjunctions) are
accessed through the resource syntax API, <CODE>Structural.gf</CODE>.
</P>
<P>
The main difference with <CODE>MorphoSwe.gf</CODE> 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>
<P>
The structure of functions for each word class <CODE>C</CODE> is the following:
first we give a handful of patterns that aim to cover all
regular cases. Then we give a worst-case function <CODE>mkC</CODE>, which serves as an
escape to construct the most irregular words of type <CODE>C</CODE>.
However, this function should only seldom be needed: we have a
separate module <A HREF="../../swedish/IrregSwe"><CODE>IrregSwe</CODE></A>,
which covers many irregular verbs.
</P>
<PRE>
resource ParadigmsSwe =
open
(Predef=Predef),
Prelude,
CommonScand,
ResSwe,
MorphoSwe,
CatSwe in {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
</P>
<PRE>
oper
Gender : Type ;
utrum : Gender ;
neutrum : Gender ;
</PRE>
<P></P>
<P>
To abstract over number names, we define the following.
</P>
<PRE>
Number : Type ;
singular : Number ;
plural : Number ;
</PRE>
<P></P>
<P>
To abstract over case names, we define the following.
</P>
<PRE>
Case : Type ;
nominative : Case ;
genitive : Case ;
</PRE>
<P></P>
<P>
Prepositions used in many-argument functions are just strings.
</P>
<PRE>
mkPrep : Str -&gt; Prep ;
noPrep : Prep ; -- empty string
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four forms. The gender is computed from the
last letter of the second form (if <I>n</I>, then <CODE>utrum</CODE>, otherwise <CODE>neutrum</CODE>).
</P>
<PRE>
mkN : (apa,apan,apor,aporna : Str) -&gt; N ;
</PRE>
<P></P>
<P>
The regular function takes the singular indefinite form and computes the other
forms and the gender by a heuristic. The heuristic is currently
to treat all words ending with <I>a</I> like <I>flicka</I>, with <I>e</I> like <I>rike</I>,
and otherwise like <I>bil</I>.
If in doubt, use the <CODE>cc</CODE> command to test!
</P>
<PRE>
regN : Str -&gt; N ;
</PRE>
<P></P>
<P>
Adding the gender manually greatly improves the correction of <CODE>regN</CODE>.
</P>
<PRE>
regGenN : Str -&gt; Gender -&gt; N ;
</PRE>
<P></P>
<P>
In practice the worst case is often just: give singular and plural indefinite.
</P>
<PRE>
mk2N : (nyckel,nycklar : Str) -&gt; N ;
</PRE>
<P></P>
<P>
This heuristic takes just the plural definite form and infers the others.
It does not work if there are changes in the stem.
</P>
<PRE>
mk1N : (bilarna : Str) -&gt; N ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
All the functions above work quite as well to form compound nouns,
such as <I>fotboll</I>.
</P>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>dotter till x</I>) need a preposition.
</P>
<PRE>
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
The most common preposition is <I>av</I>, and the following is a
shortcut for regular, <CODE>nonhuman</CODE> relational nouns with <I>av</I>.
</P>
<PRE>
regN2 : Str -&gt; Gender -&gt; N2 ;
</PRE>
<P></P>
<P>
Use the function <CODE>mkPreposition</CODE> or see the section on prepositions below to
form other prepositions.
</P>
<P>
Three-place relational nouns (<I>förbindelse från x till y</I>)
need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H3>Relational common noun phrases</H3>
<P>
In some cases, you may want to make a complex <CODE>CN</CODE> into a
relational noun (e.g. <I>den före detta maken till</I>). However, <CODE>N2</CODE> and
<CODE>N3</CODE> are purely lexical categories. But you can use the <CODE>AdvCN</CODE>
and <CODE>PrepNP</CODE> constructions to build phrases like this.
</P>
<A NAME="toc6"></A>
<H3>Proper names and noun phrases</H3>
<P>
Proper names, with a regular genitive, are formed as follows
</P>
<PRE>
regGenPN : Str -&gt; Gender -&gt; PN ;
regPN : Str -&gt; PN ; -- utrum
</PRE>
<P></P>
<P>
Sometimes you can reuse a common noun as a proper name, e.g. <I>Bank</I>.
</P>
<PRE>
nounPN : N -&gt; PN ;
</PRE>
<P></P>
<P>
To form a noun phrase that can also be plural and have an irregular
genitive, you can use the worst-case function.
</P>
<PRE>
mkNP : Str -&gt; Str -&gt; Number -&gt; Gender -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Adjectives may need as many as seven forms.
</P>
<PRE>
mkA : (liten, litet, lilla, sma, mindre, minst, minsta : Str) -&gt; A ;
</PRE>
<P></P>
<P>
The regular pattern works for many adjectives, e.g. those ending
with <I>ig</I>.
</P>
<PRE>
regA : Str -&gt; A ;
</PRE>
<P></P>
<P>
Just the comparison forms can be irregular.
</P>
<PRE>
irregA : (tung,tyngre,tyngst : Str) -&gt; A ;
</PRE>
<P></P>
<P>
Sometimes just the positive forms are irregular.
</P>
<PRE>
mk3A : (galen,galet,galna : Str) -&gt; A ;
mk2A : (bred,brett : Str) -&gt; A ;
</PRE>
<P></P>
<P>
Comparison forms may be compound (<I>mera svensk</I> - <I>mest svensk</I>).
</P>
<PRE>
compoundA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<H3>Two-place adjectives</H3>
<P>
Two-place adjectives need a preposition for their second argument.
</P>
<PRE>
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
after the verb. Some can be preverbal in subordinate position
(e.g. <I>alltid</I>).
</P>
<PRE>
mkAdv : Str -&gt; Adv ; -- här
mkAdV : Str -&gt; AdV ; -- alltid
</PRE>
<P></P>
<P>
Adverbs modifying adjectives and sentences can also be formed.
</P>
<PRE>
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<H2>Verbs</H2>
<P>
The worst case needs five forms.
</P>
<PRE>
mkV : (supa,super,sup,söp,supit,supen : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The 'regular verb' function is inspired by Lexin. It uses the
present tense indicative form. The value is the first conjugation if the
argument ends with <I>ar</I> (<I>tala</I> - <I>talar</I> - <I>talade</I> - <I>talat</I>),
the second with <I>er</I> (<I>leka</I> - <I>leker</I> - <I>lekte</I> - <I>lekt</I>, with the
variations like <I>gräva</I>, <I>vända</I>, <I>tyda</I>, <I>hyra</I>), and
the third in other cases (<I>bo</I> - <I>bor</I> - <I>bodde</I> - <I>bott</I>).
</P>
<PRE>
regV : (talar : Str) -&gt; V ;
</PRE>
<P></P>
<P>
The almost regular verb function needs the infinitive and the preteritum.
It is not really more powerful than the new implementation of
<CODE>regV</CODE> based on the indicative form.
</P>
<PRE>
mk2V : (leka,lekte : Str) -&gt; V ;
</PRE>
<P></P>
<P>
There is an extensive list of irregular verbs in the module <CODE>IrregSwe</CODE>.
In practice, it is enough to give three forms, as in school books.
</P>
<PRE>
irregV : (dricka, drack, druckit : Str) -&gt; V ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<H3>Verbs with a particle.</H3>
<P>
The particle, such as in <I>passa på</I>, is given as a string.
</P>
<PRE>
partV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<H3>Deponent verbs.</H3>
<P>
Some words are used in passive forms only, e.g. <I>hoppas</I>, some as
reflexive e.g. <I>ångra sig</I>.
</P>
<PRE>
depV : V -&gt; V ;
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a preposition, except the special case with direct object.
(transitive verbs). Notice that a particle comes from the <CODE>V</CODE>.
</P>
<PRE>
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
the first one or both can be absent.
</P>
<PRE>
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- tala, med, om
dirV3 : V -&gt; Prep -&gt; V3 ; -- ge, (acc),till
dirdirV3 : V -&gt; V3 ; -- ge, (dat), (acc)
</PRE>
<P></P>
<A NAME="toc15"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
questions, verb phrases, and adjectives.
</P>
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
Notice: categories <CODE>V2S, V2V, V2A, V2Q</CODE> are in v 1.0 treated
just as synonyms of <CODE>V2</CODE>, and the second argument is given
as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
<CODE>V0</CODE> is just <CODE>V</CODE>.
</P>
<PRE>
V0, V2S, V2V, V2A, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc swedish/ParadigmsSwe.txt -->
</BODY></HTML>

View File

@@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Phrase: Phrases and Utterances</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Phrase: Phrases and Utterances</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-14 22:58:47 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Phrase = Cat ** {
</PRE>
<P></P>
<P>
When a phrase is built from an utterance it can be prefixed
with a phrasal conjunction (such as <I>but</I>, <I>therefore</I>)
and suffixing with a vocative (typically a noun phrase).
</P>
<PRE>
fun
PhrUtt : PConj -&gt; Utt -&gt; Voc -&gt; Phr ; -- But go home my friend.
</PRE>
<P></P>
<P>
Utterances are formed from sentences, questions, and imperatives.
</P>
<PRE>
UttS : S -&gt; Utt ; -- John walks
UttQS : QS -&gt; Utt ; -- is it good
UttImpSg : Pol -&gt; Imp -&gt; Utt; -- (don't) help yourself
UttImpPl : Pol -&gt; Imp -&gt; Utt; -- (don't) help yourselves
</PRE>
<P></P>
<P>
There are also 'one-word utterances'. A typical use of them is
as answers to questions.
<B>Note</B>. This list is incomplete. More categories could be covered.
Moreover, in many languages e.g. noun phrases in different cases
can be used.
</P>
<PRE>
UttIP : IP -&gt; Utt ; -- who
UttIAdv : IAdv -&gt; Utt ; -- why
UttNP : NP -&gt; Utt ; -- this man
UttAdv : Adv -&gt; Utt ; -- here
UttVP : VP -&gt; Utt ; -- to sleep
</PRE>
<P></P>
<P>
The phrasal conjunction is optional. A sentence conjunction
can also used to prefix an utterance.
</P>
<PRE>
NoPConj : PConj ;
PConjConj : Conj -&gt; PConj ; -- and
</PRE>
<P></P>
<P>
The vocative is optional. Any noun phrase can be made into vocative,
which may be overgenerating (e.g. <I>I</I>).
</P>
<PRE>
NoVoc : Voc ;
VocNP : NP -&gt; Voc ; -- my friend
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Phrase.txt -->
</BODY></HTML>

View File

@@ -1,180 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
</HEAD><BODY BGCOLOR="white" TEXT="black">
<FONT SIZE="4">
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Last update: 2005-11-17 17:36:49 CET
</P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
operations for precedence-dependent strings.
five levels:
p4 (constants), p3 (applications), p2 (products), p1 (sums), p0 (arrows)
</P>
<PRE>
resource Precedence = open Prelude in {
param
Prec = p4 | p3 | p2 | p1 | p0 ;
lintype
PrecTerm = Prec =&gt; Str ;
oper
pss : PrecTerm -&gt; {s : PrecTerm} = \s -&gt; {s = s} ;
</PRE>
<P></P>
<P>
change this if you want some other type of parentheses
</P>
<PRE>
mkParenth : Str -&gt; Str = \str -&gt; "(" ++ str ++ ")" ;
</PRE>
<P></P>
<P>
define ordering of precedences
</P>
<PRE>
nextPrec : Prec =&gt; Prec =
table {p0 =&gt; p1 ; p1 =&gt; p2 ; p2 =&gt; p3 ; _ =&gt; p4} ;
prevPrec : Prec =&gt; Prec =
table {p4 =&gt; p3 ; p3 =&gt; p2 ; p2 =&gt; p1 ; _ =&gt; p0} ;
mkPrec : Str -&gt; Prec =&gt; Prec =&gt; Str = \str -&gt;
table {
p4 =&gt; table { -- use the term of precedence p4...
_ =&gt; str} ; -- ...always without parentheses
p3 =&gt; table { -- use the term of precedence p3...
p4 =&gt; mkParenth str ; -- ...in parentheses if p4 is required...
_ =&gt; str} ; -- ...otherwise without parentheses
p2 =&gt; table {
p4 =&gt; mkParenth str ;
p3 =&gt; mkParenth str ;
_ =&gt; str} ;
p1 =&gt; table {
p1 =&gt; str ;
p0 =&gt; str ;
_ =&gt; mkParenth str} ;
p0 =&gt; table {
p0 =&gt; str ;
_ =&gt; mkParenth str}
} ;
</PRE>
<P></P>
<P>
make a string into a constant, of precedence p4
</P>
<PRE>
mkConst : Str -&gt; PrecTerm =
\f -&gt;
mkPrec f ! p4 ;
</PRE>
<P></P>
<P>
make a string into a 1/2/3 -place prefix operator, of precedence p3
</P>
<PRE>
mkFun1 : Str -&gt; PrecTerm -&gt; PrecTerm =
\f -&gt; \x -&gt;
table {k =&gt; mkPrec (f ++ x ! p4) ! p3 ! k} ;
mkFun2 : Str -&gt; PrecTerm -&gt; PrecTerm -&gt; PrecTerm =
\f -&gt; \x -&gt; \y -&gt;
table {k =&gt; mkPrec (f ++ x ! p4 ++ y ! p4) ! p3 ! k} ;
mkFun3 : Str -&gt; PrecTerm -&gt; PrecTerm -&gt; PrecTerm -&gt; PrecTerm =
\f -&gt; \x -&gt; \y -&gt; \z -&gt;
table {k =&gt; mkPrec (f ++ x ! p4 ++ y ! p4 ++ z ! p4) ! p3 ! k} ;
</PRE>
<P></P>
<P>
make a string into a non/left/right -associative infix operator, of precedence p
</P>
<PRE>
mkInfix : Str -&gt; Prec -&gt; PrecTerm -&gt; PrecTerm -&gt; PrecTerm =
\f -&gt; \p -&gt; \x -&gt; \y -&gt;
table {k =&gt; mkPrec (x ! (nextPrec ! p) ++ f ++ y ! (nextPrec ! p)) ! p ! k} ;
mkInfixL : Str -&gt; Prec -&gt; PrecTerm -&gt; PrecTerm -&gt; PrecTerm =
\f -&gt; \p -&gt; \x -&gt; \y -&gt;
table {k =&gt; mkPrec (x ! p ++ f ++ y ! (nextPrec ! p)) ! p ! k} ;
mkInfixR : Str -&gt; Prec -&gt; PrecTerm -&gt; PrecTerm -&gt; PrecTerm =
\f -&gt; \p -&gt; \x -&gt; \y -&gt;
table {k =&gt; mkPrec (x ! (nextPrec ! p) ++ f ++ y ! p) ! p ! k} ;
</PRE>
<P></P>
<HR NOSHADE SIZE=1>
<P>
alternative:
precedence as inherent feature
</P>
<PRE>
lintype TermWithPrec = {s : Str ; p : Prec} ;
oper
mkpPrec : Str -&gt; Prec -&gt; TermWithPrec =
\f -&gt; \p -&gt;
{s = f ; p = p} ;
usePrec : TermWithPrec -&gt; Prec -&gt; Str =
\x -&gt; \p -&gt;
mkPrec x.s ! x.p ! p ;
</PRE>
<P></P>
<P>
make a string into a constant, of precedence p4
</P>
<PRE>
mkpConst : Str -&gt; TermWithPrec =
\f -&gt;
mkpPrec f p4 ;
</PRE>
<P></P>
<P>
make a string into a 1/2/3 -place prefix operator, of precedence p3
</P>
<PRE>
mkpFun1 : Str -&gt; TermWithPrec -&gt; TermWithPrec =
\f -&gt; \x -&gt;
mkpPrec (f ++ usePrec x p4) p3 ;
mkpFun2 : Str -&gt; TermWithPrec -&gt; TermWithPrec -&gt; TermWithPrec =
\f -&gt; \x -&gt; \y -&gt;
mkpPrec (f ++ usePrec x p4 ++ usePrec y p4) p3 ;
mkpFun3 : Str -&gt; TermWithPrec -&gt; TermWithPrec -&gt; TermWithPrec -&gt; TermWithPrec =
\f -&gt; \x -&gt; \y -&gt; \z -&gt;
mkpPrec (f ++ usePrec x p4 ++ usePrec y p4 ++ usePrec z p4) p3 ;
</PRE>
<P></P>
<P>
make a string a into non/left/right -associative infix operator, of precedence p
</P>
<PRE>
mkpInfix : Str -&gt; Prec -&gt; TermWithPrec -&gt; TermWithPrec -&gt; TermWithPrec =
\f -&gt; \p -&gt; \x -&gt; \y -&gt;
mkpPrec (usePrec x (nextPrec ! p) ++ f ++ usePrec y (nextPrec ! p)) p ;
mkpInfixL : Str -&gt; Prec -&gt; TermWithPrec -&gt; TermWithPrec -&gt; TermWithPrec =
\f -&gt; \p -&gt; \x -&gt; \y -&gt;
mkpPrec (usePrec x p ++ f ++ usePrec y (nextPrec ! p)) p ;
mkpInfixR : Str -&gt; Prec -&gt; TermWithPrec -&gt; TermWithPrec -&gt; TermWithPrec =
\f -&gt; \p -&gt; \x -&gt; \y -&gt;
mkpPrec (usePrec x (nextPrec ! p) ++ f ++ usePrec y p) p ;
} ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc ../prelude/Precedence.txt -->
</BODY></HTML>

View File

@@ -1,65 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Predefined functions for concrete syntax</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Predefined functions for concrete syntax</H1>
<FONT SIZE="4">
<I>Last update: 2006-02-25 22:19:20 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
The definitions of these constants are hard-coded in GF, and defined
in <A HREF="../src/GF/Grammar/AppPredefined.hs">AppPredefined.hs</A>. Applying
them to run-time variables leads to compiler errors that are often
only detected at the code generation time.
</P>
<PRE>
resource Predef = {
</PRE>
<P></P>
<P>
This type of booleans is for internal use only.
</P>
<PRE>
param PBool = PTrue | PFalse ;
oper Int : Type = variants {} ; -- the type of integers
oper Ints : Int -&gt; Type = variants {} ; -- the type of integers from 0 to n
oper length : Tok -&gt; Int = variants {} ; -- length of string
oper drop : Int -&gt; Tok -&gt; Tok = variants {} ; -- drop prefix of length
oper take : Int -&gt; Tok -&gt; Tok = variants {} ; -- take prefix of length
oper tk : Int -&gt; Tok -&gt; Tok = variants {} ; -- drop suffix of length
oper dp : Int -&gt; Tok -&gt; Tok = variants {} ; -- take suffix of length
oper eqInt : Int -&gt; Int -&gt; PBool = variants {} ; -- test if equal integers
oper lessInt: Int -&gt; Int -&gt; PBool = variants {} ; -- test order of integers
oper plus : Int -&gt; Int -&gt; Int = variants {} ; -- add integers
oper eqStr : Tok -&gt; Tok -&gt; PBool = variants {} ; -- test if equal strings
oper occur : Tok -&gt; Tok -&gt; PBool = variants {} ; -- test if occurs as substring
oper occurs : Tok -&gt; Tok -&gt; PBool = variants {} ; -- test if any char occurs
oper show : (P : Type) -&gt; P -&gt; Tok = variants {} ; -- convert param to string
oper read : (P : Type) -&gt; Tok -&gt; P = variants {} ; -- convert string to param
oper toStr : (L : Type) -&gt; L -&gt; Str = variants {} ; -- find the "first" string
oper mapStr : (L : Type) -&gt; (Str -&gt; Str) -&gt; L -&gt; L = variants {} ;
-- map all strings in a data structure; experimental ---
} ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc ../prelude/Predef.txt -->
</BODY></HTML>

View File

@@ -1,32 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
</HEAD><BODY BGCOLOR="white" TEXT="black">
<FONT SIZE="4">
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Last update: 2006-06-03 10:54:51 CEST
</P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract PredefAbs = {
cat Int ; String ; Float ;
} ;
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc ../prelude/PredefAbs.txt -->
</BODY></HTML>

View File

@@ -1,113 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> A Small Predication Library</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> A Small Predication Library</H1>
<FONT SIZE="4">
<I>Last update: 2006-02-25 23:46:32 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">The category of atomic sentences</A>
<LI><A HREF="#toc2">Predication patterns.</A>
<LI><A HREF="#toc3">Imperatives and infinitives.</A>
<LI><A HREF="#toc4">Individual-valued function applications</A>
<LI><A HREF="#toc5">Families of types</A>
<LI><A HREF="#toc6">Type constructor</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
(c) Aarne Ranta 2003-2006 under Gnu GPL.
</P>
<P>
This library is a derived library built on the language-independent Ground
API of resource grammars.
</P>
<PRE>
abstract Predication = Cat ** {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>The category of atomic sentences</H2>
<P>
We want to use sentences in positive and negative forms but do not care about
tenses.
</P>
<PRE>
fun
PosCl : Cl -&gt; S ; -- positive sentence: "x intersects y"
NegCl : Cl -&gt; S ; -- negative sentence: "x doesn't intersect y"
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Predication patterns.</H2>
<PRE>
predV : V -&gt; NP -&gt; Cl ; -- one-place verb: "x converges"
predV2 : V2 -&gt; NP -&gt; NP -&gt; Cl ; -- two-place verb: "x intersects y"
predV3 : V3 -&gt; NP-&gt;NP-&gt; NP -&gt; Cl; -- three-place verb: "x intersects y at z"
predVColl : V -&gt; NP -&gt; NP -&gt; Cl ; -- collective verb: "x and y intersect"
predA : A -&gt; NP -&gt; Cl ; -- one-place adjective: "x is even"
predA2 : A2 -&gt; NP -&gt; NP -&gt; Cl ; -- two-place adj: "x is divisible by y"
predAComp : A -&gt; NP -&gt; NP -&gt; Cl; -- comparative adj: "x is greater than y"
predAColl : A -&gt; NP -&gt; NP -&gt; Cl ; -- collective adj: "x and y are parallel"
predN : N -&gt; NP -&gt; Cl ; -- one-place noun: "x is a point"
predN2 : N2 -&gt; NP -&gt; NP -&gt; Cl ; -- two-place noun: "x is a divisor of y"
predNColl : N -&gt; NP -&gt; NP -&gt; Cl ; -- collective noun: "x and y are duals"
predAdv : Adv -&gt; NP -&gt; Cl ; -- adverb: "x is inside"
predPrep : Prep -&gt; NP -&gt; NP -&gt; Cl ; -- preposition: "x is outside y"
</PRE>
<P></P>
<A NAME="toc3"></A>
<H2>Imperatives and infinitives.</H2>
<PRE>
impV2 : V2 -&gt; NP -&gt; Phr ; -- imperative: "solve the equation E"
infV2 : V2 -&gt; NP -&gt; Phr ; -- infinitive: "to solve the equation E"
</PRE>
<P></P>
<A NAME="toc4"></A>
<H2>Individual-valued function applications</H2>
<PRE>
appN2 : N2 -&gt; NP -&gt; NP ; -- one-place function: "the successor of x"
appN3 : N3 -&gt; NP -&gt; NP -&gt; NP ; -- two-place function: "the distance from x to y"
appColl : N2 -&gt; NP -&gt; NP -&gt; NP ; -- collective function: "the sum of x and y"
</PRE>
<P></P>
<A NAME="toc5"></A>
<H2>Families of types</H2>
<P>
These are expressed by relational nouns applied to arguments.
</P>
<PRE>
famN2 : N2 -&gt; NP -&gt; CN ; -- one-place family: "divisor of x"
famN3 : N3 -&gt; NP -&gt; NP -&gt; CN ; -- two-place family: "path from x to y"
famColl : N2 -&gt; NP -&gt; NP -&gt; CN ; -- collective family: "path between x and y"
</PRE>
<P></P>
<A NAME="toc6"></A>
<H2>Type constructor</H2>
<P>
This is similar to a family except that the argument is a type.
</P>
<PRE>
typN2 : N2 -&gt; CN -&gt; CN ; -- constructed type: "list of integers"
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc mathematical/Predication.txt -->
</BODY></HTML>

View File

@@ -1,222 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> The GF Prelude</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The GF Prelude</H1>
<FONT SIZE="4">
<I>Last update: 2006-02-25 22:31:06 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Strings, records, and tables</A>
<LI><A HREF="#toc2">Optional elements</A>
<LI><A HREF="#toc3">Infixes. prefixes, and postfixes</A>
<LI><A HREF="#toc4">Booleans</A>
<LI><A HREF="#toc5">High-level acces to Predef operations</A>
<LI><A HREF="#toc6">Lexer-related operations</A>
<LI><A HREF="#toc7">Miscellaneous</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
This file defines some prelude facilities usable in all grammars.
</P>
<PRE>
resource Prelude = open (Predef=Predef) in {
oper
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Strings, records, and tables</H2>
<PRE>
SS : Type = {s : Str} ;
ss : Str -&gt; SS = \s -&gt; {s = s} ;
ss2 : (_,_ : Str) -&gt; SS = \x,y -&gt; ss (x ++ y) ;
ss3 : (_,_ ,_: Str) -&gt; SS = \x,y,z -&gt; ss (x ++ y ++ z) ;
cc2 : (_,_ : SS) -&gt; SS = \x,y -&gt; ss (x.s ++ y.s) ;
cc3 : (_,_,_ : SS) -&gt; SS = \x,y,z -&gt; ss (x.s ++ y.s ++ z.s) ;
SS1 : Type -&gt; Type = \P -&gt; {s : P =&gt; Str} ;
ss1 : (A : Type) -&gt; Str -&gt; SS1 A = \A,s -&gt; {s = table {_ =&gt; s}} ;
SP1 : Type -&gt; Type = \P -&gt; {s : Str ; p : P} ;
sp1 : (A : Type) -&gt; Str -&gt; A -&gt; SP1 A = \_,s,a -&gt; {s = s ; p = a} ;
constTable : (A,B : Type) -&gt; B -&gt; A =&gt; B = \_,_,b -&gt; \\_ =&gt; b ;
constStr : (A : Type) -&gt; Str -&gt; A =&gt; Str = \A -&gt; constTable A Str ;
</PRE>
<P></P>
<P>
Discontinuous constituents.
</P>
<PRE>
SD2 = {s1,s2 : Str} ;
sd2 : (_,_ : Str) -&gt; SD2 = \x,y -&gt; {s1 = x ; s2 = y} ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Optional elements</H2>
<P>
Missing form.
</P>
<PRE>
nonExist : Str = variants {} ;
</PRE>
<P></P>
<P>
Optional string with preference on the string vs. empty.
</P>
<PRE>
optStr : Str -&gt; Str = \s -&gt; variants {s ; []} ;
strOpt : Str -&gt; Str = \s -&gt; variants {[] ; s} ;
</PRE>
<P></P>
<P>
Free order between two strings.
</P>
<PRE>
bothWays : Str -&gt; Str -&gt; Str = \x,y -&gt; variants {x ++ y ; y ++ x} ;
</PRE>
<P></P>
<P>
Parametric order between two strings.
</P>
<PRE>
preOrPost : Bool -&gt; Str -&gt; Str -&gt; Str = \pr,x,y -&gt;
if_then_Str pr (x ++ y) (y ++ x) ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<H2>Infixes. prefixes, and postfixes</H2>
<P>
Fixes with precedences are defined in <A HREF="Precedence.html">Precedence</A>.
</P>
<PRE>
infixSS : Str -&gt; SS -&gt; SS -&gt; SS = \f,x,y -&gt; ss (x.s ++ f ++ y.s) ;
prefixSS : Str -&gt; SS -&gt; SS = \f,x -&gt; ss (f ++ x.s) ;
postfixSS : Str -&gt; SS -&gt; SS = \f,x -&gt; ss (x.s ++ f) ;
embedSS : Str -&gt; Str -&gt; SS -&gt; SS = \f,g,x -&gt; ss (f ++ x.s ++ g) ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<H2>Booleans</H2>
<PRE>
param Bool = True | False ;
oper
if_then_else : (A : Type) -&gt; Bool -&gt; A -&gt; A -&gt; A = \_,c,d,e -&gt;
case c of {
True =&gt; d ; ---- should not need to qualify
False =&gt; e
} ;
andB : (_,_ : Bool) -&gt; Bool = \a,b -&gt; if_then_else Bool a b False ;
orB : (_,_ : Bool) -&gt; Bool = \a,b -&gt; if_then_else Bool a True b ;
notB : Bool -&gt; Bool = \a -&gt; if_then_else Bool a False True ;
if_then_Str : Bool -&gt; Str -&gt; Str -&gt; Str = if_then_else Str ;
onlyIf : Bool -&gt; Str -&gt; Str = \b,s -&gt; case b of {
True =&gt; s ;
_ =&gt; nonExist
} ;
</PRE>
<P></P>
<P>
Interface to internal booleans
</P>
<PRE>
pbool2bool : Predef.PBool -&gt; Bool = \b -&gt; case b of {
Predef.PFalse =&gt; False ; Predef.PTrue =&gt; True
} ;
init : Tok -&gt; Tok = Predef.tk 1 ;
last : Tok -&gt; Tok = Predef.dp 1 ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<H2>High-level acces to Predef operations</H2>
<PRE>
isNil : Tok -&gt; Bool = \b -&gt; pbool2bool (Predef.eqStr [] b) ;
ifTok : (A : Type) -&gt; Tok -&gt; Tok -&gt; A -&gt; A -&gt; A = \A,t,u,a,b -&gt;
case Predef.eqStr t u of {Predef.PTrue =&gt; a ; Predef.PFalse =&gt; b} ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<H2>Lexer-related operations</H2>
<P>
Bind together two tokens in some lexers, either obligatorily or optionally
</P>
<PRE>
oper
glue : Str -&gt; Str -&gt; Str = \x,y -&gt; x ++ BIND ++ y ;
glueOpt : Str -&gt; Str -&gt; Str = \x,y -&gt; variants {glue x y ; x ++ y} ;
noglueOpt : Str -&gt; Str -&gt; Str = \x,y -&gt; variants {x ++ y ; glue x y} ;
</PRE>
<P></P>
<P>
Force capitalization of next word in some unlexers
</P>
<PRE>
capitalize : Str -&gt; Str = \s -&gt; CAPIT ++ s ;
</PRE>
<P></P>
<P>
These should be hidden, and never changed since they are hardcoded in (un)lexers
</P>
<PRE>
BIND : Str = "&amp;+" ;
PARA : Str = "&amp;-" ;
CAPIT : Str = "&amp;|" ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<H2>Miscellaneous</H2>
<P>
Identity function
</P>
<PRE>
id : (A : Type) -&gt; A -&gt; A = \_,a -&gt; a ;
</PRE>
<P></P>
<P>
Parentheses
</P>
<PRE>
paren : Str -&gt; Str = \s -&gt; "(" ++ s ++ ")" ;
parenss : SS -&gt; SS = \s -&gt; ss (paren s.s) ;
</PRE>
<P></P>
<P>
Zero, one, two, or more (elements in a list etc)
</P>
<PRE>
param
ENumber = E0 | E1 | E2 | Emore ;
oper
eNext : ENumber -&gt; ENumber = \e -&gt; case e of {
E0 =&gt; E1 ; E1 =&gt; E2 ; _ =&gt; Emore} ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc ../prelude/Prelude.txt -->
</BODY></HTML>

View File

@@ -1,64 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Question: Questions and Interrogative Pronouns</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Question: Questions and Interrogative Pronouns</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:22:41 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Question = Cat ** {
</PRE>
<P></P>
<P>
A question can be formed from a clause ('yes-no question') or
with an interrogative.
</P>
<PRE>
fun
QuestCl : Cl -&gt; QCl ; -- does John walk
QuestVP : IP -&gt; VP -&gt; QCl ; -- who walks
QuestSlash : IP -&gt; Slash -&gt; QCl ; -- who does John love
QuestIAdv : IAdv -&gt; Cl -&gt; QCl ; -- why does John walk
QuestIComp : IComp -&gt; NP -&gt; QCl ; -- where is John
</PRE>
<P></P>
<P>
Interrogative pronouns can be formed with interrogative
determiners.
</P>
<PRE>
IDetCN : IDet -&gt; Num -&gt; Ord -&gt; CN -&gt; IP; -- which five best songs
AdvIP : IP -&gt; Adv -&gt; IP ; -- who in Europe
PrepIP : Prep -&gt; IP -&gt; IAdv ; -- with whom
CompIAdv : IAdv -&gt; IComp ; -- where
</PRE>
<P></P>
<P>
More <CODE>IP</CODE>, <CODE>IDet</CODE>, and <CODE>IAdv</CODE> are defined in
<A HREF="Structural.html"><CODE>Structural</CODE></A>.
</P>
<PRE>
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Question.txt -->
</BODY></HTML>

View File

@@ -1,61 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Relative clauses and pronouns</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Relative clauses and pronouns</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:23:30 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Relative = Cat ** {
fun
</PRE>
<P></P>
<P>
The simplest way to form a relative clause is from a clause by
a pronoun similar to <I>such that</I>.
</P>
<PRE>
RelCl : Cl -&gt; RCl ; -- such that John loves her
</PRE>
<P></P>
<P>
The more proper ways are from a verb phrase
(formed in <A HREF="Verb.html"><CODE>Verb</CODE></A>) or a sentence
with a missing noun phrase (formed in <A HREF="Sentence.html"><CODE>Sentence</CODE></A>).
</P>
<PRE>
RelVP : RP -&gt; VP -&gt; RCl ; -- who loves John
RelSlash : RP -&gt; Slash -&gt; RCl ; -- whom John loves
</PRE>
<P></P>
<P>
Relative pronouns are formed from an 'identity element' by prefixing
or suffixing (depending on language) prepositional phrases.
</P>
<PRE>
IdRP : RP ; -- which
FunRP : Prep -&gt; NP -&gt; RP -&gt; RP ; -- all the roots of which
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Relative.txt -->
</BODY></HTML>

View File

@@ -1,117 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Sentence: Sentences, Clauses, and Imperatives</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Sentence: Sentences, Clauses, and Imperatives</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:24:56 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Clauses</A>
<LI><A HREF="#toc2">Clauses missing object noun phrases</A>
<LI><A HREF="#toc3">Imperatives</A>
<LI><A HREF="#toc4">Embedded sentences</A>
<LI><A HREF="#toc5">Sentences</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Sentence = Cat ** {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Clauses</H2>
<P>
The <CODE>NP VP</CODE> predication rule form a clause whose linearization
gives a table of all tense variants, positive and negative.
Clauses are converted to <CODE>S</CODE> (with fixed tense) with the
<CODE>UseCl</CODE> function below.
</P>
<PRE>
fun
PredVP : NP -&gt; VP -&gt; Cl ; -- John walks
</PRE>
<P></P>
<P>
Using an embedded sentence as a subject is treated separately.
This can be overgenerating. E.g. <I>whether you go</I> as subject
is only meaningful for some verb phrases.
</P>
<PRE>
PredSCVP : SC -&gt; VP -&gt; Cl ; -- that you go makes me happy
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Clauses missing object noun phrases</H2>
<P>
This category is a variant of the 'slash category' <CODE>S/NP</CODE> of
GPSG and categorial grammars, which in turn replaces
movement transformations in the formation of questions
and relative clauses. Except <CODE>SlashV2</CODE>, the construction
rules can be seen as special cases of function composition, in
the style of CCG.
<B>Note</B> the set is not complete and lacks e.g. verbs with more than 2 places.
</P>
<PRE>
SlashV2 : NP -&gt; V2 -&gt; Slash ; -- (whom) he sees
SlashVVV2 : NP -&gt; VV -&gt; V2 -&gt; Slash; -- (whom) he wants to see
AdvSlash : Slash -&gt; Adv -&gt; Slash ; -- (whom) he sees tomorrow
SlashPrep : Cl -&gt; Prep -&gt; Slash ; -- (with whom) he walks
</PRE>
<P></P>
<A NAME="toc3"></A>
<H2>Imperatives</H2>
<P>
An imperative is straightforwardly formed from a verb phrase.
It has variation over positive and negative, singular and plural.
To fix these parameters, see <A HREF="Phrase.html">Phrase</A>.
</P>
<PRE>
ImpVP : VP -&gt; Imp ; -- go
</PRE>
<P></P>
<A NAME="toc4"></A>
<H2>Embedded sentences</H2>
<P>
Sentences, questions, and infinitival phrases can be used as
subjects and (adverbial) complements.
</P>
<PRE>
EmbedS : S -&gt; SC ; -- that you go
EmbedQS : QS -&gt; SC ; -- whether you go
EmbedVP : VP -&gt; SC ; -- to go
</PRE>
<P></P>
<A NAME="toc5"></A>
<H2>Sentences</H2>
<P>
These are the 2 x 4 x 4 = 16 forms generated by different
combinations of tense, polarity, and
anteriority, which are defined in <A HREF="Common.html"><CODE>Common</CODE></A>.
</P>
<PRE>
fun
UseCl : Tense -&gt; Ant -&gt; Pol -&gt; Cl -&gt; S ;
UseQCl : Tense -&gt; Ant -&gt; Pol -&gt; QCl -&gt; QS ;
UseRCl : Tense -&gt; Ant -&gt; Pol -&gt; RCl -&gt; RS ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Sentence.txt -->
</BODY></HTML>

View File

@@ -1,82 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Conjunctions of left-recursive lists</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Conjunctions of left-recursive lists</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Fri Jan 20 18:01:39 2006
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Conjunctions of left-recursive lists</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<A NAME="toc1"></A>
<H1>Conjunctions of left-recursive lists</H1>
<PRE>
abstract SeqConjunction = Cat ** {
</PRE>
<P></P>
<P>
This module is for backward compatibility with API 0.9.
To be used instead of <A HREF="Conjunction.html">Conjunction</A>.
</P>
<PRE>
fun
ConjS : Conj -&gt; SeqS -&gt; S ; -- "John walks and Mary runs"
ConjAP : Conj -&gt; SeqAP -&gt; AP ; -- "even and prime"
ConjNP : Conj -&gt; SeqNP -&gt; NP ; -- "John or Mary"
ConjAdv : Conj -&gt; SeqAdv -&gt; Adv ; -- "quickly or slowly"
DConjS : DConj -&gt; SeqS -&gt; S ; -- "either John walks or Mary runs"
DConjAP : DConj -&gt; SeqAP -&gt; AP ; -- "both even and prime"
DConjNP : DConj -&gt; SeqNP -&gt; NP ; -- "either John or Mary"
DConjAdv : DConj -&gt; SeqAdv -&gt; Adv ; -- "both badly and slowly"
</PRE>
<P></P>
<P>
these are rather uninteresting
</P>
<PRE>
TwoS : S -&gt; S -&gt; SeqS ;
AddS : SeqS -&gt; S -&gt; SeqS ;
TwoAdv : Adv -&gt; Adv -&gt; SeqAdv ;
AddAdv : SeqAdv -&gt; Adv -&gt; SeqAdv ;
TwoNP : NP -&gt; NP -&gt; SeqNP ;
AddNP : SeqNP -&gt; NP -&gt; SeqNP ;
TwoAP : AP -&gt; AP -&gt; SeqAP ;
AddAP : SeqAP -&gt; AP -&gt; SeqAP ;
</PRE>
<P></P>
<P>
we use right-associative lists instead of GF's built-in lists
</P>
<PRE>
cat
SeqS ;
SeqAdv ;
SeqNP ;
SeqAP ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.0 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/SeqConjunction.txt -->
</BODY></HTML>

View File

@@ -1,142 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Structural: Structural Words</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Structural: Structural Words</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-22 19:26:01 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Here we have some words belonging to closed classes and appearing
in all languages we have considered.
Sometimes more distinctions are needed, e.g. <CODE>we_Pron</CODE> in Spanish
should be replaced by masculine and feminine variants, found in
<A HREF="../spanish/ExtraSpa.gf"><CODE>ExtraSpa</CODE></A>.
</P>
<PRE>
abstract Structural = Cat ** {
fun
</PRE>
<P></P>
<P>
This is an alphabetical list of structural words
</P>
<PRE>
above_Prep : Prep ;
after_Prep : Prep ;
all_Predet : Predet ;
almost_AdA : AdA ;
almost_AdN : AdN ;
although_Subj : Subj ;
always_AdV : AdV ;
and_Conj : Conj ;
because_Subj : Subj ;
before_Prep : Prep ;
behind_Prep : Prep ;
between_Prep : Prep ;
both7and_DConj : DConj ;
but_PConj : PConj ;
by8agent_Prep : Prep ;
by8means_Prep : Prep ;
can8know_VV : VV ;
can_VV : VV ;
during_Prep : Prep ;
either7or_DConj : DConj ;
every_Det : Det ;
everybody_NP : NP ;
everything_NP : NP ;
everywhere_Adv : Adv ;
first_Ord : Ord ;
few_Det : Det ;
from_Prep : Prep ;
he_Pron : Pron ;
here_Adv : Adv ;
here7to_Adv : Adv ;
here7from_Adv : Adv ;
how_IAdv : IAdv ;
how8many_IDet : IDet ;
i_Pron : Pron ;
if_Subj : Subj ;
in8front_Prep : Prep ;
in_Prep : Prep ;
it_Pron : Pron ;
less_CAdv : CAdv ;
many_Det : Det ;
more_CAdv : CAdv ;
most_Predet : Predet ;
much_Det : Det ;
must_VV : VV ;
no_Phr : Phr ;
on_Prep : Prep ;
one_Quant : QuantSg ;
only_Predet : Predet ;
or_Conj : Conj ;
otherwise_PConj : PConj ;
part_Prep : Prep ;
please_Voc : Voc ;
possess_Prep : Prep ;
quite_Adv : AdA ;
she_Pron : Pron ;
so_AdA : AdA ;
someSg_Det : Det ;
somePl_Det : Det ;
somebody_NP : NP ;
something_NP : NP ;
somewhere_Adv : Adv ;
that_Quant : Quant ;
that_NP : NP ;
there_Adv : Adv ;
there7to_Adv : Adv ;
there7from_Adv : Adv ;
therefore_PConj : PConj ;
these_NP : NP ;
they_Pron : Pron ;
this_Quant : Quant ;
this_NP : NP ;
those_NP : NP ;
through_Prep : Prep ;
to_Prep : Prep ;
too_AdA : AdA ;
under_Prep : Prep ;
very_AdA : AdA ;
want_VV : VV ;
we_Pron : Pron ;
whatPl_IP : IP ;
whatSg_IP : IP ;
when_IAdv : IAdv ;
when_Subj : Subj ;
where_IAdv : IAdv ;
whichPl_IDet : IDet ;
whichSg_IDet : IDet ;
whoPl_IP : IP ;
whoSg_IP : IP ;
why_IAdv : IAdv ;
with_Prep : Prep ;
without_Prep : Prep ;
yes_Phr : Phr ;
youSg_Pron : Pron ;
youPl_Pron : Pron ;
youPol_Pron : Pron ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Structural.txt -->
</BODY></HTML>

View File

@@ -1,76 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Symbolic expressions</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Symbolic expressions</H1>
<FONT SIZE="4">
<I>Last update: 2006-03-17 12:02:40 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Noun phrases with symbols and numbers</A>
<LI><A HREF="#toc2">Sentence consisting of a formula</A>
<LI><A HREF="#toc3">Symbol lists</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
<B>Note</B>. This module is not automatically included in the main
grammar <A HREF="Lang.html">Lang</A>.
</P>
<PRE>
abstract Symbol = Cat, PredefAbs ** {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Noun phrases with symbols and numbers</H2>
<PRE>
fun
SymbPN : Symb -&gt; PN ; -- x
IntPN : Int -&gt; PN ; -- 27
FloatPN : Float -&gt; PN ; -- 3.14159
CNIntNP : CN -&gt; Int -&gt; NP ; -- level 53
CNSymbNP : Det -&gt; CN -&gt; [Symb] -&gt; NP ; -- (the) (2) numbers x and y
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Sentence consisting of a formula</H2>
<PRE>
SymbS : Symb -&gt; S ; -- A
</PRE>
<P></P>
<A NAME="toc3"></A>
<H2>Symbol lists</H2>
<P>
A symbol list has at least two elements. The last two are separated
by a conjunction (<I>and</I> in English), the others by commas.
This produces <I>x, y and z</I>, in English.
</P>
<PRE>
cat
Symb ;
[Symb]{2} ;
fun
MkSymb : String -&gt; Symb ;
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc mathematical/Symbol.txt -->
</BODY></HTML>

View File

@@ -1,50 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Tense, Polarity, and Anteriority</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Tense, Polarity, and Anteriority</H1>
<FONT SIZE="4">
<I>Last update: 2006-02-27 09:41:31 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
This module defines the abstract parameters of tense, polarity, and
anteriority, which are used in <A HREF="Tensed.html">Tensed</A> to generate different
forms of sentences. Together they give 2 x 4 x 4 = 16 sentence forms.
These tenses are defined for all languages in the library. More tenses
can be defined in the language extensions, e.g. the <I>passé simple</I> of
Romance languages.
</P>
<PRE>
abstract Tense = {
cat
Pol ;
Tense ;
Ant ;
fun
PPos, PNeg : Pol ; -- I sleep/don't sleep
TPres, TPast, TFut, TCond : Tense ; -- I sleep/slept/will sleep/would sleep
ASimul, AAnter : Ant ; -- I sleep/have slept
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Tense.txt -->
</BODY></HTML>

View File

@@ -1,43 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Text: Texts</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Text: Texts</H1>
<FONT SIZE="4">
<I>Last update: 2006-06-14 23:03:43 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<P>
Texts are built from an empty text by adding <CODE>Phr</CODE>ases,
using as constructors the punctuation marks <I>.</I>, <I>?</I>, and <I>!</I>.
Any punctuation mark can be attached to any kind of phrase.
</P>
<PRE>
abstract Text = Common ** {
fun
TEmpty : Text ; --
TFullStop : Phr -&gt; Text -&gt; Text ; -- John walks. ...
TQuestMark : Phr -&gt; Text -&gt; Text ; -- Are you OK? ...
TExclMark : Phr -&gt; Text -&gt; Text ; -- John walks! ...
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Text.txt -->
</BODY></HTML>

View File

@@ -1,123 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> The construction of verb phrases</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The construction of verb phrases</H1>
<FONT SIZE="4">
<I>Last update: 2006-02-26 18:02:58 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Complementization rules</A>
<LI><A HREF="#toc2">Other ways of forming verb phrases</A>
<LI><A HREF="#toc3">Complements to copula</A>
<LI><A HREF="#toc4">Coercions</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Produced by
gfdoc - a rudimentary GF document generator.
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
</P>
<PRE>
abstract Verb = Cat ** {
</PRE>
<P></P>
<A NAME="toc1"></A>
<H2>Complementization rules</H2>
<P>
Verb phrases are constructed from verbs by providing their
complements. There is one rule for each verb category.
</P>
<PRE>
fun
UseV : V -&gt; VP ; -- sleep
ComplV2 : V2 -&gt; NP -&gt; VP ; -- use it
ComplV3 : V3 -&gt; NP -&gt; NP -&gt; VP ; -- send a message to her
ComplVV : VV -&gt; VP -&gt; VP ; -- want to run
ComplVS : VS -&gt; S -&gt; VP ; -- know that she runs
ComplVQ : VQ -&gt; QS -&gt; VP ; -- ask if she runs
ComplVA : VA -&gt; AP -&gt; VP ; -- look red
ComplV2A : V2A -&gt; NP -&gt; AP -&gt; VP ; -- paint the house red
</PRE>
<P></P>
<A NAME="toc2"></A>
<H2>Other ways of forming verb phrases</H2>
<P>
Verb phrases can also be constructed reflexively and from
copula-preceded complements.
</P>
<PRE>
ReflV2 : V2 -&gt; VP ; -- use itself
UseComp : Comp -&gt; VP ; -- be warm
</PRE>
<P></P>
<P>
Passivization of two-place verbs is another way to use
them. In many languages, the result is a participle that
is used as complement to a copula (<I>is used</I>), but other
auxiliary verbs are possible (Ger. <I>wird angewendet</I>, It.
<I>viene usato</I>), as well as special verb forms (Fin. <I>käytetään</I>,
Swe. <I>används</I>).
</P>
<P>
<B>Note</B>. the rule can be overgenerating, since the <CODE>V2</CODE> need not
take a direct object.
</P>
<PRE>
PassV2 : V2 -&gt; VP ; -- be used
</PRE>
<P></P>
<P>
Adverbs can be added to verb phrases. Many languages make
a distinction between adverbs that are attached in the end
vs. next to (or before) the verb.
</P>
<PRE>
AdvVP : VP -&gt; Adv -&gt; VP ; -- sleep here
AdVVP : AdV -&gt; VP -&gt; VP ; -- always sleep
</PRE>
<P></P>
<P>
<B>Agents of passives</B> are constructed as adverbs with the
preposition <A HREF="Structural.html">Structural</A><CODE>.8agent_Prep</CODE>.
</P>
<A NAME="toc3"></A>
<H2>Complements to copula</H2>
<P>
Adjectival phrases, noun phrases, and adverbs can be used.
</P>
<PRE>
CompAP : AP -&gt; Comp ; -- (be) small
CompNP : NP -&gt; Comp ; -- (be) a soldier
CompAdv : Adv -&gt; Comp ; -- (be) here
</PRE>
<P></P>
<A NAME="toc4"></A>
<H2>Coercions</H2>
<P>
Verbs can change subcategorization patterns in systematic ways,
but this is very much language-dependent. The following two
work in all the languages we cover.
</P>
<PRE>
UseVQ : VQ -&gt; V2 ; -- ask (a question)
UseVS : VS -&gt; V2 ; -- know (a secret)
}
</PRE>
<P></P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml -\-toc abstract/Verb.txt -->
</BODY></HTML>