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

Other Useful Business Software
Get Avast Free Antivirus with 24/7 AI-powered online scam detection Icon
Get Avast Free Antivirus with 24/7 AI-powered online scam detection

Get protection for today’s online threats. Free.

Award-winning antivirus protection, as well as protection against online scams, dangerous Wi-Fi connections, hacked accounts, and ransomware. It includes Avast Assistant, your built-in AI partner, which gives you help with suspicious online messages, offers, and more.
Free Download
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 >