Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / [Qt] Свой Code Completer с блекджеком и ... / 5 сообщений из 5, страница 1 из 1
20.05.2013, 20:11
    #38265196
Galbarad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Qt] Свой Code Completer с блекджеком и ...
всем привет
для общего развитися делаю редактор PL/SQL кода на Qt
приступил к Code Completer и тут затык
допустим я роспарсил код и разпихал по структурам, но нехочеться при изменении одной буквы заново парсить весь код
где можно почитать как сделать такое пооптимальней

сейчас планирую сохранять позицию начала каждого елемента и тип елемента и сразу апдейтить

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare
  l_item1 number; -- coment
  l_item2 number;
begin
  select count(*) 
     into l_item1 
    from table1 
  where 1=2; -- если дописать тут begin вся иерархия поломаеться и структура в памяти должна переколбаситься
  -- и я пока не придумал как ето решить кроме распарсить заново
exception 
 when no_data_found then
    l_item2 := 2;
end;



может ктото подскажет более практичный подход
...
Рейтинг: 0 / 0
21.05.2013, 09:42
    #38265568
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Qt] Свой Code Completer с блекджеком и ...
вопрос - а зачем именно комплитеру все австрактное синтаксическое дерево разом? Что от него хочется.
...
Рейтинг: 0 / 0
22.05.2013, 10:08
    #38267743
Galbarad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Qt] Свой Code Completer с блекджеком и ...
Vladimir Baskakov,

хочеться при дополнении предлагать поля из таблиц, курсоров, подсказки по константам...
я вижу тут 2 варианта или каждий раз парсить когда нужно чтото узнать
или раз разпарсить и потом поддержывать
...
Рейтинг: 0 / 0
22.05.2013, 11:09
    #38267893
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Qt] Свой Code Completer с блекджеком и ...
поля таблиц - нужно распарсивать до начала sql оператора и искать элиасы, курсоры - немного сложнее, они и в начале пакета могут быть? и вообще в другом пакете? и неявные курсоры? в общем с курсорами все непросто, может их отложить пока? и звездочки волшебные.... ну в общем всегда нужно немного вперед и ли вверх, до нахождения искомого.... действительно, непросто. Удачи.
...
Рейтинг: 0 / 0
22.05.2013, 18:02
    #38268814
Galbarad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Qt] Свой Code Completer с блекджеком и ...
Vladimir Baskakov,

спасибо, думаю пока парсер нормальний напишу много нюансов PL/SQL узнаю
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / [Qt] Свой Code Completer с блекджеком и ... / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]