https://github.com/fawdlstty/smlite
State machine library for C, C++, C#, Java, JavaScript, Python, VB.Net
https://github.com/fawdlstty/smlite
state-machine statemachine
Last synced: 11 months ago
JSON representation
State machine library for C, C++, C#, Java, JavaScript, Python, VB.Net
- Host: GitHub
- URL: https://github.com/fawdlstty/smlite
- Owner: fawdlstty
- License: mit
- Created: 2021-01-20T02:10:36.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-03-26T15:05:06.000Z (over 2 years ago)
- Last Synced: 2025-07-02T16:19:10.108Z (12 months ago)
- Topics: state-machine, statemachine
- Language: C#
- Homepage:
- Size: 266 KB
- Stars: 12
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SMLite
[](./LICENSE)
[](https://lgtm.com/projects/g/fawdlstty/SMLite)
[](https://www.nuget.org/packages/Fawdlstty.SMLite)
[](https://lgtm.com/projects/g/fawdlstty/SMLite/alerts/)
English | [简体中文](./README.zh.md)
State machine library for C, C++, C#, Java, JavaScript, Python, VB.Net
## Support Environments
- C library supported versions
+ `C99` and above
- C++ library supported versions
+ `C++ 11` and above
- C# library (VB.Net) supported runtimes
+ `.Net Framework 4.5` and above
+ `.Net Standard 2.0/2.1`
+ `.Net 5`
- Java library supported versions
+ Java 8
- JavaScript library supported versions
+ ECMAScript 2015
- Python library supported runtimes
+ `Python 3.7`
## Implementation Schedule
| | C | C++ | C#/VB.Net | Java | JavaScript | Python |
| :-----------------: | :---: | :---: | :-------: | :---: | :--------: | :----: |
| Document | √ | √ | √ | | | √ |
| Sync State Machine | √ | √ | √ | √ | √ | √ |
| Multi State | - | √ | √ | √ | | |
| Thread Safe | | √ | √ | √ | | |
| Async State Machine | - | | √ | - | √ | √ |
| Async Cancel | - | | √ | - | | |
| Serilize | | √ | √ | | | |
| Test | √ | √ | √ | √ | √ | √ |
- √ Supported
- \- Can't Supported
- (empty) In Plan
## Tutorials
Accelerated access from mainland Chinese users: [Document Images](https://www.fawdlstty.com/smlite/)
- [C Library Tutorials](docs/chapters/c_en.md)
- [C++ Library Tutorials](docs/chapters/cpp_en.md)
- [C# Library Tutorials](docs/chapters/csharp_en.md)
- Java Library Tutorials
- JavaScript Library Tutorials
- [Python Library Tutorials](docs/chapters/python_en.md)
- [VB.Net Library Tutorials](docs/chapters/vb.net_en.md)
## Depends
The project uses submodules and initializes them if local compilation is required.
```cmd
git clone https://github.com/fawdlstty/SMLite
git submodule update --init --recursive
```
- tstl2cl (Dependency by C Library)
+ https://sourceforge.net/projects/tstl2cl/
+ License: zlib/libpng License