1
0
forked from GitHub/gf-core

factored DiscourseFin to 4+5 constructors

This commit is contained in:
aarne
2011-02-09 17:11:45 +00:00
parent 0bc1fbccf5
commit 78741bd973
2 changed files with 39 additions and 3 deletions

View File

@@ -9,16 +9,30 @@ abstract Discourse =
flags startcat = S ;
cat
Clause ; -- subject, verb, object, adverb(s)
Marker ; -- discourse marker
fun
PreSubjS : Marker -> Temp -> Pol -> Clause -> S ; -- Jussihan juo maitoa nyt
PreVerbS : Marker -> Temp -> Pol -> Clause -> S ; -- juohan Jussi maitoa nyt
PreObjS : Marker -> Temp -> Pol -> Clause -> S ; -- maitoahan Jussi juo nyt
PreAdvS : Marker -> Temp -> Pol -> Clause -> S ; -- nythän Jussi juo maitoa
NoFocClause : NP -> VP -> Clause ; -- Jussi juo maitoa nyt
FocSubjClause : NP -> VP -> Clause ; -- Jussikin juo maitoa nyt
FocVerbClause : NP -> VP -> Clause ; -- Jussi juokin maitoa nyt
FocObjClause : NP -> VPSlash -> NP -> Clause ; -- Jussi juo maitoakin nyt
FocAdvClause : NP -> VP -> Adv -> Clause ; -- Jussi juo maitoa nytkin
{-
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

View File

@@ -1,4 +1,4 @@
--# -path=.:alltenses
--# -path=.:present
concrete DiscourseFin of Discourse =
LexiconFin,
@@ -9,9 +9,31 @@ concrete DiscourseFin of Discourse =
** open SyntaxFin, (P = ParadigmsFin), (R = ParamX), (E = ExtraFin), Prelude in {
lincat
Clause = E.ClPlus ;
Marker = E.Part ;
lin
PreSubjS marker temp pol cl =
E.S_SVO marker temp pol cl ;
PreVerbS marker temp pol cl =
E.S_VSO marker temp pol cl ;
PreObjS marker temp pol cl =
E.S_OSV marker temp pol cl ;
PreAdvS marker temp pol cl =
E.S_ASV marker temp pol cl ;
NoFocClause np vp =
E.PredClPlus np vp ;
FocSubjClause np vp =
E.PredClPlusFocSubj np vp ;
FocVerbClause np vp =
E.PredClPlusFocVerb np vp ;
FocObjClause np vp obj =
lin ClPlus (E.PredClPlusFocObj np vp obj) ;
FocAdvS np vp adv =
lin ClPlus (E.PredClPlusFocAdv np vp adv) ;
{-
ClauseS marker temp pol np vp =
E.S_SVO marker temp pol (E.PredClPlus np vp) ;
FocSubjS marker temp pol np vp =
@@ -22,7 +44,7 @@ lin
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 ;