1

私は、ECMAScript ファイルのテキストのシンボル テーブルを構築する解析アプリケーションに取り組んでいます。私が抱えている問題は、ParseTreeListener.

これはChris Lambrou の ANTLR 文法を使用しており、これはECMAScript 仕様の公式文法とかなり密接に一致しているようです。と呼ばれるパーサー ルールがありleftHandSideExpressionますが、TestRig GUI に表示されると式の右側にも一貫して表示されるため、これは欺瞞的です。

これは訪問者パターンを必要とするタスクですか?

アドバイスに感謝します。

4

1 に答える 1

1

leftHandSideExpression次の場所にのみ表示されます。

  • の左側にありassignmentOperatorます。の式のように、これは右辺になり得ることに注意してください。yx = y = 3
  • 後置インクリメント/デクリメント演算子 ( xinx++またはx--) の式部分。
  • for (... inステートメントの初期化部分。

現在、代入式の左側を見ているかどうかを判断するには、現在の解析ツリー ノードとその親を調べて、LeftHandSideExpressionContext親が または のいずれかであるAssignmentExpressionContextを探しますAssignmentExpressionNoInContext

于 2013-04-17T15:41:39.963 に答える