問題タブ [petitparser]
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.
parsing - petitparser を使用して JSON フォーマッタを作成するには?
私の知る限り、PetitParserは、テキストを解析するためのグラマーとアクションを定義できるパーサーです。
組み込みの JSON パーサーを使用して JSON 文字列を解析することに成功しましたが、さらに多くのことを行いたいと考えています。JSONをきれいな印刷スタイルにフォーマットできるJSONフォーマッターを書きたいです。
しかし、私は何をすべきかわかりません。いくつかのノードを作成し、解析された JSON のツリーを構築する必要がありますか? そして、それを行う方法は?
いくつかのサンプルを探していますが、まだ見つかりません。
parsing - PetitParserで、一部の文字を消費するがキャプチャしない方法は?
私はルールを定義しました:
「@who」の場合は、一致し@who
て結果として取得されます。
who
なしで返すだけで尋ねる方法は@
?
whitespace - PetitParser で、行区切りではなく空白であるパーサーを作成する方法は?
PetitParserDartには組み込みのwhitespace()
パーサーがあり、次の文字をチェックします。
今、パーサーであるカスタム空白パーサーが必要ですが、whitespace()
行セパレーターは受け入れません\n
。
それを行う方法、私は内部のコードをコピーして変更したくありませんwhitespace()
。これを行うより良い方法はありますか?
dart - PetitParserDart の正規表現で `\b` を一致させる方法は?
\b
正規表現の「世界の境界」ですが、PetitParserDart でどのように一致させるのですか?
私は試した:
でもなんか似合わない。上記のパターンは\b\w+\b
正規表現です。
私の本当の問題は次のとおりです。
the をトークンとして扱いたいrender
のは、それがスタンドアロンの単語である場合のみです。
以下は真です。
以下はそうではありません:
string("render").trim()
周りのスペースを食い尽くすので、ここでは使用できません。が欲しいのです\b
が、PetitParserDart ではサポートされていないようです。
dart - PetitParserDart で左または右だけをトリミングする方法
trim()
両側の文字列をトリミングするパーサーを作成する方法があります。
左または右をトリムするだけのものを作成する方法は?
dart - Dart コードの @override
PetitParserDart@override
のコードにたくさんあることに気付きましたが、それらをどのようにチェックするのかわかりませんか?
IDEA dart-plugin for を試してみまし@override
たが、まったく効果がありません。@override
Dart でどのように使用できますか?
parsing - PetitParserDart で、ルールが完全に一致しない場合に失敗して例外をスローする方法は?
PetitParserDartでいくつかのルールを定義しました:
したがって、次のテキストが一致します。
ただし、一致できない行がある場合:
文法を定義して失敗させ、オンライン(ccccccccc
ではなくオンラインで例外をスローさせるにはどうすればよいbbbbb
ですか?
つまり、ルールが完全に一致しない場合にのみ例外をスローします。何も一致しない場合、例外はスローされません。
dart - petitparser 用の数学パーサーはありますか?
などの数学文字列を解析できるダーツ ライブラリはあり(3+4)/4.5
ますか? 私は petitparser で基本的なパーサーを構築しようとしましたが、頭がいっぱいで、今は試行錯誤しています :) どこかに単純な数学パーサーの petitparser (Dart または他の言語) 実装はありますか?