added {} and [] notations, added new function of -> operator and retired element()

This commit is contained in:
gnembon committed 2020-06-28 23:04:14 -03:00
1 parent 391c7b976e
commit b9daf50236
5 files changed
+126 -63

No files matched your search

+12
View File
@@ -272,6 +272,18 @@ check_foo_not_zero();
check_foo_not_zero() -> if(global_foo == 0, global_foo = 1)
</pre>
## Scarpet preprocessor
There are several preprocessing operations applied to the source of your program to clean it up and prepare for
execution. Some of them will affect your code as it is reported via stack traces and function definition, and some
are applied only on the surface.
- stripping `//` comments (in file mode)
- replacing `$` with newlines (in command mode, modifies submitted code)
- removing extra semicolons that don't follow `;` use as a binary operator, allowing for lenient use of semicolons
- translating `{` into `m(`, `[` into `l(`, and `]` and `}` into `)`
No further optimizations are currently applied to your code.
## Mentions
LR1 parser, tokenizer, and several built-in functions are built based on the EvalEx project.