Files
hawk/t/h-023.hawk
hyung-hwan 33f6266876
continuous-integration/drone/push Build is passing
folded concatenating string constants
2026-04-20 03:26:30 +09:00

212 lines
6.0 KiB
Plaintext

@pragma entry main
@pragma implicit off
@include "tap.inc";
@global g_calls = 0;
function tick (v)
{
g_calls = g_calls + 1;
return v;
}
function main ()
{
@local i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z;
i = 0;
j = 0;
k = 0;
l = 0;
m = 0;
n = 0;
o = 0;
p = 0;
q = 0;
r = 0;
while (0) { i = i + 1; }
while (@false) { j = j + 1; }
while ((0)) { k = k + 1; }
while ((@false)) { l = l + 1; }
tap_ensure(i, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(j, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(k, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(l, 0, @SCRIPTNAME, @SCRIPTLINE);
if ((1, 0))
m = 1;
else
m = 2;
if (((0, "", 5)))
n = 1;
else
n = 2;
if (((1, 2, @false)))
o = 1;
else
o = 2;
if ((((1, 2), (3, 4), 0)))
p = 1;
else
p = 2;
while ((1, 0)) { q = q + 1; }
while ((((1, 2), (3, 4), 0))) { r = r + 1; }
tap_ensure(m, 2, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(n, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(o, 2, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(p, 2, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(q, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(r, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(2 ^ 10, 1024, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(2 ^ -3, 0.125, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(7.5 \ 2, 3, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(8.5 / 2, 4.25, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(17 % 5, 2, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(17.5 % 5, 2.5, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(6 & 3, 2, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(6 ^^ 3, 5, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(6 | 3, 7, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(3 << 4, 48, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(48 >> 4, 3, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(6.9 & 3, 2, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(8 >> 1.9, 4, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(2 == 2.0, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(2 != 2.0, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(2 < 2.5, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(2.5 >= 2, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(2 === 2.0, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(2 !== 2.0, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!@true === @false, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!@false === @true, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!@nil === @true, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!"" === @true, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!"x" === @false, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!@b"" === @true, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!@b"x" === @false, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!((1, 0)) === @true, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!((1, 2, "x")) === @false, 1, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
if ((tick(1), 0))
m = 10;
else
m = 20;
tap_ensure(m, 20, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 1, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
if ((((1, tick(0))), 1))
n = 10;
else
n = 20;
tap_ensure(n, 10, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 1, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
while ((tick(1), 0)) { o = o + 1; }
tap_ensure(o, 2, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 1, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
tap_ensure(!(tick(1), 0) === @true, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 1, @SCRIPTNAME, @SCRIPTLINE);
if ((!0 && (1 || 0)))
s = 1;
else
s = 2;
if ((!1 || (0 && 1)))
t = 1;
else
t = 2;
if (!(0 || (1 && 0)))
u = 1;
else
u = 2;
v = 0;
w = 0;
x = 0;
while ((!1 || (1 && 0))) { v = v + 1; }
while ((1 && (1 || 0) && 0)) { w = w + 1; }
while (!(0 || 1 || 0)) { x = x + 1; }
tap_ensure(s, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(t, 2, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(u, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(v, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(w, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(x, 0, @SCRIPTNAME, @SCRIPTLINE);
y = ((!0 && (1 || 0)) ? 10 : 20);
z = ((!1 || (0 && 1)) ? 10 : 20);
tap_ensure(y, 10, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(z, 20, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
y = ((!0 && (1 || 0)) ? tick(10) : tick(20));
tap_ensure(y, 10, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 1, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
z = ((!1 || (0 && 1)) ? tick(10) : tick(20));
tap_ensure(z, 20, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(0 && 1, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(1 && 9, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(0 || 0 || 1 || 0, 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(1 && 1 && 0 && 1, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!0 && (1 || 0), 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(!1 || (0 && 1), 0, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
tap_ensure(0 && tick(1), 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 0, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
tap_ensure(1 || tick(1), 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 0, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
tap_ensure(1 && tick(1), 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 1, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
tap_ensure(0 || tick(1), 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 1, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
tap_ensure(0 && tick(1) && tick(2), 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 0, @SCRIPTNAME, @SCRIPTLINE);
g_calls = 0;
tap_ensure(1 || tick(1) || tick(2), 1, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(g_calls, 0, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure("A" %% "B" %% "C", "ABC", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure('A' %% "BC", "ABC", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure("AB" %% 'C', "ABC", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure('A' %% 'B' %% "C", "ABC", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(hawk::type('A' %% "B"), hawk::VAL_STR, @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(@b"A" %% @b"B" %% @b"C", @b"ABC", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(@b'A' %% @b"BC", @b"ABC", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(@b"AB" %% @b'C', @b"ABC", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(@b'A' %% @b'B' %% @b"C", @b"ABC", @SCRIPTNAME, @SCRIPTLINE);
tap_ensure(hawk::type(@b'A' %% @b"B"), hawk::VAL_MBS, @SCRIPTNAME, @SCRIPTLINE);
tap_end ();
}