問題タブ [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 投票する
2 に答える
118 参照

javascript - 空のブロックと空のオブジェクトの文法競合の警告

Jisonにパーサーを実装しようとしています。パーサーは、JSON オブジェクト:{ a: 1 }とブロック:の両方をサポートしていますif (true) { statement(); }

私の文法は次のようになります。

空のオブジェクトと空のブロックの両方をサポートする必要があるため、との{}両方にルールがあります。blockobjectExpression

動作しますが、次のような多くの警告を出力します。

これらの警告を修正または抑制するにはどうすればよいですか?

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

javascript - bison/jison 電卓言語に関数を追加する

いくつかの単純な関数を使用して、 Jison 電卓の例を拡張しようとしています。私は解析とバイソン/ジソンにかなり慣れていませんが、これは私がこれまでに持っているものの一部です:

問題は、関数が 1 つの引数しか渡されないことです。例えば:

実際、console.logの引数を指定すると、定義すらされていないpowように見えます。b関数に送信する前に式リスト全体を解析しないのはなぜですか?

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

javascript - Jison: Grammar で定義されているものではなく、解析されたトークンを取得する

レシピの材料に関連するパーサーを生成しようとしています。パーサーがトークンを処理する順序が、EBNF 文法で定義されているものに対して、jison ファイル内のトークンの行項目の順序に従っているように見えることに気付きました。

たとえば、解析すると次のように6 tablespoons unsalted butter, cut into 1-inch piecesなります。

私は、文法が a を食べる前にUNIT_NAMEどれが. ここで正しい文法アプローチは何ですか? 私はインタラクティブな Jison パーサーを使用して文法の状態を検証してきましたが、これまでのところ問題はありませんでした。tablespoonsWORD

ジソン・グラマー

要旨

テストするテキスト文字列と単純なパーサーを使用して作成しました: https://gist.github.com/aphexddb/ddc83d57c7f1c1b96458

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

javascript - 解析コマンドに関する JISON の問題

こんにちは、私は初心者JISONで、次のコードで立ち往生しています:
コマンドを解析するため:

私のコードは次のとおりです。

コマンドが次の場合、これは正常に機能します。

ただし、コマンドが次の場合はエラーが発生します。

エラー : TEXT が必要で、PROJECTCOMMAND を取得しました。
コマンドのプロジェクト名が project1、project2、myproject などの場合も同様です。これを修正する方法はありますか?
前もって感謝します

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

javascript - JISON パーサーでの検証

だから私はパーサーを使用して生成しましたJISON

コマンドで検証を行う方法はありますか。つまり、コマンドが上記のルールのいずれも満たさない場合、エラーをスローします。つまり、デフォルト オプションがあります。
パーサーの最後に次のようなものがあります。

前もって感謝します

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

parsing - Jisonでの改行の解析

こんにちは、私はジソンの初心者で、それを学ぼうとしていました。http://techtonik.github.io/jison/try/でオンライン ジソン パーサー計算機コードを試します。それは表現のためにうまく機能しています

しかし、改行に新しい式を追加すると、パーサーは改行を取得せず、別の式を同じ行にあるかのように解析しようとします。

パーサーはそれを次のように受け取ります:

これは失敗するため、jison パーサーで改行を解析する方法を知りたいです。

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

bison - Jison 演算子の優先順位

私は Jison を使用して言語を開発していますが、私が直面している問題は演算子の優先順位です。比較演算子を最初に評価する演算子にしたいので、たとえば次のように1 + 2 < 3 - 3 * 4なります(1+2) < (3 - (3 * 4))

私が今持っているルール:

どんな助けでも大歓迎です