#state-machine #dsl #language

scdlang_xstate

Scdlang parser for targeting JavaScript library XState

3 unstable releases

0.2.1 Jul 9, 2019
0.2.0 Jul 9, 2019
0.1.0 Jun 30, 2019

#2989 in Parser implementations


Used in s-crap

UPL-1.0 license

61KB
1.5K SLoC

Scdlang

Statecharts Description Language

current version Docker image size License

🚧Status: 🗶perimental 4ever🤞

About

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, see State Machine Cat.

quick_demo

Philosophy

  • 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)

Features and Wishlist

For more info, see the changelog in the release page

Getting Started

Currently, this project only have the binary CLI for each OS. Please go to the release page to download then extract it. It also shipped with auto-completions script for your preffered shell.

Installing

Just download the binary in the release page or follow this instructions 👇

Linux🐧

TODO: (AUR, DEB, RPM) or via shellscript just like installing rustup

MacOS🍏

TODO: brew or via shellscript just like installing rustup

Windows🗔

TODO: chocolatey or via msi installer just like installing rustup

using Docker🐳

smcat, dot, and graph-easy are pre-installed in this docker image

docker pull scdlang/scrap

via Cargo📦

cargo install s-crap

Contributing

open "help wanted" issues open "good first issue" issues

Any contributions are welcome as long as it follow Code 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 👹.

License

This project is licensed under the Universal Permissive License 1.0 - see the LICENSE file for more detail.

Resources

Dependencies

~9MB
~198K SLoC