This project contains the code for building the Frame Language Transpiler - the Framepiler. The Framepiler is written in Rust and transpiles Frame specification documents into Python (with more languages to come) as well as UML Statechart diagrams.
To learn more about the Frame language, please find Frame's official documentation on Read the Docs.
The Frame project is still early days but there are some resources and communities to help. You can download the VSCode extension to develop Frame programs on your desktop or experiment with Frame online at the Frame Playground.
You can also learn more about programming with automata at Reddit on the r/statemachines subreddit (I'm the mod).
Connect with me and other Frame enthusists on the Frame Discord channel - The Art of the State. You can also connect with me directly on LinkedIn.
The Frame Solution Depot is a Github repo and contains a growing body of examples and test specifications.
For now send issues to [email protected] while we get a better system in place. If you have a recommendation for a free bug tracker for open source communities please let me know!
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Install Rust.
- Navigate to the framepiler/framec directory.
- Type
cargo build
. 3.a You will see a bunch of warnings. Apologies but this is pre-alpha code. - Type
./target/debug/framec ../examples/HelloWorld.frm python_3
. 4.a You should see a base class for a Frame controller generated to stdout. - If you want to generate a release build:
5.a Type
cargo build --release
5.b Type./target/release/framec ../examples/HelloWorld.frm python_3
- You now have working debug and release Framepilers. Congratulations!
- You can try 6 other languages + Plant UML. Replace the
python_3
above with any of these: 7.apython_3
7.bplantuml
(try output at PlantUml site)
- Install Rust.
- Probably the same as MacOS but guessing you can figure it out if you know Linux and Rust. Still - please send me instructions on Discord and I will add to next release notes. Thanks!
- Install Rust.
- Help needed. Please send me instructions on Discord and I will add to next release notes. Thanks!
- Rust - Rust language
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
Mark Truluck - Creator of Frame - LinkedIn
This project is licensed under the MIT License - see the LICENSE.md file for details
- Alan Turing - For inventing automata theory and helping end WWII. See The Imitation Game
- Dr. David Harel - Who invented Statecharts from which came Frame.