Commit Graph

5 Commits

Author SHA1 Message Date
be9a659159 Add Bool builtin type, branches, and some more stuff
* obj::Bool builtin type is used for truthiness and decision-making
* Branches are compiled and seem to be working for basic integer
  comparison
* Updated version of Shredder to what is current as of writing
* CheckTruth VM instruction that will explicitly set the condition flag
* Probably some other stuff

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-11-06 16:57:25 -08:00
38b7124fe2 Add rerun_except crate, and small example code
* rerun_except will ensure a build doesn't rerun if a *.not file is
  modified, which it would otherwise do
* Add examples/expr.not with some basic assignment statements and
  function calls

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-09-17 13:26:38 -07:00
372e58f620 Fold runtime/ crate into this source tree
While I like the idea of having a runtime completely decoupled from the
syntax and compiler, I don't think this is that big of a project for
that to be necessary or even useful yet.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-09-14 14:14:21 -07:00
8e2cbb10a4 General changes across the runtime crate in support of compile module
* Compile module is able to compile bytecode (or so it seems...)
* Runtime crate has had some new stuff added to it, mostly with objects
  and vtables. Still not 100% on the object method function call story,
  but I guess it'll be tackled when we get there.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-09-14 14:09:29 -07:00
c25a3b5e2b Add Cargo.toml, forgot it in the last commit
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-09-02 14:40:40 -07:00