Skip to content

Quirks of the compiler

Because this is my first language ever written, it contains weird and unintended functionality.

Whitespace

All whitespace is allowed.

sprite cat{
        script         [
start    (  )     ;
      move () ;
  if   (1  == 1 )  { move
  (3)}
]
    }

It looks horrible, but it works

Brackets

All types of brackets are interchangeable*

Brackets include:

  • brackets: []

  • curly brackets: {}

  • parenthesis: ()

sprite cat(
    script{
        start(};
        move{3);
    ]
}

Strings

There are no strings

What double quotes ("") do is include everything inside of it as one token.

This is useful for hex values

pen_setPenColorToColor("#ffffff");

This is also important for decimal values

move("10.3");

If you do not have double quotes with decimal or hex values, the compiler will throw an error

Semicolons

Semicolons are relatively normal except for the fact that they must come after every function and command, excluding curly brackets.

This does not work

if (5 == 3){
    move(10);
};
move(3);

This does not work

if (5 == 3)(
    move(10);
)
move(3);

Instead it should look something like this:

if (5 == 3){
    move(10);
}
move(3);

...or this

if (5 == 3)(
    move(10);
);
move(3);