2010-01-13 19 views
1

Я создаю запрос в текстовом поле с различными условиями, выбранными из элементов управления html. Также пользователи могут модифицировать его.Построение, проверка синтаксиса, анализ и оценка запроса

стороны клиента: Для получения списка ниже условия:

a(1, 3) > 20 
b(4, 5) < 90 
c(3, 0) = 80 

Я сформировать запрос:

a(1, 3) > 20 and b(4, 5) < 90 or c(3, 0) = 80 

На стороне сервера это должно быть проанализирована, подстановка и вызвать каждую функцию с аргументы. (a, b и c являются функциями)

Я хочу проверить синтаксис запроса (не уверен на стороне клиента или на стороне сервера) перед его обработкой. Например, если пользователь вводит неверные функции/аргументы или использует неправильные операторы.

Оцените свои предложения и отзывы.

PS: Использование питона

+0

Откуда вы знаете, что первые два должны быть «и», а третий - «или»? – PaulMcG

+0

Любая принятая комбинация - это всего лишь пример. – Vishal

ответ

4

PLY имеет простой expression example, который получит вам большую часть пути туда.

+0

+1, я бы посоветовал PLY, хотя бы для того, чтобы вырастить синтаксис без повторного регулярного выражения. –

Смежные вопросы