c37f7f52b3
Specify that TabExpandedString only works on single lines
2019-09-09 18:34:52 +02:00
804fee4db0
Use tab-expanded column numbers when formatting DSL errors
2019-09-09 18:34:52 +02:00
b3f2ad82d0
Migrate from JUnit 4 to 5
2019-09-09 18:34:52 +02:00
fc119efedc
Remove language level specification from warppi-core pom.xml
...
The language level is specified in the root pom.xml file, and there's no
need to override it here.
2019-09-09 18:34:52 +02:00
082f694b1b
Tweak DSL error formatting
...
- Add a blank line between the DslFilesException stack trace and
formatted error messages.
- Quote the sub-function name in the message for UndefinedSubFunction
errors.
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
feb894bacd
Improve SubFunctionPattern documentation
2019-09-09 18:34:52 +02:00
b4fc6dd019
Improve PatternRule documentation
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
c8656d1b30
Improve DSL front-end documentation
2019-08-12 11:28:39 +02:00
e297d3592f
Reduce creation of Map objects in Pattern matching
2019-08-12 11:28:39 +02:00
2b9fb97648
Make DSL rule loading work on TeaVM
2019-08-12 11:28:39 +02:00
fef30042ce
Avoid using methods which are not available on TeaVM
2019-08-08 14:36:07 +02:00
d4b91c4d4f
Merge branch 'master' into rules-dsl
2019-08-08 12:52:59 +02:00
7819e19e6f
Make Function visitor an inner interface of Function
2019-08-07 13:11:59 +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
17d1bddbf1
Fixed picture bug
2019-04-29 23:07:24 +02:00
c906c43b8b
Updated TeaVM to the latest snapshot and fixed panels history behaviour
2019-02-25 13:12:22 +01: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
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