問題タブ [jison]

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 に答える
530 参照

javascript - Jison: AND および OR に対して複数の子を持つ AST ノードを生成する

JavaScript で単純な SQL から Mongo へのクエリ条件を生成する作業を行っています。Jison を使用して SQL の where 句を解析しています。

次の文法は、OR と AND がネストされたバイナリ ツリーの形式で AST を返します。私が望むのは、OR ノードがすべての用語を単一ノード (フラット ツリー) に持つ AST を取得することです。

そして、次を解析すると

戻る

でも返してほしい

ジソンを使ってそれは可能ですか?もしそうなら、どのような変更が必要ですか?

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

javascript - ジソンの並置された用語との乗算?

私は最近 Jison を試していて、いくつかの数式を (少なくとも部分的に) 解析できる文法を作成しようと考えました。

しかし、今では、フォームの乗算を許可するルールを作成する方法について混乱しています7a(たとえば) whereaは以前に定義された変数です。コードでこれを実行しようとしましたが、 と の間にadjmulスペースがないとパーサーは機能しません。要するに、プログラム内で数値と変数が隣接している場合、それらの間の乗算を許可するルール/ルールを作成するにはどうすればよいですか?7a

私は一般的に Jison のようなパーサーに慣れていないので、現在のルールを簡素化する方法があるかどうかも知りたいです。

コード:

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

compiler-construction - Jison: 二項演算文法の競合

私のJison文法をセットアップしようとして、私は持っていました:

しかし、その結果、次の競合メッセージが表示されました。

置換すると、非終端記号が削除され、Operator代わりに式パターンが直接書き出されます。

そのようなエラーは発生しません。なぜ最初の文法には競合があり、2 番目の文法には競合がないのですか? それらは私の理解と同等のようです。

前もって感謝します!

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

jison - <に相当するものは何ですか> JSON 形式を使用する場合は jison で

ジソンのドキュメントを読んでいると、例の1つに、ファイルの終わり( )に一致するレクサールールが示されています<<EOF>>。ただし、JISON 形式で文法を記述している場合にのみ使用できます。代わりに、JSON 形式を使用して文法を記述していますが、ファイルの末尾を一致させる方法を説明しているドキュメントが見つかりません。レクサー規則として使用"<<EOF>>"してみましたが、文字列と文字通り一致します<<EOF>>

どうすればいいですか?私が行方不明になっているジソンのドキュメントは他にありますか?

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

javascript - データを Jison パーサーに渡す

解析中に参照できるように Jison にデータを渡す方法はありますか? 最初のケースとして、 を使用していて、calculator.jisonそれにオブジェクトを渡したいとしましょう。

VARIABLE { $$ = data[text]; }これは、提供されたデータ オブジェクトを使用して変数を解決する、新しいケースが追加されたcalculator.jisonです。