Skip to content
Snippets Groups Projects

Draft: Add sequence generators

Open Bernhard Johannes Berger requested to merge 160-new-generator-type-sequencer into develop
2 unresolved threads

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

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • 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.

    • Neat, then I would focus on creating the +1 series hard coded for now and then move forward to the parser.

    • I leave this open for now as we will look into this if the easy stuff works

    • Please register or sign in to reply
  • Nils Leusmann added 4 commits

    added 4 commits

    • 7f08b19c - Change to the easiest sequence n+1. Sadly only hard coded.
    • f6eea302 - Remove unused code
    • 1220ffe4 - Add the first iteration of the new sequence type
    • c0d42842 - Rename the sequence.dl to timeseries.dl

    Compare with previous version

  • 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 Leusmann
  • Nils Leusmann added 15 commits

    added 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

    Compare with previous version

  • 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.

  • Please register or sign in to reply
    Loading