![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| antsh |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 72 Регистрация: 16.9.2005 Репутация: нет Всего: нет |
Начну с описания программы. Мне необходимо написать прогу, которая бы работала как SQL.
Имеется несколкьо файлов формата *.csv с даными вида: info.csv : ikood,name,surname,age,length 10,Jaan,Mets,32,170.5 50,Mihkel,Karu,21,180.4 30,Anna Marie,Rebane,22,165 Команда например: select * from info where info.age='21' Должна выдать: info.ikood, info.name, info.surname, info.age, info.length 50,Mihkel,Karu,21,180.4 Построение программы состоит в следующем: 1) человек вводит команду, запрос. 2) программа должна понять, что ей необходимо выполнить (из команды берёт указания (select, where ...) имена файлов (info) ...). 3) дальше идут вход функции которые и будут всё делать. 4) ответ выдаётся на экрал или в файл. Проблема: как сделать так, чтобы программа сканирывала команду и брала оттуда ключевые слова (select, where, info ...) и затем переходила в нужные функции? |
|||
|
||||
| pvo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 7.10.2005 Где: Мск Репутация: 2 Всего: 7 |
Разбор SQL можно сделать, например, с помощью JavaCC ...
Я где-то в инете встречал грамматики JavaCC для SQL ... По результатам разбора команды реализовывать ее выполнение ... |
|||
|
||||
| antsh |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 72 Регистрация: 16.9.2005 Репутация: нет Всего: нет |
pvo Проблема в том, что мне необходимо всё написать на стандартном J2SE.
|
|||
|
||||
| pvo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 7.10.2005 Где: Мск Репутация: 2 Всего: 7 |
Тогда StreamTokenizer использовать. Или regexp. А то, что генерит JavaCC - самому написать
Это сообщение отредактировал(а) pvo - 10.10.2005, 18:55 |
|||
|
||||
| distorti |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 25.7.2005 Репутация: нет Всего: нет |
Интересно..., а функциональность полная должна быть???
Или какие конструкции допустимы? Триггеры не надо случайно : )) |
|||
|
||||
| antsh |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 72 Регистрация: 16.9.2005 Репутация: нет Всего: нет |
distorti Тригеры не нужны Саня
|
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
я бы предложил hsqldb (www.hsqldb.org) там уже все готово (просто тип таблицы ставите text) и работаете -------------------- Бонифаций. |
|||
|
||||
| antsh |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 72 Регистрация: 16.9.2005 Репутация: нет Всего: нет |
Бонифаций Мне нужно в универ сдать прогу
|
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
понятно. Тогда проще всего пожалуй будет - antlr (antlr.org) - на сайте есть грамматика SQL - выбросишь там все лишнее, сгенерируешь парсер себе в университет.
-------------------- Бонифаций. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |