問題タブ [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.
python - シーケンス ブロックの有用なエラー メッセージを表示するように倹約する
次のようなテキストを解析するために、倹約家 (python PEG パーサー ライブラリ) を使用しています。
これは、テキスト全体を構成する単純な本文要件 (英数字でなければならない) を持つ一連のブロックです。文法は次のとおりです。
私が抱えている問題は、最初のブロックの後のブロックに解析エラーがあると、役に立たないエラー メッセージが表示されることです。例として、次のテキストを考えてみましょう。
これにより、有用なエラー メッセージが表示されます。
ただし、次のテキストがある場合:
次のエラーが表示されます。
シーケンスの最初のインスタンス (最初のブロック) と一致するように見えますが、2 番目のブロックで失敗した場合、すべてを失敗とは見なしません。ブロック 0 と同様のエラーが表示されるようにして、ブロック全体を解析できなかっただけでなく、ブロックの何が問題だったのかを正確に知ることができるようにします。
どんな助けでも大歓迎です!
python - python parsimonious: 複数のコメント マークを含む構成ファイルの解析
エントリの値にコメント マークが含まれている構成ファイルを解析しようとしています。したがって、ルールは最後のコメント マークのみが値とコメントの間の区切りです。
例えば:
parsimoniousでそれを行うことはできますか? ;
記号の後の最後のセクションを区別する文法をどのように書くことができますか?
ありがとうございました。
python - 倹約的な ParseError
特に文法と PEG を深く掘り下げて、次の構文の DSL が必要でした。
parsimonious
ここでは、次の文法で使用しています。
ただし、これは上記のテキストでは失敗します
なんで?term
またはとして指定していません( term )
かterm
?
代わりにルールを選択するのはなぜですかvariable
(もちろん失敗します)?