Commit Graph

105 Commits

Author SHA1 Message Date
86c7da8c81 Test Lexer with empty input 2019-08-07 13:11:59 +02:00
aeb0388925 Implement DSL error pretty-printing 2019-08-07 13:11:59 +02:00
788f9663e2 Use Collections.emptyMap and Collections.singletonMap in pattern matching code 2019-02-12 11:40:50 +01:00
04d01565da Correctly handle and report unterminated multiline comments in Lexer 2019-02-11 16:31:03 +01:00
e86a7a6346 Remove Java rule compiling and loading code 2019-02-11 15:55:29 +01:00
fd074b16b7 Do not load DSL rules on JavaScript platforms 2019-02-11 15:11:59 +01:00
2e36bc83bf Fix incorrect rules and port them to the DSL 2019-02-11 12:21:43 +01:00
b9c025d74c Make function rules built-in 2019-02-10 19:59:38 +01:00
7d9b08affd Port most non-function rules from Java to the DSL 2019-02-10 19:05:25 +01:00
df5de92931 Make NegativePattern match and produce negative numbers 2019-02-10 19:05:13 +01:00
d18e2d3708 Test the content of DslAggregateExceptions in RulesDslTest 2019-02-07 20:20:58 +01:00
e65f20382f Document the RulesDsl class and its makeRules method 2019-02-04 18:07:51 +01:00
92ad2a9c1e Remove unused imports 2019-01-31 20:39:56 +01:00
57011ceb86 Make EquationsSystemPattern patterns field private (was accidentally package-private) 2019-01-31 20:38:35 +01:00
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
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
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