christoff-buerger / racr

Metacompiler library supporting incremental transformation based on reference attribute grammar controlled rewriting.
MIT License
30 stars 9 forks source link

refactoring of original Petri nets example #41

Closed christoff-buerger closed 8 years ago

christoff-buerger commented 8 years ago

The original Petri nets example included hierarchical nets. For didactic reasons and better modularisation, the non-hierarchical functionality was outsourced as atomic Petri nets. Conceptually, support for hierarchical nets is just an extension of the basic atomic interpreter.

The extracted atomic Petri nets interpreter is implemented according to best practices in the design of RACR-based languages; in particular query support functions are used, e.g., (->foo n) to query the foo child of n or (=att n) to query the att attribute of n etc.

The refactoring of the original Petri nets interpreter to an interpreter for hierarchical Petri nets according to these best practices and by reusing the atomic Petri nets implementation still has to be done however.

christoff-buerger commented 8 years ago

As library name for the refactored interpreter hierarchical-petrinets should be used.

christoff-buerger commented 8 years ago

Since the extension is about composing nets via place fusion, it should be named Composed Petri Nets and not hierarchical; thus, the library is named composed-petrinets. Cf. issue #40.

christoff-buerger commented 8 years ago

Everything is properly refactored. All tests pass.