部分的な SQL クエリを解析する必要があります (SQL インジェクション監査ツール用です)。例えば
'1' AND 1=1--
次のようなトークンに分解する必要があります
[0] => [SQL_STRING, '1']
[1] => [SQL_AND]
[2] => [SQL_INT, 1]
[3] => [SQL_AND]
[4] => [SQL_INT, 1]
[5] => [SQL_COMMENT]
[6] => [SQL_QUERY_END]
少なくとも、私が基にしている SQL 用のレクサー、または C# 用の bison のような優れたツールはありますか (ただし、MySQL 5 のすべてではないにしてもほとんどの文法をサポートする必要があるため、独自の文法を作成したくありません)。