Доступен для скачивания плагин Oberon2Lexer v0.3. Работает как в Notepad++ ANSI, так и в Notepad++ Unicode.

Что умеет:
плагин добавляет пункт "Oberon-2" к меню "Languages" и по умолчанию активируется при открытии файлов с расширением .ob2;текст раскрашивается в соответствии со следующими стилями (цвет фона везде белый, в отличие от данного форума):Unsafe - словоSYSTEM, выделяется красным;Flow breaker - словаEXIT,RETURNиHALT, выделяются жирным синим;Keyword - все стандартные идентификаторы, которые я смог найти, кроме упомянутых в стилях "Unsafe" и "Flow breaker", выделяются синим:IF THEN ELSE END;Number - константы типа REAL (в том числе с буквами "E" и "D") и INTEGER, включая шестнадцатиричные с суффиксом "H", по умолчанию не выделяются;String - строки в 'одинарных' и "двойных" кавычках, а также шестнадцатиричные константы с суффиксом "X", по умолчанию не выделяются;Comment -(* блочные комментарии (* с произвольным уровнем вложенности *) *)и-- хвостовые комментарии до конца строки, выделяются серым;Compiler option -<* директивы компилятора XDS (* в том числе с комментариями *) *>, выделяются зелёным;Error - этот стиль используется для незакрытых строк, комментариев, опций компилятора, а также неправильных числовых констант (1.E+), неизвестных символов (например,%,@,$) и т.п., выделяется красным с подчёркиванием;Default - всё остальное - чёрным по белому.настройка шрифтов, цветов и прочих параметров выделения для каждого из стилей производится в стандартном диалоге "Settings - Styler Configurator...", там же можно назначить другие расширения файлов для подсветки данным плагином.
Что НЕ умеет:изменять список распознаваемых ключевых слов;сворачивание кода (фолдинг) - планируется в следующей версии.
Прямая ссылка для скачивания:
http://cdnetworks-kr-1.dl.sourceforge.n ... r.v0.3.zip

Список альтернативных ссылок (зеркал) доступен здесь:
http://sourceforge.net/projects/oberonr ... p/download

Полные исходники плагина прилагаются (два проекта на XDS Oberon-2, тот, что с суффиксом "U" - для Unicode-версии Notepad++). Синтаксический разбор сделан максимально ниотчегонезависимо (см. структуру проекта на приложенных картинках). Отдельный модуль связывает плагин с Notepad++, отдельный модуль связывает его с Scintilla, а сканер работает вообще сам по себе и может быть портирован в любое приложение. На картинке красным отмечены модули, импортирующие SYSTEM, в прямоугольную рамку взяты модули, импортирующие "окна" (модуль Windows), овалом - все остальные.Вложение:Комментарий к файлу:Структура ANSI-проекта

Oberon2Lexer.png [ 40.16 КБ | Просмотров: 12961 ]
Вложение:Комментарий к файлу:Структура Unicode-проекта

Oberon2LexerU.png [ 44.57 КБ | Просмотров: 12958 ]
