56 Commits

Author SHA1 Message Date
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
24a4dc85c2 REFACTOR: the format logic belongs in the build module. 2019-02-06 20:35:33 -06:00
1dba5f66ce FEATURE: map, filter, and reduce over lists. 2019-01-18 20:01:08 -06:00
83a641e740 FEATURE: Add regular expression comparison operators. 2019-01-07 19:38:25 -06:00
2c3f9c7b8f Add base64 as an importer type aside from string. 2019-01-05 14:33:12 -06:00
8aa47282cd DOCS: Fix some reference links. 2019-01-04 10:16:57 -06:00
05aa57ae7f REFACTOR: Builder => FileBuilder 2018-12-31 11:08:32 -06:00
b91fe1550b FEATURE: XML output using a dsl to describe the DOM 2018-12-12 19:28:14 -06:00
e9a0bde631 MAINT: Opt in to 2018 edition of Rust. 2018-12-06 12:23:52 -06:00
64e3b793ae DOCS: Update docs for Modules.
Also since We have the reference site now not longer embed the reference in the library
documentation.
2018-11-23 13:14:29 -06:00
eebe0bbe67 FEATURE: Add toml as an output converter.
closes #4
2018-11-16 13:26:11 -06:00
bdf56f6d3c FEATURE: Allow self references when doing a tuple copy.
Closes #3
2018-11-16 10:36:06 -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
be4feb12ba MAINT: Documentation updtes for the output statement. 2018-11-06 18:14:01 -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
676f897189 FEATURE: Add YAML converter. 2018-08-25 18:39:25 -05:00
6bcf822c41 FEATURE: Allow Quoted strings as a field name in Tuples.
Also add tuple specific regression tests.
2018-08-24 21:19:18 -05:00
a1bfba65b7 MAINT: Bump version 0.1.8 2018-08-22 19:05:51 -05:00
a7a32d56b2 FEATURE: More ergonomic syntax for asserts. 2018-08-20 22:51:55 -05:00
263cccc97a DOCS: Update documentation for selectors. 2018-08-19 09:35:13 -05:00
deb593ad56 DOCS: Update docs with new features. 2018-08-17 22:09:57 -05:00
be1fb4e678 FIX: Fixes some bugs with the import processing. 2018-08-14 16:12:02 -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
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
ab8eb9f101 DOCS: Expand on the restrictions for macros. 2018-06-06 20:36:16 -05:00
aa8d2cab29 FEATURE: Allow trailing commas in the tuple, copy, and list syntax 2018-05-28 08:15:48 -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
00c1e1751a Formatting: cargo fmt. 2018-05-14 21:34:38 -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
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
141385920a Update language spec with the NULL empty type. 2018-03-17 09:17:51 -05:00
0a8f3d703d More documentation cleanup and a reexport.
Grammar, spelling, and wording fixes. Also reexport the Val
type which is the intermediate type of a compiled config.
2018-03-12 21:34:40 -05:00
5a03cc33ef FEATURE: Allow Environment Variables to be referenced in the builder. 2018-03-12 19:21:47 -05:00
bafe5b3c30 cargo fmt pass with the new rustfmt-preview 2018-02-15 19:55:43 -06:00
e3e8e68f19 Documentation formatting, grammar, and spelling. 2018-02-05 20:05:20 -06:00
a2f689ce0d Cleanup and formatting.
* Unused code warnings.
* Ran cargo fmt.
2018-02-05 19:43:04 -06:00
1e063fd129 Add escaping using a backslash for string tokens. 2018-02-05 19:38:54 -06:00
6b27ff1d25 Basic language reference in the ucglib docs. 2018-02-05 08:44:14 -06:00
5fba06d71f Add json as an output type.
* Uses serde_json
* Doesn't handle macro values very well.
* Handles maps and lists just fine.
* doesn't pretty print the values though.
2018-02-04 16:08:30 -06:00
97c97ced55 Finish splitting the Tokenization and parsing stages.
* Added some helper matcher macros for tokens.
* Added some helper assertion macros for tests.
* Tokenization and Parsing are two separate stages.
2018-02-02 15:29:24 -06:00
336dd5e5ea FEATURE: Parsing of comments. 2017-12-24 15:24:06 -05:00
7a0a194fb9 Feature: Better error reporting.
* Common Error Type with line and column reporting.
* Removed some todos.
2017-12-09 10:02:45 -06:00
e975dea201 cleanup: fix some selector vs symbol parsing issues
Add test coverage of selector parsing.
2017-11-15 22:41:55 -06:00
45d0fb6e59 Add tokenizer mode that uses nom to parse the individual tokens.
This allows us to start to break down the problem into tokens and their
position in the parsed syntax.
2017-10-02 21:32:06 -05:00
c091878364 Add a macro for constructing values with or without a position. 2017-09-23 11:33:50 -05:00