SMC takes a state machine stored in a .sm file and generates a State pattern in 14 programming languages. Includes: default transitions, transition args, transition guards, push/pop transitions and Entry/Exit actions. See User Manual for more info.

Project Activity

See All Activity >

License

Mozilla Public License 1.1 (MPL 1.1)

Follow SMC - The State Machine Compiler

SMC - The State Machine Compiler Web Site

nel_h2
Secure User Management, Made Simple | Frontegg Icon
Secure User Management, Made Simple | Frontegg

Get 7,500 MAUs, 50 tenants, and 5 SSOs free – integrated into your app with just a few lines of code.

Frontegg powers modern businesses with a user management platform that’s fast to deploy and built to scale. Embed SSO, multi-tenancy, and a customer-facing admin portal using robust SDKs and APIs – no complex setup required. Designed for the Product-Led Growth era, it simplifies setup, secures your users, and frees your team to innovate. From startups to enterprises, Frontegg delivers enterprise-grade tools at zero cost to start. Kick off today.
Start for Free
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
11
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5

User Reviews

  • SMC has been invaluable to me in more than a few projects to reduce code complexity. Thanks to SMC I have been able to simplify program state behavior for programs in C++ and Java at least. This allowed for relatively linear efforts & time (v/s exponential) as program complexity grew. After searching for similar solutions many years go and again recently, SMC seems by far seems most effective!
  • Great to have a complete tool that... - uses the UML notation. - has language for expressing state machines in a single .sm file. - ability to generate code for lots of programming languages based on a single .sm file. - generate a visual presentation using Graphviz. Keep up the great work with this tool! I really appreciate it. :-D
  • very good project, thanks!
  • thanks man, great soft!
  • This is the second Finite State Machine generator I have used, and the most flexible. The first was QP, which worked well on the Windows C++ platform I was developing on in 2006. But the number of target platforms for QP is small, and this licensing is complicated. I am now using SMC for some networking logic in my iOS App ( http://dr.edgemoor.com ) and plan to expand its use for other items. Advantages: 1) Simple to use and understand 2) Fairly easy to debug. If you make a mistake in you FSM definition, it will toss a nasty run time error that will point you to what is missing. 3) I want to port my App to Android and possibly Windows Phone, and SMC will work well for this. I plan to put the maximum amount of logic into state machine definitions to make porting simpler. 4) The state charts that SMC generates are really useful. I include them in my DOxygen project documentation, and can quickly look at them to remember how things are working. Disadvantages: 1) Needs more volunteers to add to the documentation. ( Of course, I could be one of those volunteers, so I can't complain. )
Read more reviews >