12

重複の可能性:
ECMAscript / Actionscript/Javascriptのyaccgammarはどこにありますか

Yacc用のJavaScriptの文法ファイルを見つけようとしています(Jay用が望ましいですが、JayはYaccクローンなので、.NETに実装する必要があるので問題ありません)。

4

4 に答える 4

2

自分で組み立てる必要があると思いますが、途中にヒントがあります。

完全な JavaScript 文法は、どこかで入手できるはずです。簡単に検索すると、JavaScript LL(1) Grammarが表示されました。( RPA Toolkit: Parse JavaScriptには、JavaScript の BNF スキーマもあります。)

あなたはパーサーについてのみ質問しているので、すでにレクサーを持っていると仮定します。

その文法を Yacc ファイルに変換することは、実際にはそれほどひどいことではありません。例として、Yacc の C 文法があります。

于 2011-11-14T15:44:48.477 に答える
0

antlr を試してみませんか。ecmascript 用に作成された文法があるようです。

http://www.antlr.org/grammar/list

Antlr には C# ランタイムも含まれているようですが、私は Java からしか使用したことがありません。

于 2010-11-11T23:32:03.797 に答える
0

本当にゼロから実装する必要がありますか? Jintなどの一部のライブラリは、同じ仕事をより速く、より安全に行うことができます。Jint は .NET の JavaScript インタープリターです - 私自身の承認を得ました。

于 2011-12-01T14:04:12.370 に答える
0

COCO/R for C# http://ssw.jku.at/coco/を使用してパーサーを作成しています。これは、構成を必要とせずに動作するためです。ただし、Yacc、Flex、Bison などとのソースレベルの互換性はありません。ただし、構文はより単純です。さらに、COCO/R は C# とは異なるいくつかの .NET 言語をサポートしています。ANTLR works for C# にはより多くの機能がありますが、ドキュメントの読み取りとツールの設定に時間がかかります。

于 2011-12-15T13:54:48.287 に答える