問題タブ [ebnf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1087 参照

c# - EBNF をコンパイラ用に C# に変換する

EBNFC# コードに変換する方法を学ぼうとしています。

サンプル:int <ident> = <expr>

「このデータ型(int)の変数(ident)は(=)整数(expr)を受け取りますが、それを次のように変換する方法がわかりません。

アストクラスから

パーサークラスから

CodeGen クラスから

これを変換する方法を正しく理解する方法について、誰かが私を正しい方向に向けることができますか?

0 投票する
2 に答える
242 参照

antlr - 階層型Key-Value構文からANTLRを使用してASTを作成する方法

私はANTLRを使用してKey-Valueデータ形式を解析することを検討してきました。非常に単純ですが、キーは階層を表します。

入力構文の簡単な例:

私の考えでは、これは次のように構造化されたツリーを表しています。

私が得ることができる最も近いものは、次の文法を使用することです:

生成するもの:

ここでANTLRなどの汎用ツールに質問しすぎているかどうかはわかりませんが、これはこのアプローチで得られる限りの近さです。つまり、ここからツリーの一部を使用して、必要なデータ構造を手動で作成します。

では、文法から直接必要なツリー構造を作成できますか?もしそうなら、どのように?そうでない場合は、なぜそうではありませんか?それはANTLRの技術的限界ですか、それとも関連する言語の種類に関係するCS-yのようなものですか?

0 投票する
1 に答える
268 参照

debugging - ANTLRWorks デバッグ - 異なる色の意味は?

ANTLRWorks のデバッグ モードを使用して C 文法をテストしています。ANTLRWorks でのデバッグは、理解を深めるのに非常に役立ちますが、出力ツリーのさまざまな色を理解するのに問題があります。backtrack=true文法で使っています。赤い色はデバッガーが間違った方向に進んでいることを意味し、緑色はデバッガーが正しい方向に進んでいることを意味すると思いました。しかし、濃い赤と濃い緑はどうですか?

次の入力にのみ一致する「小さな木」の写真を追加しました。

ここに画像の説明を入力

質問に答える必要がある場合は、使用される最も重要な 4 つのルールを次に示します。

0 投票する
1 に答える
45 参照

java - 可能性のある非端末に対処する方法は?

次のような EBNF があるとします。

{} 括弧は、0 個以上を選択することを意味します。では、行を 1 文字ずつ読んでいるときの<Term>ように、ちょうど vs があるときはどうすればわかりますか?<Term> + <Term> + <Term>

0 投票する
0 に答える
35 参照

.net - datatable.select(filter_condition) で使用される EBNF

Datatable.Select(filter_condition) で使用されている EBNF を知っている人はいますか? 私が達成しようとしているのは、SQL-WHERE 部分に似たステートメントを強調表示することです。

0 投票する
2 に答える
147 参照

java - java以外の言語をコンパイルするためにEclipseでJavaプログラムを使用することは可能ですか?

私は現在、ファイルをコンパイルし、見つかったエラー (構文) を診断する必要があるプロジェクトに取り組んでいます。プログラムを .java ファイルで動作させることができました。ここで、.java 以外のファイル (例: .py ファイル) に対して同じことを行い、それを現在のプログラムに統合する必要があります。いくつかの調査を行ったところ、Eclipse は 20 を超える言語をサポートでき、プラグインをダウンロードできることがわかりました。私が知らないのは、「コンパイラ」(python の例) を呼び出して、.py ファイルで見つかった構文エラーの診断を取得できるかどうかです。言語の bnf を探す必要がありますか?

0 投票する
2 に答える
19990 参照

bnf - BNFをEBNFに変換する方法

この BNF を EBNF に変換するにはどうすればよいですか?

0 投票する
1 に答える
6762 参照

bnf - EBNFからBNFの基本への変換

コンピュータ言語のクラスの質問に答える方法がよくわかりません。次のステートメントをEBNF形式からBNF形式に変換します。

EBNF:expr --> [-] term {+ term}

中括弧に含まれる表現は0回以上繰り返され、直角中括弧に含まれるものは0または1つのオプションを表すことを理解しています。私の理解が正しければ、これは正しい変換でしょうか?

私のBNF:

ボーナスリーディング

0 投票する
3 に答える
2494 参照

parsing - EBNF文法からANTLR3へ?

Jassスクリプト言語用のこのEBNF文法があります。
ANTLR 3.5で動作するように変換するには何をする必要がありますか?
さらに、そうするのに役立つツールはありますか?


提供されたアドバイスに事前に感謝します!

0 投票する
0 に答える
191 参照

bnf - コンピュータ サイエンス (特に EBNF を使用するメタ言語) では、記号 -> と <- には特定の意味がありますか?

これが SO のドメインにない場合は申し訳ありません - それは少し高レベル/理論的です。カスタム言語仕様 (興味がある場合は ACELandic と呼ばれます) を勉強しています。また、拡張バッカス・ナウア形式 (EBNF ) に基づいています。

次のような記号が表示されます

それは本当に私を混乱させます。これらは標準化された記号ですか? 私はHaskellでこのようなことを思い出しますが、これについて頭を悩ませることはできません..ヒントやアドバイスをいただければ幸いです。

ここに画像の説明を入力