Ragel 是个很 NB 的能生成状态机的编译器,而且支持一堆语言:C.C++.Object-C.C#.D.Java.Go 以及 Ruby. 原来的文本解析器是用正则表达式实现的,随着状态(if-else)越来越多,修改越来越麻烦... 安装 Mac OS 安装很简单,直接 brew install Ragel 其他系统没有试过,不过官网提供压缩包 ragel-6.9.tar.gz,里边有个 install.sh,想必是可以完成安装的. 格式 Ragel 通过将状态语句嵌入宿主语言,与宿主语言(…