summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2011-02-09 16:42:15 +0000
committeraarne <aarne@chalmers.se>2011-02-09 16:42:15 +0000
commit9c68dbcdb108a84fee55f902029572552b59f23e (patch)
tree4b02c4dc4d703615b1d2beefb28cda4efb822c14 /examples
parent9aeb51b4a5bc84046346f2cedef6b4bf949d8de5 (diff)
more general discourse particles in Finnish
Diffstat (limited to 'examples')
-rw-r--r--examples/discourse/Discourse.gf27
-rw-r--r--examples/discourse/DiscourseFin.gf52
2 files changed, 29 insertions, 50 deletions
diff --git a/examples/discourse/Discourse.gf b/examples/discourse/Discourse.gf
index 2ff18037c..1172032c5 100644
--- a/examples/discourse/Discourse.gf
+++ b/examples/discourse/Discourse.gf
@@ -9,16 +9,17 @@ abstract Discourse =
flags startcat = S ;
cat
- Clause ; -- clause with subject, verb, object
- Part ; -- discource particle
+ Marker ; -- discourse marker
fun
- ClauseS : Part -> Temp -> Pol -> Clause -> S ; -- Jussihan juo nyt maitoa
- SubjKinS : Part -> Temp -> Pol -> Clause -> S ; -- Jussikinhan juo nyt maitoa
- VerbKinS : Part -> Temp -> Pol -> Clause -> S ; -- Jussihan juokin nyt maitoa
- AdvKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- Jussihan juo nytkin maitoa
- ObjKinS : Part -> Temp -> Pol -> Clause -> S ; -- Jussihan juo nyt maitoakin
+ ClauseS : Marker -> Temp -> Pol -> NP -> VP -> S ; -- Jussihan juo maitoa nyt
+ FocSubjS : Marker -> Temp -> Pol -> NP -> VP -> S ; -- Jussikinhan juo maitoa nyt
+ FocVerbS : Marker -> Temp -> Pol -> NP -> VP -> S ; -- Jussihan juokin maitoa nyt
+ FocObjS : Marker -> Temp -> Pol -> NP -> VPSlash -> NP -> S ; -- Jussihan juo maitoakin nyt
+ FocAdvS : Marker -> Temp -> Pol -> NP -> VP -> Adv -> S ; -- Jussihan juo maitoa nytkin
+
+{-
PreAdvS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nythän Jussi juo maitoa
PreAdvKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nytkinhän Jussi juo maitoa
PreAdvSubjKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nythän Jussikin juo maitoa
@@ -29,14 +30,12 @@ fun
PreObjSubjKinS : Part -> Temp -> Pol -> Clause -> S ; -- maitoahan Jussikin juo nyt
PreObjVerbKinS : Part -> Temp -> Pol -> Clause -> S ; -- maitoahan Jussi juokin nyt
- PreVerbS : Part -> Temp -> Pol -> Clause -> S ; -- juohan Jussi nyt maitoa
- PreVerbSubKinS : Part -> Temp -> Pol -> Clause -> S ; -- juohan Jussikin nyt maitoa
+ PreVerbS : Part -> Temp -> Pol -> Clause -> S ; -- juohan Jussi maitoa nyt
+ PreVerbSubKinS : Part -> Temp -> Pol -> Clause -> S ; -- juohan Jussikin maitoa nyt
PreVerbAdvKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- juohan Jussi nytkin maitoa
- PreVerbObjKinS : Part -> Temp -> Pol -> NP -> Clause -> S ; -- juohan Jussi nyt maitoakin
-
-
- PredClause : NP -> VP -> Clause ;
+ PreVerbObjKinS : Part -> Temp -> Pol -> NP -> Clause -> S ; -- juohan Jussi maitoa nytkin
+-}
- noPart, han_Part, pas_Part : Part ;
+ neutralMarker, remindMarker, contrastMarker : Marker ;
}
diff --git a/examples/discourse/DiscourseFin.gf b/examples/discourse/DiscourseFin.gf
index 4fa1062b6..c9fc0c6d2 100644
--- a/examples/discourse/DiscourseFin.gf
+++ b/examples/discourse/DiscourseFin.gf
@@ -2,49 +2,29 @@
concrete DiscourseFin of Discourse =
LexiconFin,
- NounFin, VerbFin - [SlashV2VNP,SlashVV],
+ NounFin, VerbFin - [SlashV2VNP,SlashVV, Slash2V3, Slash3V3],
AdjectiveFin, AdverbFin,
StructuralFin - [nobody_NP,nothing_NP],
TenseX
** open SyntaxFin, (P = ParadigmsFin), (R = ParamX), (E = ExtraFin), Prelude in {
lincat
- Clause = {subj : NP ; vp : VP} ;
- OClause = {subj : NP ; v : V2 ; obj : NP} ;
- Part = Adv ;
+ Marker = E.Part ;
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))))) ;
-
- PredClause subj v = {subj = subj ; vp = v} ;
- PredOClause subj v obj = {subj = subj ; v = v ; obj = obj} ;
- UseOClause oc = {subj = oc.subj ; vp = mkVP oc.v oc.obj} ;
-
- noPart = P.mkAdv [] ;
- han_Part = P.mkAdv (glueTok "han") ;
- pa_Part = P.mkAdv (glueTok "pa") ;
- pas_Part = P.mkAdv (glueTok "pas") ;
-
-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 ;
+ ClauseS marker temp pol np vp =
+ E.S_SVO marker temp pol (E.PredClPlus np vp) ;
+ FocSubjS marker temp pol np vp =
+ E.S_SVO marker temp pol (E.PredClPlusFocSubj np vp) ;
+ FocVerbS marker temp pol np vp =
+ E.S_SVO marker temp pol (E.PredClPlusFocVerb np vp) ;
+ FocObjS marker temp pol np vp obj =
+ E.S_SVO marker temp pol (E.PredClPlusFocObj np vp obj) ;
+ FocAdvS marker temp pol np vp adv =
+ E.S_SVO marker temp pol (E.PredClPlusFocAdv np vp adv) ;
+
+ neutralMarker = E.noPart ;
+ remindMarker = E.han_Part ;
+ contrastMarker = E.pas_Part ;
}