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
0e5751c2b0
REFACTOR: Use our new handy dandy to_boxed method on BuildError.
2019-02-20 21:21:48 -06:00
923ba89e2f
REFACTOR: Correctly use parse errors as a cause.
2019-02-20 20:39:28 -06:00
1699801895
FEATURE: Wrap include failures in a Build Error.
...
This is way more ergonomic for the users.
2019-02-20 20:29:32 -06:00
014710a4ba
FEATURE: Allow BuildErrors to wrap other errors.
2019-02-20 20:28:05 -06:00
8639912567
FEATURE: BuildError no longer requires a position.
2019-02-19 17:38:13 -06:00
ceaed5c543
REFACTOR: No longer require PositionedItem for Val::Tuples.
2019-02-19 16:38:06 -06:00
3cfbe6564c
FEATURE: Empty files result in Val::Empty as their result.
...
We also print a warning message for the consumer.
2019-02-19 15:32:04 -06:00
c7a87894ba
FEATURE: Add the %%
modulo operator.
2019-02-18 21:09:42 -06:00
214045f1a6
FIX: Better error messages for func calls.
...
Also better more consistency for some type fails in other expressions.
2019-02-08 20:57:13 -06:00
a1bc81ee89
FIX: Better error reporting for copy calls
2019-02-08 19:01:16 -06:00
6de26820c8
FEATURE: better error reporting for out statements
2019-02-06 21:06:05 -06:00
d354d9e67d
REFACTOR: build_assert -> eval_assert for consistency
2019-02-06 20:44:15 -06:00
24a4dc85c2
REFACTOR: the format logic belongs in the build module.
2019-02-06 20:35:33 -06:00
efef2bc3d2
FIX: Better error reporting for binary expressions.
...
Closes #34
2019-02-03 14:09:07 -06:00
a74d44c171
FIX: Even more and better error reporting.
...
Addresses: #34
2019-02-03 14:08:39 -06:00