00cc246903
FEATURE: Allow trailing commas in map, filter, and reduce expressions.
2019-02-27 19:41:09 -06:00
d9b2c0cb00
FEATURE: out expression for modules.
...
issue #35
2019-02-21 20:09:47 -06:00
6de26820c8
FEATURE: better error reporting for out statements
2019-02-06 21:06:05 -06:00
276c155264
FIX: More error reporting improvements.
2019-02-03 20:56:21 -06:00
2068063a5b
FIX: Better error reporting.
...
Also adds some testing functions to check build failures.
Begins to address Issue #34
2019-02-01 19:17:31 -06:00
46ba32f038
FEATURE: Allow more expressions in the functional builtins.
2019-01-31 16:38:53 -06:00
3619153218
FEATURE: Syntax improvement for map filter and reduce.
...
closes #33
2019-01-31 16:33:12 -06:00
4d6fd87c3d
FEATURE: Allow expressions for functions in reduce/map/filter.
2019-01-30 20:35:28 -06:00
3c1b3ce86a
FEATURE: Expression format string support.
...
Experimental support for Issue #23
2019-01-28 21:30:37 -06:00
f1c7d76fdd
REFACTOR: The great renaming macro -> func.
2019-01-24 20:04:40 -06:00
016e4a22db
FEATURE: Add the not operator.
2019-01-24 16:53:02 -06:00
b6c2a08c8f
FEATURE: Better parsing errors.
...
More specific reports about what is wrong when we know the correct
next tokens to expect.
2019-01-22 20:59:25 -06:00
6321828006
FEATURE: The begnnings of some schema definition utilities.
...
Also allow failure messages to be generated from any expression.
2019-01-20 08:32:05 -06:00
6d5d4c79de
FEATURE: Declarative failures.
...
FIXES : #30
2019-01-19 11:39:37 -06:00
eaa3e84179
FIX: Treat is as a regular binary operator
...
do syntax checks post parse. Also to avoid collisions with
keywords require quoting the types.
2019-01-19 10:49:33 -06:00
25d84a771e
FEATURE: Add the is operator
...
This operator tests that something is of a certain base type.
2019-01-18 18:47:11 -06:00
890387b4cc
FEATURE: Macros are just an expression now.
...
This is a breaking change for the map, filter, and reduce expressions
but happily a forward compatible change for macros themselves.
2019-01-16 19:27:58 -06:00
9767ea20b4
FEATURE: Better error messages for select expression parsing.
2019-01-16 17:47:07 -06:00
685ee7407e
FEATURE: make macros close over their environment.
...
The benefits are great enough to allow this and the benefits of
not allowing closures are not terribly useful.
We do not get the same benefits for modules though so we don't add
it to them.
2019-01-14 18:23:39 -06:00
3cfed0d0e1
FEATURE: Better error reporting using must!.
...
Some errors around punctuation were less than helpful. This should
improve that situation somewhat.
2019-01-13 14:31:04 -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
6f9ba2ac33
FEATURE: Add the range expression.
...
fixes : #24
2019-01-10 19:40:32 -06:00
d989e47706
FEATURE: Use a better DSL for unit tests.
...
* Assert now requires a tuple instead of a string containing
statements.
* We include a helpful ucg based unit testing module.
Fixes : #26
2019-01-10 17:17:57 -06:00
e46496c666
FEATURE: Add a reduce operator for lists and tuples.
...
fixes #19
fixes #21
2019-01-06 20:57:37 -06:00
a830047784
FEATURE: Add include as a string functionality.
...
Includes happy path tests for including a string.
fixes #15
2019-01-04 10:03:50 -06:00
9ec73868b5
FEATURE: evaluate dot selectors as a binary operator now.
...
Also fixed a precedence bug in our parser.
2019-01-02 16:57:55 -06:00
a028960a43
REFACTOR/FEATURE: Treat selectors as an operator.
2018-12-31 17:31:34 -06:00
fb292b4684
REFACTOR: Unify the Binary Operator AST data structures.
2018-12-31 17:24:07 -06:00
821f1e9fb2
MAINT: Cleanup
...
TODO and FIXME removals.
Replaced unnecessary alt_peek! macro.
Renamed some types for clarity.
2018-12-14 16:01:17 -06:00
2a99bbb33a
REFACTOR: rename macro now that nom is no longer used.
2018-12-12 19:18:37 -06:00
e15573d316
MAINT: Parsing peformance boosts.
2018-12-12 18:41:08 -06:00
8009c6a8a5
MAINT: Formatting cleanup.
2018-12-10 21:27:44 -06:00
e9a0bde631
MAINT: Opt in to 2018 edition of Rust.
2018-12-06 12:23:52 -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
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
a9b374bf33
BUGFIX: Allow empty lists in parsing.
2018-11-21 20:41:54 -06:00
cb2f83f2ca
BUGFIX: Calling macros with no arguments could not be parsed.
2018-11-20 18:23:10 -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
29aed2c997
FEATURE: Some better error reporting.
2018-09-02 10:05:08 -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
f9cdd4f3f6
BUGFIX: Regression tests for our list operators and bugfixes.
2018-08-21 23:05:42 -05:00
a7a32d56b2
FEATURE: More ergonomic syntax for asserts.
2018-08-20 22:51:55 -05:00
5b38e571ee
MAINT: cargo fmt
2018-08-17 10:31:45 -05:00
ed87ca353b
MAINT: TODO cleanups.
2018-08-15 18:49:11 -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
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
0fc8c537f9
CLEANUP: Cleanup some todos and unused code.
2018-07-04 12:52:00 -05:00