基于简单状态机的四则运算
test-fsm-arithmetic-operations
- 测试一下通过 Finite State Machine 实现简单的四则运算解析;
- 全部代码在 test-fsm-arithmetic-operations,因为只是为了测试状态机,所以有非常多的边界条件没有处理。
在之前 Programming Language Monkey 中,其实也实现了一版,但是当时只是简单的根据 Pratt Parsing 实现,并没有画出完整的状态机,所以在这里重新实现了一次,为了避免浪费太多的时间,这次将只会支持以下简单内容:
- 支持
+,-,*,/四则运算; - 支持
(); - 仅支持标准十进制格式的 number,不支持
0xFF等其他形式的数字输入; - 仅支持
int64类型,也就是说除法会导致会导致数据丢失,但是考虑到本来就是为了了解状态机而实现的玩具,这个完全是可以接受的;