Commit Graph

8 Commits

Author SHA1 Message Date
926447a62d Run cargo fix
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-20 15:33:21 -04:00
0eaa5060a2 Run cargo fmt
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-20 15:25:10 -04:00
161166da15 Add symbol collection visitor
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-20 15:24:40 -04:00
499e09b254 Move compile::Ctx to its own mod, compile::ctx::Ctx
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-20 14:51:30 -04:00
32591f5e29 Update how visitors work, add NameId type
* Visitors are now defined on a per-type level, allowing for greater
  flexibility in combining and re-using behavior
* NameId is used for namespaces, which are used to index locally scoped
  variables. Syms are used for free namespaces, specifically in objects.
  All NameIDs are symbols, while not all symbols are NameIDs.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-20 14:41:12 -04:00
98f455e6fa Squash some warnings
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-19 15:29:20 -04:00
8dc89f7153 Add a lot of new stuff to the compile mod
* compile::sym is now compile::name
* add basic block structure
* add visitor pattern
* some other minor things (e.g. syn::ast::prelude)

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-19 15:26:38 -04:00
a15dde0fc2 Add vm and compile modules
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-05-16 12:56:52 -04:00