gpt4 book ai didi

java - JFlex 扫描仪 ArrayIndexOutOfBoundsException : 769

转载 作者:行者123 更新时间:2023-11-30 06:43:37 26 4
gpt4 key购买 nike

我正在尝试使用 JFlex 创建扫描仪。我创建了我的 .jflex 文件,它编译了一切。问题是,当我尝试证明它时,有时它会给我错误 ArrayIndexOutOfBoundsException: 769 在 JFlex 创建的 .java 类中。

我也在使用 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;

谢谢。

最佳答案

根据其文档,JFlex 在遇到使用 %7bit%8bit/% 的 Unicode 字符时抛出 ArrayIndexOutOfBounds 异常完整的 编码选项。它建议始终使用 %unicode 选项,这是默认选项。

正在使用%unicode 选项,但您也正在使用%full。显然,当您有这两个选项时,%full 优先。所以删除 %full 错误应该消失。

关于java - JFlex 扫描仪 ArrayIndexOutOfBoundsException : 769,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51905624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com