mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
concrete Params5Cnc of Params5 = {
|
|
|
|
param
|
|
P = P1 | PQ Q ;
|
|
Q = Q1 | QR R ;
|
|
R = R1 | R2 ;
|
|
|
|
lincat
|
|
P_ = P ;
|
|
Q_ = Q ;
|
|
R_ = R ;
|
|
S = Str ;
|
|
|
|
lin
|
|
p1 = P1 ;
|
|
pq q = PQ q ;
|
|
q1 = Q1 ;
|
|
qr r = QR r ;
|
|
r1 = R1 ;
|
|
r2 = R2 ;
|
|
|
|
showP p = tblP ! p ;
|
|
showPQ p q = tblPQRec ! { p = p ; q = q } ;
|
|
showQP q p = tblQPRec ! { q = q ; p = p } ;
|
|
|
|
oper
|
|
tblP : P => Str ;
|
|
tblP = table {
|
|
P1 => "P1";
|
|
PQ Q1 => "PQ Q1";
|
|
PQ (QR R1) => "PQ (QR R1)";
|
|
PQ (QR R2) => "PQ (QR R2)"
|
|
} ;
|
|
|
|
tblQPRec : {q:Q ; p:P} => Str ;
|
|
tblQPRec = table {
|
|
{q=Q1 ; p=P1} => "Q1 ; P1";
|
|
{q=Q1 ; p=PQ Q1} => "Q1 ; PQ Q1";
|
|
{q=Q1 ; p=PQ (QR R1)} => "Q1 ; PQ (QR R1)";
|
|
{q=Q1 ; p=PQ (QR R2)} => "Q1 ; PQ (QR R2)";
|
|
|
|
{q=QR R1 ; p=P1} => "QR R1 ; P1";
|
|
{q=QR R1 ; p=PQ Q1} => "QR R1 ; PQ Q1";
|
|
{q=QR R1 ; p=PQ (QR R1)} => "QR R1 ; PQ (QR R1)";
|
|
{q=QR R1 ; p=PQ (QR R2)} => "QR R1 ; PQ (QR R2)";
|
|
|
|
{q=QR R2 ; p=P1} => "QR R2 ; P1";
|
|
{q=QR R2 ; p=PQ Q1} => "QR R2 ; PQ Q1";
|
|
{q=QR R2 ; p=PQ (QR R1)} => "QR R2 ; PQ (QR R1)";
|
|
{q=QR R2 ; p=PQ (QR R2)} => "QR R2 ; PQ (QR R2)"
|
|
} ;
|
|
|
|
tblPQRec : {p:P ; q:Q} => Str ;
|
|
tblPQRec = table {
|
|
{p=P1 ; q=Q1} => "P1 ; Q1";
|
|
{p=P1 ; q=QR R1} => "P1 ; QR R1";
|
|
{p=P1 ; q=QR R2} => "P1 ; QR R2";
|
|
|
|
{p=PQ Q1 ; q=Q1} => "PQ Q1 ; Q1";
|
|
{p=PQ Q1 ; q=QR R1} => "PQ Q1 ; QR R1";
|
|
{p=PQ Q1 ; q=QR R2} => "PQ Q1 ; QR R2";
|
|
|
|
{p=PQ (QR R1) ; q=Q1} => "PQ (QR R1) ; Q1";
|
|
{p=PQ (QR R1) ; q=QR R1} => "PQ (QR R1) ; QR R1";
|
|
{p=PQ (QR R1) ; q=QR R2} => "PQ (QR R1) ; QR R2";
|
|
|
|
{p=PQ (QR R2) ; q=Q1} => "PQ (QR R2) ; Q1";
|
|
{p=PQ (QR R2) ; q=QR R1} => "PQ (QR R2) ; QR R1";
|
|
{p=PQ (QR R2) ; q=QR R2} => "PQ (QR R2) ; QR R2"
|
|
} ;
|
|
|
|
}
|