Jump to content

Лео (текстовый редактор)

Leo: редактор Leonine с контурами
Разработчик(и) Эдвард К. Рим и др.
Стабильная версия
6.7.7 / 18 января 2024 г.
Репозиторий
Написано в Питон
Операционная система Кросс-платформенный
Размер ~9 МБ
Тип Текстовый редактор , Outliner , IDE
Лицензия С
Веб-сайт лев-редактор .github .что /leo-редактор /

Leo — это с открытым исходным кодом текстовый редактор / структурный редактор , в котором используются клоны (виртуальные копии узлов схемы) в качестве центрального инструмента организации, навигации, настройки и создания сценариев.

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

Деревья, клоны и виды

[ редактировать ]

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

Внешние файлы

[ редактировать ]

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

Сценарии

[ редактировать ]

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

  1. ^ Питерс, Вреда; Кури, Деррик Г.; Боаке, Эндрю (2004). «Аргументы в пользу современного грамотного программирования» (PDF) . SAICSIT '04: Материалы . Южно-Африканская Республика: Южноафриканский институт компьютерных наук и информационных технологов: 111–118. Архивировано из оригинала 4 марта 2016 г. Проверено 18 ноября 2014 г. {{cite journal}}: CS1 maint: bot: original URL status unknown (link) Table 2: "Some Adaptable LPEs", p. 113. Same authors' abridged version in book form: Экстайн, Ютта; Баумейстер, Хьюберт, ред. (июнь 2004 г.). «Грамотное программирование для улучшения гибких методов» . Экстремальное программирование и гибкие процессы в разработке программного обеспечения . Берлин; Гейдельберг; Нью-Йорк: Springer-Verlag. стр. 250–253. ISBN  3-540-22137-9 . Таблица 2: «Некоторые языконезависимые LPE», стр. 251
  2. ^ Jump up to: а б Вестдам, Томас; Нормарк, Курт (сентябрь 2004 г.). «Поддержание понимания программы: проблемы, инструменты и будущие направления» (PDF) . Северный журнал вычислительной техники . 11 (3). Финляндия: 303–320. ISSN   1236-6064 . Архивировано из оригинала 29 ноября 2014 года . Проверено 18 ноября 2014 г. {{cite journal}}: CS1 maint: bot: статус исходного URL неизвестен ( ссылка ) Лео обсуждал на стр. 12-13 авторскую копию опубликованной статьи.
  3. ^ Палмер, Джеймс Дин; Хилленбранд, Эдди (2009). «Переосмысление грамотного программирования». OOPSLA '09: Материалы 24-й конференции ACM SIGPLAN по языкам и приложениям систем объектно-ориентированного программирования . Нью-Йорк: ACM. стр. 1007–1014. дои : 10.1145/1639950.1640072 . ISBN  9781605587684 . S2CID   17591332 . Некоторые грамотные системы программирования пошли по совершенно иному пути, основанному на новых пользовательских интерфейсах. Грамотный редактор Эдварда Рима, Лео, использует визуальные схемы, которые позволяют пользователям прикреплять метаданные и описания к описаниям программ и данным. К сожалению, по-настоящему грамотные программы могут сломать парадигму Лео, основанную на иерархической схеме. (стр. 1009)
  4. ^ Суэйн, Майкл (июль 1998 г.). «Парадигмы программирования» . Журнал доктора Добба . Архивировано из оригинала 15 апреля 2016 г. Сравнивает раннюю версию LEO с Дональда Кнута WEB .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 625415fbfc40447117438286d772952a__1707261300
URL1:https://arc.ask3.ru/arc/aa/62/2a/625415fbfc40447117438286d772952a.html
Заголовок, (Title) документа по адресу, URL1:
Leo (text editor) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)