softlang / metalib

A Chrestomathy of DSL implementations
https://softlang.github.io/metalib
9 stars 1 forks source link

Add model javaInfluentInternal #6

Closed rlaemmel closed 7 years ago

rlaemmel commented 7 years ago

Section: https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/ImperativeSample.java Features: Interface (object perspective) Concepts: Getter, Setter

Section: https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/FunctionalSample.java Features: Interface (object perspective) Concepts: Functional constructor

Section: https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/Fsm.java https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/State.java https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/Transition.java Features: AST+ Concepts: Functional constructor

This section proposal implies a breaking change to the metamodel and I file a separate issue. That is, we need to be able to have sections with multiple projections. Of course, this is not absolutely necessary because we could just have two sections, but this is a good example, where three files must remain together.

Section: https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/FsmlInterpreter.java Features: Interpret^O

Section: https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/tests/InfluentTest.java Features: Interpret^O (test perspective) Technologies: JUnit

Section: https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/tests/Turnstile.c Features: Translate^O (object perspective) Languages: C

Section: https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/FsmlCGenerator.java Features: Translate^O Technologies: StringTemplate Languages: Java

Section: https://github.com/softlang/yas/blob/master/languages/FSML/Java/templates/Fsm.stg Features: Translate^O Technologies: StringTemplate Languages: StringTemplate (as a template notation)

BTW, just like with jinja2, we see the need here to register template processors in an overloaded fashion as both technology and language.

Section: https://github.com/softlang/yas/blob/master/languages/FSML/Java/org/softlang/fsml/tests/CGeneratorTest.java Features: Translate^O (test perspective) Technologies: StringTemplate, JUnit Languages: Java