added some code for the byte-character literal support.
enhanced value comparison routines
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
@pragma entry main
|
||||
@pragma implicit off
|
||||
|
||||
@include "ensure.inc";
|
||||
|
||||
@ -22,13 +23,103 @@ function call_by_ref_3(&x)
|
||||
|
||||
function main()
|
||||
{
|
||||
x = 20;
|
||||
y = 90;
|
||||
r = call_by_ref_1(x, y, z);
|
||||
ensure (r, 1800, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (x, 20);
|
||||
ensure (y, 90);
|
||||
ensure (z, "hello, world");
|
||||
|
||||
{
|
||||
ensure ((@nil == 'A'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil != 'A'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil > 'A'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil < 'A'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil >= 'A'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil <= 'A'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((@nil == @b'A'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil != @b'A'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil > @b'A'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil < @b'A'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil >= @b'A'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@nil <= @b'A'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure (('A' == @b'A'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (('\u00FF' == @b'\xFF'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure (("10" == 10), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (("10" == 10.00), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (("10.0" == 10), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (("10.00" == 10), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((@b"10" == 10), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@b"10" == 10.00), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@b"10.0" == 10), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((@b"10.00" == 10), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((79 < '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 <= '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 > '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 >= '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 == '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 != '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((99 < '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 <= '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 > '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 >= '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 == '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 != '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((8 < '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 <= '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 > '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 >= '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 == '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 != '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((8.00 < '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 <= '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 > '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 >= '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 == '8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 != '8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((79 < @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 <= @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 > @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 >= @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 == @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((79 != @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((99 < @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 <= @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 > @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 >= @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 == @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((99 != @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((8 < @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 <= @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 > @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 >= @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 == @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8 != @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
ensure ((8.00 < @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 <= @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 > @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 >= @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 == @b'8'), 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure ((8.00 != @b'8'), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
}
|
||||
|
||||
{
|
||||
@local x, y, z, r;
|
||||
|
||||
x = 20;
|
||||
y = 90;
|
||||
r = call_by_ref_1(x, y, z);
|
||||
ensure (r, 1800, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (x, 20);
|
||||
ensure (y, 90);
|
||||
ensure (z, "hello, world");
|
||||
}
|
||||
|
||||
## TODO: add a new special word, @FILENAME, @FILELINE, @LINE <--- which are understood by the parser and swapped to the actual value
|
||||
## @SCRIPTNAME, @SCRIPTLINE doesn't tell the main file.
|
||||
@ -40,7 +131,7 @@ function main()
|
||||
}
|
||||
|
||||
{
|
||||
@local b;
|
||||
@local b, r;
|
||||
b[1] = 1;
|
||||
r = call_by_ref_2(99, b);
|
||||
ensure (r, 99);
|
||||
@ -48,7 +139,7 @@ function main()
|
||||
}
|
||||
|
||||
{
|
||||
@local b;
|
||||
@local b, r;
|
||||
b[1] = 1;
|
||||
r = hawk::call("call_by_ref_2", 99, b);
|
||||
ensure (r, 99);
|
||||
@ -122,7 +213,7 @@ function main()
|
||||
}
|
||||
|
||||
{
|
||||
@local a, b;
|
||||
@local a, b, c;
|
||||
a = hawk::array();
|
||||
a[10][20][30] = 20;
|
||||
b[12][20][30] = 20;
|
||||
@ -141,6 +232,16 @@ function main()
|
||||
ensure (((10,30,30) in c), 0, @SCRIPTNAME, @SCRIPTLINE);
|
||||
}
|
||||
|
||||
{
|
||||
@local a;
|
||||
a = hawk::array(1,2,3);
|
||||
ensure (a[1], 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (a[2], 2, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (a[3], 3, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (length(a), 3, @SCRIPTNAME, @SCRIPTLINE);
|
||||
ensure (hawk::typename(a), "array", @SCRIPTNAME, @SCRIPTLINE);
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
# concatenation operator
|
||||
|
Reference in New Issue
Block a user