GF Resource Grammar Library: Synopsis

B. Bringert, T. Hallgren, and A. Ranta

Introduction

This document contains the most important parts of the GF Resource Grammar API. It has been machine-generated from the source files; each chapter gives a link 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 current status of resource grammar completion for different languages is shown in status.html.

The first chapter shows the categories, with links to the functions for constructing trees in them.

The second chapter shows the construction functions, with cross-links and examples. Most examples can be seen in multiple languages by hovering the mouse over the example, as shown in the following screenshot:

The third chapter shows morphological paradigms.

The fourth chapter gives instructions on how to "browse" the library by loading the grammars into the gf command editor.

The last chapter contains a brief example of how application grammars can import resource modules. At the same time, it illustrates a "design pattern" for using the resource API to build functor-based applications

The table of contents is at the end of the file.

Categories

Source 1: http://www.grammaticalframework.org/lib/resource/src/abstract/Common.gf

Source 2: http://www.grammaticalframework.org/lib/resource/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.

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
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
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: http://www.grammaticalframework.org/lib/resource/src/api/Constructors.gf

Source 2: http://www.grammaticalframework.org/lib/resource/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.

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 uncertain if she sleeps
mkAP AP -> VP -> AP ready to go
mkAP AP -> SC -> AP ready to go
mkAP AdA -> A -> AP
very old
mkAP AdA -> AP -> AP
very very old
mkAP Conj -> AP -> AP -> AP old and big
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 himself

AdA - adjective-modifying adverb

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

AdN - numeral-modifying adverb

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

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 to 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 whom she loves
mkCN CN -> RS -> CN
old man whom 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")
mkCard Numeral -> Card twenty
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 -> 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 who 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) he sees here
mkClSlash NP -> V2 -> ClSlash (whom) he sees
mkClSlash NP -> VV -> V2 -> ClSlash (whom) he wants to see
mkClSlash Cl -> Prep -> ClSlash (with whom) he sleeps
mkClSlash ClSlash -> Adv -> ClSlash (whom) he sees tomorrow
mkClSlash NP -> VS -> SSlash -> ClSlash (whom) she says that he loves

Comp - complement of copula, such as AP

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

Conj - conjunction

Function Type Example
and_Conj Conj and
both7and_DConj Conj both...and
either7or_DConj Conj either...or
if_then_Conj Conj if
or_Conj Conj or

Det - determiner phrase

Function Type Example
aPl_Det Det (houses)
aSg_Det Det a (house)
a_Det Det a (house)
every_Det Det every
few_Det Det few
many_Det Det many
mkDet Quant -> Det this
mkDet Quant -> Card -> Det these five
mkDet Quant -> Ord -> Det the best
mkDet Quant -> Num -> Ord -> Det these five best
mkDet Quant -> Num -> Det these five
mkDet Card -> Det forty
mkDet Digits -> Det 51
mkDet Numeral -> Det five
mkDet Pron -> Det my
mkDet Pron -> Num -> Det my five
much_Det Det much
somePl_Det Det somePl
someSg_Det Det someSg
thePl_Det Det the (houses)
theSg_Det Det the (houses)
the_Det Det the (house)

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")
mkDigits Dig -> Digits
//
mkDigits Dig -> Digits -> Digits
//

IAdv - interrogative adverb

Function Type Example
how8much_IAdv IAdv how8much
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 how8many
mkIDet IQuant -> Num -> IDet
which
mkIDet IQuant -> IDet mkIDet
whichPl_IDet IDet whichPl
which_IDet IDet which

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 (plural)
whatSg_IP IP what (singular)
what_IP IP
what
whoPl_IP IP who (plural)
whoSg_IP IP who (singular)
who_IP IP
who

IQuant

Function Type Example
which_IQuant IQuant which

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 mkListAP
mkListAP AP -> ListAP -> ListAP mkListAP

ListAdv

Function Type Example
mkListAdv Adv -> Adv -> ListAdv mkListAdv
mkListAdv Adv -> ListAdv -> ListAdv mkListAdv

ListNP

Function Type Example
mkListNP NP -> NP -> ListNP mkListNP
mkListNP NP -> ListNP -> ListNP mkListNP

ListRS

Function Type Example
mkListRS RS -> RS -> ListRS mkListRS
mkListRS RS -> ListRS -> ListRS mkListRS

ListS

Function Type Example
mkListS S -> S -> ListS mkListS
mkListS S -> ListS -> ListS mkListS

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
fifty old men
mkNP Numeral -> N -> NP
fifty men
mkNP Digits -> CN -> NP
old men
mkNP Digits -> N -> NP
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 , who walks
mkNP Conj -> NP -> NP -> NP mkNP
mkNP Conj -> ListNP -> NP mkNP
nobody_NP NP nobody
nothing_NP NP nothing
she_NP NP she
somebody_NP NP somebody
something_NP NP something
they_NP NP they
we_NP NP we
youPl_NP NP you (plural)
youPol_NP NP you (polite singular)
you_NP NP you (singular)

Num - number determining element

Function Type Example
mkNum Str -> Num thirty-five (given by "35")
mkNum Numeral -> Num
twenty
mkNum Digits -> Num
//
mkNum Digit -> Num five
mkNum Card -> Num almost ten
mkNum AdN -> Card -> Num almost ten
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 six hundred (coerce 1..999)
mkNumeral Sub1000 -> Sub1000 -> Numeral 1000m + n
mkNumeral Str -> Numeral thirty-five (given by "35")
thousandfoldNumeral Sub1000 -> Numeral 1000n

Ord - ordinal number (used in Det)

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

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
most_Predet Predet most
not_Predet Predet not
only_Predet Predet only

Prep - preposition, or just case

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

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 (plural)
youPol_Pron Pron you (polite)
youSg_Pron Pron you (singular)

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 sleeps here
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 she sleeps
mkQCl IP -> VQ -> QS -> QCl who wonders who sleeps
mkQCl IP -> VA -> A -> QCl who becomes old
mkQCl IP -> VA -> AP -> QCl who becomes old
mkQCl IP -> V2A -> NP -> A -> QCl who paints it red
mkQCl IP -> V2A -> NP -> AP -> QCl who paints it red
mkQCl IP -> V2S -> NP -> S -> QCl who tells her that we sleep
mkQCl IP -> V2Q -> NP -> QS -> QCl who asks her who sleeps
mkQCl IP -> V2V -> NP -> VP -> QCl who forces her to sleep
mkQCl IP -> A -> QCl who is old
mkQCl IP -> A -> NP -> QCl who is older than her
mkQCl IP -> A2 -> NP -> QCl who is married to her
mkQCl IP -> AP -> QCl who is very old
mkQCl IP -> NP -> QCl who is the man
mkQCl IP -> N -> QCl who is a man
mkQCl IP -> CN -> QCl who is an old man
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 mkQS

Quant - quantifier ('nucleus' of Det)

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

RCl - relative clause, with all tenses

Function Type Example
mkRCl RP -> VP -> RCl
who always sleep
mkRCl RP -> V -> RCl
who sleep
mkRCl RP -> V2 -> NP -> RCl
who love her
mkRCl RP -> V3 -> NP -> NP -> RCl
who send it to her
mkRCl RP -> VV -> VP -> RCl
who want to sleep
mkRCl RP -> VS -> S -> RCl
who say that I sleep
mkRCl RP -> VQ -> QS -> RCl
who wonder who sleeps
mkRCl RP -> VA -> A -> RCl
who become old
mkRCl RP -> VA -> AP -> RCl
who become very old
mkRCl RP -> V2A -> NP -> A -> RCl
who paint it red
mkRCl RP -> V2A -> NP -> AP -> RCl
who paint it red
mkRCl RP -> V2S -> NP -> S -> RCl
who answer to him that we sleep
mkRCl RP -> V2Q -> NP -> QS -> RCl
who ask him who sleeps
mkRCl RP -> V2V -> NP -> VP -> RCl
who beg him to sleep
mkRCl RP -> A -> RCl
who am old
mkRCl RP -> A -> NP -> RCl
who am older than he
mkRCl RP -> A2 -> NP -> RCl
who am married to him
mkRCl RP -> AP -> RCl
who am very old
mkRCl RP -> NP -> RCl
who am the woman
mkRCl RP -> N -> RCl
who am a woman
mkRCl RP -> CN -> RCl
who am an old woman
mkRCl RP -> Adv -> RCl
who am here
mkRCl RP -> NP -> V2 -> RCl
whom she loves
mkRCl RP -> ClSlash -> RCl
whom 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 whom
which_RP RP
RelativeEng.IdRP

RS - relative

Function Type Example
mkRS (Tense) -> (Ant) -> (Pol) -> RCl -> RS
who wouldn't have slept
mkRS Conj -> RS -> RS -> RS who sleeps and whose mother runsx
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 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 mkSSlash

Sub100

Function Type Example
mkSub100 Unit -> Sub100
eight
mkSub100 Unit -> Unit -> Sub100
eighty - three
tenfoldSub100 Unit -> Sub100
eight

Sub1000

Function Type Example
mkSub1000 Sub100 -> Sub1000 coerce 1..99
mkSub1000 Unit -> Sub1000 100n
mkSub1000 Unit -> Sub100 -> Sub1000 100m + n

Subj - subjunction

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

Temp - temporal and aspectual features

Lexical category, constructors given in lexical paradigms.

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 -> Text
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 have

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 answer to 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
parse error
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
always to 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) (she) loves
mkVPSlash V3 -> NP -> VPSlash (whom) (she) gives an apple
mkVPSlash V2A -> AP -> VPSlash (whom) (she) paints red
mkVPSlash V2Q -> QS -> VPSlash (whom) (she) asks who sleeps
mkVPSlash V2S -> S -> VPSlash (whom) (she) tells that we sleep
mkVPSlash V2V -> VP -> VPSlash (whom) (she) forces to sleep
mkVPSlash VV -> VPSlash -> VPSlash want always to buy
mkVPSlash V2V -> NP -> VPSlash -> VPSlash beg me always to buy

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 can (capacity)
can_VV VV can (possibility)
must_VV VV must
want_VV VV want

Voc - vocative or "please"

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

Lexical Paradigms

Paradigms for Bulgarian

source http://www.grammaticalframework.org/lib/resource/src/bulgarian/ParadigmsBul.gf

Function Type
mkN001 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
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 http://www.grammaticalframework.org/lib/resource/src/catalan/ParadigmsCat.gf

Function Type
Gender Type
masculine Gender
feminine Gender
Number Type
singular Number
plural Number
accusative Prep
genitive Prep
dative Prep
mkPrep Str -> Prep
mkN (llum : Str) -> N
mkN Str -> Gender -> N
mkN (disc,discos : Str) -> Gender -> N
compN N -> Str -> N
mkN2 N -> Prep -> N2
deN2 N -> N2
aN2 N -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN (Anna : Str) -> PN
mkPN (Pilar : Str) -> Gender -> PN
mkA (sol : Str) -> A
mkA (fort,forta,forts,fortes,fortament : Str) -> A
mkA (bo : A) -> (millor : A) -> A
prefixA A -> A
mkA2 A -> Prep -> A2
mkAdv Str -> Adv
mkAdV Str -> AdV
mkAdA Str -> AdA
mkV (cantar : Str) -> V
mkV Verbum -> V
reflV V -> V
special_ppV V -> Str -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Prep -> V2
v2V V2 -> V
mkV3 V -> Prep -> Prep -> V3
dirV3 V -> Prep -> V3
dirdirV3 V -> V3
mkV0 V -> V0
mkVS V -> VS
mkV2S V -> Prep -> V2S
mkVV V -> VV
deVV V -> VV
aVV V -> VV
mkV2V V -> Prep -> Prep -> V2V
mkVA V -> VA
mkV2A V -> Prep -> Prep -> V2A
mkVQ V -> VQ
mkV2Q V -> Prep -> V2Q
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> Prep -> AV
mkA2V A -> Prep -> Prep -> A2V
V0 Type

Paradigms for Danish

source http://www.grammaticalframework.org/lib/resource/src/danish/ParadigmsDan.gf

Function Type
Gender Type
utrum Gender
neutrum Gender
Number Type
singular Number
plural Number
Case Type
nominative Case
genitive Case
mkPrep Str -> Prep
noPrep Prep
mkN (bil : Str) -> N
mkN (hus : Str) -> Gender -> N
mkN (bil,bilen : Str) -> N
mkN (bil,bilen,biler : Str) -> N
mkN (dreng,drengen,drenge,drengene : Str) -> N
mkN2 N -> Prep -> N2
regN2 Str -> Gender -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkPN Str -> Gender -> PN
mkPN N -> PN
mkA (fin : Str) -> A
mkA (fin,fint : Str) -> A
mkA (galen,galet,galne : Str) -> A
mkA (stor,stort,store,storre,storst : Str) -> A
mkA A -> A
mkA2 A -> Prep -> A2
mkAdv Str -> Adv
mkAdV Str -> AdV
mkAdA Str -> AdA
mkV (snakke : Str) -> V
mkV (leve,levde : Str) -> V
mkV (drikke, drakk, drukket : Str) -> V
mkV (spise,spiser,spises,spiste,spist,spis : Str) -> V
mkV V -> Str -> V
vaereV V -> V
depV V -> V
reflV V -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Prep -> V2
mkV3 V -> Prep -> Prep -> V3
dirV3 V -> Prep -> V3
dirdirV3 V -> V3
mkV0 V -> V0
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
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> AV
mkA2V A -> Prep -> A2V
V0 Type

Paradigms for Dutch

source http://www.grammaticalframework.org/lib/resource/src/dutch/ParadigmsDut.gf

Function Type
masculine Gender
feminine Gender
neuter Gender
utrum Gender
de,het Gender
mkN (muis : Str) -> N
mkN (bit : Str) -> Gender -> N
mkN (gat,gaten : Str) -> Gender -> N
mkN2 N -> N2
mkN2 N -> Prep -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkA (vers : Str) -> A
mkA (goed,goede,goeds,beter,best : Str) -> A
invarA Str -> A
mkA2 A -> Prep -> A2
mkAdv Str -> Adv
mkPrep Str -> Prep
van_Prep Prep
te_Prep Prep
mkV (aaien : Str) -> V
mkV (breken,brak,gebroken : Str) -> V
mkV (breken,brak,braken,gebroken : Str) -> V
mkV (aai,aait,aaien,aaide,aaide,aaiden,geaaid : Str) -> V
mkV Str -> V -> V
zijnV V -> V
reflV V -> V
mkV3 V -> V3
mkV3 V -> Prep -> V3
mkV3 V -> Prep -> Prep -> V3
mkV0 V -> V0
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 English

source http://www.grammaticalframework.org/lib/resource/src/english/ParadigmsEng.gf

Function Type
Gender Type
human Gender
nonhuman Gender
masculine Gender
feminine Gender
Number Type
singular Number
plural Number
Case Type
nominative Case
genitive Case
npNumber NP -> Number
mkN (flash : Str) -> N
mkN (man,men : Str) -> N
mkN (man,men,man's,men's : Str) -> N
mkN Gender -> N -> N
mkN Str -> N -> N
mkN2 N -> Prep -> N2
mkN2 N -> Str -> N2
mkN2 Str -> Str -> N2
mkN2 N -> N2
mkN2 Str -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkPN N -> PN
mkQuant (this, these : Str) -> Quant
mkQuant (no_sg, no_pl, none_sg, non_pl : Str) -> Quant
mkOrd Str -> Ord
mkA (happy : Str) -> A
mkA (fat,fatter : Str) -> A
mkA (good,better,best,well : Str) -> A
compoundA A -> A
simpleA A -> A
irregAdv A -> Str -> A
mkA2 A -> Prep -> A2
mkA2 A -> Str -> A2
mkA2 Str -> Prep -> A2
mkA2 Str -> Str -> A2
mkAdv Str -> Adv
mkAdV Str -> AdV
mkAdA Str -> AdA
mkAdN Str -> AdN
mkPrep Str -> Prep
noPrep Prep
mkConj Str -> Conj
mkConj Str -> Number -> Conj
mkConj Str -> Str -> Conj
mkConj Str -> Str -> Number -> Conj
mkV (cry : Str) -> V
mkV (stop, stopped : Str) -> V
mkV (drink, drank, drunk : Str) -> V
mkV (run, ran, run, running : Str) -> V
mkV (go, goes, went, gone, going : Str) -> V
mkV Str -> V -> V
partV V -> Str -> V
reflV V -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Prep -> V2
mkV2 V -> Str -> V2
mkV2 Str -> Prep -> V2
mkV2 Str -> Str -> V2
mkV3 V -> Prep -> Prep -> V3
mkV3 V -> Prep -> V3
mkV3 V -> Str -> V3
mkV3 Str -> Str -> V3
mkV3 V -> V3
mkV3 Str -> V3
mkV0 V -> V0
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
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> AV
mkA2V A -> Prep -> A2V
V0 Type
mkSubj Str -> Subj = \s -> lin Subj {s = s}

Paradigms for Finnish

source http://www.grammaticalframework.org/lib/resource/src/finnish/ParadigmsFin.gf

Function Type
Number Type
singular Number
plural Number
Case Type
nominative Case
genitive Case
partitive Case
essive Case
translative Case
inessive Case
elative Case
illative Case
adessive Case
ablative Case
allative Case
prePrep Case -> Str -> Prep
postPrep Case -> Str -> Prep
postGenPrep Str -> Prep
casePrep Case -> Prep
mkN (talo : Str) -> N
mkN (savi,savia : Str) -> N
mkN (vesi,veden,vesiä : Str) -> N
mkN (vesi,veden,vesiä,vettä : Str) -> N
mkN (olo,olon,olona,oloa,oloon,olojen,oloja,oloina,oloissa,oloihin : Str) -> N
mkN (pika : Str) -> (juna : N) -> N
mkN (oma : N) -> (tunto : N) -> N
mkN2 N -> N2
mkN2 N -> Prep -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkPN N -> PN
mkA Str -> A
mkA N -> A
mkA N -> (kivempi,kivin : Str) -> A
mkA (hyva,parempi,paras : N) -> (hyvin,paremmin,parhaiten : Str) -> A
mkA2 A -> Prep -> A2 = \a,p -> a ** {c2 = p lock_A2 = <>};
mkV (huutaa : Str) -> V
mkV (huutaa,huusi : Str) -> V
mkV (huutaa,huudan,huusi : Str) -> V
mkV (
huusin,huusi,huusisi,huutanut,huudettu,huutanee Str) -> V
caseV Case -> V -> V
vOlla V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Case -> V2
mkV2 V -> Prep -> V2
mkV3 V -> Prep -> Prep -> V3
dirV3 V -> Case -> V3
dirdirV3 V -> V3
mkV0 V -> V0
mkVS V -> VS
mkV2S V -> Prep -> V2S
mkVV V -> VV
mkVVf V -> InfForm -> VV
mkV2V V -> Prep -> V2V
mkV2Vf V -> Prep -> InfForm -> V2V
mkVA V -> Prep -> VA
mkV2A V -> Prep -> Prep -> V2A
mkVQ V -> VQ
mkV2Q V -> Prep -> V2Q
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> AV
mkA2V A -> Prep -> A2V
V0 Type

Paradigms for French

source http://www.grammaticalframework.org/lib/resource/src/french/ParadigmsFre.gf

Function Type
Gender Type
masculine Gender
feminine Gender
Number Type
singular Number
plural Number
accusative Prep
genitive Prep
dative Prep
mkPrep Str -> Prep
mkN (cheval : Str) -> N
mkN (foie : Str) -> Gender -> N
mkN (oeil,yeux : Str) -> Gender -> N
mkN N -> Str -> N
mkN2 N -> Prep -> N2
deN2 N -> N2
aN2 N -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkPN Str -> Gender -> PN
mkA (cher : Str) -> A
mkA (sec,seche : Str) -> A
mkA (banal,banale,banaux,banalement : Str) -> A
mkA A -> A -> A
prefixA A -> A
mkA2 A -> Prep -> A2
mkAdv Str -> Adv
mkAdV Str -> AdV
mkAdA Str -> AdA
mkV (finir : Str) -> V
mkV (jeter,jette,jettera : Str) -> V
mkV V2 -> V
etreV V -> V
reflV V -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Prep -> V2
mkV3 V -> V3
mkV3 V -> Prep -> V3
mkV3 V -> Prep -> Prep -> V3
mkV0 V -> V0
mkVS V -> VS
mkV2S V -> Prep -> V2S
mkVV V -> VV
deVV V -> VV
aVV V -> VV
mkV2V V -> Prep -> Prep -> V2V
mkVA V -> VA
mkV2A V -> Prep -> Prep -> V2A
mkVQ V -> VQ
mkV2Q V -> Prep -> V2Q
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> Prep -> AV
mkA2V A -> Prep -> Prep -> A2V
V0 Type

Paradigms for German

source http://www.grammaticalframework.org/lib/resource/src/german/ParadigmsGer.gf

Function Type
Gender Type
masculine Gender
feminine Gender
neuter Gender
Case Type
nominative Case
accusative Case
dative Case
genitive Case
anDat_Case Case
inAcc_Case Case
inDat_Case Case
zuDat_Case Case
Number Type
singular Number
plural Number
mkN (Stufe : Str) -> N
mkN (Bild,Bilder : Str) -> Gender -> N
mkN (x1,_,_,_,_,x6 : Str) -> Gender -> N
mkN2 Str -> N2
mkN2 N -> N2
mkN2 N -> Prep -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkPN (nom,gen : Str) -> PN
mkPN (nom,acc,dat,gen : Str) -> PN
mkA Str -> A
mkA (gut,besser,beste : Str) -> A
mkA (gut,gute,besser,beste : Str) -> A
invarA Str -> A
mkA2 A -> Prep -> A2
mkAdv Str -> Adv
mkPrep Str -> PCase -> Prep
accPrep Prep
datPrep Prep
genPrep Prep
von_Prep Prep
zu_Prep Prep
anDat_Prep Prep
inDat_Prep Prep
inAcc_Prep Prep
mkV (führen : Str) -> V
mkV (sehen,sieht,sah,sähe,gesehen : Str) -> V
mkV (geben, gibt, gib, gab, gäbe, gegeben : Str) -> V
mkV Str -> V -> V
no_geV V -> V
fixprefixV Str -> V -> V
seinV V -> V
habenV V -> V
reflV V -> Case -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Prep -> V2
mkV2 V -> Case -> V2
mkV3 V -> Prep -> Prep -> V3
dirV3 V -> Prep -> V3
accdatV3 V -> V3
mkV0 V -> V0
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
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> AV
mkA2V A -> Prep -> A2V
V0 Type

Paradigms for Italian

source http://www.grammaticalframework.org/lib/resource/src/italian/ParadigmsIta.gf

Function Type
Gender Type
masculine Gender
feminine Gender
Number Type
singular Number
plural Number
--Prep Type
accusative Prep
genitive Prep
dative Prep
mkPrep Str -> Prep
mkN (cane : Str) -> N
mkN (carne : Str) -> Gender -> N
mkN (uomo,uomini : Str) -> Gender -> N
mkN N -> Str -> N
mkN2 Str -> N2
mkN2 N -> Prep -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkPN Str -> Gender -> PN
mkA (bianco : Str) -> A
mkA (solo,sola,soli,sole,solamente : Str) -> A
mkA A -> A -> A
prefixA A -> A = prefA
mkA2 A -> Prep -> A2
mkAdv Str -> Adv
mkAdV Str -> AdV
mkAdA Str -> AdA
mkV Str -> V
mkV Verbo -> V
mkV (udire,odo,ode,udiamo,udiro,udii,udisti,udi,udirono,odi,udito : Str) -> V
essereV V -> V
reflV V -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Prep -> V2
v2V V2 -> V
mkV3 V -> Prep -> Prep -> V3
dirV3 V -> Prep -> V3
dirdirV3 V -> V3
mkV0 V -> V0
mkVS V -> VS
mkV2S V -> Prep -> V2S
mkVV V -> VV
deVV V -> VV
aVV V -> VV
mkV2V V -> Prep -> Prep -> V2V
mkVA V -> VA
mkV2A V -> Prep -> Prep -> V2A
mkVQ V -> VQ
mkV2Q V -> Prep -> V2Q
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> Prep -> AV
mkA2V A -> Prep -> Prep -> A2V
V0 Type

Paradigms for Norwegian

source http://www.grammaticalframework.org/lib/resource/src/norwegian/ParadigmsNor.gf

Function Type
Gender Type
masculine Gender
feminine Gender
neutrum Gender
Number Type
singular Number
plural Number
Case Type
nominative Case
genitive Case
mkPrep Str -> Prep
noPrep Prep
mkN Str -> N
mkN Str -> Gender -> N
mkN (bil,bilen : Str) -> N
mkN (dreng,drengen,drenger,drengene : Str) -> N
mkN2 N -> Prep -> N2
regN2 Str -> Gender -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkPN Str -> Gender -> PN
mkPN N -> PN
mkA (fin : Str) -> A
mkA (fin,fint : Str) -> A
mkA (galen,galet,galne : Str) -> A
mkA (stor,stort,store,storre,storst : Str) -> A
mkA A -> A
mkA2 A -> Prep -> A2
mkAdv Str -> Adv
mkAdV Str -> AdV
mkAdA Str -> AdA
mkV (snakke : Str) -> V
mkV (leve,levde : Str) -> V
mkV (drikke, drakk, drukket : Str) -> V
mkV (spise,spiser,spises,spiste,spist,spis : Str) -> V
mkV V -> Str -> V
vaereV V -> V
depV V -> V
reflV V -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Prep -> V2
mkV3 V -> Prep -> Prep -> V3
dirV3 V -> Prep -> V3
dirdirV3 V -> V3
mkV0 V -> V0
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
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> AV
mkA2V A -> Prep -> A2V
V0 Type

Paradigms for Polish

source http://www.grammaticalframework.org/lib/resource/src/polish/ParadigmsPol.gf

Function Type
Gender Type;
masculineP Gender;
masculineA Gender;
masculineI Gender;
feminine Gender;
neuter Gender;
personal Animacy;
Case Type;
nominative Case;
genitive Case;
dative Case;
accusative Case;
instrumental Case;
locative Case;
vocative Case;
Number Type;
singular Number;
plural Number;
nKapiel Str -> N;
nLodz Str -> N;
nSul Str -> N;
nKonew Str -> N;
nWies Str -> N;
nDlon Str -> N;
nSiec Str -> N;
nDrzwi Str -> N;
nKosc Str -> N;
nNoc Str -> N;
nWesz Str -> N;
nKrolowa Str -> N;
nReka Str -> N;
nApteka Str -> N;
nDroga Str -> N;
nMatka Str -> N;
nZiemia Str -> N;
nFala Str -> N;
nLilia Str -> N;
nKobieta Str -> N;
nLiczba Str -> N;
nSila Str -> N;
nDoba Str -> N;
nWoda Str -> N;
nSzkola Str -> N;
nWojna Str -> N;
nWiosna Str -> N;
nMgla Str -> N;
nGwiazda Str -> N;
nUlica Str -> N;
nOwca Str -> N;
nDanie Str -> N;
nSerce Str -> N;
nNasienie Str -> N;
nMorze Str -> N;
nImie Str -> N;
nCiele Str -> N;
nUdo Str -> N;
nPiwo Str -> N;
nZero Str -> N;
nNiebo Str -> N;
nTlo Str -> N;
nZebro Str -> N;
nOkno Str -> N;
nGniazdo Str -> N;
nWojsko Str -> N;
nJajo Str -> N;
nJablko Str -> N;
nStudio Str -> N;
nDziecko Str -> N;
nUcho Str -> N;
nOko Str -> N;
nFacet Str -> N;
nArab Str -> N;
nPrzyjaciel Str -> N;
nKowal Str -> N;
nLekarz Str -> N;
nKrol Str -> N;
nMaz Str -> N;
nWrog Str -> N;
nKsiadz Str -> N;
nOjciec Str -> N;
nBrat Str -> N;
nBog Str -> N;
nChlopiec Str -> N;
nMezczyzna Str -> N;
nKon Str -> N;
nWaz Str -> N;
nPtak Str -> N;
nKot Str -> N;
nPies Str -> N;
nBat Str -> N;
nChleb Str -> N;
nSer Str -> N;
nZab Str -> N;
nKosciol Str -> N;
nCien Str -> N;
nPien Str -> N;
nLisc Str -> N;
nKoc Str -> N;
nWiersz Str -> N;
nDzien Str -> N;
nKajak Str -> N;
nMlotek Str -> N;
nMiech Str -> N;
nSad Str -> N;
nDym Str -> N;
nWal Str -> N;
nDol Str -> N;
nOgrod Str -> N;
nKwiat Str -> N;
nLas Str -> N;
nWiatr Str -> N;
nPopiol Str -> N;
nPokoj Str -> N;
nGaj Str -> N;
nBrzeg Str -> N;
nRok Str -> Str -> N;
nProg Str -> N;
nStatek Str -> N;
nDom Str -> N;
mkN (nomSg, genSg, datSg, accSg, instrSg, locSg, vocSg,
mkN2 N -> N2
mkFun N -> Prep -> N2;
nullPrep Prep = {s = []; c= GenNoPrep; lock_Prep=<>};
mkN3 N -> Prep -> Prep -> N3;
mkPrep Str -> Case -> Prep;
genPrep Prep;
datPrep Prep;
accPrep Prep;
instrPrep Prep;
bez_Prep Prep; --without
dla_Prep Prep; --for
do_Prep Prep; --to
dookola_Prep Prep; --(a)round
kolo_Prep Prep; --near
obok_Prep Prep; --beside, next to
od_Prep Prep; --from
oprocz_Prep Prep; --out of
podczas_Prep Prep; --during
mimo_Prep Prep;
spod_Prep Prep; --under
u_Prep Prep; --by, with (I was by Peter last sunday.)
wzdluz_Prep Prep; --along
z_Prep Prep; --from (I come from Italy.), of/ from (The ring is made of silver.)
zamiast_Prep Prep; --instead of
znad_Prep Prep; --over, above
zza_Prep Prep; --behind
dzieki_Prep Prep;
przeciw_Prep Prep;

Paradigms for Romanian

source http://www.grammaticalframework.org/lib/resource/src/romanian/ParadigmsRon.gf

Function Type
NGender Type
masculine NGender
feminine NGender
neuter NGender
Gender Type
Masculine Gender
Feminine Gender
Anim Type
animate Anim
inanimate Anim;
Number Type
singular Number
plural Number
Preposition Type
NCase Type
Acc NCase
Dat NCase
Gen NCase
Nom NCase
mkPrep Str -> NCase-> Bool -> Prep
mkPrep Str -> NCase -> Prep;
noPrep NCase -> Prep
mkN2 N -> Prep -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkPN Str -> Str -> Gender -> Number -> PN
mkPN Str -> Gender -> PN
mkPN Str -> Gender -> Number -> PN
mkInAn PN -> PN
mkPropNoun Str -> Gender -> PN
mkA2 A -> Prep -> A2
mkV Str -> V
mkV2S V -> Prep -> V2S
mkV2V V -> Prep -> Prep -> V2V
mkVA V -> VA
mkV2A V -> Prep -> Prep -> V2A
mkVQ V -> VQ
mkV2Q V -> Prep -> V2Q
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> Prep -> AV
mkA2V A -> Prep -> Prep -> A2V

Paradigms for Russian

source http://www.grammaticalframework.org/lib/resource/src/russian/ParadigmsRus.gf

Function Type
Gender Type
masculine Gender
feminine Gender
neuter Gender
Case Type
nominative Case
genitive Case
dative Case
accusative Case
instructive Case
prepositional Case
Number Type
singular Number
plural Number
mkN (karta : Str) -> N
mkN (tigr : Str) -> Animacy -> N
mkN (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg, nomPl, genPl, datPl, accPl, instPl, preposPl : Str) -> Gender -> Animacy -> N
mkN2 N -> N2
mkN2 N -> Prep -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> Gender -> Animacy -> PN
nounPN N -> PN
mkA (positive : Str) -> A
mkA (positive, comparative : Str) -> A
mkA2 A -> Str -> Case -> A2
mkAdv Str -> Adv
mkV Aspect -> (presentSgP1,presentSgP2,presentSgP3,
pastSgP1,imperative,infinitive Str) -> V
mkV2 V -> Str -> Case -> V2
mkV3 V -> Str -> Str -> Case -> Case -> V3
dirV2 V -> V2
tvDirDir V -> V3

Paradigms for Spanish

source http://www.grammaticalframework.org/lib/resource/src/spanish/ParadigmsSpa.gf

Function Type
Gender Type
masculine Gender
feminine Gender
Number Type
singular Number
plural Number
accusative Prep
genitive Prep
dative Prep
mkPrep Str -> Prep
mkN (luz : Str) -> N
mkN Str -> Gender -> N
mkN (baston,bastones : Str) -> Gender -> N
compN N -> Str -> N
mkN2 N -> Prep -> N2
deN2 N -> N2
aN2 N -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN (Anna : Str) -> PN
mkPN (Pilar : Str) -> Gender -> PN
mkA (util : Str) -> A
mkA (solo,sola,solos,solas,solamente : Str) -> A
mkA (bueno : A) -> (mejor : A) -> A
prefixA A -> A
mkA2 A -> Prep -> A2
mkAdv Str -> Adv
mkAdV Str -> AdV
mkAdA Str -> AdA
mkV (pagar : Str) -> V
mkV (mostrar,muestro : Str) -> V
mkV Verbum -> V
reflV V -> V
special_ppV V -> Str -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Prep -> V2
v2V V2 -> V
mkV3 V -> Prep -> Prep -> V3
dirV3 V -> Prep -> V3
dirdirV3 V -> V3
mkV0 V -> V0
mkVS V -> VS
mkV2S V -> Prep -> V2S
mkVV V -> VV
deVV V -> VV
aVV V -> VV
mkV2V V -> Prep -> Prep -> V2V
mkVA V -> VA
mkV2A V -> Prep -> Prep -> V2A
mkVQ V -> VQ
mkV2Q V -> Prep -> V2Q
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> Prep -> AV
mkA2V A -> Prep -> Prep -> A2V
V0 Type

Paradigms for Swedish

source http://www.grammaticalframework.org/lib/resource/src/swedish/ParadigmsSwe.gf

Function Type
Gender Type
utrum Gender
neutrum Gender
Number Type
singular Number
plural Number
Case Type
nominative Case
genitive Case
mkPrep Str -> Prep
noPrep Prep
mkN (apa : Str) -> N
mkN (lik : Str) -> Gender -> N
mkN (nyckel,nycklar : Str) -> N
mkN (museum,museet,museer,museerna : Str) -> N
mkN2 Str -> N2
mkN2 N -> Prep -> N2
mkN3 N -> Prep -> Prep -> N3
mkPN Str -> PN
mkPN Str -> Gender -> PN
mkPN (jesus,jesu : Str) -> Gender -> PN
mkA (billig : Str) -> A
mkA (bred,brett : Str) -> A
mkA (tung,tyngre,tyngst : Str) -> A
mkA (god,gott,goda,battre,bast : Str) -> A
mkA (liten,litet,lilla,sma,mindre,minst,minsta : Str) -> A
compoundA A -> A
mkA2 A -> Prep -> A2
mkAdv Str -> Adv
mkAdV Str -> AdV
mkAdA Str -> AdA
mkV (stämmer : Str) -> V
mkV (dricka,drack,druckit : Str) -> V
mkV (gå,går,gå,gick,gått,gången : Str) -> V
mkV V -> Str -> V
depV V -> V
reflV V -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 Str -> Prep -> V2
mkV2 V -> Prep -> V2
mkV3 Str -> V3
mkV3 V -> V3
mkV3 V -> Prep -> V3
mkV3 V -> Prep -> Prep -> V3
mkV0 V -> V0
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
mkAS A -> AS
mkA2S A -> Prep -> A2S
mkAV A -> AV
mkA2V A -> Prep -> A2V
V0 Type

Paradigms for Urdu

source http://www.grammaticalframework.org/lib/resource/src/urdu/ParadigmsUrd.gf

Function Type
masculine Gender
feminine Gender
singular Number;
plural Number;
mkN Str -> N
mkN Str -> Gender -> N
mkN (x1,_,_,_,_,x6 : Str) -> Gender -> N
mkN2 N -> Prep -> Str -> N2;
mkN3 N -> Prep -> Str -> Str-> N3
mkCmpdNoun Str -> N -> N
mkPN Str -> PN
mkA Str-> A
mkA Str -> Str -> A2
mkA2 A -> Str -> A2
mkV Str -> V
mkV2 Str -> V2
mkV2 V -> V2
mkV2 V -> Str -> V2
mkV3 V -> Str -> Str -> V3;
mkV2V V -> Str -> Str -> Bool -> V2V
dirdirV3 V -> V3
compoundV Str -> V -> V
compoundV Str -> V2 -> V
mkAdv Str -> Adv
mkPrep Str -> Str -> Prep
mkConj Str -> Conj
mkConj Str -> Number -> Conj
mkConj Str -> Str -> Conj
mkConj Str -> Str -> Number -> Conj
mkVS V -> VS;
mkVV V -> VV
mkAdA Str -> AdA
mkVQ V -> VQ
mkConj Str -> Conj
mkConj Str -> Number -> Conj
mkConj Str -> Str -> Conj
mkConj Str -> Str -> Number -> Conj
mk2Conj Str -> Str -> Number -> Conj = \x,y,n ->

Browsing the libraries with GF commands

New: Browsing by syntax editor directly on the web.

All of the following assume

    cd $GF_LIB_PATH

To try out inflection paradigms:

    > i -path=alltenses -retain alltenses/ParadigmsGer.gfo
    > cc mkN "Farbe"

To try out overloaded syntax, test lexicon, and inflection paradigms:

    > i -path=alltenses -retain alltenses/TryGer.gfo
    > cc mkCl (mkNP this_Quant (mkN "Farbe")) (mkA "dunkel")

An Example of Usage

The standard way of building an application has the following modules.

An abstract syntax:

    abstract Music = {    
    cat 
      Kind, 
      Property ;
    fun 
      PropKind : Kind -> Property -> Kind ; 
      Song : Kind ;
      American : Property ;
    }

A domain lexicon interface:

    interface LexMusic = open Cat in {
    oper
      song_N : N ;
      american_A : A ;
    }

A functor on Syntax and the domain lexicon interface:

    incomplete concrete MusicI of Music = open Syntax, MusicLex in {
    lincat 
      Kind = CN ;
      Property = AP ;
    lin
      PropKind k p = mkCN p k ;
      Song = mkCN song_N ;
      American = mkAP american_A ;
    }

For each language, an instance of the domain lexicon:

    instance LexMusicGer of LexMusic = CatGer ** open ParadigmsGer in {    
    oper
      song_N = mkN "Lied" "Lieder" neuter ;
      american_A = mkA "amerikanisch" ;
    }

For each language, an instantiation of the functor:

    --# -path=.:present:prelude
  
    concrete MusicGer of Music = MusicI with
      (Syntax = SyntaxGer),
      (LexMusic = LexMusicGer) ;

Table of Contents