return codes 0 = success 2 = not implemented 1 = unknown error 3 = grammar error 34 = Unknown keyword 35 = Unknown type 36 = Unknown operator 37 = Unknown assignment operator grammar: keywords: define, compare, do, repeat, index, end types: func, string, integer, float, list built-in functions: print, input, append, pop, size operators: + - / * assignment operators: = += -= *= /= comparisment operators: > < >= <= == != in things in {} is considered code and will be executed first when for example assigning a variable, example: define string teststring {do input} keywords usage: define compare do (used in both variable manipulation and function calling. variable manipulation example: do foo = 3 function call example: do foo "hello world!") repeat (the code block is executed as often until the comparisment statement returns true) index (return element of target at given index. lists and strings are only supposed to work) strings are marked by either "" or '' example code, used to test the parser: define string anotherfoo "{codeblockinsidestringtest}" define string anotherfoo2 "ja, das sind 2''." define func foofunction { define func functioninsideafunction { define string foo2 "FIAF" do print foo } define string foo "Hello, World!" do print foo do functioninsideafuntion } do foofunction