mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-22 17:56:21 -06:00
use consistent lin X everywhere
This commit is contained in:
@@ -31,15 +31,15 @@ lin
|
||||
|
||||
monthAdv january =
|
||||
let january_CN : CN = mkCN month_Timeunit (mkNP (mkPN january)) ;
|
||||
january_NP : NP = R.emptyNP **
|
||||
january_NP : NP = lin NP R.emptyNP **
|
||||
{s = \\c => R.cn2str january_CN R.Sg R.Const c ;
|
||||
a = {pgn = R.Per3 january_CN.g R.Sg ; isPron = False}} ;
|
||||
in SyntaxAra.mkAdv R.biPrep january_NP ;
|
||||
in SyntaxAra.mkAdv ParadigmsAra.biPrep january_NP ;
|
||||
|
||||
yearAdv y = SyntaxAra.mkAdv in_Prep y ;
|
||||
|
||||
-- dummy
|
||||
dayMonthAdv d m = SyntaxAra.mkAdv on_Prep (mkNP d) ; -- on 17 May
|
||||
dayMonthAdv d m = SyntaxAra.mkAdv on_Prep (mkNP m) ; -- on 17 May
|
||||
monthYearAdv m y = SyntaxAra.mkAdv on_Prep (mkNP m) ; -- in May 2012
|
||||
dayMonthYearAdv d m y = SyntaxAra.mkAdv on_Prep y ; -- on 17 May 2013
|
||||
|
||||
@@ -51,7 +51,7 @@ lin
|
||||
let ap = mkAP a in ap ** {
|
||||
s = \\s,g,n,d,c =>
|
||||
ap.s ! s ! g ! n ! d ! c
|
||||
++ (mkAdv R.biPrep (mkNP amount_N)).s
|
||||
++ (mkAdv ParadigmsAra.biPrep (mkNP amount_N)).s
|
||||
++ (mkNP card cn).s ! R.Bare ---- ? /IL
|
||||
} ;
|
||||
|
||||
@@ -60,26 +60,26 @@ oper
|
||||
amount_N : N = mkN "مِقْدَار" "مَقَادِير" masc nohum ;
|
||||
|
||||
-- hack used in the name constructions
|
||||
toNP : Bool -> NP -> NP = \b -> if_then_else NP b R.emptyNP ;
|
||||
toNP : Bool -> NP -> NP = \b -> if_then_else NP b (lin NP R.emptyNP) ;
|
||||
|
||||
lin
|
||||
-- : NP -> NP -> Cl
|
||||
have_name_Cl np nm =
|
||||
let subjPron : Pron = R.np2pron np ;
|
||||
let subjPron : Pron = lin Pron (R.np2pron np) ;
|
||||
me : NP = toNP np.a.isPron np ;
|
||||
myName : NP = E.ApposNP me (mkNP (mkDet subjPron) L.name_N) ;
|
||||
in mkCl myName nm ;
|
||||
|
||||
-- : NP -> QCl
|
||||
what_name_QCl np =
|
||||
let subjPron : Pron = R.np2pron np ;
|
||||
let subjPron : Pron = lin Pron (R.np2pron np) ;
|
||||
me : R.NP = toNP np.a.isPron np ;
|
||||
myName : NP = E.ApposNP me (mkNP (mkDet subjPron) L.name_N) ;
|
||||
what_IP : R.IP = R.mkIP "مَا هُوَ" R.Sg ;
|
||||
what_IP : IP = lin IP (R.mkIP "مَا هُوَ" R.Sg) ;
|
||||
in mkQCl what_IP myName ;
|
||||
|
||||
how_old_QCl np =
|
||||
let subjPron : Pron = R.np2pron np ;
|
||||
let subjPron : Pron = lin Pron (R.np2pron np) ;
|
||||
me : R.NP = toNP np.a.isPron np ;
|
||||
age_N = mkN "عُمر" ;
|
||||
myAge : NP = E.ApposNP me (mkNP (mkDet subjPron) L.name_N) ;
|
||||
|
||||
@@ -23,7 +23,7 @@ flags
|
||||
beautiful_A = sndA "جمل" "فَعِيل" ;
|
||||
become_VA = mkVA (v4 "صبح") ;
|
||||
beer_N = sdfN "بير" "فِعلة" Fem NoHum ;
|
||||
beg_V2V = mkV2V (mkVV (v5 "وسل")) noPrep ;
|
||||
beg_V2V = mkV2V (mkVV (v5 "وسل")) ParadigmsAra.noPrep ;
|
||||
big_A = sndA "كبر" "فَعِيل" ;
|
||||
bike_N = sdfN "درج" "فَعّالة" Fem NoHum ;
|
||||
bird_N = brkN "طير" "فَعل" "فُعُول" Masc NoHum;
|
||||
@@ -72,7 +72,7 @@ flags
|
||||
door_N = brkN "بوب" "فاع" "أَفعَال" Masc NoHum ;
|
||||
drink_V2 = dirV2 (regV "شَرِب") ;
|
||||
-- drink_V2 = dirV2 (v1 "شرب" i a) ;
|
||||
easy_A2V = mkA2 (sndA "سهل" "فَعل") liPrep ;
|
||||
easy_A2V = mkA2 (sndA "سهل" "فَعل") ParadigmsAra.liPrep ;
|
||||
eat_V2 = dirV2 (mkV "ءكل" FormI) ;
|
||||
empty_A = sndA "فرغ" "فاعِل" ;
|
||||
enemy_N = brkN "عدو" "فَعُلّ" "أَفعَاء" Masc Hum ;
|
||||
@@ -202,7 +202,7 @@ flags
|
||||
switch8off_V2 = dirV2 (v4 "طفء") ;
|
||||
switch8on_V2 = dirV2 (v4 "شعل") ;
|
||||
table_N = sdfN "طول" "فاعِلة" Fem NoHum ;
|
||||
talk_V3 = mkV3 (v5 "حدث") liPrep (mkPrep "عَن") ;
|
||||
talk_V3 = mkV3 (v5 "حدث") ParadigmsAra.liPrep (mkPrep "عَن") ;
|
||||
teacher_N = sdmN "علم" "مُفَعِّل" Masc Hum ; --mucal~imö
|
||||
teach_V2 = dirV2 (v2 "علم") ;
|
||||
television_N = mkN (sndf "تِلِفِزيُون") Masc NoHum ;
|
||||
|
||||
@@ -108,7 +108,7 @@ resource ParadigmsAra = open
|
||||
---- ++ n.s2 ! Sg ! Def ! c -- NB this hack works for idaafa constructions (if you used mkN : N -> N -> N), but wrong for mkN : N -> A -> N. /IL
|
||||
---- }))) ;
|
||||
mkLN : NP -> LN
|
||||
= \np -> np ;
|
||||
= \np -> lin LN np ;
|
||||
} ;
|
||||
|
||||
--3 Relational nouns
|
||||
@@ -814,7 +814,7 @@ resource ParadigmsAra = open
|
||||
|
||||
dirV3 = overload {
|
||||
dirV3 : V -> Prep -> V3 = \v,p -> mkV3 v (casePrep acc) p ;
|
||||
dirV3 : V -> Str -> V3 = \v,s -> mkV3 v (casePrep acc) (mkPreposition s)
|
||||
dirV3 : V -> Str -> V3 = \v,s -> mkV3 v (casePrep acc) (mkPrep s)
|
||||
} ;
|
||||
|
||||
dirdirV3 v = dirV3 v (casePrep acc) ;
|
||||
@@ -875,7 +875,7 @@ resource ParadigmsAra = open
|
||||
mkAS,
|
||||
mkAV = \a -> a ;
|
||||
mkA2S,
|
||||
mkA2V = \a,p -> prepA2 a (mkPreposition p) ;
|
||||
mkA2V = \a,p -> lin A (prepA2 a (mkPreposition p)) ;
|
||||
|
||||
|
||||
|
||||
@@ -951,25 +951,25 @@ oper
|
||||
wmkA : {masc_sg, masc_pl, root, sg_patt : Str} -> A
|
||||
= \r -> mkA r.root r.sg_patt ;
|
||||
wmkA : {masc_sg, fem_sg, masc_pl, fem_pl, root, pl_patt : Str} -> A
|
||||
= \r -> mascFemAdj r.masc_sg r.fem_sg ;
|
||||
= \r -> mascFemA r.masc_sg r.fem_sg ;
|
||||
wmkA : {masc_sg, fem_sg, masc_pl, fem_pl, root : Str} -> A
|
||||
= \r -> mascFemAdj r.masc_sg r.fem_sg ;
|
||||
= \r -> mascFemA r.masc_sg r.fem_sg ;
|
||||
wmkA : {masc_sg, fem_sg, root : Str} -> A
|
||||
= \r -> mkA r.root ; ----
|
||||
wmkA : {masc_sg, fem_sg, masc_pl, fem_pl, pl_patt : Str} -> A
|
||||
= \r -> mascFemAdj r.masc_sg r.fem_sg ;
|
||||
= \r -> mascFemA r.masc_sg r.fem_sg ;
|
||||
wmkA : {masc_sg : Str; fem_sg : Str; fem_pl : Str} -> A
|
||||
= \r -> mascFemAdj r.masc_sg r.fem_sg ;
|
||||
= \r -> mascFemA r.masc_sg r.fem_sg ;
|
||||
wmkA : {masc_sg : Str; fem_sg : Str; root : Str ; sg_patt : Str} -> A
|
||||
= \r -> mkA r.root r.sg_patt ;
|
||||
wmkA : {masc_sg : Str; fem_sg : Str} -> A
|
||||
= \r -> mascFemAdj r.masc_sg r.fem_sg ;
|
||||
= \r -> mascFemA r.masc_sg r.fem_sg ;
|
||||
wmkA : {masc_sg : Str; masc_pl : Str; fem_sg : Str; fem_pl : Str} -> A
|
||||
= \r -> mascFemAdj r.masc_sg r.fem_sg ;
|
||||
= \r -> mascFemA r.masc_sg r.fem_sg ;
|
||||
wmkA : {masc_sg : Str; masc_pl : Str; fem_sg : Str; root : Str} -> A
|
||||
= \r -> mkA r.root ;
|
||||
wmkA : {masc_sg : Str; masc_pl : Str; fem_sg : Str} -> A
|
||||
= \r -> mascFemAdj r.masc_sg r.fem_sg ;
|
||||
= \r -> mascFemA r.masc_sg r.fem_sg ;
|
||||
wmkA : {masc_sg : Str; masc_pl : Str; root : Str} -> A
|
||||
= \r -> mkA r.root ;
|
||||
wmkA : {masc_sg : Str; masc_pl, pl_patt : Str; root : Str} -> A
|
||||
|
||||
@@ -124,7 +124,7 @@ concrete StructuralAra of Structural = CatAra **
|
||||
youPl_Pron = youPlMasc_Pron ;
|
||||
youPol_Pron = youPlFem_Pron ; -- arbitrary?
|
||||
|
||||
have_V2 = mkV2 ladaa_V (casePrep nom) ; -- "X has Y" literally "Y<nom> is on X<nom>"
|
||||
have_V2 = mkV2 (lin V ladaa_V) (casePrep nom) ; -- "X has Y" literally "Y<nom> is on X<nom>"
|
||||
--have_V2 = dirV2 (regV "يَملِك") ; -- "X<nom> owns/possesses Y<acc>"
|
||||
|
||||
lin language_title_Utt = {s = \\_ => "العربية"} ;
|
||||
|
||||
Reference in New Issue
Block a user