19 Commits

Author SHA1 Message Date
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
3cb73e9543 FIX test input to be clear about the success condition. 2019-10-17 17:57:03 -05:00
fa294a2188 DEV: Default test case for select expressions. 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
aac263be2c DEV: DSL for table based testing using macros. 2019-10-17 17:57:03 -05:00
3bb6f6e8eb DEV: JumpIfFalse op code. 2019-10-17 17:57:03 -05:00
da3e235942 DEV: Function and Module operations 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
04480663e8 TESTS: Expresions as field values in lists and tuples. 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