2009-05-25 32 views
-1

を解析するためのクラス単位でTParserを使用:私は次のようなフィルタ文字列を解析するフィルタ文字列

((Field1 = 'red') and (field2 = 2)) or (Field3 between 1 and 5) or (field4 in ['up', 'down']) 

私はクラス単位でTParserをを使用したいが、そこにいたいです多くのドキュメントや例がないようです。

+1

質問は何ですか?とにかく、フィルタ文字列を解析する必要がある場合は、実際のパーサを探します.TParserは単なる(非常に特殊な)レクサーであり、より良い/より完全なコードがあります。 – mghie

答えて

8

TParserは、DFMファイルをバイナリ形式(ObjectTextToBinary)に解析するためにIDEで使用されます。私の知る限り、それは5つのトークンだけを認識します:(EOF、シンボル、文字列、整数、フロート)。一般的ではありませんが、特別な目的のために作られています。サブクラス化し、ニーズに合わせて実装を変更する必要があります。私の意見は、あなたの特定の目的のためにあなた自身のクラス/オートマトンを書く方が良いということです。 (それはパーサーではなく字句トークナイザーでもあります)。

+0

私は同意します、私はDFMでObject Tree ConvertにTParseを使用しました.BDEコンポーネントをDBXに変換するために構築しました。 http://tinyurl.com/dfmparse –