1
0
forked from GitHub/gf-core

adjustments in Paradigms ; lang-specific modules for all except Rus, Ara

This commit is contained in:
aarne
2006-06-15 16:24:09 +00:00
parent 6bd400091c
commit 3d243e2596
84 changed files with 1219 additions and 6611 deletions

8
doc/Makefile Normal file
View File

@@ -0,0 +1,8 @@
resource:
gfdoc -txt2 ../lib/resource-1.0/abstract/*.gf
gfdoc -txt2 ../lib/resource-1.0/*/Paradigms*.gf
txt2tags --toc resource.txt
# cat resource-preamble resource.tex >final-resource.tex
sed -i 's/ion\*{/ion{/g' resource.tex
sed -i 's/\\paragraph{}//g' resource.tex
sed -i 's/}\\\\/}/g' resource.tex

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,12 @@
The GF Resource Grammar Library
Author: Aarne Ranta
Author: Aarne Ranta, Ali El Dada, and Janna Khegai
Last update: %%date(%c)
% NOTE: this is a txt2tags file.
% Create an latex file from this file using:
% txt2tags -ttex --toc gf-formalism.txt
%!style(tex) : isolatin1
%!postproc: "section*{" "section{"
%!target:tex
@@ -16,10 +17,17 @@ tutorial. We start with an introduction to the library, and proceed to
details with the aim of covering all that one needs to know
in order to use the library.
How to write one's own resource grammar (i.e. to implement the API for
a new language), is covered by a separate Resource-HOWTO document.
a new language), is covered by a separate Resource-HOWTO document (available in
the www address below).
The main part of the document (the API documentation) is generated
from the actual GF code by using the ``gfdoc`` tool. This documentation
is also available on-line in HTML format in
[``http://www.cs.chalmers.se/~aarne/GF/lib/resource-1.0/doc/`` http://www.cs.chalmers.se/~aarne/GF/lib/resource-1.0/doc/].
==Motivation==
=Motivation=
The GF Resource Grammar Library contains grammar rules for
10 languages (some more are under construction). Its purpose
@@ -35,6 +43,7 @@ skills is typical of programmers who want to localize
software to new languages.
The current resource languages are
- ``Ara``bic
- ``Dan``ish
- ``Eng``lish
- ``Fin``nish
@@ -47,7 +56,8 @@ The current resource languages are
- ``Swe``dish
The first three letters (``Dan`` etc) are used in grammar module names.
The first three letters (``Ara`` etc) are used in grammar module names.
The Arabic implementation is still incomplete.
To give an example application, consider
music playing devices. In the application,
@@ -103,7 +113,7 @@ languages (e.g. a different word order in French),
but the application programmer need not care about the difference.
===A complete example===
==A complete example==
To summarize the example, and also give a template for a programmer to work on,
here is the complete implementation of a small system with songs and properties.
@@ -145,13 +155,15 @@ the resource category system ``Cat``.
Each language has its own concrete syntax, which opens the
inflectional paradigms module for that language:
```
concrete MusicLexGer of MusicLex = CatGer ** open ParadigmsGer in {
concrete MusicLexGer of MusicLex =
CatGer ** open ParadigmsGer in {
lin
song_N = reg2N "Lied" "Lieder" neuter ;
american_A = regA "Amerikanisch" ;
}
concrete MusicLexFre of MusicLex = CatFre ** open ParadigmsFre in {
concrete MusicLexFre of MusicLex =
CatFre ** open ParadigmsFre in {
lin
song_N = regGenN "chanson" feminine ;
american_A = regA "américain" ;
@@ -182,7 +194,8 @@ instantiating ``Music``. The latter is
completely trivial, whereas the former one involves the choice of correct
vocabulary and inflectional paradigms. For instance, Finnish is added as follows:
```
concrete MusicLexFin of MusicLex = CatFin ** open ParadigmsFin in {
concrete MusicLexFin of MusicLex =
CatFin ** open ParadigmsFin in {
lin
song_N = regN "kappale" ;
american_A = regA "amerikkalainen" ;
@@ -200,7 +213,8 @@ for the sake of argument, that adjectival modification does not sound good in
English, but that a relative clause would be preferrable. One can then start as
before,
```
concrete MusicLexEng of MusicLex = CatEng ** open ParadigmsEng in {
concrete MusicLexEng of MusicLex =
CatEng ** open ParadigmsEng in {
lin
song_N = regN "song" ;
american_A = regA "American" ;
@@ -216,15 +230,17 @@ another module would be built on top of it, with a restricted import from
except ``PropKind``, and
gives its own definition of this function:
```
concrete MusicEng of Music = MusicEng0 - [PropKind] ** open GrammarEng in {
concrete MusicEng of Music =
MusicEng0 - [PropKind] ** open GrammarEng in {
lin
PropKind k p =
RelCN k (UseRCl TPres ASimul PPos (RelVP IdRP (UseComp (CompAP p)))) ;
RelCN k (UseRCl TPres ASimul PPos
(RelVP IdRP (UseComp (CompAP p)))) ;
}
```
===Parsing with resource grammars?===
==Parsing with resource grammars?==
The intended use of the resource grammar is as a library for writing
application grammars. It is not designed for parsing e.g. newspaper text. There
@@ -257,9 +273,9 @@ will often use only restricted inheritance of ``MusicI``.
==To find rules in the resource grammar library==
=To find rules in the resource grammar library=
===Inflection paradigms===
==Inflection paradigms==
Inflection paradigms are defined separately for each language //L//
in the module ``Paradigms``//L//. To test them, the command
@@ -287,13 +303,14 @@ can be used:
g : Gender = Fem
}
```
For the sake of convenience, every language implements these four paradigms:
For the sake of convenience, every language implements these five paradigms:
```
oper
regN : Str -> N ; -- regular nouns
regA : Str -> A : -- regular adjectives
regV : Str -> V ; -- regular verbs
dirV : V -> V2 ; -- direct transitive verbs
regN : Str -> N ; -- regular nouns
regA : Str -> A : -- regular adjectives
regV : Str -> V ; -- regular verbs
regPN : Str -> PN ; -- regular proper names
dirV : V -> V2 ; -- direct transitive verbs
```
It is often possible to initialize a lexicon by just using these functions,
and later revise it by using the more involved paradigms. For instance, in
@@ -309,7 +326,7 @@ English - maybe not so strange in certain technical domains.
===Syntax rules===
==Syntax rules==
Syntax rules should be looked for in the abstract modules defining the
API. There are around 10 such modules, each defining constructors for
@@ -361,7 +378,7 @@ This can be built by parsing "I have beer" in LanEng and then writing
which uses ParadigmsIta.regGenN.
===Example-based grammar writing===
==Example-based grammar writing==
The technique of parsing with the resource grammar can be used in GF source files,
endowed with the suffix ``.gfe`` ("GF examples"). The suffix tells GF to preprocess
@@ -407,7 +424,7 @@ and then use this lexicon instead of the standard one included in ``Lang``.
===Special-purpose APIs===
==Special-purpose APIs==
To give an analogy with the well-known type setting software, GF can be compared
with TeX and the resource grammar library with LaTeX.
@@ -458,9 +475,9 @@ with resource grammars becomes more practical.
==Overview of syntactic structures==
=Overview of syntactic structures=
===Texts. phrases, and utterances===
==Texts. phrases, and utterances==
The outermost linguistic structure is ``Text``. ``Text``s are composed
from Phrases (``Phr``) followed by punctuation marks - either of ".", "?" or
@@ -496,7 +513,7 @@ a Phrase is an Utterance with an optional leading conjunction ("but")
and an optional tailing vocative ("John", "please").
===Sentences and clauses===
==Sentences and clauses==
The richest of the categories below Utterance is ``S``, Sentence. A Sentence
is formed from a Clause (``Cl``), by fixing its Tense, Anteriority, and Polarity.
@@ -562,7 +579,7 @@ many constructors:
```
===Parts of sentences===
==Parts of sentences==
The linguistic phenomena mostly discussed in both traditional grammars and modern
syntax belong to the level of Clauses, that is, lines 9-13, and occasionally
@@ -630,7 +647,7 @@ How to construct ``Adv``s. The main ways are
- as prepositional phrases: "in the car"
===Modules and their names===
==Modules and their names==
The resource modules are named after the kind of
phrases that are constructed in them,
@@ -666,7 +683,7 @@ category-specific modules is as follows:
```
===Top-level grammar and lexicon===
==Top-level grammar and lexicon==
The module ``Grammar`` collects all the category-specific modules into
a complete grammar:
@@ -694,7 +711,7 @@ a general-purpose multilingual lexicon, and this is the form that the module
===Language-specific syntactic structures===
==Language-specific syntactic structures==
The API collected in ``Grammar`` has been designed to be implementable for
all languages in the resource package. It does contain some rules that
@@ -734,46 +751,127 @@ inheritance is a recent addition to the resource grammar library, and
has only been exploited in a very small scale so far.
==API Documentation==
=API Documentation=
===Top-level modules===
==Top-level modules==
===Grammar: the Main Module of the Resource Grammar===
%!include: ../lib/resource-1.0/abstract/Grammar.txt
===Lang: a Test Module for the Resource Grammar===
%!include: ../lib/resource-1.0/abstract/Lang.txt
===Type system===
==Type system==
===Cat: the Category System===
%!include: ../lib/resource-1.0/abstract/Cat.txt
===Common: Structures with Common Implementations===
%!include: ../lib/resource-1.0/abstract/Common.txt
===Phrase category modules===
==Syntax rule modules==
===Adjective: Adjectives and Adjectival Phrases===
%!include: ../lib/resource-1.0/abstract/Adjective.txt
===Adverb: Adverbs and Adverbial Phrases===
%!include: ../lib/resource-1.0/abstract/Adverb.txt
===Conjunction: Coordination===
%!include: ../lib/resource-1.0/abstract/Conjunction.txt
===Idiom: Idiomatic Expressions===
%!include: ../lib/resource-1.0/abstract/Idiom.txt
===Noun: Nouns, Noun Phrases, and Determiners===
%!include: ../lib/resource-1.0/abstract/Noun.txt
===Numeral: Cardinal and Ordinal Numerals===
%!include: ../lib/resource-1.0/abstract/Numeral.txt
===Phrase: Phrases and Utterances===
%!include: ../lib/resource-1.0/abstract/Phrase.txt
===Question: Questions and Interrogative Pronouns===
%!include: ../lib/resource-1.0/abstract/Question.txt
===Relative: Relative Clauses and Relative Pronouns===
%!include: ../lib/resource-1.0/abstract/Relative.txt
===Sentence: Sentences, Clauses, and Imperatives===
%!include: ../lib/resource-1.0/abstract/Sentence.txt
===Structural: Structural Words===
%!include: ../lib/resource-1.0/abstract/Structural.txt
===Text: Texts===
%!include: ../lib/resource-1.0/abstract/Text.txt
===Verb: Verb Phrases===
%!include: ../lib/resource-1.0/abstract/Verb.txt
===Inflectional paradigms===
==Inflectional paradigms==
===Arabic===
%!include: ../lib/resource-1.0/arabic/ParadigmsAra.txt
===Danish===
%!include: ../lib/resource-1.0/danish/ParadigmsDan.txt
===English===
%!include: ../lib/resource-1.0/english/ParadigmsEng.txt
===Finnish===
%!include: ../lib/resource-1.0/finnish/ParadigmsFin.txt
===French===
%!include: ../lib/resource-1.0/french/ParadigmsFre.txt
===German===
%!include: ../lib/resource-1.0/german/ParadigmsGer.txt
===Italian===
%!include: ../lib/resource-1.0/italian/ParadigmsIta.txt
===Norwegian===
%!include: ../lib/resource-1.0/norwegian/ParadigmsNor.txt
===Russian===
%!include: ../lib/resource-1.0/russian/ParadigmsRus.txt
===Spanish===
%!include: ../lib/resource-1.0/spanish/ParadigmsSpa.txt
===Swedish===
%!include: ../lib/resource-1.0/swedish/ParadigmsSwe.txt

View File

@@ -6,7 +6,7 @@ concrete AgendaEng of Agenda =
lin
Day = UseN (regN "day") ;
Meeting = UseN (regN "meeting") ;
Add = dirV3 (regV "add") (mkPreposition "on") ;
Add = dirV3 (regV "add") (mkPrep "on") ;
Remove = dirV2 (regV "remove") ;
Interrupt = regV "interrupt" ;

View File

@@ -6,7 +6,7 @@ concrete AgendaSwe of Agenda =
lin
Day = UseN (regN "dag") ;
Meeting = UseN (regGenN "möte" neutrum) ;
Add = dirV3 (partV lägga_V "till") (mkPreposition "på") ;
Add = dirV3 (partV lägga_V "till") (mkPrep "på") ;
Remove = dirV2 (partV taga_V "bort") ;
Interrupt = avbryta_V ;

View File

@@ -6,8 +6,8 @@ concrete LightsEng of Lights =
lin
Light = UseN (regN "light") ;
Room = UseN (regN "room") ;
SwitchOnIn = dirV3 (partV (regV "switch") "on") (mkPreposition "in") ;
SwitchOffIn = dirV3 (partV (regV "switch") "off") (mkPreposition "in") ;
SwitchOnIn = dirV3 (partV (regV "switch") "on") (mkPrep "in") ;
SwitchOffIn = dirV3 (partV (regV "switch") "off") (mkPrep "in") ;
SwitchOn = dirV2 (partV (regV "switch") "on") ;
SwitchOff = dirV2 (partV (regV "switch") "off") ;

View File

@@ -6,8 +6,8 @@ concrete LightsFre of Lights =
lin
Light = UseN (regN "lampe") ;
Room = UseN (regN "chambre") ;
SwitchOnIn = dirV3 (regV "allumer") (mkPreposition "dans") ;
SwitchOffIn = dirV3 éteindre_V2 (mkPreposition "dans") ;
SwitchOnIn = dirV3 (regV "allumer") (mkPrep "dans") ;
SwitchOffIn = dirV3 éteindre_V2 (mkPrep "dans") ;
SwitchOn = dirV2 (regV "allumer") ;
SwitchOff = dirV2 éteindre_V2 ;

View File

@@ -7,8 +7,8 @@ concrete LightsSwe of Lights =
lin
Light = UseN (regN "lampa") ;
Room = UseN (mkN "rum" "rummet" "rum" "rummen") ;
SwitchOnIn = dirV3 (regV "tänder") (mkPreposition "i") ;
SwitchOffIn = dirV3 (regV "släcker") (mkPreposition "i") ;
SwitchOnIn = dirV3 (regV "tänder") (mkPrep "i") ;
SwitchOffIn = dirV3 (regV "släcker") (mkPrep "i") ;
SwitchOn = dirV2 (regV "tänder") ;
SwitchOff = dirV2 (regV "släcker") ;

View File

@@ -4,7 +4,7 @@ concrete WeekdayEng of Weekday = open LangEng, ParadigmsEng in {
WDay = PN ;
lin
Mon = regPN "Monday" nonhuman ;
Tue = regPN "Tuesday" nonhuman ;
Mon = regGenPN "Monday" nonhuman ;
Tue = regGenPN "Tuesday" nonhuman ;
}

View File

@@ -4,7 +4,7 @@ concrete WeekdaySwe of Weekday = open LangSwe, ParadigmsSwe in {
WDay = PN ;
lin
Mon = regPN "måndag" utrum ;
Tue = regPN "tisdag" utrum ;
Mon = regGenPN "måndag" utrum ;
Tue = regGenPN "tisdag" utrum ;
}

View File

@@ -1,8 +1,13 @@
GF=../../bin/gf
GF=gf
RTS=+RTS -M800M -K100M
GFCC=$(GF) -nocf -make
GFC=$(GFCC) -src
GFCP=$(GFC) -preproc=./mkPresent
.PHONY: show-path all test pretest langs present mathematical multimodal compiled treebank stat gfdoc clean
all: show-path langs multimodal present mathematical compiled
.PHONY: show-path all test alltenses pretest langs present mathematical multimodal compiled treebank stat gfdoc clean
all: show-path present alltenses langs multimodal mathematical compiled
show-path:
@echo GF_LIB_PATH=$(GF_LIB_PATH)
@@ -13,13 +18,36 @@ test:
pretest:
echo "gr -cat=Cl -number=11 -prob | tb" | $(GF) -probs=lang.gfprob -path=present:prelude -nocf ../present/Lang???.gfc
langs:
echo "s ;; pm | wf langs.gfcm" | $(GF) -nocf -src */Lang??*.gf english/LangEng.gf +RTS -M800M -K100M
alltenses:
# $(GFC) arabic/LangAra.gf
$(GFC) danish/Danish.gf
$(GFC) english/English.gf
$(GFC) finnish/Finnish.gf
$(GFC) french/French.gf
$(GFC) german/German.gf
$(GFC) italian/Italian.gf
$(GFC) norwegian/Norwegian.gf
$(GFC) russian/LangRus.gf
$(GFC) spanish/Spanish.gf
$(GFC) swedish/Swedish.gf
cp -p */*.gfc */*.gfr ../alltenses
langs:
echo "s ;; pm | wf langs.gfcm" | $(GFCC) -path=alltenses:prelude ../alltenses/Lang???.gfc $(RTS)
present:
chmod u+x mkPresent
$(GF) -make -src -preproc=./mkPresent */Lang??*.gf +RTS -M800M -K100M
# $(GFCP) arabic/LangAra.gf
$(GFCP) danish/Danish.gf
$(GFCP) english/English.gf
$(GFCP) finnish/Finnish.gf
$(GFCP) french/French.gf
$(GFCP) german/German.gf
$(GFCP) italian/Italian.gf
$(GFCP) norwegian/Norwegian.gf
$(GFCP) russian/LangRus.gf
$(GFCP) spanish/Spanish.gf
$(GFCP) swedish/Swedish.gf
mv */*.gfc */*.gfr ../present
mathematical:

View File

@@ -2,7 +2,7 @@
--1 Arabic Lexical Paradigms
--
-- Aarne Ranta 2003--2005
-- Ali El Dada 2005--2006
--
-- This is an API to the user of the resource grammar
-- for adding lexical items. It gives functions for forming

View File

@@ -0,0 +1,7 @@
--# -path=.:../scandinavian:../abstract:../common:prelude
concrete Danish of DanishAbs =
LangDan,
IrregDan - [fly_V],
ExtraDan
** {} ;

View File

@@ -0,0 +1,5 @@
abstract DanishAbs =
Lang,
IrregDanAbs - [fly_V],
ExtraDanAbs
** {} ;

View File

@@ -0,0 +1,3 @@
concrete ExtraDan of ExtraDanAbs = ExtraScandDan ** open CommonScand, ResDan in {
}

View File

@@ -0,0 +1,7 @@
-- Structures special for Danish. These are not implemented in other
-- Scandinavian languages.
abstract ExtraDanAbs = ExtraScandAbs ** {
}

View File

@@ -0,0 +1,2 @@
concrete ExtraScandDan of ExtraScandAbs = CatDan ** ExtraScand with
(ResScand = ResDan) ;

View File

@@ -10,18 +10,18 @@ flags startcat=Phr ; lexer=textlit ; unlexer=text ;
lin
airplane_N = mk2N "fly" "flyet" ;
answer_V2S = mkV2S (regV "svare") "til" ;
answer_V2S = mkV2S (regV "svare") (mkPrep "til") ;
apartment_N = mk2N "værelse" "værelsen" ;
apple_N = mk3N "æble" "æblet" "æbler" ;
art_N = mk2N "kunst" "kunsten" ;
ask_V2Q = mkV2Q spørge_V [] ;
ask_V2Q = mkV2Q spørge_V noPrep ;
baby_N = mk2N "baby" "babyen" ; ---- babyen
bad_A = regADeg "dårlig" ; ----
bank_N = mk2N "bank" "banken" ;
beautiful_A = mk3ADeg "smuk" "smukt" "smukke" ; ----
become_VA = mkVA blive_V ;
beer_N = mk2N "øl" "ølet" ;
beg_V2V = mkV2V bede_V [] "at" ;
beg_V2V = mkV2V bede_V noPrep (mkPrep "at") ;
big_A = irregADeg "stor" "større" "størst";
bike_N = mkN "cykel" "cykeln" "cykler" "cyklerne" ; ----
bird_N = mk2N "fugl" "fuglen" ;
@@ -35,7 +35,7 @@ lin
bread_N = mk2N "brød" "brødet" ;
break_V2 = dirV2 (mk2V "knuse" "knuste") ;
broad_A = regADeg "bred" ;
brother_N2 = mkN2 (mk3N "broder" "brodren" "brødre") "til" ; ----
brother_N2 = mkN2 (mk3N "broder" "brodren" "brødre") (mkPrep "til") ; ----
brown_A = regADeg "brun" ;
butter_N = mk2N "smør" "smøret" ;
buy_V2 = dirV2 (mk2V "købe" "købte") ; ----
@@ -62,17 +62,17 @@ lin
cow_N = mk2N "ku" "kuen" ; ----
die_V = vaereV dø_V ;
dirty_A = regADeg "smudsig" ; ----
distance_N3 = mkN3 (regGenN "afstand" utrum) "fra" "til" ;
distance_N3 = mkN3 (regGenN "afstand" utrum) (mkPrep "fra") (mkPrep "til") ;
doctor_N = mk2N "læge" "lægen" ;
dog_N = mk2N "hund" "hunden" ;
door_N = mk2N "dør" "døren" ;
drink_V2 = dirV2 drikke_V ;
easy_A2V = mkA2V (regA "nem") "for" ; ----
easy_A2V = mkA2V (regA "nem") (mkPrep "for") ; ----
eat_V2 = dirV2 (mk2V "spise" "spiste") ;
empty_A = mkADeg "tøm" "tømt" "tømme" "tømmere" "tømmest" ; ----
enemy_N = mk2N "fjende" "fjenden" ;
factory_N = mk2N "fabrik" "fabriken" ;
father_N2 = mkN2 ( (mk3N "far" "fadren" "fædre")) "til" ; ----
father_N2 = mkN2 ( (mk3N "far" "fadren" "fædre")) (mkPrep "til") ; ----
fear_VS = mkVS (regV "frygte") ;
find_V2 = dirV2 (irregV "finde" "fand" "fundet") ; ----
fish_N = mk2N "fisk" "fisken" ;
@@ -109,19 +109,19 @@ lin
learn_V2 = dirV2 (mk2V "lære" "lærte") ;
leather_N = mk2N "læder" "lædret" ;
leave_V2 = dirV2 forlade_V ;
like_V2 = mkV2 holde_V "af" ;
like_V2 = mkV2 holde_V (mkPrep "af") ;
listen_V2 = dirV2 (regV "lytte") ;
live_V = mk2V "leve" "levde" ;
long_A = irregADeg "lang" "længere" "længst" ; ----
lose_V2 = dirV2 (regV "tabe") ;
love_N = mk2N "kærlighed" "kærligheden" ;
love_V2 = dirV2 (regV "elske") ;
man_N = mk3N "mand" "manden" "mænd" ; ----
married_A2 = mkA2 (mk2A "gift" "gift") "med" ;
man_N = mkN "mand" "manden" "mænd" "mændene" ;
married_A2 = mkA2 (mk2A "gift" "gift") (mkPrep "med") ;
meat_N = mk2N "kød" "kødet" ;
milk_N = mk2N "mælk" "mælken" ;
moon_N = mk2N "måne" "månen" ;
mother_N2 = mkN2 (mkN "moder" "moderen" "mødre" "mødrene") "til" ; ----
mother_N2 = mkN2 (mkN "moder" "moderen" "mødre" "mødrene") (mkPrep "til") ; ----
mountain_N = mk2N "bjerg" "bjerget" ;
music_N = mk2N "musik" "musiken" ;
narrow_A = regADeg "smal" ;
@@ -130,9 +130,9 @@ lin
oil_N = mk2N "olie" "olien" ;
old_A = mkADeg "gammel" "gammelt" "gamle" "ældre" "ældst" ; ----
open_V2 = dirV2 (regV "åbne") ;
paint_V2A = mkV2A (regV "male") [] ;
paint_V2A = mkV2A (regV "male") noPrep ;
paper_N = mk2N "papir" "papiret" ;
paris_PN = regPN "Paris" neutrum ;
paris_PN = mkPN "Paris" neutrum ;
peace_N = mk2N "fred" "freden" ;
pen_N = mk2N "pen" "penen" ;
planet_N = mk2N "planet" "planeten" ;
@@ -158,9 +158,9 @@ lin
science_N = mk2N "videnskab" "videnskaben" ;
sea_N = mk2N "hav" "havet" ;
see_V2 = dirV2 se_V ;
seek_V2 = mkV2 (mk2V "søge" "søgte") "efter" ;
sell_V3 = dirV3 sælge_V "til" ;
send_V3 = dirV3 (mk2V "sende" "sendte") "til" ;
seek_V2 = mkV2 (mk2V "søge" "søgte") (mkPrep "efter") ;
sell_V3 = dirV3 sælge_V (mkPrep "til") ;
send_V3 = dirV3 (mk2V "sende" "sendte") (mkPrep "til") ;
sheep_N = mk2N "får" "fåret" ;
ship_N = mk2N "skib" "skibet" ;
shirt_N = mk2N "skjorte" "skjorten" ;
@@ -184,7 +184,7 @@ lin
switch8off_V2 = dirV2 (partV (regV "lukke") "for") ;
switch8on_V2 = dirV2 (partV (regV "lukke") "op") ;
table_N = mk2N "bord" "bordet" ;
talk_V3 = mkV3 (regV "tale") "til" "om" ;
talk_V3 = mkV3 (regV "tale") (mkPrep "til") (mkPrep "om") ;
teacher_N = mkN "lærer" "læreren" "lærere" "lærerne" ;
teach_V2 = dirV2 (mk2V "undervise" "underviste") ;
television_N = mk2N "fjernsyn" "fjernsynet" ;
@@ -198,11 +198,11 @@ lin
understand_V2 = dirV2 (irregV "forstå" "forstod" "forstått") ;
university_N = mk2N "universitet" "universitetet" ;
village_N = mk2N "landsby" "landsbyen" ;
wait_V2 = mkV2 (regV "vente") "på" ;
wait_V2 = mkV2 (regV "vente") (mkPrep "på") ;
walk_V = vaereV gå_V ;
warm_A = regADeg "varm" ;
war_N = mk2N "krig" "krigen" ;
watch_V2 = mkV2 se_V "på" ;
watch_V2 = mkV2 se_V (mkPrep "på") ;
water_N = mk2N "vand" "vandet" ;
white_A = regADeg "hvid" ;
window_N = mkN "vindue" "vinduet" "vinduer" "vinduene" ; ---- er?
@@ -219,7 +219,7 @@ lin
now_Adv = mkAdv "nu" ;
already_Adv = mkAdv "allerede" ;
song_N = mk2N "sang" "sangen" ;
add_V3 = mkV3 (regV "tilføje") [] "til" ; ----
add_V3 = mkV3 (regV "tilføje") noPrep (mkPrep "til") ; ----
number_N = mk2N "nummer" "numret" ; ----
put_V2 = dirV2 sætte_V ;
stop_V = vaereV (regV "standse") ;

View File

@@ -59,7 +59,8 @@ oper
-- Prepositions used in many-argument functions are just strings.
Preposition : Type = Str ;
mkPrep : Str -> Prep ;
noPrep : Prep ; -- empty string
--2 Nouns
@@ -100,19 +101,20 @@ oper
--
-- Relational nouns ("daughter of x") need a preposition.
mkN2 : N -> Preposition -> N2 ;
mkN2 : N -> Prep -> N2 ;
-- The most common preposition is "av", and the following is a
-- shortcut for regular, $nonhuman$ relational nouns with "av".
regN2 : Str -> Gender -> N2 ;
-- Use the function $mkPreposition$ or see the section on prepositions below to
-- Use the function $mkPrep$ or see the section on prepositions below to
-- form other prepositions.
--
-- Three-place relational nouns ("the connection from x to y") need two prepositions.
-- Three-place relational nouns ("the connection from x to y")
-- need two prepositions.
mkN3 : N -> Preposition -> Preposition -> N3 ;
mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -127,7 +129,8 @@ oper
--
-- Proper names, with a regular genitive, are formed as follows
regPN : Str -> Gender -> PN ; -- John, John's
mkPN : Str -> Gender -> PN ; -- Paris neutrum
regPN : Str -> PN ; -- utrum gender
-- Sometimes you can reuse a common noun as a proper name, e.g. "Bank".
@@ -156,7 +159,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
mkA2 : A -> Preposition -> A2 ;
mkA2 : A -> Prep -> A2 ;
-- Comparison adjectives may need as many as five forms.
@@ -194,11 +197,6 @@ oper
mkAdA : Str -> AdA ;
--2 Prepositions
--
-- A preposition is just a string.
mkPreposition : Str -> Preposition ;
--2 Verbs
--
@@ -249,7 +247,7 @@ oper
-- Two-place verbs need a preposition, except the special case with direct object.
-- (transitive verbs). Notice that a particle comes from the $V$.
mkV2 : V -> Preposition -> V2 ;
mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -258,8 +256,8 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
mkV3 : V -> Str -> Str -> V3 ; -- speak, with, about
dirV3 : V -> Str -> V3 ; -- give,_,to
mkV3 : V -> Prep -> Prep -> V3 ; -- speak, with, about
dirV3 : V -> Prep -> V3 ; -- give,_,to
dirdirV3 : V -> V3 ; -- give,_,_
--3 Other complement patterns
@@ -269,18 +267,18 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
mkV2S : V -> Str -> V2S ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
mkV2V : V -> Str -> Str -> V2V ;
mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
mkV2A : V -> Str -> V2A ;
mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Str -> V2Q ;
mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
mkA2S : A -> Str -> A2S ;
mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
mkA2V : A -> Str -> A2V ;
mkA2V : A -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -290,12 +288,13 @@ oper
V0, V2S, V2V, V2A, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
--.
--2 Definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Gender = MorphoDan.Gender ;
Number = MorphoDan.Number ;
@@ -307,6 +306,14 @@ oper
nominative = Nom ;
genitive = Gen ;
Preposition : Type = Str ; -- obsolete
mkPreposition : Str -> Prep ; -- obsolete
mkPreposition = mkPrep ;
mkPrep p = {s = p ; lock_Prep = <>} ;
noPrep = mkPrep [] ;
mkN x y z u = mkSubstantive x y z u ** {g = extNGen y ; lock_N = <>} ;
regN x = regGenN x Utr ;
@@ -330,11 +337,12 @@ oper
mk3N x y z = let u = ifTok Str x z "ene" "ne" in mkN x y z (z + u) ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p.s} ;
regN2 n g = mkN2 (regGenN n g) (mkPreposition "av") ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p.s ; c3 = q.s} ;
regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
mkPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
regPN n = mkPN n utrum ;
nounPN n = {s = n.s ! singular ! Indef ; g = n.g ; lock_PN = <>} ;
mkNP x y n g =
{s = table {NPPoss _ => x ; _ => y} ; a = agrP3 g n ;
@@ -344,7 +352,7 @@ oper
mk2A a b = mkA a b (a + "e") ;
regA a = (regADeg a) ** {lock_A = <>} ;
mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ;
mkADeg a b c d e = mkAdject a b c d e ** {isComp = False ; lock_A = <>} ;
@@ -368,8 +376,6 @@ oper
mkAdV x = ss x ** {lock_AdV = <>} ;
mkAdA x = ss x ** {lock_AdA = <>} ;
mkPreposition p = p ;
mkV a b c d e f = mkVerb6 a b c d e f **
{part = [] ; vtype = VAct ; lock_V = <> ; isVaere = False} ;
@@ -418,12 +424,12 @@ oper
s = v.s ; part = v.part ; vtype = VRefl ; isVaere = False ; lock_V = <>
} ;
mkV2 v p = v ** {c2 = p ; lock_V2 = <>} ;
dirV2 v = mkV2 v [] ;
mkV2 v p = v ** {c2 = p.s ; lock_V2 = <>} ;
dirV2 v = mkV2 v (mkPrep []) ;
mkV3 v p q = v ** {c2 = p ; c3 = q ; lock_V3 = <>} ;
dirV3 v p = mkV3 v [] p ;
dirdirV3 v = dirV3 v [] ;
mkV3 v p q = v ** {c2 = p.s ; c3 = q.s ; lock_V3 = <>} ;
dirV3 v p = mkV3 v noPrep p ;
dirdirV3 v = dirV3 v noPrep ;
mkV0 v = v ** {lock_V0 = <>} ;
mkVS v = v ** {lock_VS = <>} ;

View File

@@ -2,21 +2,16 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Adjectives and adjectival phrases</TITLE>
<TITLE> Adjective: Adjectives and Adjectival Phrases</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Adjectives and adjectival phrases</H1>
<P ALIGN="center"><CENTER><H1> Adjective: Adjectives and Adjectival Phrases</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:38 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Adjectives and adjectival phrases</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Adjectives and adjectival phrases</H1>
<PRE>
abstract Adjective = Cat ** {

View File

@@ -2,21 +2,16 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Adverbs and adverbial phrases</TITLE>
<TITLE> Adverb: Adverbs and Adverbial Phrases</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Adverbs and adverbial phrases</H1>
<P ALIGN="center"><CENTER><H1> Adverb: Adverbs and Adverbial Phrases</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:38 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Adverbs and adverbial phrases</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Adverbs and adverbial phrases</H1>
<PRE>
abstract Adverb = Cat ** {

View File

@@ -2,31 +2,27 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> The category system</TITLE>
<TITLE> Cat: the Category System</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The category system</H1>
<P ALIGN="center"><CENTER><H1> Cat: the Category System</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:38 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">The category system</A>
<UL>
<LI><A HREF="#toc2">Sentences and clauses</A>
<LI><A HREF="#toc3">Questions and interrogatives</A>
<LI><A HREF="#toc4">Relative clauses and pronouns</A>
<LI><A HREF="#toc5">Verb phrases</A>
<LI><A HREF="#toc6">Adjectival phrases</A>
<LI><A HREF="#toc7">Nouns and noun phrases</A>
<LI><A HREF="#toc8">Numerals</A>
<LI><A HREF="#toc9">Structural words</A>
<LI><A HREF="#toc10">Words of open classes</A>
<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>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
@@ -36,8 +32,6 @@ 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>The category system</H1>
<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)
@@ -64,7 +58,7 @@ are defined on <CODE>Conjunction</CODE> and only used locally there.
cat
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Sentences and clauses</H2>
<P>
Constructed in <A HREF="Sentence.html">Sentence</A>, and also in
@@ -79,7 +73,7 @@ Constructed in <A HREF="Sentence.html">Sentence</A>, and also in
Imp ; -- imperative e.g. "look at this"
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Questions and interrogatives</H2>
<P>
Constructed in <A HREF="Question.html">Question</A>.
@@ -91,7 +85,7 @@ Constructed in <A HREF="Question.html">Question</A>.
IDet ; -- interrogative determiner e.g. "which"
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H2>Relative clauses and pronouns</H2>
<P>
Constructed in <A HREF="Relative.html">Relative</A>.
@@ -101,7 +95,7 @@ Constructed in <A HREF="Relative.html">Relative</A>.
RP ; -- relative pronoun e.g. "in which"
</PRE>
<P></P>
<A NAME="toc5"></A>
<A NAME="toc4"></A>
<H2>Verb phrases</H2>
<P>
Constructed in <A HREF="Verb.html">Verb</A>.
@@ -111,7 +105,7 @@ Constructed in <A HREF="Verb.html">Verb</A>.
Comp ; -- complement of copula, such as AP e.g. "very warm"
</PRE>
<P></P>
<A NAME="toc6"></A>
<A NAME="toc5"></A>
<H2>Adjectival phrases</H2>
<P>
Constructed in <A HREF="Adjective.html">Adjective</A>.
@@ -120,7 +114,7 @@ Constructed in <A HREF="Adjective.html">Adjective</A>.
AP ; -- adjectival phrase e.g. "very warm"
</PRE>
<P></P>
<A NAME="toc7"></A>
<A NAME="toc6"></A>
<H2>Nouns and noun phrases</H2>
<P>
Constructed in <A HREF="Noun.html">Noun</A>.
@@ -147,7 +141,7 @@ as defined in <A HREF="Noun.html">Noun</A>.
Ord ; -- ordinal number (used in Det) e.g. "seventh"
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Numerals</H2>
<P>
Constructed in <A HREF="Numeral.html">Numeral</A>.
@@ -156,7 +150,7 @@ Constructed in <A HREF="Numeral.html">Numeral</A>.
Numeral;-- cardinal or ordinal, e.g. "five/fifth"
</PRE>
<P></P>
<A NAME="toc9"></A>
<A NAME="toc8"></A>
<H2>Structural words</H2>
<P>
Constructed in <A HREF="Structural.html">Structural</A>.
@@ -168,7 +162,7 @@ Constructed in <A HREF="Structural.html">Structural</A>.
Prep ; -- preposition, or just case e.g. "in"
</PRE>
<P></P>
<A NAME="toc10"></A>
<A NAME="toc9"></A>
<H2>Words of open classes</H2>
<P>
These are constructed in <A HREF="Lexicon.html">Lexicon</A> and in

View File

@@ -2,25 +2,21 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Infrastructure with common implementations.</TITLE>
<TITLE> Common: Structures with Common Implementations.</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Infrastructure with common implementations.</H1>
<P ALIGN="center"><CENTER><H1> Common: Structures with Common Implementations.</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:38 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Infrastructure with common implementations.</A>
<UL>
<LI><A HREF="#toc2">Top-level units</A>
<LI><A HREF="#toc3">Adverbs</A>
<LI><A HREF="#toc4">Tense, polarity, and anteriority</A>
<LI><A HREF="#toc1">Top-level units</A>
<LI><A HREF="#toc2">Adverbs</A>
<LI><A HREF="#toc3">Tense, polarity, and anteriority</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
@@ -30,8 +26,6 @@ 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>Infrastructure with common implementations.</H1>
<P>
This module defines the categories that uniformly have the linearization
<CODE>{s : Str}</CODE> in all languages.
@@ -48,7 +42,7 @@ Romance languages.
cat
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Top-level units</H2>
<P>
Constructed in <A HREF="Text.html">Text</A>: <CODE>Text</CODE>.
@@ -74,7 +68,7 @@ Constructed in <A HREF="Sentence.html">Sentence</A>:
SC ; -- embedded sentence or question e.g. "that it rains"
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Adverbs</H2>
<P>
Constructed in <A HREF="Adverb.html">Adverb</A>.
@@ -89,7 +83,7 @@ Many adverbs are constructed in <A HREF="Structural.html">Structural</A>.
CAdv ; -- comparative adverb e.g. "more"
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H2>Tense, polarity, and anteriority</H2>
<PRE>
Tense ; -- tense: present, past, future, conditional

View File

@@ -2,25 +2,21 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Coordination</TITLE>
<TITLE> Conjunction: Coordination</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Coordination</H1>
<P ALIGN="center"><CENTER><H1> Conjunction: Coordination</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:39 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Coordination</A>
<UL>
<LI><A HREF="#toc2">Rules</A>
<LI><A HREF="#toc3">Categories</A>
<LI><A HREF="#toc4">List constructors</A>
<LI><A HREF="#toc1">Rules</A>
<LI><A HREF="#toc2">Categories</A>
<LI><A HREF="#toc3">List constructors</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
@@ -30,8 +26,6 @@ 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>Coordination</H1>
<P>
Coordination is defined for many different categories; here is
a sample. The rules apply to <B>lists</B> of two or more elements,
@@ -51,7 +45,7 @@ compatibility with API 0.9 is needed, use
abstract Conjunction = Cat ** {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Rules</H2>
<PRE>
fun
@@ -66,7 +60,7 @@ compatibility with API 0.9 is needed, use
DConjAdv : DConj -&gt; [Adv] -&gt; Adv; -- "both badly and slowly"
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Categories</H2>
<P>
These categories are only used in this module.
@@ -79,7 +73,7 @@ These categories are only used in this module.
[AP]{2} ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H2>List constructors</H2>
<P>
The list constructors are derived from the list notation and therefore

View File

@@ -2,21 +2,16 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> The Main Module of the Resource Grammar</TITLE>
<TITLE> Grammar: the Main Module of the Resource Grammar</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The Main Module of the Resource Grammar</H1>
<P ALIGN="center"><CENTER><H1> Grammar: the Main Module of the Resource Grammar</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:39 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">The Main Module of the Resource Grammar</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>The Main Module of the Resource Grammar</H1>
<P>
This grammar a collection of the different grammar modules,
To test the resource, import <A HREF="Lang.html">Lang</A>, which also contains

View File

@@ -2,21 +2,16 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Idiomatic expressions</TITLE>
<TITLE> Idiom: Idiomatic Expressions</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Idiomatic expressions</H1>
<P ALIGN="center"><CENTER><H1> Idiom: Idiomatic Expressions</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:39 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Idiomatic expressions</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Idiomatic expressions</H1>
<PRE>
abstract Idiom = Cat ** {
</PRE>

View File

@@ -2,21 +2,16 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> The Main Module of the Resource Grammar</TITLE>
<TITLE> Lang: a Test Module for the Resource Grammar</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The Main Module of the Resource Grammar</H1>
<P ALIGN="center"><CENTER><H1> Lang: a Test Module for the Resource Grammar</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:40 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">The Main Module of the Resource Grammar</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,12 +20,10 @@ 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>The Main Module of the Resource Grammar</H1>
<P>
This grammar is just a collection of the different modules,
and the one that can be imported when one wants to test the
grammar. A module without a lexicon is <A HREF="Grammar.html">Grammar</A>,
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">Grammar</A>,
which may be more suitable to open in applications.
</P>
<PRE>

View File

@@ -6,17 +6,12 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The Mathematics API to the Resource Grammar</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:44 2006
<I>Last update: 2006-02-28 09:26:58 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">The Mathematics API to the Resource Grammar</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>The Mathematics API to the Resource Grammar</H1>
<P>
This grammar is a collection of the different modules.
It differs from <CODE>Lang</CODE> in two main ways:

View File

@@ -6,17 +6,12 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Multimodal additions to the resource grammar library</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:44 2006
<I>Last update: 2006-05-24 15:08:56 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Multimodal additions to the resource grammar library</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Multimodal additions to the resource grammar library</H1>
<PRE>
abstract Multi = Lang ** {

View File

@@ -2,26 +2,22 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> The construction of nouns, noun phrases, and determiners</TITLE>
<TITLE> Noun: Nouns, noun phrases, and determiners</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The construction of nouns, noun phrases, and determiners</H1>
<P ALIGN="center"><CENTER><H1> Noun: Nouns, noun phrases, and determiners</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:40 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">The construction of nouns, noun phrases, and determiners</A>
<UL>
<LI><A HREF="#toc2">Noun phrases</A>
<LI><A HREF="#toc3">Determiners</A>
<LI><A HREF="#toc4">Common nouns</A>
<LI><A HREF="#toc5">Apposition</A>
<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>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
@@ -31,13 +27,11 @@ 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>The construction of nouns, noun phrases, and determiners</H1>
<PRE>
abstract Noun = Cat ** {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Noun phrases</H2>
<P>
The three main types of noun phrases are
@@ -72,7 +66,7 @@ verb or by an adverb.
AdvNP : NP -&gt; Adv -&gt; NP ; -- Paris at midnight
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Determiners</H2>
<P>
The determiner has a fine-grained structure, in which a 'nucleus'
@@ -166,7 +160,7 @@ in semantically odd expressions.
<P>
Other determiners are defined in <A HREF="Structural.html">Structural</A>.
</P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H2>Common nouns</H2>
<P>
Simple nouns can be used as nouns outright.
@@ -212,7 +206,7 @@ to decide. Sentential complements are defined in <A HREF="Verb.html">Verb</A>.
SentCN : CN -&gt; SC -&gt; CN ; -- fact that John smokes, question if he does
</PRE>
<P></P>
<A NAME="toc5"></A>
<A NAME="toc4"></A>
<H2>Apposition</H2>
<P>
This is certainly overgenerating.

View File

@@ -6,17 +6,12 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Numerals</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:40 2006
<I>Last update: 2006-01-25 12:10:58 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Numerals</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Numerals</H1>
<P>
This grammar defines numerals from 1 to 999999.
The implementations are adapted from the

View File

@@ -2,64 +2,50 @@
<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-15 14:44:29 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Danish Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc4">Compound nouns</A>
<LI><A HREF="#toc5">Relational nouns</A>
<LI><A HREF="#toc6">Relational common noun phrases</A>
<LI><A HREF="#toc7">Proper names and noun phrases</A>
<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="#toc8">Adjectives</A>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc9">Two-place adjectives</A>
<LI><A HREF="#toc8">Two-place adjectives</A>
</UL>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Prepositions</A>
<LI><A HREF="#toc12">Verbs</A>
<LI><A HREF="#toc9">Adverbs</A>
<LI><A HREF="#toc10">Verbs</A>
<UL>
<LI><A HREF="#toc13">Verbs with //være// as auxiliary</A>
<LI><A HREF="#toc14">Verbs with a particle</A>
<LI><A HREF="#toc15">Deponent verbs</A>
<LI><A HREF="#toc16">Two-place verbs</A>
<LI><A HREF="#toc17">Three-place verbs</A>
<LI><A HREF="#toc18">Other complement patterns</A>
<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>
<LI><A HREF="#toc19">Definitions of the paradigms</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:42 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=.:../scandinavian:../common:../abstract:../../prelude
</P>
<A NAME="toc1"></A>
<H1>Danish Lexical Paradigms</H1>
<P>
Aarne Ranta 2003
</P>
<P>
@@ -97,7 +83,7 @@ words.
CatDan in {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
@@ -134,10 +120,11 @@ To abstract over case names, we define the following.
Prepositions used in many-argument functions are just strings.
</P>
<PRE>
Preposition : Type = Str ;
mkPrep : Str -&gt; Prep ;
noPrep : Prep ; -- empty string
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four forms. The gender is computed from the
@@ -180,19 +167,19 @@ indefinite
mk3N : (bil,bilen,biler : Str) -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<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="toc5"></A>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>daughter of x</I>) need a preposition.
</P>
<PRE>
mkN2 : N -&gt; Preposition -&gt; N2 ;
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
@@ -204,17 +191,18 @@ shortcut for regular, <CODE>nonhuman</CODE> relational nouns with <I>av</I>.
</PRE>
<P></P>
<P>
Use the function <CODE>mkPreposition</CODE> or see the section on prepositions below to
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.
Three-place relational nouns (<I>the connection from x to y</I>)
need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Preposition -&gt; Preposition -&gt; N3 ;
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<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
@@ -222,13 +210,14 @@ 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="toc7"></A>
<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; Gender -&gt; PN ; -- John, John's
mkPN : Str -&gt; Gender -&gt; PN ; -- Paris neutrum
regPN : Str -&gt; PN ; -- utrum gender
</PRE>
<P></P>
<P>
@@ -246,7 +235,7 @@ genitive, you can use the worst-case function.
mkNP : Str -&gt; Str -&gt; Number -&gt; Gender -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need three forms:
@@ -269,13 +258,13 @@ In most cases, two forms are enough.
mk2A : (stor,stort : Str) -&gt; A ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<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; Preposition -&gt; A2 ;
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<P>
@@ -316,7 +305,7 @@ long adjective, the following pattern is used:
compoundA : A -&gt; A ; -- -/mer/mest norsk
</PRE>
<P></P>
<A NAME="toc10"></A>
<A NAME="toc9"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
@@ -334,16 +323,7 @@ Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<H2>Prepositions</H2>
<P>
A preposition is just a string.
</P>
<PRE>
mkPreposition : Str -&gt; Preposition ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<A NAME="toc10"></A>
<H2>Verbs</H2>
<P>
The worst case needs six forms.
@@ -374,7 +354,7 @@ In practice, it is enough to give three forms, as in school books.
irregV : (drikke, drakk, drukket : Str) -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<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>.
@@ -383,7 +363,7 @@ By default, the auxiliary is <I>have</I>. This function changes it to <I>v
vaereV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<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.
@@ -392,7 +372,7 @@ The particle, such as in <I>switch on</I>, is given as a string.
partV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc15"></A>
<A NAME="toc13"></A>
<H3>Deponent verbs</H3>
<P>
Some words are used in passive forms only, e.g. <I>hoppas</I>, some as
@@ -403,31 +383,31 @@ reflexive e.g. <I>
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc16"></A>
<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; Preposition -&gt; V2 ;
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc17"></A>
<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; Str -&gt; Str -&gt; V3 ; -- speak, with, about
dirV3 : V -&gt; Str -&gt; V3 ; -- give,_,to
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="toc18"></A>
<A NAME="toc16"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
@@ -436,18 +416,18 @@ questions, verb phrases, and adjectives.
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Str -&gt; V2S ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Str -&gt; Str -&gt; V2V ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Str -&gt; V2A ;
mkV2A : V -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Str -&gt; V2Q ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Str -&gt; A2S ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Str -&gt; A2V ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
@@ -461,12 +441,6 @@ as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<A NAME="toc19"></A>
<H2>Definitions of the paradigms</H2>
<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 danish/ParadigmsDan.txt -->

View File

@@ -2,63 +2,50 @@
<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-15 16:21:43 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">English Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc4">Compound nouns</A>
<LI><A HREF="#toc5">Relational nouns</A>
<LI><A HREF="#toc6">Relational common noun phrases</A>
<LI><A HREF="#toc7">Proper names and noun phrases</A>
<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="#toc8">Adjectives</A>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc9">Two-place adjectives</A>
<LI><A HREF="#toc8">Two-place adjectives</A>
</UL>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Prepositions</A>
<LI><A HREF="#toc12">Verbs</A>
<LI><A HREF="#toc9">Adverbs</A>
<LI><A HREF="#toc10">Prepositions</A>
<LI><A HREF="#toc11">Verbs</A>
<UL>
<LI><A HREF="#toc13">Verbs with a particle.</A>
<LI><A HREF="#toc14">Reflexive verbs</A>
<LI><A HREF="#toc15">Two-place verbs</A>
<LI><A HREF="#toc16">Three-place verbs</A>
<LI><A HREF="#toc17">Other complement patterns</A>
<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>
<LI><A HREF="#toc18">Definitions of paradigms</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:42 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:../common
</P>
<A NAME="toc1"></A>
<H1>English Lexical Paradigms</H1>
<P>
Aarne Ranta 2003--2005
</P>
<P>
@@ -97,7 +84,7 @@ The following modules are presupposed:
in {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
@@ -133,12 +120,9 @@ To abstract over case names, we define the following.
<P></P>
<P>
Prepositions are used in many-argument functions for rection.
The resource category <CODE>Prep</CODE> is used.
</P>
<PRE>
Preposition : Type ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four forms and the semantic gender.
@@ -172,7 +156,7 @@ function:
genderN : Gender -&gt; N -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
A compound noun ia an uninflected string attached to an inflected noun,
@@ -182,13 +166,13 @@ such as <I>baby boom</I>, <I>chief executive officer</I>.
compoundN : Str -&gt; N -&gt; N ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>daughter of x</I>) need a preposition.
</P>
<PRE>
mkN2 : N -&gt; Preposition -&gt; N2 ;
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
@@ -200,34 +184,35 @@ shortcut for regular relational nouns with <I>of</I>.
</PRE>
<P></P>
<P>
Use the function <CODE>mkPreposition</CODE> or see the section on prepositions below to
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; Preposition -&gt; Preposition -&gt; N3 ;
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<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; Preposition -&gt; N2 ;
cnN3 : CN -&gt; Preposition -&gt; Preposition -&gt; N3 ;
cnN2 : CN -&gt; Prep -&gt; N2 ;
cnN3 : CN -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<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; Gender -&gt; PN ; -- John, John's
regPN : Str -&gt; PN ;
regGenPN : Str -&gt; Gender -&gt; PN ; -- John, John's
</PRE>
<P></P>
<P>
@@ -245,7 +230,7 @@ genitive, you can use the worst-case function.
mkNP : Str -&gt; Str -&gt; Number -&gt; Gender -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need two forms: one for
@@ -263,13 +248,13 @@ even for cases with the variation <I>happy - happily</I>.
regA : Str -&gt; A ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<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; Preposition -&gt; A2 ;
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<P>
@@ -313,7 +298,7 @@ From a given <CODE>ADeg</CODE>, it is possible to get back to <CODE>A</CODE>.
adegA : ADeg -&gt; A ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<A NAME="toc9"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
@@ -331,21 +316,21 @@ Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<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>
mkPreposition : Str -&gt; Preposition ;
mkPrep : Str -&gt; Prep ;
mkPrep : Str -&gt; Prep ;
noPrep : Prep ;
</PRE>
<P></P>
<P>
(These two functions are synonyms.)
</P>
<A NAME="toc12"></A>
<A NAME="toc11"></A>
<H2>Verbs</H2>
<P>
Except for <I>be</I>, the worst case needs five forms: the infinitive and
@@ -384,7 +369,7 @@ duplication in the present participle.
irregDuplV : (get, got, gotten : Str) -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<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.
@@ -393,7 +378,7 @@ The particle, such as in <I>switch on</I>, is given as a string.
partV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<A NAME="toc13"></A>
<H3>Reflexive verbs</H3>
<P>
By default, verbs are not reflexive; this function makes them that.
@@ -402,31 +387,31 @@ By default, verbs are not reflexive; this function makes them that.
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc15"></A>
<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; Preposition -&gt; V2 ;
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc16"></A>
<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; Preposition -&gt; Preposition -&gt; V3 ; -- speak, with, about
dirV3 : V -&gt; Preposition -&gt; V3 ; -- give,_,to
dirdirV3 : V -&gt; V3 ; -- give,_,_
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="toc17"></A>
<A NAME="toc16"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
@@ -435,18 +420,18 @@ questions, verb phrases, and adjectives.
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Str -&gt; V2S ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Str -&gt; Str -&gt; V2V ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Str -&gt; V2A ;
mkV2A : V -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Str -&gt; V2Q ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Str -&gt; A2S ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Str -&gt; A2V ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
@@ -460,12 +445,6 @@ as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<A NAME="toc18"></A>
<H2>Definitions of paradigms</H2>
<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 english/ParadigmsEng.txt -->

View File

@@ -2,48 +2,36 @@
<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-15 15:06:49 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Finnish Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc4">Adjectives</A>
<LI><A HREF="#toc5">Verbs</A>
<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="#toc6">Three-place verbs</A>
<LI><A HREF="#toc7">Other complement patterns</A>
<LI><A HREF="#toc5">Three-place verbs</A>
<LI><A HREF="#toc6">Other complement patterns</A>
</UL>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:42 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:../common:../../prelude
</P>
<A NAME="toc1"></A>
<H1>Finnish Lexical Paradigms</H1>
<P>
Aarne Ranta 2003--2005
</P>
<P>
@@ -89,7 +77,7 @@ flags optimize=all ;
flags optimize=noexpand ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender, number, and (some) case names,
@@ -129,7 +117,7 @@ just a case, or a pre/postposition and a case.
casePrep : Case -&gt; Prep ; -- adessive
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
The worst case gives ten forms and the semantic gender.
@@ -325,11 +313,12 @@ Proper names can be formed by using declensions for nouns.
The plural forms are filtered away by the compiler.
</P>
<PRE>
regPN : Str -&gt; PN ;
mkPN : N -&gt; PN ;
mkNP : N -&gt; Number -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives are just like nouns.
@@ -361,7 +350,7 @@ The regular adjectives are based on <CODE>regN</CODE> in the positive.
regA : (punainen : Str) -&gt; A ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<A NAME="toc4"></A>
<H2>Verbs</H2>
<P>
The grammar does not cover the potential mood and some nominal
@@ -467,7 +456,7 @@ But this is taken care of by <CODE>ClauseFin</CODE>.
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<A NAME="toc5"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
@@ -479,7 +468,7 @@ the first one or both can be absent.
dirdirV3 : V -&gt; V3 ; -- acc, allat
</PRE>
<P></P>
<A NAME="toc7"></A>
<A NAME="toc6"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
@@ -513,10 +502,6 @@ as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
AS, A2S, AV, A2V : Type ;
</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 finnish/ParadigmsFin.txt -->

View File

@@ -2,61 +2,48 @@
<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-15 15:08:18 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">French Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc4">Compound nouns</A>
<LI><A HREF="#toc5">Relational nouns</A>
<LI><A HREF="#toc6">Relational common noun phrases</A>
<LI><A HREF="#toc7">Proper names and noun phrases</A>
<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="#toc8">Adjectives</A>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc9">Two-place adjectives</A>
<LI><A HREF="#toc10">Comparison adjectives</A>
<LI><A HREF="#toc8">Two-place adjectives</A>
<LI><A HREF="#toc9">Comparison adjectives</A>
</UL>
<LI><A HREF="#toc11">Adverbs</A>
<LI><A HREF="#toc12">Verbs</A>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Verbs</A>
<UL>
<LI><A HREF="#toc13">Two-place verbs</A>
<LI><A HREF="#toc14">Three-place verbs</A>
<LI><A HREF="#toc15">Other complement patterns</A>
<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>
<LI><A HREF="#toc16">Definitions of the paradigms</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:43 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=.:../romance:../common:../abstract:../../prelude
</P>
<A NAME="toc1"></A>
<H1>French Lexical Paradigms</H1>
<P>
Aarne Ranta 2003
</P>
<P>
@@ -96,7 +83,7 @@ words.
flags optimize=all ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
@@ -126,16 +113,14 @@ amalgamate with the following word (the 'genitive' <I>de</I> and the
'dative' <I>à</I>).
</P>
<PRE>
Preposition : Type ;
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
accusative : Preposition ;
genitive : Preposition ;
dative : Preposition ;
mkPreposition : Str -&gt; Preposition ;
mkPrep : Str -&gt; Prep ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give both two forms and the gender.
@@ -165,7 +150,7 @@ Adding gender information widens the scope of the foregoing function.
regGenN : Str -&gt; Gender -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
Some nouns are ones where the first part is inflected as a noun but
@@ -177,13 +162,13 @@ they are frequent in lexica.
compN : N -&gt; Str -&gt; N ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<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; Preposition -&gt; N2 ;
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
@@ -199,10 +184,10 @@ with the empty preposition.
Three-place relational nouns (<I>la connection de x à y</I>) need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Preposition -&gt; Preposition -&gt; N3 ;
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<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
@@ -210,13 +195,15 @@ 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="toc7"></A>
<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
mkPN : Str -&gt; Gender -&gt; PN ; -- Jean
regPN : Str -&gt; PN ; -- masculine
</PRE>
<P></P>
<P>
@@ -227,7 +214,7 @@ you can use the worst-case function.
mkNP : Str -&gt; Gender -&gt; Number -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need four forms in the worst
@@ -258,16 +245,16 @@ provided.
prefA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<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; Preposition -&gt; A2 ;
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<A NAME="toc9"></A>
<H3>Comparison adjectives</H3>
<P>
Comparison adjectives are in the worst case put up from two
@@ -293,7 +280,7 @@ provided.
prefA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<A NAME="toc10"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
@@ -317,7 +304,7 @@ Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<A NAME="toc11"></A>
<H2>Verbs</H2>
<P>
Irregular verbs are given in the module <CODE>VerbsFre</CODE>.
@@ -354,14 +341,14 @@ To change it to <I>
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<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; Preposition -&gt; V2 ;
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
@@ -373,19 +360,19 @@ You can reuse a <CODE>V2</CODE> verb in <CODE>V</CODE>.
v2V : V2 -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<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; Preposition -&gt; Preposition -&gt; V3 ; -- parler, à, de
dirV3 : V -&gt; Preposition -&gt; V3 ; -- donner,_,à
dirdirV3 : V -&gt; V3 ; -- donner,_,_
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="toc15"></A>
<A NAME="toc14"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
@@ -394,20 +381,20 @@ questions, verb phrases, and adjectives.
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Preposition -&gt; V2S ;
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; Preposition -&gt; Preposition -&gt; V2V ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Preposition -&gt; Preposition -&gt; V2A ;
mkV2A : V -&gt; Prep -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Preposition -&gt; V2Q ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Preposition -&gt; A2S ;
mkAV : A -&gt; Preposition -&gt; AV ;
mkA2V : A -&gt; Preposition -&gt; Preposition -&gt; A2V ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; Prep -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
@@ -421,12 +408,6 @@ as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<A NAME="toc16"></A>
<H2>Definitions of the paradigms</H2>
<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 french/ParadigmsFre.txt -->

View File

@@ -2,55 +2,42 @@
<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-15 14:53:14 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">German Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc4">Proper names and noun phrases</A>
<LI><A HREF="#toc3">Proper names and noun phrases</A>
</UL>
<LI><A HREF="#toc5">Adjectives</A>
<LI><A HREF="#toc6">Adverbs</A>
<LI><A HREF="#toc7">Prepositions</A>
<LI><A HREF="#toc8">Verbs</A>
<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="#toc9">Two-place verbs</A>
<LI><A HREF="#toc10">Three-place verbs</A>
<LI><A HREF="#toc11">Other complement patterns</A>
<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>
<LI><A HREF="#toc12">Definitions of paradigms</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:43 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=.:../common:../abstract:../../prelude
</P>
<A NAME="toc1"></A>
<H1>German Lexical Paradigms</H1>
<P>
Aarne Ranta &amp; Harald Hammarström 2003--2006
</P>
<P>
@@ -86,7 +73,7 @@ words.
in {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
@@ -122,7 +109,7 @@ To abstract over number names, we define the following.
plural : Number ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four singular forms, two plural forms (others + dative),
@@ -172,7 +159,7 @@ Three-place relational nouns (<I>die Verbindung von x nach y</I>) need two prepo
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H3>Proper names and noun phrases</H3>
<P>
Proper names, with a regular genitive, are formed as follows
@@ -183,7 +170,7 @@ The regular genitive is <I>s</I>, omitted after <I>s</I>.
regPN : (Johann : Str) -&gt; PN ; -- Johann, Johanns ; Johannes, Johannes
</PRE>
<P></P>
<A NAME="toc5"></A>
<A NAME="toc4"></A>
<H2>Adjectives</H2>
<P>
Adjectives need three forms, one for each degree.
@@ -214,7 +201,7 @@ Two-place adjectives are formed by adding a preposition to an adjective.
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<A NAME="toc5"></A>
<H2>Adverbs</H2>
<P>
Adverbs are just strings.
@@ -223,7 +210,7 @@ Adverbs are just strings.
mkAdv : Str -&gt; Adv ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<A NAME="toc6"></A>
<H2>Prepositions</H2>
<P>
A preposition is formed from a string and a case.
@@ -249,7 +236,7 @@ A couple of common prepositions (always with the dative).
zu_Prep : Prep ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Verbs</H2>
<P>
The worst-case constructor needs six forms:
@@ -312,7 +299,7 @@ Reflexive verbs can take reflexive pronouns of different cases.
reflV : V -&gt; Case -&gt; V ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<A NAME="toc8"></A>
<H3>Two-place verbs</H3>
<P>
Two-place verbs need a preposition, except the special case with direct object
@@ -325,7 +312,7 @@ Two-place verbs need a preposition, except the special case with direct object
datV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<A NAME="toc9"></A>
<H3>Three-place verbs</H3>
<P>
Three-place (ditransitive) verbs need two prepositions, of which
@@ -337,7 +324,7 @@ the first one or both can be absent.
accdatV3 : V -&gt; V3 ; -- give,_,_
</PRE>
<P></P>
<A NAME="toc11"></A>
<A NAME="toc10"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
@@ -371,12 +358,6 @@ as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<H2>Definitions of paradigms</H2>
<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 german/ParadigmsGer.txt -->

View File

@@ -2,61 +2,48 @@
<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-15 16:38:46 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Italian Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc4">Compound nouns</A>
<LI><A HREF="#toc5">Relational nouns</A>
<LI><A HREF="#toc6">Relational common noun phrases</A>
<LI><A HREF="#toc7">Proper names and noun phrases</A>
<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="#toc8">Adjectives</A>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc9">Two-place adjectives</A>
<LI><A HREF="#toc10">Comparison adjectives</A>
<LI><A HREF="#toc8">Two-place adjectives</A>
<LI><A HREF="#toc9">Comparison adjectives</A>
</UL>
<LI><A HREF="#toc11">Adverbs</A>
<LI><A HREF="#toc12">Verbs</A>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Verbs</A>
<UL>
<LI><A HREF="#toc13">Two-place verbs</A>
<LI><A HREF="#toc14">Three-place verbs</A>
<LI><A HREF="#toc15">Other complement patterns</A>
<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>
<LI><A HREF="#toc16">The definitions of the paradigms</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:43 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=.:../romance:../common:../abstract:../../prelude
</P>
<A NAME="toc1"></A>
<H1>Italian Lexical Paradigms</H1>
<P>
Aarne Ranta 2003
</P>
<P>
@@ -97,7 +84,7 @@ words.
flags optimize=all ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
@@ -127,16 +114,16 @@ amalgamate with the following word (the 'genitive' <I>de</I> and the
'dative' <I>à</I>).
</P>
<PRE>
Preposition : Type ;
Prep : Type ;
accusative : Preposition ;
genitive : Preposition ;
dative : Preposition ;
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
mkPreposition : Str -&gt; Preposition ;
mkPrep : Str -&gt; Prep ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give both two forms and the gender.
@@ -163,7 +150,7 @@ To force a different gender, use one of the following functions.
femN : N -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
Some nouns are ones where the first part is inflected as a noun but
@@ -175,13 +162,13 @@ they are frequent in lexica.
compN : N -&gt; Str -&gt; N ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<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; Preposition -&gt; N2 ;
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
@@ -197,10 +184,10 @@ with the empty preposition.
Three-place relational nouns (<I>la connessione di x a y</I>) need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Preposition -&gt; Preposition -&gt; N3 ;
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<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
@@ -208,13 +195,14 @@ 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="toc7"></A>
<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
mkPN : Str -&gt; Gender -&gt; PN ;
regPN : Str -&gt; PN ; -- masculine
</PRE>
<P></P>
<P>
@@ -225,7 +213,7 @@ you can use the worst-case function.
mkNP : Str -&gt; Gender -&gt; Number -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need five forms in the worst
@@ -253,16 +241,16 @@ provided.
prefA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<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; Preposition -&gt; A2 ;
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<A NAME="toc9"></A>
<H3>Comparison adjectives</H3>
<P>
Comparison adjectives are in the worst case put up from two
@@ -288,7 +276,7 @@ with comparison by <I>plus</I>.
regADeg : Str -&gt; A ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<A NAME="toc10"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
@@ -312,7 +300,7 @@ Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<A NAME="toc11"></A>
<H2>Verbs</H2>
<P>
Regular verbs are ones with the infinitive <I>er</I> or <I>ir</I>, the
@@ -343,14 +331,14 @@ Reflexive implies <I>essere</I>.
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<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; Preposition -&gt; V2 ;
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
@@ -362,19 +350,19 @@ You can reuse a <CODE>V2</CODE> verb in <CODE>V</CODE>.
v2V : V2 -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<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; Preposition -&gt; Preposition -&gt; V3 ; -- parler, à, de
dirV3 : V -&gt; Preposition -&gt; V3 ; -- donner,_,à
dirdirV3 : V -&gt; V3 ; -- donner,_,_
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="toc15"></A>
<A NAME="toc14"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
@@ -383,20 +371,20 @@ questions, verb phrases, and adjectives.
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Preposition -&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; Preposition -&gt; Preposition -&gt; V2V ;
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; Preposition -&gt; Preposition -&gt; V2A ;
mkV2A : V -&gt; Prep -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Preposition -&gt; V2Q ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Preposition -&gt; A2S ;
mkAV : A -&gt; Preposition -&gt; AV ;
mkA2V : A -&gt; Preposition -&gt; Preposition -&gt; A2V ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; Prep -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
@@ -410,12 +398,6 @@ as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<A NAME="toc16"></A>
<H2>The definitions of the paradigms</H2>
<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 italian/ParadigmsIta.txt -->

View File

@@ -2,64 +2,50 @@
<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-15 15:58:53 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Norwegian Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc4">Compound nouns</A>
<LI><A HREF="#toc5">Relational nouns</A>
<LI><A HREF="#toc6">Relational common noun phrases</A>
<LI><A HREF="#toc7">Proper names and noun phrases</A>
<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="#toc8">Adjectives</A>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc9">Two-place adjectives</A>
<LI><A HREF="#toc8">Two-place adjectives</A>
</UL>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Prepositions</A>
<LI><A HREF="#toc12">Verbs</A>
<LI><A HREF="#toc9">Adverbs</A>
<LI><A HREF="#toc10">Verbs</A>
<UL>
<LI><A HREF="#toc13">Verbs with //være// as auxiliary</A>
<LI><A HREF="#toc14">Verbs with a particle.</A>
<LI><A HREF="#toc15">Deponent verbs.</A>
<LI><A HREF="#toc16">Two-place verbs</A>
<LI><A HREF="#toc17">Three-place verbs</A>
<LI><A HREF="#toc18">Other complement patterns</A>
<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>
<LI><A HREF="#toc19">Definitions of the paradigms</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:43 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=.:../scandinavian:../common:../abstract:../../prelude
</P>
<A NAME="toc1"></A>
<H1>Norwegian Lexical Paradigms</H1>
<P>
Aarne Ranta 2003
</P>
<P>
@@ -97,7 +83,7 @@ words.
CatNor in {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
@@ -135,10 +121,11 @@ To abstract over case names, we define the following.
Prepositions used in many-argument functions are just strings.
</P>
<PRE>
Preposition : Type = Str ;
mkPrep : Str -&gt; Prep ;
noPrep : Prep ; -- empty string
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four forms. The gender is computed from the
@@ -174,19 +161,19 @@ gender is computed from the definite form.
mk2N : (bil,bilen : Str) -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<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="toc5"></A>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>daughter of x</I>) need a preposition.
</P>
<PRE>
mkN2 : N -&gt; Preposition -&gt; N2 ;
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
@@ -198,17 +185,17 @@ shortcut for regular, <CODE>nonhuman</CODE> relational nouns with <I>av</I>.
</PRE>
<P></P>
<P>
Use the function <CODE>mkPreposition</CODE> or see the section on prepositions below to
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; Preposition -&gt; Preposition -&gt; N3 ;
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<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
@@ -216,13 +203,14 @@ 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="toc7"></A>
<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; Gender -&gt; PN ; -- John, John's
regPN : Str -&gt; PN ; -- utrum
regGenPN : Str -&gt; Gender -&gt; PN ;
</PRE>
<P></P>
<P>
@@ -240,7 +228,7 @@ genitive, you can use the worst-case function.
mkNP : Str -&gt; Str -&gt; Number -&gt; Gender -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need three forms:
@@ -263,13 +251,13 @@ In most cases, two forms are enough.
mk2A : (stor,stort : Str) -&gt; A ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<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; Preposition -&gt; A2 ;
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<P>
@@ -310,7 +298,7 @@ long adjective, the following pattern is used:
compoundA : A -&gt; A ; -- -/mer/mest norsk
</PRE>
<P></P>
<A NAME="toc10"></A>
<A NAME="toc9"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
@@ -328,16 +316,7 @@ Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<H2>Prepositions</H2>
<P>
A preposition is just a string.
</P>
<PRE>
mkPreposition : Str -&gt; Preposition ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<A NAME="toc10"></A>
<H2>Verbs</H2>
<P>
The worst case needs six forms.
@@ -368,7 +347,7 @@ In practice, it is enough to give three forms, as in school books.
irregV : (drikke, drakk, drukket : Str) -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<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>.
@@ -377,7 +356,7 @@ By default, the auxiliary is <I>have</I>. This function changes it to <I>v
vaereV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<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.
@@ -386,7 +365,7 @@ The particle, such as in <I>switch on</I>, is given as a string.
partV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc15"></A>
<A NAME="toc13"></A>
<H3>Deponent verbs.</H3>
<P>
Some words are used in passive forms only, e.g. <I>hoppas</I>, some as
@@ -397,31 +376,31 @@ reflexive e.g. <I>
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc16"></A>
<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; Preposition -&gt; V2 ;
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc17"></A>
<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; Str -&gt; Str -&gt; V3 ; -- speak, with, about
dirV3 : V -&gt; Str -&gt; V3 ; -- give,_,to
dirdirV3 : V -&gt; V3 ; -- give,_,_
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="toc18"></A>
<A NAME="toc16"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
@@ -430,18 +409,18 @@ questions, verb phrases, and adjectives.
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Str -&gt; V2S ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Str -&gt; Str -&gt; V2V ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Str -&gt; V2A ;
mkV2A : V -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Str -&gt; V2Q ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Str -&gt; A2S ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Str -&gt; A2V ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
@@ -455,12 +434,6 @@ as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<A NAME="toc19"></A>
<H2>Definitions of the paradigms</H2>
<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 norwegian/ParadigmsNor.txt -->

View File

@@ -2,45 +2,33 @@
<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-15 16:42:18 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Russian Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc4">Adjectives</A>
<LI><A HREF="#toc5">Adverbs</A>
<LI><A HREF="#toc6">Verbs</A>
<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>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:43 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:../common
</P>
<A NAME="toc1"></A>
<H1>Russian Lexical Paradigms</H1>
<P>
Janna Khegai 2003--2005
</P>
<P>
@@ -82,7 +70,7 @@ The following modules are presupposed:
flags coding=utf8 ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
@@ -122,7 +110,7 @@ To abstract over number names, we define the following.
plural : Number ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Best case: indeclinabe nouns: <I>кофе</I>, <I>пальто</I>, <I>ВУЗ</I>.
@@ -221,6 +209,7 @@ Proper names.
</P>
<PRE>
mkPN : Str -&gt; Gender -&gt; Animacy -&gt; PN ; -- "Иван", "Маша"
regPN : Str -&gt; PN ;
nounPN : N -&gt; PN ;
</PRE>
<P></P>
@@ -233,7 +222,7 @@ On the top level, it is maybe <CODE>CN</CODE> that is used rather than <CODE>N</
mkNP : Str -&gt; Gender -&gt; Animacy -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H2>Adjectives</H2>
<P>
Non-comparison (only positive degree) one-place adjectives need 28 (4 by 7)
@@ -297,7 +286,7 @@ On top level, there are adjectival phrases. The most common case is
just to use a one-place adjective.
ap : A -&gt; IsPostfixAdj -&gt; AP ;
</P>
<A NAME="toc5"></A>
<A NAME="toc4"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
@@ -307,7 +296,7 @@ after the verb. Some can be preverbal (e.g. <I>always</I>).
mkAdv : Str -&gt; Adv ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<A NAME="toc5"></A>
<H2>Verbs</H2>
<P>
In our lexicon description (<I>Verbum</I>) there are 62 forms:
@@ -395,10 +384,6 @@ a particle can be included in a <CODE>V</CODE>.
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

@@ -2,61 +2,48 @@
<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-15 16:29:51 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Spanish Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc4">Compound nouns</A>
<LI><A HREF="#toc5">Relational nouns</A>
<LI><A HREF="#toc6">Relational common noun phrases</A>
<LI><A HREF="#toc7">Proper names and noun phrases</A>
<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="#toc8">Adjectives</A>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc9">Two-place adjectives</A>
<LI><A HREF="#toc10">Comparison adjectives</A>
<LI><A HREF="#toc8">Two-place adjectives</A>
<LI><A HREF="#toc9">Comparison adjectives</A>
</UL>
<LI><A HREF="#toc11">Adverbs</A>
<LI><A HREF="#toc12">Verbs</A>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Verbs</A>
<UL>
<LI><A HREF="#toc13">Two-place verbs</A>
<LI><A HREF="#toc14">Three-place verbs</A>
<LI><A HREF="#toc15">Other complement patterns</A>
<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>
<LI><A HREF="#toc16">The definitions of the paradigms</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:43 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=.:../romance:../common:../abstract:../../prelude
</P>
<A NAME="toc1"></A>
<H1>Spanish Lexical Paradigms</H1>
<P>
Aarne Ranta 2003
</P>
<P>
@@ -94,7 +81,7 @@ escape to construct the most irregular words of type <CODE>C</CODE>.
flags optimize=all ;
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
@@ -124,16 +111,16 @@ amalgamate with the following word (the 'genitive' <I>de</I> and the
'dative' <I>à</I>).
</P>
<PRE>
Preposition : Type ;
Prep : Type ;
accusative : Preposition ;
genitive : Preposition ;
dative : Preposition ;
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
mkPreposition : Str -&gt; Preposition ;
mkPrep : Str -&gt; Prep ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: two forms (singular + plural),
@@ -164,7 +151,7 @@ To force a different gender, use one of the following functions.
femN : N -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H3>Compound nouns</H3>
<P>
Some nouns are ones where the first part is inflected as a noun but
@@ -176,13 +163,13 @@ they are frequent in lexica.
compN : N -&gt; Str -&gt; N ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<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; Preposition -&gt; N2 ;
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
@@ -198,10 +185,10 @@ with the empty preposition.
Three-place relational nouns (<I>la connessione di x a y</I>) need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Preposition -&gt; Preposition -&gt; N3 ;
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<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
@@ -209,13 +196,14 @@ 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="toc7"></A>
<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
mkPN : Str -&gt; Gender -&gt; PN ; -- Jean
regPN : Str -&gt; PN ; -- masculine
</PRE>
<P></P>
<P>
@@ -226,7 +214,7 @@ you can use the worst-case function.
mkNP : Str -&gt; Gender -&gt; Number -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Non-comparison one-place adjectives need five forms in the worst
@@ -255,16 +243,16 @@ provided.
prefA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<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; Preposition -&gt; A2 ;
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<A NAME="toc9"></A>
<H3>Comparison adjectives</H3>
<P>
Comparison adjectives are in the worst case put up from two
@@ -290,7 +278,7 @@ with comparison by <I>mas</I>.
regADeg : Str -&gt; A ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<A NAME="toc10"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
@@ -314,7 +302,7 @@ Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<A NAME="toc11"></A>
<H2>Verbs</H2>
<P>
Regular verbs are ones inflected like <I>cortar</I>, <I>deber</I>, or <I>vivir</I>.
@@ -350,14 +338,14 @@ in masculine singular form as second argument.
special_ppV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<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; Preposition -&gt; V2 ;
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
@@ -369,19 +357,19 @@ You can reuse a <CODE>V2</CODE> verb in <CODE>V</CODE>.
v2V : V2 -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<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; Preposition -&gt; Preposition -&gt; V3 ; -- parler, à, de
dirV3 : V -&gt; Preposition -&gt; V3 ; -- donner,_,à
dirdirV3 : V -&gt; V3 ; -- donner,_,_
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="toc15"></A>
<A NAME="toc14"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
@@ -390,20 +378,20 @@ questions, verb phrases, and adjectives.
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Preposition -&gt; V2S ;
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; Preposition -&gt; Preposition -&gt; V2V ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Preposition -&gt; Preposition -&gt; V2A ;
mkV2A : V -&gt; Prep -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Preposition -&gt; V2Q ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Preposition -&gt; A2S ;
mkAV : A -&gt; Preposition -&gt; AV ;
mkA2V : A -&gt; Preposition -&gt; Preposition -&gt; A2V ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; Prep -&gt; AV ;
mkA2V : A -&gt; Prep -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
@@ -417,12 +405,6 @@ as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<A NAME="toc16"></A>
<H2>The definitions of the paradigms</H2>
<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 spanish/ParadigmsSpa.txt -->

View File

@@ -2,63 +2,50 @@
<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-15 16:03:55 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Swedish Lexical Paradigms</A>
<UL>
<LI><A HREF="#toc2">Parameters</A>
<LI><A HREF="#toc3">Nouns</A>
<LI><A HREF="#toc1">Parameters</A>
<LI><A HREF="#toc2">Nouns</A>
<UL>
<LI><A HREF="#toc4">Compound nouns</A>
<LI><A HREF="#toc5">Relational nouns</A>
<LI><A HREF="#toc6">Relational common noun phrases</A>
<LI><A HREF="#toc7">Proper names and noun phrases</A>
<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="#toc8">Adjectives</A>
<LI><A HREF="#toc7">Adjectives</A>
<UL>
<LI><A HREF="#toc9">Two-place adjectives</A>
<LI><A HREF="#toc8">Two-place adjectives</A>
</UL>
<LI><A HREF="#toc10">Adverbs</A>
<LI><A HREF="#toc11">Prepositions</A>
<LI><A HREF="#toc12">Verbs</A>
<LI><A HREF="#toc9">Adverbs</A>
<LI><A HREF="#toc10">Verbs</A>
<UL>
<LI><A HREF="#toc13">Verbs with a particle.</A>
<LI><A HREF="#toc14">Deponent verbs.</A>
<LI><A HREF="#toc15">Two-place verbs</A>
<LI><A HREF="#toc16">Three-place verbs</A>
<LI><A HREF="#toc17">Other complement patterns</A>
<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>
<LI><A HREF="#toc18">Definitions of the paradigms</A>
<LI><A HREF="#toc16">Definitions of the paradigms</A>
</UL>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:44 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=.:../scandinavian:../common:../abstract:../../prelude
</P>
<A NAME="toc1"></A>
<H1>Swedish Lexical Paradigms</H1>
<P>
Aarne Ranta 2003
</P>
<P>
@@ -96,7 +83,7 @@ words.
CatSwe in {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Parameters</H2>
<P>
To abstract over gender names, we define the following identifiers.
@@ -133,10 +120,11 @@ To abstract over case names, we define the following.
Prepositions used in many-argument functions are just strings.
</P>
<PRE>
Preposition : Type = Str ;
mkPrep : Str -&gt; Prep ;
noPrep : Prep ; -- empty string
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Nouns</H2>
<P>
Worst case: give all four forms. The gender is computed from the
@@ -179,19 +167,19 @@ It does not work if there are changes in the stem.
mk1N : (bilarna : Str) -&gt; N ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<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="toc5"></A>
<A NAME="toc4"></A>
<H3>Relational nouns</H3>
<P>
Relational nouns (<I>daughter of x</I>) need a preposition.
</P>
<PRE>
mkN2 : N -&gt; Preposition -&gt; N2 ;
mkN2 : N -&gt; Prep -&gt; N2 ;
</PRE>
<P></P>
<P>
@@ -210,10 +198,10 @@ form other prepositions.
Three-place relational nouns (<I>the connection from x to y</I>) need two prepositions.
</P>
<PRE>
mkN3 : N -&gt; Preposition -&gt; Preposition -&gt; N3 ;
mkN3 : N -&gt; Prep -&gt; Prep -&gt; N3 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<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
@@ -221,13 +209,14 @@ 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="toc7"></A>
<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; Gender -&gt; PN ; -- John, John's
regGenPN : Str -&gt; Gender -&gt; PN ;
regPN : Str -&gt; PN ; -- utrum
</PRE>
<P></P>
<P>
@@ -245,7 +234,7 @@ genitive, you can use the worst-case function.
mkNP : Str -&gt; Str -&gt; Number -&gt; Gender -&gt; NP ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Adjectives</H2>
<P>
Adjectives may need as many as seven forms.
@@ -284,16 +273,16 @@ Comparison forms may be compound (<I>mera svensk</I> - <I>mest svensk</I>).
compoundA : A -&gt; A ;
</PRE>
<P></P>
<A NAME="toc9"></A>
<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; Preposition -&gt; A2 ;
mkA2 : A -&gt; Prep -&gt; A2 ;
</PRE>
<P></P>
<A NAME="toc10"></A>
<A NAME="toc9"></A>
<H2>Adverbs</H2>
<P>
Adverbs are not inflected. Most lexical ones have position
@@ -311,16 +300,7 @@ Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -&gt; AdA ;
</PRE>
<P></P>
<A NAME="toc11"></A>
<H2>Prepositions</H2>
<P>
A preposition is just a string.
</P>
<PRE>
mkPreposition : Str -&gt; Preposition ;
</PRE>
<P></P>
<A NAME="toc12"></A>
<A NAME="toc10"></A>
<H2>Verbs</H2>
<P>
The worst case needs five forms.
@@ -358,7 +338,7 @@ In practice, it is enough to give three forms, as in school books.
irregV : (dricka, drack, druckit : Str) -&gt; V ;
</PRE>
<P></P>
<A NAME="toc13"></A>
<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.
@@ -367,7 +347,7 @@ The particle, such as in <I>passa p
partV : V -&gt; Str -&gt; V ;
</PRE>
<P></P>
<A NAME="toc14"></A>
<A NAME="toc12"></A>
<H3>Deponent verbs.</H3>
<P>
Some words are used in passive forms only, e.g. <I>hoppas</I>, some as
@@ -378,31 +358,31 @@ reflexive e.g. <I>
reflV : V -&gt; V ;
</PRE>
<P></P>
<A NAME="toc15"></A>
<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; Preposition -&gt; V2 ;
mkV2 : V -&gt; Prep -&gt; V2 ;
dirV2 : V -&gt; V2 ;
</PRE>
<P></P>
<A NAME="toc16"></A>
<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; Preposition -&gt; Preposition -&gt; V3 ; -- tala med om
dirV3 : V -&gt; Preposition -&gt; V3 ; -- ge _ till
mkV3 : V -&gt; Prep -&gt; Prep -&gt; V3 ; -- tala med om
dirV3 : V -&gt; Prep -&gt; V3 ; -- ge _ till
dirdirV3 : V -&gt; V3 ; -- ge _ _
</PRE>
<P></P>
<A NAME="toc17"></A>
<A NAME="toc15"></A>
<H3>Other complement patterns</H3>
<P>
Verbs and adjectives can take complements such as sentences,
@@ -411,18 +391,18 @@ questions, verb phrases, and adjectives.
<PRE>
mkV0 : V -&gt; V0 ;
mkVS : V -&gt; VS ;
mkV2S : V -&gt; Str -&gt; V2S ;
mkV2S : V -&gt; Prep -&gt; V2S ;
mkVV : V -&gt; VV ;
mkV2V : V -&gt; Str -&gt; Str -&gt; V2V ;
mkV2V : V -&gt; Prep -&gt; Prep -&gt; V2V ;
mkVA : V -&gt; VA ;
mkV2A : V -&gt; Str -&gt; V2A ;
mkV2A : V -&gt; Prep -&gt; V2A ;
mkVQ : V -&gt; VQ ;
mkV2Q : V -&gt; Str -&gt; V2Q ;
mkV2Q : V -&gt; Prep -&gt; V2Q ;
mkAS : A -&gt; AS ;
mkA2S : A -&gt; Str -&gt; A2S ;
mkA2S : A -&gt; Prep -&gt; A2S ;
mkAV : A -&gt; AV ;
mkA2V : A -&gt; Str -&gt; A2V ;
mkA2V : A -&gt; Prep -&gt; A2V ;
</PRE>
<P></P>
<P>
@@ -436,7 +416,7 @@ as an adverb. Likewise <CODE>AS, A2S, AV, A2V</CODE> are just <CODE>A</CODE>.
AS, A2S, AV, A2V : Type ;
</PRE>
<P></P>
<A NAME="toc18"></A>
<A NAME="toc16"></A>
<H2>Definitions of the paradigms</H2>
<P>
The definitions should not bother the user of the API. So they are

View File

@@ -2,21 +2,16 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Phrases and utterances</TITLE>
<TITLE> Phrase: Phrases and Utterances</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Phrases and utterances</H1>
<P ALIGN="center"><CENTER><H1> Phrase: Phrases and Utterances</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:40 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Phrases and utterances</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Phrases and utterances</H1>
<PRE>
abstract Phrase = Cat ** {
</PRE>

View File

@@ -13,8 +13,7 @@
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:45 2006
Last update: 2005-11-23 09:16:18 CET
</P>
<P>
Produced by
@@ -22,9 +21,6 @@ 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>
operations for precedence-dependent strings.
five levels:
p4 (constants), p3 (applications), p2 (products), p1 (sums), p0 (arrows)

View File

@@ -6,17 +6,12 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Predefined functions for concrete syntax</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:45 2006
<I>Last update: 2006-02-27 09:41:31 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Predefined functions for concrete syntax</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Predefined functions for concrete syntax</H1>
<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

View File

@@ -13,17 +13,13 @@
<HR NOSHADE SIZE=1>
<P></P>
<P>
Author:
Last update: Tue Jun 13 11:42:45 2006
Last update: 2006-06-02 17:49:44 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>
<P>
==
</P>
<PRE>
abstract PredefAbs = {
cat Int ; String ; Float ;

View File

@@ -6,24 +6,20 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> A Small Predication Library</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:44 2006
<I>Last update: 2006-02-28 09:26:58 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">A Small Predication Library</A>
<UL>
<LI><A HREF="#toc2">The category of atomic sentences</A>
<LI><A HREF="#toc3">Predication patterns.</A>
<LI><A HREF="#toc4">Imperatives and infinitives.</A>
<LI><A HREF="#toc5">Individual-valued function applications</A>
<LI><A HREF="#toc6">Families of types</A>
<LI><A HREF="#toc7">Type constructor</A>
<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>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
@@ -33,8 +29,6 @@ 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 Small Predication Library</H1>
<P>
(c) Aarne Ranta 2003-2006 under Gnu GPL.
</P>
@@ -46,7 +40,7 @@ API of resource grammars.
abstract Predication = Cat ** {
</PRE>
<P></P>
<A NAME="toc2"></A>
<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
@@ -58,7 +52,7 @@ tenses.
NegCl : Cl -&gt; S ; -- negative sentence: "x doesn't intersect y"
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Predication patterns.</H2>
<PRE>
predV : V -&gt; NP -&gt; Cl ; -- one-place verb: "x converges"
@@ -76,14 +70,14 @@ tenses.
predPrep : Prep -&gt; NP -&gt; NP -&gt; Cl ; -- preposition: "x is outside y"
</PRE>
<P></P>
<A NAME="toc4"></A>
<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="toc5"></A>
<A NAME="toc4"></A>
<H2>Individual-valued function applications</H2>
<PRE>
appN2 : N2 -&gt; NP -&gt; NP ; -- one-place function: "the successor of x"
@@ -91,7 +85,7 @@ tenses.
appColl : N2 -&gt; NP -&gt; NP -&gt; NP ; -- collective function: "the sum of x and y"
</PRE>
<P></P>
<A NAME="toc6"></A>
<A NAME="toc5"></A>
<H2>Families of types</H2>
<P>
These are expressed by relational nouns applied to arguments.
@@ -102,7 +96,7 @@ These are expressed by relational nouns applied to arguments.
famColl : N2 -&gt; NP -&gt; NP -&gt; CN ; -- collective family: "path between x and y"
</PRE>
<P></P>
<A NAME="toc7"></A>
<A NAME="toc6"></A>
<H2>Type constructor</H2>
<P>
This is similar to a family except that the argument is a type.

View File

@@ -6,25 +6,21 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The GF Prelude</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:46 2006
<I>Last update: 2006-02-27 09:41:31 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">The GF Prelude</A>
<UL>
<LI><A HREF="#toc2">Strings, records, and tables</A>
<LI><A HREF="#toc3">Optional elements</A>
<LI><A HREF="#toc4">Infixes. prefixes, and postfixes</A>
<LI><A HREF="#toc5">Booleans</A>
<LI><A HREF="#toc6">High-level acces to Predef operations</A>
<LI><A HREF="#toc7">Lexer-related operations</A>
<LI><A HREF="#toc8">Miscellaneous</A>
<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>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
@@ -34,8 +30,6 @@ 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>The GF Prelude</H1>
<P>
This file defines some prelude facilities usable in all grammars.
</P>
@@ -45,7 +39,7 @@ This file defines some prelude facilities usable in all grammars.
oper
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Strings, records, and tables</H2>
<PRE>
SS : Type = {s : Str} ;
@@ -74,7 +68,7 @@ Discontinuous constituents.
sd2 : (_,_ : Str) -&gt; SD2 = \x,y -&gt; {s1 = x ; s2 = y} ;
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Optional elements</H2>
<P>
Missing form.
@@ -106,7 +100,7 @@ Parametric order between two strings.
if_then_Str pr (x ++ y) (y ++ x) ;
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H2>Infixes. prefixes, and postfixes</H2>
<P>
Fixes with precedences are defined in <A HREF="Precedence.html">Precedence</A>.
@@ -118,7 +112,7 @@ Fixes with precedences are defined in <A HREF="Precedence.html">Precedence</A>.
embedSS : Str -&gt; Str -&gt; SS -&gt; SS = \f,g,x -&gt; ss (f ++ x.s ++ g) ;
</PRE>
<P></P>
<A NAME="toc5"></A>
<A NAME="toc4"></A>
<H2>Booleans</H2>
<PRE>
param Bool = True | False ;
@@ -154,7 +148,7 @@ Interface to internal booleans
last : Tok -&gt; Tok = Predef.dp 1 ;
</PRE>
<P></P>
<A NAME="toc6"></A>
<A NAME="toc5"></A>
<H2>High-level acces to Predef operations</H2>
<PRE>
isNil : Tok -&gt; Bool = \b -&gt; pbool2bool (Predef.eqStr [] b) ;
@@ -163,7 +157,7 @@ Interface to internal booleans
case Predef.eqStr t u of {Predef.PTrue =&gt; a ; Predef.PFalse =&gt; b} ;
</PRE>
<P></P>
<A NAME="toc7"></A>
<A NAME="toc6"></A>
<H2>Lexer-related operations</H2>
<P>
Bind together two tokens in some lexers, either obligatorily or optionally
@@ -191,7 +185,7 @@ These should be hidden, and never changed since they are hardcoded in (un)lexers
CAPIT : Str = "&amp;|" ;
</PRE>
<P></P>
<A NAME="toc8"></A>
<A NAME="toc7"></A>
<H2>Miscellaneous</H2>
<P>
Identity function

View File

@@ -2,21 +2,16 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Questions and interrogative pronouns</TITLE>
<TITLE> Question: Questions and Interrogative Pronouns</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Questions and interrogative pronouns</H1>
<P ALIGN="center"><CENTER><H1> Question: Questions and Interrogative Pronouns</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:41 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Questions and interrogative pronouns</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Questions and interrogative pronouns</H1>
<PRE>
abstract Question = Cat ** {
</PRE>

View File

@@ -6,17 +6,12 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Relative clauses and pronouns</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:41 2006
<I>Last update: 2006-01-25 12:10:58 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Relative clauses and pronouns</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Relative clauses and pronouns</H1>
<PRE>
abstract Relative = Cat ** {

View File

@@ -2,27 +2,23 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Sentences, clauses, imperatives, and sentential complements</TITLE>
<TITLE> Sentence: Sentences, Clauses, and Imperatives</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Sentences, clauses, imperatives, and sentential complements</H1>
<P ALIGN="center"><CENTER><H1> Sentence: Sentences, Clauses, and Imperatives</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:41 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Sentences, clauses, imperatives, and sentential complements</A>
<UL>
<LI><A HREF="#toc2">Clauses</A>
<LI><A HREF="#toc3">Clauses missing object noun phrases</A>
<LI><A HREF="#toc4">Imperatives</A>
<LI><A HREF="#toc5">Embedded sentences</A>
<LI><A HREF="#toc6">Sentences</A>
<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>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
@@ -32,13 +28,11 @@ 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>Sentences, clauses, imperatives, and sentential complements</H1>
<PRE>
abstract Sentence = Cat ** {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Clauses</H2>
<P>
The <CODE>NP VP</CODE> predication rule form a clause whose linearization
@@ -59,7 +53,7 @@ is only meaningful for some verb phrases.
PredSCVP : SC -&gt; VP -&gt; Cl ; -- that you go makes me happy
</PRE>
<P></P>
<A NAME="toc3"></A>
<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
@@ -77,7 +71,7 @@ the style of CCG.
SlashPrep : Cl -&gt; Prep -&gt; Slash ; -- (with whom) he walks
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H2>Imperatives</H2>
<P>
An imperative is straightforwardly formed from a verb phrase.
@@ -88,7 +82,7 @@ To fix these parameters, see <A HREF="Phrase.html">Phrase</A>.
ImpVP : VP -&gt; Imp ; -- go
</PRE>
<P></P>
<A NAME="toc5"></A>
<A NAME="toc4"></A>
<H2>Embedded sentences</H2>
<P>
Sentences, questions, and infinitival phrases can be used as
@@ -100,7 +94,7 @@ subjects and (adverbial) complements.
EmbedVP : VP -&gt; SC ; -- to go
</PRE>
<P></P>
<A NAME="toc6"></A>
<A NAME="toc5"></A>
<H2>Sentences</H2>
<P>
These are the 2 x 4 x 4 = 16 forms generated by different

View File

@@ -2,21 +2,16 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> GF Resource Grammar API for Structural Words</TITLE>
<TITLE> Structural: Structural Words</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> GF Resource Grammar API for Structural Words</H1>
<P ALIGN="center"><CENTER><H1> Structural: Structural Words</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:41 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">GF Resource Grammar API for Structural Words</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,11 +20,6 @@ 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>GF Resource Grammar API for Structural Words</H1>
<P>
AR 21/11/2003 -- 30/11/2005
</P>
<P>
Here we have some words belonging to closed classes and appearing
in all languages we have considered.

View File

@@ -6,21 +6,17 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Symbolic expressions</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:44 2006
<I>Last update: 2006-03-17 14:11:37 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Symbolic expressions</A>
<UL>
<LI><A HREF="#toc2">Noun phrases with symbols and numbers</A>
<LI><A HREF="#toc3">Sentence consisting of a formula</A>
<LI><A HREF="#toc4">Symbol lists</A>
<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>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
@@ -30,8 +26,6 @@ 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>Symbolic expressions</H1>
<P>
<B>Note</B>. This module is not automatically included in the main
grammar <A HREF="Lang.html">Lang</A>.
@@ -40,7 +34,7 @@ grammar <A HREF="Lang.html">Lang</A>.
abstract Symbol = Cat, PredefAbs ** {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Noun phrases with symbols and numbers</H2>
<PRE>
fun
@@ -52,13 +46,13 @@ grammar <A HREF="Lang.html">Lang</A>.
CNSymbNP : Det -&gt; CN -&gt; [Symb] -&gt; NP ; -- (the) (2) numbers x and y
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Sentence consisting of a formula</H2>
<PRE>
SymbS : Symb -&gt; S ; -- A
</PRE>
<P></P>
<A NAME="toc4"></A>
<A NAME="toc3"></A>
<H2>Symbol lists</H2>
<P>
A symbol list has at least two elements. The last two are separated

View File

@@ -6,17 +6,12 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Tense, Polarity, and Anteriority</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:41 2006
<I>Last update: 2006-02-27 09:41:31 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Tense, Polarity, and Anteriority</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,8 +20,6 @@ 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>Tense, Polarity, and Anteriority</H1>
<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

View File

@@ -2,21 +2,16 @@
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE> Texts</TITLE>
<TITLE> Text: Texts</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> Texts</H1>
<P ALIGN="center"><CENTER><H1> Text: Texts</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:41 2006
<I>Last update: 2006-06-15 09:19:39 CEST</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Texts</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
@@ -25,16 +20,19 @@ 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>Texts</H1>
<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 ;
TQuestMark : Phr -&gt; Text -&gt; Text ;
TExclMark : Phr -&gt; Text -&gt; Text ;
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>

View File

@@ -6,22 +6,18 @@
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1> The construction of verb phrases</H1>
<FONT SIZE="4">
<I>Author: </I><BR>
Last update: Tue Jun 13 11:42:41 2006
<I>Last update: 2006-02-27 09:41:31 CET</I><BR>
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">The construction of verb phrases</A>
<UL>
<LI><A HREF="#toc2">Complementization rules</A>
<LI><A HREF="#toc3">Other ways of forming verb phrases</A>
<LI><A HREF="#toc4">Complements to copula</A>
<LI><A HREF="#toc5">Coercions</A>
<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>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
@@ -31,13 +27,11 @@ 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>The construction of verb phrases</H1>
<PRE>
abstract Verb = Cat ** {
</PRE>
<P></P>
<A NAME="toc2"></A>
<A NAME="toc1"></A>
<H2>Complementization rules</H2>
<P>
Verb phrases are constructed from verbs by providing their
@@ -57,7 +51,7 @@ complements. There is one rule for each verb category.
ComplV2A : V2A -&gt; NP -&gt; AP -&gt; VP ; -- paint the house red
</PRE>
<P></P>
<A NAME="toc3"></A>
<A NAME="toc2"></A>
<H2>Other ways of forming verb phrases</H2>
<P>
Verb phrases can also be constructed reflexively and from
@@ -98,7 +92,7 @@ vs. next to (or before) the verb.
<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="toc4"></A>
<A NAME="toc3"></A>
<H2>Complements to copula</H2>
<P>
Adjectival phrases, noun phrases, and adverbs can be used.
@@ -109,7 +103,7 @@ Adjectival phrases, noun phrases, and adverbs can be used.
CompAdv : Adv -&gt; Comp ; -- (be) here
</PRE>
<P></P>
<A NAME="toc5"></A>
<A NAME="toc4"></A>
<H2>Coercions</H2>
<P>
Verbs can change subcategorization patterns in systematic ways,

View File

@@ -8,18 +8,18 @@ flags
lin
airplane_N = regN "airplane" ;
answer_V2S = mkV2S (regV "answer") "to" ;
answer_V2S = mkV2S (regV "answer") toP ;
apartment_N = regN "apartment" ;
apple_N = regN "apple" ;
art_N = regN "art" ;
ask_V2Q = mkV2Q (regV "ask") [] ;
ask_V2Q = mkV2Q (regV "ask") noPrep ;
baby_N = regN "baby" ;
bad_A = mkADeg "bad" "badly" "worse" "worst" ;
bank_N = regN "bank" ;
beautiful_A = regADeg "beautiful" ;
become_VA = mkVA (irregV "become" "became" "become") ;
beer_N = regN "beer" ;
beg_V2V = mkV2V (regDuplV "beg") [] "to" ;
beg_V2V = mkV2V (regDuplV "beg") noPrep toP ;
big_A = duplADeg "big" ;
bike_N = regN "bike" ;
bird_N = regN "bird" ;
@@ -60,12 +60,12 @@ lin
cow_N = regN "cow" ;
die_V = (regV "die") ;
dirty_A = regADeg "dirty" ;
distance_N3 = mkN3 (regN "distance") "from" "to" ;
distance_N3 = mkN3 (regN "distance") fromP toP ;
doctor_N = regN "doctor" ;
dog_N = regN "dog" ;
door_N = regN "door" ;
drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ;
easy_A2V = mkA2V (regA "easy") "for" ;
easy_A2V = mkA2V (regA "easy") forP ;
eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ;
empty_A = regADeg "empty" ;
enemy_N = regN "enemy" ;
@@ -108,14 +108,14 @@ lin
leather_N = regN "leather" ;
leave_V2 = dirV2 (irregV "leave" "left" "left") ;
like_V2 = dirV2 (regV "like") ;
listen_V2 = mkV2 (regV "listen") "to" ;
listen_V2 = mkV2 (regV "listen") toP ;
live_V = (regV "live") ;
long_A = regADeg "long" ;
lose_V2 = dirV2 (irregV "lose" "lost" "lost") ;
love_N = regN "love" ;
love_V2 = dirV2 (regV "love") ;
man_N = mk2N "man" "men" ;
married_A2 = mkA2 (regA "married") "to" ;
married_A2 = mkA2 (regA "married") toP ;
meat_N = regN "meat" ;
milk_N = regN "milk" ;
moon_N = regN "moon" ;
@@ -128,9 +128,9 @@ lin
oil_N = regN "oil" ;
old_A = regADeg "old" ;
open_V2 = dirV2 (regV "open") ;
paint_V2A = mkV2A (regV "paint") [] ;
paint_V2A = mkV2A (regV "paint") noPrep ;
paper_N = regN "paper" ;
paris_PN = regPN "Paris" nonhuman ;
paris_PN = regPN "Paris" ;
peace_N = regN "peace" ;
pen_N = regN "pen" ;
planet_N = regN "planet" ;
@@ -157,8 +157,8 @@ lin
sea_N = regN "sea" ;
seek_V2 = dirV2 (irregV "seek" "sought" "sought") ;
see_V2 = dirV2 (irregV "see" "saw" "seen") ;
sell_V3 = dirV3 (irregV "sell" "sold" "sold") "to" ;
send_V3 = dirV3 (irregV "send" "sent" "sent") "to" ;
sell_V3 = dirV3 (irregV "sell" "sold" "sold") toP ;
send_V3 = dirV3 (irregV "send" "sent" "sent") toP ;
sheep_N = mk2N "sheep" "sheep" ;
ship_N = regN "ship" ;
shirt_N = regN "shirt" ;
@@ -182,7 +182,7 @@ lin
switch8off_V2 = dirV2 (partV (regV "switch") "off") ;
switch8on_V2 = dirV2 (partV (regV "switch") "on") ;
table_N = regN "table" ;
talk_V3 = mkV3 (regV "talk") "to" "about" ;
talk_V3 = mkV3 (regV "talk") toP aboutP ;
teacher_N = regN "teacher" ;
teach_V2 = dirV2 (irregV "teach" "taught" "taught") ;
television_N = regN "television" ;
@@ -196,7 +196,7 @@ lin
understand_V2 = dirV2 (irregV "understand" "understood" "understood") ;
university_N = regN "university" ;
village_N = regN "village" ;
wait_V2 = mkV2 (regV "wait") "for" ;
wait_V2 = mkV2 (regV "wait") forP ;
walk_V = (regV "walk") ;
warm_A = regADeg "warm" ;
war_N = regN "war" ;
@@ -217,9 +217,9 @@ lin
now_Adv = mkAdv "now" ;
already_Adv = mkAdv "already" ;
song_N = regN "song" ;
add_V3 = dirV3 (regV "add") "to" ;
add_V3 = dirV3 (regV "add") toP ;
number_N = regN "number" ;
put_V2 = mkV2 (irregDuplV "put" "put" "put") [] ;
put_V2 = mkV2 (irregDuplV "put" "put" "put") noPrep ;
stop_V = regDuplV "stop" ;
jump_V = regV "jump" ;
@@ -311,7 +311,7 @@ lin
flow_V = regV "flow" ;
fly_V = fly_V ;
freeze_V = freeze_V ;
give_V3 = dirV3 give_V "to" ;
give_V3 = dirV3 give_V toP ;
laugh_V = regV "laugh" ;
lie_V = lie_V ;
play_V = regV "play" ;
@@ -351,4 +351,13 @@ lin
-- other_A = regA "other" ;
oper
aboutP = mkPrep "about" ;
atP = mkPrep "at" ;
forP = mkPrep "for" ;
fromP = mkPrep "from" ;
inP = mkPrep "in" ;
onP = mkPrep "on" ;
toP = mkPrep "to" ;
} ;

View File

@@ -58,8 +58,8 @@ oper
genitive : Case ;
-- Prepositions are used in many-argument functions for rection.
-- The resource category $Prep$ is used.
Preposition : Type ;
--2 Nouns
@@ -96,19 +96,19 @@ oper
--
-- Relational nouns ("daughter of x") need a preposition.
mkN2 : N -> Preposition -> N2 ;
mkN2 : N -> Prep -> N2 ;
-- The most common preposition is "of", and the following is a
-- shortcut for regular relational nouns with "of".
regN2 : Str -> N2 ;
-- Use the function $mkPreposition$ or see the section on prepositions below to
-- Use the function $mkPrep$ or see the section on prepositions below to
-- form other prepositions.
--
-- Three-place relational nouns ("the connection from x to y") need two prepositions.
mkN3 : N -> Preposition -> Preposition -> N3 ;
mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -116,15 +116,16 @@ oper
-- In some cases, you may want to make a complex $CN$ into a
-- relational noun (e.g. "the old town hall of").
cnN2 : CN -> Preposition -> N2 ;
cnN3 : CN -> Preposition -> Preposition -> N3 ;
cnN2 : CN -> Prep -> N2 ;
cnN3 : CN -> Prep -> Prep -> N3 ;
--
--3 Proper names and noun phrases
--
-- Proper names, with a regular genitive, are formed as follows
regPN : Str -> Gender -> PN ; -- John, John's
regPN : Str -> PN ;
regGenPN : Str -> Gender -> PN ; -- John, John's
-- Sometimes you can reuse a common noun as a proper name, e.g. "Bank".
@@ -151,7 +152,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
mkA2 : A -> Preposition -> A2 ;
mkA2 : A -> Prep -> A2 ;
-- Comparison adjectives may two more forms.
@@ -197,8 +198,8 @@ oper
-- A preposition as used for rection in the lexicon, as well as to
-- build $PP$s in the resource API, just requires a string.
mkPreposition : Str -> Preposition ;
mkPrep : Str -> Prep ;
mkPrep : Str -> Prep ;
noPrep : Prep ;
-- (These two functions are synonyms.)
@@ -247,7 +248,7 @@ oper
-- Two-place verbs need a preposition, except the special case with direct object.
-- (transitive verbs). Notice that a particle comes from the $V$.
mkV2 : V -> Preposition -> V2 ;
mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -256,9 +257,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
mkV3 : V -> Preposition -> Preposition -> V3 ; -- speak, with, about
dirV3 : V -> Preposition -> V3 ; -- give,_,to
dirdirV3 : V -> V3 ; -- give,_,_
mkV3 : V -> Prep -> Prep -> V3 ; -- speak, with, about
dirV3 : V -> Prep -> V3 ; -- give,_,to
dirdirV3 : V -> V3 ; -- give,_,_
--3 Other complement patterns
--
@@ -267,18 +268,18 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
mkV2S : V -> Str -> V2S ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
mkV2V : V -> Str -> Str -> V2V ;
mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
mkV2A : V -> Str -> V2A ;
mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Str -> V2Q ;
mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
mkA2S : A -> Str -> A2S ;
mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
mkA2V : A -> Str -> A2V ;
mkA2V : A -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -288,12 +289,11 @@ oper
V0, V2S, V2V, V2A, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
--.
--2 Definitions of paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Gender = MorphoEng.Gender ;
Number = MorphoEng.Number ;
@@ -307,7 +307,7 @@ oper
nominative = Nom ;
genitive = Gen ;
Preposition = Str ;
Preposition : Type = Str ; -- obsolete
regN = \ray ->
let
@@ -345,13 +345,14 @@ oper
compoundN s n = {s = \\x,y => s ++ n.s ! x ! y ; g=n.g ; lock_N = <>} ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
regN2 n = mkN2 (regN n) (mkPreposition "of") ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
cnN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
cnN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p.s} ;
regN2 n = mkN2 (regN n) (mkPrep "of") ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p.s ; c3 = q.s} ;
cnN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p.s} ;
cnN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p.s ; c3 = q.s} ;
regPN n g = nameReg n g ** {lock_PN = <>} ;
regPN n = regGenPN n human ;
regGenPN n g = nameReg n g ** {lock_PN = <>} ;
nounPN n = {s = n.s ! singular ; g = n.g ; lock_PN = <>} ;
mkNP x y n g = {s = table {Gen => x ; _ => y} ; a = agrP3 n ;
lock_NP = <>} ;
@@ -359,7 +360,7 @@ oper
mkA a b = mkAdjective a a a b ** {lock_A = <>} ;
regA a = regAdjective a ** {lock_A = <>} ;
mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ;
ADeg = A ; ----
@@ -394,8 +395,8 @@ oper
mkAdV x = ss x ** {lock_AdV = <>} ;
mkAdA x = ss x ** {lock_AdA = <>} ;
mkPreposition p = p ;
mkPrep p = ss p ** {lock_Prep = <>} ;
noPrep = mkPrep [] ;
mkV a b c d e = mkVerb a b c d e ** {s1 = [] ; lock_V = <>} ;
@@ -434,12 +435,12 @@ oper
partV v p = verbPart v p ** {lock_V = <>} ;
reflV v = {s = v.s ; part = v.part ; lock_V = v.lock_V ; isRefl = True} ;
mkV2 v p = v ** {s = v.s ; s1 = v.s1 ; c2 = p ; lock_V2 = <>} ;
dirV2 v = mkV2 v [] ;
mkV2 v p = v ** {s = v.s ; s1 = v.s1 ; c2 = p.s ; lock_V2 = <>} ;
dirV2 v = mkV2 v noPrep ;
mkV3 v p q = v ** {s = v.s ; s1 = v.s1 ; c2 = p ; c3 = q ; lock_V3 = <>} ;
dirV3 v p = mkV3 v [] p ;
dirdirV3 v = dirV3 v [] ;
mkV3 v p q = v ** {s = v.s ; s1 = v.s1 ; c2 = p.s ; c3 = q.s ; lock_V3 = <>} ;
dirV3 v p = mkV3 v noPrep p ;
dirdirV3 v = dirV3 v noPrep ;
mkVS v = v ** {lock_VS = <>} ;
mkVV v = {

View File

@@ -203,6 +203,7 @@ oper
-- Proper names can be formed by using declensions for nouns.
-- The plural forms are filtered away by the compiler.
regPN : Str -> PN ;
mkPN : N -> PN ;
mkNP : N -> Number -> NP ;
@@ -333,9 +334,9 @@ oper
V0, V2S, V2V, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
--.
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Case = MorphoFin.Case ;
Number = MorphoFin.Number ;
@@ -472,6 +473,7 @@ reg3N = \vesi,veden,vesi
mkN2 = \n,c -> n ** {c2 = c ; lock_N2 = <>} ;
mkN3 = \n,c,e -> n ** {c2 = c ; c3 = e ; lock_N3 = <>} ;
genN2 = \n -> mkN2 n (casePrep genitive) ;
regPN m = mkPN (regN m) ;
mkPN n = mkProperName n ** {lock_PN = <>} ;
mkNP noun num = {
s = \\c => noun.s ! NCase num (npform2case c) ;

View File

@@ -57,13 +57,11 @@ oper
-- amalgamate with the following word (the 'genitive' "de" and the
-- 'dative' "à").
Preposition : Type ;
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
accusative : Preposition ;
genitive : Preposition ;
dative : Preposition ;
mkPreposition : Str -> Preposition ;
mkPrep : Str -> Prep ;
--2 Nouns
@@ -102,7 +100,7 @@ oper
--
-- Relational nouns ("fille de x") need a case and a preposition.
mkN2 : N -> Preposition -> N2 ;
mkN2 : N -> Prep -> N2 ;
-- The most common cases are the genitive "de" and the dative "à",
-- with the empty preposition.
@@ -112,7 +110,7 @@ oper
-- Three-place relational nouns ("la connection de x à y") need two prepositions.
mkN3 : N -> Preposition -> Preposition -> N3 ;
mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -127,7 +125,10 @@ oper
--
-- Proper names need a string and a gender.
mkPN : Str -> Gender -> PN ; -- Jean
mkPN : Str -> Gender -> PN ; -- Jean
regPN : Str -> PN ; -- masculine
-- To form a noun phrase that can also be plural,
-- you can use the worst-case function.
@@ -160,7 +161,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
mkA2 : A -> Preposition -> A2 ;
mkA2 : A -> Prep -> A2 ;
--3 Comparison adjectives
@@ -227,7 +228,7 @@ oper
-- Two-place verbs need a preposition, except the special case with direct object.
-- (transitive verbs). Notice that a particle comes from the $V$.
mkV2 : V -> Preposition -> V2 ;
mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -240,9 +241,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de
dirV3 : V -> Preposition -> V3 ; -- donner,_,à
dirdirV3 : V -> V3 ; -- donner,_,_
mkV3 : V -> Prep -> Prep -> V3 ; -- parler, à, de
dirV3 : V -> Prep -> V3 ; -- donner,_,à
dirdirV3 : V -> V3 ; -- donner,_,_
--3 Other complement patterns
--
@@ -251,20 +252,20 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
mkV2S : V -> Preposition -> V2S ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "je veux parler"
deVV : V -> VV ; -- "j'essaie de parler"
aVV : V -> VV ; -- "j'arrive à parler"
mkV2V : V -> Preposition -> Preposition -> V2V ;
mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
mkV2A : V -> Preposition -> Preposition -> V2A ;
mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Preposition -> V2Q ;
mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
mkA2S : A -> Preposition -> A2S ;
mkAV : A -> Preposition -> AV ;
mkA2V : A -> Preposition -> Preposition -> A2V ;
mkA2S : A -> Prep -> A2S ;
mkAV : A -> Prep -> AV ;
mkA2V : A -> Prep -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -274,11 +275,12 @@ oper
V0, V2S, V2V, V2Q : Type ;
AS, A2S, AV, A2V : Type ;
--.
--2 Definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Gender = MorphoFre.Gender ;
Number = MorphoFre.Number ;
@@ -291,7 +293,12 @@ oper
accusative = complAcc ;
genitive = complGen ;
dative = complDat ;
mkPreposition p = {s = p ; c = Acc ; isDir = False} ;
mkPrep p = {s = p ; c = Acc ; isDir = False} ;
--- obsolete
Preposition : Type ;
mkPreposition : Str -> Preposition ;
mkPreposition = mkPrep ;
mkN x y g = mkCNomIrreg x y g ** {lock_N = <>} ;
regN x = regGenN x g where {
@@ -308,6 +315,7 @@ oper
aN2 n = mkN2 n dative ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
regPN x = mkPN x masculine ;
mkPN x g = {s = x ; g = g} ** {lock_PN = <>} ;
mkNP x g n = {s = (pn2np (mkPN x g)).s; a = agrP3 g n ; hasClit = False} ** {lock_NP = <>} ;

View File

@@ -1,5 +1,5 @@
--# -path=.:../common:../abstract:../../prelude
--
--1 German Lexical Paradigms
--
-- Aarne Ranta & Harald Hammarström 2003--2006
@@ -235,12 +235,13 @@ oper
AS, A2S, AV, A2V : Type ;
--.
--2 Definitions of paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Gender = MorphoGer.Gender ;
Case = MorphoGer.Case ;

View File

@@ -0,0 +1,5 @@
concrete ExtraIta of ExtraItaAbs = ExtraRomanceIta **
open CommonRomance, PhonoIta, ParamX, ResIta in {
}

View File

@@ -0,0 +1,6 @@
-- Structures special for Italian. These are not implemented in other
-- Romance languages.
abstract ExtraItaAbs = ExtraRomanceAbs ** {
}

View File

@@ -0,0 +1,2 @@
concrete ExtraRomanceIta of ExtraRomanceAbs = CatIta ** ExtraRomance with
(ResRomance = ResIta) ;

View File

@@ -0,0 +1,7 @@
--# -path=.:../romance:../abstract:../common:prelude
concrete Italian of ItalianAbs =
LangIta,
-- IrregIta,
ExtraIta
** {} ;

View File

@@ -0,0 +1,5 @@
abstract ItalianAbs =
Lang,
-- IrregItaAbs,
ExtraItaAbs
** {} ;

View File

@@ -130,7 +130,7 @@ lin
old_A = prefA (regADeg "vecchio") ;
open_V2 = dirV2 (verboV (aprire_102 "aprire")) ;
paint_V2A =
mkV2A (verboV (cingere_31 "pingere")) accusative (mkPreposition "in") ;
mkV2A (verboV (cingere_31 "pingere")) accusative (mkPrep "in") ; ----
paper_N = regN "carta" ;
paris_PN = mkPN "Parigi" masculine ;
peace_N = femN (regN "pace") ;

View File

@@ -58,13 +58,13 @@ oper
-- amalgamate with the following word (the 'genitive' "de" and the
-- 'dative' "à").
Preposition : Type ;
Prep : Type ;
accusative : Preposition ;
genitive : Preposition ;
dative : Preposition ;
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
mkPreposition : Str -> Preposition ;
mkPrep : Str -> Prep ;
--2 Nouns
@@ -98,7 +98,7 @@ oper
--
-- Relational nouns ("figlio di x") need a case and a preposition.
mkN2 : N -> Preposition -> N2 ;
mkN2 : N -> Prep -> N2 ;
-- The most common cases are the genitive "di" and the dative "a",
-- with the empty preposition.
@@ -108,7 +108,7 @@ oper
-- Three-place relational nouns ("la connessione di x a y") need two prepositions.
mkN3 : N -> Preposition -> Preposition -> N3 ;
mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -123,7 +123,8 @@ oper
--
-- Proper names need a string and a gender.
mkPN : Str -> Gender -> PN ; -- Jean
mkPN : Str -> Gender -> PN ;
regPN : Str -> PN ; -- masculine
-- To form a noun phrase that can also be plural,
-- you can use the worst-case function.
@@ -153,7 +154,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
mkA2 : A -> Preposition -> A2 ;
mkA2 : A -> Prep -> A2 ;
--3 Comparison adjectives
@@ -217,7 +218,7 @@ oper
-- Two-place verbs need a preposition, except the special case with direct object.
-- (transitive verbs). Notice that a particle comes from the $V$.
mkV2 : V -> Preposition -> V2 ;
mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -230,9 +231,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de
dirV3 : V -> Preposition -> V3 ; -- donner,_,à
dirdirV3 : V -> V3 ; -- donner,_,_
mkV3 : V -> Prep -> Prep -> V3 ; -- parlare, a, di
dirV3 : V -> Prep -> V3 ; -- dare,_,a
dirdirV3 : V -> V3 ; -- dare,_,_
--3 Other complement patterns
@@ -242,20 +243,20 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
mkV2S : V -> Preposition -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "je veux parler"
deVV : V -> VV ; -- "j'essaie de parler"
aVV : V -> VV ; -- "j'arrive à parler"
mkV2V : V -> Preposition -> Preposition -> V2V ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "voglio parlare"
deVV : V -> VV ; -- "cerco di parlare"
aVV : V -> VV ; -- "arrivo a parlare"
mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
mkV2A : V -> Preposition -> Preposition -> V2A ;
mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Preposition -> V2Q ;
mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
mkA2S : A -> Preposition -> A2S ;
mkAV : A -> Preposition -> AV ;
mkA2V : A -> Preposition -> Preposition -> A2V ;
mkA2S : A -> Prep -> A2S ;
mkAV : A -> Prep -> AV ;
mkA2V : A -> Prep -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -266,11 +267,12 @@ oper
AS, A2S, AV, A2V : Type ;
--.
--2 The definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Gender = MorphoIta.Gender ;
Number = MorphoIta.Number ;
@@ -279,11 +281,11 @@ oper
singular = Sg ;
plural = Pl ;
Preposition = Compl ;
Prep = Compl ;
accusative = complAcc ;
genitive = complGen ;
dative = complDat ;
mkPreposition p = {s = p ; c = Acc ; isDir = False} ;
mkPrep p = {s = p ; c = Acc ; isDir = False} ;
mkN x y g = mkNounIrreg x y g ** {lock_N = <>} ;
regN x = mkNomReg x ** {lock_N = <>} ;
@@ -298,6 +300,7 @@ oper
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
mkPN x g = {s = x ; g = g} ** {lock_PN = <>} ;
regPN x = mkPN x masculine ;
mkNP x g n = {s = (pn2np (mkPN x g)).s; a = agrP3 g n ; hasClit = False} ** {lock_NP = <>} ;
mkA a b c d e =

View File

@@ -6,7 +6,7 @@ concrete StructuralIta of Structural = CatIta **
lin
above_Prep = {s = ["sopra"] ; c = MorphoIta.genitive ; isDir = False} ;
after_Prep = mkPreposition "dopo" ;
after_Prep = mkPrep "dopo" ;
all_Predet = {
s = \\a,c => prepCase c ++ aagrForms "tutto" "tutta" "tutti" "tutte" ! a ;
c = Nom
@@ -16,16 +16,16 @@ lin
although_Subj = ss "benché" ** {m = Conjunct} ;
and_Conj = ss "e" ** {n = Pl} ;
because_Subj = ss "perché" ** {m = Indic} ;
before_Prep = mkPreposition "prima" ;
behind_Prep = mkPreposition "dietro" ;
between_Prep = mkPreposition "fra" ;
before_Prep = mkPrep "prima" ;
behind_Prep = mkPrep "dietro" ;
between_Prep = mkPrep "fra" ;
both7and_DConj = {s1,s2 = "e" ; n = Pl} ;
but_PConj = ss "ma" ;
by8agent_Prep = {s = [] ; c = CPrep P_da} ;
by8means_Prep = mkPreposition "per" ;
by8agent_Prep = {s = [] ; c = CPrep P_da ; isDir = False} ;
by8means_Prep = mkPrep "per" ;
can8know_VV = mkVV (verboV (sapere_78 "sapere")) ;
can_VV = mkVV (verboV (potere_69 "potere")) ;
during_Prep = mkPreposition "durante" ;
during_Prep = mkPrep "durante" ;
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
everybody_NP = mkNP ["tutti"] Masc Pl ;
every_Det = {s = \\_,_ => "ogni" ; n = Sg} ;
@@ -44,12 +44,12 @@ lin
how_IAdv = ss "come" ;
how8many_IDet = {s = \\g,c => prepCase c ++ genForms "quanti" "quante" ! g ; n = Pl} ;
if_Subj = ss "se" ** {m = Indic} ;
in8front_Prep = mkPreposition "davanti" ;
in8front_Prep = mkPrep "davanti" ;
i_Pron =
mkPronoun
"io" "mi" "mi" "me" "me" "mio" "mia" "miei" "mie"
Fem Sg P1 ;
in_Prep = {s = [] ; c = CPrep P_in} ;
in_Prep = {s = [] ; c = CPrep P_in ; isDir = False} ;
it_Pron =
mkPronoun
"lui" "lo" "gli" "glie" "lui" "suo" "sua" "suoi" "sue"
@@ -61,7 +61,7 @@ lin
much_Det = {s = \\g,c => prepCase c ++ genForms "molto" "molta" ! g ; n = Sg} ;
must_VV = mkVV (verboV (dovere_47 "dovere")) ;
no_Phr = ss "no" ;
on_Prep = {s = [] ; c = CPrep P_su} ;
on_Prep = {s = [] ; c = CPrep P_su ; isDir = False} ;
one_Quant = {s = \\g,c => prepCase c ++ genForms "uno" "una" ! g} ;
only_Predet = {s = \\_,c => prepCase c ++ "soltanto" ; c = Nom} ; --- solo|a|i|e
or_Conj = {s = "o" ; n = Sg} ;
@@ -103,10 +103,10 @@ lin
} ;
this_NP = pn2np (mkPN ["questo"] Masc) ;
those_NP = mkNP ["quelle"] Fem Pl ;
through_Prep = mkPreposition "per" ;
through_Prep = mkPrep "per" ;
too_AdA = ss "troppo" ;
to_Prep = complDat ;
under_Prep = mkPreposition "sotto" ;
under_Prep = mkPrep "sotto" ;
very_AdA = ss "molto" ;
want_VV = mkVV (verboV (volere_96 "volere")) ;
we_Pron =
@@ -122,8 +122,8 @@ lin
whoPl_IP = {s = \\c => prepCase c ++ "chi" ; a = aagr Fem Pl} ;
whoSg_IP = {s = \\c => prepCase c ++ "chi" ; a = aagr Fem Sg} ;
why_IAdv = ss "perché" ;
without_Prep = mkPreposition "senza" ;
with_Prep = {s = [] ; c = CPrep P_con} ;
without_Prep = mkPrep "senza" ;
with_Prep = {s = [] ; c = CPrep P_con ; isDir = False} ;
yes_Phr = ss "sì" ;
youSg_Pron = mkPronoun
"tu" "ti" "ti" "te" "te" "tuo" "tua" "tuoi" "tue"

View File

@@ -8,18 +8,18 @@ flags startcat=Phr ; lexer=textlit ; unlexer=text ;
lin
airplane_N = mk2N "fly" "flyet" ;
answer_V2S = mkV2S (regV "svare") "til" ;
answer_V2S = mkV2S (regV "svare") (mkPrep "til") ;
apartment_N = mk2N "leilighet" "leiligheten" ;
apple_N = mk2N "eple" "eplet" ;
art_N = mk2N "kunst" "kunsten" ;
ask_V2Q = mkV2Q spørre_V [] ;
ask_V2Q = mkV2Q spørre_V noPrep ;
baby_N = mk2N "baby" "babyen" ;
bad_A = regADeg "dårlig" ; ----
bank_N = mk2N "bank" "banken" ;
beautiful_A = mk3ADeg "vakker" "vakkert" "vakra" ;
become_VA = mkVA (vaereV bli_V) ;
beer_N = regGenN "øl" neutrum ;
beg_V2V = mkV2V be_V [] "at" ;
beg_V2V = mkV2V be_V noPrep (mkPrep "at") ;
big_A = irregADeg "stor" "større" "størst";
bike_N = mkN "sykkel" "sykkelen" "sykler" "syklene" ;
bird_N = mk2N "fugl" "fuglen" ;
@@ -33,7 +33,7 @@ lin
bread_N = regGenN "brød" neutrum ;
break_V2 = dirV2 (mk2V "knuse" "knuste") ;
broad_A = regADeg "bred" ;
brother_N2 = mkN2 ( (mkN "bror" "broren" "brødre" "brødrene")) "til" ;
brother_N2 = mkN2 ( (mkN "bror" "broren" "brødre" "brødrene")) (mkPrep "til") ;
brown_A = regADeg "brun" ;
butter_N = regGenN "smør" neutrum ;
buy_V2 = dirV2 (mk2V "kjøpe" "kjøpte") ;
@@ -60,17 +60,17 @@ lin
cow_N = mkN "ku" "kua" "kyr" "kyrne" ; ----
die_V = vaereV dø_V ;
dirty_A = mk3ADeg "skitten" "skittent" "skitne" ; ----
distance_N3 = mkN3 (regGenN "avstand" masculine) "fra" "til" ;
distance_N3 = mkN3 (regGenN "avstand" masculine) (mkPrep "fra") (mkPrep "til") ;
doctor_N = mk2N "lege" "legen" ;
dog_N = regGenN "hund" masculine ;
door_N = regGenN "dør" feminine ;
drink_V2 = dirV2 drikke_V ;
easy_A2V = mkA2V (regA "grei") "for" ;
easy_A2V = mkA2V (regA "grei") (mkPrep "for") ;
eat_V2 = dirV2 (mk2V "spise" "spiste") ;
empty_A = mkADeg "tom" "tomt" "tomme" "tommere" "tommest" ;
enemy_N = regGenN "fiende" masculine ;
factory_N = mk2N "fabrikk" "fabrikken" ;
father_N2 = mkN2 ( (mkN "far" "faren" "fedre" "fedrene")) "til" ;
father_N2 = mkN2 ( (mkN "far" "faren" "fedre" "fedrene")) (mkPrep "til") ;
fear_VS = mkVS (regV "frykte") ;
find_V2 = dirV2 (irregV "finne" "fann" "funnet") ;
fish_N = mk2N "fisk" "fisken" ;
@@ -115,11 +115,11 @@ lin
love_N = regGenN "kjærlighet" masculine ;
love_V2 = dirV2 (regV "elske") ;
man_N = (mkN "mann" "mannen" "menn" "mennen") ;
married_A2 = mkA2 (mk2A "gift" "gift") "med" ;
married_A2 = mkA2 (mk2A "gift" "gift") (mkPrep "med") ;
meat_N = regGenN "kjøtt" neutrum ;
milk_N = regGenN "melk" masculine ;
moon_N = regGenN "måne" masculine ;
mother_N2 = mkN2 (mkN "mor" "moren" "mødre" "mødrene") "til" ; ---- fem
mother_N2 = mkN2 (mkN "mor" "moren" "mødre" "mødrene") (mkPrep "til") ; ---- fem
mountain_N = regGenN "berg" neutrum ;
music_N = mk2N "musikk" "musikken" ;
narrow_A = regADeg "smal" ;
@@ -128,9 +128,9 @@ lin
oil_N = regGenN "olje" masculine ;
old_A = mkADeg "gammel" "gammelt" "gamle" "eldre" "eldst" ;
open_V2 = dirV2 (regV "åpne") ;
paint_V2A = mkV2A (regV "male") [] ;
paint_V2A = mkV2A (regV "male") noPrep ;
paper_N = regGenN "papir" neutrum ; ----
paris_PN = regPN "Paris" neutrum ;
paris_PN = regGenPN "Paris" neutrum ;
peace_N = regGenN "fred" masculine ;
pen_N = regGenN "penn" masculine ;
planet_N = mk2N "planet" "planeten" ;
@@ -155,10 +155,10 @@ lin
school_N = regGenN "skole" feminine;
science_N = mk2N "vitenskap" "vitenskapen" ;
sea_N = mk2N "sjø" "sjøen" ;
seek_V2 = mkV2 (mk2V "lete" "lette") "etter" ;
seek_V2 = mkV2 (mk2V "lete" "lette") (mkPrep "etter") ;
see_V2 = dirV2 se_V ;
sell_V3 = dirV3 selge_V "til" ;
send_V3 = dirV3 (mk2V "sende" "sendte") "til" ;
sell_V3 = dirV3 selge_V (mkPrep "til") ;
send_V3 = dirV3 (mk2V "sende" "sendte") (mkPrep "til") ;
sheep_N = mk2N "får" "fåret" ;
ship_N = regGenN "skip" neutrum ;
shirt_N = regGenN "skjorte" feminine ;
@@ -182,7 +182,7 @@ lin
switch8off_V2 = dirV2 (partV (irregV "slå" "slo" "slått") "av") ;
switch8on_V2 = dirV2 (partV (irregV "slå" "slo" "slått") "på") ;
table_N = regGenN "bord" neutrum ;
talk_V3 = mkV3 (regV "snakke") "til" "om" ;
talk_V3 = mkV3 (regV "snakke") (mkPrep "til") (mkPrep "om") ;
teacher_N = mkN "lærer" "læreren" "lærere" "lærerne" ;
teach_V2 = dirV2 (mk2V "undervise" "underviste") ;
television_N = mk2N "fjernsyn" "fjernsynet" ;
@@ -196,11 +196,11 @@ lin
understand_V2 = dirV2 (irregV "forstå" "forstod" "forstått") ;
university_N = regGenN "universitet" neutrum ;
village_N = mk2N "grend" "grenda" ;
wait_V2 = mkV2 (regV "vente") "på" ;
wait_V2 = mkV2 (regV "vente") (mkPrep "på") ;
walk_V = vaereV gå_V ;
warm_A = regADeg "varm" ;
war_N = regGenN "krig" masculine ;
watch_V2 = mkV2 se_V "på" ;
watch_V2 = mkV2 se_V (mkPrep "på") ;
water_N = mk2N "vatn" "vatnet" ;
white_A = regADeg "hvit" ;
window_N = mkN "vindu" "vinduet" "vinduer" "vinduene" ; ---- er?
@@ -217,9 +217,9 @@ lin
now_Adv = mkAdv "nå" ;
already_Adv = mkAdv "allerede" ;
song_N = mk2N "sang" "sangen" ;
add_V3 = mkV3 (partV (irregV "legge" "la" "lagt") "til") [] "til" ;
add_V3 = mkV3 (partV (irregV "legge" "la" "lagt") "til") noPrep (mkPrep "til") ;
number_N = mk2N "nummer" "nummeret" ;
put_V2 = mkV2 (irregV "sette" "satte" "satt") [] ;
put_V2 = mkV2 (irregV "sette" "satte" "satt") noPrep ;
stop_V = vaereV (regV "stanse") ;
jump_V = regV "hoppe" ;

View File

@@ -60,7 +60,8 @@ oper
-- Prepositions used in many-argument functions are just strings.
Preposition : Type = Str ;
mkPrep : Str -> Prep ;
noPrep : Prep ; -- empty string
--2 Nouns
@@ -97,19 +98,19 @@ oper
--
-- Relational nouns ("daughter of x") need a preposition.
mkN2 : N -> Preposition -> N2 ;
mkN2 : N -> Prep -> N2 ;
-- The most common preposition is "av", and the following is a
-- shortcut for regular, $nonhuman$ relational nouns with "av".
regN2 : Str -> Gender -> N2 ;
-- Use the function $mkPreposition$ or see the section on prepositions below to
-- Use the function $mkPrep$ or see the section on prepositions below to
-- form other prepositions.
--
-- Three-place relational nouns ("the connection from x to y") need two prepositions.
mkN3 : N -> Preposition -> Preposition -> N3 ;
mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -124,7 +125,8 @@ oper
--
-- Proper names, with a regular genitive, are formed as follows
regPN : Str -> Gender -> PN ; -- John, John's
regPN : Str -> PN ; -- utrum
regGenPN : Str -> Gender -> PN ;
-- Sometimes you can reuse a common noun as a proper name, e.g. "Bank".
@@ -153,7 +155,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
mkA2 : A -> Preposition -> A2 ;
mkA2 : A -> Prep -> A2 ;
-- Comparison adjectives may need as many as five forms.
@@ -191,11 +193,6 @@ oper
mkAdA : Str -> AdA ;
--2 Prepositions
--
-- A preposition is just a string.
mkPreposition : Str -> Preposition ;
--2 Verbs
--
@@ -243,7 +240,7 @@ oper
-- Two-place verbs need a preposition, except the special case with direct object.
-- (transitive verbs). Notice that a particle comes from the $V$.
mkV2 : V -> Preposition -> V2 ;
mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -252,9 +249,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
mkV3 : V -> Str -> Str -> V3 ; -- speak, with, about
dirV3 : V -> Str -> V3 ; -- give,_,to
dirdirV3 : V -> V3 ; -- give,_,_
mkV3 : V -> Prep -> Prep -> V3 ; -- speak, with, about
dirV3 : V -> Prep -> V3 ; -- give,_,to
dirdirV3 : V -> V3 ; -- give,_,_
--3 Other complement patterns
--
@@ -263,18 +260,18 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
mkV2S : V -> Str -> V2S ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
mkV2V : V -> Str -> Str -> V2V ;
mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
mkV2A : V -> Str -> V2A ;
mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Str -> V2Q ;
mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
mkA2S : A -> Str -> A2S ;
mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
mkA2V : A -> Str -> A2V ;
mkA2V : A -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -285,11 +282,11 @@ oper
AS, A2S, AV, A2V : Type ;
--.
--2 Definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Gender = MorphoNor.Gender ;
Number = MorphoNor.Number ;
@@ -331,11 +328,12 @@ oper
} ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
regN2 n g = mkN2 (regGenN n g) (mkPreposition "av") ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p.s} ;
regN2 n g = mkN2 (regGenN n g) (mkPrep "av") ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p.s ; c3 = q.s} ;
regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
regGenPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
regPN n = regGenPN n utrum ;
nounPN n = {s = n.s ! singular ! Indef ; g = n.g ; lock_PN = <>} ;
mkNP x y n g =
{s = table {NPPoss _ => x ; _ => y} ; a = agrP3 g n ;
@@ -345,7 +343,7 @@ oper
mk2A a b = mkA a b (a + "e") ;
regA a = (regADeg a) ** {isComp = False ; lock_A = <>} ;
mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ;
mkADeg a b c d e = mkAdject a b c d e ** {isComp = False ; lock_A = <>} ;
regADeg a = case Predef.dp 2 a of {
@@ -366,7 +364,8 @@ oper
mkAdV x = ss x ** {lock_AdV = <>} ;
mkAdA x = ss x ** {lock_AdA = <>} ;
mkPreposition p = p ;
mkPrep p = {s = p ; lock_Prep = <>} ;
noPrep = mkPrep [] ;
mkV a b c d e f = mkVerb6 a b c d e f **
{part = [] ; vtype = VAct ; isVaere = False ; lock_V = <>} ;
@@ -404,12 +403,12 @@ oper
depV v = {s = v.s ; part = v.part ; vtype = VPass ; isVaere = False ; lock_V = <>} ;
reflV v = {s = v.s ; part = v.part ; vtype = VRefl ; isVaere = False ; lock_V = <>} ;
mkV2 v p = v ** {c2 = p ; lock_V2 = <>} ;
dirV2 v = mkV2 v [] ;
mkV2 v p = v ** {c2 = p.s ; lock_V2 = <>} ;
dirV2 v = mkV2 v noPrep ;
mkV3 v p q = v ** {c2 = p ; c3 = q ; lock_V3 = <>} ;
dirV3 v p = mkV3 v [] p ;
dirdirV3 v = dirV3 v [] ;
mkV3 v p q = v ** {c2 = p.s ; c3 = q.s ; lock_V3 = <>} ;
dirV3 v p = mkV3 v noPrep p ;
dirdirV3 v = dirV3 v noPrep ;
mkV0 v = v ** {lock_V0 = <>} ;
mkVS v = v ** {lock_VS = <>} ;

View File

@@ -65,7 +65,7 @@ incomplete concrete CatRomance of Cat =
Conj = {s : Str ; n : Number} ;
DConj = {s1,s2 : Str ; n : Number} ;
Subj = {s : Str ; m : Mood} ;
Prep = {s : Str ; c : Case} ;
Prep = {s : Str ; c : Case ; isDir : Bool} ;
-- Open lexical classes, e.g. Lexicon

View File

@@ -143,6 +143,7 @@ nPepel : Str -> N ; -- masculine, inanimate, ending with "-ел"- "пеп-л
-- Proper names.
mkPN : Str -> Gender -> Animacy -> PN ; -- "Иван", "Маша"
regPN : Str -> PN ;
nounPN : N -> PN ;
-- On the top level, it is maybe $CN$ that is used rather than $N$, and
@@ -292,10 +293,11 @@ perfective: Aspect ;
mkV3 : V -> Str -> Str -> Case -> Case -> V3 ; -- "сложить письмо в конверт"
dirV2 : V -> V2 ; -- "видеть", "любить"
tvDirDir : V -> V3 ;
--.
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Gender = MorphoRus.Gender ;
Case = MorphoRus.Case ;
Number = MorphoRus.Number ;
@@ -450,6 +452,8 @@ regN = \ray ->
Masc => mkProperNameMasc ivan anim ;
_ => mkProperNameFem ivan anim
} ** {lock_PN =<>};
regPN x = mkPN x masculine animate ;
nounPN n = {s=\\c => n.s! SF Sg c; anim=n.anim; g=n.g; lock_PN=<>};
mkCN = UseN;

View File

@@ -0,0 +1,2 @@
concrete ExtraRomanceSpa of ExtraRomanceAbs = CatSpa ** ExtraRomance with
(ResRomance = ResSpa) ;

View File

@@ -0,0 +1,5 @@
concrete ExtraSpa of ExtraSpaAbs = ExtraRomanceSpa **
open CommonRomance, PhonoSpa, ParamX, ResSpa in {
}

View File

@@ -0,0 +1,6 @@
-- Structures special for Spanish. These are not implemented in other
-- Romance languages.
abstract ExtraSpaAbs = ExtraRomanceAbs ** {
}

View File

@@ -128,7 +128,7 @@ lin
oil_N = regN "aceite" ;
old_A = prefA (regADeg "viejo") ;
open_V2 = dirV2 (special_ppV (regV "abrir") "abierto") ;
paint_V2A = mkV2A (regV "pintar") accusative (mkPreposition "en") ;
paint_V2A = mkV2A (regV "pintar") accusative (mkPrep "en") ;
paper_N = regN "papel" ;
paris_PN = mkPN "Paris" masculine ;
peace_N = femN (regN "paz") ;

View File

@@ -55,13 +55,13 @@ oper
-- amalgamate with the following word (the 'genitive' "de" and the
-- 'dative' "à").
Preposition : Type ;
Prep : Type ;
accusative : Preposition ;
genitive : Preposition ;
dative : Preposition ;
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
mkPreposition : Str -> Preposition ;
mkPrep : Str -> Prep ;
--2 Nouns
@@ -100,7 +100,7 @@ oper
--
-- Relational nouns ("fille de x") need a case and a preposition.
mkN2 : N -> Preposition -> N2 ;
mkN2 : N -> Prep -> N2 ;
-- The most common cases are the genitive "de" and the dative "a",
-- with the empty preposition.
@@ -110,7 +110,7 @@ oper
-- Three-place relational nouns ("la connessione di x a y") need two prepositions.
mkN3 : N -> Preposition -> Preposition -> N3 ;
mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -125,7 +125,9 @@ oper
--
-- Proper names need a string and a gender.
mkPN : Str -> Gender -> PN ; -- Jean
mkPN : Str -> Gender -> PN ; -- Jean
regPN : Str -> PN ; -- masculine
-- To form a noun phrase that can also be plural,
-- you can use the worst-case function.
@@ -156,7 +158,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
mkA2 : A -> Preposition -> A2 ;
mkA2 : A -> Prep -> A2 ;
--3 Comparison adjectives
@@ -221,7 +223,7 @@ oper
-- Two-place verbs need a preposition, except the special case with direct object.
-- (transitive verbs). Notice that a particle comes from the $V$.
mkV2 : V -> Preposition -> V2 ;
mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -234,9 +236,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de
dirV3 : V -> Preposition -> V3 ; -- donner,_,à
dirdirV3 : V -> V3 ; -- donner,_,_
mkV3 : V -> Prep -> Prep -> V3 ; -- parler, à, de
dirV3 : V -> Prep -> V3 ; -- donner,_,à
dirdirV3 : V -> V3 ; -- donner,_,_
--3 Other complement patterns
--
@@ -245,20 +247,20 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
mkV2S : V -> Preposition -> V2S ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "je veux parler"
deVV : V -> VV ; -- "j'essaie de parler"
aVV : V -> VV ; -- "j'arrive à parler"
mkV2V : V -> Preposition -> Preposition -> V2V ;
mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
mkV2A : V -> Preposition -> Preposition -> V2A ;
mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Preposition -> V2Q ;
mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
mkA2S : A -> Preposition -> A2S ;
mkAV : A -> Preposition -> AV ;
mkA2V : A -> Preposition -> Preposition -> A2V ;
mkA2S : A -> Prep -> A2S ;
mkAV : A -> Prep -> AV ;
mkA2V : A -> Prep -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -269,11 +271,11 @@ oper
AS, A2S, AV, A2V : Type ;
--.
--2 The definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Gender = MorphoSpa.Gender ;
Number = MorphoSpa.Number ;
@@ -282,11 +284,11 @@ oper
singular = Sg ;
plural = Pl ;
Preposition = Compl ;
Prep = Compl ;
accusative = complAcc ;
genitive = complGen ;
dative = complDat ;
mkPreposition p = {s = p ; c = Acc ; isDir = False} ;
mkPrep p = {s = p ; c = Acc ; isDir = False} ;
mkN x y g = mkNounIrreg x y g ** {lock_N = <>} ;
@@ -301,6 +303,7 @@ oper
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
mkPN x g = {s = x ; g = g} ** {lock_PN = <>} ;
regPN x = mkPN x masculine ;
mkNP x g n = {s = (pn2np (mkPN x g)).s; a = agrP3 g n ; hasClit = False} ** {lock_NP = <>} ;
mkA a b c d e =

View File

@@ -0,0 +1,7 @@
--# -path=.:../romance:../abstract:../common:prelude
concrete Spanish of SpanishAbs =
LangSpa,
-- IrregSpa,
ExtraSpa
** {} ;

View File

@@ -0,0 +1,5 @@
abstract SpanishAbs =
Lang,
-- IrregSpaAbs,
ExtraSpaAbs
** {} ;

View File

@@ -5,7 +5,7 @@ concrete StructuralSpa of Structural = CatSpa **
lin
above_Prep = mkPreposition "sobre" ;
above_Prep = mkPrep "sobre" ;
after_Prep = {s = ["despues"] ; c = MorphoSpa.genitive ; isDir = False} ;
all_Predet = {
s = \\a,c => prepCase c ++ aagrForms "todo" "toda" "todos" "todas" ! a ;
@@ -18,14 +18,14 @@ lin
because_Subj = ss "porque" ** {m = Indic} ;
before_Prep = {s = "antes" ; c = MorphoSpa.genitive ; isDir = False} ;
behind_Prep = {s = "detrás" ; c = MorphoSpa.genitive ; isDir = False} ;
between_Prep = mkPreposition "entre" ;
between_Prep = mkPrep "entre" ;
both7and_DConj = {s1,s2 = etConj.s ; n = Pl} ;
but_PConj = ss "pero" ;
by8agent_Prep = mkPreposition "por" ;
by8means_Prep = mkPreposition "por" ;
by8agent_Prep = mkPrep "por" ;
by8means_Prep = mkPrep "por" ;
can8know_VV = mkVV (verboV (saber_71 "saber")) ;
can_VV = mkVV (verboV (poder_58 "poder")) ;
during_Prep = mkPreposition "durante" ; ----
during_Prep = mkPrep "durante" ; ----
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
everybody_NP = mkNP ["todos"] Masc Pl ;
every_Det = {s = \\_,_ => "cada" ; n = Sg} ;
@@ -52,7 +52,7 @@ lin
"yo" "me" "me" "mí"
"mi" "mi" "mis" "mis"
Fem Sg P1 ;
in_Prep = mkPreposition "en" ;
in_Prep = mkPrep "en" ;
it_Pron =
mkPronoun
"el" "lo" "le" "él"
@@ -65,7 +65,7 @@ lin
much_Det = {s = \\g,c => prepCase c ++ genForms "mucho" "mucha" ! g ; n = Sg} ;
must_VV = mkVV (verboV (deber_6 "deber")) ;
no_Phr = ss "no" ;
on_Prep = mkPreposition "sobre" ;
on_Prep = mkPrep "sobre" ;
one_Quant = {s = \\g,c => prepCase c ++ genForms "uno" "una" ! g} ;
only_Predet = {s = \\_,c => prepCase c ++ "solamente" ; c = Nom} ;
or_Conj = {s = "o" ; n = Sg} ;
@@ -109,10 +109,10 @@ lin
} ;
this_NP = pn2np (mkPN ["esto"] Masc) ;
those_NP = mkNP ["esas"] Fem Pl ;
through_Prep = mkPreposition "por" ;
through_Prep = mkPrep "por" ;
too_AdA = ss "demasiado" ;
to_Prep = complDat ;
under_Prep = mkPreposition "bajo" ;
under_Prep = mkPrep "bajo" ;
very_AdA = ss "muy" ;
want_VV = mkVV (verboV (querer_64 "querer")) ;
we_Pron =
@@ -130,8 +130,8 @@ lin
whoPl_IP = {s = \\c => prepCase c ++ "quién" ; a = aagr Fem Pl} ;
whoSg_IP = {s = \\c => prepCase c ++ "quién" ; a = aagr Fem Sg} ;
why_IAdv = ss "porqué" ;
without_Prep = mkPreposition "sin" ;
with_Prep = mkPreposition "con" ;
without_Prep = mkPrep "sin" ;
with_Prep = mkPrep "con" ;
yes_Phr = ss "sí" ;
youSg_Pron = mkPronoun
"tu" "te" "te" "tí"

View File

@@ -0,0 +1,7 @@
-- Structures special for Swedish. These are not implemented in other
-- Scandinavian languages.
abstract ExtraSweAbs = ExtraScandAbs ** {
}

View File

@@ -8,18 +8,18 @@ flags
lin
airplane_N = regGenN "flygplan" neutrum ;
answer_V2S = mkV2S (regV "svarar") "till" ;
answer_V2S = mkV2S (regV "svarar") (mkPrep "till") ;
apartment_N = mk2N "lägenhet" "lägenheter" ;
apple_N = regGenN "äpple" neutrum ;
art_N = mk2N "konst" "konster" ;
ask_V2Q = mkV2Q (regV "frågar") [] ;
ask_V2Q = mkV2Q (regV "frågar") noPrep ;
baby_N = regGenN "bebis" utrum ;
bad_A = irregA "dålig" "sämre" "sämst";
bank_N = mk2N "bank" "banker" ;
beautiful_A = mk3A "vacker" "vackert" "vackra" ;
become_VA = mkVA (mkV "bli" "blir""bli" "blev" "blivit" "bliven") ;
beer_N = regGenN "öl" neutrum ;
beg_V2V = mkV2V (mkV "be" "ber""be" "blad" "bett" "bedd") [] "att" ;
beg_V2V = mkV2V (mkV "be" "ber""be" "blad" "bett" "bedd") noPrep (mkPrep "att") ;
big_A = irregA "stor" "större" "störst";
bike_N = mk2N "cykel" "cyklar" ;
bird_N = mk2N "fågel" "fåglar" ;
@@ -33,7 +33,7 @@ lin
bread_N = regGenN "bröd" neutrum ;
break_V2 = dirV2 (partV (mkV "slå" "slår" "slå" "slog" "slagit" "slagen") "sönder") ;
broad_A = mk2A "bred" "brett" ;
brother_N2 = mkN2 ((mkN "bror" "brodern" "bröder" "bröderna")) "till" ;
brother_N2 = mkN2 ((mkN "bror" "brodern" "bröder" "bröderna")) (mkPrep "till") ;
brown_A = regA "brun" ;
butter_N = regGenN "smör" neutrum ;
buy_V2 = dirV2 (mk2V "köpa" "köpte") ;
@@ -59,18 +59,18 @@ lin
cousin_N = mk2N "kusin" "kusiner" ;
cow_N = mk2N "ko" "kor" ;
die_V = (mkV "dö" "dör" "dö" "dog" "dött" "dödd") ; ----
distance_N3 = mkN3 (mk2N "avstånd" "avstånd") "från" "till" ;
distance_N3 = mkN3 (mk2N "avstånd" "avstånd") (mkPrep "från") (mkPrep "till") ;
dirty_A = regA "smutsig" ;
doctor_N = mk2N "läkare" "läkare" ;
dog_N = regGenN "hund" utrum ;
door_N = regGenN "dörr" utrum ;
drink_V2 = dirV2 (irregV "dricka" "drack" "druckit") ;
easy_A2V = mkA2V (mk2A "lätt" "lätt") "för" ;
easy_A2V = mkA2V (mk2A "lätt" "lätt") (mkPrep "för") ;
eat_V2 = dirV2 (irregV "äta" "åt" "ätit") ;
empty_A = mkA "tom" "tomt" "tomma" "tomma" "tommare" "tommast" "tommaste" ;
enemy_N = regGenN "fiende" neutrum ;
factory_N = mk2N "fabrik" "fabriker" ;
father_N2 = mkN2 ((mkN "far" "fadern" "fäder" "fäderna")) "till" ;
father_N2 = mkN2 ((mkN "far" "fadern" "fäder" "fäderna")) (mkPrep "till") ;
fear_VS = mkVS (regV "fruktar") ;
find_V2 = dirV2 (irregV "finna" "fann" "funnit") ;
fish_N = mk2N "fisk" "fiskar" ;
@@ -108,19 +108,19 @@ lin
learn_V2 = dirV2 (reflV (mkV "lära" "lär" "lär" "lärde" "lärt" "lärd")) ;
leather_N = mkN "läder" "lädret" "läder" "lädren" ;
leave_V2 = dirV2 (regV "lämnar") ;
like_V2 = mkV2 (mk2V "tycka" "tyckte") "om" ;
listen_V2 = mkV2 (regV "lyssnar") "på" ;
like_V2 = mkV2 (mk2V "tycka" "tyckte") (mkPrep "om") ;
listen_V2 = mkV2 (regV "lyssnar") (mkPrep "på") ;
live_V = (irregV "leva" "levde" "levt") ; ---- ?
long_A = irregA "lång" "längre" "längst" ;
lose_V2 = dirV2 (regV "förlora") ;
love_N = regGenN "kärlek" utrum ;
love_V2 = dirV2 (regV "älska") ;
man_N = (mkN "man" "mannen" "män" "männen") ;
married_A2 = mkA2 (mk2A "gift" "gift") "med" ;
married_A2 = mkA2 (mk2A "gift" "gift") (mkPrep "med") ;
meat_N = regGenN "kött" neutrum ;
milk_N = regGenN "mjölk" utrum ; ---- -ar?
moon_N = regGenN "måne" utrum ;
mother_N2 = mkN2 (mkN "mor" "modern" "mödrar" "mödrarna") "till" ;
mother_N2 = mkN2 (mkN "mor" "modern" "mödrar" "mödrarna") (mkPrep "till") ;
mountain_N = regGenN "berg" neutrum ;
music_N = mk2N "musik" "musiker" ; ---- er ?
narrow_A = regA "smal" ;
@@ -129,9 +129,9 @@ lin
oil_N = regGenN "olja" utrum ;
old_A = mkA "gammal" "gammalt" "gamla" "gamla" "äldre" "äldst" "äldsta" ;
open_V2 = dirV2 (regV "öppna") ;
paint_V2A = mkV2A (regV "måla") [] ;
paint_V2A = mkV2A (regV "måla") noPrep ;
paper_N = mkN "papper" "pappret" "papper" "pappren" ;
paris_PN = regPN "Paris" neutrum ;
paris_PN = regGenPN "Paris" neutrum ;
peace_N = regGenN "fred" utrum ; ---- ar?
pen_N = regGenN "penna" utrum ;
planet_N = mk2N "planet" "planeter" ;
@@ -158,8 +158,8 @@ lin
sea_N = mkN "sjö" "sjön" "sjöar" "sjöarna" ;
seek_V2 = dirV2 (mk2V "söka" "sökte") ;
see_V2 = dirV2 (mkV "se" "ser" "se" "såg" "sett" "sedd") ;
sell_V3 = dirV3 (irregV "sälja" "sålde" "sålt") "till" ;
send_V3 = dirV3 (regV "skicka") "till" ;
sell_V3 = dirV3 (irregV "sälja" "sålde" "sålt") (mkPrep "till") ;
send_V3 = dirV3 (regV "skicka") (mkPrep "till") ;
sheep_N = mk2N "får" "får" ;
ship_N = regGenN "skepp" neutrum ;
shirt_N = regGenN "skjorta" utrum ;
@@ -183,7 +183,7 @@ lin
switch8off_V2 = dirV2 (partV (irregV "stänga" "stängde" "stängt") "av") ;
switch8on_V2 = dirV2 (partV (irregV "slå" "slog" "slagit") "på") ;
table_N = regGenN "bord" neutrum ;
talk_V3 = mkV3 (regV "prata") "till" "om" ;
talk_V3 = mkV3 (regV "prata") (mkPrep "till") (mkPrep "om") ;
teacher_N = mk2N "lärare" "lärare" ;
teach_V2 = dirV2 (regV "undervisa") ;
television_N = mk2N "television" "televisioner" ;
@@ -197,11 +197,11 @@ lin
understand_V2 = dirV2 (mkV "förstå" "förstår" "förstå" "förstod" "förstått" "förstådd") ;
university_N = regGenN "universitet" neutrum ;
village_N = mkN "by" "byn" "byar" "byarna" ;
wait_V2 = mkV2 (regV "vänta") "på" ;
wait_V2 = mkV2 (regV "vänta") (mkPrep "på") ;
walk_V = (mkV "gå" "går" "gå" "gick" "gått" "gången") ;
warm_A = regA "varm" ;
war_N = regGenN "krig" neutrum ;
watch_V2 = mkV2 (regV "titta") "på" ;
watch_V2 = mkV2 (regV "titta") (mkPrep "på") ;
water_N = mkN "vatten" "vattnet" "vatten" "vattnen" ;
white_A = regA "vit" ;
window_N = mkN "fönster" "fönstret" "fönster" "fönstren" ;
@@ -218,9 +218,9 @@ lin
now_Adv = mkAdv "nu" ;
already_Adv = mkAdv "redan" ;
song_N = mk2N "sång" "sånger" ;
add_V3 = mkV3 (partV (irregV "lägga" "lade" "lagt") "till") [] "till" ;
add_V3 = mkV3 (partV (irregV "lägga" "lade" "lagt") "till") noPrep (mkPrep "till") ;
number_N = mkN "nummer" "numret" "numren" "numren" ;
put_V2 = mkV2 (mkV "sätta" "sätter" "sätt" "satte" "satt" "satt") [] ;
put_V2 = mkV2 (mkV "sätta" "sätter" "sätt" "satte" "satt" "satt") noPrep ;
stop_V = regV "stanna" ;
jump_V = regV "hoppa" ;
@@ -315,7 +315,7 @@ lin
flow_V = rinna_V ;
fly_V = flyga_V ;
freeze_V = frysa_V ;
give_V3 = dirV3 giva_V "till";
give_V3 = dirV3 giva_V (mkPrep "till");
hit_V2 = dirV2 (slå_V) ;
hold_V2 = dirV2 (hålla_V) ;
hunt_V2 = dirV2 (regV "jaga") ;
@@ -348,6 +348,7 @@ lin
wipe_V2 = dirV2 (regV "torka") ;
breathe_V = depV (regV "anda") ;
fight_V2 = mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") "med" ;
fight_V2 =
mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") (mkPrep "med") ;
} ;

View File

@@ -59,7 +59,8 @@ oper
-- Prepositions used in many-argument functions are just strings.
Preposition : Type = Str ;
mkPrep : Str -> Prep ;
noPrep : Prep ; -- empty string
--2 Nouns
@@ -100,7 +101,7 @@ oper
--
-- Relational nouns ("daughter of x") need a preposition.
mkN2 : N -> Preposition -> N2 ;
mkN2 : N -> Prep -> N2 ;
-- The most common preposition is "av", and the following is a
-- shortcut for regular, $nonhuman$ relational nouns with "av".
@@ -112,7 +113,7 @@ oper
--
-- Three-place relational nouns ("the connection from x to y") need two prepositions.
mkN3 : N -> Preposition -> Preposition -> N3 ;
mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -127,7 +128,8 @@ oper
--
-- Proper names, with a regular genitive, are formed as follows
regPN : Str -> Gender -> PN ; -- John, John's
regGenPN : Str -> Gender -> PN ;
regPN : Str -> PN ; -- utrum
-- Sometimes you can reuse a common noun as a proper name, e.g. "Bank".
@@ -167,7 +169,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
mkA2 : A -> Preposition -> A2 ;
mkA2 : A -> Prep -> A2 ;
--2 Adverbs
@@ -182,12 +184,6 @@ oper
mkAdA : Str -> AdA ;
--2 Prepositions
--
-- A preposition is just a string.
mkPreposition : Str -> Preposition ;
--2 Verbs
--
-- The worst case needs five forms.
@@ -234,7 +230,7 @@ oper
-- Two-place verbs need a preposition, except the special case with direct object.
-- (transitive verbs). Notice that a particle comes from the $V$.
mkV2 : V -> Preposition -> V2 ;
mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -243,8 +239,8 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
mkV3 : V -> Preposition -> Preposition -> V3 ; -- tala med om
dirV3 : V -> Preposition -> V3 ; -- ge _ till
mkV3 : V -> Prep -> Prep -> V3 ; -- tala med om
dirV3 : V -> Prep -> V3 ; -- ge _ till
dirdirV3 : V -> V3 ; -- ge _ _
--3 Other complement patterns
@@ -254,18 +250,18 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
mkV2S : V -> Str -> V2S ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
mkV2V : V -> Str -> Str -> V2V ;
mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
mkV2A : V -> Str -> V2A ;
mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Str -> V2Q ;
mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
mkA2S : A -> Str -> A2S ;
mkA2S : A -> Prep -> A2S ;
mkAV : A -> AV ;
mkA2V : A -> Str -> A2V ;
mkA2V : A -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -292,6 +288,9 @@ oper
nominative = Nom ;
genitive = Gen ;
mkPrep p = {s = p ; lock_Prep = <>} ;
noPrep = mkPrep [] ;
mkN = \apa,apan,apor,aporna -> {
s = nounForms apa apan apor aporna ;
g = case last apan of {
@@ -381,11 +380,12 @@ oper
} ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
regN2 n g = mkN2 (regGenN n g) (mkPreposition "av") ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p.s} ;
regN2 n g = mkN2 (regGenN n g) (mkPrep "av") ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p.s ; c3 = q.s} ;
regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
regPN n = regGenPN n utrum ;
regGenPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
nounPN n = {s = n.s ! singular ! Indef ; g = n.g ; lock_PN = <>} ;
mkNP x y n g =
{s = table {NPPoss _ => y ; _ => x} ; a = agrP3 g n ; p = P3 ;
@@ -413,14 +413,12 @@ oper
compoundA adj = {s = adj.s ; isComp = True ; lock_A = <>} ;
mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ;
mkAdv x = ss x ** {lock_Adv = <>} ;
mkAdV x = ss x ** {lock_AdV = <>} ;
mkAdA x = ss x ** {lock_AdA = <>} ;
mkPreposition p = p ;
mkV = \finna,finner,finn,fann,funnit,funnen ->
let
funn = ptPretForms funnen ;
@@ -489,12 +487,12 @@ oper
depV v = {s = v.s ; part = v.part ; vtype = VPass ; lock_V = <>} ;
reflV v = {s = v.s ; part = v.part ; vtype = VRefl ; lock_V = <>} ;
mkV2 v p = v ** {c2 = p ; lock_V2 = <>} ;
dirV2 v = mkV2 v [] ;
mkV2 v p = v ** {c2 = p.s ; lock_V2 = <>} ;
dirV2 v = mkV2 v noPrep ;
mkV3 v p q = v ** {c2 = p ; c3 = q ; lock_V3 = <>} ;
dirV3 v p = mkV3 v [] p ;
dirdirV3 v = dirV3 v [] ;
mkV3 v p q = v ** {c2 = p.s ; c3 = q.s ; lock_V3 = <>} ;
dirV3 v p = mkV3 v noPrep p ;
dirdirV3 v = dirV3 v noPrep ;
mkV0 v = v ** {lock_V0 = <>} ;
mkVS v = v ** {lock_VS = <>} ;

View File

@@ -34,6 +34,7 @@ main = do
"-latex" : xs -> (0,doc2latex,xs)
"-htmls" : xs -> (2,doc2html,xs)
"-txt" : xs -> (3,doc2txt,xs)
"-txt2" : xs -> (3,doc2txt2,xs)
"-txthtml": xs -> (4,doc2txt,xs)
xs -> (1,doc2html,xs)
if null xx
@@ -292,6 +293,8 @@ preludeLatex = unlines $ [
]
-- render in txt2tags
-- as main document (welcome, top-level subtitles)
-- as chapter (no welcome, subtitle level + i)
doc2txt :: Doc -> String
doc2txt (Doc title time paras) = unlines $
@@ -306,17 +309,28 @@ doc2txt (Doc title time paras) = unlines $
concat (["Produced by " ++ welcome]) :
"\n" :
empty :
map para2txt paras
map (para2txt 0) paras
para2txt :: Paragraph -> String
para2txt p = case p of
doc2txt2 :: Doc -> String
doc2txt2 (Doc title time paras) = unlines $
let tit = concat (map item2txt title) in
tit:
"":
concat (tagTxt (replicate 2 '=') [tit]):
"\n":
empty :
map (para2txt 2) paras
para2txt :: Int -> Paragraph -> String
para2txt j p = case p of
Text its -> concat (map item2txt its)
Item its -> "- " ++ concat (map item2txt its)
Code s -> unlines $ tagTxt "```" $ map (indent 2) $
remEmptyLines $ lines s
New -> "\n"
NewPage -> "\n" ++ "!-- NEW --"
Heading i its -> concat $ tagTxt (replicate i '=') [concat (map item2txt its)]
Heading i its ->
concat $ tagTxt (replicate (i + j) '=') [concat (map item2txt its)]
item2txt :: TextItem -> String
item2txt i = case i of