mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-14 07:19:31 -06:00
upgraded resources, esp. romance
This commit is contained in:
@@ -31,6 +31,7 @@ incomplete concrete ClauseI of Clause = open Rules, Verbphrase in {
|
||||
QPredV np v = IntVP np (UseV v) ;
|
||||
QPredPassV np v = IntVP np (UsePassV v) ;
|
||||
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) ;
|
||||
QPredVS np v x = IntVP np (ComplVS 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) ;
|
||||
QPredAdv np v = IntVP np (PredAdv v) ;
|
||||
|
||||
QPredProgVP np vp = IntVP np (PredProgVP vp) ;
|
||||
|
||||
IPredV a v = PosVP a (UseV v) ;
|
||||
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) ;
|
||||
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
|
||||
|
||||
@@ -110,8 +110,8 @@ fun
|
||||
AdvPP : PP -> Adv ; -- "in London", "after the war"
|
||||
PrepNP : Prep -> NP -> PP ; -- "in London", "after the war"
|
||||
|
||||
AdvCN : CN -> PP -> CN ; -- "house in London"
|
||||
AdvPN : PN -> PP -> NP ; -- "x to the power of k"
|
||||
AdvCN : CN -> Adv -> CN ; -- "house in London"
|
||||
AdvNP : NP -> Adv -> NP ; -- "the house in London"
|
||||
AdvAP : AdA -> AP -> AP ; -- "very good"
|
||||
AdvAdv : AdA -> Adv -> Adv ; -- "very well"
|
||||
|
||||
@@ -148,7 +148,7 @@ fun
|
||||
QuestPhrase : QS -> Phr ; -- "Do I walk?"
|
||||
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"
|
||||
AdCPhr : AdC -> S -> Phr ; -- "Therefore, 2 is prime."
|
||||
AdvPhr : Adv -> S -> Phr ; -- "In India, there are tigers."
|
||||
|
||||
@@ -111,7 +111,7 @@ lin
|
||||
AdvCN = advCommNounPhrase ;
|
||||
AdvAP = advAdjPhrase ;
|
||||
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
|
||||
--
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
--# -path=.:../romance:../abstract:../../prelude
|
||||
|
||||
concrete ClauseFre of Clause = CategoriesFre **
|
||||
---- ClauseI with (Rules=RulesFre), (Verbphrase=VerbphraseFre) ;
|
||||
ClauseRomance with (SyntaxRomance=SyntaxFre) ;
|
||||
|
||||
@@ -330,4 +330,9 @@ oper
|
||||
|
||||
negNe = elisNe ; negPas = "pas" ;
|
||||
|
||||
progressiveSats subj vp =
|
||||
mkSatsCopula subj
|
||||
(["en train"] ++ elisDe ++
|
||||
vp.s ! VIInfinit ! (pgen2gen subj.g) ! subj.n ! subj.p) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -153,7 +153,8 @@ oper
|
||||
VFin VFut n p => aller ! Indic Futur n p ;
|
||||
VFin VCondit n p => aller ! Cond n p ;
|
||||
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$:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
--# -path=.:../romance:../../prelude
|
||||
|
||||
instance SyntaxIta of SyntaxRomance =
|
||||
TypesIta ** open Prelude, (CO=Coordination), MorphoIta in {
|
||||
TypesIta ** open Prelude, (CO=Coordination), MorphoIta, BeschIta in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
@@ -275,4 +275,10 @@ oper
|
||||
|
||||
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)) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -121,7 +121,8 @@ oper
|
||||
VFin VFut n p => amare.s ! Fut n p ;
|
||||
VFin VCondit n p => amare.s ! Cond n p ;
|
||||
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
|
||||
} ;
|
||||
|
||||
@@ -14,7 +14,6 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
sats2clause (mkSatsObject np v y) ;
|
||||
SPredV3 subj verb obj1 obj2 =
|
||||
sats2clause (insertObject (mkSatsObject subj verb obj1) verb.c3 verb.s3 obj2) ;
|
||||
|
||||
SPredReflV2 subj verb =
|
||||
sats2clause (
|
||||
mkSatsObject subj
|
||||
@@ -22,7 +21,6 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
---- {s = verb.s ; s2 = verb.s2 ; c = verb.c ; aux = AEsse}
|
||||
---- this produces huge cf - find out why! AR 16/3/2005
|
||||
(reflPronNounPhrase (pgen2gen subj.g) subj.n subj.p)) ;
|
||||
|
||||
SPredVS subj verb sent =
|
||||
sats2clause (
|
||||
insertExtrapos (mkSats subj verb)
|
||||
@@ -49,7 +47,6 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
insertExtrapos
|
||||
(mkSatsObject subj verb obj)
|
||||
(\\_ => adj.s ! AF (pgen2gen obj.g) obj.n)) ;
|
||||
|
||||
SPredVV subj verb vp =
|
||||
sats2clause (
|
||||
insertExtrapos
|
||||
@@ -70,7 +67,7 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
(\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! pgen2gen subj.g ! subj.n ! subj.p)
|
||||
) ;
|
||||
|
||||
-- SPredProgVP
|
||||
SPredProgVP np vp = sats2clause (progressiveSats np vp) ;
|
||||
|
||||
|
||||
SPredAP subj adj =
|
||||
@@ -86,22 +83,19 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
|
||||
QPredV np v =
|
||||
sats2quest (mkSats (intNounPhrase np) v) ;
|
||||
|
||||
QPredPassV subj v =
|
||||
sats2quest (mkSatsCopula (intNounPhrase subj) (v.s ! VPart subj.g subj.n)) ;
|
||||
QPredV2 np v y =
|
||||
sats2quest (mkSatsObject (intNounPhrase np) v y) ;
|
||||
-- QPredV3 subj verb obj1 obj2 =
|
||||
-- sats2quest (insertObject (mkSatsObject (intNounPhrase subj) verb obj1) verb.c3 verb.s3 obj2) ;
|
||||
|
||||
QPredV3 subj verb obj1 obj2 =
|
||||
sats2quest (
|
||||
insertObject (mkSatsObject (intNounPhrase subj) verb obj1) verb.c3 verb.s3 obj2
|
||||
) ;
|
||||
QPredReflV2 subj verb =
|
||||
sats2quest (
|
||||
mkSatsObject (intNounPhrase subj)
|
||||
{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)) ;
|
||||
|
||||
QPredVS subj verb sent =
|
||||
sats2quest (
|
||||
insertExtrapos (mkSats (intNounPhrase subj) verb)
|
||||
@@ -122,21 +116,20 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
(\\_ => quest.s ! IndirQ)) ;
|
||||
QPredVA subj verb adj =
|
||||
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 =
|
||||
sats2quest (
|
||||
insertExtrapos
|
||||
(mkSatsObject (intNounPhrase subj) verb obj)
|
||||
(\\_ => adj.s ! AF (pgen2gen obj.g) obj.n)) ;
|
||||
|
||||
QPredVV subj verb vp =
|
||||
sats2quest (
|
||||
insertExtrapos
|
||||
(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 =
|
||||
sats2quest (
|
||||
insertExtrapos
|
||||
@@ -161,14 +154,83 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
QPredAdv subj adv =
|
||||
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) ;
|
||||
IPredV2 _ v y =
|
||||
sats2verbPhrase (mkSatsObject pronImpers v y) ;
|
||||
IPredAP _ adj =
|
||||
sats2verbPhrase (mkSatsCopula pronImpers (adj.s ! AF Masc Sg)) ;
|
||||
|
||||
----- gender and number of Adj
|
||||
|
||||
IPredV a v =
|
||||
sats2verbPhrase a (mkSats pronImpers v) ;
|
||||
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) ;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -96,6 +96,11 @@ lin
|
||||
AdvAP = advAdjPhrase ;
|
||||
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
|
||||
--
|
||||
|
||||
@@ -162,6 +167,7 @@ lin
|
||||
SubjImper = subjunctImperative ;
|
||||
SubjQS = subjunctQuestion ;
|
||||
----- SubjVP = subjunctVerbPhrase ;
|
||||
AdvSubj if A = {s = if.s ++ A.s ! if.m} ;
|
||||
|
||||
PhrNP = useNounPhrase ;
|
||||
PhrOneCN = useCommonNounPhrase singular ;
|
||||
|
||||
@@ -430,7 +430,7 @@ oper
|
||||
param
|
||||
VPForm = VPF Anteriority VF ;
|
||||
Anteriority = Simul | Anter ;
|
||||
VIForm = VIInfinit | VIImperat Bool Number ; ---- | VIGerund ;
|
||||
VIForm = VIInfinit | VIImperat Bool Number | VIGerund ;
|
||||
|
||||
oper
|
||||
VerbPhrase = {s : VIForm => Gender => Number => Person => Str} ;
|
||||
@@ -1304,7 +1304,7 @@ oper
|
||||
je ++ ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement ++ oui
|
||||
} ;
|
||||
|
||||
negNe, negPas : Str ;
|
||||
negNe, negPas : Str ;
|
||||
|
||||
|
||||
sats2quest : Sats -> Question = \x ->
|
||||
@@ -1312,12 +1312,12 @@ negNe, negPas : Str ;
|
||||
in
|
||||
{s = \\b,f,_ => cl.s ! b ! f} ;
|
||||
|
||||
sats2verbPhrase : Sats -> VerbPhrase =
|
||||
\sats -> {s = \\vi,g,n,p => ---- b,cf =>
|
||||
sats2verbPhrase : {s : Str ; a : Anteriority} -> Sats -> VerbPhrase =
|
||||
\ant,sats -> {s = \\vi,g,n,p => ---- b,cf =>
|
||||
let
|
||||
b = True ; ----
|
||||
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 ;
|
||||
ai = dire.p1 ;
|
||||
dit = dire.p2 ;
|
||||
@@ -1328,23 +1328,31 @@ negNe, negPas : Str ;
|
||||
oui = sats.s7 ! b
|
||||
in
|
||||
ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement ++ oui
|
||||
++ ant.s --- always [] ; hack to avoid ? in parsing
|
||||
} ;
|
||||
|
||||
---- What happens to polarity and anteriority ?
|
||||
|
||||
verbVIForm :
|
||||
Verb -> VIForm -> Gender -> Number -> Person -> Gender -> Number -> (Str * Str) =
|
||||
\verb,cl,g,n,p,g2,n2 ->
|
||||
Verb -> Anteriority ->
|
||||
VIForm -> Gender -> Number -> Person -> Gender -> Number -> (Str * Str) =
|
||||
\verb,ant,cl,g,n,p,g2,n2 ->
|
||||
let
|
||||
aime : Number -> Str = \t -> verb.s ! vImper n P2 ;
|
||||
aimer = verb.s ! VInfin
|
||||
aime : Number -> Str = \t -> verb.s ! vImper t P2 ;
|
||||
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
|
||||
case cl of {
|
||||
VIImperat _ n => <aime n ,[]> ;
|
||||
VlInfinit => <aimer, []>
|
||||
VIImperat _ n => <aime n, []> ; -- no imperative perfect
|
||||
VIGerund => <aimant, aimee> ;
|
||||
VIInfinit => <aimer, aimee>
|
||||
} ;
|
||||
|
||||
predVerb0 : Verb -> Clause = \rain ->
|
||||
sats2clause (mkSats (pronNounPhrase pronImpers) rain) ;
|
||||
|
||||
progressiveSats : NounPhrase -> VerbPhrase -> Sats ;
|
||||
|
||||
}
|
||||
|
||||
@@ -158,6 +158,7 @@ param
|
||||
| VFin TMode Number Person
|
||||
| VImper NumPersI
|
||||
| VPart Gender Number
|
||||
| VGer
|
||||
;
|
||||
|
||||
TMode =
|
||||
|
||||
@@ -33,11 +33,11 @@ incomplete concrete ClauseScand of Clause = CategoriesScand **
|
||||
|
||||
SPredProgVP = progressiveClause ;
|
||||
|
||||
|
||||
QPredV np v = intVerbPhrase np (predVerb v) ;
|
||||
QPredPassV np v = intVerbPhrase np (passVerb v) ;
|
||||
QPredV2 np v x = intVerbPhrase np (complTransVerb v x) ;
|
||||
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) ;
|
||||
QPredVV np v x = intVerbPhrase np (complVerbVerb 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) ;
|
||||
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) ;
|
||||
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) ;
|
||||
|
||||
{-
|
||||
|
||||
@@ -100,6 +100,8 @@ lin
|
||||
AdvCN = advCommNounPhrase ;
|
||||
AdvAP = advAdjPhrase ;
|
||||
AdvAdv = cc2 ;
|
||||
AdvNP np adv = <np : {g : Gender ; n : Number ; p : Person}> **
|
||||
{s = \\f => np.s ! f ++ adv.s} ;
|
||||
|
||||
--3 Sentences and relative clauses
|
||||
--
|
||||
@@ -167,6 +169,7 @@ lin
|
||||
SubjS = subjunctSentence ;
|
||||
SubjImper = subjunctImperative ;
|
||||
SubjQS = subjunctQuestion ;
|
||||
AdvSubj if A = {s = if.s ++ A.s ! Sub} ;
|
||||
|
||||
PhrNP = useNounPhrase ;
|
||||
PhrOneCN = useCommonNounPhrase singular ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
--# -path=.:../romance:../../prelude
|
||||
|
||||
instance SyntaxSpa of SyntaxRomance =
|
||||
TypesSpa ** open Prelude, (CO=Coordination), MorphoSpa in {
|
||||
TypesSpa ** open Prelude, (CO=Coordination), MorphoSpa, BeschSpa in {
|
||||
oper
|
||||
nameNounPhrase = \jean ->
|
||||
normalNounPhrase
|
||||
@@ -358,5 +358,11 @@ oper
|
||||
|
||||
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)) ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -119,7 +119,8 @@ oper
|
||||
VImper SgP2 => amare.s ! VP (Imp Sg P2) ;
|
||||
VImper PlP1 => amare.s ! VP (Imp Pl P1) ;
|
||||
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
|
||||
} ;
|
||||
|
||||
@@ -2,4 +2,3 @@
|
||||
|
||||
concrete ClauseSwe of Clause = CategoriesSwe **
|
||||
ClauseI with (Rules=RulesSwe), (Verbphrase=VerbphraseSwe) ;
|
||||
---- ClauseScand with (SyntaxScand=SyntaxSwe) ;
|
||||
|
||||
Reference in New Issue
Block a user