Generate scdlang from other formats
- Dominant language
- Rust
- Stars
- 103
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
[Scope] only support formats that (pick one):
- not being used to describe a state machine or configuration
- and not literally statecharts or it's derivative
- or standardized interchangeable formats
- and generated from another system
###### Possible formats:
- [ ] ~~[@xstate/graph](https://github.com/davidkpiano/xstate/tree/master/packages/xstate-graph)~~ (prone to changes)
- [ ] ~~CSV/HTML/Markdown of [state transition table](https://wikipedia.org/wiki/State_transition_table)~~ (there is lot of variants)
- [ ] SCXML? 🤔
- [ ] XMI of the UML
###### API (prone to changes)
```rust
let parser = Scdlang::new();
parser.transform().expressions
.nth(0).current_state("B")?
.next_state("A")?.event("C")?;
assert_eq!("A -> B", &parser.to_string());
```
Possibly, it will use the caches to build the syntax string
##### Resources
- [UML Statechart library in C and XMI importer](https://github.com/jonasblixt/ufsm)
- [State Machine Cat and XMI](https://github.com/sverweij/state-machine-cat/blob/develop/docs/XMI.md)
- https://www.omg.org/spec/UML/About-UML/ (see Abstract Syntax Metamodel)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.