flex:输入规则太复杂(>= 32000 NFA 状态)(在 62 位上编译 HLA 时)

flex: input rules are too complicated (>= 32000 NFA states) (while compiling HLA on 62bit)

我试图在 62 位 (fedora) 上编译 HLA,结果出现以下错误:

flex:输入规则太复杂(>= 32000 NFA 状态)

我在下面找到了解决它的方法 URL:

http://westes.github.io/flex/manual/unnamed_002dfaq_002d88.html

Increase the definitions in flexdef.h for:

#define JAMSTATE -32766 /* marks a reference to the state that always jams */
#define MAXIMUM_MNS 31999
#define BAD_SUBSCRIPT -32767

recompile everything, and it should all work.

我下载了flex SRPM,做了上面的修改,编译安装,但是没有用! :(

谢谢@EJP 和@Wayne Sudo 我刚刚在以下位置找到了解决方案:

https://www.owlfolio.org/possibly-useful/flex-input-scanner-rules-are-too-complicated/

我修改了

的 makefile

flex -8 -i ...

to

flex -Ca -8 -i ...

成功了!

来自flex --help

-Ca, --align      trade off larger tables for better memory alignment