About this project
Semorphe is a programming education tool that achieves real-time bidirectional synchronization across three views: code, flowchart, and block editor. Edits made in any one view will immediately update the other two. It processes authentic C++/Python code; unsupported syntax is converted to gray blocks while retaining the original text, preventing silent file corruption. The project offers a built-in extension for Arduino IDE (not a standalone application), with blocks and flowcharts presented as native IDE tabs, leaving the compile and upload workflow unchanged. It is also compatible with VSCode, with both IDEs sharing the same extension. The web version features a touch-optimized layout for smartphones and tablets, and can run fully offline after the first load. It includes 66 built-in courses organized into 6 tracks (C++ beginner/advanced, C bridging, Python beginner/bridging, Arduino special topic), with each lesson narrowing down the toolset and providing scaffolding. Its architecture uses a semantic tree as the single source of truth, with all three views acting as projections of this tree. Standardized components called "capsules" are used to implement the recognition, generation, visualization, reading, and execution of language concepts. The extension workflow is assisted by AI skills, covering stages such as component generation, round-trip testing, and fuzz testing. It is licensed under MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.