2b47ca8617
FEATURE: Use UCG_IMPORT_PATH to identify the import paths.
...
fixes #9
2018-12-13 19:03:22 -06:00
f26e26d2ad
FEATURE: Support search paths for import statements.
...
A step toward #9
Adds builder support. We do not yet wire in the import paths.
2018-12-13 18:29:41 -06:00
aab89f2d1a
MAINT: Removed debug print statements.
2018-12-12 19:05:20 -06:00
8009c6a8a5
MAINT: Formatting cleanup.
2018-12-10 21:27:44 -06:00
9b5b7aa793
MAINT: Fix try macros to use ?
2018-12-06 13:14:01 -06:00
e9a0bde631
MAINT: Opt in to 2018 edition of Rust.
2018-12-06 12:23:52 -06:00
1d5f0319f3
FEATURE: Detect import cycles.
2018-11-28 21:12:09 -06:00
8d73b5f648
CLEANUP: Don't use file everywhere in error messages.
2018-11-28 20:48:04 -06:00
163420ff55
REFACTOR: More consistent naming for Builder methods.
2018-11-28 20:23:32 -06:00
960dbef591
REFACTOR: Pass file into the constructor for builders.
2018-11-28 20:11:34 -06:00
9d2d3843a5
MAINT: comment cleanup.
2018-11-27 15:03:27 -06:00
fe4bb1c9d7
FEATURE: allow tuples to have true or false as field names.
...
this allows selects where the condiotion is a boolean and you can choose
the true or false branch.
2018-11-26 23:08:14 -06:00
aa183960d3
FEATURE: support a strict mode for building.
...
When strict mode is off then give a warning for unset env variables
and return NULL.
2018-11-26 21:36:50 -06:00
1365a38700
FEATURE: Check bindings against the reserved word list for imports and let bindings.
2018-11-26 20:22:37 -06:00
5e07f24d91
FEATURE: handle ENPTY specially. in copy expressions.
2018-11-25 13:26:47 -06:00
b797f099b4
REFACTOR: root is actually always a file. Lets call it as such.
...
Also have a helper function to get the current build_dir.
2018-11-25 13:03:33 -06:00
fa96c7c0ef
FEATURE: UCG Parameterized Modules
...
closes #10
Squashed commit of the following:
commit 3101c2bb9a385ed9e84481d36906a3e3ce93e571
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Wed Nov 21 20:10:31 2018 -0600
FEATURE: Module evaluation
* handle evaluating the module definition.
* Handle performing a module instantiation via the copy syntax.
commit 4ca863896b416e39f0c8eacc53384b9c514f6f14
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Tue Nov 20 18:38:19 2018 -0600
FEATURE: Add module parsing expression parsing to ucg.
changes toward issue #10
2018-11-23 12:51:13 -06:00
bdf56f6d3c
FEATURE: Allow self references when doing a tuple copy.
...
Closes #3
2018-11-16 10:36:06 -06:00
15026423db
REFACTOR: Rename our error::Error type to BuildError.
2018-11-12 18:07:31 -06:00
d2f0ea9f24
FEATURE: Better error reporting.
...
Slight change to how assert works to support this. We no longer automatically add
a semicolon to the expressions we require the user to right them. This updates the
docs to illustrate that and reformats our integration test suite for this and
readability.
2018-11-06 19:40:56 -06:00
6712fc9bb5
Merge squash of the no_more_nom branch
...
commit e4c80b19f5149fb7dba0a9b785e22ff5323b5470
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Sun Nov 4 09:54:16 2018 -0600
FEATURE: report better stacktraces for parsing.
commit 24b97c1037d6ddbe21f32e172b1c14cd2cfb9910
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Wed Oct 17 19:00:29 2018 -0500
FEATURE: Use context for our error reporting.
commit c22d397545e7575608e34561a274745b28be8c2c
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Sun Oct 14 14:18:42 2018 -0500
FIX: Better error reporting.
commit 7f47dc3f38bf6a3e8686c1fa3fd50ef97d4bf3af
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Sat Oct 13 19:42:22 2018 -0500
REFACTOR: Pass our offsets everywhere.
commit 91d7ed690bfd9989270ba9fa4f44c70f513d54b9
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date: Sun Sep 23 15:08:45 2018 -0500
REFACTOR: Use abortable_parser.
2018-11-05 21:34:12 -06:00
fb5247e98f
FEATURE: Use offsets for errors when parsing an assert.
2018-08-30 19:50:57 -05:00
d288924fbb
FEATURE: output the parse or build errors of assert statements.
2018-08-29 20:12:54 -05:00
ae419ea3e7
REFACTOR: Move the ucg IR into it's own module.
2018-08-24 19:36:36 -05:00
3ed8fe332f
FEATURE: Support boolean and EMPTY as a format string variable.
...
Also add format string regression tests.
2018-08-24 19:36:22 -05:00
f982194518
FEATURE: Allow filtrator expressions to return boolean.
...
Also a bugfix where we were accidentally mapping instead of filtering.
2018-08-22 18:57:38 -05:00
f9cdd4f3f6
BUGFIX: Regression tests for our list operators and bugfixes.
2018-08-21 23:05:42 -05:00
3a90812d41
FEATURE: Handle directories and recursing.
...
The build and validate commands can nor process directories and recurse if desired.
2018-08-17 22:09:51 -05:00
ca982dfc02
BUGFIX: Error message for parse errors reported wrong file name.
2018-08-15 18:37:31 -05:00
6418533562
UI: Command line subcommands and arguments are more usable.
...
The build and validate commands now take a list of files to process.
The outputs for files that specify the are given the same name as
the containing file with the extension changed to the extension that
the converter specifies.
2018-08-15 18:32:28 -05:00
be1fb4e678
FIX: Fixes some bugs with the import processing.
2018-08-14 16:12:02 -05:00
9370fbe17e
FEATURE: Shared cache for all built ucg files.
2018-08-13 23:43:14 -05:00
f3e769095d
FEATURE: Parse out statements.
2018-08-13 20:37:58 -05:00
3779c4912d
CLEANUP: Documentation and public interface.
...
* Added missing docs for public methods or functions.
* Made private methods or functions that didn't need to be exposed.
* Cleaned up spelling and grammar on some of the docstrings.
2018-07-16 17:32:09 -05:00
5d32dc83a4
CLEANUP: Fix naming to not collide with String when using.
2018-06-10 14:13:08 -05:00
bb198d9d02
FIXES: Unit test and fixing performance regressions.
2018-06-10 13:51:19 -05:00
2d71145813
FEATURE: Evaluation of an Assert Statement.
2018-06-06 20:38:53 -05:00
223d0cecf0
FEATURE: Parsing support for assert statements.
2018-06-06 20:38:53 -05:00
c008d689a1
FEATURE: Error message improvements.
...
Selector path lookup errors render better.
We also include the actual file name we are parsing now.
2018-05-30 22:31:55 -05:00
e926bdd733
Add filename information to the builder error messages.
2018-05-29 20:54:53 -05:00
a821ff6313
FEATURE: Use normalized paths for the import cached lookup
2018-05-28 13:18:50 -05:00
2df6cece33
CLEANUP: Extraneous TODOs
2018-05-27 21:07:07 -05:00
bfdf5da834
CLEANUP: FIXME comments
2018-05-27 14:55:21 -05:00
fdd8a35086
CLEANUP: The great test module refactor.
...
Move tests into a separate file for more manageable file
organization.
2018-05-22 18:58:08 -05:00