- Add function calls to expressions. For now only hard-coded functions such as MIN and MAX should be added.
- Add bank number to label struct
- Add a BANKNUM function e.g. BANKNUM(label)
-- Add .eval expression
- eval should run a assembly-like vm that can output tokens (e.g. eval script arg1, arg2 etc)
-- Add high-level mode
- .hl
- .endhl
- Inside a hl block a simple language should be available that has access to all
- defined labels.
- The language should be basic-like
- e.g.
-```
-sub(a, b)
- dim c = a + b
- if c > 2 then goto @true
- sub = 0 ; this is the return value
- return
-@true:
- sub = c
- return
-
-main:
- gosub sub 1, 2, addr_test
-
- poke addr_test, a
- a = peek addr_test
- main = 0
- return
-```
- The cpu backend should define how these high-level expressions get translated.