ECMAScript の適切な EBNF 記述を見つけようとしていますが、これまでのところ完全なものは見つかりませんでした。
何か案は?
ECMAScript 標準はどうですか? 定義により完成:-}
編集:既存の文法が必要な場合は、文法ジェネレーター ツール サイトのいずれかを試してください。ANTLR の場合、 ECMAScript grammarは次のとおりです。その品質については何も知りませんが、グラマーが慎重に構築されていれば、ANTLR は優れたパーサーを生成できます。おそらく、文法も多くのANTLRのものと織り交ぜられていることに気付くでしょう。そのため、あなたの観点から見ると、標準と同じ問題に悩まされる可能性があります。少なくとも、そのすべてを削除できます。
CrockfordのJavaScriptの第2章:Good Parts図(ご想像のとおり)GoodParts。
BNFforJavaScriptでのいくつかの刺し傷は次のとおりです。
この以前のSOの質問から:
ECMAScript 用のjavaccベースのパーサーに取り組んでいます。これまでの私の文法は次のとおりです。
EcmaScript の Tom Copeland の BNF も参照してください。
「Yet Another JavaScript Interpreter」と同様に:
Dojo Toolkit の Grammar (おそらく YAJI に基づく) と同様に:
私の見解では、YAJI または Dojo Toolkit は (私の知る限りでは) 最も完成度が高く、最も優れています。私はそれらに基づいて作業を行っていますが、さらに完全 (5.1/6) で、標準に準拠しながらも実用的なものにしたいと考えています。
ECMAScript の文法は非常に複雑です。いくつかの大きな注意事項があります。
そのため、ご承知おきください。それらを実装するのは非常に難しいです。
ターゲット プラットフォームが Java で、JavaCC を気にしない場合は、私のプロジェクトに参加していただければ幸いです。私の文法は実際に準備ができています (警告なしでビルド/コンパイルされます)。私は現在、すべての機能と製品をカバーするテスト スイートに取り組んでいます。ただし、正規表現リテラルと ASI に関するいくつかの問題が予想されます。
ps。質問が 09 からのものであることに気付いたので、招待が遅すぎる可能性があります。:)
このリンクecmascriptA3を試してください。ecmascriptのBNFがあります