1
0
forked from GitHub/gf-core

rename Dt to Species like in Swedish

This commit is contained in:
krasimir
2008-02-19 10:32:08 +00:00
parent 27df450a26
commit f3024fa714
4 changed files with 35 additions and 35 deletions

View File

@@ -19,7 +19,7 @@ concrete CatBul of Cat = CommonX ** open ResBul, Prelude in {
QCl = {s : ResBul.Tense => Anteriority => Polarity => QForm => Str} ;
IP = {s : Str ; gn : GenNum} ;
IComp = {s : Str} ;
IDet = {s : Gender => Str ; n : Number; det : Dt} ;
IDet = {s : Gender => Str ; n : Number; spec : Species} ;
-- Verb
@@ -33,11 +33,11 @@ concrete CatBul of Cat = CommonX ** open ResBul, Prelude in {
-- Noun
CN = {s : Number => Case => Dt => Str; g : Gender} ;
CN = {s : Number => Case => Species => Str; g : Gender} ;
NP, Pron = {s : Case => Str ; a : Agr} ;
Det = {s : Gender => Str ; n : Number; det : Dt} ;
Det = {s : Gender => Str ; n : Number; spec : Species} ;
Num = {s : Str; n : Number } ;
Quant = {s : AForm => Str; det : Dt} ;
Quant = {s : AForm => Str; spec : Species} ;
-- Structural

View File

@@ -15,20 +15,20 @@ resource MorphoBul = ResBul ** open Prelude, (Predef=Predef) in {
oper
--2 Determiners
mkDeterminerSg : Str -> Str -> Str -> {s : Gender => Str; n : Number; det : Dt} = \vseki,vsiaka,vsiako ->
{s = table Gender [vseki;vsiaka;vsiako]; n = Sg; det = NDet} ;
mkDeterminerPl : Str -> {s : Gender => Str ; n : Number; det : Dt} = \vsicki ->
{s = \\_ => vsicki; n = Sg; det = NDet} ;
mkDeterminerSg : Str -> Str -> Str -> {s : Gender => Str; n : Number; spec : Species} = \vseki,vsiaka,vsiako ->
{s = table Gender [vseki;vsiaka;vsiako]; n = Sg; spec = Indef} ;
mkDeterminerPl : Str -> {s : Gender => Str ; n : Number; spec : Species} = \vsicki ->
{s = \\_ => vsicki; n = Sg; spec = Indef} ;
mkQuant : Str -> Str -> Str -> Str -> {s : AForm => Str; det : Dt} = \tozi,tazi,towa,tezi -> {
mkQuant : Str -> Str -> Str -> Str -> {s : AForm => Str; spec : Species} = \tozi,tazi,towa,tezi -> {
s = \\gn => case gn of {
ASg Masc _ => tozi ;
ASg Fem _ => tazi ;
ASg Neut _ => towa ;
APl _ => tezi ;
AFullDet => tozi
AFullDef => tozi
};
det = NDet
spec = Indef
} ;
}

View File

@@ -4,44 +4,44 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
lin
DetCN det cn =
{ s = \\c => det.s ! cn.g ++ cn.s ! det.n ! c ! det.det ;
{ s = \\c => det.s ! cn.g ++ cn.s ! det.n ! c ! det.spec ;
a = agrP3 (gennum cn.g det.n)
} ;
UsePron p = p ;
DetSg quant ord = {
s = \\g => quant.s ! ASg g NDet ++ ord.s ;
s = \\g => quant.s ! ASg g Indef ++ ord.s ;
n = Sg ;
det=quant.det
spec=quant.spec
} ;
DetPl quant num ord = {
s = \\g => quant.s ! aformGenNum (gennum g num.n) ++ num.s ++ ord.s ;
n = num.n ;
det=quant.det
spec=quant.spec
} ;
PossPron p = {s = \\aform => p.s ! Gen aform; det = NDet} ;
PossPron p = {s = \\aform => p.s ! Gen aform; spec = Indef} ;
NoNum = {s = []; n = Pl } ;
NoOrd = {s = []} ;
DefArt = {
s = \\_ => [] ;
det = ResBul.Det
spec = ResBul.Def
} ;
IndefArt = {
s = \\_ => [] ;
det = ResBul.NDet
spec = ResBul.Indef
} ;
MassDet = {s = \\_ => [] ; n = Sg ; det = NDet} ;
MassDet = {s = \\_ => [] ; n = Sg ; spec = Indef} ;
UseN noun = {
s = \\n,c,dt => let aform = case n of {
Sg => case <noun.g,c,dt> of {
<Masc,Nom,Det> => AFullDet ;
<Masc,Nom,Def> => AFullDef ;
_ => ASg noun.g dt
} ;
Pl => APl dt

View File

@@ -30,8 +30,8 @@ resource ResBul = ParamX ** open Prelude in {
param
Gender = Masc | Fem | Neut ;
Dt = NDet | Det ;
Species = Indef | Def ;
-- The plural never makes a gender distinction.
--2 For $Verb$
@@ -55,9 +55,9 @@ resource ResBul = ParamX ** open Prelude in {
--2 For $Adjective$
AForm =
ASg Gender Dt
| APl Dt
| AFullDet
ASg Gender Species
| APl Species
| AFullDef
;
--2 Transformations between parameter types
@@ -80,8 +80,8 @@ resource ResBul = ParamX ** open Prelude in {
aformGenNum : GenNum -> AForm = \gn ->
case gn of {
GSg g => ASg g NDet ;
GPl => APl NDet
GSg g => ASg g Indef ;
GPl => APl Indef
} ;
oper
@@ -190,15 +190,15 @@ resource ResBul = ParamX ** open Prelude in {
mkAdjective : (_,_,_,_,_,_,_,_,_ : Str) -> {s : AForm => Str} =
\dobyr,dobria,dobriat,dobra,dobrata,dobro,dobroto,dobri,dobrite -> {
s = table {
ASg Masc NDet => dobyr ;
ASg Masc Det => dobria ;
AFullDet => dobriat ;
ASg Fem NDet => dobra ;
ASg Fem Det => dobrata ;
ASg Neut NDet => dobro ;
ASg Neut Det => dobroto ;
ASg Masc Indef => dobyr ;
ASg Masc Def => dobria ;
AFullDef => dobriat ;
ASg Fem Indef => dobra ;
ASg Fem Def => dobrata ;
ASg Neut Indef => dobro ;
ASg Neut Def => dobroto ;
APl NDet => dobri ;
APl Det => dobrite
APl Def => dobrite
}
} ;