mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-24 03:52:50 -06:00
added nominative determiner for numerals
This commit is contained in:
@@ -21,12 +21,14 @@ lin pot01 =
|
||||
{s = table {
|
||||
unit => table {
|
||||
NCard DMascIndef => "åäèí" ;
|
||||
NCard DMascPersonal Indef => "åäèí" ;
|
||||
NCard DFem Indef => "åäíà" ;
|
||||
NCard DNeut Indef => "åäíî" ;
|
||||
NCard DMascDef => "åäèíèÿ" ;
|
||||
NCard DMascNomDef => "åäèíèÿò" ;
|
||||
NCard DMascPersonalIndef => "åäèí" ;
|
||||
NCard DMascPersonalDef => "åäèíèÿ" ;
|
||||
NCard DMascPersonalNomDef => "åäèíèÿò" ;
|
||||
NCard DFemIndef => "åäíà" ;
|
||||
NCard DFemDef => "åäíàòà" ;
|
||||
NCard DNeutIndef => "åäíî" ;
|
||||
NCard DNeutDef => "åäíîòî" ;
|
||||
NOrd aform => (mkAdjective "ïúðâè"
|
||||
"ïúðâèÿ"
|
||||
@@ -117,7 +119,7 @@ lin pot3plus n m = {
|
||||
mkDig : Str -> TDigit = \c -> mk2Dig c (c + "òè") ;
|
||||
|
||||
mk3Dig : Str -> Str -> Number -> TDigit = \c,o,n -> {
|
||||
s = table {NCard _ _ => c ; NOrd aform => (regAdjective o).s ! aform} ;
|
||||
s = table {NCard _ => c ; NOrd aform => (regAdjective o).s ! aform} ;
|
||||
n = n
|
||||
} ;
|
||||
|
||||
|
||||
@@ -62,7 +62,19 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
|
||||
--2 For $Numeral$
|
||||
|
||||
DGender = DMasc | DMascPersonal | DFem | DNeut ;
|
||||
DGenderSpecies =
|
||||
DMascIndef
|
||||
| DMascDef
|
||||
| DMascNomDef
|
||||
| DMascPersonalIndef
|
||||
| DMascPersonalDef
|
||||
| DMascPersonalNomDef
|
||||
| DFemIndef
|
||||
| DFemDef
|
||||
| DNeutIndef
|
||||
| DNeutDef
|
||||
;
|
||||
|
||||
CardOrd = NCard DGenderSpecies | NOrd AForm ;
|
||||
DForm = unit | teen | ten | hundred ;
|
||||
|
||||
@@ -320,12 +332,7 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
mkCardOrd : Str -> Str -> Str -> Str -> CardOrd => Str =
|
||||
\dva, dvama, dve, vtori ->
|
||||
table {
|
||||
NCard dg Indef => digitGender dva dvama dve ! dg ;
|
||||
NCard dg Def => case digitGender dva dvama dve ! dg of {
|
||||
dves+"òà" => dves+"òàòå" ;
|
||||
dv+"à" => dv+"àòà" ;
|
||||
x => x+"òå"
|
||||
} ;
|
||||
NCard dg => digitGender dva dvama dve ! dg ;
|
||||
NOrd aform => let vtora = init vtori + "à" ;
|
||||
vtoro = init vtori + "î"
|
||||
in (mkAdjective vtori
|
||||
@@ -339,12 +346,25 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
(vtori+"òå")).s ! aform
|
||||
} ;
|
||||
|
||||
digitGender : Str -> Str -> Str -> DGender => Str =
|
||||
digitGender : Str -> Str -> Str -> DGenderSpecies => Str =
|
||||
\dva, dvama, dve
|
||||
-> table {
|
||||
DMasc => dva ;
|
||||
DMascPersonal => dvama ;
|
||||
_ => dve
|
||||
-> let addDef : Str -> Str =
|
||||
\s -> case s of {
|
||||
dves+"òà" => dves+"òàòå" ;
|
||||
dv+"à" => dv+"àòà" ;
|
||||
x => x+"òå"
|
||||
}
|
||||
in table {
|
||||
DMascIndef => dva ;
|
||||
DMascDef => addDef dva ;
|
||||
DMascNomDef => addDef dva ;
|
||||
DMascPersonalIndef => dvama ;
|
||||
DMascPersonalDef => addDef dvama ;
|
||||
DMascPersonalNomDef => addDef dvama ;
|
||||
DFemIndef => dve ;
|
||||
DFemDef => addDef dve ;
|
||||
DNeutIndef => dve ;
|
||||
DNeutDef => addDef dve
|
||||
} ;
|
||||
|
||||
mkIP : Str -> GenNum -> {s : Str ; gn : GenNum} =
|
||||
|
||||
Reference in New Issue
Block a user