28 Commits

Author SHA1 Message Date
72de604384 Add multidocument yaml support for output.
Closes issue #54
2020-04-12 18:54:53 -04:00
3bc56e9162 Fix json example 2019-06-20 19:42:23 -05:00
0766d8058f DEV: Stop using nested tuples in flag output.
Now that we have string manipulation facilities in the stdlib
that is a less useful and more confusing feature. This code removes
it.
2019-05-30 18:22:47 -05:00
525cdd32e6 FEATURE: Use the AST Pretty Printer for TRACE and assert output. 2019-05-17 19:49:13 -05:00
f1c7d76fdd REFACTOR: The great renaming macro -> func. 2019-01-24 20:04:40 -06:00
54faeede5e FEATURE: Imports as expressions.
This is a breaking change for the language. However it makes a number of things
easier. Like importing specific symbols from a file.

adds: #28
2019-01-13 14:10:43 -06:00
544cd1572e MAINT: remove extraneous files 2019-01-08 19:25:52 -06:00
0a09f26aad FEATURE: Add xml namespace support. 2018-12-12 20:26:19 -06:00
3d017a76da FEATURE: Initial xml export via a DSL. 2018-12-12 19:28:14 -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
0053afbe0c DOCS: Add a reference for converters to the docsite and some examples.
Also update the README to point to the Docsite as well.
2018-11-17 22:11:52 -06:00
eebe0bbe67 FEATURE: Add toml as an output converter.
closes #4
2018-11-16 13:26:11 -06:00
676f897189 FEATURE: Add YAML converter. 2018-08-25 18:39:25 -05:00
ab2ac0c714 BUGFIX: wrong wording on error. 2018-08-17 22:09:57 -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
9370fbe17e FEATURE: Shared cache for all built ucg files. 2018-08-13 23:43:14 -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
eeac1ba599 Parsing the map operations. 2018-03-21 19:01:38 -05:00
07413c9e8d Add list flag support.
If a field has a list of primitive values in it expand it to multiples
of that flag for each value in the list.
2018-03-15 19:45:16 -05:00
b31e95567d Add embedded struct output support for flags.
We use a dotted syntax for now but we might want to support other
separators in a future commit.
2018-03-06 19:48:54 -06:00
5a6737d858 Add an environment variable output target. 2018-02-12 22:47:42 -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
594e14cd0f Updated Exmple 2017-11-26 13:08:47 -06:00
afdd2e5be8 List Parsing and evaluation support.
Also some formatting and todo cleanup.
2017-11-26 12:22:58 -05:00
e975dea201 cleanup: fix some selector vs symbol parsing issues
Add test coverage of selector parsing.
2017-11-15 22:41:55 -06: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