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

时间:2015-08-28 08:04:30

标签: bison flex-lexer hla

我试图在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,进行了上述更改,编译并安装了它,但它没有用! :(

1 个答案:

答案 0 :(得分:2)

谢谢@EJP& @Wayne Sudo 我刚刚找到了一个解决方案:

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

我从

修改了makefile
  

flex -8 -i ...

     

     

flex -Ca -8 -i ...

它有效!

来自flex --help

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