118 Commits

Author SHA1 Message Date
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
155a73ba2a DOCS: Add Copyright Notices to files missing them. 2018-07-06 18:53:20 -05:00
0fc8c537f9 CLEANUP: Cleanup some todos and unused code. 2018-07-04 12:52:00 -05:00
5e6da71ff2 Cut the v0.1.5 release. 2018-07-04 12:48:33 -05:00
921643972b REFACTOR: Speed up precedence parsing.
Do less reparsing by parsing the list of operators and operands first before
performing the bottom up parsing.
2018-07-04 12:33:08 -05:00
b12ac18481 FEATURE: Benchmarking and tracing
Benchmarks and tracing as a compile time feature. This should help
while tracking down performance bottlenecks.
2018-07-02 18:30:17 -05:00
f3d995178b FIX: Bug in the macro fallback case for alt_peek 2018-06-25 15:30:02 -04:00
f96813a2a8 DOCS: Documentation fixes. 2018-06-21 11:40:12 -04:00
4875b623f7 FORMATTING: Fix cargo fmt errors in a macro. 2018-06-21 11:40:12 -04:00
c5e07daa7b FEATURE: Add an exec conversion target. 2018-06-21 11:40:05 -04:00
db9617bd6f REFACTOR: Don't presume io::Result for the converter Result. 2018-06-18 22:07:18 -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
3524a5df73 FEATURE: Comparison binary expressions now support non-compare expressions on both sides. 2018-06-06 21:02:02 -05:00
3d7c70aa2a TESTS: Use EVAL as the file name for our compile test. 2018-06-06 20:38:53 -05:00
5f0812b975 FEATURE: Turn on validate_mode for the validate subcommand only. 2018-06-06 20:38:53 -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
3ad0e3df25 FORMATTING: cargo fmt 2018-06-06 20:38:23 -05:00
ab8eb9f101 DOCS: Expand on the restrictions for macros. 2018-06-06 20:36:16 -05:00
5c0df5b538 FEATURE: Better error reporting using an alt_peek! macro. 2018-06-04 20:48:56 -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
e86186b709 CLEANUP: Formatting
cargo fmt
2018-05-29 20:48:57 -05:00
a821ff6313 FEATURE: Use normalized paths for the import cached lookup 2018-05-28 13:18:50 -05:00
aa8d2cab29 FEATURE: Allow trailing commas in the tuple, copy, and list syntax 2018-05-28 08:15:48 -05:00
40494fb90e CLEANUP: Comment cleanup. 2018-05-27 21:22:09 -05:00
cfd5f085cd TESTS: operator precedence compiler test. 2018-05-27 21:14:36 -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
cefb307783 FEATURE: Allow tuples and lists as the head of a selector. 2018-05-27 14:46:39 -05:00
988698fc01 Refactor: Improved expression parsing organization.
Any non-operator expression can be a part of an operator expression.
This cleans up and makes clearer the precendence relationships for parsing.
2018-05-26 09:12:00 -05:00
79bee4e2b4 POLISH: Better error reporting for statements. 2018-05-22 19:05:40 -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
8164792927 Documentation fix. 2018-05-14 21:52:49 -05:00
3873b1c98a RELEASE: v0.1.0 release prep
- Documentation fixes for operator precendence changes.
- Mark this as a v0.1.0 change for with potential breaking api changes.
- Cleanup TODO documentation.
2018-05-14 21:49:10 -05:00
05f6597f00 FEATURE: Proper precendence for math operators.
Using nested combinators for enforce parsing precedence.
2018-05-14 21:44:01 -05:00
00c1e1751a Formatting: cargo fmt. 2018-05-14 21:34:38 -05:00
f4b5cf1b0c Fix module references. 2018-04-28 11:06:53 -05:00
0d0f66f9c7 Add grouped expression support for binary operators. 2018-04-16 20:05:54 -05:00
4265b0177b split ast handling into a separate module directory. 2018-04-16 20:05:54 -05:00
37bb75b891 Add comparison operators. 2018-03-29 09:51:08 -05:00
01e7ee59b7 Unify Errors so better error messages can be had. 2018-03-23 18:34:26 -05:00
bfde2c5238 Add Boolean types. 2018-03-23 17:31:30 -05:00
eeac1ba599 Parsing the map operations. 2018-03-21 19:01:38 -05:00
51edc6d15c Retain the position of errors in the tokenization phase. 2018-03-21 19:00:07 -05:00