git @ Cat's Eye Technologies Illgol-Grand-Mal / master 2. Illgola-2 / prj / test.ill
master

Tree @master (Download .tar.gz)

test.ill @masterraw · history · blame

CONST x = 0, y = 2;

*coo = 0;

*f = { out tty #(coo++); out tty #(coo--) };

*z = 2;
*a *4 = 0;
a.x = 255;
a.y = 32;
*ptr = ^a + 2;
while a.x >= 32
{
  while a.y <= 255
  {
    do f (a.x, a.y);
    *foo = ptr^++
  };
  a[z] = 32;
  a.x -= 1
};

*w = "Wrong!"; NB comment
*r = "Right!";
*a = 1;
*b = 2;
if a < b
{
  if b = a
  {
    print w
  };
  if b < a
  {
    print w
  } else
  {
    print r
  }
} else
{
  print w
};

if ?a print r;
if !(?a) print w;
if ?(b-2) print w;
if !(?(b-2)) print r;

if a < b if b <> a print r;
if b < a print w else print r;

NB fixed-point arithmetic (such as it is) demo.

   a = 0;
   *char = 0;
   while (char <> 27)
   {
     print sif(a); out tty 13; out tty 10;
     in tty char;
     a = a + 0.1;
   };

*char = 0;
*r = 0;
while (char <> 27)
{
  print sif(rnd(r)); out tty 13; out tty 10;
  in tty char;
};

print str(fre(0));    out tty 13; out tty 10;
print str(int(6.81)); out tty 13; out tty 10;

*i = 0;  NB unfortunately required...

for i = 33 to 43
{
  out tty i;
};

for i = 33 to 43 out tty i;

a = 123;
print str(a);
out tty 13; out tty 10;
print str(9999);
out tty 13; out tty 10;
print str(1);
out tty 13; out tty 10;

NB This is a comment

10 print "And "
         "so "
         "it "
         "begins...";

20 *i = 0;

30 *f = { print "Voila!"; out tty 13; out tty 10 };
40 *g = { out tty i-- };

50 do f; do f; do f;

60 i = 34;
70 do g; do g; do { out tty 13; out tty 10 };
80 i = 255;
90 do g until i = 65;

*crlf = { out tty 13; out tty 10 };
do crlf;

*array *16 BYTE = 37;
array.1    BYTE = 38;
array.2    BYTE = 39;
array.3    BYTE = 99;
array.4    BYTE = 64;
array.5    BYTE = 0;

print ^array; do crlf;
array.3         = 7000;
print ^array; do crlf;
array.1    BYTE = 7000;
print ^array; do crlf;

*s = "Fantastic!";
print s; do crlf;
s^ BYTE = 65;
print s++; do crlf;
array[2] = s--;
array[2]^ BYTE = 99;
print s; do crlf;

print str(10 - 5), EoL;

FIN