文件名称:stately:C的单头通用有限状态机库
文件大小:14KB
文件格式:ZIP
更新时间:2024-04-20 15:39:20
c header-only finite-state-machine single-header C
庄严 用C编写的基于多态模板的有限状态机库,通过单个头文件传递。 我在我的游戏编程课上做了这个(我们必须实现状态机AI),并认为我可能会在其他项目中很好地利用它,所以就在这里。 多亏了C的初始化怪癖,无效输入和陷阱(拒绝)状态得以自动处理。 状态在内部以int形式实现,但是正如您在examples文件夹中看到的那样,可以(并且应该)使用enum来提高可读性。 state_machine struct的声明如下: struct state_machine { int curr_state; int (*map)( const void *); int state_table[NUM_STATE][ALPHABET_SIZE + 1 ]; }; 在哪里: curr_state是计算机的当前状态 map()是一个模板函数,允许调用者将任意输入映射到状态( in
【文件预览】:
stately-master
----README.md(14KB)
----stately.h(625B)
----examples()
--------string_of_ones.c(2KB)
--------failed_mealy_machine_fizzbuzz.c(9KB)
--------moore_machine.c(5KB)
--------valid_number.c(3KB)
--------date_validator.c(24KB)
----LICENSE(726B)