statemachine-macro 0.1.0

Provides the statemachine!() macro for easily creating statemachines.
Documentation
# statemachine-macro

A Rust crate providing a macro to easily create state machines. Documentation is available on [docs.rs](https://docs.rs/statemachine-macro).

## Usage

Add this to your `Cargo.toml`:
```toml
[dependencies]
statemachine-macro = "0.1"
```

## Getting Started

```rs
use statemachine_macro::statemachine;

statemachine! {
    #[derive(Default)]
    struct Foo {}

    enum FooState consumes [char] from Start accepts [NonEmpty];

    Start => {
        char match _ => NonEmpty
    },

    NonEmpty => {
        _ => NonEmpty
    }
}

fn main() {
    let mut foo: Foo = Default::default();
    assert!(!foo.is_accepting());
    foo.consume('a');
    assert!(foo.is_accepting());
    foo.consume('b');
    assert!(foo.is_accepting());
    foo.consume('c');
    assert!(foo.is_accepting());
}
```

## License

This crate is published under the terms of the MIT license. See the LICENSE file for details.