{"id":13822381,"url":"https://github.com/frame-lang/frame_transpiler","last_synced_at":"2025-04-09T09:11:30.111Z","repository":{"id":38344947,"uuid":"361208260","full_name":"frame-lang/frame_transpiler","owner":"frame-lang","description":"Frame is a markdown language for creating state machines (automata) in Python as well as generating UML documentation.","archived":false,"fork":false,"pushed_at":"2025-01-19T18:43:21.000Z","size":16581,"stargazers_count":65,"open_issues_count":160,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-02T08:08:35.685Z","etag":null,"topics":["automata","cpp","csharp","frame-language","gdscript","golang","java","javascript","language","python3","rust","state-machines"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frame-lang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-24T16:14:15.000Z","updated_at":"2024-12-30T22:25:59.000Z","dependencies_parsed_at":"2024-02-05T02:27:21.857Z","dependency_job_id":"1aa10a42-b767-4abe-8a89-ebe7994c58d9","html_url":"https://github.com/frame-lang/frame_transpiler","commit_stats":{"total_commits":655,"total_committers":10,"mean_commits":65.5,"dds":0.5206106870229008,"last_synced_commit":"47ca48654f080400158c968063c297fd5059a3df"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frame-lang%2Fframe_transpiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frame-lang%2Fframe_transpiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frame-lang%2Fframe_transpiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frame-lang%2Fframe_transpiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frame-lang","download_url":"https://codeload.github.com/frame-lang/frame_transpiler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008630,"owners_count":21032556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automata","cpp","csharp","frame-language","gdscript","golang","java","javascript","language","python3","rust","state-machines"],"created_at":"2024-08-04T08:01:57.966Z","updated_at":"2025-04-09T09:11:30.068Z","avatar_url":"https://github.com/frame-lang.png","language":"Rust","readme":"\n# Frame Language Transpiler\n\nThis 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.\n\n## Explore Frame\n\nTo learn more about the Frame language, please find Frame's official documentation on [Read the Docs](https://docs.frame-lang.org). \n\n## Tools and Resources\n\nThe Frame project is still early days but there are some resources and communities to help. You can download the [VSCode](https://marketplace.visualstudio.com/items?itemName=frame-lang-org.frame-machine-maker) extension to develop \nFrame programs on your desktop or experiment with Frame online at the [Frame Playground](https://playground.frame-lang.org). \n\nYou can also learn more about programming with automata at Reddit ![re](https://www.google.com/s2/favicons?domain_url=https://reddit.com) on the [r/statemachines](https://www.reddit.com/r/statemachines/) subreddit (I'm the mod).\n\n## Frame Community\n\nConnect with me and other Frame enthusists on the Frame **Discord channel** -  [The Art of the State](https://discord.com/invite/CfbU4QCbSD). You can also connect with me directly on [LinkedIn](https://www.linkedin.com/in/marktruluck/).\n\n## Frame Examples\n\nThe [Frame Solution Depot](https://github.com/frame-lang/frame_solution_depot) is a Github repo and contains a growing body of examples and test specifications. \n\n## Reporting Bugs and Problems \n\nFor now send issues to \u003cbugs@frame-lang.org\u003e 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!\n\n\n## Getting Started\n\nThese 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.\n\n### Installing\n\n\n#### MacOS\n\n1. Install [Rust](https://www.rust-lang.org/tools/install).\n2. Navigate to the framepiler/framec directory.\n3. Type `cargo build`.\n\t3.a You will see a bunch of warnings. Apologies but this is pre-alpha code.\n4. Type `./target/debug/framec ../examples/HelloWorld.frm python_3`.\n\t4.a You should see a base class for a Frame controller generated to stdout.\n5. If you want to generate a release build:\n\t5.a Type `cargo build --release`\n\t5.b Type `./target/release/framec ../examples/HelloWorld.frm python_3`\n6. You now have working debug and release Framepilers. Congratulations!\n7. You can try 6 other languages + Plant UML. Replace the `python_3` above with any of these:\n\t7.a `python_3`\n\t7.b `plantuml` (try output at [PlantUml site](http://www.plantuml.com/))\n\n#### Linux\n\n1. Install  [Rust](https://www.rust-lang.org/tools/install).\n2. 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](https://discord.com/invite/CfbU4QCbSD)  and I will add to next release notes. Thanks!\n\n#### Windows\n\n1. Install  [Rust](https://www.rust-lang.org/tools/install).\n2. Help needed. Please send me instructions on [Discord](https://discord.com/invite/CfbU4QCbSD)  and I will add to next release notes. Thanks!\n\n## Built With\n\n* [Rust](https://www.rust-lang.org/) - Rust language\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://gist.github.com/frame-lang/064097505d77b7ecb7f49a30f75622c4) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/frame-lang/frame_transpiler/tags).\n\n## Author\n\n**Mark Truluck** - *Creator of Frame* - [LinkedIn](https://www.linkedin.com/in/marktruluck/)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n## Acknowledgments\n\n* [Alan Turing](https://en.wikipedia.org/wiki/Alan_Turing) - For inventing automata theory and helping end WWII. See [The Imitation Game](https://www.imdb.com/title/tt2084970/)\n* [Dr. David Harel](http://www.wisdom.weizmann.ac.il/~harel/papers.html) - Who invented [Statecharts](https://www.sciencedirect.com/science/article/pii/0167642387900359) from which came Frame.\n\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframe-lang%2Fframe_transpiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fframe-lang%2Fframe_transpiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframe-lang%2Fframe_transpiler/lists"}