powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / [Qt] Свой Code Completer с блекджеком и ...
5 сообщений из 5, страница 1 из 1
[Qt] Свой Code Completer с блекджеком и ...
    #38265196
Galbarad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет
для общего развитися делаю редактор 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
[Qt] Свой Code Completer с блекджеком и ...
    #38265568
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос - а зачем именно комплитеру все австрактное синтаксическое дерево разом? Что от него хочется.
...
Рейтинг: 0 / 0
[Qt] Свой Code Completer с блекджеком и ...
    #38267743
Galbarad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakov,

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

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


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