我试图在62位(fedora)上编译HLA并最终出现以下错误:
flex:输入规则太复杂(> = 32000 NFA状态)
我找到了在以下网址处理地址的说明:
http://westes.github.io/flex/manual/unnamed_002dfaq_002d88.html
增加flexdef.h中的定义:
#define JAMSTATE -32766 / *标记对始终阻塞* /
的状态的引用 #define MAXIMUM_MNS 31999
#define BAD_SUBSCRIPT -32767重新编译所有内容,它应该都可以正常工作。
我下载了flex SRPM,进行了上述更改,编译并安装了它,但它没有用! :(
答案 0 :(得分:2)
谢谢@EJP& @Wayne Sudo 我刚刚找到了一个解决方案:
https://www.owlfolio.org/possibly-useful/flex-input-scanner-rules-are-too-complicated/
我从
修改了makefileflex -8 -i ...
到
flex -Ca -8 -i ...
它有效!
来自flex --help
-Ca, --align trade off larger tables for better memory alignment