* Builtin functions print and println have been added
* If a global lookup fails, the VM will attempt to look up a builtin
* Vm::call(fun, args) allows interrupting the current execution state
and starting a new function instead. It will return the value left on
top of the stack.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
Functions are compiled in the most naiive way right now. I want to fix
up how scope lookups are done before it becomes too much to update.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
* Add lexer and parser using lrpar crate
* AST is added and constructed via lexer and parser
* Command line program `not` will read a file and parse it
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>