My own version of SCCD. Started as a fork of SCCD 0.9, but is >99% a complete rewrite. The interpreter part was created as part of my master thesis. The compiler (target: Rust) was added later on.

Joeri Exelmans 4f95b97760 Fix bug in MemorySnapshot.shrink_stack. Example 7 from Day & Atlee almost executing correctly. 5 years ago
bsml_features e92f44ba01 Rename python src dirs to match installed names (can set to 'src' dir so you don't have to re-install after every change). Updated SCCD schema to accept all existing tests. Added XML namespace to tests. Compiler checks input file against SCCD schema. New compiler dependency 'lxml' (largely compatible with xml.etree) for dealing with XML namespaces and schemas. 5 years ago
doc 46113778d9 associate_instance and disassociate_instance now fixed 8 years ago
examples 37525b9675 private ports now work in both directions; added a bouncing balls example where the SCCD model does not contain UI code (completely external) 6 years ago
src 4f95b97760 Fix bug in MemorySnapshot.shrink_stack. Example 7 from Day & Atlee almost executing correctly. 5 years ago
test 4f95b97760 Fix bug in MemorySnapshot.shrink_stack. Example 7 from Day & Atlee almost executing correctly. 5 years ago
textualnotations 068c424a35 Fix indentations. 7 years ago
.gitignore a6753bd559 Fixed all tests. 5 years ago
LICENSE 04ec602b01 initial commit (from svn repo) 9 years ago
README.md 19ac39f437 Add EvalContext data class to group parameters passed to Expression.eval, Statement.exec, Variable.load and Variable.store. 5 years ago
schema.xml e92f44ba01 Rename python src dirs to match installed names (can set to 'src' dir so you don't have to re-install after every change). Updated SCCD schema to accept all existing tests. Added XML namespace to tests. Compiler checks input file against SCCD schema. New compiler dependency 'lxml' (largely compatible with xml.etree) for dealing with XML namespaces and schemas. 5 years ago

README.md

Statecharts and Class Diagram Compiler

Dependencies

Mandatory

  • CPython >= 3.6 or PyPy >= 7.3.0 (Compatible with Python 3.6)
  • The following packages from PyPi:

Optional

  • state-machine-cat to render statecharts as SVG images. Runs on NodeJS, installable from NPM.