私は最初にJavaターゲット(TestRigサポート用)を使って文法を開発し、Pythonに移植しました(アクションを移植するためにgit hub文法レポからPython3文法を拡張しますPythonへ)。両方のバージョンにいくつかのヘルパー印刷メソッドを追加し、両方のパーサーを同じ入力で実行すると、Pythonターゲットはエラーを生成します。antlr4文法はJavaターゲットで動作し、Pythonでは失敗します
トレース出力を取得するためにsetTraceメソッドを使用していますが、両方を実行してもトレースは同じです(printステートメントとは若干のブランクラインの違いがあります)。これは、両方のパーサーが同じトークンに遭遇し、同じツリーを構築していることを私に教えてくれる。しかし、前述したように、Javaバージョンは正常に終了しますが、Pythonコードには "... but expected ..."というエラーがあります。
類似の動作を検出した人はいますか?もしそうなら、回避策が見つかりましたか?申し訳ありませんが、実際のコードは投稿しませんが、文法は長めです。