создание простого языка программирования, который возвращает совпадающие строки из базы данных или файлов - PullRequest
0 голосов
/ 19 декабря 2010

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

TABLERULE col1 TYPE (STRING) == "string" 
(AND|OR|NOT) col2 TYPE (INT) >= 12 ...

STRINGRULE "stringregex" (AND|OR|NOT) "string2regex" ...

так что этот маленький язык должен иметь

  1. синтаксис для распознавания правил, которые применяются к таблицам базы данных

  2. синтаксис для распознавания правил, которые применяются к куче строк (текстовые файлы)

  3. цепочка правил

  4. TABLERULE должен иметь тип col (строка, целое число), чтобы он знал, какой тип сравнения он может использовать, ==,! = Для строк,>, <, == для целых чисел </p>

  5. Выходные данные языка программирования должны быть массивом совпадающих строк или строк базы данных

Анализатор языка или подобный метод должен быть совместим с Java, C, Python

1 Ответ

2 голосов
/ 19 декабря 2010

Разве SQL не может сделать это?В каждой таблице также есть схема, сохраненная в базе данных, поэтому вы можете просмотреть информацию о конкретных столбцах в таблице схемы и на основе этой информации выбрать фактические строки результатов.

...