2

我正在尝试使用 Ragel 来实现一个简单的 yes/no fsm。不幸的是,语言规范由大约一千个正则表达式的联合组成,其中大多数运算符出现一次或多次。因此,可能的状态数量激增,似乎不可能使用 Ragel 为我的语言生成 fsm。有没有可以做我需要的工具,或者我应该交换方法?我需要比依次检查每个正则表达式的输入字符串更好的东西。我可以将一千个正则表达式切成约 50 个的块,并为每个块生成一个 fsm,并对所有机器运行每个输入字符串,但是如果有一个工具可以在没有这种 hack 的情况下处理这种工作,我会很高兴听到它。

谢谢!

4

1 回答 1

1

好吧,我最终将机器分成多台机器,以防止 Ragel 吃掉所有可用内存 - 事实上,我不得不将机器分成几个单独的 Ragel 文件,因为生成的 java 类有太多常量在它中生成的巨大状态表。我仍然有兴趣听到更好的解决方案,如果有人有的话!

于 2010-06-22T20:04:07.357 回答