Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork3
(status: soon revived as different project) Statechart Description Language (just an experiment, need to be rewritten)
License
DrSensor/scdlang
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
StatechartsDescriptionLanguage
🚧Status:🗶perimental4ever🤞
Scdlang (pronounced/ˈesˌsi:ˈdi:ˈlæŋ/) is a description language for describing Statecharts that later can be used to generate code or just transpile it into another format. This project is more focus on how to describe Statecharts universally that can be used in another language/platform rather than drawing a Statecharts diagram. For drawing, seeState Machine Cat.
- Readable just like you read then visualize a state diagram
- Writeable just like you write code which is concise, clear, and can be refactored
- Transferable to any implementation (e.g platform, programming language, runtime, etc)
- CLI utils (seeusage)
- Syntax is inspired from various drawing languages likemermaid,Graphviz,PlantUML, and many more
- Decent error message
- Avoid invalid and ambigous transition via semantics analysis
- Rule definition for static analysis and formal verification
- Transpile into other formats:
- Compile into other formats (need this to make it being an embeddable DSL):
- WebAssembly (usingparity-wasm)
- LLVM IR 🤔 (open the possibility to be compiled as wasm, dynlib, and static lib)
- Code generation 🤔 (not sure if I need this but why not?)
- Julia via
@generatedimplemented asparametricmultiple-dispatchfunctors - Rust via
#[proc_macro_attribute]implemented astypestate programming? (I'm still afraid if it will conflict with another crates) - Elixir via
usemacro which desugar intogen_statem 💪 - Flutter via
builder_factories(waiting for theFFI to be stable)
- Julia via
For more info, see the changelog in therelease page
Currently, this project only have the binary CLI for each OS. Please go to therelease page to download then extract it. It also shipped with auto-completions script for your preffered shell.
Just download the binary in therelease page or follow this instructions 👇
TODO: (AUR, DEB, RPM) or via shellscript just like installing rustup
TODO: brew or via shellscript just like installing rustup
TODO: chocolatey or via msi installer just like installing rustup
usingDocker🐳
smcat,dot, andgraph-easy are pre-installed in this docker image
docker pull scdlang/scrapviaCargo📦
cargo install s-crapAny contributions are welcome as long as it followCode of Conduct.
If anyone have questions or something to discuss, feel free to DM or mention me in any platform that have my profile picture 👹.
This project is licensed under the Universal Permissive License 1.0 - see theLICENSE file for more detail.
About
(status: soon revived as different project) Statechart Description Language (just an experiment, need to be rewritten)
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.
