DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 13:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Воскресенье, 07 Апрель, 2013 09:31 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Сергей Вадимович Метелёв писал(а):
Вариант соответствия? Так есть же он, если я правильно понимаю. Например в книге "Учись писать, читать и понимать алгоритмы" коротенько о нём говорится, на странице 73, в главе 6, параграф 6 "Как описать силуэт с помощью текстового языка (псевдокода)", правда не очень подробно.

Кирилл Пименов (работает в ООО «Распределённые цифровые облака») предлагает такой вариант кода (для "Ремонт летающей тарелки"):
https://github.com/kirushik/libtougarin ... 63c342d3bf

========================================



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Воскресенье, 07 Апрель, 2013 10:47 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Владимир Паронджанов писал(а):
Кирилл Пименов (работает в ООО «Распределённые цифровые облака») предлагает такой вариант кода (для "Ремонт летающей тарелки"):
https://github.com/kirushik/libtougarin ... 63c342d3bf
Интересный вариант хранения ДРАКОН-документов, можно рассматривать как возможный вариант стандартного формата ДРАКОНа.
Мнение Кирилла тоже весьма интересно:
Цитата:
Широкому распространению программирования на ДРАКОНе мешает закрытость его имеющихся реализаций. Помочь этому может создание набора открытых свободно распространяемых инструментов для создания готовых программ на ДРАКОНе.
Тем временем ИС Дракон окончательно перешла в разряд Shareware
Цитата:
О продолжительности ознакомительного периода:
viewtopic.php?p=70678#p70678
Цитата:
Выпуск ИС Дракон от 19.11.2012
...
6. Период ознакомления изменен с 9 месяцев на 35 дней.
Дата окончания ознакомительного периода, до его окончания, сообщается при выполнении пункта меню "Справка/Установка/Ваша установка".
Сейчас продолжительность 21 день, аналогично существованию ряда книг "Освой самостоятельно ... за 21 день".

Причина в том, что за период действия сроков в 9 месяцев и в 35 дней, т.е. с начала 2012 года было оформлено только 2 установки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Понедельник, 08 Апрель, 2013 21:17 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
JSON документ Кирилла Пименова не валидный, не проходит валидацию в онлайн валидаторе http://jsonlint.com/
Цитата:
Parse error on line 11:
... "branch_id": 1; },
-----------------------^
Expecting '}', ',', ']'


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Понедельник, 08 Апрель, 2013 21:46 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Ярослав Михайлович, Вы, конечно, правы.
Мне кажется, не стоит его судить слишком строго, тем более, он сам пишет:
https://github.com/kirushik/libtougarin/
Цитата:
libtougarin by Кирилл Пименов, kirushik@gmail.com

...................................................

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Меня заинтересовали планы Кирилла на будущее:

Цитата:
Дальнейшие планы

• Разработать визуальный редактор диаграмм языка ДРАКОН с открытым под GNU/GPL исходным кодом. В разработе планируется использовать язык C++ и набор инструментов Qt.

• Разработать принципы сборки блок-схем ДРАКОНа в исполняемые программы. (Скорее всего, будет реализована сборка в llvm-байткод.)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Вторник, 09 Апрель, 2013 09:59 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
https://github.com/kirushik/libtougarin
Название-то какое!
"lib Тугарин"

Вижу цепочку: Тугарин - Тугарин Змей - Змей Горыныч - ДРАКОН
Автор явно человек с юмором. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 10 Апрель, 2013 11:27 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Ещё на счёт
Степан Митькин писал(а):
1. XML совершенно не предназначен для чтения человеком.
XML можно отображать в так называемом режиме Friendly view без визуального мусора, для этого конечно нужно специальное средство просмотра.
Таким-же образом можно сделать читабельнее и JSON.
Вложение:
XML Friendly view.png
XML Friendly view.png [ 79.23 КБ | Просмотров: 19235 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 10 Апрель, 2013 17:04 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Для обсуждения идей Кирилла Пименова открыта тема
Цитата:
Визуальный язык ДРАКОН и предложения Кирилла Пименова
viewtopic.php?f=62&t=4305


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 17 Апрель, 2013 11:13 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Наверное, ветка всё-таки не о конкретном редакторе... :) Отсюда такие замечания.

1. В доступных (на разных коммерческих условиях) средах, включающих реализацию техноязыка, пока недостаточно таких возможностей:

    * смена языков по принципу "переключения синтаксиса содержимого схем";

    * работа с сущностями как словарными единицами;

    * использование в документах также базового набора автофигур, располагаемых произвольно.

Первые две показаны в этом ролике, а обсуждены здесь: viewtopic.php?p=76731#p76731.
Замечу, что <Ctrl-F> у Митькина - это тоже неплохо, когда проходит по всему документу (проекту как связке схем). Но надо именно поддерживать имена как сущности модельной БД. Чтобы можно было заменить имя и разом в заданной области... не отдавая многократно команду типа "Найти следующее <вхождение>"...

Насчёт того, зачем нужно второе, также говорится здесь (прежде всего Info21 и SergeyNK, разумеется :)).

Третье было сделано уже в этой среде. Работал бы в ней... если бы поддерживалась полноценная работа с текстом, о которой и Сергей говорит...

Надо и организовать данные, содержащиеся в документе... имея в виду, что какие-то из них образуют программу (вместе с её спецификацией), а какие-то самостоятельны (общие вопросы, результаты допрограммной разработки задачи).

2. Есть и базовые вопросы по целям, в первую очередь "что для чего". Например, такие:
Ярослав Романченко в viewtopic.php?p=79095#p79095 писал(а):
igor писал(а):
Комментарий не должен нести никакой смысловой нагрузки. Видимо, поэтому Вы такое решение обозначили как временное ("на первых порах").
Именно. Это было временным решением.
igor писал(а):
Далее, в качестве развития идеи Вы предлагаете для описания декларативной части использовать табличные формы. Это работает, но это уже не ДРАКОН!
Ну, не совсем не ДРАКОН. ДРАКОН там всё-же останется, в императивной части модуля.
igor писал(а):
Программирование - это не только программная логика, но и сложные структуры данных. Как там у Вирта? "Программы = алгоритмы + данные". Правда, однако, очень проста: в ДРАКОНЕ не было и нет средств для описания (или рисования) декларативной части, и ничего не предлагается в замен.
Есть ещё другая вполне жизненная идея.
Представьте, что у Вас есть обычный модуль на любом языке программирования. В модуле традиционным способом описаны различные типы данных, реализованы какие-то процедуры... И где-то в тексте в закоментированном блоке находится ДРАКОН-схема в компактном текстовом представлении (XML, JSON). В IDE естественно должен быть установлен плагин, "понимающий", что в подобных закоментированных блоках хранятся ДРАКОН-схемы. Плагин должен обеспечивать возможность просмотра, редактирования этих "вшитых" ДРАКОН-схем и обеспечивать генерацию из них исходного кода. т.е. схему открыли, подредактировали, закрыли и автоматически под блоком коментария получили обновлённый код процедуры. ...

PS. ДРАКОН полезен в первую очередь для сложных алгоритмов, для мелких процедур использовать его не имеет никакого смысла.

Итак:

    * а для чего схемы маршрутов деятельности, если принятый порядок проектирования деятельности предполагает её декомпозицию на "мелкие процедуры" (где маршрутная часть тривиальна)?

    * жизненная идея может означать снова отрыв разработки от документирования. Т.е. усложнение работы "сочинителей". Позиция Сергея (иметь сменные виды одного описания, а не редактировать отдельно описание "традиционным способом" и отдельно в виде "компактных представлений") эргономична.

    * да, у Вирта (и не только) так... и даже точнее + "систематическое представление об исполнителе". И нужен базис языков, отражающий всё это как целостные модели программ/инструкций;

    * в отношении "литературного программирования" Сергей, как можно понять, близок к "помощи писателю" С.Е. Михайлова.

Пример программы из "мелких процедур" - гетерогенная очередь у Свердлова. Илья также указывал, что предпочитает доводить проекты до такой гранулярности процедур.
Для чего в этом случае схемы маршрутов? Для представления именно работы программы как целого, как общего описания "поведения исполнителя". Обсуждалось в этой теме. Как пример техноязыкового решения - Z-язык, предложенный Паронджановым (решение частное, т.к. предполагает детерминацию порядка работ до "циклограммы", но важное, ибо для гарантоспособности часто надо к этому стремиться).

3. Общие проблемы реализации, в очередной раз обозначены, например, тут:
Сергей Метелёв в viewtopic.php?p=78837#p78837 писал(а):
Так я ж не говорю о том, чтобы преобразовывать произвольный текст на произвольном языке в ДРАКОН-схему.

Я говорю о том, чтобы эквивалентный ДРАКОН-схеме текст, использующий текстовые ДРАКОН-операторы, сделать первичным документом и на его основе строить схему. Исходником сделать текст, конечный результат "неживая" картинка. При необходимости тот же текст можно преобразовывать в программу на конкретном языке программирования. Один и тот же текст, двумя разными преобразованиями.
...
Если нужно преобразование в программу на каком-то конкретном языке программирования, то потребуется явно определять преобразование операторов из текстовых ДРАКОН-операторов в операторы конкретного языка, это понятно.

Думаю, формат исходника (документа среды) - описание на некоем метаязыке. Из которого получаются виды для разных элементов структуры документа (и документа в целом), переключаемые командами оператора.

Возможны некоторые направления, "как":

    * формат документа вырабатывает и группа Лаптева: viewtopic.php?p=63995#p63995;

    * "интеграция с сетями" уже была реализована Михайловым: http://citycat.ru/iq/ti/ - кстати, программа открытая. Возможно, если формат файла можно обрабатывать, то и программу можно использовать как внешнее приложение для среды;

    * вид структуры документа может учитывать обсуждавшееся в этой теме. Т.е. от "батарей запоминателей" - к "синтаксическому силуэту";

    * чтобы получать из документа программу целиком - надо и модель её в среде поддерживать целостную. Где представлена структура не только для маршрутов. Тогда и схемы можно получать не только для них.

Опорный пример - модель задачи, представленная в этой работе. Правим её[ элементы] хоть в текстовом представлении, хоть в табличном, хоть в схемном... а результат всё одно должен сохраняться в файл проекта... И более одного раза описание любого места в одной и той же редакции не делается. В работе вопрос организации документа в целом остаётся открытым.

Пока представляется маловероятным, что какую-то из доступных реализаций "прежде всего техноязыка" можно развить в этих направлениях... Возможно, Ярослав потому и говорит снова о своём редакторе. Вот что будет у Эдуарда?..


Последний раз редактировалось Владислав Жаринов Среда, 17 Апрель, 2013 12:16, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 17 Апрель, 2013 11:50 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Владислав Жаринов писал(а):
* жизненная идея может означать снова отрыв разработки от документирования. Т.е. усложнение работы "сочинителей". Позиция Сергея (иметь сменные виды одного описания) эргономична.
Вроде по-русски, а ничего не понятно... :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 17 Апрель, 2013 12:04 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Усё правильно... надо было дописать: "... иметь сменные виды одного описания, а не редактировать отдельно описание традиционным способом и отдельно в виде компактных представлений". :) Дополнено... заодно ещё кое-что отредактировано...


Последний раз редактировалось Владислав Жаринов Среда, 17 Апрель, 2013 12:20, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 17 Апрель, 2013 12:13 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Где, что редактировать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 17 Апрель, 2013 12:19 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
По цитате как предполагается получать, что в проекте: "... где-то в тексте в закоментированном блоке находится ДРАКОН-схема в компактном текстовом представлении..."?.. Понял так, что в предлагаемом плагине юзер отдельно его редактирует... а текст "традиционным способом" пишет отдельно... или как?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 17 Апрель, 2013 12:38 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Ну и это всё к тому, что с Вами и с Кириллом по существу согласен... :) Вот конкретику м.б. надо уточнить... о чём и говорил...
Ярослав Романченко в viewtopic.php?p=79034#p79034 писал(а):
Владимир Паронджанов писал(а):
Кирилл Пименов (работает в ООО «Распределённые цифровые облака») предлагает такой вариант кода (для "Ремонт летающей тарелки"):
https://github.com/kirushik/libtougarin ... 63c342d3bf
Интересный вариант хранения ДРАКОН-документов, можно рассматривать как возможный вариант стандартного формата ДРАКОНа.
Мнение Кирилла тоже весьма интересно:
Цитата:
Широкому распространению программирования на ДРАКОНе мешает закрытость его имеющихся реализаций. Помочь этому может создание набора открытых свободно распространяемых инструментов для создания готовых программ на ДРАКОНе.
Тем временем ИС Дракон окончательно перешла в разряд Shareware ...
Ну перешла и перешла... :) Может, действительно будет дело?..
Вопрос м.б. лишь к тому, что после развития "в течение пяти лет" вдруг как бы обнаружилось, что это "затратное дело"... как-то мне сразу было очевидно, что такой редактор будет писать затратно, поэтому давно обозначил и варианты коммерциализации: viewtopic.php?p=46047#p46047. Не оправдание ли для уже подразумевавшегося?.. Как показывает пример "микрогигантизма", увлечение маркетингом может расходиться с "когнитивным качеством"... :wink:

Насчёт формата - что-то мне он напомнил ПРОТОН... кажется, Рэйлвей Каген говорил и о том, что "универсального" решения для структур типа дракон-схем на скобочном языке не получится?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 17 Апрель, 2013 12:39 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Владислав Жаринов писал(а):
Понял так, что в предлагаемом плагине юзер отдельно его редактирует... а текст "традиционным способом" пишет отдельно... или как?..
Да, отдельно редактирует но в графическом виде (компактное представление желательно не редактировать, можно его вообще зашифровать как-то в качестве защиты от дурака), а традиционный текст редактирует традиционно. Исходя из того, что для маленьких процедур, вроде приведённой ниже, нет особого смысла заводить ДРАКОН-схемы:
Код:
  PROCEDURE Server_NewUserReply(ip: IP.Adr; port: LONGINT; uin: LONGINT; seqNum: INTEGER; sendBuf: Base.Buffer; s: UDP.Socket);
  VAR
    res: LONGINT;
    string: String;
  BEGIN {EXCLUSIVE}
    Base.ServerPacketInit(Base.NEW_USER_REPLY, seqNum, sendBuf);
    sendBuf.AddInt(uin, 4);
    string := sendBuf.GetString();
    s.Send(ip, port, string^, 0, sendBuf.GetLength (), res);
  END Server_NewUserReply;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 17 Апрель, 2013 12:51 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Вот что нет смысла заводить (вообще) - да, наверное. И имел в виду, что редактируется тогда текст (в маршрутной части) - а в среде построение по нему альтернативных вьюшек маршрутов (дракон-схемы, ЛСП-таблицы, структурные скобки, ещё чего) вообще не реализуется.

И что если не так (т.е. для какой-то части текста документа альтернативные нотации вьюшек реализуются) - то они именно из текстового описания "вытаскиваются"...
Да, вот с таким уточнением, что можно их сохранять "только для чтения", согласен. Цель, наверное - не загружать среду "вытаскиванием" каждый раз заново, если представляемый элемент не изменялся? Тогда надо вести версии проекта (модели) по элементам, допускающим независимое отображение (скажем, программы - по процедурам, документа - по разделам/подразделам/пунктам/подпунктам)... И каждый раз при изменении "вытаскивать" запись альтернативной вьюшки элемента заново... либо автоматом, либо по запросу пользователем такой вьюшки для этого элемента.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Среда, 17 Апрель, 2013 16:48 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Ещё об XML.
Лучше один раз увидеть чем 100 раз услышать :D
Вложение:
XML.png
XML.png [ 4.56 КБ | Просмотров: 19111 ]
viewtopic.php?f=90&t=1006


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Четверг, 18 Апрель, 2013 15:52 

Зарегистрирован: Пятница, 22 Март, 2013 14:42
Сообщения: 9
Откуда: СПб
В общем я подумал и решил, что спасение утопающих дело рук самих утопающих. Создал примеры драконовских пиктограмм на metapost. Совершенно не причёсанный вариант, нарисовал как получилось.

В архиве:
  • файл drakonboxes.mp содержит заготовки пиктограмм (макросы)
  • файл test1.mp использует заготовки из drakonbox.mp и метапост создаёт из него тот самый лист, который я прикрепил к этому сообщению в виде test1-1.pdf

Metapost есть наверное у всех, у кого есть TeX (LaTeX). Ранше под виндоус использовали MiKTex, но он по-моему уже загнулся. Сейчас вроде TeXLive популярный. Metapost, как я уже говорил, обычно включен в состав. Под линуксом называется mpost, под виндоус называется mpost.exe или как-нибудь вроде того. Если его запустить в командной строке он скажет, что он метапост такой-то версии и будет ждать команд. Он интерпретатор вообще-то. :)

У меня в линуксе, чтобы получить пример, надо разархивировать архив и набрать make. Получается выходной файл в формате eps (pdf я сделал программой epstopdf, которая не знаю, есть ли под виндоус) Под виндоусом надо наверное позаботиться о путях, чтобы mpost в командной строке из любого места работал, и мог найти latex и потом набрать mpost test1.mp Латех тоже нужен, потому что содержимое боксов отрисовывается с его помощью. В результате, если всё в порядке, получится файл test1-1.eps

Под виндоусом eps можно смотреть программой gsview которая входит в состав ghostscript. Гостскрипт это программа, которая на входе берёт постскрипт файл (как правило с расширением ps), который есть векторная графика со шрифтами, как правило, и преобразует его в обычную графику, либо служит посредником для отправки ни принтер. Постскрипт (postscript) это скриптовый язык, который в своё время под юниксами был стандартом для печати. Принтеры его понимали из коробки. Для тех, которые не понимали и для того, чтобы конвертировать постскрипт-файлы в графику, обычную, векторную, pdf и т.д. и использовался ghostscript.

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

Работать с метапостом не просто, но он интересный. Думаю разобраться самостоятельно, глядя только на исходиники, нереально. Кое-что можно понять, но лучше книги читать. Которые тоже понять бывает не просто. У Кнута есть книга про Метафонт, подобная книге "Всё про Тех", наверное слишком подробная. Метафонт это прообраз метапоста, с его помощью Кнут рисовал шрифты. Потом его аспирант, Джон Хобби, написал этот метапост по мотивам метафонта. Основное отличие в том, что метапост может картинки создавать не во внутреннем формате TeXa, а в формате eps. Если кому-то что-то интересно, расскажу что знаю.

Какая от всего этого польза? Пока никакой. Путь видится такой (уже говорил в начале): создание текстовой дракон-прогаммы, из которой после специальной обрабоки будет получатся метапост-файл, который с помощью команды mpost будет превращатся в картинку. Это будет первая половина работы.

Вторая половина работы будет выполняться при необходимости. Из текстовой дракон-программы после обработки будет получаться программа на каком-либо языке программирования.

Извините братцы, я прочитал комментарии, но по ссылкам не ходил.


Вложения:
Комментарий к файлу: файлы проекта
drakon_picts.zip [9.14 КБ]
Скачиваний: 376
Комментарий к файлу: примеры пиктограмм на metapost
test1-1.pdf [15 КБ]
Скачиваний: 407
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Четверг, 18 Апрель, 2013 17:03 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Сергей Вадимович Метелёв писал(а):
В общем я подумал и решил, что спасение утопающих дело рук самих утопающих. Создал примеры драконовских пиктограмм на metapost.
......................................................................
Metapost есть наверное у всех, у кого есть TeX (LaTeX).

Ранше под виндоус использовали MiKTex, но он по-моему уже загнулся. Сейчас вроде TeXLive популярный.

Metapost, как я уже говорил, обычно включен в состав. Под линуксом называется mpost, под виндоус называется mpost.exe или как-нибудь вроде того.

Если его запустить в командной строке он скажет, что он метапост такой-то версии и будет ждать команд. Он интерпретатор вообще-то.


Что такое MetaPost?

Википедия говорит: http://ru.wikipedia.org/wiki/MetaPost
Цитата:
MetaPost — интерпретатор языка программирования META, который можно использовать для создания графических иллюстраций. MetaPost был создан Джоном Хобби в то время, когда он был аспирантом у Дональда Кнута. В качестве основы была взята система создания шрифтов METAFONT[1].

На входе интерпретатору подаётся текст на META, а на выходе получается графический файл в формате PostScript[2]. Начиная с версии 1.200 MetaPost поддерживает в качестве выходного формата SVG-графику[3].

Язык META, унаследованный от METAFONT, позволяет оперировать геометрическими объектами, такими как: точка, путь, картинка и выполнять над ними различные алгебраические действия, например, сдвиг, вращение и другие линейные преобразования.

Основными отличиями MetaPost от METAFONT кроме выходного формата является наличие поддержки цвета и возможность делать текстовые вставки. Текстовые вставки создаются с помощью LaTeX, таким образом, любая конструкция, которая может быть создана в LaTeX, также может быть вставлена в картинку MetaPost. Кроме этого изначально автор MetaPost Джон Хобби разработал библиотеку для визуализации двумерных графиков[4].

Интерпретатор MetaPost (исполняемый файл mpost) вместе со стандартными макро-библиотеками распространяется как открытое программное обеспечение, обычно, в составе дистрибутивов LaTeX.

            Содержание

            1 MetaPost-конвейер

            1.1 Кириллица и MetaPost

            1.2 Структура mp-файла

            1.3 Автоматизация

            2 Язык META

            3 Примеры

            4 Аналоги

            5 Примечания

            6 Ссылки

            7 Литература


[править] MetaPost-конвейер

MetaPost-конвейер

На вход программы mpost подаётся «META-картинка». «META-картинка» — это текстовый файл с расширением .mp (далее для краткости mp-файл) с инструкциями на языке META. В одном mp-файле можно хранить несколько описаний картинок.

При компиляции с помощью mpost создаются файлы с тем же именем, что и у исходного файла, но с расширениями в виде чисел, которые указываются в декларации beginfig.

Результирующие файлы сразу можно вставлять в LaTeX-тексты с помощью обычного \includegraphics. Для этого достаточно в заголовок tex-файла добавить команду из LaTeX-пакета graphicx:

\DeclareGraphicsRule{*}{eps}{*}{}

От «правильных» eps-файлов они отличаются только тем, что в них не «внедрены» шрифты, поэтому просмотреть их без дополнительной обработки не удастся.

Шрифты можно внедрить посредством программ latex и dvips с результатом в виде eps-файла или скрипта mptopdf с результатом в виде pdf-файла. Эти картинки уже можно использовать независимо любой программой, которая поддерживает эти векторные форматы.
..................................................................
..................................................................


Владислав Жаринов писал(а):
* в отношении "литературного программирования" Сергей, как можно понять, близок к "помощи писателю" С.Е. Михайлова.

Владислав, слово "литературного" некорректно. Это неточный перевод с английского.

Википедия считает, что правильнее говорить не "литературное программирование", а грамотное программирование.
Цитата:
Грамотное программирование

Грамотное программирование (ГП; англ. Literate Programming) — концепция, методология программирования и документирования. Иногда это словосочетание ошибочно переводят или образно называют "литературное программирование". Термин и саму концепцию разработал Дональд Кнут в 1981 году при разработке системы компьютерной вёрстки TeX.

http://ru.wikipedia.org/wiki/%D0%93%D1% ... 0%B8%D0%B5


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Суббота, 20 Апрель, 2013 19:46 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
А, ну так это та постановка задачи, которая, в частности, у Дмитрия_ВБ (разработка И документирование) и в ГРАФИТ-базисе... Кстати, проектную компоновку описаний это не отменяет...
Вариант через ТЕХ, наверное, тоже кому-то подойдёт...
А вообще то, что предложил Ярослав, видимо, через разновидность ТФАП того же Дмитрия_ВБ практичнее всего реализовать... где есть параметры представлений элементов модели и в тексте, и в других формах... пересчитываемые по необходимости...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мысли вслух
СообщениеДобавлено: Четверг, 02 Май, 2013 20:04 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Ссылка на Живой Журнал Сергея Вадимовича Метелева
http://metelev-sv.livejournal.com/125354.html


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB