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
acffc6d5da
MAINT: cargo fmt
2019-10-02 20:56:09 -05:00
acfd343c7a
FIX: Give fmt a --overwrite flag.
...
Fixes : #51
2019-10-02 20:55:48 -05:00
b9309ce12b
FIX: Don't print an extraneous new line on fmt.
...
Fixes : #49
2019-10-02 19:55:40 -05:00
8f64d3385a
FIX: Exit with non-zero exit code when fmt fails
...
Fixes #50
2019-10-02 19:55:39 -05:00
b83c57b1f6
FIX: Builds on windows now.
2019-10-02 19:55:39 -05:00
ebb06c169b
FIX: Add newlines to yaml config output.
...
Fixes #48
2019-10-02 19:55:31 -05:00
49a64251a4
MAINT: cargo fix
...
Mostly to add the dyn keyword all the places where it will soon
be required.
2019-09-18 20:09:57 -05:00
97c25e076f
Make this a little more general.
2019-09-18 19:10:17 -05:00
Jeremy Wall
4ec27ff426
DEV: Collapse fields when merging yaml maps
2019-08-13 09:48:13 -05:00
Jeremy Wall
949d468f55
DEV: Fix escaping in both strings and format strings.
2019-08-12 18:10:48 -05:00
Jeremy Wall
dffa535f1b
DEV: Support the merge key syntax for yaml deserialization.
...
https://yaml.org/type/merge.html
2019-08-12 13:19:56 -05:00
Jeremy Wall
eb764b048a
MAINT: tag a v0.6.4 bug release
2019-08-12 11:41:35 -05:00
Jeremy Wall
cd4fdfb9be
DEV: Fix bug in eval command when you don't specify an input file.
2019-08-12 11:40:51 -05:00
7e88ed4d84
FIX: deprecated and unsafe code revealed by 1.36 rust release.
2019-07-11 14:53:11 -05:00
368c153c9e
MAINT: Bump version to v0.6.3
2019-06-21 17:10:18 -05:00
3bc56e9162
Fix json example
2019-06-20 19:42:23 -05:00
fa73cf258a
FEATURE: out statements work in a REPL
2019-06-20 19:39:09 -05:00
354f072c98
DOCS: Add details about the repl to our getting started doc.
2019-06-20 19:30:20 -05:00
f349293400
FEATURE: Support a convert expression.
2019-06-20 19:28:20 -05:00
1d08a84eab
MAINT: cargo update.
2019-06-03 16:33:25 -05:00
496130c5ed
DOCS: Update the warnings section of readme
2019-05-31 15:36:57 -05:00
e4000b90d5
MAINT: Add a Contributing.md document.
2019-05-30 18:36:36 -05:00
4bca898eda
MAINT: Bump version to v0.6.2
2019-05-30 18:23:08 -05:00
0766d8058f
DEV: Stop using nested tuples in flag output.
...
Now that we have string manipulation facilities in the stdlib
that is a less useful and more confusing feature. This code removes
it.
2019-05-30 18:22:47 -05:00
85f239a566
REFACTOR: Error handling to use BuildError throughout.
...
Also removed more extraneous error output.
Contributes toward issue #45
2019-05-29 18:58:13 -05:00