問題タブ [lemon]
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.
c - Lemon は lempar.c を取得し、ファイルの最後にゴミを出力します
LEMON Parser Generatorを使用していますが、何らかの理由で、出力されたファイルの最後に大量のゴミが出力されます%%
。lempar.c の s を生成されたコードに置き換えるのではありません。sqlite ソースから直接 lemon.c と lempar.c をコピーしました。これが私の文法ファイルです:
そして、これが lempar ファイルのコピーの末尾に追加されたばかりのガベージです
parsing - レモンパーサー: このルールは削減できません
jinja2などのテンプレート言語(または選択した場合は小枝)を解析するための文法を作成しようとしていますが、switch-case
ステートメントを正常に解析できません。
望ましい構文を示しましょう。
ここで endcase はブレークとして機能します。
私の文法ファイルの作業部分:
これは私の文法のほんの一部であり、私は 、 、for
、if
などwhile
の文法に取り組みました.do
loop
しかし、私は次のことについてはわかりません:
{% case expr %} statement_list(T)
それなし{% endcase %}
{% default %} statement_list(T)
たとえば、私は使用しようとしました:
#1の場合は運が悪い、得た
このルールは縮小できません。
#2も同様
率直に言って、私は問題の根本を理解しています - ケース/デフォルトバインドの欠如ですが、実際にはこの問題に対処する方法がわかりません.
どんな助けでも大歓迎です!