c – 没有动态内存分配的Lex和Yacc

我正在设计软件以在禁止使用动态内存的嵌入式环境中运行. Lex和Yacc非常适合应用.

我可以将Lex和Yacc配置为根本不使用动态内存分配吗?

我是否可以将Lex和Yacc配置为使用预定义的内存块,从而将动态内存使用限制在该预定义空间?

我是否可以限制动态内存仅用于程序初始化(即程序首次运行时)?

编辑:
为了回应TonyK,我希望解析器不使用动态内存.

谢谢

最佳答案 当然你可以,如果你可以自己编译Lex和Yacc.你只需要实现自己的malloc和free,并链接到那些. (假设Lex和Yacc是纯C,我认为是这样.)

编辑我是否误解了另一个问题?你想让Lex和Yacc自己使用有限的内存,还是希望它们生成使用有限内存的解析器?

点赞