b36a9513eb
MAINT: eprintln and dbg cleanup
2019-11-09 18:54:46 -06:00
Jeremy Wall
949d468f55
DEV: Fix escaping in both strings and format strings.
2019-08-12 18:10:48 -05:00
f349293400
FEATURE: Support a convert expression.
2019-06-20 19:28:20 -05:00
85f239a566
REFACTOR: Error handling to use BuildError throughout.
...
Also removed more extraneous error output.
Contributes toward issue #45
2019-05-29 18:58:13 -05:00
957d0c6102
DEV: Handle comments between statements.
2019-05-21 20:54:15 -05:00
6661e02a75
DEV: Generate a comment map as part of our tokenization.
...
The comment_map is optional but if passed in it will be populated
during tokenization.
2019-05-20 21:05:58 -05:00
e86827f613
FEATURE: Begin the work of pretty printing the AST.
2019-05-17 17:20:57 -05:00
ec756636b0
FEATURE: Add a TRACE pragma for assitance debugging ucg files.
2019-04-26 19:19:43 -05:00
97d2493441
MAINT: remove unnecessary cloning
2019-03-26 21:09:16 -04:00
8639912567
FEATURE: BuildError no longer requires a position.
2019-02-19 17:38:13 -06:00
c7a87894ba
FEATURE: Add the %%
modulo operator.
2019-02-18 21:09:42 -06:00
efef2bc3d2
FIX: Better error reporting for binary expressions.
...
Closes #34
2019-02-03 14:09:07 -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
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
6d5d4c79de
FEATURE: Declarative failures.
...
FIXES : #30
2019-01-19 11:39:37 -06:00
1dba5f66ce
FEATURE: map, filter, and reduce over lists.
2019-01-18 20:01:08 -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
d40e89fea9
FEATURE: Boolean Operators.
2019-01-17 19:20:01 -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
83a641e740
FEATURE: Add regular expression comparison operators.
2019-01-07 19:38:25 -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
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
b24980bd1f
MAINT: Doc fixes.
2019-01-03 10:20:59 -06:00
e9a0bde631
MAINT: Opt in to 2018 edition of Rust.
2018-12-06 12:23:52 -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
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
a7a32d56b2
FEATURE: More ergonomic syntax for asserts.
2018-08-20 22:51:55 -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
921643972b
REFACTOR: Speed up precedence parsing.
...
Do less reparsing by parsing the list of operators and operands first before
performing the bottom up parsing.
2018-07-04 12:33:08 -05:00
bb198d9d02
FIXES: Unit test and fixing performance regressions.
2018-06-10 13:51:19 -05:00
223d0cecf0
FEATURE: Parsing support for assert statements.
2018-06-06 20:38:53 -05:00
c008d689a1
FEATURE: Error message improvements.
...
Selector path lookup errors render better.
We also include the actual file name we are parsing now.
2018-05-30 22:31:55 -05:00
e86186b709
CLEANUP: Formatting
...
cargo fmt
2018-05-29 20:48:57 -05:00
40494fb90e
CLEANUP: Comment cleanup.
2018-05-27 21:22:09 -05:00
2df6cece33
CLEANUP: Extraneous TODOs
2018-05-27 21:07:07 -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