Я ищу универсальный способ определения текстовых выражений, которые позволяют проверять значение.
Например, у меня есть значение, которое должно быть установлено только 1, 2, 3, 10, 11 или 12.
Его ограничение может быть определено как: (value >= 1 && value <= 3) || (value >= 10 && value <= 12)
Или другое значение, которое может быть 1, 3, 5, 7, 9 и т.д., будет иметь ограничение, подобное value % 2 == 1
или IsOdd(value)
.
(Чтобы помочь пользователю исправить недопустимые значения, я хотел бы показать ограничение - поэтому предпочтительнее описать как IsOdd
.)
Эти ограничения будут оцениваться как на стороне клиента (после ввода пользователя), так и на стороне сервера. Поэтому многоплатформенное решение было бы идеальным (в частности, Win С#/Linux С++).
Существует ли существующий язык/проект, который позволяет оценивать или анализировать подобные простые выражения?
Если нет, то где я могу начать создавать свои собственные?
Я понимаю, что этот вопрос несколько расплывчатый, поскольку я не совсем уверен, что я за ним. Поиск не принес результатов, поэтому даже некоторые термины в качестве отправной точки были бы полезными. Затем я могу обновить/пометить вопрос.