mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
experimenting with discourse particles in DiscourseFin
This commit is contained in:
@@ -9,24 +9,34 @@ abstract Discourse =
|
|||||||
flags startcat = S ;
|
flags startcat = S ;
|
||||||
|
|
||||||
cat
|
cat
|
||||||
Clause ; Part ;
|
Clause ; -- clause with subject, verb, object
|
||||||
|
Part ; -- discource particle
|
||||||
|
|
||||||
fun
|
fun
|
||||||
ClauseS : Part -> Temp -> Pol -> Clause -> S ; -- arihan juo nyt
|
ClauseS : Part -> Temp -> Pol -> Clause -> S ; -- Jussihan juo nyt maitoa
|
||||||
SubjKinS : Part -> Temp -> Pol -> Clause -> S ; -- arikinhan juo nyt
|
SubjKinS : Part -> Temp -> Pol -> Clause -> S ; -- Jussikinhan juo nyt maitoa
|
||||||
VerbKinS : Part -> Temp -> Pol -> Clause -> S ; -- arihan juokin nyt
|
VerbKinS : Part -> Temp -> Pol -> Clause -> S ; -- Jussihan juokin nyt maitoa
|
||||||
AdvKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- arihan juo nytkin
|
AdvKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- Jussihan juo nytkin maitoa
|
||||||
PreAdvKinS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nytkinhän ari juo
|
ObjKinS : Part -> Temp -> Pol -> Clause -> S ; -- Jussihan juo nyt maitoakin
|
||||||
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
|
PreAdvS : Part -> Temp -> Pol -> Adv -> Clause -> S ; -- nythän Jussi juo maitoa
|
||||||
--- doesn't put in right place
|
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
|
||||||
|
|
||||||
PredClause : NP -> VP -> Clause ;
|
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
|
||||||
|
|
||||||
noPart, han_Part, pa_Part, pas_Part, ko_Part, kos_Part, kohan_Part, pahan_Part : Part ;
|
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 ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ concrete DiscourseEng of Discourse =
|
|||||||
|
|
||||||
lincat
|
lincat
|
||||||
Clause = {subj : NP ; vp : VP} ;
|
Clause = {subj : NP ; vp : VP} ;
|
||||||
Part = Adv ;
|
Part = {a : Adv ; isPre : Bool} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
ClauseS part temp pol cl =
|
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))) ;
|
mkS adv (mkS part (mkS temp pol (mkCl (mkNP cl.subj (kin.s ! pol.p)) cl.vp))) ;
|
||||||
PreAdvVerbKinS part temp pol adv cl =
|
PreAdvVerbKinS part temp pol adv cl =
|
||||||
mkS adv (mkS part (mkS temp pol (mkCl cl.subj (mkVP cl.vp (kin.s ! pol.p))))) ;
|
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} ;
|
PredClause subj v = {subj = subj ; vp = v} ;
|
||||||
|
|
||||||
--- AnterVerbS part kin t pol cl =
|
noPart = {a = P.mkAdv [] ; isPre = False} ;
|
||||||
--- mkS t anteriorAnt pol (mkCl (mkNP cl.subj part) (mkVP cl.vp (kin.s ! pol.p))) ;
|
han_Part = {a = P.mkAdv "as you know" ; isPre = True} ;
|
||||||
|
pas_Part = {a = P.mkAdv "no" ; isPre = True} ;
|
||||||
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
|
oper
|
||||||
kin : {s : R.Polarity => Adv} =
|
kin : {s : R.Polarity => Adv} =
|
||||||
|
|||||||
@@ -6,11 +6,12 @@ concrete DiscourseFin of Discourse =
|
|||||||
AdjectiveFin, AdverbFin,
|
AdjectiveFin, AdverbFin,
|
||||||
StructuralFin - [nobody_NP,nothing_NP],
|
StructuralFin - [nobody_NP,nothing_NP],
|
||||||
TenseX
|
TenseX
|
||||||
** open SyntaxFin, (P = ParadigmsFin), (R = ParamX), Prelude in {
|
** open SyntaxFin, (P = ParadigmsFin), (R = ParamX), (E = ExtraFin), Prelude in {
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
Clause = {subj : NP ; vp : VP} ;
|
Clause = {subj : NP ; vp : VP} ;
|
||||||
Part = Adv ;
|
OClause = {subj : NP ; v : V2 ; obj : NP} ;
|
||||||
|
Part = Adv ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
ClauseS part temp pol cl =
|
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))) ;
|
mkS temp pol (mkCl (mkNP cl.subj part) (mkVP cl.vp (kin.s ! pol.p))) ;
|
||||||
AdvKinS part temp pol adv cl =
|
AdvKinS part temp pol adv cl =
|
||||||
mkS temp pol (mkCl (mkNP cl.subj part) (mkVP (mkVP cl.vp adv) (kin.s ! pol.p))) ;
|
mkS temp pol (mkCl (mkNP cl.subj part) (mkVP (mkVP cl.vp adv) (kin.s ! pol.p))) ;
|
||||||
|
|
||||||
PreAdvS part temp pol adv cl =
|
PreAdvS part temp pol adv cl =
|
||||||
mkS adv (mkS part (mkS temp pol (mkCl cl.subj cl.vp))) ;
|
mkS adv (mkS part (mkS temp pol (mkCl cl.subj cl.vp))) ;
|
||||||
PreAdvKinS part temp pol adv cl =
|
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))) ;
|
mkS adv (mkS part (mkS temp pol (mkCl (mkNP cl.subj (kin.s ! pol.p)) cl.vp))) ;
|
||||||
PreAdvVerbKinS part temp pol adv cl =
|
PreAdvVerbKinS part temp pol adv cl =
|
||||||
mkS adv (mkS part (mkS temp pol (mkCl cl.subj (mkVP cl.vp (kin.s ! pol.p))))) ;
|
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} ;
|
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 [] ;
|
noPart = P.mkAdv [] ;
|
||||||
han_Part = P.mkAdv (glueTok "han") ;
|
han_Part = P.mkAdv (glueTok "han") ;
|
||||||
pa_Part = P.mkAdv (glueTok "pa") ;
|
pa_Part = P.mkAdv (glueTok "pa") ;
|
||||||
pas_Part = P.mkAdv (glueTok "pas") ;
|
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
|
oper
|
||||||
kin : {s : R.Polarity => Adv} =
|
kin : {s : R.Polarity => Adv} =
|
||||||
|
|||||||
Reference in New Issue
Block a user