GF Logo

GF Resource Grammar Library: Synopsis

Introduction

The GF Resource Grammar Library is the standard library for Grammatical Framework. It covers the morphology and basic syntax of currently 38 languages: Afrikaans, Arabic, Bulgarian, Catalan, Chinese (simplified), Czech, Danish, Dutch, English, Estonian, Basque, Finnish, French, German, Greek, Hindi, Icelandic, Italian, Japanese, Latin, Latvian, Maltese, Mongolian, Nepali, Norwegian (nynorsk), Norwegian (bokmål), Persian, Punjabi, Polish, Portuguese, Romanian, Russian, Slovak, Sindhi, Spanish, Swedish, Thai, Urdu.

This document contains the most important parts of the GF Resource Grammar API, as needed by a GF application programmer. It has been machine-generated from the source files; there are links to the relevant source files, which give more information. Some of the files have not yet been prepared so that the machine generated documentation has the nicest possible format.

The main contents are:

  • Chapter 1: categories, with links to the functions for constructing trees in them.
  • Chapter 2: syntactic construction functions, with cross-links and examples.
  • Chapter 3: morphological (lexical) paradigms.
  • Chapter 4: additional libraries.
  • Chapter 5: how to "browse" the library by loading the grammars into the gf command editor.
  • Chapter 6: a brief example of how application grammars can use the resource modules.
  • Detailed table of contents.

The RGL Browser tool allows you to interactively browse through the library, view all functions in a module's scope, and quickly jump to their definitions.

Other relevant documents:

  • The RGL Status Document: the current status of different languages and the authors of each grammar
  • The Resource Grammar Library coverage map
  • RGL Documentation and Publications: links to publications and other documentation
  • More modules: extra modules, dictionaries, and the internals of the resource grammar
  • Internal abstract syntax: synopsis of internal abstract functions and their Universal Dependency labels
  • Minibar: find resource grammar expressions by parsing (select Grammar: LibraryBrowser) or test translations between all languages (select Grammar: ResourceDemo)
  • Resource Grammar Tutorial, as previously presented in LREC-2010.
  • Paper "The GF Resource Grammar Library" by A. Ranta (Linguistic Issues in Language Technology, 2 (2), 2009). An overview of the library with linguistic motivations. PDF
  • Paper "Grammars as Software Libraries" by A. Ranta (In Y. Bertot, G. Huet, J-J. Lévy, and G. Plotkin (eds.), From Semantics to Computer Science, Cambridge University Press, Cambridge, pp. 281--308, 2009). The library from a software engineering point of view. PDF

Categories

Source 1: ../../src/abstract/Common.gf

Source 2: ../../src/abstract/Cat.gf

A hierarchic view

The chart below shows the categories in a hierarchical top-down order. The edges do not define the complete dependency structure; if they did, the graph would have many many more edges, and also many cycles. The precise meaning of a directed edge from C to D is: there is a constructor of C that takes D as an argument. What the constructors exactly are, and what other arguments they take, is described by separate tables for each category.

RGL categories

The rectangular boxes mark open lexical categories, which have constructors also in the Paradigms modules.

Explanations

Category Explanation Example
A one-place adjective warm
A2 two-place adjective divisible
ACard adjective like cardinal few", "many
AP adjectival phrase very warm
AdA adjective-modifying adverb very
AdN numeral-modifying adverb more than
AdV adverb directly attached to verb always
Adv verb-phrase-modifying adverb in the house
Ant anteriority simultaneous, anterior
CAdv comparative adverb more
CN common noun (without determiner) red house
Card cardinal number seven
Cl declarative clause, with all tenses she looks at this
Comp complement of copula, such as AP very warm
Conj conjunction and
DAP determiner with adjective three small
Det determiner phrase those seven
Digits cardinal or ordinal in digits 1,000/1,000th
IAdv interrogative adverb why
IComp interrogative complement of copula where
IDet interrogative determiner how many
IP interrogative pronoun who
Imp imperative look at this
Interj interjection alas
N common noun house
N2 relational noun son
N3 three-place relational noun connection
NP noun phrase (subject or object) the red house
Num number determining element seven
Numeral cardinal or ordinal in words five/fifth
Ord ordinal number (used in Det) seventh
PConj phrase-beginning conjunction therefore
PN proper name Paris
Phr phrase in a text but be quiet please
Pol polarity positive, negative
Predet predeterminer (prefixed Quant) all
Prep preposition, or just case in
Pron personal pronoun she
QCl question clause, with all tenses why does she walk
QS question where did she live
Quant quantifier ('nucleus' of Det) this/these
RCl relative clause, with all tenses in which she lives
RP relative pronoun in which
RS relative in which she lived
S declarative sentence she lived here
SC embedded sentence or question that it rains
Subj subjunction if
Temp temporal and aspectual features past anterior
Tense tense present, past, future
Text text consisting of several phrases He is here. Why?
Utt sentence, question, word... be quiet
V one-place verb sleep
V2 two-place verb love
V2A verb with NP and AP complement paint
V2Q verb with NP and Q complement ask
V2S verb with NP and S complement tell
V2V verb with NP and V complement cause
V3 three-place verb show
VA adjective-complement verb look
VP verb phrase is very warm
VPSlash verb phrase missing complement give to John
VQ question-complement verb wonder
VS sentence-complement verb claim
VV verb-phrase-complement verb want
Voc vocative or "please" my darling

Syntax Rules and Structural Words

Source 1: ../../src/api/Constructors.gf

Source 2: ../../src/abstract/Structural.gf

A - one-place adjective

Lexical category, constructors given in lexical paradigms.

A2 - two-place adjective

Lexical category, constructors given in lexical paradigms.

ACard - adjective like cardinal

Lexical category, constructors given in lexical paradigms.

AP - adjectival phrase

Function Type Example
comparAP A -> AP
warmer
mkAP A -> AP
warm
mkAP A -> NP -> AP
warmer than Paris
mkAP A2 -> NP -> AP
married to her
mkAP A2 -> AP
married
mkAP AP -> S -> AP
it is good that she sleeps
mkAP AP -> QS -> AP
it is uncertain who sleeps
mkAP AP -> VP -> AP
she is ready to sleep
mkAP AP -> SC -> AP
she is ready to sleep
mkAP AdA -> A -> AP
very old
mkAP AdA -> AP -> AP
very very old
mkAP Conj -> AP -> AP -> AP
old or young
mkAP Conj -> ListAP -> AP
old, big and warm
mkAP Ord -> AP
oldest
mkAP CAdv -> AP -> NP -> AP
as old as she
reflAP A2 -> AP
married to itself

AdA - adjective-modifying adverb

Function Type Example
almost_AdA AdA
almost red
quite_Adv AdA
quite
so_AdA AdA
so warm
too_AdA AdA
too warm
very_AdA AdA
very warm

AdN - numeral-modifying adverb

Function Type Example
almost_AdN AdN
almost eight
at_least_AdN AdN
at least eight
at_most_AdN AdN
at most eight
mkAdN CAdv -> AdN
more than eight

AdV - adverb directly attached to verb

Function Type Example
always_AdV AdV
always

Adv - verb-phrase-modifying adverb

Function Type Example
everywhere_Adv Adv
everywhere
here7from_Adv Adv
from here
here7to_Adv Adv
to here
here_Adv Adv
here
mkAdv A -> Adv
warmly
mkAdv Prep -> NP -> Adv
in the house
mkAdv Subj -> S -> Adv
when she sleeps
mkAdv CAdv -> A -> NP -> Adv
more warmly than he
mkAdv CAdv -> A -> S -> Adv
more warmly than he runs
mkAdv AdA -> Adv -> Adv
very warmly
mkAdv Conj -> Adv -> Adv -> Adv
here and now
mkAdv Conj -> ListAdv -> Adv
with her, here and now
somewhere_Adv Adv
somewhere
there7from_Adv Adv
from there
there7to_Adv Adv
there
there_Adv Adv
there

Ant - anteriority

Function Type Example
anteriorAnt Ant
she has slept
simultaneousAnt Ant
she sleeps

CAdv - comparative adverb

Function Type Example
as_CAdv CAdv
as
less_CAdv CAdv
less
more_CAdv CAdv
more

CN - common noun (without determiner)

Function Type Example
mkCN N -> CN
house
mkCN N2 -> NP -> CN
mother of the king
mkCN N3 -> NP -> NP -> CN
distance from this city to Paris
mkCN N2 -> CN
mother
mkCN N3 -> CN
distance
mkCN A -> N -> CN
big house
mkCN A -> CN -> CN
big blue house
mkCN AP -> N -> CN
very big house
mkCN AP -> CN -> CN
very big blue house
mkCN N -> RS -> CN
man that she loves
mkCN CN -> RS -> CN
old man that she loves
mkCN N -> Adv -> CN
house on the hill
mkCN CN -> Adv -> CN
big house on the hill
mkCN CN -> S -> CN
rule that she sleeps
mkCN CN -> QS -> CN
question if she sleeps
mkCN CN -> VP -> CN
reason to sleep
mkCN CN -> SC -> CN
reason to sleep
mkCN N -> NP -> CN
king John
mkCN CN -> NP -> CN
old king John

Card - cardinal number

Function Type Example
mkCard Str -> Card thirty-five (given as "35"; range 1-999)
mkCard Numeral -> Card
seven
mkCard Digits -> Card 51
mkCard AdN -> Card -> Card almost fifty

Cl - declarative clause, with all tenses

Function Type Example
genericCl VP -> Cl
one sleeps
mkCl NP -> V -> Cl
she sleeps
mkCl NP -> V2 -> NP -> Cl
she loves him
mkCl NP -> V3 -> NP -> NP -> Cl
she sends it to him
mkCl NP -> VV -> VP -> Cl
she wants to sleep
mkCl NP -> VS -> S -> Cl
she says that I sleep
mkCl NP -> VQ -> QS -> Cl
she wonders who sleeps
mkCl NP -> VA -> A -> Cl
she becomes old
mkCl NP -> VA -> AP -> Cl
she becomes very old
mkCl NP -> V2A -> NP -> A -> Cl
she paints it red
mkCl NP -> V2A -> NP -> AP -> Cl
she paints it red
mkCl NP -> V2S -> NP -> S -> Cl
she answers to him that we sleep
mkCl NP -> V2Q -> NP -> QS -> Cl
she asks him who sleeps
mkCl NP -> V2V -> NP -> VP -> Cl
she begs him to sleep
mkCl NP -> VPSlash -> NP -> Cl she begs him to sleep here
mkCl NP -> A -> Cl
she is old
mkCl NP -> A -> NP -> Cl
she is older than he
mkCl NP -> A2 -> NP -> Cl
she is married to him
mkCl NP -> AP -> Cl
she is very old
mkCl NP -> NP -> Cl
she is the woman
mkCl NP -> N -> Cl
she is a woman
mkCl NP -> CN -> Cl
she is an old woman
mkCl NP -> Adv -> Cl
she is here
mkCl NP -> VP -> Cl
she always sleeps
mkCl N -> Cl
there is a house
mkCl CN -> Cl
there is an old house
mkCl NP -> Cl
there are many houses
mkCl NP -> RS -> Cl
it is she that sleeps
mkCl Adv -> S -> Cl
it is here that she sleeps
mkCl V -> Cl
it rains
mkCl VP -> Cl
it is raining
mkCl SC -> VP -> Cl
that she sleeps is good

ClSlash

Function Type Example
mkClSlash NP -> VPSlash -> ClSlash
whom does she see
mkClSlash NP -> V2 -> ClSlash
whom does she see
mkClSlash NP -> VV -> V2 -> ClSlash
whom does she want to see
mkClSlash Cl -> Prep -> ClSlash
whom does she sleep with
mkClSlash ClSlash -> Adv -> ClSlash
whom does she see today
mkClSlash NP -> VS -> SSlash -> ClSlash
whom does she know that we hadn't seen

Comp - complement of copula, such as AP

Function Type Example
mkComp AP -> Comp
to be old
mkComp NP -> Comp
to be this man
mkComp Adv -> Comp
to be here

Conj - conjunction

Function Type Example
and_Conj Conj
here and now
both7and_DConj Conj
both here and there
either7or_DConj Conj
either here or there
if_then_Conj Conj
if here then there
or_Conj Conj
here or there

DAP - determiner with adjective

Lexical category, constructors given in lexical paradigms.

Det - determiner phrase

Function Type Example
aPl_Det Det
women
aSg_Det Det
a woman
a_Det Det
a house
every_Det Det
every woman
few_Det Det
few women
many_Det Det
many houses
mkDet Quant -> Det
this
mkDet Quant -> Card -> Det
these five
mkDet Quant -> Ord -> Det
the fifth
mkDet Quant -> Num -> Ord -> Det
the five best
mkDet Quant -> Num -> Det
these
mkDet Card -> Det
five
mkDet Digits -> Det 51
mkDet Numeral -> Det five
mkDet Pron -> Det my
mkDet Pron -> Num -> Det
my five
much_Det Det
much wine
somePl_Det Det
some women
someSg_Det Det
some wine
that_Det Det
that woman
thePl_Det Det
the houses
theSg_Det Det
the house
the_Det Det
the house
these_Det Det
these women
this_Det Det
this woman
those_Det Det
those women

Dig

Function Type Example
n0_Dig Dig 0
n1_Dig Dig 1
n2_Dig Dig 2
n3_Dig Dig 3
n4_Dig Dig 4
n5_Dig Dig 5
n6_Dig Dig 6
n7_Dig Dig 7
n8_Dig Dig 8
n9_Dig Dig 9

Digits - cardinal or ordinal in digits

Function Type Example
mkDigits Str -> Digits 35 (from string "35"; ; range 1-9999999)
mkDigits Dig -> Digits
4
mkDigits Dig -> Digits -> Digits
1,233,486

IAdv - interrogative adverb

Function Type Example
how8much_IAdv IAdv
how much
how_IAdv IAdv
how
mkIAdv Prep -> IP -> IAdv
in which city
mkIAdv IAdv -> Adv -> IAdv
where in Paris
when_IAdv IAdv
when
where_IAdv IAdv
where
why_IAdv IAdv
why

IComp - interrogative complement of copula

Function Type Example
mkIComp IAdv -> IComp where (is it)
mkIComp IP -> IComp who (is it)

IDet - interrogative determiner

Function Type Example
how8many_IDet IDet
how many houses
mkIDet IQuant -> Num -> IDet
which houses
mkIDet IQuant -> IDet
which house
whichPl_IDet IDet
which houses
which_IDet IDet
which house

IP - interrogative pronoun

Function Type Example
mkIP IDet -> CN -> IP
which five big cities
mkIP IDet -> N -> IP
which five cities
mkIP IDet -> IP
which five
mkIP IQuant -> CN -> IP
which big city
mkIP IQuant -> Num -> CN -> IP
which five big cities
mkIP IQuant -> N -> IP
which city
mkIP IP -> Adv -> IP
who in Paris
whatPl_IP IP
what
whatSg_IP IP
what
what_IP IP
what
whoPl_IP IP
who
whoSg_IP IP
who
who_IP IP
who

IQuant

Function Type Example
which_IQuant IQuant
which house

Imp - imperative

Function Type Example
mkImp VP -> Imp
come to my house
mkImp V -> Imp
come
mkImp V2 -> NP -> Imp
buy it

ImpForm

Function Type Example
pluralImpForm ImpForm
be men
politeImpForm ImpForm
be a man
singularImpForm ImpForm
be a man

Interj - interjection

Lexical category, constructors given in lexical paradigms.

ListAP

Function Type Example
mkListAP AP -> AP -> ListAP list of two
mkListAP AP -> ListAP -> ListAP list of more

ListAdv

Function Type Example
mkListAdv Adv -> Adv -> ListAdv list of two
mkListAdv Adv -> ListAdv -> ListAdv list of more

ListNP

Function Type Example
mkListNP NP -> NP -> ListNP list of two
mkListNP NP -> ListNP -> ListNP list of more

ListRS

Function Type Example
mkListRS RS -> RS -> ListRS list of two
mkListRS RS -> ListRS -> ListRS list of more

ListS

Function Type Example
mkListS S -> S -> ListS list of two
mkListS S -> ListS -> ListS list of more

N - common noun

Lexical category, constructors given in lexical paradigms.

N2 - relational noun

Lexical category, constructors given in lexical paradigms.

N3 - three-place relational noun

Lexical category, constructors given in lexical paradigms.

NP - noun phrase (subject or object)

Function Type Example
everybody_NP NP
everybody
everything_NP NP
everything
he_NP NP
he
i_NP NP
I
it_NP NP
it
mkNP Quant -> N -> NP
this man
mkNP Quant -> CN -> NP
this old man
mkNP Quant -> Num -> CN -> NP
these five old men
mkNP Quant -> Num -> N -> NP
these five men
mkNP Det -> CN -> NP
the five old men
mkNP Det -> N -> NP
the five men
mkNP Numeral -> CN -> NP
five old men
mkNP Numeral -> N -> NP
five men
mkNP Digits -> CN -> NP
51 old men
mkNP Digits -> N -> NP
51 men
mkNP Card -> CN -> NP forty-five old men
mkNP Card -> N -> NP forty-five men
mkNP Pron -> CN -> NP
my old man
mkNP Pron -> N -> NP
my man
mkNP PN -> NP
Paris
mkNP Pron -> NP
we
mkNP Quant -> NP
this
mkNP Quant -> Num -> NP
these five
mkNP Det -> NP
the five best
mkNP CN -> NP
old beer
mkNP N -> NP
beer
mkNP Predet -> NP -> NP
only this woman
mkNP NP -> V2 -> NP
the man seen
mkNP NP -> Adv -> NP
Paris today
mkNP NP -> RS -> NP
John, that walks ...
mkNP Conj -> NP -> NP -> NP
this woman or John
mkNP Conj -> ListNP -> NP
this woman, John or I
nobody_NP NP
nobody
nothing_NP NP
nothing
she_NP NP
she
somebody_NP NP
somebody
something_NP NP
something
that_NP NP
that
these_NP NP
these
they_NP NP
they
this_NP NP
this
those_NP NP
those
we_NP NP
we
youPl_NP NP
you
youPol_NP NP
you
you_NP NP
you

Num - number determining element

Function Type Example
mkNum Str -> Num thirty-five (given by "35"; range 1-999)
mkNum Numeral -> Num
...
mkNum Digits -> Num
21
mkNum Digit -> Num five
mkNum Card -> Num
almost five
mkNum AdN -> Card -> Num
almost five
pluralNum Num plural
singularNum Num singular

Numeral - cardinal or ordinal in words

Function Type Example
mkNumeral Unit -> Numeral eight (coerce 1..9)
mkNumeral Sub100 -> Numeral twenty-five (coerce 1..99)
mkNumeral Sub1000 -> Numeral
nine hundred and ...
mkNumeral Sub1000 -> Sub1000 -> Numeral
nine hundred and ...
mkNumeral Str -> Numeral thirty-five (given by "35"; range 1-999)
thousandfoldNumeral Sub1000 -> Numeral
nine hundred and ...

Ord - ordinal number (used in Det)

Function Type Example
mkOrd Numeral -> Ord twentieth
mkOrd Digits -> Ord 51st
mkOrd Digit -> Ord fifth
mkOrd A -> Ord
smallest

PConj - phrase-beginning conjunction

Function Type Example
but_PConj PConj
but
mkPConj Conj -> PConj
and now
otherwise_PConj PConj
otherwise
therefore_PConj PConj
therefore

PN - proper name

Lexical category, constructors given in lexical paradigms.

Phr - phrase in a text

Function Type Example
mkPhr (PConj) -> Utt -> (Voc) -> Phr
but sleep, my friend
mkPhr S -> Phr
she won't sleep
mkPhr Cl -> Phr
she sleeps
mkPhr QS -> Phr
would she sleep
mkPhr Imp -> Phr
sleep

Pol - polarity

Function Type Example
negativePol Pol
she doesn't sleep
positivePol Pol
she sleeps

Predet - predeterminer (prefixed Quant)

Function Type Example
all_Predet Predet
all the men
most_Predet Predet
most
not_Predet Predet
not everybody
only_Predet Predet
only

Prep - preposition, or just case

Function Type Example
above_Prep Prep
above it
after_Prep Prep
after it
before_Prep Prep
before it
behind_Prep Prep
behind it
between_Prep Prep
between you and me
by8agent_Prep Prep
by it
by8means_Prep Prep
by it
during_Prep Prep
during it
except_Prep Prep
except it
for_Prep Prep
for it
from_Prep Prep
from it
in8front_Prep Prep
in front of it
in_Prep Prep
in it
on_Prep Prep
on it
part_Prep Prep
of it
possess_Prep Prep
of it
through_Prep Prep
through it
to_Prep Prep
to it
under_Prep Prep
under it
with_Prep Prep
with it
without_Prep Prep
without it

Pron - personal pronoun

Function Type Example
he_Pron Pron
he
i_Pron Pron
I
it_Pron Pron
it
she_Pron Pron
she
they_Pron Pron
they
we_Pron Pron
we
youPl_Pron Pron
you
youPol_Pron Pron
you
youSg_Pron Pron
you

Punct

Function Type Example
exclMarkPunct Punct
yes!
fullStopPunct Punct
yes.
questMarkPunct Punct
yes?

QCl - question clause, with all tenses

Function Type Example
mkQCl Cl -> QCl
does she sleep
mkQCl IP -> VP -> QCl
who always sleeps
mkQCl IP -> V -> QCl
who sleeps
mkQCl IP -> V2 -> NP -> QCl
who loves her
mkQCl IP -> V3 -> NP -> NP -> QCl
who sends it to her
mkQCl IP -> VV -> VP -> QCl
who wants to sleep
mkQCl IP -> VS -> S -> QCl
who says that I sleep
mkQCl IP -> VQ -> QS -> QCl
who wonders who sleeps
mkQCl IP -> VA -> A -> QCl
who becomes old
mkQCl IP -> VA -> AP -> QCl
who becomes very old
mkQCl IP -> V2A -> NP -> A -> QCl
who paints it red
mkQCl IP -> V2A -> NP -> AP -> QCl
who paints it very red
mkQCl IP -> V2S -> NP -> S -> QCl
who answers to him that we sleep
mkQCl IP -> V2Q -> NP -> QS -> QCl
who asks him who sleeps
mkQCl IP -> V2V -> NP -> VP -> QCl
who begs him to sleep
mkQCl IP -> A -> QCl
who is old
mkQCl IP -> A -> NP -> QCl
who is older than he
mkQCl IP -> A2 -> NP -> QCl
who is married to him
mkQCl IP -> AP -> QCl
who is very old
mkQCl IP -> NP -> QCl
who is the woman
mkQCl IP -> N -> QCl
who is a woman
mkQCl IP -> CN -> QCl
who is an old woman
mkQCl IP -> Adv -> QCl
who is here
mkQCl IP -> NP -> V2 -> QCl
who is her
mkQCl IP -> ClSlash -> QCl
whom does she love today
mkQCl IAdv -> Cl -> QCl
why does she sleep
mkQCl Prep -> IP -> Cl -> QCl
with whom does she sleep
mkQCl IAdv -> NP -> QCl
where is she
mkQCl IComp -> NP -> QCl
who is this man
mkQCl IP -> QCl
which city is there

QS - question

Function Type Example
mkQS (Tense) -> (Ant) -> (Pol) -> QCl -> QS
who wouldn't have slept
mkQS Cl -> QS
does she sleep

Quant - quantifier ('nucleus' of Det)

Function Type Example
a_Quant Quant
a house
mkQuant Pron -> Quant
my house
no_Quant Quant
no house
that_Quant Quant
that house
the_Quant Quant
the house
this_Quant Quant
this house

RCl - relative clause, with all tenses

Function Type Example
mkRCl RP -> VP -> RCl
woman that always sleeps
mkRCl RP -> V -> RCl
woman that sleeps
mkRCl RP -> V2 -> NP -> RCl
woman that loves him
mkRCl RP -> V3 -> NP -> NP -> RCl
woman that sends it to him
mkRCl RP -> VV -> VP -> RCl
woman that wants to sleep
mkRCl RP -> VS -> S -> RCl
woman that says that I sleep
mkRCl RP -> VQ -> QS -> RCl
woman that wonders who sleeps
mkRCl RP -> VA -> A -> RCl
woman that becomes old
mkRCl RP -> VA -> AP -> RCl
woman that becomes very old
mkRCl RP -> V2A -> NP -> A -> RCl
woman that paints it red
mkRCl RP -> V2A -> NP -> AP -> RCl
woman that paints it very red
mkRCl RP -> V2S -> NP -> S -> RCl
woman that answers to him that we sleep
mkRCl RP -> V2Q -> NP -> QS -> RCl
woman that asks him who sleeps
mkRCl RP -> V2V -> NP -> VP -> RCl
woman that begs him to sleep
mkRCl RP -> A -> RCl
woman that is old
mkRCl RP -> A -> NP -> RCl
woman that is older than he
mkRCl RP -> A2 -> NP -> RCl
woman that is married to him
mkRCl RP -> AP -> RCl
woman that is very old
mkRCl RP -> NP -> RCl
woman that is the woman
mkRCl RP -> N -> RCl
student that is a woman
mkRCl RP -> CN -> RCl
student that is an old woman
mkRCl RP -> Adv -> RCl
woman that is here
mkRCl RP -> NP -> V2 -> RCl
woman that we love
mkRCl RP -> ClSlash -> RCl
woman that she loves today
mkRCl Cl -> RCl such that she loves him

RP - relative pronoun

Function Type Example
mkRP Prep -> NP -> RP -> RP
all the cities in which
which_RP RP
which

RS - relative

Function Type Example
mkRS (Tense) -> (Ant) -> (Pol) -> RCl -> RS
woman that wouldn't have slept
mkRS Temp -> (Pol) -> RCl -> RS that wouldn't have slept
mkRS Conj -> RS -> RS -> RS
woman that sleeps or that we love
mkRS Conj -> ListRS -> RS who sleeps, whom I see and who sleeps

S - declarative sentence

Function Type Example
mkS (Tense) -> (Ant) -> (Pol) -> Cl -> S
she wouldn't have slept
mkS Temp -> Pol -> Cl -> S she wouldn't have slept
mkS Conj -> S -> S -> S
she sleeps and I run
mkS Conj -> ListS -> S
she sleeps, I run and you walk
mkS Adv -> S -> S
today she sleeps

SC - embedded sentence or question

Function Type Example
mkSC S -> SC
that she sleeps
mkSC QS -> SC
who sleeps
mkSC VP -> SC
to sleep

SSlash

Function Type Example
mkSSlash Temp -> Pol -> ClSlash -> SSlash
she hadn't seen

Sub100

Function Type Example
mkSub100 Unit -> Sub100
eight
mkSub100 Unit -> Unit -> Sub100
...
tenfoldSub100 Unit -> Sub100
eight

Sub1000

Function Type Example
mkSub1000 Sub100 -> Sub1000
...
mkSub1000 Unit -> Sub1000
nine hundred
mkSub1000 Unit -> Sub100 -> Sub1000
nine hundred and ...

Subj - subjunction

Function Type Example
although_Subj Subj
although she sleeps
because_Subj Subj
because she sleeps
if_Subj Subj
if she sleeps
that_Subj Subj
that she sleeps
when_Subj Subj
when she sleeps

Temp - temporal and aspectual features

Function Type Example
mkTemp Tense -> Ant -> Temp e.g. past + anterior

Tense - tense

Function Type Example
conditionalTense Tense
she would sleep
futureTense Tense
she will sleep
pastTense Tense
she slept
presentTense Tense
she sleeps

Text - text consisting of several phrases

Function Type Example
emptyText Text (empty text)
mkText Phr -> (Punct) -> (Text) -> Text
does she sleep? yes.
mkText Utt -> (Punct) -> (Text) -> Text Does she sleep? Yes.
mkText S -> Text
she slept.
mkText Cl -> Text
she sleeps.
mkText QS -> Text
did she sleep?
mkText (Pol) -> Imp -> Text
don't sleep!
mkText Text -> Text -> Text
where? here. when? now!

Unit

Function Type Example
n1_Unit Unit
one
n2_Unit Unit
two
n3_Unit Unit
three
n4_Unit Unit
four
n5_Unit Unit
five
n6_Unit Unit
six
n7_Unit Unit
seven
n8_Unit Unit
eight
n9_Unit Unit
nine

Utt - sentence, question, word...

Function Type Example
lets_Utt VP -> Utt
let's sleep
mkUtt S -> Utt
she slept
mkUtt Cl -> Utt
she sleeps
mkUtt QS -> Utt
who didn't sleep
mkUtt QCl -> Utt
who sleeps
mkUtt (ImpForm) -> (Pol) -> Imp -> Utt
don't be men
mkUtt IP -> Utt
who
mkUtt IAdv -> Utt
why
mkUtt NP -> Utt
this man
mkUtt Adv -> Utt
here
mkUtt VP -> Utt
to sleep
mkUtt CN -> Utt
beer
mkUtt AP -> Utt
good
mkUtt Card -> Utt
five
no_Utt Utt
no
yes_Utt Utt
yes

V - one-place verb

Lexical category, constructors given in lexical paradigms.

V2 - two-place verb

Function Type Example
have_V2 V2
to have it

V2A - verb with NP and AP complement

Lexical category, constructors given in lexical paradigms.

V2Q - verb with NP and Q complement

Lexical category, constructors given in lexical paradigms.

V2S - verb with NP and S complement

Lexical category, constructors given in lexical paradigms.

V2V - verb with NP and V complement

Lexical category, constructors given in lexical paradigms.

V3 - three-place verb

Lexical category, constructors given in lexical paradigms.

VA - adjective-complement verb

Lexical category, constructors given in lexical paradigms.

VP - verb phrase

Function Type Example
mkVP V -> VP
to sleep
mkVP V2 -> NP -> VP
to love him
mkVP V3 -> NP -> NP -> VP
to send it to him
mkVP VV -> VP -> VP
to want to sleep
mkVP VS -> S -> VP
to know that she sleeps
mkVP VQ -> QS -> VP
to wonder who sleeps
mkVP VA -> AP -> VP
to become red
mkVP V2A -> NP -> AP -> VP
to paint it red
mkVP V2S -> NP -> S -> VP
to answer to him that she sleeps
mkVP V2Q -> NP -> QS -> VP
to ask him who sleeps
mkVP V2V -> NP -> VP -> VP
to beg him to sleep
mkVP A -> VP
to be old
mkVP A -> NP -> VP
to be older than he
mkVP A2 -> NP -> VP
to be married to him
mkVP AP -> VP
to be very old
mkVP N -> VP
to be a woman
mkVP CN -> VP
to be an old woman
mkVP NP -> VP
to be the woman
mkVP Adv -> VP
to be here
mkVP VP -> Adv -> VP
to sleep here
mkVP AdV -> VP -> VP
to always sleep
mkVP VPSlash -> NP -> VP
to paint it black
mkVP VPSlash -> VP
to paint itself black
mkVP Comp -> VP
to be warm
passiveVP V2 -> VP
to be loved
passiveVP V2 -> NP -> VP
to be loved by her
progressiveVP VP -> VP
to be sleeping
reflexiveVP V2 -> VP
to love itself
reflexiveVP VPSlash -> VP paint itself black

VPSlash - verb phrase missing complement

Function Type Example
mkVPSlash V2 -> VPSlash
whom does she see
mkVPSlash V3 -> NP -> VPSlash
whom does she send it to
mkVPSlash V2A -> AP -> VPSlash
whom does she paint red
mkVPSlash V2Q -> QS -> VPSlash
whom does she ask where I sleep
mkVPSlash V2S -> S -> VPSlash
whom does she answer that I sleep to
mkVPSlash V2V -> VP -> VPSlash
whom does she beg to sleep
mkVPSlash VV -> VPSlash -> VPSlash
whom does she want to see
mkVPSlash V2V -> NP -> VPSlash -> VPSlash
whom does she beg me to see

VQ - question-complement verb

Lexical category, constructors given in lexical paradigms.

VS - sentence-complement verb

Lexical category, constructors given in lexical paradigms.

VV - verb-phrase-complement verb

Function Type Example
can8know_VV VV
to be able to sleep
can_VV VV
to be able to sleep
must_VV VV
have to
want_VV VV
to want to sleep

Voc - vocative or "please"

Function Type Example
mkVoc NP -> Voc
yes, my friend
please_Voc Voc
please

Lexical Paradigms

Paradigms for Afrikaans

source ../../src/afrikaans/ParadigmsAfr.gf

Function Type Explanation
de Gender non-neutrum
het Gender neutrum
--die Gender -
mkN (muis : Str) -> N de muis-muisen, with some predictable exceptions
mkN (bit : Str) -> Gender -> N if gender is not predictable
mkN (gat,gaten : Str) -> Gender -> N worst-case for nouns
mkN2 N -> N2 relational noun with preposition van
mkN2 N -> Prep -> N2 other preposition than van
mkN3 N -> Prep -> Prep -> N3 e.g. afstand + van + naar
mkPN Str -> PN proper name
mkA (vers : Str) -> A regular adjective
mkA (sag, sagte : Str) -> A --"semi-irregular" -
mkA (goed,goede,goeds,beter,best : Str) -> A irregular adjective
invarA Str -> A adjective with just one form
mkA2 A -> Prep -> A2 e.g. getrouwd + met
mkAdv Str -> Adv -
mkPrep Str -> Prep -
van_Prep Prep -
te_Prep Prep -
mkV (aaien : Str) -> V regular verb
mkV (breken,brak,gebroken : Str) -> V theme of irregular verb
mkV (breken,brak,braken,gebroken : Str) -> V also past plural irregular
mkV (aai,aait,aaien,aaide,aaide,aaiden,geaaid : Str) -> V worst-case verb
mkV Str -> V -> V add movable suffix, e.g. af + stappen
zijnV V -> V force zijn as auxiliary (default hebben)
reflV V -> V reflexive verb e.g. zich afvragen
mkV3 V -> V3 geven,(accusative),(dative)
mkV3 V -> Prep -> V3 sturen,(accusative),naar
mkV3 V -> Prep -> Prep -> V3 praten, met, over
mkVS V -> VS -
mkV2S V -> Prep -> V2S -
mkVV V -> VV -
mkV2V V -> Prep -> V2V -
mkVA V -> VA -
mkV2A V -> Prep -> V2A -
mkVQ V -> VQ -
mkV2Q V -> Prep -> V2Q -

Paradigms for Arabic

source ../../src/arabic/ParadigmsAra.gf

Function Type Explanation
Case Type Argument to mkPrep
nom Case Nominative
acc Case Accusative
gen Case Genitive
Gender Type Argument to mkN and mkPN
masc Gender Masculine
fem Gender Feminine
Number Type Argument to mkConj ("NP and NP" plural; "NP or NP" singular), and special cases of mkN, where nominal attribute is included in the N.
sg Number Singular
pl Number Plural
Species Type Argument to mkN.
hum Species Human nouns (teacher, woman, brother, …)
nohum Species Any other nouns (house, dog, …)
Vowel Type Argument to mkV, when constructing verbs of Form I.
va Vowel a (fatha) as the perfect or imperfect vowel, e.g. فعَل
vi Vowel i (kasra) as the perfect or imperfect vowel, e.g فعِل
vu Vowel u (damma) as the perfect or imperfect vowel, e.g. فعُل
mkN (sg : Str) -> N Takes the singular without case marking, gives a non-human regular noun. Plural is sound feminine if the word ends in ة, otherwise sound masculine.
mkN (sg,pl : Str) -> Gender -> Species -> N Takes the singular and the plural (sound or broken) forms without case marking, returns a noun with basic triptote declension. NB for irregular/weak roots, safer to use brkN, sdfN or sdmN, which take root and pattern.
mkN (root,sgPat,plPat : Str) -> Gender -> Species -> N (This is brkN; see its description.)
mkN Species -> N -> N Change species (hum/nohum) of a noun.
mkN N -> (attr : Str) -> N Compound noun with invariant attribute.
mkN N -> N -> N Compound noun with singular genitive attribute, but inflects in state.
mkN Number -> N -> N -> N Compound noun with genitive attribute, but inflects in state. Attribute's number specified by 1st arg.
brkN (root,sgPat,brokenPlPat : Str) -> Gender -> Species -> N Takes a root string, a singular pattern string, a broken plural pattern string, a gender, and species. Gives a noun. (This is also overloaded as mkN.)
sdfN (root,sgPat : Str) -> Gender -> Species -> N Takes a root string, a singular pattern string, a gender, and species. Gives a noun whose plural is sound feminine.
sdmN (root,sgPat : Str) -> Gender -> Species -> N Takes a root string, a singular pattern string, a gender, and species. Gives a noun whose plural is sound masculine
dualN N -> N Force the plural of the N into dual (e.g. "twins")
mkPN Str -> PN Predictable PN from a Str: fem hum if ends in ة, otherwise masc hum.
mkPN N -> PN Make a PN out of N. The PN is in construct state.
mkPN Str -> Gender -> Species -> PN Make a PN out of string, gender and species.
mkN2 N -> Prep -> N2 Noun and a ready-made preposition.
mkN2 N -> Str -> N2 Noun, preposition given as a string, complement case genitive.
mkN2 N -> N2 Noun, no preposition, complement case genitive.
mkN2 Str -> N2 Predictable inflection, no preposition, complement case genitive.
mkN3 N -> Preposition -> Preposition -> N3 ready-made prepositions
mkN3 N -> Str -> Str -> N3 prepositions given as strings
mkA (root : Str) -> A adjective with positive form aFCal
mkA (root,sgPat : Str) -> A adjective with sound plural, takes root string and sg. pattern string
mkA (root,sgPat,plPat : Str) -> A adjective with broken plural, same for both fem. and masc.
mkA (isSoundFem : Bool) -> (root,sg,pl : Str) -> A adjective with broken plural, boolean argument whether feminine is sound (True) or shared with masc (False)
mkA A -> Str -> A add non-inflecting component after adjective
mkA Str -> A -> A add non-inflecting component before adjective
nisbaA Str -> Adj Forms relative adjectives with the suffix ِيّ. Takes either the stem and adds يّ, or the whole word ending in يّ and just adds declension.
idaafaA N -> A -> A Forms adjectives of type غَيْرُ طَيِّبٍ 'not good'. Noun is in construct state but inflects in case. Adjective is in genitive, but inflects in gender, number and state.
degrA (masc,fem,plur : Str) -> A Adjective where masculine singular is also the comparative form. Indeclinable singular, basic triptote declension for dual and plural.
irregFemA (masc : A) -> (fem : A) -> A Adjective with irregular feminine. Takes two adjectives (masc. regular and fem. "regular", with fem. forms in the masc fields,) and puts them together.
invarGenderA A -> A Forms an adjective that has no feminine form. Takes a regular adjective and forces the masculine forms into the fem. table.
mkA2 A -> Prep -> A2 -
mkA2 A -> Str -> A2 -
mkAdv Str -> Adv -
mkAdV Str -> AdV -
mkAdA Str -> AdA -
mkInterj Str -> Interj -
mkSubj Str -> Subj Default order Subord (=noun first and in accusative)
mkSubj Str -> Order -> Subj Specify word order
mkPrep Str -> Prep Build a preposition out of the given string, with genitive case.
mkPrep Str -> Case -> Prep Build a preposition out of the given string and case.
mkPrep Case -> Prep Just a case, no preposition.
liPrep Prep The preposition لِ, binding to its head. Vowel assimilation and def. article elision implemented.
biPrep Prep The preposition بِ, binding to its head.
noPrep Prep No preposition at all, "complement case" is nominative.
mkConj Str -> Conj and
mkConj Str -> Str -> Conj either … or
mkConj Str -> Number -> Conj and, pl
mkConj Str -> Str -> Number -> Conj either, or, sg
mkV (imperfect,masdar : Str) -> V Takes a verb of Form I in 3rd person masculine imperfect tense. Unpredictable masdar given as an argument.
mkV (imperfect : Str) -> V Takes a verb of Form I in 3rd person masculine imperfect tense. Dummy masdar inserted.
mkV (root : Str) -> (perf,impf : Vowel) -> (masdar : Str) -> V Takes the root of a verb of Form I. Vowel is one of {va,vi,vu}. Unpredictable masdar given as an argument.
mkV (root : Str) -> (perf,impf : Vowel) -> V Like above, but dummy masdar inserted. This function is here only to keep compatibility for the old API; for new grammars, use the constructor with masdar as an argument.
mkV (root,masdar : Str) -> VerbForm -> V FormI…FormXI (no IX). XI is quadriliteral. For FormI, default vowels are va and vu. The given masdar is used for FormI, but currently ignored for Forms II-XI.
mkV (root : Str) -> VerbForm -> V Like above, but dummy masdar inserted for FormI verbs. No difference for FormII-FormXI, because they have predictable masdar.
mkV V -> (particle : Str) -> V V with a non-inflecting particle/phrasal verb
reflV V -> V نَفْس in the proper case and with possessive suffix, e.g. نَفْسَكِ
v1 (root : Str) -> (perf,impf : Vowel) -> (masdar : Str) -> V Verb Form I: fa`ala, fa`ila, fa`ula. Verbal noun (masdar) given as the third argument.
v1 (root : Str) -> (perf,impf : Vowel) -> V To keep compatibility for the old API; dummy masdar inserted.
v2 Str -> V Verb Form II: fa``ala
v3 Str -> V Verb Form III: faa`ala
v4 Str -> V Verb Form IV: 'af`ala
v5 Str -> V Verb Form V: tafa``ala
v6 Str -> V Verb Form VI: tafaa`ala
v7 Str -> V Verb Form VII: infa`ala
v8 Str -> V Verb Form VIII: ifta`ala
v10 Str -> V Verb Form X: 'istaf`ala
v11 Str -> V Verb Form XI (quadriliteral): fa`laba
mkV2 V -> V2 No preposition
mkV2 V -> Str -> V2 Preposition as string, default case genitive
mkV2 V -> Prep -> V2 Ready-made preposition
mkV2 Str -> V2 Predictable verb conjugation, no preposition
dirV2 V -> V2 -
mkV3 V -> Prep -> Prep -> V3 speak, with, about
mkV3 V -> (to : Str) -> (about:Str) -> V3 like above, but with strings as arguments (default complement case genitive)
dirV3 V -> Prep -> V3 give,_,to
dirV3 V -> (to : Str) -> V3 like above, but with string as argument (default complement case genitive)
dirdirV3 V -> V3 give,_,_
mkV0 V -> V0 -
mkVS V -> VS Takes a V, returns a VS with default complementiser أَنَّ.
mkVS V -> Str -> VS Takes a V and a complementiser.
mkV2S V -> V2S Takes a V, returns a V2S with default complementiser أَنَّ and accusative as the direct object case.
mkV2S VS -> V2S Takes a VS, returns a V2S with accusative as the object case, retaining the VS's complementiser.
mkV2S V2 -> V2S Takes a V2, returns a V2S with default complementiser أَنَّ, retaining the V2's direct object case.
mkV2S V -> Prep -> Str -> V2S Takes V, preposition and complementiser.
mkVV V -> VV Takes a V, returns a VV with default complementiser أَنَّ.
mkVV V -> Str -> VV Takes a V and a complementiser.
mkV2V V -> V2V Takes a V, returns a V2V with default complementiser أَنْ and accusative as the direct object case.
mkV2V VV -> V2V Takes VV, returns V2V with accusative as the object case, retaining the VV's complementiser.
mkV2V V -> Prep -> Str -> V2V Takes V, preposition and complementiser.
subjCase VV -> Prep -> VV Change the subject case of a VV. (Default is nominative; use any other case or preposition.)
subjCase V2V -> Prep -> V2V Change the subject case to a V2V. (Default is nominative; use any other case or preposition.)
mkVA V -> VA -
mkV2A V -> Str -> V2A Takes a V and an object case/preposition. NB. V2A
mkVQ V -> VQ -
mkV2Q V -> Str -> V2Q Takes a V and an object case/preposition. NB. V2Q
mkAS A -> AS -
mkA2S A -> Str -> A2S -
mkAV A -> AV -
mkA2V A -> Str -> A2V -
V0 Type -

Paradigms for Bulgarian

source ../../src/bulgarian/ParadigmsBul.gf

Function Type Explanation
mkN001 Str -> N -
mkN001a Str -> N -
mkN002 Str -> N -
mkN002a Str -> N -
mkN003 Str -> N -
mkN004 Str -> N -
mkN005 Str -> N -
mkN006 Str -> N -
mkN007 Str -> N -
mkN007b Str -> N -
mkN007a Str -> N -
mkN008 Str -> N -
mkN008b Str -> N -
mkN008c Str -> N -
mkN008a Str -> N -
mkN009 Str -> N -
mkN009a Str -> N -
mkN010 Str -> N -
mkN011 Str -> N -
mkN012 Str -> N -
mkN013 Str -> N -
mkN014 Str -> N -
mkN014a Str -> N -
mkN015 Str -> N -
mkN015a Str -> N -
mkN016 Str -> N -
mkN016a Str -> N -
mkN017 Str -> N -
mkN018 Str -> N -
mkN018a Str -> N -
mkN019 Str -> N -
mkN019a Str -> N -
mkN020 Str -> N -
mkN021 Str -> N -
mkN022 Str -> N -
mkN023 Str -> N -
mkN024a Str -> N -
mkN024 Str -> N -
mkN025 Str -> N -
mkN026 Str -> N -
mkN027 Str -> N -
mkN028 Str -> N -
mkN028a Str -> N -
mkN029 Str -> N -
mkN030 Str -> N -
mkN031 Str -> N -
mkN031a Str -> N -
mkN032 Str -> N -
mkN032a Str -> N -
mkN033 Str -> N -
mkN034 Str -> N -
mkN035 Str -> N -
mkN035a Str -> N -
mkN036 Str -> N -
mkN037 Str -> N -
mkN038 Str -> N -
mkN039 Str -> N -
mkN040 Str -> N -
mkN040a Str -> N -
mkN041 Str -> N -
mkN041a Str -> N -
mkN041b Str -> N -
mkN042 Str -> N -
mkN043 Str -> N -
mkN043a Str -> N -
mkN044 Str -> N -
mkN045 Str -> N -
mkN046 Str -> N -
mkN047 Str -> N -
mkN048 Str -> N -
mkN049 Str -> N -
mkN050 Str -> N -
mkN051 Str -> N -
mkN052 Str -> N -
mkN052a Str -> N -
mkN053 Str -> N -
mkN054 Str -> N -
mkN055 Str -> N -
mkN056 Str -> N -
mkN057 Str -> N -
mkN057a Str -> N -
mkN058 Str -> N -
mkN059 Str -> N -
mkN060 Str -> N -
mkN061 Str -> N -
mkN062 Str -> N -
mkN063 Str -> N -
mkN064 Str -> N -
mkN065 Str -> N -
mkN066 Str -> N -
mkN067 Str -> N -
mkN068 Str -> N -
mkN069 Str -> N -
mkN070 Str -> N -
mkN071 Str -> N -
mkN072 Str -> N -
mkN073 Str -> N -
mkN074 Str -> N -
mkN075 Str -> N -
mkN076 Str -> N -
mkN077 Str -> N -
mkA076 Str -> A -
mkA077 Str -> A -
mkA078 Str -> A -
mkA079 Str -> A -
mkA080 Str -> A -
mkA081 Str -> A -
mkA082 Str -> A -
mkA082a Str -> A -
mkA083 Str -> A -
mkA084 Str -> A -
mkA084a Str -> A -
mkA085 Str -> A -
mkA086 Str -> A -
mkA087 Str -> A -
mkA088 Str -> A -
mkA089a Str -> A -
mkV142 Str -> VTable -
mkV143 Str -> VTable -
mkV144 Str -> VTable -
mkV145 Str -> VTable -
mkV145a Str -> VTable -
mkV145b Str -> VTable -
mkV146 Str -> VTable -
mkV146a Str -> VTable -
mkV147 Str -> VTable -
mkV148 Str -> VTable -
mkV149 Str -> VTable -
mkV150 Str -> VTable -
mkV150a Str -> VTable -
mkV151 Str -> VTable -
mkV152 Str -> VTable -
mkV152a Str -> VTable -
mkV153 Str -> VTable -
mkV154 Str -> VTable -
mkV155 Str -> VTable -
mkV156 Str -> VTable -
mkV157 Str -> VTable -
mkV158 Str -> VTable -
mkV159 Str -> VTable -
mkV160 Str -> VTable -
mkV160a Str -> VTable -
mkV161 Str -> VTable -
mkV161a Str -> VTable -
mkV162 Str -> VTable -
mkV163 Str -> VTable -
mkV164 Str -> VTable -
mkV165 Str -> VTable -
mkV166 Str -> VTable -
mkV167 Str -> VTable -
mkV168 Str -> VTable -
mkV169 Str -> VTable -
mkV170 Str -> VTable -
mkV171 Str -> VTable -
mkV172 Str -> VTable -
mkV173 Str -> VTable -
mkV174 Str -> VTable -
mkV175 Str -> VTable -
mkV176 Str -> VTable -
mkV177 Str -> VTable -
mkV178 Str -> VTable -
mkV179 Str -> VTable -
mkV180 Str -> VTable -
mkV181 Str -> VTable -
mkV182 Str -> VTable -
mkV183 Str -> VTable -
mkV184 Str -> VTable -
mkV185 Str -> VTable -
mkV186 Str -> VTable -
mkV187 Str -> VTable -
mkV188 Str -> VTable -
adjAdv A -> Str -> A -

Paradigms for Catalan

source ../../src/catalan/ParadigmsCat.gf

Function Type Explanation
Gender Type -
masculine Gender -
feminine Gender -
Number Type -
singular Number -
plural Number -
accusative Prep direct object
genitive Prep preposition "de"
dative Prep preposition "a"
mkPrep Str -> Prep other preposition
CopulaType Type -
serCopula CopulaType -
estarCopula CopulaType -
mkN (llum : Str) -> N regular, with heuristics for plural and gender
mkN Str -> Gender -> N force gender
mkN (disc,discos : Str) -> Gender -> N worst case
compN N -> Str -> N compound, e.g. "número" + "de telèfon"
mkN2 N -> Prep -> N2 e.g. filla + genitive
deN2 N -> N2 relation with genitive
aN2 N -> N2 relation with dative
mkN3 N -> Prep -> Prep -> N3 e.g. connexió + genitive + dative
mkPN (Anna : Str) -> PN feminine for "-a", otherwise masculine
mkPN (Pilar : Str) -> Gender -> PN force gender
mkPN N -> PN -
mkA (sol : Str) -> A regular
mkA (fort,forta,forts,fortes,fortament : Str) -> A worst case
mkA (bo : A) -> (millor : A) -> A special comparison (default with "mas")
mkA A -> CopulaType -> A force copula type
prefixA A -> A adjective before noun (default: after)
adjCopula A -> CopulaType -> A force copula type
mkA2 A -> Prep -> A2 e.g. "casat" + dative
mkAdv Str -> Adv -
mkAdV Str -> AdV -
mkAdA Str -> AdA -
mkV (cantar : Str) -> V regular in models I, IIa, IIb
mkV (servir,serveixo : Str) -> V --inchoative verbs and "re" verbs whose 1st person ends in c -
mkV Verbum -> V use verb constructed in BeschCat
mkV V -> Str -> V particle verb
reflV V -> V reflexive verb
mkV2 Str -> V2 regular verb, direct object
mkV2 V -> V2 any verb, direct object
mkV2 V -> Prep -> V2 preposition for complement
mkV3 V -> Prep -> Prep -> V3 parlar, a, de
dirV3 V -> Prep -> V3 donar,(accusative),a
dirdirV3 V -> V3 donar,(dative),(accusative)
mkVS V -> VS -
subjVS V -> VS -
mkV2S V -> Prep -> V2S -
mkVV V -> VV plain infinitive: "vull parlar"
deVV V -> VV "acabar de parlar"
aVV V -> VV "aprendre a parlar"
mkV2V V -> Prep -> Prep -> V2V -
mkVA V -> VA -
mkV2A V -> Prep -> Prep -> V2A -
mkVQ V -> VQ -
mkV2Q V -> Prep -> V2Q -

Paradigms for Chinese (simplified)

source ../../src/chinese/ParadigmsChi.gf

Function Type Explanation
mkN (man : Str) -> N -
mkN (man : Str) -> Str -> N -
mkN2 Str -> N2 -
mkN3 N -> Prep -> Prep -> N3 -
mkPN (john : Str) -> PN -
foreignPN (john : Str) -> PN -
mkA (small : Str) -> A -
mkA (small : Str) -> Bool -> A -
mkA2 Str -> A2 -
mkA2 A -> A2 -
mkA2 A -> Prep -> A2 -
mkV (walk : Str) -> V -
mkV (walk,out : Str) -> V -
mkV (arrive : Str) -> Str -> Str -> Str -> Str -> V -
mkV (arrive : Str) -> Str -> Str -> Str -> Str -> Str -> V -
mkV2 Str -> V2 -
mkV2 V -> V2 -
mkV2 V -> Prep -> V2 -
mkV3 Str -> V3 -
mkV3 V -> V3 -
mkV3 V -> Prep -> Prep -> V3 -
mkVV Str -> VV -
mkVQ Str -> VQ -
mkVQ V -> VQ -
mkVS Str -> VS -
mkVS Str -> Str -> VS -
mkVS V -> VS -
mkVA Str -> VA -
mkVA V -> VA -
mkV2Q V -> V2Q -
mkV2Q Str -> V2Q -
mkV2V Str -> V2V -
mkV2V V -> V2V -
mkV2S Str -> V2S -
mkV2S V -> V2S -
mkV2A Str -> V2A -
mkV2A V -> V2A -
mkAdv Str -> Adv -
mkAdv Str -> Str -> Adv -
mkAdv Str -> AdvType -> Adv -
mkAdv Adv -> AdvType -> Adv To fix the AdvType in an Adv produced by SyntaxChi.mkAdv
AdvType Type -
placeAdvType AdvType without "在" included
zai_placeAdvType AdvType with "在" included
timeAdvType AdvType -
mannerAdvType AdvType -
mkPrep Str -> Prep -
mkPrep Str -> Str -> Prep -
mkPrep Str -> Str -> AdvType -> Prep -
mkInterj Str -> Interj -
emptyPrep Preposition -
mkpNP Str -> CatChi.NP -
mkAdV Str -> AdV -
mkAdN Str -> AdN -
mkSubj Str -> Subj -
mkConj Str -> Conj -
mkConj (both,and : Str) -> Conj -
mkpDet Str -> Det -
mkQuant Str -> Quant -
mkAdA Str -> AdA -
mkNum Str -> Num -
mkPredet Str -> Predet -
mkIDet Str -> IDet -
mkPConj Str -> PConj -
mkRP Str -> RP -

Paradigms for Czech

source ../../src/czech/ParadigmsCze.gf

Function Type Explanation
singular Number -
plural Number -
mascAnimate Gender -
mascInanimate Gender -
feminine Gender -
neuter Gender -
nominative Case -
genitive Case -
dative Case -
accusative Case -
vocative Case -
locative Case -
instrumental Case -
mkN (nom : Str) -> N -
mkN (nom,gen : Str) -> Gender -> N -
panN Str -> N default ** {pnom
predsedaN Str -> N default ** {sgen
hradN Str -> N default ** {sgen,sloc
zenaN Str -> N default ** {pgen
mestoN Str -> N default ** {sloc
muzN Str -> N -
soudceN Str -> N default ** {sdat,sloc
strojN Str -> N -
ruzeN Str -> N -
pisenN Str -> N -
kostN Str -> N -
kureN Str -> N -
moreN Str -> N default ** {pgen
staveniN Str -> N -
mkA Str -> A -
mladyA Str -> A -
jarniA Str -> A -
otcuvA Str -> A -
matcinA Str -> A -
invarA Str -> A -
mkA2 A -> Prep -> A2 -
mkV2 VerbForms -> VerbForms ** {c : ComplementCase} -
mkV2 VerbForms -> Case -> VerbForms ** {c : ComplementCase} -
mkV2 VerbForms -> ComplementCase -> VerbForms ** {c : ComplementCase} -
mkAdv Str -> Adv -
mkPrep Str -> Case -> Prep -
mkConj Str -> Conj -

Paradigms for Danish

source ../../src/danish/ParadigmsDan.gf

Function Type Explanation
Gender Type -
utrum Gender "en" gender
neutrum Gender "et" gender
mkPrep Str -> Prep e.g. "til"
noPrep Prep empty string
mkN (bil : Str) -> N regular noun: "en" gender with plural "-er" or "-r"
mkN (bil,bilen : Str) -> N prediction from both singular indefinite and definite
mkN (bil,biler : Str) -> Gender -> N prediction from both singular and plural plus gender
mkN (dreng,drengen,drenge,drengene : Str) -> N almost worst case, gender guessed from Sg Def
mkN (dreng,drengen,drenge,drengene : Str) -> Gender -> N worst case
mkN2 N -> Prep -> N2 e.g. datter + til
mkN3 N -> Prep -> Prep -> N3 e.g. forbindelse + fra + til
mkPN Str -> PN utrum gender
mkPN Str -> Gender -> PN other gender
mkA (fin : Str) -> A regular adjective
mkA (fin,fint : Str) -> A deviant neuter
mkA (galen,galet,galne : Str) -> A also deviant plural
mkA (stor,stort,store,storre,storst : Str) -> A worst case
mkA A -> A force comparison with mer/mest
mkA2 A -> Prep -> A2 e.g. gift + med
mkAdv Str -> Adv after verb, e.g. "idag"
mkAdV Str -> AdV close to verb, e.g. "altid"
mkAdA Str -> AdA modify adjective, e.g. "meget"
mkV (snakke : Str) -> V regular verb
mkV (leve,levde : Str) -> V also give past tense
mkV (drikke, drakk, drukket : Str) -> V theme of irregular verb
mkV (spise,spiser,spises,spiste,spist,spis : Str) -> V worst case
mkV V -> Str -> V particle verb, e.g. lukke + op
vaereV V -> V force auxiliary "være"
depV V -> V deponent, e.g. "undres"
reflV V -> V reflexive, e.g. "forestille sig"
mkV2 V -> V2 direct object
mkV2 V -> Prep -> V2 prepositional object
mkV3 V -> Prep -> Prep -> V3 snakke, med, om
dirV3 V -> Prep -> V3 give,_,til
dirdirV3 V -> V3 give,_,_
mkVS V -> VS -
mkV2S V -> Prep -> V2S -
mkVV V -> VV -
mkV2V V -> Prep -> Prep -> V2V -
mkVA V -> VA -
mkV2A V -> Prep -> V2A -
mkVQ V -> VQ -
mkV2Q V -> Prep -> V2Q -

Paradigms for Dutch

source ../../src/dutch/ParadigmsDut.gf

Function Type Explanation
de Gender non-neutrum
het Gender neutrum
nominative Case nominative of nouns
genitive Case genitive of nouns
mkN (bank : Str) -> N de bank-banken, with some predictable exceptions
mkN (bit : Str) -> Gender -> N if gender is not predictable
mkN (gat, gaten : Str) -> Gender -> N worst-case for nouns
mkN (werk, plaats : N) -> N compound werkplaats
mkN (station, hal : N) -> Case -> N compound stationshal
mkN2 N -> N2 relational noun with preposition van
mkN2 N -> Prep -> N2 other preposition than van
mkN3 N -> Prep -> Prep -> N3 e.g. afstand + van + naar
mkPN Str -> PN proper name
mkPN N -> PN proper name from noun