我正试图让一个基本的ECMAScript解析器工作,并为它找到了一个完整的ANTLR语法
ECMAScript 3
,它看起来编译正常,并生成相应的Lexer/Parser/Walker Java文件。
ANTLR IDE plugin
适用于Eclipse 3.5)
guide on ANTLR wiki
),它只是在尝试创建解析器时挂起:
CharStream MyChars = new ANTLRFileStream(FileName); // FileName is valid
ES3Lexer MyLexer = new ES3Lexer(MyChars);
CommonTokenStream MyTokens = new CommonTokenStream(MyLexer);
MyTokens.setTokenSource(MyLexer);
ES3Parser MyParser = new ES3Parser( MyTokens ); // hangs here
ES3Parser.program_return MyReturn = MyParser.program();
我已经找到了问题的根源
ES3Parser
proxy.handshake()
-在这行之前我可以成功的做到
System.out.println("text")
但在那之后我什么也得不到。
那么,我该如何找出它挂起的原因,并停止它——或者干脆绕过这一部分(我可以/应该禁用调试吗?),只要它可以工作并允许我继续做有用的事情。