mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 09:02:50 -06:00
FixedRon
This commit is contained in:
@@ -15,9 +15,9 @@ Item = {s : Str ; n : Number; g : Gender};
|
|||||||
|
|
||||||
lin
|
lin
|
||||||
|
|
||||||
This = det Sg (mkTab "acest" "aceastã");
|
This = det Sg (mkTab "acest" "această");
|
||||||
That = det Sg (mkTab "acel" "acea");
|
That = det Sg (mkTab "acel" "acea");
|
||||||
These = det Pl (mkTab "aceºti" "aceste");
|
These = det Pl (mkTab "acești" "aceste");
|
||||||
Those = det Pl (mkTab "acei" "acele");
|
Those = det Pl (mkTab "acei" "acele");
|
||||||
|
|
||||||
Wine = mkNoun "vin" "vinuri" NNeut ;
|
Wine = mkNoun "vin" "vinuri" NNeut ;
|
||||||
|
|||||||
@@ -1,4 +1,27 @@
|
|||||||
concrete SentencesRon of Sentences = NumeralRon ** SentencesI with
|
|
||||||
|
concrete SentencesRon of Sentences = NumeralRon ** SentencesI - [
|
||||||
|
IFemale, YouFamFemale, YouPolFemale, IMale, YouFamMale, YouPolMale
|
||||||
|
]
|
||||||
|
with
|
||||||
(Syntax = SyntaxRon),
|
(Syntax = SyntaxRon),
|
||||||
(Symbolic = SymbolicRon),
|
(Symbolic = SymbolicRon),
|
||||||
(Lexicon = LexiconRon) ;
|
(Lexicon = LexiconRon) **
|
||||||
|
open SyntaxRon, ExtraRon in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
IFemale =
|
||||||
|
{name = mkNP i8fem_Pron ; isPron = True ; poss = mkQuant i_Pron} ;
|
||||||
|
YouFamFemale =
|
||||||
|
{name = mkNP youSg8fem_Pron ; isPron = True ; poss = mkQuant youSg_Pron} ;
|
||||||
|
YouPolFemale =
|
||||||
|
{name = mkNP youPol8fem_Pron ; isPron = True ; poss = mkQuant youPol_Pron};
|
||||||
|
IMale =
|
||||||
|
{name = mkNP i_Pron ; isPron = True ; poss = mkQuant i_Pron} ;
|
||||||
|
YouFamMale =
|
||||||
|
{name = mkNP youSg_Pron ; isPron = True ; poss = mkQuant youSg_Pron} ;
|
||||||
|
YouPolMale =
|
||||||
|
{name = mkNP youPol_Pron ; isPron = True ; poss = mkQuant youPol_Pron} ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
-- (c) 2009 Ramona Enache under LGPL
|
-- (c) 2009 Ramona Enache under LGPL
|
||||||
|
|
||||||
concrete WordsRon of Words = SentencesRon ** open
|
concrete WordsRon of Words = SentencesRon ** open
|
||||||
SyntaxRon,
|
SyntaxRon, ResRon,
|
||||||
(P = ParadigmsRon),
|
(P = ParadigmsRon),
|
||||||
(L = LexiconRon),
|
(L = LexiconRon),
|
||||||
BeschRon,
|
BeschRon,
|
||||||
@@ -89,7 +89,7 @@ concrete WordsRon of Words = SentencesRon ** open
|
|||||||
AHasTable p num = mkCl p.name have_V2
|
AHasTable p num = mkCl p.name have_V2
|
||||||
(mkNP (mkNP a_Det (P.mkN "masa" "mese")) (SyntaxRon.mkAdv for_Prep (mkNP num (P.mkN "persoană")))) ;
|
(mkNP (mkNP a_Det (P.mkN "masa" "mese")) (SyntaxRon.mkAdv for_Prep (mkNP num (P.mkN "persoană")))) ;
|
||||||
AHasName p name = mkCl p.name (P.dirV2 (mkRVAcc (v_besch119 "numi"))) name ;
|
AHasName p name = mkCl p.name (P.dirV2 (mkRVAcc (v_besch119 "numi"))) name ;
|
||||||
AHungry p = DatSubjCl p.name (mkVP (mkCN (P.mkN "foame"))) ;
|
AHungry p = DatSubjCl p.name (mkVP (mkNP (P.mkN "foame"))) ;
|
||||||
AIll p = mkCl p.name (P.mkA "bolnav") ;
|
AIll p = mkCl p.name (P.mkA "bolnav") ;
|
||||||
AKnow p = mkCl p.name (v_besch122 "şti") ;
|
AKnow p = mkCl p.name (v_besch122 "şti") ;
|
||||||
ALike p item = mkCl p.name (P.dirV2 (v_besch71 "plăcea")) item ;
|
ALike p item = mkCl p.name (P.dirV2 (v_besch71 "plăcea")) item ;
|
||||||
@@ -100,7 +100,7 @@ concrete WordsRon of Words = SentencesRon ** open
|
|||||||
AReady p = mkCl p.name (P.mkA "gata" "gata" "gata" "gata") ;
|
AReady p = mkCl p.name (P.mkA "gata" "gata" "gata" "gata") ;
|
||||||
AScared p = mkCl p.name (P.mkA "speriat") ;
|
AScared p = mkCl p.name (P.mkA "speriat") ;
|
||||||
ASpeak p lang = mkCl p.name (P.dirV2 (P.mkV "vorbi")) lang ;
|
ASpeak p lang = mkCl p.name (P.dirV2 (P.mkV "vorbi")) lang ;
|
||||||
AThirsty p = DatSubjCl p.name (mkVP (mkCN (P.mkN "sete"))) ;
|
AThirsty p = DatSubjCl p.name (mkVP (mkNP (P.mkN "sete"))) ;
|
||||||
ATired p = mkCl p.name (P.mkA "obosit") ;
|
ATired p = mkCl p.name (P.mkA "obosit") ;
|
||||||
AUnderstand p = mkCl p.name (v_besch83 "înţelege") ;
|
AUnderstand p = mkCl p.name (v_besch83 "înţelege") ;
|
||||||
AWant p obj = mkCl p.name (P.dirV2 (v_besch74 "vrea")) obj ;
|
AWant p obj = mkCl p.name (P.dirV2 (v_besch74 "vrea")) obj ;
|
||||||
@@ -166,9 +166,6 @@ open_A : A = P.mkA "deschis" ;
|
|||||||
ad = {s = d} in
|
ad = {s = d} in
|
||||||
mkNPDay day ad ad; ---- difference is enforced by additional constructions
|
mkNPDay day ad ad; ---- difference is enforced by additional constructions
|
||||||
|
|
||||||
-- mkPlace : N -> Prep -> {name : CN ; at : Prep ; to : Prep} = \p,i ->
|
|
||||||
-- mkCNPlace (mkCN p) i P.dative ;
|
|
||||||
|
|
||||||
xOf : GNumber -> N -> NPPerson -> NPPerson = \n,x,p -> mkRelative n (mkCN x) p ;
|
xOf : GNumber -> N -> NPPerson -> NPPerson = \n,x,p -> mkRelative n (mkCN x) p ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ concrete CatRon of Cat =
|
|||||||
Pron = {s : NCase => Str ;
|
Pron = {s : NCase => Str ;
|
||||||
c1, c2 : Clitics => Str ;
|
c1, c2 : Clitics => Str ;
|
||||||
a : Agr ;
|
a : Agr ;
|
||||||
|
isPol : Bool ;
|
||||||
poss : Number => Gender => Str } ;
|
poss : Number => Gender => Str } ;
|
||||||
|
|
||||||
NP = NounPhrase ;
|
NP = NounPhrase ;
|
||||||
|
|||||||
@@ -3,9 +3,16 @@ concrete ExtraRon of ExtraRonAbs = CatRon **
|
|||||||
open ResRon, ParadigmsRon, Prelude, MorphoRon in {
|
open ResRon, ParadigmsRon, Prelude, MorphoRon in {
|
||||||
|
|
||||||
lin
|
lin
|
||||||
at_Prep = mkPrep "la" Ac;
|
at_Prep = mkPrep "la" Ac True;
|
||||||
DatSubjCl np vp = mkClause (np.s ! Da).comp (agrP3 Masc Sg) (insertClit vp np);
|
DatSubjCl np vp = let ss = if_then_Str np.isPronoun "" (np.s ! Da).comp
|
||||||
|
in mkClause ss np.isPol (agrP3 Masc Sg) (insertClit vp np);
|
||||||
|
i8fem_Pron = mkPronoun "eu" "mine" "mie" [] [] "meu" "mea" "mei" "mele" Fem Sg P1 ;
|
||||||
|
youSg8fem_Pron = mkPronoun "tu" "tine" "ţie" [] "tu" "tău" "ta" "tăi" "tale" Fem Sg P2 ;
|
||||||
|
youPl8fem_Pron = mkPronoun "voi" "voi" "vouă" [] "voi" "vostru" "voastră" "voştri" "voastre" Fem Pl P2 ;
|
||||||
|
youPol8fem_Pron = let dvs = mkPronoun "dumneavoastră" "dumneavoastră" "dumneavoastră" [] "dumneavoastră" "dumneavoastră" "dumneavoastră" "dumneavoastră" "dumneavoastră" Fem Pl P2
|
||||||
|
in
|
||||||
|
{s = dvs.s; c1 = dvs.c1;
|
||||||
|
c2 = dvs.c2; a = dvs.a; isPol = True; poss = dvs.poss} ;
|
||||||
|
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
|||||||
@@ -5,4 +5,13 @@ abstract ExtraRonAbs = Cat **{
|
|||||||
fun
|
fun
|
||||||
DatSubjCl : NP -> VP -> Cl ;
|
DatSubjCl : NP -> VP -> Cl ;
|
||||||
at_Prep : Prep ;
|
at_Prep : Prep ;
|
||||||
|
|
||||||
|
i8fem_Pron : Pron ;
|
||||||
|
youSg8fem_Pron : Pron ;
|
||||||
|
youPl8fem_Pron : Pron ;
|
||||||
|
youPol8fem_Pron : Pron ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,27 +8,27 @@ in {
|
|||||||
|
|
||||||
|
|
||||||
lin
|
lin
|
||||||
ImpersCl vp = mkClause "" (agrP3 Masc Sg) vp ;
|
ImpersCl vp = mkClause "" False (agrP3 Masc Sg) vp ;
|
||||||
|
|
||||||
GenericCl vp = mkClause "cineva" (agrP3 Masc Sg) vp ; -- an exact correspondent does not exist !
|
GenericCl vp = mkClause "cineva" False (agrP3 Masc Sg) vp ; -- an exact correspondent does not exist !
|
||||||
|
|
||||||
ExistNP np =
|
ExistNP np =
|
||||||
mkClause "" np.a (insertSimpObj (\\ag => (np.s ! No ).comp) (useVerb (v_besch20 "existã"))) ;
|
mkClause "" False np.a (insertSimpObj (\\ag => (np.s ! No ).comp) (useVerb (v_besch20 "existã"))) ;
|
||||||
-- v_besch20 "exista"
|
-- v_besch20 "exista"
|
||||||
|
|
||||||
ExistIP ip = {
|
ExistIP ip = {
|
||||||
s = \\t,a,p,_ =>
|
s = \\t,a,p,_ =>
|
||||||
ip.s ! No ++
|
ip.s ! No ++
|
||||||
(mkClause "" (agrP3 (ip.a.g) (ip.a.n))
|
(mkClause "" False (agrP3 (ip.a.g) (ip.a.n))
|
||||||
copula).s
|
copula).s
|
||||||
! DDir ! t ! a ! p ! Indic } ;
|
! DDir ! t ! a ! p ! Indic } ;
|
||||||
|
|
||||||
CleftNP np rs = mkClause "" np.a
|
CleftNP np rs = mkClause "" False np.a
|
||||||
(insertSimpObj (\\_ => rs.s ! Indic ! np.a)
|
(insertSimpObj (\\_ => rs.s ! Indic ! np.a)
|
||||||
(insertSimpObj (\\_ => (np.s ! rs.c).comp) copula)) ;
|
(insertSimpObj (\\_ => (np.s ! rs.c).comp) copula)) ;
|
||||||
--need adverb for
|
--need adverb for
|
||||||
|
|
||||||
CleftAdv ad s = mkClause "" (agrP3 Masc Sg)
|
CleftAdv ad s = mkClause "" False (agrP3 Masc Sg)
|
||||||
(insertSimpObj (\\_ => conjThat ++ s.s ! Indic)
|
(insertSimpObj (\\_ => conjThat ++ s.s ! Indic)
|
||||||
(insertSimpObj (\\_ => ad.s) copula)) ;
|
(insertSimpObj (\\_ => ad.s) copula)) ;
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ concrete NounRon of Noun =
|
|||||||
};
|
};
|
||||||
a = ag ;
|
a = ag ;
|
||||||
nForm = nf;
|
nForm = nf;
|
||||||
|
isPol = False;
|
||||||
isPronoun = False;
|
isPronoun = False;
|
||||||
indForm = det.s ! gg ! No ++ det.size ++cn.s ! n ! rs ! ANomAcc ++ det.post ! gg ! No
|
indForm = det.s ! gg ! No ++ det.size ++cn.s ! n ! rs ! ANomAcc ++ det.post ! gg ! No
|
||||||
|
|
||||||
@@ -39,7 +40,7 @@ concrete NounRon of Noun =
|
|||||||
|
|
||||||
a = ag;
|
a = ag;
|
||||||
nForm = if_then_else NForm hc HasClit (HasRef False) ;
|
nForm = if_then_else NForm hc HasClit (HasRef False) ;
|
||||||
isPronoun = False ;
|
isPronoun = False ; isPol = False;
|
||||||
indForm = pn.s ! No
|
indForm = pn.s ! No
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -47,6 +48,7 @@ concrete NounRon of Noun =
|
|||||||
clit = (genCliticsCase p.a c).s } ;
|
clit = (genCliticsCase p.a c).s } ;
|
||||||
nForm = HasClit;
|
nForm = HasClit;
|
||||||
isPronoun = True ;
|
isPronoun = True ;
|
||||||
|
isPol = p.isPol ;
|
||||||
a = p.a;
|
a = p.a;
|
||||||
indForm = p.s ! Ac
|
indForm = p.s ! Ac
|
||||||
};
|
};
|
||||||
@@ -58,7 +60,7 @@ concrete NounRon of Noun =
|
|||||||
clit = (np.s ! c).clit };
|
clit = (np.s ! c).clit };
|
||||||
a = np.a ;
|
a = np.a ;
|
||||||
nForm = np.nForm ;
|
nForm = np.nForm ;
|
||||||
isPronoun = False ;
|
isPronoun = False ; isPol = False;
|
||||||
indForm = pred.s ! aagr (np.a.g) (np.a.n) ! ANomAcc ++ (np.s ! pred.c).comp
|
indForm = pred.s ! aagr (np.a.g) (np.a.n) ! ANomAcc ++ (np.s ! pred.c).comp
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -224,6 +226,7 @@ in {
|
|||||||
clit = \\cs => [] } ;
|
clit = \\cs => [] } ;
|
||||||
a = agrP3 g n ;
|
a = agrP3 g n ;
|
||||||
nForm = HasRef False ;
|
nForm = HasRef False ;
|
||||||
|
isPol = False;
|
||||||
isPronoun = False ;
|
isPronoun = False ;
|
||||||
indForm = cn.s ! n ! Indef ! ANomAcc
|
indForm = cn.s ! n ! Indef ! ANomAcc
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -466,7 +466,7 @@ mkNPspec : Str -> Str -> Str -> Number -> Gender -> NP =
|
|||||||
a = ag ;
|
a = ag ;
|
||||||
indForm = cineva ;
|
indForm = cineva ;
|
||||||
nForm = HasClit ;
|
nForm = HasClit ;
|
||||||
isPronoun = False ;
|
isPronoun = False ; isPol = False;
|
||||||
lock_NP = <>
|
lock_NP = <>
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -481,7 +481,7 @@ mkNPs : Str -> Str -> Number -> Gender -> Bool -> NP =
|
|||||||
};
|
};
|
||||||
a = ag ;
|
a = ag ;
|
||||||
indForm = cineva ;
|
indForm = cineva ;
|
||||||
isPronoun = False ;
|
isPronoun = False ; isPol = False;
|
||||||
nForm = HasRef b ;
|
nForm = HasRef b ;
|
||||||
lock_NP = <>
|
lock_NP = <>
|
||||||
};
|
};
|
||||||
@@ -500,7 +500,7 @@ mkNPa : Str -> Str -> Str -> Number -> Gender -> Bool -> NP =
|
|||||||
};
|
};
|
||||||
a = ag;
|
a = ag;
|
||||||
nForm = HasRef b;
|
nForm = HasRef b;
|
||||||
isPronoun = False ;
|
isPronoun = False; isPol = False;
|
||||||
indForm = om ;
|
indForm = om ;
|
||||||
lock_NP = <>
|
lock_NP = <>
|
||||||
};
|
};
|
||||||
@@ -517,6 +517,7 @@ mkPronoun :(_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Number -> Person -> Pron =\eu,
|
|||||||
poss = table {Sg => table {Masc => meuP ; Fem => mea};
|
poss = table {Sg => table {Masc => meuP ; Fem => mea};
|
||||||
Pl => table {Masc => mei ; Fem => mele}
|
Pl => table {Masc => mei ; Fem => mele}
|
||||||
};
|
};
|
||||||
|
isPol = False;
|
||||||
lock_Pron = <>};
|
lock_Pron = <>};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ concrete QuestionRon of Question =
|
|||||||
QuestVP qp vp = {
|
QuestVP qp vp = {
|
||||||
s = \\t,a,b,_ =>
|
s = \\t,a,b,_ =>
|
||||||
let
|
let
|
||||||
cl = mkClause (qp.s ! No) (agrP3 qp.a.g qp.a.n) vp
|
cl = mkClause (qp.s ! No) False (agrP3 qp.a.g qp.a.n) vp
|
||||||
in
|
in
|
||||||
cl.s ! DDir ! t ! a ! b ! Indic
|
cl.s ! DDir ! t ! a ! b ! Indic
|
||||||
} ;
|
} ;
|
||||||
@@ -52,7 +52,7 @@ concrete QuestionRon of Question =
|
|||||||
s = \\t,a,p,_ =>
|
s = \\t,a,p,_ =>
|
||||||
let
|
let
|
||||||
vp = predV copula ;
|
vp = predV copula ;
|
||||||
cls = (mkClause (np.s ! No).comp np.a vp).s !
|
cls = (mkClause (np.s ! No).comp np.isPol np.a vp).s !
|
||||||
DInv ! t ! a ! p ! Indic ;
|
DInv ! t ! a ! p ! Indic ;
|
||||||
why = icomp.s ! {g = np.a.g ; n = np.a.n}
|
why = icomp.s ! {g = np.a.g ; n = np.a.n}
|
||||||
in why ++ cls
|
in why ++ cls
|
||||||
|
|||||||
@@ -16,11 +16,13 @@ concrete RelativeRon of Relative =
|
|||||||
True => {s = \\ag =>
|
True => {s = \\ag =>
|
||||||
(mkClause
|
(mkClause
|
||||||
(rp.s ! {g = ag.g ; n = ag.n} ! No)
|
(rp.s ! {g = ag.g ; n = ag.n} ! No)
|
||||||
|
False
|
||||||
{g = rp.a.g ; n = rp.a.n ; p = P3}
|
{g = rp.a.g ; n = rp.a.n ; p = P3}
|
||||||
vp).s ! DDir ; c = No} ;
|
vp).s ! DDir ; c = No} ;
|
||||||
False => {s = \\ag =>
|
False => {s = \\ag =>
|
||||||
(mkClause
|
(mkClause
|
||||||
(rp.s ! {g = ag.g ; n = ag.n} ! No)
|
(rp.s ! {g = ag.g ; n = ag.n} ! No)
|
||||||
|
False
|
||||||
ag
|
ag
|
||||||
vp).s ! DDir ; c = No
|
vp).s ! DDir ; c = No
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -329,7 +329,8 @@ oper
|
|||||||
a : Agr ;
|
a : Agr ;
|
||||||
indForm : Str ; --needed for prepositions that demand the indefinite form of a NP
|
indForm : Str ; --needed for prepositions that demand the indefinite form of a NP
|
||||||
nForm : NForm ; -- indicates the presence of clitic doubling and referential form
|
nForm : NForm ; -- indicates the presence of clitic doubling and referential form
|
||||||
isPronoun : Bool -- in the case of pronouns, just the clitics are used, and not the comp form
|
isPronoun : Bool ; -- in the case of pronouns, just the clitics are used, and not the comp form
|
||||||
|
isPol : Bool -- needed for the agreement of the polite pronoun, singular form
|
||||||
} ;
|
} ;
|
||||||
VerbPhrase :Type = {
|
VerbPhrase :Type = {
|
||||||
s : VForm => Str ;
|
s : VForm => Str ;
|
||||||
@@ -512,9 +513,9 @@ oper
|
|||||||
|
|
||||||
-- clause building function :
|
-- clause building function :
|
||||||
|
|
||||||
mkClause : Str -> Agr -> VerbPhrase ->
|
mkClause : Str -> Bool -> Agr -> VerbPhrase ->
|
||||||
{s : Direct => RTense => Anteriority => Polarity => Mood => Str} =
|
{s : Direct => RTense => Anteriority => Polarity => Mood => Str} =
|
||||||
\subj,agr,vpr -> {
|
\subj,isPol,agr,vpr -> {
|
||||||
s = \\d,t,a,b,m =>
|
s = \\d,t,a,b,m =>
|
||||||
let
|
let
|
||||||
tm = case t of {
|
tm = case t of {
|
||||||
@@ -534,8 +535,11 @@ oper
|
|||||||
verb = vps ! agr ;
|
verb = vps ! agr ;
|
||||||
neg = vp.neg ! b ;
|
neg = vp.neg ! b ;
|
||||||
clpr = flattenClitics vpr.nrClit vpr.clAcc vpr.clDat (vpr.isRefl ! agr) (andB vpr.isFemSg cmp) cmp vpr.pReflClit;
|
clpr = flattenClitics vpr.nrClit vpr.clAcc vpr.clDat (vpr.isRefl ! agr) (andB vpr.isFemSg cmp) cmp vpr.pReflClit;
|
||||||
compl = vp.comp ! agr ++ vp.ext ! b
|
compl = case isPol of {
|
||||||
in
|
True => vp.comp ! {g = agr.g ; n = Sg ; p = agr.p} ;
|
||||||
|
_ => vp.comp ! agr
|
||||||
|
} ++ vp.ext ! b
|
||||||
|
in
|
||||||
case d of {
|
case d of {
|
||||||
DDir =>
|
DDir =>
|
||||||
subj ++ sa ++ neg ++ clpr.s1 ++ verb ++ clpr.s2;
|
subj ++ sa ++ neg ++ clpr.s1 ++ verb ++ clpr.s2;
|
||||||
@@ -554,8 +558,8 @@ oper
|
|||||||
_ => [] }};
|
_ => [] }};
|
||||||
a = np.a ;
|
a = np.a ;
|
||||||
indForm = np.ss ;
|
indForm = np.ss ;
|
||||||
nForm = np.hasClit;
|
nForm = np.hasClit ;
|
||||||
isPronoun = False
|
isPronoun = False ;isPol = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
genForms : Str -> Str -> Gender => Str = \bon,bonne ->
|
genForms : Str -> Str -> Gender => Str = \bon,bonne ->
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
flags optimize=all_subs ;
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
PredVP np vp = mkClause (np.s ! No).comp np.a vp ;
|
PredVP np vp = mkClause (np.s ! No).comp np.isPol np.a vp ;
|
||||||
|
|
||||||
PredSCVP sc vp = mkClause sc.s (agrP3 Masc Sg) vp ;
|
PredSCVP sc vp = mkClause sc.s False (agrP3 Masc Sg) vp ;
|
||||||
|
|
||||||
ImpVP vpr = let agSg = {n = Sg ; g = Masc ; p = P2 } ;
|
ImpVP vpr = let agSg = {n = Sg ; g = Masc ; p = P2 } ;
|
||||||
agPl = {n = Pl ; g = Masc ; p = P2 } ;
|
agPl = {n = Pl ; g = Masc ; p = P2 } ;
|
||||||
@@ -40,8 +40,8 @@
|
|||||||
bcond = andB vp.needClit bb
|
bcond = andB vp.needClit bb
|
||||||
in
|
in
|
||||||
case <bcond,v2.c2.isDir> of
|
case <bcond,v2.c2.isDir> of
|
||||||
{<True, Dir pc> => (mkClause (np.s ! No).comp np.a (putClit (agrP3 ag.g ag.n) pc vp)).s ;
|
{<True, Dir pc> => (mkClause (np.s ! No).comp np.isPol np.a (putClit (agrP3 ag.g ag.n) pc vp)).s ;
|
||||||
_ => (mkClause (np.s ! No).comp np.a vp).s
|
_ => (mkClause (np.s ! No).comp np.isPol np.a vp).s
|
||||||
};
|
};
|
||||||
c2 = v2.c2
|
c2 = v2.c2
|
||||||
} ;
|
} ;
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
SlashVS np vs slash =
|
SlashVS np vs slash =
|
||||||
{s = \\bb,ag =>
|
{s = \\bb,ag =>
|
||||||
(mkClause
|
(mkClause
|
||||||
(np.s ! No).comp np.a
|
(np.s ! No).comp np.isPol np.a
|
||||||
(insertExtrapos (\\b => conjThat ++ slash.s ! ag ! (vs.m ! b))
|
(insertExtrapos (\\b => conjThat ++ slash.s ! ag ! (vs.m ! b))
|
||||||
(predV vs))
|
(predV vs))
|
||||||
).s ;
|
).s ;
|
||||||
|
|||||||
@@ -244,10 +244,14 @@ whatPl_IP =
|
|||||||
youSg_Pron = mkPronoun
|
youSg_Pron = mkPronoun
|
||||||
"tu" "tine" "ţie" [] "tu" "tău" "ta" "tăi" "tale"
|
"tu" "tine" "ţie" [] "tu" "tău" "ta" "tăi" "tale"
|
||||||
Masc Sg P2 ;
|
Masc Sg P2 ;
|
||||||
youPl_Pron, youPol_Pron =
|
youPl_Pron =
|
||||||
mkPronoun
|
mkPronoun
|
||||||
"voi" "voi" "vouă" [] "voi" "vostru" "voastră" "voştri" "voastre"
|
"voi" "voi" "vouă" [] "voi" "vostru" "voastră" "voştri" "voastre"
|
||||||
Masc Pl P2 ;
|
Masc Pl P2 ;
|
||||||
|
youPol_Pron = let dvs = mkPronoun "dumneavoastră" "dumneavoastră" "dumneavoastră" [] "dumneavoastră" "dumneavoastră" "dumneavoastră" "dumneavoastră" "dumneavoastră" Masc Pl P2
|
||||||
|
in
|
||||||
|
{s = dvs.s; c1 = dvs.c1;
|
||||||
|
c2 = dvs.c2; a = dvs.a; isPol = True; poss = dvs.poss} ;
|
||||||
|
|
||||||
not_Predet = {s = \\a,c => "nu" ; c = No} ;
|
not_Predet = {s = \\a,c => "nu" ; c = No} ;
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ lin
|
|||||||
};
|
};
|
||||||
a = ag ;
|
a = ag ;
|
||||||
nForm = nf ;
|
nForm = nf ;
|
||||||
|
isPol = False ;
|
||||||
isPronoun = False ;
|
isPronoun = False ;
|
||||||
indForm = det.s ! gg ! No ++ det.size ++cn.s ! det.n ! rs ! ANomAcc
|
indForm = det.s ! gg ! No ++ det.size ++cn.s ! det.n ! rs ! ANomAcc
|
||||||
} ;
|
} ;
|
||||||
@@ -62,7 +62,7 @@ lin
|
|||||||
|
|
||||||
MkSymb s = s ;
|
MkSymb s = s ;
|
||||||
|
|
||||||
BaseSymb = infixSS "ºi" ;
|
BaseSymb = infixSS "și" ;
|
||||||
ConsSymb = infixSS "," ;
|
ConsSymb = infixSS "," ;
|
||||||
|
|
||||||
oper mkSymb : Str -> PN = \ss ->
|
oper mkSymb : Str -> PN = \ss ->
|
||||||
|
|||||||
Reference in New Issue
Block a user