私は、このようなベスト・モダン・テキスト解析? AKAいつLexとYaccを使うのですか?
XYZ ARG1,ARG2,ARG3,...,ARGN
などのコマンドと引数を持つテキストの入力ブロック、1行に1つずつ、としていると私はXYZ
への引数は、よくその特定のコマンドのために形成されるとの正しいブロックを実行していることを確認したいですもしあればコード。 〜100コマンドのようなものがありますが、その中には引数の数が異なり、リレーションシップが異なります(コマンドXYZ
が呼び出された場合は、コマンドABC
も呼び出す必要があります)。テキストがCOMMAND
とENDCOMMAND
内に含まれていることが重要である
COMMAND
XYZ ARG1
BEF ARG1 ARG2
ENDCOMMAND
:
また、コマンドは、次のような存在します。
通常、このようなものは、正規表現ではなくLexとYaccを使用しますが、もっと現代的なものはありますか?コードはC#で書かれています。 MSDNに古い学校のC LexとYaccではなく、これを行うものはありますか?
まあ、間違っていると思います。 私はCの構文解析ライブラリ、C#ラッパーライブラリ、およびC#アプリケーションを持っています。 –
これは機能しませんか?返事をありがとう、しかし、なぜこれは動作しません教えてください。再度、感謝します。 –
ああ、実際にはパーサをC言語にしてC#でラップすることができます。あなたがLEX/YACCのVisualStudio互換バージョンを見つけることができると仮定します。 Gnuのプリビルドは、一般的にGnuライブラリ形式を使い、Gnuリンカ(ld)を必要とします。 –