Как реализуется подсветка правил и синтаксиса
|
|
DDTAA | Дата: Суббота, 01 Января 2011, 23:56 | Сообщение # 1 |
заслуженный участник
Сейчас нет на сайте
| Мой вопрос в следующем: как реализуется, особенно настраиваемая, поддержка синтаксиса в редакторах для языков программирования, как формируются доп-отступы, подсвечиваются переменные и т. д.? Как это делать самому? И ещё: как реализуется например в ворде подсветки ошибок пунктуаций, правил языка, сложных конструкций(Ну, всё, что зелёным )?
Да, я новичок, поэтому вопросы у меня иногда глупые...... Да, у меня действительно такой ник....... ...А я не знаю, почему по профилю мне 28 лет и я Адольф:-)...
|
|
| |
vladkis | Дата: Воскресенье, 02 Января 2011, 00:02 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| Вот http://svitter.ru/?p=465 если делать нех, можешь перевести для нормального использования на пк. Поковыряйся в NPP и OOO.
|
|
| |
DDTAA | Дата: Воскресенье, 02 Января 2011, 00:08 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| Дак а что тут? Как-то мало всего и не очень по теме...меня интересуют принципы, подводные камни, алгоритмы...не когда всё сделано, а именно как делать...
Да, я новичок, поэтому вопросы у меня иногда глупые...... Да, у меня действительно такой ник....... ...А я не знаю, почему по профилю мне 28 лет и я Адольф:-)...
|
|
| |
vladkis | Дата: Воскресенье, 02 Января 2011, 00:20 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| По готовому примеру не понятно Добавлено (02.01.2011, 00:16) --------------------------------------------- Я не ту ссылку дал. http://qbnz.com/highlighter/ Добавлено (02.01.2011, 00:20) --------------------------------------------- А, что вы знаете, и к чему стремитесь юноша?
|
|
| |
DDTAA | Дата: Воскресенье, 02 Января 2011, 00:28 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| Quote (vladkis) А, что вы знаете, и к чему стремитесь юноша? Учиться, расширять кругозор, познавать:-) На определённом, больше начальном, уровне, знаю некоторые языки, понимаю основы программирования вообще ну и т. д. Ну да, я понял, что имелся ввиду геши. С первой ссылки на него есть ссылка своя:-). Но, уже вроде писал: Quote (vladkis) меня интересуют принципы, подводные камни, алгоритмы Quote (DDTAA) не когда всё сделано
Да, я новичок, поэтому вопросы у меня иногда глупые...... Да, у меня действительно такой ник....... ...А я не знаю, почему по профилю мне 28 лет и я Адольф:-)...
|
|
| |
Akyltist | Дата: Воскресенье, 02 Января 2011, 01:58 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Зависит от синтаксиса. В основном реализуется на токенах. Потом в зависимости от токенов конкретного языка при парсинге определяются параметры. После чего производится отрисовка, собственно после этого уже ценляются эвенты (выделение текста, навигация, хот кеи). Вопрос довольно сложный и разветвленный в реализации. Функциональность. - Сворачивание разворачивание блоков - Сама подсветка ключевых слов, типов, классов, вставок кода ... - Навигация по бук маркам - Отступы - Поддержка не моноширных шрифтов ... Подводные камни. - Не моноширность шрифтов. - Отслеживание состояний. - Скорость парсинга. - Высокая динамичноть. - Отличие синтаксисов (например расширяемость фортрана в процессе разработки) ... Халява: - SynEdit (кроссплатформенный набор компонентов для подсветки различных языков [Delphi/Lazarus]) - CodeBlocks - фрии ИДЕ для разработки под С++ (можно посмотреть реализацию под плюсы) - Можешь меня найти на джабер канале портала (реализовывал самолично подсветку для своего синтаксиса - не моноширные шрифты, сворачивание блоков, подсветка, отступы и тд...)
|
|
| |