1
0
forked from GitHub/gf-rgl

added AdjCN

This commit is contained in:
Krasimir Angelov
2025-11-06 12:36:28 +01:00
parent 071b2af9c3
commit d833b24509
4 changed files with 22 additions and 10 deletions

View File

@@ -6,13 +6,12 @@ concrete AdjectiveGla of Adjective = CatGla ** open ResGla, Prelude in {
-- : AP -> Adv -> AP ; -- warm by nature -- : AP -> Adv -> AP ; -- warm by nature
AdvAP ap adv = ap ** { AdvAP ap adv = ap ** {
s = ap.s ++ adv.s ; s = \\af => ap.s ! af ++ adv.s ;
voc = \\g => ap.voc ! g ++ adv.s
} ; } ;
-- : A -> AP ; -- : A -> AP ;
--PositA a = a ** { PositA a = a ;
-- compar = [] ;
-- } ;
-- : A -> NP -> AP ; -- : A -> NP -> AP ;
--ComparA a np = a ** { --ComparA a np = a ** {
@@ -45,7 +44,7 @@ concrete AdjectiveGla of Adjective = CatGla ** open ResGla, Prelude in {
-- compar = [] -- compar = []
-- } ; -- } ;
-- AdjOrd : Ord -> AP = -- AdjOrd : Ord -> AP =
AdjOrd ord = ord ; -- AdjOrd ord = ord ;
-- Sentence and question complements defined for all adjectival -- Sentence and question complements defined for all adjectival
-- phrases, although the semantics is only clear for some adjectives. -- phrases, although the semantics is only clear for some adjectives.

View File

@@ -41,7 +41,7 @@ concrete CatGla of Cat = CommonX ** open ResGla, Coordination, Prelude in {
--2 Adjectival phrases --2 Adjectival phrases
-- Constructed in AdjectiveGla. -- Constructed in AdjectiveGla.
AP = SS ; AP = LinAP ;
--2 Nouns and noun phrases --2 Nouns and noun phrases

View File

@@ -168,10 +168,14 @@ concrete NounGla of Noun = CatGla ** open ResGla, Prelude in {
-- : N3 -> N2 ; -- distance (to Paris) -- : N3 -> N2 ; -- distance (to Paris)
Use3N3 n3 = lin N2 n3 ; Use3N3 n3 = lin N2 n3 ;
-}
-- : AP -> CN -> CN -- : AP -> CN -> CN
AdjCN ap cn = AdjCN ap cn = {
s = \\c,s,n => cn.s ! c ! s ! n ++ ap.s ! aform c n cn.g ;
voc = \\n => cn.voc ! n ++ ap.voc ! cn.g ;
g = cn.g
} ;
{-
-- : CN -> RS -> CN ; -- : CN -> RS -> CN ;
RelCN cn rs = RelCN cn rs =

View File

@@ -44,6 +44,7 @@ oper
oper oper
LinN : Type = {s: Case => Species => Number => Str; voc: Number => Str; g: Gender} ; LinN : Type = {s: Case => Species => Number => Str; voc: Number => Str; g: Gender} ;
mk5N : (_,_,_,_,_ : Str) -> Gender -> LinN ;
mk5N nom dat gen pl pal g = mk5N nom dat gen pl pal g =
{ s = table { { s = table {
Nom _ => table { Nom _ => table {
@@ -426,6 +427,13 @@ oper
param param
AForm = ASg Case Gender | APl ; AForm = ASg Case Gender | APl ;
oper
aform : Case -> Number -> Gender -> AForm =
\c,n,g -> case n of {
Sg => ASg c g ;
Pl => APl
} ;
oper oper
LinA : Type = {s: AForm => Str; voc: Gender => Str; compar: Str} ; -- 686 LinA : Type = {s: AForm => Str; voc: Gender => Str; compar: Str} ; -- 686
oper mkAdj : (_,_,_,_,_,_,_,_,_,_ : Str) -> LinA = oper mkAdj : (_,_,_,_,_,_,_,_,_,_ : Str) -> LinA =
@@ -448,7 +456,8 @@ oper
LinA2 : Type = LinA ; LinA2 : Type = LinA ;
LinAP : Type = LinA ; -- ** {compar : Str} ; LinAP : Type = {s: AForm => Str; voc: Gender => Str} ; -- 686
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
-- Verbs -- Verbs