問題タブ [parsimonious]

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

python - シーケンス ブロックの有用なエラー メッセージを表示するように倹約する

次のようなテキストを解析するために、倹約家 (python PEG パーサー ライブラリ) を使用しています。

これは、テキスト全体を構成する単純な本文要件 (英数字でなければならない) を持つ一連のブロックです。文法は次のとおりです。

私が抱えている問題は、最初のブロックの後のブロックに解析エラーがあると、役に立たないエラー メッセージが表示されることです。例として、次のテキストを考えてみましょう。

これにより、有用なエラー メッセージが表示されます。

ただし、次のテキストがある場合:

次のエラーが表示されます。

シーケンスの最初のインスタンス (最初のブロック) と一致するように見えますが、2 番目のブロックで失敗した場合、すべてを失敗とは見なしません。ブロック 0 と同様のエラーが表示されるようにして、ブロック全体を解析できなかっただけでなく、ブロックの何が問題だったのかを正確に知ることができるようにします。

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

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

python - python parsimonious: 複数のコメント マークを含む構成ファイルの解析

エントリの値にコメント マークが含まれている構成ファイルを解析しようとしています。したがって、ルールは最後のコメント マークのみが値とコメントの間の区切りです。

例えば:

parsimoniousでそれを行うことはできますか? ;記号の後の最後のセクションを区別する文法をどのように書くことができますか?

ありがとうございました。

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

python - 倹約的な ParseError

特に文法と PEG を深く掘り下げて、次の構文の DSL が必要でした。

parsimoniousここでは、次の文法で使用しています。

ただし、これは上記のテキストでは失敗します

なんで?termまたはとして指定していません( term )term?
代わりにルールを選択するのはなぜですかvariable(もちろん失敗します)?