mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
@@ -29,11 +29,10 @@ concrete AdjectiveAra of Adjective = CatAra ** open ResAra, Prelude in {
|
|||||||
-- isPre = False
|
-- isPre = False
|
||||||
-- } ;
|
-- } ;
|
||||||
--
|
--
|
||||||
-- SentAP ap sc = {
|
SentAP ap sc = ap ** {
|
||||||
-- s = \\a => ap.s ! a ++ sc.s ;
|
s = \\sp,g,n,st,c => ap.s ! sp ! g ! n ! st ! c ++ sc.s ;
|
||||||
-- isPre = False
|
} ;
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
AdAP ada ap = {
|
AdAP ada ap = {
|
||||||
s = \\sp,g,n,st,c => ap.s ! sp ! g ! n ! st ! c ++ ada.s
|
s = \\sp,g,n,st,c => ap.s ! sp ! g ! n ! st ! c ++ ada.s
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -77,10 +77,11 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in {
|
|||||||
|
|
||||||
-- Open lexical classes, e.g. Lexicon
|
-- Open lexical classes, e.g. Lexicon
|
||||||
|
|
||||||
V, VS, VQ, VA = ResAra.Verb ; -- = {s : VForm => Str} ;
|
V, VQ, VA = ResAra.Verb ; -- = {s : VForm => Str} ;
|
||||||
V2, V2A = ResAra.Verb2 ;
|
V2, V2A = ResAra.Verb2 ;
|
||||||
VV = ResAra.Verb2 ** {sc : Preposition} ; -- c2 is for verb
|
VV = ResAra.Verb2 ** {sc : Preposition} ; -- c2 is for verb
|
||||||
V2S, V2Q = ResAra.Verb2 ;
|
V2S, V2Q = ResAra.Verb2 ;
|
||||||
|
VS = ResAra.Verb ** {o : Order} ;
|
||||||
V3 = ResAra.Verb3 ;
|
V3 = ResAra.Verb3 ;
|
||||||
V2V = ResAra.Verb3 ** {sc : Preposition} ; -- c3 is for verb, c2 is for dir.obj
|
V2V = ResAra.Verb3 ** {sc : Preposition} ; -- c3 is for verb, c2 is for dir.obj
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ oper PredSCVP : SC -> VP -> Cl = notYet "PredSCVP" ;
|
|||||||
oper ProgrVP : VP -> VP = notYet "ProgrVP" ;
|
oper ProgrVP : VP -> VP = notYet "ProgrVP" ;
|
||||||
oper ReflA2 : A2 -> AP = notYet "ReflA2" ;
|
oper ReflA2 : A2 -> AP = notYet "ReflA2" ;
|
||||||
oper ReflVP : VPSlash -> VP = notYet "ReflVP" ;
|
oper ReflVP : VPSlash -> VP = notYet "ReflVP" ;
|
||||||
oper SentAP : AP -> SC -> AP = notYet "SentAP" ;
|
|
||||||
oper SentCN : CN -> SC -> CN = notYet "SentCN" ;
|
oper SentCN : CN -> SC -> CN = notYet "SentCN" ;
|
||||||
oper SlashPrep : Cl -> Prep -> ClSlash = notYet "SlashPrep" ;
|
oper SlashPrep : Cl -> Prep -> ClSlash = notYet "SlashPrep" ;
|
||||||
oper Slash2V3 : V3 -> NP -> VPSlash = notYet "Slash2V3" ;
|
oper Slash2V3 : V3 -> NP -> VPSlash = notYet "Slash2V3" ;
|
||||||
|
|||||||
@@ -6,8 +6,11 @@ flags optimize = all ;--noexpand;
|
|||||||
oper
|
oper
|
||||||
|
|
||||||
mkDet : Str -> Number -> State -> Det
|
mkDet : Str -> Number -> State -> Det
|
||||||
= \word,num,state -> baseQuant **
|
= mkDetDecl True ;
|
||||||
{ s = \\_,_,c => word + caseTbl ! c ;
|
|
||||||
|
mkDetDecl : Bool -> Str -> Number -> State -> Det
|
||||||
|
= \decl,word,num,state -> baseQuant **
|
||||||
|
{ s = \\_,_,c => word + if_then_Str decl (caseTbl ! c) [] ;
|
||||||
n = numberToSize num;
|
n = numberToSize num;
|
||||||
d = state; --only Const is used now. check StructuralAra
|
d = state; --only Const is used now. check StructuralAra
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -362,7 +362,7 @@ resource ParadigmsAra = open
|
|||||||
mkN : (root,sgPatt,brokenPlPatt : Str) -> Gender -> Species -> N -- broken plural
|
mkN : (root,sgPatt,brokenPlPatt : Str) -> Gender -> Species -> N -- broken plural
|
||||||
= brkN ;
|
= brkN ;
|
||||||
mkN : N -> (attr : Str) -> N -- Compound nouns with noninflecting attribute
|
mkN : N -> (attr : Str) -> N -- Compound nouns with noninflecting attribute
|
||||||
= \n,attr -> n ** {s2 = \\n,s,c => attr} ;
|
= \n,attr -> n ** {s2 = \\num,s,c => n.s2 ! num ! s ! c ++ attr} ;
|
||||||
mkN : N -> N -> N -- Compound nouns where attribute inflects in state and case but not number
|
mkN : N -> N -> N -- Compound nouns where attribute inflects in state and case but not number
|
||||||
= attrN Sg ;
|
= attrN Sg ;
|
||||||
mkN : Number -> N -> N -> N -- Compound nouns where attribute inflects in state, case and number
|
mkN : Number -> N -> N -> N -- Compound nouns where attribute inflects in state, case and number
|
||||||
@@ -723,8 +723,8 @@ resource ParadigmsAra = open
|
|||||||
|
|
||||||
dirdirV3 v = dirV3 v (casePrep acc) ;
|
dirdirV3 v = dirV3 v (casePrep acc) ;
|
||||||
|
|
||||||
mkVS v = v ** {lock_VS = <>} ;
|
mkVS v = lin VS (v ** {o = Subord}) ;
|
||||||
mkVQ v = v ** {lock_VQ = <>} ;
|
mkVQ v = lin VQ v ;
|
||||||
|
|
||||||
regVV : V -> VV = \v -> lin VV v ** {c2 = mkPreposition "أَنْ" ; sc = noPrep} ;
|
regVV : V -> VV = \v -> lin VV v ** {c2 = mkPreposition "أَنْ" ; sc = noPrep} ;
|
||||||
c2VV : V -> Str -> VV = \v,prep -> regVV v ** {c2 = mkPreposition prep ; sc = noPrep} ;
|
c2VV : V -> Str -> VV = \v,prep -> regVV v ** {c2 = mkPreposition prep ; sc = noPrep} ;
|
||||||
|
|||||||
@@ -1759,6 +1759,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
|||||||
s = \\_pgn,vf => v.s ! np.a.pgn ! vf -- so we can throw away subject's pgn
|
s = \\_pgn,vf => v.s ! np.a.pgn ! vf -- so we can throw away subject's pgn
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
-- TODO: what to do with vp.c2 if there is no object /IL
|
||||||
complClSlash = overload {
|
complClSlash = overload {
|
||||||
complClSlash : NP -> ClSlash -> Cl = \obj,cls ->
|
complClSlash : NP -> ClSlash -> Cl = \obj,cls ->
|
||||||
predVP (subj2np cls.subj) (insertObj obj cls) ;
|
predVP (subj2np cls.subj) (insertObj obj cls) ;
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra, ParamX in {
|
|||||||
|
|
||||||
-- : VS -> S -> VP ; -- say that she runs
|
-- : VS -> S -> VP ; -- say that she runs
|
||||||
ComplVS vs s = predV vs ** { -- IL
|
ComplVS vs s = predV vs ** { -- IL
|
||||||
obj = emptyObj ** {s = s.s ! Subord}
|
obj = emptyObj ** {s = s.s ! vs.o}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- : VQ -> QS -> VP ; -- wonder who runs
|
-- : VQ -> QS -> VP ; -- wonder who runs
|
||||||
|
|||||||
Reference in New Issue
Block a user