summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2011-02-08 15:49:47 +0000
committeraarne <aarne@chalmers.se>2011-02-08 15:49:47 +0000
commit9aeb51b4a5bc84046346f2cedef6b4bf949d8de5 (patch)
treebb83a94429a55292a76e38dc8813a2b970c36db9 /examples
parent3c82593fdd59cb6d8861c5a7d37faa50cddbac3b (diff)
experimenting with discourse particles in DiscourseFin
Diffstat (limited to 'examples')
-rw-r--r--examples/discourse/Discourse.gf44
-rw-r--r--examples/discourse/DiscourseEng.gf19
-rw-r--r--examples/discourse/DiscourseFin.gf17
3 files changed, 38 insertions, 42 deletions
diff --git a/examples/discourse/Discourse.gf b/examples/discourse/Discourse.gf
index 429fbd0c2..2ff18037c 100644
--- a/examples/discourse/Discourse.gf
+++ b/examples/discourse/Discourse.gf
@@ -9,24 +9,34 @@ abstract Discourse =
flags startcat = S ;
cat
- Clause ; Part ;
+ Clause ; -- clause with subject, verb, object
+ Part ; -- discource particle
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 ;
+ 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
+
+ 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
+ PreAdvVerbKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nythän Jussi juokin maitoa
+
+ PreObjS : Part -> Temp -> Pol -> Clause -> S ; -- maitoahan Jussi juo nyt
+ PreObjKinS : Part -> Temp -> Pol -> Clause -> S ; -- maitoakinhan Jussi juo nyt
+ 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
+ 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 ;
+
+ noPart, han_Part, pas_Part : Part ;
}
diff --git a/examples/discourse/DiscourseEng.gf b/examples/discourse/DiscourseEng.gf
index 695f70679..09dfd871d 100644
--- a/examples/discourse/DiscourseEng.gf
+++ b/examples/discourse/DiscourseEng.gf
@@ -10,7 +10,7 @@ concrete DiscourseEng of Discourse =
lincat
Clause = {subj : NP ; vp : VP} ;
- Part = Adv ;
+ Part = {a : Adv ; isPre : Bool} ;
lin
ClauseS part temp pol cl =
@@ -29,23 +29,12 @@ lin
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" ;
-
+ noPart = {a = P.mkAdv [] ; isPre = False} ;
+ han_Part = {a = P.mkAdv "as you know" ; isPre = True} ;
+ pas_Part = {a = P.mkAdv "no" ; isPre = True} ;
oper
kin : {s : R.Polarity => Adv} =
diff --git a/examples/discourse/DiscourseFin.gf b/examples/discourse/DiscourseFin.gf
index 6c577d086..4fa1062b6 100644
--- a/examples/discourse/DiscourseFin.gf
+++ b/examples/discourse/DiscourseFin.gf
@@ -6,11 +6,12 @@ concrete DiscourseFin of Discourse =
AdjectiveFin, AdverbFin,
StructuralFin - [nobody_NP,nothing_NP],
TenseX
-** open SyntaxFin, (P = ParadigmsFin), (R = ParamX), Prelude in {
+** open SyntaxFin, (P = ParadigmsFin), (R = ParamX), (E = ExtraFin), Prelude in {
lincat
- Clause = {subj : NP ; vp : VP} ;
- Part = Adv ;
+ Clause = {subj : NP ; vp : VP} ;
+ OClause = {subj : NP ; v : V2 ; obj : NP} ;
+ Part = Adv ;
lin
ClauseS part temp pol cl =
@@ -21,6 +22,7 @@ lin
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 =
@@ -29,20 +31,15 @@ lin
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} ;
+ 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") ;
- 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} =