分裂ANTLR3语法(制作复合语法)可以减少整体NFA / DFA状态吗?

时间:2013-02-28 11:15:50

标签: java antlr3

我在使用ANLTR3生成解析器时遇到OutOfMemoryError,并且堆空间似乎主要填充NFA / DFA状态(准确地说是org.antlr.analysis.NFAConfiguration对象)。

假设:

  • 预测预测所需的状态总量不能减少 基本上通过重写语法规则 (实际上:这将是另一个问题)
  • 增加堆空间不是一种选择 (因为已经使用了很多,语法只有估计大小的60%)

可以分割语法帮助,因为:

  • DFA / NFA状态的总量可能会少一些(不要指望这个,真的)
  • 或每个语法的DFA / NFA状态量将少于一次语法 已经生成,其DFA / NFA国家被废弃了?

0 个答案:

没有答案