c3bdce74a9
MAINT: cargo fmt.
2020-04-26 12:19:06 -04:00
c1414bdde4
DEV: Removing gratuitous use of Rc.
...
It was unnecessary once I better understood the ownership
model and it had a significant performance cost. Removing
it brought the runtime for the integration tests down from
an average of 6 seconds to less than a second on my laptop.
2020-01-04 11:47:00 -06:00
13f0749ac8
FIX: v0.7.0 completely broke stdlib loading.
2019-12-09 20:11:42 -06:00
632019ac18
DEV: Implement primitive casting.
2019-11-11 20:06:17 -06:00
Jeremy Wall
392050d9f4
DEV: Don't output the welcome message if we aren't interactive.
2019-11-11 18:15:27 -06:00
7e3e598423
Merge branch 'master' into bytecode
2019-11-09 19:42:34 -06:00
6f714e6583
DEV: Canonicalize is never the right thing on windows.
2019-11-09 15:39:32 -06:00
27011769dd
DEV: respect strict in our bytecode interpreter
2019-11-09 15:07:46 -06:00
aecb1d571e
DEV: Get rid of the MemoryCache implmentation.
2019-11-09 14:38:14 -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
e058088a17
DEV: Working repl;
2019-10-17 17:58:03 -05:00
d092fba5e8
DEV: More of the ucg commandline works now.
2019-10-17 17:58:03 -05:00
b3fd37a6b5
DEV: Integration tests all pass now.
2019-10-17 17:57:06 -05:00
2b64c2b4e0
DEV: The cargo test command works now.
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
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
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
d4b7bdcd46
DEV: Basic primitives and operations on them in a VM Stack Machine.
2019-10-17 17:57:03 -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
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
0e41a40ab3
FEATURE: Add a function to the mod binding that imports the containing package.
2019-04-16 20:09:27 -05:00
0e2e396ac3
FIX: Include source file for parsing/build errors in the std lib.
2019-04-15 22:18:39 -05:00
1f7d405a3b
MAINT: Cleanup todos and unnecessary code.
2019-04-08 21:42:39 -05:00
2e38a3486e
FIX: import cycle detection which was broken.
2019-03-29 10:24:07 -04:00
df8834dddc
FIX: Grouped Expressions store their position properly now.
2019-03-26 20:45:33 -04:00
263e91c9f9
MAINT: Cleanup some todos and wording.
2019-03-23 21:16:30 -05:00
708f23c674
MAINT: cleanup old FIXME comment.
2019-03-21 19:53:49 -05:00
b6a7f9778c
FEATURE: OS portable import and include paths.
...
Adds #38
2019-03-20 20:08:43 -05:00
f86d9b8ec6
FIX: Better error messages when importing.
...
If the path or directory doesn't exist show the invalid path in the
error message.
Fixes #37
2019-03-19 20:11:26 -05:00
40107cefb6
FEATURE: Parsing and evaluation with optional defaults in select.
2019-03-01 17:10:03 -06:00
e095cb3235
REFACTOR: AST changes to support optional defaults.
2019-03-01 16:52:08 -06:00
c8443b9181
MAINT: The great TODO cleanup.
2019-02-27 19:52:06 -06:00
d9b2c0cb00
FEATURE: out expression for modules.
...
issue #35
2019-02-21 20:09:47 -06:00