1
use Language::INTERCAL;
2
use Language::INTERCAL::Runtime::Library;
6
@@@@@@@��@����@��������@L`@����������@���@��������@������@����������
9
@@@@@@@������@�����@{�@��@M����]@��@�����@|�
10
@@@@@@@��@�����@K�@��@�����@{�
13
@@@@@@@������@�������@�����@��������@��@�����@����������
14
@@@@@@@@@@@@@@@@@@@��@��������@������@����������
15
@@@@@@@��@�����@K�@��@�����@{��
17
M�]@@@@������@�������@�����@����@��@����@����@�����
21
M�]@@@@��@����@�����@����@���@�������@����@�����
23
@@@@@@@��@�������@����@M�]
25
@@@@@@@��@����@����@���@��������@���@�����@��@��������
27
@@@@@@@��@�������@������@�������@��@����@��
28
@@@@@@@������@������@�������
29
M����]@��@[|�@������@{�
30
@@@@@@@��@������@�������
35
fiddle Language::INTERCAL 'bug=0', 'ubug=0';
39
compile Language::INTERCAL 'prog', $prog;
41
eval { prog(0, \&foo) };
43
print $@ ? "not " : "", "ok 1\n";
44
print @foo == 6 ? "" : "not ", "ok 2\n";
45
print "VII\n" eq (shift @foo) ? "" : "not ", "ok 3\n";
46
print "III\n" eq (shift @foo) ? "" : "not ", "ok 4\n";
47
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 5\n";
48
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 6\n";
49
print "VII\n" eq (shift @foo) ? "" : "not ", "ok 7\n";
50
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 8\n";
52
compile Language::INTERCAL 'prog_o', $prog, 'opt';
54
eval { prog_o(0, \&foo) };
56
print $@ ? "not " : "", "ok 9\n";
57
print @foo == 6 ? "" : "not ", "ok 10\n";
58
print "VII\n" eq (shift @foo) ? "" : "not ", "ok 11\n";
59
print "III\n" eq (shift @foo) ? "" : "not ", "ok 12\n";
60
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 13\n";
61
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 14\n";
62
print "VII\n" eq (shift @foo) ? "" : "not ", "ok 15\n";
63
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 16\n";
65
compile Language::INTERCAL 'prog_q', $prog, 'quantum';
67
eval { prog_q(0, \&foo) };
69
print $@ ? "not " : "", "ok 17\n";
70
print @foo == 6 ? "" : "not ", "ok 18\n";
71
print "VII\n" eq (shift @foo) ? "" : "not ", "ok 19\n";
72
print "III\n" eq (shift @foo) ? "" : "not ", "ok 20\n";
73
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 21\n";
74
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 22\n";
75
print "VII\n" eq (shift @foo) ? "" : "not ", "ok 23\n";
76
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 24\n";
78
compile Language::INTERCAL 'prog_d', $prog, 'dbhook';
80
_run_db(prog_d(0, \&foo));
82
print $@ ? "not " : "", "ok 25\n";
83
print @foo == 6 ? "" : "not ", "ok 26\n";
84
print "VII\n" eq (shift @foo) ? "" : "not ", "ok 27\n";
85
print "III\n" eq (shift @foo) ? "" : "not ", "ok 28\n";
86
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 29\n";
87
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 30\n";
88
print "VII\n" eq (shift @foo) ? "" : "not ", "ok 31\n";
89
print "XII\n" eq (shift @foo) ? "" : "not ", "ok 32\n";
92
push @foo, join('', @_);