1
0
forked from GitHub/gf-core

upgraded resources, esp. romance

This commit is contained in:
aarne
2005-05-31 17:42:39 +00:00
parent 04ae4c37cb
commit 24b595c98f
17 changed files with 167 additions and 47 deletions

View File

@@ -31,6 +31,7 @@ incomplete concrete ClauseI of Clause = open Rules, Verbphrase in {
QPredV np v = IntVP np (UseV v) ; QPredV np v = IntVP np (UseV v) ;
QPredPassV np v = IntVP np (UsePassV v) ; QPredPassV np v = IntVP np (UsePassV v) ;
QPredV2 np v x = IntVP np (ComplV2 v x) ; QPredV2 np v x = IntVP np (ComplV2 v x) ;
QPredV3 np v x y = IntVP np (ComplV3 v x y) ;
QPredReflV2 np v = IntVP np (ComplReflV2 v) ; QPredReflV2 np v = IntVP np (ComplReflV2 v) ;
QPredVS np v x = IntVP np (ComplVS v x) ; QPredVS np v x = IntVP np (ComplVS v x) ;
QPredVV np v x = IntVP np (ComplVV v x) ; QPredVV np v x = IntVP np (ComplVV v x) ;
@@ -47,9 +48,29 @@ incomplete concrete ClauseI of Clause = open Rules, Verbphrase in {
QPredNP np v = IntVP np (PredNP v) ; QPredNP np v = IntVP np (PredNP v) ;
QPredAdv np v = IntVP np (PredAdv v) ; QPredAdv np v = IntVP np (PredAdv v) ;
QPredProgVP np vp = IntVP np (PredProgVP vp) ;
IPredV a v = PosVP a (UseV v) ; IPredV a v = PosVP a (UseV v) ;
IPredV2 a v x = PosVP a (ComplV2 v x) ; IPredV2 a v x = PosVP a (ComplV2 v x) ;
IPredPassV a v = PosVP a (UsePassV v) ;
IPredV3 a v x y = PosVP a (ComplV3 v x y) ;
IPredReflV2 a v = PosVP a (ComplReflV2 v) ;
IPredVS a v x = PosVP a (ComplVS v x) ;
IPredVV a v x = PosVP a (ComplVV v x) ;
IPredVQ a v x = PosVP a (ComplVQ v x) ;
IPredVA a v x = PosVP a (ComplVA v x) ;
IPredV2A a v x y = PosVP a (ComplV2A v x y) ;
IPredSubjV2V a v x y = PosVP a (ComplSubjV2V v x y) ;
IPredObjV2V a v x y = PosVP a (ComplObjV2V v x y) ;
IPredV2S a v x y = PosVP a (ComplV2S v x y) ;
IPredV2Q a v x y = PosVP a (ComplV2Q v x y) ;
IPredAP a v = PosVP a (PredAP v) ; IPredAP a v = PosVP a (PredAP v) ;
IPredCN a v = PosVP a (PredCN v) ;
IPredNP a v = PosVP a (PredNP v) ;
IPredAdv a v = PosVP a (PredAdv v) ;
IPredProgVP a vp = PosVP a (PredProgVP vp) ;
{- {-
-- Use VPs -- Use VPs

View File

@@ -110,8 +110,8 @@ fun
AdvPP : PP -> Adv ; -- "in London", "after the war" AdvPP : PP -> Adv ; -- "in London", "after the war"
PrepNP : Prep -> NP -> PP ; -- "in London", "after the war" PrepNP : Prep -> NP -> PP ; -- "in London", "after the war"
AdvCN : CN -> PP -> CN ; -- "house in London" AdvCN : CN -> Adv -> CN ; -- "house in London"
AdvPN : PN -> PP -> NP ; -- "x to the power of k" AdvNP : NP -> Adv -> NP ; -- "the house in London"
AdvAP : AdA -> AP -> AP ; -- "very good" AdvAP : AdA -> AP -> AP ; -- "very good"
AdvAdv : AdA -> Adv -> Adv ; -- "very well" AdvAdv : AdA -> Adv -> Adv ; -- "very well"
@@ -148,7 +148,7 @@ fun
QuestPhrase : QS -> Phr ; -- "Do I walk?" QuestPhrase : QS -> Phr ; -- "Do I walk?"
ImperOne, ImperMany : Imp -> Phr ; -- "Be a man!", "Be men!" ImperOne, ImperMany : Imp -> Phr ; -- "Be a man!", "Be men!"
AdvCl : Cl -> Adv -> Cl ; -- "John walks in the park" AdvCl : Cl -> Adv -> Cl ; -- "John walks in the park"
AdvVPI : VPI -> Adv -> VPI ; -- "walk in the park" AdvVPI : VPI -> Adv -> VPI ; -- "walk in the park"
AdCPhr : AdC -> S -> Phr ; -- "Therefore, 2 is prime." AdCPhr : AdC -> S -> Phr ; -- "Therefore, 2 is prime."
AdvPhr : Adv -> S -> Phr ; -- "In India, there are tigers." AdvPhr : Adv -> S -> Phr ; -- "In India, there are tigers."

View File

@@ -111,7 +111,7 @@ lin
AdvCN = advCommNounPhrase ; AdvCN = advCommNounPhrase ;
AdvAP = advAdjPhrase ; AdvAP = advAdjPhrase ;
AdvAdv = cc2 ; AdvAdv = cc2 ;
AdvPN pn pp = nameNounPhrase {s = \\c => pn.s ! c ++ pp.s ; g = pn.g} ; AdvNP pn pp = {s = \\c => pn.s ! c ++ pp.s ; a = pn.a} ;
--3 Sentences and relative clauses --3 Sentences and relative clauses
-- --

View File

@@ -1,5 +1,4 @@
--# -path=.:../romance:../abstract:../../prelude --# -path=.:../romance:../abstract:../../prelude
concrete ClauseFre of Clause = CategoriesFre ** concrete ClauseFre of Clause = CategoriesFre **
---- ClauseI with (Rules=RulesFre), (Verbphrase=VerbphraseFre) ;
ClauseRomance with (SyntaxRomance=SyntaxFre) ; ClauseRomance with (SyntaxRomance=SyntaxFre) ;

View File

@@ -330,4 +330,9 @@ oper
negNe = elisNe ; negPas = "pas" ; negNe = elisNe ; negPas = "pas" ;
progressiveSats subj vp =
mkSatsCopula subj
(["en train"] ++ elisDe ++
vp.s ! VIInfinit ! (pgen2gen subj.g) ! subj.n ! subj.p) ;
} }

View File

@@ -153,7 +153,8 @@ oper
VFin VFut n p => aller ! Indic Futur n p ; VFin VFut n p => aller ! Indic Futur n p ;
VFin VCondit n p => aller ! Cond n p ; VFin VCondit n p => aller ! Cond n p ;
VImper np => aller ! Imper np ; VImper np => aller ! Imper np ;
VPart g n => aller ! Part (PPasse g n) VPart g n => aller ! Part (PPasse g n) ;
VGer => aller ! Part PPres -- *en* allant
} ; } ;
-- The full conjunction is a table on $VForm$: -- The full conjunction is a table on $VForm$:

View File

@@ -1,7 +1,7 @@
--# -path=.:../romance:../../prelude --# -path=.:../romance:../../prelude
instance SyntaxIta of SyntaxRomance = instance SyntaxIta of SyntaxRomance =
TypesIta ** open Prelude, (CO=Coordination), MorphoIta in { TypesIta ** open Prelude, (CO=Coordination), MorphoIta, BeschIta in {
flags optimize=all ; flags optimize=all ;
@@ -275,4 +275,10 @@ oper
negNe = "non" ; negPas = [] ; negNe = "non" ; negPas = [] ;
progressiveSats subj vp =
mkSatsObject subj
(mkTransVerbDir (verbPres (stare_16 "stare") AEsse)) --- hack to reuse
(nameNounPhrase (mkProperName ( --- this function
vp.s ! VIGerund ! (pgen2gen subj.g) ! subj.n ! subj.p) Masc)) ;
} }

View File

@@ -121,7 +121,8 @@ oper
VFin VFut n p => amare.s ! Fut n p ; VFin VFut n p => amare.s ! Fut n p ;
VFin VCondit n p => amare.s ! Cond n p ; VFin VCondit n p => amare.s ! Cond n p ;
VImper np => amare.s ! Imper np ; VImper np => amare.s ! Imper np ;
VPart g n => amare.s ! Part PassP g n VPart g n => amare.s ! Part PassP g n ;
VGer => amare.s ! Ger
} ; } ;
aux = a aux = a
} ; } ;

View File

@@ -14,7 +14,6 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
sats2clause (mkSatsObject np v y) ; sats2clause (mkSatsObject np v y) ;
SPredV3 subj verb obj1 obj2 = SPredV3 subj verb obj1 obj2 =
sats2clause (insertObject (mkSatsObject subj verb obj1) verb.c3 verb.s3 obj2) ; sats2clause (insertObject (mkSatsObject subj verb obj1) verb.c3 verb.s3 obj2) ;
SPredReflV2 subj verb = SPredReflV2 subj verb =
sats2clause ( sats2clause (
mkSatsObject subj mkSatsObject subj
@@ -22,7 +21,6 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
---- {s = verb.s ; s2 = verb.s2 ; c = verb.c ; aux = AEsse} ---- {s = verb.s ; s2 = verb.s2 ; c = verb.c ; aux = AEsse}
---- this produces huge cf - find out why! AR 16/3/2005 ---- this produces huge cf - find out why! AR 16/3/2005
(reflPronNounPhrase (pgen2gen subj.g) subj.n subj.p)) ; (reflPronNounPhrase (pgen2gen subj.g) subj.n subj.p)) ;
SPredVS subj verb sent = SPredVS subj verb sent =
sats2clause ( sats2clause (
insertExtrapos (mkSats subj verb) insertExtrapos (mkSats subj verb)
@@ -49,7 +47,6 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
insertExtrapos insertExtrapos
(mkSatsObject subj verb obj) (mkSatsObject subj verb obj)
(\\_ => adj.s ! AF (pgen2gen obj.g) obj.n)) ; (\\_ => adj.s ! AF (pgen2gen obj.g) obj.n)) ;
SPredVV subj verb vp = SPredVV subj verb vp =
sats2clause ( sats2clause (
insertExtrapos insertExtrapos
@@ -70,7 +67,7 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
(\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! pgen2gen subj.g ! subj.n ! subj.p) (\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! pgen2gen subj.g ! subj.n ! subj.p)
) ; ) ;
-- SPredProgVP SPredProgVP np vp = sats2clause (progressiveSats np vp) ;
SPredAP subj adj = SPredAP subj adj =
@@ -86,22 +83,19 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
QPredV np v = QPredV np v =
sats2quest (mkSats (intNounPhrase np) v) ; sats2quest (mkSats (intNounPhrase np) v) ;
QPredPassV subj v = QPredPassV subj v =
sats2quest (mkSatsCopula (intNounPhrase subj) (v.s ! VPart subj.g subj.n)) ; sats2quest (mkSatsCopula (intNounPhrase subj) (v.s ! VPart subj.g subj.n)) ;
QPredV2 np v y = QPredV2 np v y =
sats2quest (mkSatsObject (intNounPhrase np) v y) ; sats2quest (mkSatsObject (intNounPhrase np) v y) ;
-- QPredV3 subj verb obj1 obj2 = QPredV3 subj verb obj1 obj2 =
-- sats2quest (insertObject (mkSatsObject (intNounPhrase subj) verb obj1) verb.c3 verb.s3 obj2) ; sats2quest (
insertObject (mkSatsObject (intNounPhrase subj) verb obj1) verb.c3 verb.s3 obj2
) ;
QPredReflV2 subj verb = QPredReflV2 subj verb =
sats2quest ( sats2quest (
mkSatsObject (intNounPhrase subj) mkSatsObject (intNounPhrase subj)
{s = verb.s ; s2 = [] ; c = accusative ; aux = AEsse} {s = verb.s ; s2 = [] ; c = accusative ; aux = AEsse}
---- {s = verb.s ; s2 = verb.s2 ; c = verb.c ; aux = AEsse}
---- this produces huge cf - find out why! AR 16/3/2005
(reflPronNounPhrase subj.g subj.n P3)) ; (reflPronNounPhrase subj.g subj.n P3)) ;
QPredVS subj verb sent = QPredVS subj verb sent =
sats2quest ( sats2quest (
insertExtrapos (mkSats (intNounPhrase subj) verb) insertExtrapos (mkSats (intNounPhrase subj) verb)
@@ -122,21 +116,20 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
(\\_ => quest.s ! IndirQ)) ; (\\_ => quest.s ! IndirQ)) ;
QPredVA subj verb adj = QPredVA subj verb adj =
sats2quest ( sats2quest (
insertExtrapos (mkSats (intNounPhrase subj) verb) (\\_ => adj.s ! AF subj.g subj.n)) ; insertExtrapos (mkSats (intNounPhrase subj) verb)
(\\_ => adj.s ! AF subj.g subj.n)) ;
QPredV2A subj verb obj adj = QPredV2A subj verb obj adj =
sats2quest ( sats2quest (
insertExtrapos insertExtrapos
(mkSatsObject (intNounPhrase subj) verb obj) (mkSatsObject (intNounPhrase subj) verb obj)
(\\_ => adj.s ! AF (pgen2gen obj.g) obj.n)) ; (\\_ => adj.s ! AF (pgen2gen obj.g) obj.n)) ;
QPredVV subj verb vp = QPredVV subj verb vp =
sats2quest ( sats2quest (
insertExtrapos insertExtrapos
(mkSats (intNounPhrase subj) verb) (mkSats (intNounPhrase subj) verb)
(\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! subj.g ! (intNounPhrase subj).n ! P3) (\\_ => prepCase verb.c ++
vp.s ! VIInfinit ! subj.g ! (intNounPhrase subj).n ! P3)
) ; ) ;
QPredObjV2V subj verb obj vp = QPredObjV2V subj verb obj vp =
sats2quest ( sats2quest (
insertExtrapos insertExtrapos
@@ -161,14 +154,83 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
QPredAdv subj adv = QPredAdv subj adv =
sats2quest (mkSatsCopula (intNounPhrase subj) adv.s) ; sats2quest (mkSatsCopula (intNounPhrase subj) adv.s) ;
----- anteriority _ ; gender and number of Adj QPredProgVP np vp = sats2quest (progressiveSats (intNounPhrase np) vp) ;
IPredV _ v =
sats2verbPhrase (mkSats pronImpers v) ; ----- gender and number of Adj
IPredV2 _ v y =
sats2verbPhrase (mkSatsObject pronImpers v y) ; IPredV a v =
IPredAP _ adj = sats2verbPhrase a (mkSats pronImpers v) ;
sats2verbPhrase (mkSatsCopula pronImpers (adj.s ! AF Masc Sg)) ; IPredV2 a v y =
sats2verbPhrase a (mkSatsObject pronImpers v y) ;
IPredAP a adj =
sats2verbPhrase a (mkSatsCopula pronImpers (adj.s ! AF Masc Sg)) ;
IPredPassV a v =
sats2verbPhrase a (mkSatsCopula pronImpers (v.s ! VPart (pgen2gen pronImpers.g) pronImpers.n)) ;
IPredV3 a verb obj1 obj2 =
sats2verbPhrase a (insertObject (mkSatsObject pronImpers verb obj1) verb.c3 verb.s3 obj2) ;
IPredReflV2 a verb =
sats2verbPhrase a (
mkSatsObject pronImpers
{s = verb.s ; s2 = [] ; c = accusative ; aux = AEsse}
---- {s = verb.s ; s2 = verb.s2 ; c = verb.c ; aux = AEsse}
---- this produces huge cf - find out why! AR 16/3/2005
(reflPronNounPhrase (pgen2gen pronImpers.g) pronImpers.n pronImpers.p)) ;
IPredVS a verb sent =
sats2verbPhrase a (
insertExtrapos (mkSats pronImpers verb)
(\\b => embedConj ++ sent.s ! subordMode verb b)) ; ---- mn
IPredVQ a verb quest =
sats2verbPhrase a (
insertExtrapos (mkSats pronImpers verb) (\\_ => quest.s ! IndirQ)) ;
IPredV2S a verb obj sent =
sats2verbPhrase a (
insertExtrapos
(mkSatsObject pronImpers verb obj)
(\\b => embedConj ++ sent.s ! subordMode verb b)
) ; ---- mn ;
IPredV2Q a verb obj quest =
sats2verbPhrase a (
insertExtrapos
(mkSatsObject pronImpers verb obj)
(\\_ => quest.s ! IndirQ)) ;
IPredVA a verb adj =
sats2verbPhrase a (
insertExtrapos (mkSats pronImpers verb) (\\_ => adj.s ! AF (pgen2gen pronImpers.g) pronImpers.n)) ;
IPredV2A a verb obj adj =
sats2verbPhrase a (
insertExtrapos
(mkSatsObject pronImpers verb obj)
(\\_ => adj.s ! AF (pgen2gen obj.g) obj.n)) ;
IPredVV a verb vp =
sats2verbPhrase a (
insertExtrapos
(mkSats pronImpers verb)
(\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! pgen2gen pronImpers.g ! pronImpers.n ! pronImpers.p)
) ;
IPredObjV2V a verb obj vp =
sats2verbPhrase a (
insertExtrapos
(mkSatsObject pronImpers verb obj)
(\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! pgen2gen obj.g ! obj.n ! obj.p)
) ;
IPredSubjV2V a verb obj vp =
sats2verbPhrase a (
insertExtrapos
(mkSatsObject pronImpers verb obj)
(\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! pgen2gen pronImpers.g ! pronImpers.n ! pronImpers.p)
) ;
IPredCN a cn =
sats2verbPhrase a (mkSatsCopula pronImpers (indefNoun pronImpers.n cn)) ;
IPredNP a np =
sats2verbPhrase a (mkSatsCopula pronImpers (np.s ! stressed nominative)) ;
IPredAdv a adv =
sats2verbPhrase a (mkSatsCopula pronImpers adv.s) ;
IPredProgVP a vp = sats2verbPhrase a (progressiveSats pronImpers vp) ;

View File

@@ -96,6 +96,11 @@ lin
AdvAP = advAdjPhrase ; AdvAP = advAdjPhrase ;
AdvAdv = cc2 ; AdvAdv = cc2 ;
--- Here the $np$ should become always stressed.
AdvNP np adv = <np : {g : PronGen ; n : Number ; p : Person}> **
{s = \\f => np.s ! f ++ adv.s ; c = Clit0} ;
--3 Sentences and relative clauses --3 Sentences and relative clauses
-- --
@@ -162,6 +167,7 @@ lin
SubjImper = subjunctImperative ; SubjImper = subjunctImperative ;
SubjQS = subjunctQuestion ; SubjQS = subjunctQuestion ;
----- SubjVP = subjunctVerbPhrase ; ----- SubjVP = subjunctVerbPhrase ;
AdvSubj if A = {s = if.s ++ A.s ! if.m} ;
PhrNP = useNounPhrase ; PhrNP = useNounPhrase ;
PhrOneCN = useCommonNounPhrase singular ; PhrOneCN = useCommonNounPhrase singular ;

View File

@@ -430,7 +430,7 @@ oper
param param
VPForm = VPF Anteriority VF ; VPForm = VPF Anteriority VF ;
Anteriority = Simul | Anter ; Anteriority = Simul | Anter ;
VIForm = VIInfinit | VIImperat Bool Number ; ---- | VIGerund ; VIForm = VIInfinit | VIImperat Bool Number | VIGerund ;
oper oper
VerbPhrase = {s : VIForm => Gender => Number => Person => Str} ; VerbPhrase = {s : VIForm => Gender => Number => Person => Str} ;
@@ -1304,7 +1304,7 @@ oper
je ++ ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement ++ oui je ++ ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement ++ oui
} ; } ;
negNe, negPas : Str ; negNe, negPas : Str ;
sats2quest : Sats -> Question = \x -> sats2quest : Sats -> Question = \x ->
@@ -1312,12 +1312,12 @@ negNe, negPas : Str ;
in in
{s = \\b,f,_ => cl.s ! b ! f} ; {s = \\b,f,_ => cl.s ! b ! f} ;
sats2verbPhrase : Sats -> VerbPhrase = sats2verbPhrase : {s : Str ; a : Anteriority} -> Sats -> VerbPhrase =
\sats -> {s = \\vi,g,n,p => ---- b,cf => \ant,sats -> {s = \\vi,g,n,p => ---- b,cf =>
let let
b = True ; ---- b = True ; ----
lui = sats.s3 ; lui = sats.s3 ;
dire = verbVIForm {s = sats.s4 ; aux = sats.aux} dire = verbVIForm {s = sats.s4 ; aux = sats.aux} ant.a
vi g n p sats.g2 sats.n2 ; vi g n p sats.g2 sats.n2 ;
ai = dire.p1 ; ai = dire.p1 ;
dit = dire.p2 ; dit = dire.p2 ;
@@ -1328,23 +1328,31 @@ negNe, negPas : Str ;
oui = sats.s7 ! b oui = sats.s7 ! b
in in
ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement ++ oui ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement ++ oui
++ ant.s --- always [] ; hack to avoid ? in parsing
} ; } ;
---- What happens to polarity and anteriority ? ---- What happens to polarity and anteriority ?
verbVIForm : verbVIForm :
Verb -> VIForm -> Gender -> Number -> Person -> Gender -> Number -> (Str * Str) = Verb -> Anteriority ->
\verb,cl,g,n,p,g2,n2 -> VIForm -> Gender -> Number -> Person -> Gender -> Number -> (Str * Str) =
\verb,ant,cl,g,n,p,g2,n2 ->
let let
aime : Number -> Str = \t -> verb.s ! vImper n P2 ; aime : Number -> Str = \t -> verb.s ! vImper t P2 ;
aimer = verb.s ! VInfin aimee = case ant of {Simul => [] ; _ => verb.s ! VPart Masc Sg} ; ---- g n
finverb = case ant of {Simul => verb.s ; _ => (auxVerb verb).s} ;
aimer = finverb ! VInfin ;
aimant = finverb ! VGer
in in
case cl of { case cl of {
VIImperat _ n => <aime n ,[]> ; VIImperat _ n => <aime n, []> ; -- no imperative perfect
VlInfinit => <aimer, []> VIGerund => <aimant, aimee> ;
VIInfinit => <aimer, aimee>
} ; } ;
predVerb0 : Verb -> Clause = \rain -> predVerb0 : Verb -> Clause = \rain ->
sats2clause (mkSats (pronNounPhrase pronImpers) rain) ; sats2clause (mkSats (pronNounPhrase pronImpers) rain) ;
progressiveSats : NounPhrase -> VerbPhrase -> Sats ;
} }

View File

@@ -158,6 +158,7 @@ param
| VFin TMode Number Person | VFin TMode Number Person
| VImper NumPersI | VImper NumPersI
| VPart Gender Number | VPart Gender Number
| VGer
; ;
TMode = TMode =

View File

@@ -33,11 +33,11 @@ incomplete concrete ClauseScand of Clause = CategoriesScand **
SPredProgVP = progressiveClause ; SPredProgVP = progressiveClause ;
QPredV np v = intVerbPhrase np (predVerb v) ; QPredV np v = intVerbPhrase np (predVerb v) ;
QPredPassV np v = intVerbPhrase np (passVerb v) ; QPredPassV np v = intVerbPhrase np (passVerb v) ;
QPredV2 np v x = intVerbPhrase np (complTransVerb v x) ; QPredV2 np v x = intVerbPhrase np (complTransVerb v x) ;
QPredReflV2 np v = intVerbPhrase np (reflTransVerb v) ; QPredReflV2 np v = intVerbPhrase np (reflTransVerb v) ;
QPredV3 np v x y = intVerbPhrase np (complDitransVerb v x y) ;
QPredVS np v x = intVerbPhrase np (complSentVerb v x) ; QPredVS np v x = intVerbPhrase np (complSentVerb v x) ;
QPredVV np v x = intVerbPhrase np (complVerbVerb v x) ; QPredVV np v x = intVerbPhrase np (complVerbVerb v x) ;
QPredVQ np v x = intVerbPhrase np (complQuestVerb v x) ; QPredVQ np v x = intVerbPhrase np (complQuestVerb v x) ;
@@ -58,9 +58,10 @@ incomplete concrete ClauseScand of Clause = CategoriesScand **
QPredAV np v x = intVerbPhrase np (complVerbAdj v x) ; QPredAV np v x = intVerbPhrase np (complVerbAdj v x) ;
QPredObjA2V np v x y = intVerbPhrase np (complVerbAdj2 True v x y) ; QPredObjA2V np v x y = intVerbPhrase np (complVerbAdj2 True v x y) ;
QPredProgVP np v = intVerbPhrase np (progressiveVerbPhrase v) ;
IPredV a v = predVerbGroupI True a (predVerb v) ; IPredV a v = predVerbGroupI True a (predVerb v) ;
IPredV2 a v x = predVerbGroupI True a (complTransVerb v x) ; IPredV2 a v x = predVerbGroupI True a (complTransVerb v x) ;
---- SPredAP np v = predBeGroup np (\\_ => v.s ! AAdj) ;
IPredAP a v = predVerbGroupI True a (predAdjective v) ; IPredAP a v = predVerbGroupI True a (predAdjective v) ;
{- {-

View File

@@ -100,6 +100,8 @@ lin
AdvCN = advCommNounPhrase ; AdvCN = advCommNounPhrase ;
AdvAP = advAdjPhrase ; AdvAP = advAdjPhrase ;
AdvAdv = cc2 ; AdvAdv = cc2 ;
AdvNP np adv = <np : {g : Gender ; n : Number ; p : Person}> **
{s = \\f => np.s ! f ++ adv.s} ;
--3 Sentences and relative clauses --3 Sentences and relative clauses
-- --
@@ -167,6 +169,7 @@ lin
SubjS = subjunctSentence ; SubjS = subjunctSentence ;
SubjImper = subjunctImperative ; SubjImper = subjunctImperative ;
SubjQS = subjunctQuestion ; SubjQS = subjunctQuestion ;
AdvSubj if A = {s = if.s ++ A.s ! Sub} ;
PhrNP = useNounPhrase ; PhrNP = useNounPhrase ;
PhrOneCN = useCommonNounPhrase singular ; PhrOneCN = useCommonNounPhrase singular ;

View File

@@ -1,7 +1,7 @@
--# -path=.:../romance:../../prelude --# -path=.:../romance:../../prelude
instance SyntaxSpa of SyntaxRomance = instance SyntaxSpa of SyntaxRomance =
TypesSpa ** open Prelude, (CO=Coordination), MorphoSpa in { TypesSpa ** open Prelude, (CO=Coordination), MorphoSpa, BeschSpa in {
oper oper
nameNounPhrase = \jean -> nameNounPhrase = \jean ->
normalNounPhrase normalNounPhrase
@@ -358,5 +358,11 @@ oper
negNe = "no" ; negPas = [] ; negNe = "no" ; negPas = [] ;
progressiveSats subj vp =
mkSatsObject subj
(mkTransVerbDir (verbPres (estar_2 "estar") AHabere)) --- hack to reuse
(nameNounPhrase (mkProperName ( --- this function
vp.s ! VIGerund ! (pgen2gen subj.g) ! subj.n ! subj.p) Masc)) ;
} }

View File

@@ -119,7 +119,8 @@ oper
VImper SgP2 => amare.s ! VP (Imp Sg P2) ; VImper SgP2 => amare.s ! VP (Imp Sg P2) ;
VImper PlP1 => amare.s ! VP (Imp Pl P1) ; VImper PlP1 => amare.s ! VP (Imp Pl P1) ;
VImper PlP2 => amare.s ! VP (Imp Pl P2) ; VImper PlP2 => amare.s ! VP (Imp Pl P2) ;
VPart g n => amare.s ! VP (Pass n g) VPart g n => amare.s ! VP (Pass n g) ;
VGer => amare.s ! VI Ger
} ; } ;
aux = a aux = a
} ; } ;

View File

@@ -2,4 +2,3 @@
concrete ClauseSwe of Clause = CategoriesSwe ** concrete ClauseSwe of Clause = CategoriesSwe **
ClauseI with (Rules=RulesSwe), (Verbphrase=VerbphraseSwe) ; ClauseI with (Rules=RulesSwe), (Verbphrase=VerbphraseSwe) ;
---- ClauseScand with (SyntaxScand=SyntaxSwe) ;