Synchronize ordinals with master

This commit is contained in:
Hans Leiss
2023-12-27 12:18:11 +01:00
8 changed files with 16 additions and 89 deletions

View File

@@ -14,7 +14,8 @@ concrete GrammarAra of Grammar =
TextX - [Utt],
StructuralAra,
IdiomAra,
TenseX - [Utt]
TenseX - [Utt],
NamesAra
** {
flags startcat = Phr ; unlexer = text ; lexer = text ;

View File

@@ -72,13 +72,12 @@ lincat
Det, DAP = {
s : DetTable ;
type : DetType ; -- main purpose is to avoid emptiness of articles, but can be reused later for something else
g : Gender ;
c : Case ;
size : NumSize
} ;
Predet = ResRus.Adjective ** {size : NumSize} ;
IQuant = ResRus.Adjective ** {g: Gender; c: Case} ;
Quant = ResRus.Adjective ** {g: Gender; c: Case; type: DetType} ;
Quant = ResRus.Adjective ** {c: Case; type: DetType} ;
Numeral = NumeralForms ;
Num = NumDet ;
Card = NumDet ;

View File

@@ -15,7 +15,6 @@ concrete ConjunctionRus of Conjunction =
preferShort : ShortFormPreference
} ;
[DAP] = {s1,s2 : DetTable ;
g : Gender ;
c : Case ;
size : NumSize
} ;
@@ -67,7 +66,6 @@ concrete ConjunctionRus of Conjunction =
-- : DAP -> DAP -> ListDAP ; --
BaseDAP x y = twoTable3 Gender Animacy Case x y ** {
g = conjGender x.g y.g ;
c = y.c ;
size = conjSize x.size y.size ; -- different genders -> plural?
} ;

View File

@@ -4,10 +4,6 @@ incomplete concrete DocumentationRusFunctor of Documentation = CatRus ** open
Terminology, -- the interface
ResRus,
ParadigmsRus,
(G = GrammarRus),
(S = SyntaxRus),
(ST = StructuralRus),
(L = LexiconRus),
Prelude,
HTML
in {
@@ -151,85 +147,22 @@ lin
})
} ;
InflectionV v = {
InflectionV, InflectionV2, InflectionV3,
InflectionV2V, InflectionV2S, InflectionV2Q,
InflectionV2A, InflectionVS, InflectionVQ,
InflectionVA = \v -> {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v)) ;
s2 = inflVerb v
} ;
InflectionV2 v = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v S.something_NP)) ;
s2 = inflVerb v
} ;
InflectionV3 v = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v S.something_NP S.something_NP)) ;
s2 = inflVerb v
} ;
InflectionV2V v = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v S.we_NP (S.mkVP (L.sleep_V)))) ;
s2 = inflVerb v
} ;
InflectionV2S v = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v S.we_NP (lin S {s : Mood=>Str = \\m=>"..."}))) ;
s2 = inflVerb v
} ;
InflectionV2Q v = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v S.we_NP (lin QS {s: QForm=>Str = \\m=>"..."}))) ;
s2 = inflVerb v
} ;
InflectionV2A v = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v S.we_NP L.beautiful_A)) ;
s1 = heading1 (heading verb_Category) ;
s2 = inflVerb v
} ;
InflectionVV vv = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP vv (S.mkVP (L.sleep_V)))) ;
s1 = heading1 (heading verb_Category) ;
s2 = inflVerb vv.v
} ;
InflectionVS v = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v (lin S {s : Mood=>Str = \\m=>"..."}))) ;
s2 = inflVerb v
} ;
InflectionVQ v = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v (lin QS {s : Mood=>Str = \\m=>"..."}))) ;
s2 = inflVerb v
} ;
InflectionVA v = {
t = "гл" ;
s1 = heading1 (heading verb_Category) ++
paragraph (verbExample (S.mkCl S.she_NP v L.beautiful_A)) ;
s2 = inflVerb v
} ;
oper
verbExample : CatRus.Cl -> Str = \cl -> (S.mkUtt cl).s ;
{-
-} --# notpresent
inflVerb : CatRus.V -> Str = \v ->

View File

@@ -218,7 +218,7 @@ lin
} ;
UseDAP det =
let g = det.g in {
let g = Neut in {
s=case det.type of {
EmptyIndef => \\cas => a_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ;
EmptyDef => \\cas => the_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ;

View File

@@ -45,7 +45,7 @@ lin
-- : Det -> NP ; -- these five
DetNP det =
let g = det.g in {
let g = Neut in {
s=case det.type of {
EmptyIndef => \\cas => a_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ;
EmptyDef => \\cas => the_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ;
@@ -102,7 +102,7 @@ lin
DetQuantOrd quant num ord = {
s=\\g,a,cas => num.s ! g ! a ! cas
++ quant.s ! (gennum g (numSizeNumber num.size)) ! a ! cas
++ (adjFormsAdjective ord).s ! gennum quant.g (animNumSizeNum Inanimate cas num.size) ! Inanimate ! numSizeCase cas num.size ;
++ (adjFormsAdjective ord).s ! gennum g (animNumSizeNum Inanimate cas num.size) ! Inanimate ! numSizeCase cas num.size ;
type=quant.type ;
g=quant.g ;
c=quant.c ;
@@ -139,7 +139,6 @@ lin
s=mkPronTable pron.poss ;
type=NormalDet ;
short=\\a=>[] ;
g=Neut ;
c=Nom ;
preferShort=PreferFull
} ;
@@ -192,7 +191,7 @@ lin
-- : CN -> NP -> CN ; -- house of Paris, house of mine
PossNP cn np = cn ** {
s=\\n,cas => np.s ! Gen ++ cn.s ! n ! cas ; -- TODO: possessive pronouns P1, P2
s=\\n,cas => cn.s ! n ! cas ++ np.s ! Gen ; -- TODO: possessive pronouns P1, P2
} ;
-- : CN -> NP -> CN ; -- glass of wine - стакан чаю (чая)
@@ -226,7 +225,6 @@ lin
type=EmptyDef ;
short=\\a=>[] ;
c=Nom ;
g=Neut ;
size=Num1 ;
preferShort=PreferFull
} ;
@@ -236,7 +234,6 @@ lin
type=EmptyIndef ;
short=\\a=>[] ;
c=Nom ;
g=Neut ;
size=Num1 ;
preferShort=PreferFull
} ;

View File

@@ -27,21 +27,18 @@ lin
this_Quant = (adjFormsAdjective this_forms) ** {
type=NormalDet ;
preferShort=PreferFull ;
g=Neut ;
c=Nom
} ;
-- : Quant ;
that_Quant = (adjFormsAdjective that_forms) ** {
type=NormalDet ;
preferShort=PreferFull ;
g=Neut ;
c=Nom
} ;
-- : Quant ;
no_Quant = (adjFormsAdjective (makeAdjectiveForms "никакой" "" "3b" PreferFull)) ** {
type=NormalDet ;
preferShort=PreferFull ;
g=Neut ;
c=Nom
} ;

View File

@@ -7,4 +7,6 @@ concrete ExtendTur of Extend = CatTur ** open ResTur in {
a = {n=num.n; p=P3} ;
} ;
TPastSimple = {s = []} ** {t = Past} ; --# notpresent
}