JFlex Scanner ArrayIndexOutOfBoundsException:769
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JFlex Scanner ArrayIndexOutOfBoundsException:769相关的知识,希望对你有一定的参考价值。
我正在尝试使用JFlex创建一个扫描仪。我创建了我的.jflex文件,它编译和一切。问题在于,当我尝试证明它时,有时它会给我和JFlex创建的.java类中的ArrayIndexOutOfBoundsException:769错误。
我也在使用Cup Parser发生器。我不知道问题是否与Cup Analysis的部分有关,但这就是我如何调用我的分析器。
ScannerLexico lexico = new ScannerLexico(new BufferedReader(new StringReader( jTextPane1.getText())));
ParserSintactico sintaxis = new ParserSintactico(lexico);
我不知道如何解决它。请帮我。
以下是我的代码的链接:
JFlex File "ScannerFranklin.jflex"
Java Class generated "ScannerLexico.java"
我在JFlex创建的.java类中遇到问题的部分,在next_token()函数中(java文件中的第899行)。
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
谢谢。
根据其文档,只要遇到使用ArrayIndexOutOfBounds
或%7bit
/ %8bit
编码选项的Unicode字符,JFlex就会抛出%full
异常。它建议始终使用%unicode
选项,这是默认选项。
您正在使用%unicode
选项,但您也使用%full
。显然,当你有这两个选项时,%full
优先。所以删除%full
,错误应该消失。
以上是关于JFlex Scanner ArrayIndexOutOfBoundsException:769的主要内容,如果未能解决你的问题,请参考以下文章
[1] [2] [3]线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:3在Matrices.main(Matrices.java:19)[重复