return codes 0 = success 2 = not implemented 1 = unknown error 3 = grammar error 4 = operator error 11 = variable not found 31 = statement isnt correct 34 = Unknown keyword 35 = Unknown type 36 = Unknown operator 37 = Unknown assignment operator 38 = unknown comparisment operator 361 = illegal conversion 341 = wrong type scheme given 311 = expected codeblock 312 = expected variable 313 = variable already exists 314 = expected string 315 = malformed string 316 = expected raw value 317 = malformed function 318 = too few arguments 319 = expected variable of type list 43 = unsupported operator 44 = unsupported function grammar: keywords: define, compare, do, repeat, index, end, turn types: func, string, integer, float, list built-in functions: print, input, append, pop, remove, 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