Written in Go!
let a = 10;
let b = 12;
if a == 10 {
print a;
}else if b == 12 {
print a+b;
}else {
print 0;
}
- go (>=1.22.2)
- python3
- bash
./run build
# Wasm
./run build wasm
Native Executable can be found in ./out
RUN_TYPE={interpreter-arg} ./run {script-args} {.pod file}
# OR
./out/pod-interpreter {interpreter-arg} {.pod file}
Interpreter Arguments
tokenize
parse
(parse expression)evaluate
(evaluate expression)run
(run program)
Script Arguments (not set by default)
build
: builds for selected targetwasm
: sets target to WASMtest
: Runs testsbless
: (only withtest
) saves state of stdout & stderr for future testing
Web server starts at localhost:8080. Web interpreter files can be found in ./out
# Wasm (server at localhost:8080)
./run wasm
- Tokenizer
- Parser
- Expression Evaluator
- Variable
- If statement
- While loop
- For loop
- Functions
- Function Arguments
- Return
- File read/write
- Stdin
- Stdlib
- Testing
+
, -
, *
, /
, ^
, %
, ==
, !=
, >
, >=
, <
, <=
, &&
, ||
func
, return
let
if
, else
, for
, while
string
, int
, float
, true/false
;
, (
, )
, {
, }