Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Лео ( L eonine Х Диторы с выводом основа) является открытым исходным код текстового редактора / планировщик , который показывает клоны (виртуальные копии контурных узлов) в качестве центрального инструмента организации, навигации, настройки и сценариев.

Языки [ править ]

Лео может манипулировать текстом или кодом на любом человеческом или компьютерном языке программирования (например, Python, C, C ++, Java), поскольку Лео является независимым от языка или «адаптируемым LPE» ( среда грамотного программирования ). [1] Подсветка синтаксиса предусмотрена для многих языков программирования. [2] Leo написан на Python и может быть расширен с помощью плагинов, написанных на Python. В графическом интерфейсе используется набор инструментов Qt ; редактор с поддержкой синтаксиса основан на Scintilla . Контуры Льва хранятся в виде файлов XML .

Деревья, клоны и виды [ править ]

Основная функциональность Leo, помимо редактирования текста, - это функция outliner с «обширным набором удобных функций для структурирования и управления контурами» как путем перетаскивания через графический интерфейс, так и с помощью команд клавиатуры. [2] Панель схемы Лео показывает дерево узлов данных. Узлы содержат заголовки, основной текст и другую информацию. Заголовки, естественно, служат описанием основного текста. Например, узлы @file - это узлы, заголовок которых начинается с @file. Деревья Льва на самом деле являются ориентированными ациклическими графами ; узлы могут иметь более одного родителя. Лев называет такие узлы клонами . Клоны появляются в нескольких местах на панели структуры. Взгляды- это просто узлы, чьи дочерние элементы содержат клоны. Один контур может содержать произвольно много представлений узлов, содержащихся в нем.

Внешние файлы [ править ]

Узлы @file представляют собой внешние файлы , файлы в файловой системе компьютера, отличные от файла схемы. При сохранении схемы Лео автоматически записывает все измененные деревья @file обратно во внешние файлы. Комментарии, называемые контрольными линиями , во внешних файлах представляют структуру схемы. Когда Лео читает схему, эти комментарии позволяют Лео воссоздавать деревья @file, используя только данные из внешнего файла. Узлы @auto представляют внешние файлы без использования контрольных комментариев. При чтении узлов @auto Лео использует программную структуру внешнего файла для создания дерева @auto.

Сценарии [ править ]

Схема или иерархическая структура Лео отличается от сети чередующихся программных "фрагментов" и документации, связанных с классическими инструментами грамотного программирования . [3] [4] Основной текст любого узла Leo может содержать сценарий Leo, сценарий Python, выполняемый в контексте схемы Leo. Простой API дает скриптам Leo полный доступ ко всем данным в загруженных схемах, а также полный доступ к собственному исходному коду Leo. API включает итераторы Python, которые позволяют скриптам легко перемещаться по контурам. Скрипты могут состоять из любого дерева узлов. Язык разметки похож на nowebговорит Лео, как создавать сценарии из (частей) схемы. Заголовки управления и сценарии руководства. Примеры:

  • Узлы @test создают модульные тесты. Leo выполняет тело узла @test как модульный тест без необходимости создания тела явного подкласса класса Python UnitTest.TestCase.
  • Узлы @button создают пользовательские команды. Лев выполняет сценарий узла @button в контексте любого другого узла схемы.

Ссылки [ править ]

  1. ^ Питерс, Вреда; Кури, Деррик Дж .; Боаке, Эндрю (2004). «Случай современного грамотного программирования» . SAICSIT '04: Материалы . Южно-Африканская Республика: Южноафриканский институт компьютерных ученых и информационных технологов: 111–118. Архивировано из оригинального (PDF) 2004 года. CS1 maint: discouraged parameter (link)Таблица 2: «Некоторые адаптируемые LPE», стр. 113. Сокращенная версия тех же авторов в виде книги: Eckstein, Jutta; Баумейстер, Хуберт, ред. (Июнь 2004 г.). «Грамотное программирование для улучшения гибких методов» . Экстремальное программирование и гибкие процессы в разработке программного обеспечения . Берлин; Гейдельберг; Нью-Йорк: Springer-Verlag. С. 250–253. ISBN 3-540-22137-9.Таблица 2: «Некоторые независимые от языка LPE», стр. 251
  2. ^ a b Вестдам, Томас; Нёрмарк, Курт (сентябрь 2004 г.). «Поддержание понимания программы - проблемы, инструменты и направления на будущее» . Северный журнал вычислительной техники . Финляндия. 11 (3): 303–320. ISSN 1236-6064 . Архивировано из оригинального (PDF) 2004 года . Проверено 18 ноября 2014 года .  CS1 maint: discouraged parameter (link) Лев обсуждает на стр. 12-13 авторской копии опубликованной статьи.
  3. ^ Палмер, Джеймс Дин; Хилленбранд, Эдди (2009). «Переосмысление грамотного программирования». OOPSLA '09: Материалы 24-й конференции ACM SIGPLAN, посвященной языкам и приложениям систем объектно-ориентированного программирования . Нью-Йорк: ACM. С. 1007–1014. DOI : 10.1145 / 1639950.1640072 . ISBN 9781605587684. Некоторые системы грамотного программирования взяли совсем другой курс, основанный на новых пользовательских интерфейсах. Грамотный редактор Эдварда Рима, Лео, использует визуальные контуры, которые позволяют пользователям прикреплять метаданные и описания к описаниям и данным программ. К сожалению, действительно грамотные программы могут нарушить парадигму Лео, основанную на иерархических схемах. (стр. 1009)
  4. ^ Суэйн, Майкл (июль 1998 г.). «Парадигмы программирования» . Журнал доктора Добба . Архивировано 15 апреля 2016 года. CS1 maint: discouraged parameter (link)Сравнивает раннюю версию LEO с Дональдом Кнутом «s WEB .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Лев-редактор на GitHub
  • «LeoVue, веб-версия Лео, написанная Джо Орром» .
  • Лео (текстовый редактор) на SourceForge.net , хосте Лео для бинарных загрузок стабильных выпусков
  • «Грамотное программирование и Лев» . Slashdot . 2002-08-28.
  • Джеймс Таубер (2004-05-15). «Использование Leo Outliner в качестве PIM» .