Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

html редактор на с++

58K
08 марта 2010 года
AeRiNDeR
1 / / 08.03.2010
Здравствуйте вот нужно написать редактор на с++ в виде курсовой роботы.

Я его уже написал но вот хочу еще добавить подсветку html тегов ...
Как правильно это сделать ?

Спасибо
11
08 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
Скачать исходники Notepad++ и посмотреть как там сделано, есть еще в примерах QT подсвет синтаксиса.
В общем случае это делается поиском блоков текста при помощи регулярных выражений.
5
08 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: oxotnik333
Скачать исходники Notepad++ и посмотреть как там сделано...

Там это через одно место сделано. Я как-то хотел попробовать вкорячить подсветку синтаксиса в блокнот++, анализ исходников показал, что лучше и не браться. В SharpDevelop, напротив, значительно проще.

Только не понятно, автор хочет подсветку синтаксиса делать или таки визуальный редактор (читаем - "закат солнца своими руками")?

5
09 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: oxotnik333

В общем случае это делается поиском блоков текста при помощи регулярных выражений.


В общем случае на регулярных выражениях задача не решаема в принципе. Для корректной подсветки синтаксиса нужно строить парсер конкретного языка (достаточно сильно упрощенный), который будет производить синтаксический разбор "на лету".

36K
09 марта 2010 года
Sonia
74 / / 21.05.2009
Цитата: AeRiNDeR
Здравствуйте вот нужно написать редактор на с++ в виде курсовой роботы.

Я его уже написал но вот хочу еще добавить подсветку html тегов ...
Как правильно это сделать ?

Спасибо



Посмотри теорию компиляторов там описано как делать лексический анализатор. Прежде чем делать подсветку, надо знать что выделять, а для этого придется разбирать по лексемам. Тебе необходимо будет задать полное описание всех лексем используемых в языке html и выполнять лексический анализ при каждом изменение в твоем редакторе.

11
09 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
Цитата: hardcase
В общем случае на регулярных выражениях задача не решаема в принципе.


Обоснуй

Цитата: hardcase
Для корректной подсветки синтаксиса нужно строить парсер конкретного языка (достаточно сильно упрощенный), который будет производить синтаксический разбор "на лету".


Парсер производит разбор на основе регулярок, набор самих регулярок зависит от языка.

5
09 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: oxotnik333

Парсер производит разбор на основе регулярок, набор самих регулярок зависит от языка.

Регулярное выражение способно разобрать исключительно регулярный язык. Контекстно свободные и контекстно зависимые языки ему не под силу.

14
09 марта 2010 года
Phodopus
3.3K / / 19.06.2008
Насколько я помню в Notepad++ вообще Scintilla этим заведует. Он - всего лишь оболочка.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог