Commit Graph

408 Commits

Author SHA1 Message Date
12329c5ffe Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/src/main/java/it/cavallium/warppi/gui/CalculatorHUD.java
2019-12-16 16:59:05 +01:00
0335dadcea Fixed preview url 2019-12-16 16:54:10 +01:00
0671f0d6b5 Removed javascript optimizations due to a TeaVM compilation bug 2019-11-16 02:02:25 +01:00
4c29eeb31c Bugfixes
Fixed implicit multiplication symbols, zoom is now 1x, debug steps are printed, fixed missing numeric chars, changed RootSquare base class to FunctionSingle, added two hardcoded multiplication rules, added rootsquarerule, isolated the swing engine from the window, added 2 Fractions rules and 1 exponent rule
2019-11-16 01:32:47 +01:00
26dc8369a7 Bugfixes 2019-11-02 23:13:19 +01:00
70ff11da7f Added bounded render contexts 2019-11-01 18:04:01 +01:00
a9dd7de800 Merge remote-tracking branch 'master/dev' 2019-11-01 15:39:27 +01:00
da387d1165 Removed old libraries 2019-11-01 15:25:01 +01:00
8e11197368 Updated .gitignore 2019-11-01 13:35:30 +01:00
fb43f00485
Merge pull request #8 from razzolini/rules-dsl
Implement a domain-specific language for the definition of algebraic manipulation rules
2019-10-29 22:16:55 +01:00
a74f047655 Fix/improve hashCode for Functions
Some types of Function had hashCode methods which didn't match the
behavior of equals, while others could simply be rewritten in a simpler
way by using Objects.hash.
2019-10-25 22:48:49 +02:00
0c316226e6 Make Function.equals test for exact equality instead of equivalence
Actually, testing for equivalence was only partially implemented (by
considering the commutative property for some FunctionOperators).

Additionally, should it be needed in the future, equivalence testing
would probably be better implemented as a separate, specialized method
anyway.
2019-10-25 22:30:10 +02:00
d8f401cb22 Remove zip file handling code and zip4j dependency
.zip files were only used to cache compiled Java rules, and the new rule
system has nothing to cache.
2019-10-25 20:49:31 +02:00
5c7411d44c Contextualized methods 2019-10-25 13:59:20 +02:00
12406c787b Ensure that lex and parse methods are only called once per instance 2019-09-09 18:34:52 +02:00
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
a76511ea19 Remove the warppi-rules module 2019-08-12 11:28:39 +02:00
2b9fb97648 Make DSL rule loading work on TeaVM 2019-08-12 11:28:39 +02:00
e5b64ce218 Make TeaVMStorageUtils.read work instead of hanging 2019-08-09 17:53:47 +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
9e1e751a59 Implemented TouchDevice and DeviceStateDevice 2019-04-09 22:38:22 +02:00
87d4daf195 Updated gitignore 2019-04-09 18:23:35 +02:00
60f91fbc2e Better boot code 2019-04-09 18:19:06 +02:00
ff7dd21788 More appropriate class names 2019-02-27 23:29:03 +01: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
6b814b84b6 Add comments to incorrect rules and partially fix ExpandRule1 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