u/framelanger

Frame: a DSL for state machines that transpiles to 17 languages
▲ 21 r/embedded+3 crossposts

Frame: a DSL for state machines that transpiles to 17 languages

Hello — I've been working on a state machine language called Frame, which is now in a decent alpha state and in active development. You can check it out at https://github.com/frame-lang/framec.

The main Frame tool is actually a preprocessor called the framepiler that looks for Frame syntax embedded inside your native source file. The framepiler transpiles Frame state machines (called systems) to plain, dependency-free classes (or equivalent) in the target language. Frame currently supports 17 target languages — Python, TypeScript, JavaScript, Rust, C, C++, Java, C#, Go, PHP, Kotlin, Swift, Ruby, Erlang, Lua, Dart, and GDScript — plus a GraphViz backend for visualization.

I would greatly appreciate any and all feedback on the language and technical approach, good or bad.

Thanks!

u/framelanger — 8 days ago