6ccc6aaade
DEV: Reorganize some conversion code.
2020-05-25 14:23:25 -04:00
7a8b8e46eb
DEV: Link all the packages upfront
2020-05-25 14:23:25 -04:00
632019ac18
DEV: Implement primitive casting.
2019-11-11 20:06:17 -06:00
34636a1743
MAINT: cargo fmt
2019-11-03 14:20:25 -06:00
31d76ec733
MAINT: Unused variables and import cleanups
2019-11-02 11:12:17 -05:00
ac4dc2addd
DEV: All unit tests pass.
2019-10-17 17:57:06 -05:00
092d510feb
DEV: A bunch of comparison and in operator fixes.
2019-10-17 17:57:06 -05:00
3017ced8d9
DEV: A while raft of unit test fixes for error reporting mostly.
2019-10-17 17:57:06 -05:00
e256abfee6
DEV: Plugin the VM to our FileBuilder.
...
Most of the tests do not yet pass and the main.rs doesn't compile
but we are snapshotting here so we can start fixing unit tests
before we hook directly into the main.rs.
2019-10-17 17:57:06 -05:00
d1014d4b6e
DEV: Self references in tuples.
2019-10-17 17:57:05 -05:00
f1180dbc5f
DEV: Positions are tracked on the stack now too.
2019-10-17 17:57:05 -05:00
33a5694aad
DEV: The great Error message explosion.
2019-10-17 17:57:05 -05:00
7a2a99b859
MAINT: TODO cleanups
2019-10-17 17:57:05 -05:00
7bc98514bf
DEV: pkg() functions *should* work now.
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
e998e582ae
DEV: Function calls work. Also wired up some of 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
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