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
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
d13c79729c
Escape the string for the Display trait for VAL.
2019-03-25 21:06:51 -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
c3025c710e
MAINT: Unit tests for let statement comopile failures
2019-02-08 18:50:58 -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