forked from GitHub/gf-rgl
Slavomír's corrections on palatalization and demonstratives
This commit is contained in:
@@ -46,6 +46,14 @@ oper
|
|||||||
_ => stem + long
|
_ => stem + long
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
palatal : Str -> Str = \s -> case s of {
|
||||||
|
x + "ď" => x + "d" ;
|
||||||
|
x + "ť" => x + "t" ;
|
||||||
|
x + "ň" => x + "n" ;
|
||||||
|
x + "ľ" => x + "l" ;
|
||||||
|
_ => s
|
||||||
|
} ;
|
||||||
|
|
||||||
---------------
|
---------------
|
||||||
-- Nouns
|
-- Nouns
|
||||||
---------------
|
---------------
|
||||||
@@ -101,7 +109,7 @@ oper
|
|||||||
= \snom,pgen,g -> case <g, snom, pgen> of {
|
= \snom,pgen,g -> case <g, snom, pgen> of {
|
||||||
<Masc Anim, _ + "a" , _ + "ov"> => hrdinaN snom ;
|
<Masc Anim, _ + "a" , _ + "ov"> => hrdinaN snom ;
|
||||||
<Masc _, _ + ("i"|"y"|"e") , _ + "ov"> => ponyN snom ; ----
|
<Masc _, _ + ("i"|"y"|"e") , _ + "ov"> => ponyN snom ; ----
|
||||||
<Masc Anim, _ , _ + "ov"> => hrdinaN snom ;
|
<Masc Anim, _ , _ + "ov"> => chlapN snom ;
|
||||||
|
|
||||||
<Masc Inanim, _ + #softConsonant, _ + "ov"> => strojN snom ;
|
<Masc Inanim, _ + #softConsonant, _ + "ov"> => strojN snom ;
|
||||||
<Masc Ianim, _ + #hardConsonant, _ + "ov"> => dubN snom ;
|
<Masc Ianim, _ + #hardConsonant, _ + "ov"> => dubN snom ;
|
||||||
@@ -154,7 +162,7 @@ oper
|
|||||||
sdat,sloc = chlap + "ovi" ;
|
sdat,sloc = chlap + "ovi" ;
|
||||||
sins = chlap + "om" ;
|
sins = chlap + "om" ;
|
||||||
|
|
||||||
pnom = chlap + "i" ;
|
pnom = palatal chlap + "i" ;
|
||||||
pgen,pacc = chlap + "ov" ;
|
pgen,pacc = chlap + "ov" ;
|
||||||
pdat = chlap + "om" ;
|
pdat = chlap + "om" ;
|
||||||
ploc = chlap + "och" ;
|
ploc = chlap + "och" ;
|
||||||
@@ -199,7 +207,8 @@ oper
|
|||||||
g = Masc Inanim
|
g = Masc Inanim
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
strojN : DeclensionType = \stroj ->
|
strojN : DeclensionType = \stroj ->
|
||||||
|
let pstroj = palatal stroj in
|
||||||
{
|
{
|
||||||
snom = stroj ;
|
snom = stroj ;
|
||||||
sgen = stroj + "a" ;
|
sgen = stroj + "a" ;
|
||||||
@@ -208,9 +217,9 @@ oper
|
|||||||
sloc = stroj + "i" ;
|
sloc = stroj + "i" ;
|
||||||
sins = stroj + "om" ;
|
sins = stroj + "om" ;
|
||||||
|
|
||||||
pnom = stroj + "e" ;
|
pnom = pstroj + "e" ;
|
||||||
pgen = stroj + "ov" ;
|
pgen = stroj + "ov" ;
|
||||||
pdat = stroj + "om" ;
|
pdat = pstroj + "om" ;
|
||||||
pacc = stroj + "e" ;
|
pacc = stroj + "e" ;
|
||||||
ploc = stroj + "och" ;
|
ploc = stroj + "och" ;
|
||||||
pins = stroj + "mi" ;
|
pins = stroj + "mi" ;
|
||||||
@@ -271,49 +280,53 @@ oper
|
|||||||
ulíc : Str = case ulic of {
|
ulíc : Str = case ulic of {
|
||||||
ul + "i" + c@? => ul + "í" + c ;
|
ul + "i" + c@? => ul + "í" + c ;
|
||||||
_ => ulic
|
_ => ulic
|
||||||
}
|
} ;
|
||||||
|
pulic = palatal ulic ;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
snom = ulica ;
|
snom = ulica ;
|
||||||
sgen = ulic + "e" ;
|
sgen = pulic + "e" ;
|
||||||
sdat = ulic + "i" ;
|
sdat = pulic + "i" ;
|
||||||
sacc = ulic + "u" ;
|
sacc = ulic + "u" ;
|
||||||
sloc = ulic + "i" ;
|
sloc = pulic + "i" ;
|
||||||
sins = ulic + "ou" ;
|
sins = ulic + "ou" ;
|
||||||
|
|
||||||
pnom = ulic + "e" ;
|
pnom = pulic + "e" ;
|
||||||
pgen = ulíc ;
|
pgen = ulíc ;
|
||||||
pdat = ulic + "iam" ;
|
pdat = ulic + "iam" ;
|
||||||
pacc = ulic + "e" ;
|
pacc = pulic + "e" ;
|
||||||
ploc = ulic + "iach" ;
|
ploc = pulic + "iach" ;
|
||||||
pins = ulic + "ami" ;
|
pins = ulic + "ami" ;
|
||||||
|
|
||||||
g = Fem
|
g = Fem
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
dlanN : Str -> DeclensionType = \dlanj,dlani ->
|
dlanN : Str -> DeclensionType = \dlanj,dlani ->
|
||||||
let dlan : Str = init dlani
|
let
|
||||||
|
dlan : Str = init dlani ;
|
||||||
|
pdlan = palatal dlan ;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
snom = dlanj ;
|
snom = dlanj ;
|
||||||
sgen = dlan + "e" ;
|
sgen = pdlan + "e" ;
|
||||||
sdat = dlan + "i" ;
|
sdat = pdlan + "i" ;
|
||||||
sacc = dlanj ;
|
sacc = dlanj ;
|
||||||
sloc = dlan + "i" ;
|
sloc = pdlan + "i" ;
|
||||||
sins = dlanj + "ou" ;
|
sins = dlanj + "ou" ;
|
||||||
|
|
||||||
pnom = dlan + "e" ;
|
pnom = pdlan + "e" ;
|
||||||
pgen = dlani ;
|
pgen = dlani ;
|
||||||
pdat = dlan + "iam" ;
|
pdat = pdlan + "iam" ;
|
||||||
pacc = dlan + "e" ;
|
pacc = pdlan + "e" ;
|
||||||
ploc = dlan + "iach" ;
|
ploc = pdlan + "iach" ;
|
||||||
pins = dlanj + "ami" ;
|
pins = dlanj + "ami" ;
|
||||||
|
|
||||||
g = Fem
|
g = Fem
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
kostN : Str -> DeclensionType = \kost',kosti ->
|
kostN : Str -> DeclensionType = \kost',kosti ->
|
||||||
let kost = init kosti
|
let
|
||||||
|
kost = init kosti ;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
snom = kost' ;
|
snom = kost' ;
|
||||||
@@ -340,7 +353,8 @@ oper
|
|||||||
m + "e" + c@(? | (? + ?)) => m + "ie" + c ;
|
m + "e" + c@(? | (? + ?)) => m + "ie" + c ;
|
||||||
_ => mest ---- TODO: many more rules
|
_ => mest ---- TODO: many more rules
|
||||||
} ;
|
} ;
|
||||||
mesta = addAccented mest "á" "a"
|
mesta = addAccented mest "á" "a" ;
|
||||||
|
pmest = palatal mest ;
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@@ -348,7 +362,7 @@ oper
|
|||||||
sgen = mest + "a" ;
|
sgen = mest + "a" ;
|
||||||
sdat = mest + "u" ;
|
sdat = mest + "u" ;
|
||||||
sacc = mesto ;
|
sacc = mesto ;
|
||||||
sloc = mest + "e" ;
|
sloc = pmest + "e" ;
|
||||||
sins = mest + "om" ;
|
sins = mest + "om" ;
|
||||||
|
|
||||||
pnom = mesta ;
|
pnom = mesta ;
|
||||||
@@ -362,21 +376,23 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
srdceN : DeclensionType = \srdce ->
|
srdceN : DeclensionType = \srdce ->
|
||||||
let srdc = init srdce
|
let
|
||||||
|
srdc = init srdce ;
|
||||||
|
psrdc = palatal srdc ;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
snom = srdce ;
|
snom = srdce ;
|
||||||
sgen = srdc + "a" ;
|
sgen = srdc + "a" ;
|
||||||
sdat = srdc + "u" ;
|
sdat = srdc + "u" ;
|
||||||
sacc = srdce ;
|
sacc = srdce ;
|
||||||
sloc = srdc + "i" ;
|
sloc = psrdc + "i" ;
|
||||||
sins = srdc + "om" ;
|
sins = srdc + "om" ;
|
||||||
|
|
||||||
pnom = srdc + "ia" ;
|
pnom = psrdc + "ia" ;
|
||||||
pgen = srdc ; ---- TODO sŕdc
|
pgen = srdc ; ---- TODO sŕdc
|
||||||
pdat = srdc + "iam" ;
|
pdat = psrdc + "iam" ;
|
||||||
pacc = srdc + "ia" ;
|
pacc = psrdc + "ia" ;
|
||||||
ploc = srdc + "iach" ;
|
ploc = psrdc + "iach" ;
|
||||||
pins = srdc + "ami" ;
|
pins = srdc + "ami" ;
|
||||||
|
|
||||||
g = Neutr
|
g = Neutr
|
||||||
@@ -541,37 +557,41 @@ adjFormsAdjective : AdjForms -> Adjective = \afs -> {
|
|||||||
-- soft consonant + i
|
-- soft consonant + i
|
||||||
|
|
||||||
cudziA : Str -> AdjForms = \cudzi ->
|
cudziA : Str -> AdjForms = \cudzi ->
|
||||||
let cudz = init cudzi
|
let
|
||||||
|
cudz = init cudzi ;
|
||||||
|
pcudz = palatal cudz ;
|
||||||
in {
|
in {
|
||||||
msnom = cudz + "í" ;
|
msnom = pcudz + "í" ;
|
||||||
fsnom = cudz + "ia" ;
|
fsnom = pcudz + "ia" ;
|
||||||
nsnom = cudz + "ie" ;
|
nsnom = pcudz + "ie" ;
|
||||||
msgen = cudz + "ieho" ;
|
msgen = pcudz + "ieho" ;
|
||||||
fsgen = cudz + "ej" ;
|
fsgen = pcudz + "ej" ;
|
||||||
msdat = cudz + "iemu" ;
|
msdat = pcudz + "iemu" ;
|
||||||
fsacc = cudz + "iu" ;
|
fsacc = pcudz + "iu" ;
|
||||||
msloc = cudz + "om" ;
|
msloc = cudz + "om" ;
|
||||||
msins = cudz + "ím" ;
|
msins = pcudz + "ím" ;
|
||||||
fsins = cudz + "ou" ;
|
fsins = cudz + "ou" ;
|
||||||
ampnom = cudz + "í" ;
|
ampnom = pcudz + "í" ;
|
||||||
pgen = cudz + "ích" ;
|
pgen = pcudz + "ích" ;
|
||||||
pins = cudz + "ími" ;
|
pins = pcudz + "ími" ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- accented vowel + soft consonant + i
|
-- accented vowel + soft consonant + i
|
||||||
rydziA : Str -> AdjForms = \rydzi ->
|
rydziA : Str -> AdjForms = \rydzi ->
|
||||||
let rydz = init rydzi
|
let
|
||||||
|
rydz = init rydzi ;
|
||||||
|
prydz = palatal rydz ;
|
||||||
in peknyA rydzi ** {
|
in peknyA rydzi ** {
|
||||||
msnom = rydz + "i" ;
|
msnom = prydz + "i" ;
|
||||||
fsnom = rydz + "a" ;
|
fsnom = rydz + "a" ;
|
||||||
nsnom = rydz + "e" ;
|
nsnom = prydz + "e" ;
|
||||||
msgen = rydz + "eho" ;
|
msgen = prydz + "eho" ;
|
||||||
msdat = rydz + "emu" ;
|
msdat = prydz + "emu" ;
|
||||||
fsacc = rydz + "u" ;
|
fsacc = rydz + "u" ;
|
||||||
msins = rydz + "im" ;
|
msins = prydz + "im" ;
|
||||||
ampnom = rydz + "i" ;
|
ampnom = prydz + "i" ;
|
||||||
pgen = rydz + "ich" ;
|
pgen = prydz + "ich" ;
|
||||||
pins = rydz + "imi" ;
|
pins = prydz + "imi" ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- masculine possession: the same endings as in feminine
|
-- masculine possession: the same endings as in feminine
|
||||||
@@ -594,7 +614,9 @@ adjFormsAdjective : AdjForms -> Adjective = \afs -> {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
paviA : Str -> AdjForms = \pavi ->
|
paviA : Str -> AdjForms = \pavi ->
|
||||||
let pav = init pavi in {
|
let
|
||||||
|
pav = init pavi ;
|
||||||
|
in {
|
||||||
msnom = pav + "í" ;
|
msnom = pav + "í" ;
|
||||||
fsnom = pav + "ia" ;
|
fsnom = pav + "ia" ;
|
||||||
nsnom = pav + "ie" ;
|
nsnom = pav + "ie" ;
|
||||||
@@ -837,6 +859,24 @@ oper
|
|||||||
pdat = jedn + "ým" ;
|
pdat = jedn + "ým" ;
|
||||||
pins = jedn + "ými" ;
|
pins = jedn + "ými" ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
tenDemPronForms : Str -> DemPronForms = \tam -> {
|
||||||
|
msnom = tam + "ten" ;
|
||||||
|
fsnom = tam + "tá" ;
|
||||||
|
nsnom = tam + "to" ;
|
||||||
|
msgen = tam + "toho" ;
|
||||||
|
fsgen = tam + "tej" ;
|
||||||
|
msdat = tam + "tomu" ;
|
||||||
|
fsacc = tam + "tú" ;
|
||||||
|
msloc = tam + "tom" ;
|
||||||
|
msins = tam + "tým" ;
|
||||||
|
fsins = tam + "tou" ;
|
||||||
|
ampnom = tam + "tí" ;
|
||||||
|
fpnom = tam + "tie" ;
|
||||||
|
pgen = tam + "tých" ;
|
||||||
|
pdat = tam + "tým" ;
|
||||||
|
pins = tam + "tými" ;
|
||||||
|
} ;
|
||||||
|
|
||||||
invarDemPronForms : Str -> DemPronForms = \s -> {
|
invarDemPronForms : Str -> DemPronForms = \s -> {
|
||||||
msnom, fsnom, nsnom, msgen, fsgen,
|
msnom, fsnom, nsnom, msgen, fsgen,
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ lin
|
|||||||
somePl_Det = {s = \\g,c => (demPronFormsAdjective (mkDemPronForms "niektor") "").s ! g ! Pl ! c ; size = Num5} ;
|
somePl_Det = {s = \\g,c => (demPronFormsAdjective (mkDemPronForms "niektor") "").s ! g ! Pl ! c ; size = Num5} ;
|
||||||
something_NP = {s,clit,prep = \\c => "nie" + coForms ! c ; a = Ag Neutr Sg P3 ; hasClit = False} ; -- CEG 5.6.3
|
something_NP = {s,clit,prep = \\c => "nie" + coForms ! c ; a = Ag Neutr Sg P3 ; hasClit = False} ; -- CEG 5.6.3
|
||||||
possess_Prep = mkPrep "" Gen ;
|
possess_Prep = mkPrep "" Gen ;
|
||||||
that_Quant = demPronFormsAdjective (mkDemPronForms "tamt") "" ;
|
that_Quant = demPronFormsAdjective (tenDemPronForms "tam") "" ;
|
||||||
this_Quant = demPronFormsAdjective (mkDemPronForms "ten") "to" ;
|
this_Quant = demPronFormsAdjective (tenDemPronForms "" ** {msgen = "toh"}) "to" ;
|
||||||
to_Prep = mkPrep "do" Gen ;
|
to_Prep = mkPrep "do" Gen ;
|
||||||
with_Prep = mkPrep (pre {"s" => "so" ; _ => "s"}) Ins ;
|
with_Prep = mkPrep (pre {"s" => "so" ; _ => "s"}) Ins ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user