2011-11-09 57 views

回答

1

您不能:你將不得不重構你的代碼。這個限制是Java類文件固有的。

Section 4.10 (Limitations of the Java Virtual Machine) of the VM specification

The amount of code per non-native, non-abstract method is limited to 65536 bytes by the sizes of the indices in the exception_table of the Code attribute (§4.7.3), in the LineNumberTable attribute (§4.7.8), and in the LocalVariableTable attribute (§4.7.9).

2

最近我有同樣的問題,並設法通過更改ANTLR的代碼生成工具的選項來解決它..

C: java org.antlr.Tool –Xmaxinlinedfastates [a number less than 60] grammar.g 

使用此選項強制代碼生成器來創建DFA狀態,而不是許多嵌套if聲明

4

的表法specialStateTransition並不總是g^enerated。它可能與某些與其他標記共享公共前綴的標記有關。

請參閱this question/answer對於specialStateTransition通過重新構造一個此類令牌而完全消失的情況。

相關問題