mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 09:02:50 -06:00
paradigms annotated in Fin
This commit is contained in:
File diff suppressed because it is too large
Load Diff
2174
lib/doc/synopsis.txt
2174
lib/doc/synopsis.txt
File diff suppressed because it is too large
Load Diff
@@ -44,28 +44,30 @@ oper
|
|||||||
plural : Number ;
|
plural : Number ;
|
||||||
|
|
||||||
Case : Type ;
|
Case : Type ;
|
||||||
nominative : Case ;
|
nominative : Case ; -- e.g. "talo"
|
||||||
genitive : Case ;
|
genitive : Case ; -- e.g. "talon"
|
||||||
partitive : Case ;
|
partitive : Case ; -- e.g. "taloa"
|
||||||
essive : Case ;
|
essive : Case ; -- e.g. "talona"
|
||||||
translative : Case ;
|
translative : Case ; -- e.g. "taloksi"
|
||||||
inessive : Case ;
|
inessive : Case ; -- e.g. "talossa"
|
||||||
elative : Case ;
|
elative : Case ; -- e.g. "talosta"
|
||||||
illative : Case ;
|
illative : Case ; -- e.g. "taloon"
|
||||||
adessive : Case ;
|
adessive : Case ; -- e.g. "talolla"
|
||||||
ablative : Case ;
|
ablative : Case ; -- e.g. "talolta"
|
||||||
allative : Case ;
|
allative : Case ; -- e.g. "talolle"
|
||||||
|
|
||||||
infFirst, infElat, infIllat : InfForm ;
|
infFirst : InfForm ; -- e.g. "tehdä"
|
||||||
|
infElat : InfForm ; -- e.g. "tekemästä"
|
||||||
|
infIllat : InfForm ; -- e.g. "tekemään"
|
||||||
|
|
||||||
-- The following type is used for defining *rection*, i.e. complements
|
-- The following type is used for defining *rection*, i.e. complements
|
||||||
-- of many-place verbs and adjective. A complement can be defined by
|
-- of many-place verbs and adjective. A complement can be defined by
|
||||||
-- just a case, or a pre/postposition and a case.
|
-- just a case, or a pre/postposition and a case.
|
||||||
|
|
||||||
prePrep : Case -> Str -> Prep ; -- ilman, partitive
|
prePrep : Case -> Str -> Prep ; -- preposition, e.g. partitive "ilman"
|
||||||
postPrep : Case -> Str -> Prep ; -- takana, genitive
|
postPrep : Case -> Str -> Prep ; -- postposition, e.g. genitive "takana"
|
||||||
postGenPrep : Str -> Prep ; -- takana
|
postGenPrep : Str -> Prep ; -- genitive postposition, e.g. "takana"
|
||||||
casePrep : Case -> Prep ; -- adessive
|
casePrep : Case -> Prep ; -- just case, e.g. adessive
|
||||||
|
|
||||||
--2 Nouns
|
--2 Nouns
|
||||||
|
|
||||||
@@ -88,31 +90,31 @@ oper
|
|||||||
-- "auto - audon".
|
-- "auto - audon".
|
||||||
|
|
||||||
mkN : overload {
|
mkN : overload {
|
||||||
mkN : (talo : Str) -> N ;
|
mkN : (kukko : Str) -> N ; -- predictable nouns, covers 82%
|
||||||
mkN : (savi,savia : Str) -> N ;
|
mkN : (savi,savia : Str) -> N ; -- different pl.part
|
||||||
mkN : (vesi,veden,vesiä : Str) -> N ;
|
mkN : (vesi,veden,vesiä : Str) -> N ; -- also different sg.gen
|
||||||
mkN : (vesi,veden,vesiä,vettä : Str) -> N ;
|
mkN : (vesi,veden,vesiä,vettä : Str) -> N ; -- also different sg.part
|
||||||
mkN : (olo,olon,olona,oloa,oloon,olojen,oloja,oloina,oloissa,oloihin : Str) -> N ;
|
mkN : (olo,n,na,a,oon,jen,ja,ina,issa,ihin : Str) -> N ; -- worst case, 10 forms
|
||||||
mkN : (pika : Str) -> (juna : N) -> N ;
|
mkN : (pika : Str) -> (juna : N) -> N ; -- compound with invariable prefix
|
||||||
mkN : (oma : N) -> (tunto : N) -> N ;
|
mkN : (oma : N) -> (tunto : N) -> N ; -- compound with inflecting prefix
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Nouns used as functions need a case, of which the default is
|
-- Nouns used as functions need a case, of which the default is
|
||||||
-- the genitive.
|
-- the genitive.
|
||||||
|
|
||||||
mkN2 : overload {
|
mkN2 : overload {
|
||||||
mkN2 : N -> N2 ;
|
mkN2 : N -> N2 ; -- relational noun with genitive
|
||||||
mkN2 : N -> Prep -> N2
|
mkN2 : N -> Prep -> N2 -- relational noun another prep.
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkN3 : N -> Prep -> Prep -> N3 ;
|
mkN3 : N -> Prep -> Prep -> N3 ; -- relation with two complements
|
||||||
|
|
||||||
-- Proper names can be formed by using declensions for nouns.
|
-- Proper names can be formed by using declensions for nouns.
|
||||||
-- The plural forms are filtered away by the compiler.
|
-- The plural forms are filtered away by the compiler.
|
||||||
|
|
||||||
mkPN : overload {
|
mkPN : overload {
|
||||||
mkPN : Str -> PN ;
|
mkPN : Str -> PN ; -- predictable noun made into name
|
||||||
mkPN : N -> PN
|
mkPN : N -> PN -- any noun made into name
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
--2 Adjectives
|
--2 Adjectives
|
||||||
@@ -125,15 +127,16 @@ oper
|
|||||||
-- enough (except for the superlative "paras" of "hyvä").
|
-- enough (except for the superlative "paras" of "hyvä").
|
||||||
|
|
||||||
mkA : overload {
|
mkA : overload {
|
||||||
mkA : Str -> A ;
|
mkA : Str -> A ; -- regular noun made into adjective
|
||||||
mkA : N -> A ;
|
mkA : N -> A ; -- any noun made into adjective
|
||||||
mkA : N -> (kivempi,kivin : Str) -> A ;
|
mkA : N -> (kivempi,kivin : Str) -> A ; -- deviating comparison forms
|
||||||
mkA : (hyva,parempi,paras : N) -> (hyvin,paremmin,parhaiten : Str) -> A ;
|
mkA : (hyva,prmpi,pras : N) -> (hyvin,pmmin,prhten : Str) -> A ; -- worst case adj
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Two-place adjectives need a case for the second argument.
|
-- Two-place adjectives need a case for the second argument.
|
||||||
|
|
||||||
mkA2 : A -> Prep -> A2 = \a,p -> a ** {c2 = p ; lock_A2 = <>};
|
mkA2 : A -> Prep -> A2 -- e.g. "jaollinen" casePrep adessive
|
||||||
|
= \a,p -> a ** {c2 = p ; lock_A2 = <>};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -145,22 +148,20 @@ oper
|
|||||||
-- The worst case needs twelve forms, as shown in the following.
|
-- The worst case needs twelve forms, as shown in the following.
|
||||||
|
|
||||||
mkV : overload {
|
mkV : overload {
|
||||||
mkV : (huutaa : Str) -> V ;
|
mkV : (huutaa : Str) -> V ; -- predictable verbs, covers 90%
|
||||||
mkV : (huutaa,huusi : Str) -> V ;
|
mkV : (huutaa,huusi : Str) -> V ; -- deviating past 3sg
|
||||||
mkV : (huutaa,huudan,huusi : Str) -> V ;
|
mkV : (huutaa,huudan,huusi : Str) -> V ; -- also deviating pres. 1sg
|
||||||
mkV : (
|
mkV : (huutaa,dan,taa,tavat,takaa,detaan,sin,si,sisi,tanut,dettu,tanee : Str) -> V ; -- worst-case verb
|
||||||
huutaa,huudan,huutaa,huutavat,huutakaa,huudetaan,
|
|
||||||
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V ;
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- All the patterns above have $nominative$ as subject case.
|
-- All the patterns above have $nominative$ as subject case.
|
||||||
-- If another case is wanted, use the following.
|
-- If another case is wanted, use the following.
|
||||||
|
|
||||||
caseV : Case -> V -> V ;
|
caseV : Case -> V -> V ; -- deviating subj. case, e.g. genitive "täytyä"
|
||||||
|
|
||||||
-- The verbs "be" is special.
|
-- The verbs "be" is special.
|
||||||
|
|
||||||
vOlla : V ;
|
vOlla : V ; -- the verb "be"
|
||||||
|
|
||||||
|
|
||||||
--3 Two-place verbs
|
--3 Two-place verbs
|
||||||
@@ -171,10 +172,10 @@ oper
|
|||||||
-- accusative object.
|
-- accusative object.
|
||||||
|
|
||||||
mkV2 : overload {
|
mkV2 : overload {
|
||||||
mkV2 : Str -> V2 ;
|
mkV2 : Str -> V2 ; -- predictable direct transitive
|
||||||
mkV2 : V -> V2 ;
|
mkV2 : V -> V2 ; -- direct transitive
|
||||||
mkV2 : V -> Case -> V2 ;
|
mkV2 : V -> Case -> V2 ; -- complement just case
|
||||||
mkV2 : V -> Prep -> V2 ;
|
mkV2 : V -> Prep -> V2 ; -- complement pre/postposition
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
@@ -183,7 +184,7 @@ oper
|
|||||||
-- Three-place (ditransitive) verbs need two prepositions, of which
|
-- Three-place (ditransitive) verbs need two prepositions, of which
|
||||||
-- the first one or both can be absent.
|
-- the first one or both can be absent.
|
||||||
|
|
||||||
mkV3 : V -> Prep -> Prep -> V3 ; -- puhua, allative, elative
|
mkV3 : V -> Prep -> Prep -> V3 ; -- e.g. puhua, allative, elative
|
||||||
dirV3 : V -> Case -> V3 ; -- siirtää, (accusative), illative
|
dirV3 : V -> Case -> V3 ; -- siirtää, (accusative), illative
|
||||||
dirdirV3 : V -> V3 ; -- antaa, (accusative), (allative)
|
dirdirV3 : V -> V3 ; -- antaa, (accusative), (allative)
|
||||||
|
|
||||||
@@ -193,30 +194,30 @@ oper
|
|||||||
-- Verbs and adjectives can take complements such as sentences,
|
-- Verbs and adjectives can take complements such as sentences,
|
||||||
-- questions, verb phrases, and adjectives.
|
-- questions, verb phrases, and adjectives.
|
||||||
|
|
||||||
mkV0 : V -> V0 ;
|
mkV0 : V -> V0 ; --%
|
||||||
mkVS : V -> VS ;
|
mkVS : V -> VS ;
|
||||||
mkV2S : V -> Prep -> V2S ;
|
mkV2S : V -> Prep -> V2S ; -- e.g. "sanoa" allative
|
||||||
mkVV : V -> VV ;
|
mkVV : V -> VV ; -- e.g. "alkaa"
|
||||||
mkVVf : V -> InfForm -> VV ;
|
mkVVf : V -> InfForm -> VV ; -- e.g. "ruveta" infIllat
|
||||||
mkV2V : V -> Prep -> V2V ;
|
mkV2V : V -> Prep -> V2V ; -- e.g. "käskeä" genitive
|
||||||
mkV2Vf : V -> Prep -> InfForm -> V2V ;
|
mkV2Vf : V -> Prep -> InfForm -> V2V ; -- e.g. "kieltää" partitive infElat
|
||||||
mkVA : V -> Prep -> VA ;
|
mkVA : V -> Prep -> VA ; -- e.g. "maistua" ablative
|
||||||
mkV2A : V -> Prep -> Prep -> V2A ;
|
mkV2A : V -> Prep -> Prep -> V2A ; -- e.g. "maalata" accusative translative
|
||||||
mkVQ : V -> VQ ;
|
mkVQ : V -> VQ ;
|
||||||
mkV2Q : V -> Prep -> V2Q ;
|
mkV2Q : V -> Prep -> V2Q ; -- e.g. "kysyä" ablative
|
||||||
|
|
||||||
mkAS : A -> AS ;
|
mkAS : A -> AS ; --%
|
||||||
mkA2S : A -> Prep -> A2S ;
|
mkA2S : A -> Prep -> A2S ; --%
|
||||||
mkAV : A -> AV ;
|
mkAV : A -> AV ; --%
|
||||||
mkA2V : A -> Prep -> A2V ;
|
mkA2V : A -> Prep -> A2V ; --%
|
||||||
|
|
||||||
-- Notice: categories $AS, A2S, AV, A2V$ are just $A$,
|
-- Notice: categories $AS, A2S, AV, A2V$ are just $A$,
|
||||||
-- and the second argument is given
|
-- and the second argument is given
|
||||||
-- as an adverb. Likewise
|
-- as an adverb. Likewise
|
||||||
-- $V0$ is just $V$.
|
-- $V0$ is just $V$.
|
||||||
|
|
||||||
V0 : Type ;
|
V0 : Type ; --%
|
||||||
AS, A2S, AV, A2V : Type ;
|
AS, A2S, AV, A2V : Type ; --%
|
||||||
|
|
||||||
--.
|
--.
|
||||||
-- The definitions should not bother the user of the API. So they are
|
-- The definitions should not bother the user of the API. So they are
|
||||||
|
|||||||
Reference in New Issue
Block a user