Проверьте грамматику выражения как (Сумма> = 12522 А, Сумма <= 145111, А (Город IN (1,2,3,4)), И возраст> 25, И Пол, IN ('M', 'F')) в C# - PullRequest
0 голосов
/ 28 апреля 2020

Я генерирую ниже грамматические правила динамически через интерфейс пользовательского интерфейса, который содержит различные операторы {'<', '<=', '>', '> =', 'In', '! =', '='} И соединители {'AND', 'OR'} с вложенными круглыми скобками, т. е. '(', ')' et c.

(Сумма> = 12522 А Сумма <= 145111 А (Город IN ( 1, 2, 3, 4)) И возраст> 25, и пол IN ('M', 'F')).

Я хочу синтаксически проверить грамматику вышеприведенного правила, включая действительное значения коннекторов и операторов. Кроме того, количество вложенных скобок должно быть одинаковым и логичным. Итак, следующие правила следует рассматривать как неправильные правила

(Сумма> = 12522, А и Сумма <= 145111, А (Город В (1,2,3,4)), и возраст> 25, и пол. IN ('M', 'F')). [Два Неверных И Оператора]

(((Сумма> = 12522 И Сумма <= 145111 А (Город IN (1,2,3,4)) И Возраст> 25 И Пол IN ('M', 'F')). [Количество скобок не равно].

Может ли кто-нибудь поделиться логикой c в C#, чтобы я мог использовать ее в своем приложении ?

Спасибо,

...