27 Commits

Author SHA1 Message Date
dbadfa1c4c FEATURE: Suppport quoting self and env when we need them as tuple fields. 2019-01-06 14:28:29 -06:00
2c3f9c7b8f Add base64 as an importer type aside from string. 2019-01-05 14:33:12 -06:00
b59954799d TESTS: expand modules test coverage. 2019-01-05 13:03:57 -06:00
6c0da11ff7 DOCS: More unit tests and reorganized docs for selectors. 2019-01-05 09:05:02 -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
59343d71d5 FEATURE: add a conatins operator
Adds the `in` operator that checks for fields in tuples and
elements in a list.

Fixes: #12
2019-01-03 11:42:11 -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
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
1365a38700 FEATURE: Check bindings against the reserved word list for imports and let bindings. 2018-11-26 20:22:37 -06:00
5e07f24d91 FEATURE: handle ENPTY specially. in copy expressions. 2018-11-25 13:26:47 -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
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
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
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
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
3ed8fe332f FEATURE: Support boolean and EMPTY as a format string variable.
Also add format string regression tests.
2018-08-24 19:36:22 -05:00
aa88f5a196 MAINT: Add regression tests for concatenation. 2018-08-24 19:19:47 -05:00
bd4c9a26c0 BUGFIX: Binary Expressions would abort early in compare expressions. 2018-08-22 18:58:48 -05:00
f982194518 FEATURE: Allow filtrator expressions to return boolean.
Also a bugfix where we were accidentally mapping instead of filtering.
2018-08-22 18:57:38 -05:00
f9cdd4f3f6 BUGFIX: Regression tests for our list operators and bugfixes. 2018-08-21 23:05:42 -05:00
523e2db483 TESTS: Add select expression integration tests. 2018-08-20 23:05:34 -05:00
a7a32d56b2 FEATURE: More ergonomic syntax for asserts. 2018-08-20 22:51:55 -05:00
b87d75c5c7 TESTS: Add a whole raft of integration tests.
* Integrate them into the build::comopile_test module as well.
2018-08-20 22:16:42 -05:00
cb31ec8e31 TESTS: Add some integration tests. 2018-08-17 22:09:57 -05:00