Files
gf-core/testsuite/compiler/compute/param_table.gfs
2021-10-07 11:47:51 +02:00

18 lines
919 B
Plaintext

i -retain testsuite/compiler/compute/param_table.gf
cc P2 Q1
cc table {P1 => "p1"; P2 _ => "p2"} ! P1
cc table {P1 => "p1"; P2 _ => "p2"} ! P2 Q1
cc table {P1 => "p1"; P2 _ => "p2"} ! P2 (Q1|Q2)
cc table {P1 => "p1"; P2 q => "p2"} ! P2 (Q1|Q2)
cc table P ["p1"; "p2q1"; "p2q2"] ! P1
cc table P ["p1"; "p2q1"; "p2q2"] ! P2 Q1
cc table P ["p1"; "p2q1"; "p2q2"] ! P2 Q2
cc table {P1 => "p1"; P2 Q1 => "p2q1"; P2 Q2 => "p2q2"} ! P2 (Q1|Q2)
cc table {P1 => "p1"; P2 Q1 => "p2q1"; P2 Q2 => "p2q2"} ! P2 Q1
cc table {P1 => "p1"; P2 q => case q of {Q1 => "p2q1"; Q2 => "p2q2"}} ! P2 Q1
cc case <Q1,Q2> of {<Q1,Q1> => "11"; <Q1,Q2> => "12"; _ => "??"}
cc case <Q2,Q2> of {<Q1,Q1> => "11"; <Q1,Q2> => "12"; _ => "??"}
cc <\x -> case x of {Q1 => "q1"; Q2 => "q2"} : Q -> Str>
cc <\x -> case P2 x of {P1 => "p1"; P2 q => "p2"} : Q -> Str>
cc <\x -> case P2 x of {P1 => "p1"; P2 q => case q of {Q1 => "q1"; Q2 => "q2"}} : Q -> Str>