質問

好奇心から、私は、人々は、彼らがどのように適用されるか、パーサで何ができるだろう、と人々は通常それで何を作成するのですか?

私はそれが広くプログラミング言語業界で使われています知っている、しかし私は右、これはそれのほんの一部であると思いますか?

役に立ちましたか?

解決

特別な目的の言語のほかに、(裏Cで古き良きYACCと、再度後でPythonでpyparsingと)まだパーサジェネレータの私の最も野心的な使用は、抽出検証し、おそらくSQLクエリから特定のメタ情報を変更することでした - 少なくとも仕事のその部分を削除し、パーサジェネレータ(とレクサーは、それがの上に座っている) - (!あなたは1つの方言よりも多くをサポートしたいと考えている場合は特に) - 解析するSQLが適切に本当の挑戦です!)

他のヒント

彼らは、テキストを解析するために使用されている....

私たちは、ソケットの上にくる文字列を解析するためにLEXX / YACCを使用する作業より具体的な例を与えるために。

また、名前から、それはあなたのために使用されるものJavaCCのアイデア与える必要があります(Javaコンパイラコンパイラを!)

一般に符号snipitsためのドメイン固有言語またはスクリプト言語、又は同様の支持体を解析する。

以前、私はそれが別のソフトウェア・ツールのコマンドラインベースの出力を解析するために使用さ見てきました。この方法で、外側ツール(VPNソフトウェア)は変更せずに、ベースルータのIPSecコードを再使用することができます。解析されたものの多くは、IPルートテーブルやその他の構造化テキストを繰り返したとしてます。

の書式が変更されたときに代わりに手書きのパーサを見つけて、微調整しようとする、簡単な変更を許可パーサを使用。そして出力は、製品の寿命を数時間を変更しました。

私はAlaksaのXbase 32でコンパイルすることができ似たPRGSにプロセス+/- 800クリッパーソースファイルを助けるためにパーサーを使用します。

あなたは自分のリポジトリからその言語の定義を取得して、あなたは常に持っていると思ったものを追加することにより、お好みの言語を拡張するためにそれを使用することができます。あなたは、あなたのアプリケーションに定期的な構文を渡し、独自のプログラムに拡張子を扱うことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top