На Обероне с комфортом, или ide на основе Syn Text Editor + opcl - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
На Обероне с комфортом, или ide на основе Syn Text Editor + opcl - страница №1/1

Н
а Обероне с комфортом,

или IDE на основе Syn Text Editor + OPCL


© 2012, Oleg N. Cher,

перепечатывайте свободно, с указанием авторства

Syn Text Editor – это прекрасный функциональный редактор для программиста, имеющий массу приятных достоинств. Он безплатен, с открытыми исходниками, понимает разные типы текстов (UNIX/Linux, Win32, Mac), разрешая их редактировать в том виде, в котором они есть (можно редактировать даже .htaccess, веб-мастера поймут). Имеет подсветку для большого количества языков программирования, а также возможность запускать внешние программы или скрипты.


Syn Text Editor – мощный текстовый редактор. Обладает многими необходимыми возможностями для программистов [1]:


  • удобный интерфейс (есть панель навигации по файлам, закладки открытых файлов, разворачивание на весь экран – F11);

  • кнопка Reopen;

  • нумерация строк, есть функция перехода на нужную строку;

  • подсветка синтаксических схем (асоциируются по расширению файлов),
    автодополнение, автоисправление, профайлы... всё с возможностью настроек;


  • клавиатурные шорткаты;

  • функция “вставить из файла с возможностью формирования избранного”;

  • подсветка октрывающего/закрывающего блоков;

  • интелектуальное выравнивание;

  • функции присущие IDE-системам: запуск внешних команд (компилятора), выполнение скриптов, захват вывода, организация проектов, проверка синтаксиса, подключение справки;

  • открывает и сохраняет файлы по FTP;

  • экспорт в HTML, RTF, LaTex;

  • сохраняет текущее положение каретки и состояния (в папке, где происходит редактирование создаются файлы .SBM);

  • разные кодировки, форматирование текста, отступы, поиск, замена, может сворачиваться в трей... и многое другое.

Желающих подробнее ознакомиться с возможностями Syn Text Editor отсылаю к [2].

Сейчас мы попробуем использовать Syn Text Editor для некоторой экзотики – в роли IDE для программирования на языках Оберон-семейства. Есть компилятор OPCL, который поддерживает 3 диалекта Оберона – Oberon, Oberon-2 и Active Oberon. При всех его достоинствах это консольный компилятор, поэтому запускать его приходится из командной строки, и там же видеть результат его работы, потом вручную вычислять строку, в которой надо исправить найденную ошибку. Вобщем, довольно затратный процесс, который хочется как-то автоматизировать, чем мы и займёмся сегодня.

Скачаем установочный дистрибутив редактора [3]. Мы возьмём стабильную версию 2.1.0.46, которая весит 2 Мб. Можете поэкспериментировать с более новыми версиями, но я опишу настройку именно второй, так как с более поздними у меня были некоторые трудности. Запускаем установочный файл и выбираем куда ставить. Если сомневаетесь в настройках, оставьте их по умолчанию, там всё довольно хорошо. Вот и всё.

Попробовав открыть Оберон-модуль, мы увидим, что подсветка синтаксиса Оберона не предусмотрена. Не беда! Её можно даже сделать самостоятельно, и когда-нибудь она обязательно появится, но сейчас замечу, что вместо подсветки Оберона можно успешно использовать подсветку языка Модула-3, которая в редактор встроена. Пропишем подсветку на файлы с расширением *.Mod (как это принято в классическом ETH Oberon, A2 (AOS, Bluebottle) и компиляторе OPCL).
Выбираем: View -> Syntax Schemes -> Modula 3



Однако при следующем открытии редактора подсветки опять не будет. Надо прописать ассоциацию по-другому.


View -> Options -> [+] Syntax Highlight

Нажимаем плюсик и открывается список языков, выбираем Modula 3


В поле Filetypes есть фраза: Modula-3 files (*.m3)|*.m3

Изменим её на Oberon modules (*.mod;*.ob2;*.cp;*.def)|*.mod;*.ob2;*.cp;*.def


Перезапустим редактор, и – готово! Красивая неброская подсветка сделана минимальными усилиями. Конечно, в этом плане можно сделать ещё много чего, но пока ограничимся этим.

Далее нам нужно прописать путь к компилятору OPCL, чтобы иметь возможность компилировать модули прямо из редактора. Скачаем OPCL [4], распакуем в подходящую папку (например, “C:\Program Files\OPCL”) и откроем опять редактор. Нажмём F9 (это соответствует нажатию кнопки “Run File” на панели инструментов или меню “Run -> Run File -> Configure”. Здесь мы пропишем вызов нашего компилятора OPCL.


Нажимаем кнопку “...” (Edit Profiles) -> Add и вводим имя профиля: OPCL

OK OK Programs -> Add и вводим имя файла компилятора: O2ETHCLC.EXE


Нажимаем Program “...” и выбираем путь к исполняемому файлу компилятора. У вас он может быть таким: “C:\Program Files\OPCL\Bin\O2ETHCLC.EXE”.
В поле Arguments вводим: $[ActiveDocTitleLong]
В поле Directory вводим: $[ActiveDocPathShort]
В поле Output Expr. вводим: line\s+$[LineNumber]\s+col\s+$[ColNumber]\s
В
итоге всё должно выглядеть примерно так.
Нажимаете ОК.
Теперь при нажатии на кнопку “Run File” для Оберон-модулей с расширением Mod будет запускаться компилятор OPCL. Линковать их потом надо конечно практически вручную, и этот процесс подробнее расписан в статье Сергея Атанцова [5].

Нам надо сделать ещё одну полезную вещь. Сейчас редактор настроен так, что при каждом сохранении изменённого текста модуля на диск он будет переспрашивать, точно ли вы хотите заменить файл. Таким образом, всякий раз когда мы захотим скомпилировать модуль, будет выскакивать окошко с этим вопросом. Чтобы постоянно не нажимать кнопку “Save all”, отключите этот запрос в меню:





View -> Options -> Run -> Save before Run -> Save without prompting -> OK


Осталось добавить, что для того, чтобы перейти на строку с найденной ошибкой, нужно дважды кликнуть мышкой по сообщению об ошибке.
Всё готово. Дальнейших успехов вам и удачного Оберон-кодинга!



  1. Бесплатные программы Soft-Free - Syn Text Editor. http://new.soft-free.ru/content/view/6177/60/

  2. Jolly Roger. Дорослий Syn для молодого програміста. http://www.mycomp.com.ua/text/8690

  3. Официальный сайт Syn Text Editor. http://sourceforge.net/projects/syn/

  4. Официальный сайт OPCL. http://sourceforge.net/projects/OPCL/

  5. С.Атанцов. Введение в программирование на OPCL (Oberon Portable Compiler and Linker). http://zx.oberon2.ru/forum/viewtopic.php?f=15&t=13