From 78741bd973232772d3c0eeb3dc9ecfebea286c3a Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 9 Feb 2011 17:11:45 +0000 Subject: [PATCH] factored DiscourseFin to 4+5 constructors --- examples/discourse/Discourse.gf | 16 +++++++++++++++- examples/discourse/DiscourseFin.gf | 26 ++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/examples/discourse/Discourse.gf b/examples/discourse/Discourse.gf index 1172032c5..0b942dbdf 100644 --- a/examples/discourse/Discourse.gf +++ b/examples/discourse/Discourse.gf @@ -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 diff --git a/examples/discourse/DiscourseFin.gf b/examples/discourse/DiscourseFin.gf index c9fc0c6d2..5e708207c 100644 --- a/examples/discourse/DiscourseFin.gf +++ b/examples/discourse/DiscourseFin.gf @@ -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 ;