Commit Graph

38 Commits

Author SHA1 Message Date
12406c787b Ensure that lex and parse methods are only called once per instance 2019-09-09 18:34:52 +02:00
b3f2ad82d0 Migrate from JUnit 4 to 5 2019-09-09 18:34:52 +02:00
fbb6cf590d Throw an exception when a sub-function is undefined in SubFunctionPattern.replace 2019-09-09 18:34:52 +02:00
eb8fcaafb9 Keep track of identifiers separately for each SubFunctionPattern object 2019-09-09 18:34:52 +02:00
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
04d01565da Correctly handle and report unterminated multiline comments in Lexer 2019-02-11 16:31:03 +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
92ad2a9c1e Remove unused imports 2019-01-31 20:39:56 +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
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
bea2eb67c8 Check that sub-functions in replacement patterns are defined 2019-01-27 21:18:53 +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
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
26416dd8f8 Implement ConstantPattern 2018-11-20 19:07:34 +01:00
5238c32380 Implement Pattern-based Rule 2018-11-19 13:05:28 +01:00
7e394a84bf Fix indentation 2018-10-16 21:55:24 +02:00
21d8c37903 Handle RootSquare functions with RootPattern 2018-10-16 20:33:01 +02:00
b65723a2c6 Implement EquationsSystemPattern 2018-10-16 19:36:34 +02:00
53e2416426 Implement EquationPattern 2018-10-16 18:46:49 +02:00
95560e12b7 Implement UndefinedPattern 2018-10-06 19:14:24 +02:00
957e85b4d0 Extract duplicated PatternTest code to testMultiplePatterns method 2018-10-06 18:45:28 +02:00
0ec3974f41 Implement patterns for most FunctionSingles 2018-10-06 18:41:32 +02:00
2ca5a8391a Implement patterns for most FunctionOperators 2018-10-06 17:41:15 +02:00
21de6349f4 Use actual MathContext instead of null in Pattern replace 2018-10-06 15:21:22 +02:00
0afacf7ddc Implement NegativePattern 2018-10-06 15:21:22 +02:00
64553c86e7 Implement NumberPattern 2018-10-06 15:21:22 +02:00
5450d67497 Implement SumPattern 2018-10-06 15:21:22 +02:00
75fe857139 Implement SubFunctionPattern 2018-10-06 15:21:22 +02:00
0a386c13f4 Create empty PatternTest class. 2018-10-06 15:21:22 +02:00