Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 2 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 (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-26T15:05:06.000Z (9 months ago)
- Last Synced: 2024-10-02T10:18:32.316Z (3 months ago)
- Topics: state-machine, statemachine
- Language: C#
- Homepage:
- Size: 266 KB
- Stars: 11
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SMLite
[![license](https://img.shields.io/github/license/fawdlstty/SMLite?color=09f)](./LICENSE)
[![cpp](https://img.shields.io/lgtm/grade/cpp/github/fawdlstty/SMLite)](https://lgtm.com/projects/g/fawdlstty/SMLite)
[![nuget](https://img.shields.io/nuget/dt/Fawdlstty.SMLite?label=nuget%20downloads)](https://www.nuget.org/packages/Fawdlstty.SMLite)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/fawdlstty/SMLite.svg?logo=lgtm)](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