forked from GitHub/gf-rgl
automatic negation of with_Prep
This commit is contained in:
@@ -24,8 +24,12 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
s = det.s ! True ! cn.g ! role ++ cn.s ! nf
|
s = det.s ! True ! cn.g ! role ++ cn.s ! nf
|
||||||
in case role of {
|
in case role of {
|
||||||
RObj Dat => "íà" ++ s;
|
RObj Dat => "íà" ++ s;
|
||||||
_ => s
|
RObj WithPrep => case det.p of {
|
||||||
|
Pos => with_Word ++ s ;
|
||||||
|
Neg => "áåç" ++ s
|
||||||
|
} ;
|
||||||
|
_ => s
|
||||||
} ;
|
} ;
|
||||||
a = {gn = gennum cn.g (numnnum det.nn); p = P3} ;
|
a = {gn = gennum cn.g (numnnum det.nn); p = P3} ;
|
||||||
p = det.p
|
p = det.p
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ concrete RelativeBul of Relative = CatBul ** open ResBul in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
FunRP p np rp = {
|
FunRP p np rp = {
|
||||||
s = \\gn => np.s ! RObj Acc ++ p.s ++ (case p.c of {Acc => []; Dat => "íà"}) ++ rp.s ! gn ;
|
s = \\gn => np.s ! RObj Acc ++ p.s ++ (case p.c of {Acc => []; Dat => "íà"; WithPrep => with_Word}) ++ rp.s ! gn ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
IdRP = {
|
IdRP = {
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ resource ResBul = ParamX ** open Prelude, Predef in {
|
|||||||
|
|
||||||
param
|
param
|
||||||
Role = RSubj | RObj Case | RVoc ;
|
Role = RSubj | RObj Case | RVoc ;
|
||||||
Case = Acc | Dat;
|
Case = Acc | Dat | WithPrep ;
|
||||||
|
|
||||||
NForm =
|
NForm =
|
||||||
NF Number Species
|
NF Number Species
|
||||||
@@ -361,42 +361,58 @@ resource ResBul = ParamX ** open Prelude, Predef in {
|
|||||||
verbBe : Verb = {s=\\_=>auxBe ; vtype=VNormal} ;
|
verbBe : Verb = {s=\\_=>auxBe ; vtype=VNormal} ;
|
||||||
verbWould : Verb = {s=\\_=>auxWould ; vtype=VNormal} ;
|
verbWould : Verb = {s=\\_=>auxWould ; vtype=VNormal} ;
|
||||||
|
|
||||||
reflClitics : Case => Str = table {Acc => "ñå"; Dat => "ñè"} ;
|
reflClitics : Case => Str = table {Acc => "ñå"; Dat => "ñè"; WithPrep => with_Word ++ "ñåáå ñè"} ;
|
||||||
|
|
||||||
personalClitics : Case => GenNum => Person => Str =
|
personalClitics : Case => GenNum => Person => Str =
|
||||||
table {
|
table {
|
||||||
Acc => table {
|
Acc => table {
|
||||||
GSg g => table {
|
GSg g => table {
|
||||||
P1 => "ìå" ;
|
P1 => "ìå" ;
|
||||||
P2 => "òå" ;
|
P2 => "òå" ;
|
||||||
P3 => case g of {
|
P3 => case g of {
|
||||||
Masc => "ãî" ;
|
Masc => "ãî" ;
|
||||||
Fem => "ÿ" ;
|
Fem => "ÿ" ;
|
||||||
Neut => "ãî"
|
Neut => "ãî"
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
GPl => table {
|
GPl => table {
|
||||||
P1 => "íè" ;
|
P1 => "íè" ;
|
||||||
P2 => "âè" ;
|
P2 => "âè" ;
|
||||||
P3 => "ãè"
|
P3 => "ãè"
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
Dat => table {
|
Dat => table {
|
||||||
GSg g => table {
|
GSg g => table {
|
||||||
P1 => "ìè" ;
|
P1 => "ìè" ;
|
||||||
P2 => "òè" ;
|
P2 => "òè" ;
|
||||||
P3 => case g of {
|
P3 => case g of {
|
||||||
Masc => "ìó" ;
|
Masc => "ìó" ;
|
||||||
Fem => "é" ;
|
Fem => "é" ;
|
||||||
Neut => "ìó"
|
Neut => "ìó"
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
GPl => table {
|
GPl => table {
|
||||||
P1 => "íè" ;
|
P1 => "íè" ;
|
||||||
P2 => "âè" ;
|
P2 => "âè" ;
|
||||||
P3 => "èì"
|
P3 => "èì"
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
WithPrep => table {
|
||||||
|
GSg g => table {
|
||||||
|
P1 => with_Word ++ "ìåí" ;
|
||||||
|
P2 => with_Word ++ "òåá" ;
|
||||||
|
P3 => case g of {
|
||||||
|
Masc => with_Word ++ "íåãî" ;
|
||||||
|
Fem => with_Word ++ "íåÿ" ;
|
||||||
|
Neut => with_Word ++ "íåãî"
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
GPl => table {
|
||||||
|
P1 => with_Word ++ "íàñ" ;
|
||||||
|
P2 => with_Word ++ "âàñ" ;
|
||||||
|
P3 => with_Word ++ "òÿõ"
|
||||||
|
}
|
||||||
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ia2e : Str -> Str = -- to be used when the next syllable has vowel different from "à","ú","î" or "ó"
|
ia2e : Str -> Str = -- to be used when the next syllable has vowel different from "à","ú","î" or "ó"
|
||||||
@@ -647,14 +663,20 @@ resource ResBul = ParamX ** open Prelude, Predef in {
|
|||||||
mkIP : Str -> Str -> GenNum -> {s : Role => QForm => Str ; gn : GenNum} =
|
mkIP : Str -> Str -> GenNum -> {s : Role => QForm => Str ; gn : GenNum} =
|
||||||
\koi,kogo,gn -> {
|
\koi,kogo,gn -> {
|
||||||
s = table {
|
s = table {
|
||||||
RSubj => table QForm [koi; koi+"òî"] ;
|
RSubj => table QForm [koi; koi+"òî"] ;
|
||||||
RObj Acc => table QForm [kogo; kogo+"òî"] ;
|
RObj Acc => table QForm [kogo; kogo+"òî"] ;
|
||||||
RObj Dat => table QForm ["íà" ++ kogo; kogo+"òî"] ;
|
RObj Dat => table QForm ["íà" ++ kogo; "íà" ++ kogo+"òî"] ;
|
||||||
RVoc => table QForm [koi; koi+"òî"]
|
RObj WithPrep => table QForm [with_Word ++ kogo; with_Word ++ kogo+"òî"] ;
|
||||||
|
RVoc => table QForm [koi; koi+"òî"]
|
||||||
} ;
|
} ;
|
||||||
gn = gn
|
gn = gn
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
with_Word : Str
|
||||||
|
= pre { "ñ" ;
|
||||||
|
"ñúñ" / strs {"ñ" ; "ç" ; "Ñ" ; "Ç"}
|
||||||
|
} ;
|
||||||
|
|
||||||
mkPron : (az,men,me,mi,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite : Str) ->
|
mkPron : (az,men,me,mi,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite : Str) ->
|
||||||
GenNum -> Person -> {s : Role => Str;
|
GenNum -> Person -> {s : Role => Str;
|
||||||
clit : Case => Str;
|
clit : Case => Str;
|
||||||
@@ -663,14 +685,16 @@ resource ResBul = ParamX ** open Prelude, Predef in {
|
|||||||
} =
|
} =
|
||||||
\az,men,me,mi,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite,gn,p -> {
|
\az,men,me,mi,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite,gn,p -> {
|
||||||
s = table {
|
s = table {
|
||||||
RSubj => az ;
|
RSubj => az ;
|
||||||
RObj Acc => men ;
|
RObj Acc => men ;
|
||||||
RObj Dat => "íà" ++ men ;
|
RObj Dat => "íà" ++ men ;
|
||||||
RVoc => az
|
RObj WithPrep => with_Word ++ men ;
|
||||||
|
RVoc => az
|
||||||
} ;
|
} ;
|
||||||
clit = table {
|
clit = table {
|
||||||
Acc => me;
|
Acc => me;
|
||||||
Dat => mi
|
Dat => mi;
|
||||||
|
WithPrep => with_Word ++ men
|
||||||
} ;
|
} ;
|
||||||
gen = table {
|
gen = table {
|
||||||
ASg Masc Indef => moj ;
|
ASg Masc Indef => moj ;
|
||||||
@@ -692,10 +716,11 @@ resource ResBul = ParamX ** open Prelude, Predef in {
|
|||||||
mkNP : Str -> GenNum -> Person -> Polarity -> {s : Role => Str; a : Agr; p : Polarity} =
|
mkNP : Str -> GenNum -> Person -> Polarity -> {s : Role => Str; a : Agr; p : Polarity} =
|
||||||
\s,gn,p,pol -> {
|
\s,gn,p,pol -> {
|
||||||
s = table {
|
s = table {
|
||||||
RSubj => s ;
|
RSubj => s ;
|
||||||
RObj Acc => s ;
|
RObj Acc => s ;
|
||||||
RObj Dat => "íà" ++ s ;
|
RObj Dat => "íà" ++ s ;
|
||||||
RVoc => s
|
RObj WithPrep => with_Word ++ s ;
|
||||||
|
RVoc => s
|
||||||
} ;
|
} ;
|
||||||
a = {
|
a = {
|
||||||
gn = gn ;
|
gn = gn ;
|
||||||
|
|||||||
@@ -116,9 +116,7 @@ concrete StructuralBul of Structural = CatBul **
|
|||||||
whoPl_IP = mkIP "êîè" "êîè" GPl ;
|
whoPl_IP = mkIP "êîè" "êîè" GPl ;
|
||||||
why_IAdv = mkIAdv "çàùî" ;
|
why_IAdv = mkIAdv "çàùî" ;
|
||||||
without_Prep = mkPrep "áåç" Acc ;
|
without_Prep = mkPrep "áåç" Acc ;
|
||||||
with_Prep = mkPrep (pre { "ñ" ;
|
with_Prep = mkPrep "" WithPrep ;
|
||||||
"ñúñ" / strs {"ñ" ; "ç" ; "Ñ" ; "Ç"}
|
|
||||||
}) Acc ;
|
|
||||||
yes_Utt = ss "äà" ;
|
yes_Utt = ss "äà" ;
|
||||||
youSg_Pron = mkPron "òè" "òåá" "òå" "òè" "òâîé" "òâîÿ" "òâîÿò" "òâîÿ" "òâîÿòà" "òâîå" "òâîåòî" "òâîè" "òâîèòå" (GSg Masc) P2 ;
|
youSg_Pron = mkPron "òè" "òåá" "òå" "òè" "òâîé" "òâîÿ" "òâîÿò" "òâîÿ" "òâîÿòà" "òâîå" "òâîåòî" "òâîè" "òâîèòå" (GSg Masc) P2 ;
|
||||||
youPl_Pron = mkPron "âèå" "âàñ" "âè" "âè" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" GPl P2 ;
|
youPl_Pron = mkPron "âèå" "âàñ" "âè" "âè" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" GPl P2 ;
|
||||||
|
|||||||
Reference in New Issue
Block a user