1
use Language::INTERCAL;
2
use Language::INTERCAL::Runtime::Library;
6
@@@@@@@��@����@���@K�@�����@K�@L`@{�
7
@@@@@@@������@�����@{�@��@M����]@��@�����@|�
8
@@@@@@@��@�����@K�@��@�����@{�
10
@@@@@@@������@K�@������@{�@�����@����@���@K�
11
@@@@@@@������@����@���@K�@�����@K�@������@{�
17
@@@@@@@��@������@�������
22
fiddle Language::INTERCAL 'bug=0', 'ubug=0';
26
compile Language::INTERCAL 'prog', $prog;
28
eval { prog(0, \&foo) };
30
print $@ ? "not " : "", "ok 1\n";
31
print @foo == 8 ? "" : "not ", "ok 2\n";
32
print "I\n" eq (shift @foo) ? "" : "not ", "ok 3\n";
33
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 4\n";
34
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 5\n";
35
print "III\n" eq (shift @foo) ? "" : "not ", "ok 6\n";
36
print "IV\n" eq (shift @foo) ? "" : "not ", "ok 7\n";
37
print "V\n" eq (shift @foo) ? "" : "not ", "ok 8\n";
38
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 9\n";
39
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 10\n";
41
compile Language::INTERCAL 'prog_o', $prog, 'opt';
43
eval { prog_o(0, \&foo) };
45
print $@ ? "not " : "", "ok 11\n";
46
print @foo == 8 ? "" : "not ", "ok 12\n";
47
print "I\n" eq (shift @foo) ? "" : "not ", "ok 13\n";
48
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 14\n";
49
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 15\n";
50
print "III\n" eq (shift @foo) ? "" : "not ", "ok 16\n";
51
print "IV\n" eq (shift @foo) ? "" : "not ", "ok 17\n";
52
print "V\n" eq (shift @foo) ? "" : "not ", "ok 18\n";
53
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 19\n";
54
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 20\n";
56
compile Language::INTERCAL 'prog_q', $prog, 'quantum';
58
eval { prog_q(0, \&foo) };
60
print $@ ? "not " : "", "ok 21\n";
61
print @foo == 8 ? "" : "not ", "ok 22\n";
62
print "I\n" eq (shift @foo) ? "" : "not ", "ok 23\n";
63
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 24\n";
64
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 25\n";
65
print "III\n" eq (shift @foo) ? "" : "not ", "ok 26\n";
66
print "IV\n" eq (shift @foo) ? "" : "not ", "ok 27\n";
67
print "V\n" eq (shift @foo) ? "" : "not ", "ok 28\n";
68
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 29\n";
69
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 30\n";
71
compile Language::INTERCAL 'prog_p', $prog, 'post';
73
eval { prog_p(0, \&foo) };
75
print $@ ? "not " : "", "ok 31\n";
76
print @foo == 8 ? "" : "not ", "ok 32\n";
77
print "I\n" eq (shift @foo) ? "" : "not ", "ok 33\n";
78
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 34\n";
79
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 35\n";
80
print "III\n" eq (shift @foo) ? "" : "not ", "ok 36\n";
81
print "IV\n" eq (shift @foo) ? "" : "not ", "ok 37\n";
82
print "V\n" eq (shift @foo) ? "" : "not ", "ok 38\n";
83
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 39\n";
84
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 40\n";
86
compile Language::INTERCAL 'prog_qp', $prog, 'quantum', 'post';
88
eval { prog_qp(0, \&foo) };
90
print $@ ? "not " : "", "ok 41\n";
91
print @foo == 8 ? "" : "not ", "ok 42\n";
92
print "I\n" eq (shift @foo) ? "" : "not ", "ok 43\n";
93
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 44\n";
94
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 45\n";
95
print "III\n" eq (shift @foo) ? "" : "not ", "ok 46\n";
96
print "IV\n" eq (shift @foo) ? "" : "not ", "ok 47\n";
97
print "V\n" eq (shift @foo) ? "" : "not ", "ok 48\n";
98
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 49\n";
99
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 50\n";
101
compile Language::INTERCAL 'prog_d', $prog, 'dbhook';
103
_run_db(prog_d(0, \&foo));
105
print $@ ? "not " : "", "ok 51\n";
106
print @foo == 8 ? "" : "not ", "ok 52\n";
107
print "I\n" eq (shift @foo) ? "" : "not ", "ok 53\n";
108
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 54\n";
109
print "IX\n" eq (shift @foo) ? "" : "not ", "ok 55\n";
110
print "III\n" eq (shift @foo) ? "" : "not ", "ok 56\n";
111
print "IV\n" eq (shift @foo) ? "" : "not ", "ok 57\n";
112
print "V\n" eq (shift @foo) ? "" : "not ", "ok 58\n";
113
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 59\n";
114
print "VI\n" eq (shift @foo) ? "" : "not ", "ok 60\n";
117
push @foo, join('', @_);