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
Jeremy Wall
949d468f55
DEV: Fix escaping in both strings and format strings.
2019-08-12 18:10:48 -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
f349293400
FEATURE: Support a convert expression.
2019-06-20 19:28:20 -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
e5f406d4e9
DEV: remove some unneccessary error output.
...
Working towards Issue #45
2019-05-28 21:08:54 -05:00
07d132bebc
CLEANUP: an errant debug printf...
2019-05-28 20:50:50 -05:00
c5d608216a
FEATURE: Repl commands.
...
Adds: #help and #del
Closes #46
2019-05-28 20:29:18 -05:00
879a8d2100
DEV: for the repl use case allow changed file reimports.
...
Closes #47
2019-05-28 19:55:35 -05:00
1589aaf7d7
Refactor: Use trait constraints instead of a trait object for our assets cache.
2019-05-28 18:24:02 -05:00
9382563dfc
DEV: Adds a Repl for ucg.
...
Uses a StatementAccumulator to handle the accumulation of lines
until a line terminated with a statement is encountered.
Fixes #41
2019-05-26 16:20:19 -05:00
957d0c6102
DEV: Handle comments between statements.
2019-05-21 20:54:15 -05:00
6661e02a75
DEV: Generate a comment map as part of our tokenization.
...
The comment_map is optional but if passed in it will be populated
during tokenization.
2019-05-20 21:05:58 -05:00
525cdd32e6
FEATURE: Use the AST Pretty Printer for TRACE and assert output.
2019-05-17 19:49:13 -05:00
ec756636b0
FEATURE: Add a TRACE pragma for assitance debugging ucg files.
2019-04-26 19:19:43 -05:00
439ebf74f3
FEATURE: Give modules a reference to self.
2019-04-24 19:13:22 -05:00
3385c775d3
MAINT: Fix small comment inaccuracy.
2019-04-18 20:22:35 -05:00
1fbd1c0a50
FIX: Bug in dot_lookups
...
curr_val forms the basis of the scope search but it shouldn't be part of the
lookup expression for the field.
2019-04-18 17:36:16 -05:00