問題タブ [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.
javascript - 空のブロックと空のオブジェクトの文法競合の警告
Jisonにパーサーを実装しようとしています。パーサーは、JSON オブジェクト:{ a: 1 }
とブロック:の両方をサポートしていますif (true) { statement(); }
。
私の文法は次のようになります。
空のオブジェクトと空のブロックの両方をサポートする必要があるため、との{}
両方にルールがあります。block
objectExpression
動作しますが、次のような多くの警告を出力します。
これらの警告を修正または抑制するにはどうすればよいですか?
javascript - bison/jison 電卓言語に関数を追加する
いくつかの単純な関数を使用して、 Jison 電卓の例を拡張しようとしています。私は解析とバイソン/ジソンにかなり慣れていませんが、これは私がこれまでに持っているものの一部です:
問題は、関数が 1 つの引数しか渡されないことです。例えば:
実際、console.log
の引数を指定すると、定義すらされていないpow
ように見えます。b
関数に送信する前に式リスト全体を解析しないのはなぜですか?
javascript - Jison: Grammar で定義されているものではなく、解析されたトークンを取得する
レシピの材料に関連するパーサーを生成しようとしています。パーサーがトークンを処理する順序が、EBNF 文法で定義されているものに対して、jison ファイル内のトークンの行項目の順序に従っているように見えることに気付きました。
たとえば、解析すると次のように6 tablespoons unsalted butter, cut into 1-inch pieces
なります。
私は、文法が a を食べる前にUNIT_NAME
どれが. ここで正しい文法アプローチは何ですか? 私はインタラクティブな Jison パーサーを使用して文法の状態を検証してきましたが、これまでのところ問題はありませんでした。tablespoons
WORD
ジソン・グラマー
要旨
テストするテキスト文字列と単純なパーサーを使用して作成しました: https://gist.github.com/aphexddb/ddc83d57c7f1c1b96458
javascript - 解析コマンドに関する JISON の問題
こんにちは、私は初心者JISON
で、次のコードで立ち往生しています:
コマンドを解析するため:
私のコードは次のとおりです。
コマンドが次の場合、これは正常に機能します。
ただし、コマンドが次の場合はエラーが発生します。
エラー : TEXT が必要で、PROJECTCOMMAND を取得しました。
コマンドのプロジェクト名が project1、project2、myproject などの場合も同様です。これを修正する方法はありますか?
前もって感謝します
javascript - JISON パーサーでの検証
だから私はパーサーを使用して生成しましたJISON
:
コマンドで検証を行う方法はありますか。つまり、コマンドが上記のルールのいずれも満たさない場合、エラーをスローします。つまり、デフォルト オプションがあります。
パーサーの最後に次のようなものがあります。
前もって感謝します
parsing - Jisonでの改行の解析
こんにちは、私はジソンの初心者で、それを学ぼうとしていました。http://techtonik.github.io/jison/try/でオンライン ジソン パーサー計算機コードを試します。それは表現のためにうまく機能しています
しかし、改行に新しい式を追加すると、パーサーは改行を取得せず、別の式を同じ行にあるかのように解析しようとします。
パーサーはそれを次のように受け取ります:
これは失敗するため、jison パーサーで改行を解析する方法を知りたいです。
bison - Jison 演算子の優先順位
私は Jison を使用して言語を開発していますが、私が直面している問題は演算子の優先順位です。比較演算子を最初に評価する演算子にしたいので、たとえば次のように1 + 2 < 3 - 3 * 4
なります(1+2) < (3 - (3 * 4))
私が今持っているルール:
どんな助けでも大歓迎です