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


Автор: nerezus 22.7.2008, 10:20
Собственно сабж.

Вот допустим сделал я лексический анализ.
И есть у меня какой-нить canvas для отрисовки туда кода.

При изменении кода придется делать лексический анализ снова от места изменения до конца canvas. И потом при прокрутке вниз доделывать его.

Правильно ли я мыслю?

Подходящим ли контролом будет холст с отрисовкой туда? Какие будут советы?

Автор: Gwendolen 22.7.2008, 13:55
Если тебе надо редактор кода для IDE не стоит изобретать велосипед, тебе сюда http://scintilla.sourceforge.net/ScintillaDoc.html.

Мощный текстовый редактор Notepad++ построен на основе этого компонента, возможно его исходники тебе тоже пригодятся. http://notepad-plus.sourceforge.net/

Автор: nerezus 22.7.2008, 23:13
Gwendolen, скинтилла заработает под моим смартом? ) я очень сомневаюсь )

Автор: Torsten 23.7.2008, 07:41
Цитата(nerezus @  22.7.2008,  10:20 Найти цитируемый пост)
При изменении кода придется делать лексический анализ снова от места изменения до конца canvas. И потом при прокрутке вниз доделывать его.

такими абстракнами понятиями трудно судить. Опиши конкретно, что за IDE и грамматика.

Автор: nerezus 23.7.2008, 07:58
Torsten, классический пример раздолбайской IDE с парой фишек:
кнопки с заранее заданными коммандами на компиляцию/запуск и несколько синтаксисов вроде C/C++/python/java/etc
Целевая основная платформа - windows mobile

Далее проблема еще одна: для больших файлов непонятно, как их редактировать.
Наверное куски с изменениями в оперативке хранить, а при сохранении врезать их в файл.

По крайней мере чувствую, что какой-нить FileMapping будет тормозить нереально.

Автор: Любитель 23.7.2008, 14:45
А QSyntaxHighliter разве не будет работать на WinMobile? Ведь гораздо проще всё-таки smile

Автор: nerezus 23.7.2008, 18:43
Любитель, хм, а это идея. Попробую с куте для мобильников поработать )

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