2

私は確かに間違っていますが、antlrのgunitにはユーザーの選択肢がないようです。

bash-3.2$ java org.antlr.gunit.Interp --help
Exception in thread "main" java.io.FileNotFoundException: --help (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at java.io.FileInputStream.<init>(FileInputStream.java:79)
    at org.antlr.runtime.ANTLRFileStream.load(ANTLRFileStream.java:59)
    at org.antlr.runtime.ANTLRFileStream.<init>(ANTLRFileStream.java:47)
    at org.antlr.runtime.ANTLRFileStream.<init>(ANTLRFileStream.java:42)
    at org.antlr.gunit.Interp.main(Interp.java:62)
bash-3.2$ 

特に、冗長オプションをオンにしたいと思います。そうしないと、エラーが発生したときにほとんどわかりません。
詳細/デバッグオプションをオンにする方法を知っていますか?

 [java] -----------------------------------------------------------------------
 [java] executing testsuite for grammar:while with 31 tests
 [java] -----------------------------------------------------------------------
 [java] 2 failures found:
 [java] test15 (variables, line20) - 
 [java] expected: OK
 [java] actual: FAIL
 [java] 
 [java] test20 (read, line27) - 
 [java] expected: OK
 [java] actual: FAIL
 [java] 
4

1 に答える 1

1

antlr3を使用していると仮定して、GitHub(https://github.com/antlr/antlr3/blob/master/gunit/src/main/java/org/antlr/gunit/Interp.java)のソースを見てください。詳細なオプションがないことを修正します。

テストが失敗する理由を確認する方法は、デバッグモードでAntlrWorksを介して入力を実行することです。これにより、どのルールが一致しているかを確認できます。

于 2013-01-30T04:53:50.720 に答える