たとえば、SQL のような入力を解析したい:
SEX = 'MALE' AND AGE > 20
「sql」入力に基づいて、アイテムの c# 配列を検索します。
したがって、上記の例では、Item.Sex プロパティが「MALE」に設定され、Item.Age プロパティが 20 より大きいすべてのアイテムをデータから検索します。
これは些細な例であり、より複雑なシナリオを簡単に想像し始めることができます。例えば:
(SEX = 'MALE' AND AGE > 20) OR (SEX = 'FEMALE' AND AGE < 30)
次の演算子をサポートできる必要があります。
=
>
<
<>
() - for precedence
AND
OR
これを自分で最初からコーディングする必要があると感じていますが、車輪の再発明はしたくありません。これを少し調べた後、パーサー/文法などへの参照に出くわしましたが、それらが法案に適合するかどうかはよくわかりません.