mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
swapping some arguments in LibraryBrowser
This commit is contained in:
@@ -399,6 +399,8 @@ incomplete resource Constructors = open Grammar in { --%
|
|||||||
= \s,v,n,q -> PredVP s (ComplSlash (SlashV2Q v q) n) ; --%
|
= \s,v,n,q -> PredVP s (ComplSlash (SlashV2Q v q) n) ; --%
|
||||||
mkCl : NP -> V2V -> NP -> VP -> Cl -- she begs him to sleep
|
mkCl : NP -> V2V -> NP -> VP -> Cl -- she begs him to sleep
|
||||||
= \s,v,n,q -> PredVP s (ComplSlash (SlashV2V v q) n) ; --%
|
= \s,v,n,q -> PredVP s (ComplSlash (SlashV2V v q) n) ; --%
|
||||||
|
mkCl : NP -> VPSlash -> NP -> Cl -- she begs him to sleep here
|
||||||
|
= \s,v,n -> PredVP s (ComplSlash v n) ; --%
|
||||||
mkCl : NP -> A -> Cl -- she is old
|
mkCl : NP -> A -> Cl -- she is old
|
||||||
= \x,y -> PredVP x (UseComp (CompAP (PositA y))) ; --%
|
= \x,y -> PredVP x (UseComp (CompAP (PositA y))) ; --%
|
||||||
mkCl : NP -> A -> NP -> Cl -- she is older than him
|
mkCl : NP -> A -> NP -> Cl -- she is older than him
|
||||||
|
|||||||
@@ -10,17 +10,17 @@ lincat
|
|||||||
Sub10, Sub100, Sub1000, Sub1000000, Subj, Temp, Tense, Text, Utt, V, V2, V2A, V2Q, V2S, V2V, V3,
|
Sub10, Sub100, Sub1000, Sub1000000, Subj, Temp, Tense, Text, Utt, V, V2, V2A, V2Q, V2S, V2V, V3,
|
||||||
VA, VP, VPSlash, VQ, VS, VV, Voc = Term ;
|
VA, VP, VPSlash, VQ, VS, VV, Voc = Term ;
|
||||||
|
|
||||||
oper Term = {s : Str ; f,x : Str ; par : Str * Str ; flat : Bool} ;
|
oper Term = {s : Str ; f,x,swap : Str ; par : Str * Str ; flat : Bool} ;
|
||||||
|
|
||||||
oper mkTerm = overload {
|
oper mkTerm = overload {
|
||||||
mkTerm : Str -> Term = \f ->
|
mkTerm : Str -> Term = \f ->
|
||||||
{s = f ; f = f ; x = [] ; par = noPar ; flat = False} ;
|
{s = f ; f = f ; x,swap = [] ; par = noPar ; flat = False} ;
|
||||||
mkTerm : Str -> Term -> Term = \f,x ->
|
mkTerm : Str -> Term -> Term = \f,x ->
|
||||||
appTerm f (fullTerm x) ;
|
appTerm f (fullTerm x) ;
|
||||||
mkTerm : Str -> (_,_ : Term) -> Term = \f,x,y ->
|
mkTerm : Str -> (_,_ : Term) -> Term = \f,x,y ->
|
||||||
appTerm f (fullTerm x ++ fullTerm y) ;
|
appTerm f (concatTerm x y) ;
|
||||||
mkTerm : Str -> (_,_,_ : Term) -> Term = \f,x,y,z ->
|
mkTerm : Str -> (_,_,_ : Term) -> Term = \f,x,y,z ->
|
||||||
appTerm f (fullTerm x ++ fullTerm y ++ fullTerm z) ;
|
appTerm f (fullTerm x ++ concatTerm y z) ;
|
||||||
mkTerm : Str -> (_,_,_,_ : Term) -> Term = \f,x,y,z,u ->
|
mkTerm : Str -> (_,_,_,_ : Term) -> Term = \f,x,y,z,u ->
|
||||||
appTerm f (fullTerm x ++ fullTerm y ++ fullTerm z ++ fullTerm u) ;
|
appTerm f (fullTerm x ++ fullTerm y ++ fullTerm z ++ fullTerm u) ;
|
||||||
} ;
|
} ;
|
||||||
@@ -28,15 +28,21 @@ oper mkTerm = overload {
|
|||||||
noPar = <[],[]> ;
|
noPar = <[],[]> ;
|
||||||
yesPar = <"(",")"> ;
|
yesPar = <"(",")"> ;
|
||||||
|
|
||||||
appTerm : Str -> Str -> Term = \f,x -> {s = f ++ x ; f = f ; x = x ; par = yesPar ; flat = False} ;
|
appTerm : Str -> Str -> Term = \f,x -> {s = f ++ x ; f = f ; x = x ; swap = [] ; par = yesPar ; flat = False} ;
|
||||||
useTerm : Term -> Str = \t -> t.f ++ t.x ;
|
useTerm : Term -> Str = \t -> t.f ++ t.x ++ t.swap ;
|
||||||
fullTerm : Term -> Str = \t -> t.par.p1 ++ t.f ++ t.x ++ t.par.p2 ;
|
fullTerm : Term -> Str = \t -> t.par.p1 ++ t.f ++ t.x ++ t.swap ++ t.par.p2 ;
|
||||||
flatTerm : Term -> Term = \t -> {s = t.x ; f = [] ; x = t.x ; par = noPar ; flat = False} ;
|
flatTerm : Term -> Term = \t -> {s = t.x ; f = [] ; x = t.x ; swap = t.swap ; par = noPar ; flat = False} ;
|
||||||
flatIfTerm : Term -> Term = \t -> case t.flat of {
|
flatIfTerm : Term -> Term = \t -> case t.flat of {
|
||||||
True => flatTerm t ;
|
True => flatTerm t ;
|
||||||
False => t
|
False => t
|
||||||
} ;
|
} ;
|
||||||
mkFlat : Term -> Term = \t -> {s = t.s ; f = t.f ; x = t.x ; par = t.par ; flat = True} ;
|
mkFlat : Term -> Term = \t -> {s = t.s ; f = t.f ; x = t.x ; swap = t.swap ; par = t.par ; flat = True} ;
|
||||||
|
mkSwap : Term -> Term = \t -> {s = t.s ; f = t.f ; x = [] ; swap = t.x ; par = t.par ; flat = False} ;
|
||||||
|
mkSwapTerm : Str -> Term -> Term -> Term = \f,x,y ->
|
||||||
|
let xs = fullTerm x ; ys = fullTerm y in
|
||||||
|
{s = f ++ xs ++ ys ; f = f ; x = xs ; swap = ys ; par = yesPar ; flat = False} ;
|
||||||
|
concatTerm : Term -> Term -> Str = \t,u ->
|
||||||
|
(t.par.p1 ++ t.f ++ t.x ++ t.par.p2 ++ fullTerm u ++ t.swap) ;
|
||||||
|
|
||||||
hide : Str -> Str = \f -> [] ;
|
hide : Str -> Str = \f -> [] ;
|
||||||
|
|
||||||
@@ -129,7 +135,7 @@ lin FunRP prep_1 np_2 rp_3 = mkTerm "mkRP" prep_1 np_2 rp_3 ;
|
|||||||
lin GenericCl vp_1 = mkTerm "genericCl" vp_1 ;
|
lin GenericCl vp_1 = mkTerm "genericCl" vp_1 ;
|
||||||
lin IDig dig_1 = mkTerm "mkDigits" (mkTerm "\"999999\"") ; -- mkTerm "mkDigits" dig_1 ;
|
lin IDig dig_1 = mkTerm "mkDigits" (mkTerm "\"999999\"") ; -- mkTerm "mkDigits" dig_1 ;
|
||||||
lin IIDig dig_1 digits_2 = mkTerm "mkDigits" (mkTerm "\"999\"") ; -- mkTerm "mkDigits" dig_1 digits_2 ;
|
lin IIDig dig_1 digits_2 = mkTerm "mkDigits" (mkTerm "\"999\"") ; -- mkTerm "mkDigits" dig_1 digits_2 ;
|
||||||
lin IdRP = mkTerm "IdRP" ;
|
lin IdRP = mkTerm "which_RP" ;
|
||||||
lin IdetCN idet_1 cn_2 = mkTerm "mkIP" idet_1 cn_2 ;
|
lin IdetCN idet_1 cn_2 = mkTerm "mkIP" idet_1 cn_2 ;
|
||||||
lin IdetIP idet_1 = mkTerm "mkIP" idet_1 ;
|
lin IdetIP idet_1 = mkTerm "mkIP" idet_1 ;
|
||||||
lin IdetQuant iquant_1 num_2 = mkTerm "mkIDet" iquant_1 num_2 ;
|
lin IdetQuant iquant_1 num_2 = mkTerm "mkIDet" iquant_1 num_2 ;
|
||||||
@@ -184,12 +190,12 @@ lin SSubjS s_1 subj_2 s_3 = mkTerm "mkS" s_1 subj_2 s_3 ;
|
|||||||
lin SentAP ap_1 sc_2 = mkTerm "mkAP" ap_1 sc_2 ;
|
lin SentAP ap_1 sc_2 = mkTerm "mkAP" ap_1 sc_2 ;
|
||||||
lin SentCN cn_1 sc_2 = mkTerm "mkCN" cn_1 sc_2 ;
|
lin SentCN cn_1 sc_2 = mkTerm "mkCN" cn_1 sc_2 ;
|
||||||
lin Slash2V3 v3_1 np_2 = mkTerm "mkVPSlash" v3_1 np_2 ;
|
lin Slash2V3 v3_1 np_2 = mkTerm "mkVPSlash" v3_1 np_2 ;
|
||||||
lin Slash3V3 v3_1 np_2 = mkFlat (mkTerm "mkVPSlash" v3_1 np_2) ;
|
lin Slash3V3 v3_1 np_2 = mkFlat (mkSwapTerm "mkVPSlash" v3_1 np_2) ;
|
||||||
lin SlashPrep cl_1 prep_2 = mkTerm "mkClSlash" cl_1 prep_2 ;
|
lin SlashPrep cl_1 prep_2 = mkTerm "mkClSlash" cl_1 prep_2 ;
|
||||||
lin SlashV2A v2a_1 ap_2 = mkFlat (mkTerm "mkVPSlash" v2a_1 ap_2) ;
|
lin SlashV2A v2a_1 ap_2 = mkFlat (mkSwapTerm "mkVPSlash" v2a_1 ap_2) ;
|
||||||
lin SlashV2Q v2q_1 qs_2 = mkFlat (mkTerm "mkVPSlash" v2q_1 qs_2) ;
|
lin SlashV2Q v2q_1 qs_2 = mkFlat (mkSwapTerm "mkVPSlash" v2q_1 qs_2) ;
|
||||||
lin SlashV2S v2s_1 s_2 = mkFlat (mkTerm "mkVPSlash" v2s_1 s_2) ;
|
lin SlashV2S v2s_1 s_2 = mkFlat (mkSwapTerm "mkVPSlash" v2s_1 s_2) ;
|
||||||
lin SlashV2V v2v_1 vp_2 = mkFlat (mkTerm "mkVPSlash" v2v_1 vp_2) ;
|
lin SlashV2V v2v_1 vp_2 = mkFlat (mkSwapTerm "mkVPSlash" v2v_1 vp_2) ;
|
||||||
lin SlashV2VNP v2v_1 np_2 vpslash_3 = mkTerm "mkVPSlash" v2v_1 np_2 vpslash_3 ;
|
lin SlashV2VNP v2v_1 np_2 vpslash_3 = mkTerm "mkVPSlash" v2v_1 np_2 vpslash_3 ;
|
||||||
lin SlashV2a v2_1 = mkFlat (mkTerm "mkVPSlash" v2_1) ;
|
lin SlashV2a v2_1 = mkFlat (mkTerm "mkVPSlash" v2_1) ;
|
||||||
lin SlashVP np_1 vpslash_2 = mkTerm "mkClSlash" np_1 vpslash_2 ;
|
lin SlashVP np_1 vpslash_2 = mkTerm "mkClSlash" np_1 vpslash_2 ;
|
||||||
|
|||||||
Reference in New Issue
Block a user