examples/discourse on Finnish discourse particles and their translations

This commit is contained in:
aarne
2011-02-08 12:30:13 +00:00
parent 12ad869c69
commit 3c82593fdd
4 changed files with 194 additions and 0 deletions

View 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 ;
}

View 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"}} ;
}

View 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 ;
}

View 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)