我一直在到处寻找这个问题的答案,但到目前为止我还没有找到。我正在开发一个 ANTLR 项目,该项目基本上应该实现类似 Haskell 的语法。
listDecl:
LIST {int count=0; ArrayList<Integer> list = new ArrayList<Integer>();} (WS)+ ID '=' '[' a1=atom {count++; list.add($a1.value);} (',' a2=atom {count++; list.add($a2.value);} )* ']' {listMemory.put($ID.text, list);}
;
代码的上述部分以及遵循相同基本格式的其他一些代码给了我以下错误:
TParser.java:510: error: cannot find symbol
count++; list.add(a1);
^
symbol: variable count
location: class TParser
TParser.java:510: error: cannot find symbol
count++; list.add(a1);
^
symbol: variable list
location: class TParser
TParser.java:534: error: cannot find symbol
count++; list.add(a2);
^
symbol: variable count
location: class TParser
TParser.java:534: error: cannot find symbol
count++; list.add(a2);
^
symbol: variable list
location: class TParser
TParser.java:547: error: cannot find symbol
listMemory.put((ID6!=null?ID6.getText():null), list);
^
很抱歉,如果之前有人问过这个问题,但经过广泛的研究,我真的放弃了希望 感谢您的帮助