Draft: Add sequence generators
Add the first draft of the new sequence generator. Includes the new Sequence class which can be updated via a visitor pattern. Additionally, adds the first visitor. Change pom.xml to include the minimal Expression Parser Exp4j, which allows to parse Strings into mathematical functions.
Closes #160
Merge request reports
Activity
assigned to @berber
- Resolved by Bernhard Johannes Berger
- Resolved by Nils Leusmann
- Resolved by Bernhard Johannes Berger
43 43 <version>${project.version}</version> 44 44 <scope>provided</scope> 45 45 </dependency> 46 <dependency> We have our own expression language within EvoAl (it is part of the base language) and there is already an interpreter:
de.evoal.languages.model.interpreter.ConstantExpressionEvaluator
. We have to adapt it slightly so it meets your requirements (a non-caching variant with a custom symbol table) but that should be easy. Perhaps, in the first step, you implement a+1
in the code and if that is working, we can replace it with an interpreter.
I made some small changes and hopefully everything works now as intended. At least the pipeline is running smoothly.
Is there a proper way to test this new functionality or is it enough to write an example for it?
I have looked around a bit more and found the
AbstractGeneratorFunction
Interface. Why are we not using this one?Edited by Nils Leusmannadded 15 commits
-
c0d42842...6c57172d - 3 commits from branch
develop
- 6c57172d...8e3b7790 - 2 earlier commits
- 7d37a31e - Switch from the generator version to the pipeline world. Change inheritance...
- ce2413f7 - Move the Sequence to the proper location
- d9bb110c - Implement the Sequence interface and get rid of the unneccesarry inheritance...
- d30a6509 - Add the most basic implementation of a sequence
- d57557e9 - Change imports after switch to the pipeline workflow
- 96be698e - Make sequence implentation available
- 18c67b86 - Refines sequence implementation
- 7a72d723 - Add example for sequence generation
- ea720255 - Delete old ddl
- d0560b25 - Add the Base sequence class
Toggle commit list-
c0d42842...6c57172d - 3 commits from branch
I have merged the most recent dev branch and finished implementing the sequence generator. As far as I can see everything seems to be working as intended:
- I am able to create a small timeseries (n+1) starting from 0
- For testing purposes I added a small generate-timeseries example
Hopefully everything is at the right place and works proper.