Commit Graph

355 Commits

Author SHA1 Message Date
8eba0cd568 Correctly store sub-function identifiers for rules with the same name and identical rules 2019-01-31 19:23:37 +01:00
2a347e6d19 Allow unary operators in power exponent 2019-01-31 13:10:02 +01:00
ebbf8b013a Replace DslException with the DslError interface and the SyntaxException wrapper 2019-01-31 12:55:15 +01:00
0d89711772 Report DSL errors from RulesDsl.makeRules as a DslAggregateException 2019-01-30 21:47:00 +01:00
f930242ee8 Properly report undefined sub-functions in replacement patterns 2019-01-30 21:47:00 +01:00
3a5ccdfc13 Keep track of sub-function identifier tokens for error reporting 2019-01-30 21:47:00 +01:00
bdb1fc738e Implement multiple error reporting and recovery in Parser 2019-01-30 21:47:00 +01:00
f0d2cdc1ab Implement multiple error reporting and recovery in Lexer 2019-01-29 12:08:35 +01:00
1e0d2e5a0e Create base class for DSL exceptions 2019-01-28 21:13:24 +01:00
1304755c25 Implement loading of DSL rules 2019-01-28 18:19:27 +01:00
c00b71e2ba Remove unneeded throws spec from PatternRule.execute 2019-01-27 21:18:53 +01:00
bea2eb67c8 Check that sub-functions in replacement patterns are defined 2019-01-27 21:18:53 +01:00
ba468d199a Add method to get sub-functions from patterns 2019-01-27 21:18:44 +01:00
591813402d Prevent instantiation of PatternUtils 2019-01-27 19:56:18 +01:00
a92c3a3272 Implement and test RulesDsl.makeRules 2019-01-27 19:24:49 +01:00
6ab69a1613 Implement and test Parser (with temporary error handling) 2019-01-27 19:24:49 +01:00
b959fac770 Implement equals (and hashCode) in PatternRule and patterns for testing 2019-01-27 19:24:49 +01:00
6c8323daf9 Set Java language level to 9 2019-01-27 19:24:49 +01:00
c069e00178 Fix string indentation in LexerTest 2019-01-27 19:24:49 +01:00
27b128a6ea Add single and multi-line comments 2018-11-23 18:52:36 +01:00
da91a5df33 Implement Lexer (with temporary error handling and basic tests) 2018-11-22 20:04:48 +01:00
61d40330be Define the representation for tokens 2018-11-22 19:59:30 +01:00
fa2b9f20a8 Define a temporarily empty RulesDsl.makeRules method
When complete, this method will execute the DSL front-end, and return
the list of rules, if successful, otherwise report errors.
2018-11-20 19:27:04 +01:00
26416dd8f8 Implement ConstantPattern 2018-11-20 19:07:34 +01:00
5238c32380 Implement Pattern-based Rule 2018-11-19 13:05:28 +01:00
101e90ad03 Remove EmptyNumber overload from FunctionVisitor 2018-11-19 10:49:33 +01:00
2ceca91acf Merge branch 'master' into rules-dsl 2018-11-19 10:38:34 +01:00
87151ed606 Fixed graphic glitches when changing screen 2018-10-23 17:28:05 +02:00
76d9d77e13 Extra 2018-10-16 22:26:05 +02:00
7e394a84bf Fix indentation 2018-10-16 21:55:24 +02:00
4e5a77eb3e Add minimal (indentation-only) .editorconfig file 2018-10-16 21:52:06 +02:00
cd6768d608 Extra 2018-10-16 21:42:36 +02:00
21d8c37903 Handle RootSquare functions with RootPattern 2018-10-16 20:33:01 +02:00
6e5ed8ef94 Fixed buggy keyboard behavior 2018-10-16 20:03:12 +02:00
66a04607b3 Fix RootSquare equality with other RootSquare instances 2018-10-16 19:57:26 +02:00
b65723a2c6 Implement EquationsSystemPattern 2018-10-16 19:36:34 +02:00
c2dc02c0e1 Implement equals for EquationsSystem as ordered parameter equality 2018-10-16 19:33:44 +02:00
f7a7f6d200 Extra 2018-10-16 19:28:43 +02:00
53e2416426 Implement EquationPattern 2018-10-16 18:46:49 +02:00
2aeb396b53 Implement equals for Equation 2018-10-16 18:45:37 +02:00
38c8710929 Extra 2018-10-16 17:37:21 +02:00
1a51ae5698 Extra 2018-10-16 15:56:27 +02:00
1d4c2ec8a7 Removed useless dependencies 2018-10-15 23:10:44 +02:00
76985314d4 Removed useless files 2018-10-15 19:37:56 +02:00
971759a6e7 Updated pom.xml 2018-10-14 22:32:08 +02:00
5e1d1dde52 New extra features 2018-10-12 23:23:16 +02:00
b7407886dd Caching results 2018-10-12 23:20:12 +02:00
494f8e854f Fixed bugs in input handling 2018-10-09 23:51:42 +02:00
35d878fba7 Updated extra feature 2018-10-09 19:37:48 +02:00
b90faa13b8 Updated extra feature 2018-10-09 17:46:52 +02:00