gpt4 book ai didi

java - ANTLRv4 TestRig 无法找到我的 Lexer 类

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:28 27 4
gpt4 key购买 nike

我刚开始使用解析器之类的东西,我正在尝试为我一直在玩的游戏构建我自己的小逻辑语言。我在我的机器上设置了 ANTLR4 并运行了测试代码 - 通过运行

grun Hello r -gui

我能够获得适当的输出。

但是,当我编译下面的语法并尝试运行时

grun garden expr -gui

我得到一个

NoClassDefFoundError: gardenLexer(wrong name: parser/gardenLexer)

gardenLexer.class 存在于文件夹中,但由于某种原因 ANTLR 似乎看不到它。

grammar garden;

@header
{
package parser;
}

expr
: '(' expr ')'
| 'not' expr
| expr 'and' expr
| expr 'xor' expr
| expr 'or' expr
| 'exactly' INT property
| 'atleast' INT property
| 'atmost' INT property
| 'exists' INT property
| property 'adjacent' property
| property 'leftof' property
| property 'rightof' property
| property 'above' property
| property 'below' property
;

property
: SIZE
| COLOR
| TYPE
| SIZE COLOR
| SIZE TYPE
| COLOR TYPE
| SIZE COLOR TYPE
| 'water'
| 'any'
;

WS
: [ \t\n\r]+ -> skip;
INT
: '0'..'9'+;
TYPE
: 'stone'
| 'statue'
| 'plant'
;

COLOR
: 'black'
| 'white'
| 'gray'
;

SIZE
: 'small'
| 'large'
;

最佳答案

如果你的 antlr 生成的类属于一个包你应该调用 grun as

grun *packageName*.garden expr -gui

来自“classes”文件夹(不是 sources)

关于java - ANTLRv4 TestRig 无法找到我的 Lexer 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19692694/

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