26 Commits

Author SHA1 Message Date
e3f9b685c6 DEV: SimpleFormat expressions work. 2019-10-17 17:57:04 -05:00
405ad2880e DEV: Simple formatting works 2019-10-17 17:57:04 -05:00
40fc6fe15f DEV: Modulus operator works. 2019-10-17 17:57:04 -05:00
a36322461e DEV: And and Or operators work 2019-10-17 17:57:04 -05:00
48ea8b30ef DEV: Type check expressions work. 2019-10-17 17:57:04 -05:00
2bfb1ee6fe DEV: Regex binary expressions work. 2019-10-17 17:57:04 -05:00
01a379f79c DEV: Simple binary expressions compile. 2019-10-17 17:57:04 -05:00
27ac204c48 DEV: Simple scalar expressions compile. 2019-10-17 17:57:04 -05:00
9f31a16b93 DEV: A first pass at the runtime.
Minus the actual compiling of a file in imports.
2019-10-17 17:57:04 -05:00
a7aab10723 DEV: The beginnings of a runtime for the opcode vm. 2019-10-17 17:57:04 -05:00
fa2ad0c5a9 REFACTOR: Code organization. 2019-10-17 17:57:04 -05:00
102f0f5ae1 DEV: Indexing operation. 2019-10-17 17:57:04 -05:00
a50eb46c5e FIX: Rc instead of borrows because the lifetimes get unweildy. 2019-10-17 17:57:03 -05:00
ed143b6a00 REFACTOR: modules and functions carry around a reference to their code. 2019-10-17 17:57:03 -05:00
c1f84c4861 REFACTOR: JumpIfNotEqual -> SelectJump 2019-10-17 17:57:03 -05:00
673cb8f8b7 MAINT: Cleanup up the InitThunk operation to use i32 2019-10-17 17:57:03 -05:00
996d8821d7 DEV: Unit test verifying we can implement a select expression.
* Also unify our jumps as relative jumps
2019-10-17 17:57:03 -05:00
3bb6f6e8eb DEV: JumpIfFalse op code. 2019-10-17 17:57:03 -05:00
56174cbe52 DEV: Make it an error to reuse a name in a scope. 2019-10-17 17:57:03 -05:00
da3e235942 DEV: Function and Module operations 2019-10-17 17:57:03 -05:00
7242a68ff9 MAINT: Cleanup warnings and unnecessary qualifiers. 2019-10-17 17:57:03 -05:00
53c7dfb1ce DEV: Conditional Jumps 2019-10-17 17:57:03 -05:00
7de2e1c349 DEV: Equality Ops 2019-10-17 17:57:03 -05:00
dc7437a8c1 DEV: Implement Jumping 2019-10-17 17:57:03 -05:00
c6037f6ea7 REFACTOR: reference the Composite types directly. 2019-10-17 17:57:03 -05:00
b6c208fb97 REFACTOR: Keep the bytecodes in memory
This will help us implement functions and modules.
Also move each of the operations into a separate method.
This will help the readability of our run method.
2019-10-17 17:57:03 -05:00