669 Commits

Author SHA1 Message Date
b016b9294b DEV: filtering maps, lists, and tuples works. 2019-10-17 17:57:05 -05:00
8d7ca3d6c1 DEV: Maps over lists, strings, and tuples are working 2019-10-17 17:57:05 -05:00
4ba4355d37 MAINT: Cleaning up some warnings. 2019-10-17 17:57:05 -05:00
3dd0cc6794 DEV: Extract the environmentally shared pieces out 2019-10-17 17:57:05 -05:00
946a112eb4 DEV: Working Trace statements 2019-10-17 17:57:05 -05:00
2985d4258f DEV: Ranges and Select expressions. 2019-10-17 17:57:05 -05:00
44178b601c DEV: Fill in the include and import opcode generation. 2019-10-17 17:57:05 -05:00
100d963f41 DEV: Modules work now. 2019-10-17 17:57:05 -05:00
e998e582ae DEV: Function calls work. Also wired up some of the bang opcode. 2019-10-17 17:57:04 -05:00
f9c3ebeb50 DEV: Translate fails into the Bang opcode. 2019-10-17 17:57:04 -05:00
8c39c3826c DEV: LtEq, GtEq, and in operators work. 2019-10-17 17:57:04 -05:00
cd23430f5f DEV: Complex Format expressions are supported now. 2019-10-17 17:57:04 -05:00
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
422569c7b4 DEV: Tuple and List values are translatable. 2019-10-17 17:57:04 -05:00
52a66bae8b DEV: Let bindings work. 2019-10-17 17:57:04 -05:00
c792d758d7 DEV: List indexing 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
c19a51424f DEV: Not expressions compile 2019-10-17 17:57:04 -05:00
badf370dfb DEV: NotEqual and other comparisons fixes. 2019-10-17 17:57:04 -05:00
059c336990 DEV: Grouped Expressions compile. 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
3cb73e9543 FIX test input to be clear about the success condition. 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
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
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
04480663e8 TESTS: Expresions as field values in lists and tuples. 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
d7da091b83 DEV: List and Tuple construction. 2019-10-17 17:57:03 -05:00
d4b7bdcd46 DEV: Basic primitives and operations on them in a VM Stack Machine. 2019-10-17 17:57:03 -05:00