Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Перевод SQL-запроса на естественный язык


Автор: CyberBullDog 5.5.2008, 14:53
Здравствуйте.

Нужно написать переводчик SQL-запросов на естественный (он же человеческий, он же русский) язык.
Думаю, зашивать всё в коде программы было бы глупо, поэтому хочу написать что-то более универсальное.

Например, в одной таблице хранить служебные слова ( (1, 'SELECT'),(2,'UPDATE'),(3,'a-zA-Z0-9_') ... ), а в другой возможные цепочки ( ('1-3-...'),('2-3-...') ... ).

Натолкните на мысль.
Или дайте отзыв на мой вариант.
Поделитесь соображениями.
...

PS: пишу в Borland C++ Builder (BDS 2006) (на всякий случай)

Автор: Alek86 5.5.2008, 15:01
Цитата(CyberBullDog @  5.5.2008,  14:53 Найти цитируемый пост)
Например, в одной таблице хранить служебные слова ( (1, 'SELECT'),(2,'UPDATE'),(3,'a-zA-Z0-9_') ... ), а в другой возможные цепочки ( ('1-3-...'),('2-3-...') ... ).

загнешься перебирать варианты

рекомендую для начала ознакомиться с http://ru.wikipedia.org/wiki/Синтаксический_анализ, а потом уже лезть в дебри

конечно, если это не 10тиминутная лаба

Автор: CyberBullDog 5.5.2008, 15:10
Цитата(Alek86 @  5.5.2008,  15:01 Найти цитируемый пост)
конечно, если это не 10тиминутная лаба

Нет, это 1-2 дневная курсовая =)
По крайней мере я так надеюсь (сказали чем качественнее перевод, тем меньше можно охватывать синтаксис).

Автор: Alek86 5.5.2008, 15:27
тогда уж сам решай, как делать

Автор: Любитель 7.5.2008, 14:54
Для нормального описания ("перевода") инструкций на полностью естественным языке - в любом случае нужен нормальный парсер. А не просто разбивка на лексемы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)