私は、 lemon parser generatorを使用して構築されたSQL 文法を持っています。コマンドを解析するための通常のエントリ ポイントはステートメント (のような) であるため、このステートメントは文法の非終端記号です。これまでのところ、すべて正常に動作しています。SELECT ...
%start
ここで、「部分的な解析」を行いたいと考えています。たとえば、式またはWHERE
句のみを解析します。基本的にこれは%start
、実行時に非端末を変更することを意味します。私はドキュメントでそれについて何も見つけることができませんでした。これはレモンで可能ですか?
そうでない場合は、カスタムの開始点で解析を失敗させるようなことを考えていました。これはかなりハックのように感じます。よりクリーンな方法はありますか?