forked from GitHub/gf-rgl
added AdjCN
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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 =
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user