S

Scdlang

A description language for describing Statecharts or StateMachine that later can be used to generate code or just transpile it into another format.

Add another $PATH in .github/enrtrypoint.sh Hopefully it will fix gh-action `Smoke tests`

Fix internal-transition can't be rendered in boxart - Skip internal-transition on box/asciiart format - Add option mode::blackbox::State in scdlang_smcat

Add `just smoke` while fix doc tests - core: Add DbC for `Transition` via static_assert - core: Refactor `TransitionIterator` a bit - Fix deprecate trait-object without `dyn`

Move semantics-check guards to warning level * Implement warning messages in the core parser * Print warning messages in both cli subcommand

Fix false alarm on semantics-check guards * Add additional specs for semantic_errors/*.md

Infer event value to obj list in xstate transpiler Because value in event-key can be targetName *or* object of: one_or_all{target, guard, actions}, then it also accept array of object. This need the transpiler able to convert previous value into list of object when hit non-conflicted guard.

Refactor typescript generator in xstate transpiler * Add project examples/xstate/nodejs as subrepo * Fix import fail when filename in kebab-case (js)

Add CLI flag --format xstate --as typescript * Also support output --as javascript * Require --name when output --as javascript,typescript * Convert --name [export] to PascalCase when output --as typescript

Support typescript output on xstate transpiler ⚠️ * core Builder now support custom option key * xstate transpiler also support javascript output ⚠️ only applied on `scrap code` subcommand

Fix multiple internal transition on smcat transpiler consecutive internal transition not appended on the same state declaration

Fix incorrect output on internal transition ➕ * Internal transiion shouldn't have next_state * Remove trailing symbol `|>` when printing action in internal transiion * Fix core parser tests * Small tweak on the error messages

Fix unreachable!(EOI) on internal transition ➕ * Support guard for transient transition

Fix `Perf cargo` action ( * Update libc6 and fix linter warning * Fix debian version mismatch * Debug Perf cargo * Rollback helper script * Unignore integration tests * Update hyperfine