mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
examples/discourse on Finnish discourse particles and their translations
This commit is contained in:
32
examples/discourse/Discourse.gf
Normal file
32
examples/discourse/Discourse.gf
Normal file
@@ -0,0 +1,32 @@
|
||||
abstract Discourse =
|
||||
Lexicon,
|
||||
Noun, Verb,
|
||||
Adjective, Adverb,
|
||||
Structural - [nobody_NP, nothing_NP],
|
||||
Tense
|
||||
** {
|
||||
|
||||
flags startcat = S ;
|
||||
|
||||
cat
|
||||
Clause ; Part ;
|
||||
|
||||
fun
|
||||
ClauseS : Part -> Temp -> Pol -> Clause -> S ; -- arihan juo nyt
|
||||
SubjKinS : Part -> Temp -> Pol -> Clause -> S ; -- arikinhan juo nyt
|
||||
VerbKinS : Part -> Temp -> Pol -> Clause -> S ; -- arihan juokin nyt
|
||||
AdvKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- arihan juo nytkin
|
||||
PreAdvKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nytkinhän ari juo
|
||||
PreAdvS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nythän ari juo
|
||||
PreAdvSubjKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nythän arikin juo
|
||||
PreAdvVerbKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nythän ari juokin
|
||||
PreAdvAdvKinS : Part -> Temp -> Pol -> Adv -> Adv -> Clause -> S ; -- nythän ari juo täälläkin
|
||||
|
||||
--- AnterVerbS : Part -> PartKin -> Tense -> Pol -> Clause -> S ; -- arihan onkin juonut
|
||||
--- doesn't put in right place
|
||||
|
||||
PredClause : NP -> VP -> Clause ;
|
||||
|
||||
noPart, han_Part, pa_Part, pas_Part, ko_Part, kos_Part, kohan_Part, pahan_Part : Part ;
|
||||
|
||||
}
|
||||
54
examples/discourse/DiscourseEng.gf
Normal file
54
examples/discourse/DiscourseEng.gf
Normal file
@@ -0,0 +1,54 @@
|
||||
--# -path=.:alltenses
|
||||
|
||||
concrete DiscourseEng of Discourse =
|
||||
LexiconEng,
|
||||
NounEng, VerbEng,
|
||||
AdjectiveEng, AdverbEng,
|
||||
StructuralEng - [nobody_NP, nothing_NP],
|
||||
TenseX
|
||||
** open SyntaxEng, (P = ParadigmsEng), (R = ParamX), Prelude in {
|
||||
|
||||
lincat
|
||||
Clause = {subj : NP ; vp : VP} ;
|
||||
Part = Adv ;
|
||||
|
||||
lin
|
||||
ClauseS part temp pol cl =
|
||||
mkS temp pol (mkCl (mkNP cl.subj part) cl.vp) ;
|
||||
SubjKinS part temp pol cl =
|
||||
mkS temp pol (mkCl (mkNP (mkNP cl.subj (kin.s ! pol.p)) part) cl.vp) ;
|
||||
VerbKinS part temp pol cl =
|
||||
mkS temp pol (mkCl (mkNP cl.subj part) (mkVP cl.vp (kin.s ! pol.p))) ;
|
||||
AdvKinS part temp pol adv cl =
|
||||
mkS temp pol (mkCl (mkNP cl.subj part) (mkVP (mkVP cl.vp adv) (kin.s ! pol.p))) ;
|
||||
PreAdvS part temp pol adv cl =
|
||||
mkS adv (mkS part (mkS temp pol (mkCl cl.subj cl.vp))) ;
|
||||
PreAdvKinS part temp pol adv cl =
|
||||
mkS adv (mkS part (mkS (kin.s ! pol.p) (mkS temp pol (mkCl cl.subj cl.vp)))) ;
|
||||
PreAdvSubjKinS part temp pol adv cl =
|
||||
mkS adv (mkS part (mkS temp pol (mkCl (mkNP cl.subj (kin.s ! pol.p)) cl.vp))) ;
|
||||
PreAdvVerbKinS part temp pol adv cl =
|
||||
mkS adv (mkS part (mkS temp pol (mkCl cl.subj (mkVP cl.vp (kin.s ! pol.p))))) ;
|
||||
PreAdvAdvKinS part temp pol adv1 adv2 cl =
|
||||
mkS adv1 (mkS part (mkS temp pol (mkCl cl.subj (mkVP (mkVP cl.vp adv2) (kin.s ! pol.p))))) ;
|
||||
|
||||
PredClause subj v = {subj = subj ; vp = v} ;
|
||||
|
||||
--- AnterVerbS part kin t pol cl =
|
||||
--- mkS t anteriorAnt pol (mkCl (mkNP cl.subj part) (mkVP cl.vp (kin.s ! pol.p))) ;
|
||||
|
||||
noPart = P.mkAdv [] ;
|
||||
han_Part = P.mkAdv "as you know" ;
|
||||
pa_Part = P.mkAdv "and nobody else" ;
|
||||
pas_Part = P.mkAdv "and nobody else" ;
|
||||
ko_Part = P.mkAdv "whether" ;
|
||||
kos_Part = P.mkAdv "whether" ;
|
||||
kohan_Part = P.mkAdv "whether" ;
|
||||
pahan_Part = P.mkAdv "and nobody else as you know" ;
|
||||
|
||||
|
||||
oper
|
||||
kin : {s : R.Polarity => Adv} =
|
||||
{s = table {R.Pos => P.mkAdv "too" ; R.Neg => P.mkAdv "either"}} ;
|
||||
|
||||
}
|
||||
53
examples/discourse/DiscourseFin.gf
Normal file
53
examples/discourse/DiscourseFin.gf
Normal file
@@ -0,0 +1,53 @@
|
||||
--# -path=.:alltenses
|
||||
|
||||
concrete DiscourseFin of Discourse =
|
||||
LexiconFin,
|
||||
NounFin, VerbFin - [SlashV2VNP,SlashVV],
|
||||
AdjectiveFin, AdverbFin,
|
||||
StructuralFin - [nobody_NP,nothing_NP],
|
||||
TenseX
|
||||
** open SyntaxFin, (P = ParadigmsFin), (R = ParamX), Prelude in {
|
||||
|
||||
lincat
|
||||
Clause = {subj : NP ; vp : VP} ;
|
||||
Part = Adv ;
|
||||
|
||||
lin
|
||||
ClauseS part temp pol cl =
|
||||
mkS temp pol (mkCl (mkNP cl.subj part) cl.vp) ;
|
||||
SubjKinS part temp pol cl =
|
||||
mkS temp pol (mkCl (mkNP (mkNP cl.subj (kin.s ! pol.p)) part) cl.vp) ;
|
||||
VerbKinS part temp pol cl =
|
||||
mkS temp pol (mkCl (mkNP cl.subj part) (mkVP cl.vp (kin.s ! pol.p))) ;
|
||||
AdvKinS part temp pol adv cl =
|
||||
mkS temp pol (mkCl (mkNP cl.subj part) (mkVP (mkVP cl.vp adv) (kin.s ! pol.p))) ;
|
||||
PreAdvS part temp pol adv cl =
|
||||
mkS adv (mkS part (mkS temp pol (mkCl cl.subj cl.vp))) ;
|
||||
PreAdvKinS part temp pol adv cl =
|
||||
mkS adv (mkS part (mkS (kin.s ! pol.p) (mkS temp pol (mkCl cl.subj cl.vp)))) ;
|
||||
PreAdvSubjKinS part temp pol adv cl =
|
||||
mkS adv (mkS part (mkS temp pol (mkCl (mkNP cl.subj (kin.s ! pol.p)) cl.vp))) ;
|
||||
PreAdvVerbKinS part temp pol adv cl =
|
||||
mkS adv (mkS part (mkS temp pol (mkCl cl.subj (mkVP cl.vp (kin.s ! pol.p))))) ;
|
||||
PreAdvAdvKinS part temp pol adv1 adv2 cl =
|
||||
mkS adv1 (mkS part (mkS temp pol (mkCl cl.subj (mkVP (mkVP cl.vp adv2) (kin.s ! pol.p))))) ;
|
||||
|
||||
PredClause subj v = {subj = subj ; vp = v} ;
|
||||
|
||||
noPart = P.mkAdv [] ;
|
||||
han_Part = P.mkAdv (glueTok "han") ;
|
||||
pa_Part = P.mkAdv (glueTok "pa") ;
|
||||
pas_Part = P.mkAdv (glueTok "pas") ;
|
||||
ko_Part = P.mkAdv (glueTok "ko") ;
|
||||
kos_Part = P.mkAdv (glueTok "kos") ;
|
||||
kohan_Part = P.mkAdv (glueTok "kohan") ;
|
||||
pahan_Part = P.mkAdv (glueTok "pahan") ;
|
||||
|
||||
|
||||
oper
|
||||
kin : {s : R.Polarity => Adv} =
|
||||
{s = table {R.Pos => P.mkAdv (glueTok "kin") ; R.Neg => P.mkAdv (glueTok "kaan")}} ;
|
||||
|
||||
glueTok : Str -> Str = \s -> "&+" ++ s ;
|
||||
|
||||
}
|
||||
55
examples/discourse/particles.txt
Normal file
55
examples/discourse/particles.txt
Normal file
@@ -0,0 +1,55 @@
|
||||
On the syntax of clitic particles in Finnish
|
||||
|
||||
-- AR 29/12/2010
|
||||
|
||||
The clitic particles come in two groups:
|
||||
|
||||
Pas ::= pas | pa | han | kos | ko | kohan | pahan -- free variation
|
||||
Kin ::= kin/kaan -- depending on polarity
|
||||
|
||||
(vowel harmony ignored). A Finnish sentence can have at most one of each. A Pas clitic is
|
||||
always attached to the first word ("Aripas juo maitoa") or phrase such as NP
|
||||
("minun poikanipas juo maitoa"). A Kin clitic can be attached to almost any word; if the
|
||||
same as Pas, Kin must come first ("Arikinhan juo maitoa"). Some combinations are clumsy
|
||||
but presumably OK ("Arikinpas"). If the verb is first, it doesn't seem to allow Kin
|
||||
(*"juokin Ari maitoa").
|
||||
|
||||
The following is a list of combinatory possibilities. Adverbs (represented by "nyt")
|
||||
can be added ad libitum - at most two of them then become carriers of clitics
|
||||
("nythän Ari juo maitoa täälläkin").
|
||||
|
||||
|
||||
-- declaratives and questions
|
||||
|
||||
(Notice that, in the presence of "ei", Kin is "kaan", otherwise "kin".)
|
||||
|
||||
ari Pas? ei? (juo Kin maitoa nyt | juo maitoa Kin nyt | juo maitoa nyt Kin?)
|
||||
maitoa Pas? ei? (ari Kin juo nyt | ari juo Kin nyt | ari juo nyt Kin?)
|
||||
nyt Pas? ei? (ari Kin juo maitoa | ari juo Kin maitoa | ari juo maitoa Kin?)
|
||||
|
||||
ari Kin Pas? ei? juo maitoa nyt
|
||||
maitoa Kin Pas? ari ei? juo nyt
|
||||
nyt Kin Pas? ari ei? juo maitoa
|
||||
|
||||
juo Pas? (ari Kin maitoa nyt | ari maitoa Kin nyt | ari maitoa nyt Kin?)
|
||||
ei Pas? (ari Kin juo maitoa nyt | ari juo Kin maitoa nyt | ari juo maitoa Kin nyt |
|
||||
ari juo maitoa nyt Kin?)
|
||||
|
||||
-- imperatives
|
||||
|
||||
The question clitic is (for obvious semantic reasons) omitted from the Pas category:
|
||||
|
||||
Pas- ::= pa | pas | han | pahan
|
||||
|
||||
juo Pas-? (ari Kin maitoa nyt | ari maitoa Kin nyt | ari maitoa nyt Kin?)
|
||||
älä Pas-? (ari Kin juo maitoa nyt | ari juo Kin maitoa nyt | ari juo maitoa Kin nyt
|
||||
| ari juo maitoa nyt Kin?)
|
||||
|
||||
|
||||
-- negation word
|
||||
|
||||
Strangely enough, Kin seems to be getting accepted in plural (= two-syllabic) negations:
|
||||
|
||||
*enkään, *etkään, *eikään, ?emmekään, ?ettekään, ?eivätkään (quite some Google hits)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user