21 Commits

Author SHA1 Message Date
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
45b9712380 Some Refactoring and cleanups.
* Moved the AST datastructures into their own module.
* Collapsed the Expression Enum to just wrappers around structs
  instead of having actual structs in the definitions.
* Added a few more unit tests to ensure nothing got broken.
* Added documentation for the new structs.
* Added a unifying BinaryExpression Tuple type.
2017-09-06 18:16:28 -05:00
9df7d57f69 Add format string support. 2017-08-09 21:21:36 -05:00
4f18686fb8 Add README and License information. 2017-07-11 20:36:05 -05:00
72d03e21dd Add the build module.
Builder struct that takes a list of Statements and constructs a
Tuple from it.
2017-07-11 20:36:05 -05:00
4a156adae2 Refactor into separate modules for parsing and interpreting. 2017-07-11 20:36:05 -05:00
c6af1543bf Basic Parsing for the language.
The start of defining a languge for configuration generation.
2017-07-11 20:36:05 -05:00