An open API service indexing awesome lists of open source software.

https://github.com/superjmn/statemachinecompiler

State Machine Compiler inspired by Uncle Bob
https://github.com/superjmn/statemachinecompiler

clean-code compiler csharp dotnet finite-state-machine parser-combinators visitor-pattern

Last synced: about 1 year ago
JSON representation

State Machine Compiler inspired by Uncle Bob

Awesome Lists containing this project

README

          

# State Machine Compiler
State Machine Compiler inspired by [Robert C. Martin](https://twitter.com/unclebobmartin), AKA "Uncle Bob", and his work.

This the State Machine Compiler (SMC) that Robert C. Martin builds in episodes [28](https://cleancoders.com/episode/clean-code-episode-28/show), [29](https://cleancoders.com/episode/clean-code-episode-29/show) and [30](https://cleancoders.com/episode/clean-code-episode-30/show) of [Clean Coders](https://cleancoders.com/), built from scratch in C#.

It can be used to create Finite State Machines in several programming languages, like Java, C, Python, and C#, of course. In fact, it's built on C# 😄

# Syntax
```
Actions: Turnstile
FSM: TwoCoinTurnstile
Initial: Locked
{
(Base) Reset Locked Lock
Locked : Base
{
Pass Alarming -
Coin FirstCoin -
}

Alarming : Base >AlarmOn action` and exit actions are denoted by `