Форум программистов, компьютерный форум, киберфорум
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/6334: Рейтинг темы: голосов - 6334, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492

Обсуждение ИС Дракон

28.01.2012, 19:20. Показов 1162946. Ответов 1644
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Учитывая интерес (как собственный, так и сообщества) к данному средству, решил вынести в отдельную тему, т.к. вобсуждении статьи очень тяжело ориентироваться.
Цель - не только обсудить, но и в меру возможностей посодействовать развитию данного проекта.
Задачи:
1. Создание актуальной и удобной справочной системы
2. Совершенствование кодогенератора, поддержка новых языков
3. Что-нибудь ещё придумаем по ходу :)
______________________________

Мои предложения по п.1:
Организовать открытый проект на вики-системе, чтобы каждый мог легко внести свой посильный вклад в свободное время.
Например, на викиучебниках (если там модеры не такие отмтроженные, как на педивикии)

По п.2 пусть предлагают те, кому актуально *(ассемблисты, например).
От себя бы предложил автору представить полную спецификацию формата хранения дракон-схем .drt, чтобы люди могли подключать к редактору собственные примочки (не только кодогенераторы, а и преобразователи, например, в .pdf, .doc итдитп.)

В общем, как-то так.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2012, 19:20
Ответы с готовыми решениями:

Дракон на Андроиде
Автор Никалий Ивиницкий 27 сентября 2015 г. 21:27:00 http://analyticls.ru/---8 И индроид тоже! ...

Дракон хартера-хейтуэя
Здравствуйте! Кто то умеет переводить программы с Делфи на С++, у меня что то плохо получается! Кода очень мало, но некоторые моменты мне...

Тест: Какой вы дракон)))
http://aeterna.ru/test.php?link=tests:365 Вы спокойны, сдержанны и весьма неразговорчивы. Вы склонны отдаляться от этого мира, лежать в...

1644
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
02.02.2012, 12:43
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от botmom12345
Кстати, уважаемые любители (и профессионалы :-) опенсорса, существует же dragon editor. Можно включиться в работу там.
Можно и вообще с нуля начать.
Только зачем, когда уже проделана огромная работа и в целом работать вполне удобно, за исключением некоторых спорных моментов (но не принципиальных)
К тому же, Tcl/Tk несколько отличается (мягко говоря) от привычных инструментов.
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
02.02.2012, 17:06
Цитата Сообщение от botmom12345
Кстати, уважаемые любители (и профессионалы :-) опенсорса, существует же dragon editor. Можно включиться в работу там.
Tcl. Как то мало привычно - Паскаль, Си, Плюсы еще как то видятся как инструмент. Хотя в принципе формат блок схем Dragon editor открыт, как вариант можно рассматривать - написание хоть какого то транслятора.
0
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 10
02.02.2012, 21:11
Можно и вообще с нуля начать.
Можно кстати не совсем с нуля, а сделать плагин к готовой IDE, C::B например. Там уже будут такие вещи, как гибко настраиваемый интерфейс, менеджер проектов, etc. Прикрутить, я думаю, можно примерно в таком же стиле, как wxSmith (визуальный редактор GUI). Остается только редактор схем, кодогенератор и желательно - интерфейс к отладчику, причем лучше - уже имеющемуся.
Плюсы:
* Кроссплатформенность
* Готовая открытая модульная IDE
* Достаточно привычные средства разработки (С++/wxWidgets)
* Поскольку есть инфраструктура компиляции и отладки - можно сразу из набора схем получать исполнимый файл
Минусы:
* Нужно разбираться в структуре C::B
* Возможно возникнут проблемы с гибкостью самой среды и ее придется допиливать (благо, она открытая)
* Жестко заданный инструментарий (C++/wxWidgets)

Аналогично можно прикрутиться к Eclipse. Дополнительный плюс в этом варианте - это мощная IDE, разработанная профессионалами. И другой инструментарий - Java. Кому-то это плюс, кому-то минус.
0
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 10
02.02.2012, 21:20
Алсо, если бы я начинал совсем с нуля, то взял бы инструментом Delphi (версией посвежее, ибо уникот) и двигался примерно в таком направлении:
1) Редактор дракон-схем в виде компонента. Без кодогенерации и скорее всего - без работы с файлами. Только редактирование схемы и представление ее в виде структуры данных в памяти.
2) Базовая IDE. По сути - только оболочка для сборки воедино плагинов, которые могут взаимодействовать, создавать свои тулбары/окна/меню/вкладки редактирования. Оболочка должна позволять гибко настраивать интерфейс и сохранять его конфигурацию.
3) Плагин редактирования схем на основе компонента из п.1. Работу с файлами - в нем, для хранения лучше всего использовать XML (гибкий, древовидный, легкочитаем человеком).
4) Менеджер проектов. Организация модулей в проект, настройки проекта, все такое.
5) Инфраструктура кодогенерации, кодогенераторы.
6) Инфраструктура компиляции нагенерированного и отладки прямо по схеме.

Тогда получится достаточно мощный и удобный инструмент... Но работы много. И я этим явно заниматься не буду - энтузиазма хорошо если на первый или второй пункт хватит. Разве что в команде как архитектор)
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
02.02.2012, 21:30
Цитата Сообщение от Vko
Алсо, если бы я начинал совсем с нуля, то взял бы инструментом Delphi (версией посвежее, ибо уникот)
Может Tozorus - кроссплатформа все таки? Я бы Вас поддержал :)
0
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 10
02.02.2012, 21:39
Лазарус в свое время на меня произвел впечатление чего-то полунерабочего. И главное - у Delphi мощная база компонентов, что может существенно облегчить пункт 2, плюс поддержка такой любопытной вещи, как DPL, которая позволяет разбивать код на несколько исполняемых модулей сохраняя все возможности языка так, как будто все модули собраны в один исполняемый файл - плагины я бы делал именно на нем, хотя это и достаточно серьезно ограничивает инструментарий их написания.
Сам лазарус кстати имеет совершенно ненастраиваемый интерфейс, а для добавления компонентов необходимо перекомпилировать всю среду. Это вызывает сомнения в его гибкости (FPC не держит ничего, аналогичного DPL, да и вообще, имеет определенные ограничения из-за использования BinUtils вместо своего линкера, как у Delphi, гибкость библиотеки компонентов лазаруса - LCL - тоже вызывает сомнения).
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
02.02.2012, 21:53
Цитата Сообщение от Vko
Лазарус в свое время на меня произвел впечатление чего-то полунерабочего.
Не сомневайтесь Лазурус вполне сейчас на уровне, не Delphi - но что то очень близкое. Delphi не свободен, да и не кроссплатформенен, или что то изменилось?

Цитата Сообщение от Vko
И главное - у Delphi мощная база компонентов, что может существенно облегчить пункт 2,
Да много ли там компонентов понадобиться? Вся отрисовка на канве. Вы же хотите модульность, можно поступить как в myx множество маленьких утилиток делающих каждая свое. Ради интереса скидал код на коленке отрисовывающий модули Дракона. Лазарус все хорошо потянул.

P.S. Ну или Qt все таки тоже свободен и кроссплатформенен.
0
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 494
02.02.2012, 22:09
Уважаемые участники форума,

ИС Дракон будет настраиваться на любой язык (с метками и goto) и ассемблер, надо подождать, т.к. пришлось значительно обновить трансляцию и еще есть сопутствующие изменения,

формат файла (устаревший формат) выложен здесь,

справку надо обновить.

Вам нет необходимости заниматься повторением разработки. Ведь Дракон вам нужен сейчас для использования.
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
02.02.2012, 22:13
Цитата Сообщение от dragonedit
Вам нет необходимости заниматься повторением разработки. Ведь Дракон вам нужен сейчас для использования.
Золотые слова! :)
0
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 10
02.02.2012, 22:23
Не сомневайтесь Лазурус вполне сейчас на уровне, не Delphi - но что то очень близкое. Delphi не свободен, да и не кроссплатформенен, или что то изменилось?
Таки сильно сомневаюсь я в лазарусе, я бы скорее плюсы с хорошим GUI-тулкитом взял, чем то, что видел. По поводу Delphi - увы, ничего не изменилось. Только на тыреном работать. Из кроссплатформы могу только Wine предложить) Хотя, еще можно воспользоваться Delphi Prism, он на дотнете. Можно наверно на Mono запускать.
Да много ли там компонентов понадобиться? Вся отрисовка на канве. Вы же хотите модульность, можно поступить как в myx множество маленьких утилиток делающих каждая свое.
Там требуются компоненты, позволяющие свободно таскать тулбары и инструментальные окна по докам, а также возможность из плагинов эти самые докируемые окна и тулбары создавать. Кто-то например Project Manager слева разместит, кто-то справа, а кто-то - и вовсе свернет во вкладку, да еще по соседству на тот же док накидает еще пяток вкладок.
Вам нет необходимости заниматься повторением разработки. Ведь Дракон вам нужен сейчас для использования.
Мне - нет. Тем более с неудобной средой.
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
02.02.2012, 22:32
Цитата Сообщение от Vko
Только на тыреном работать.
Ну если Delphi 3.0 или Borlomd Builder 6.0 то есть и вполне законные честно купленные :) так что с точки зрения лицензионной чистоты кода все будет хорошо.

Цитата Сообщение от Vko
Из кроссплатформы могу только Wine предложить) Хотя, еще можно воспользоваться Delphi Prism, он на дотнете. Можно наверно на Mono запускать.
Ничего не могу сказать по этому поводу - не умею ни то и другое. Разве что только Wine или ReactOS.

Цитата Сообщение от Vko
Там требуются компоненты, позволяющие свободно таскать тулбары и инструментальные окна по докам, а также возможность из плагинов эти самые докируемые окна и тулбары создавать. Кто-то например Project Manager слева разместит, кто-то справа, а кто-то - и вовсе свернет во вкладку, да еще по соседству на тот же док накидает еще пяток вкладок.
Так далеко я даже и не смотрел, по мне повторить то что получилось у Тышова будет уже достижением, выложить в GPL на GIT и может кто еще подключиться. Никогда не умел рющками обращивать, тут буду совсем бесполезен. Понимаю что для качественного профессионального продукта это необходимость.
0
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 10
03.02.2012, 00:13
А там по сути только сомнительного удобства редактор схем и есть. Кодогенератор там несложен, насколько я вижу.
Так что если "повторять достижение Тышова" - то следует писать компонент-редактор ДРАКОН-схем. А там глядишь подключится кто-то, способный добавить к нему достойную обертку.
Хотя этим тоже следует заниматься специалисту по рюшкам (точнее, специалисту по проектированию удобного интерфейса пользователя и специалисту по проектированию расширяемого программного интерфейса компонента).
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
03.02.2012, 09:18
Цитата Сообщение от Vko
Так что если "повторять достижение Тышова" - то следует писать компонент-редактор ДРАКОН-схем.
Пойдем дальше деклараций? Глядишь Тышова наши неуклюжие попытки подтолкнут поднять удобство интерфейса на новый уровень, мы ж только рады будем?
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 192
03.02.2012, 12:29
Мне кажется оптимальным вариантом опенсорсного движка мог бы быть Питон+PyQt
0
idm2007
03.02.2012, 15:46
Доброго времени суток.

Сразу хочу поблагодарить Сергея Ефанова. Замечательные ролики, заинтересовали сразу же. :) А вопрос у меня вот какой, никак не могу разобраться как оформить прерывание (AVR Studyo 5.0). Что-то показалось логичным создать примитив отдельный и в гноме его указать. Так-то все в коде вставляется верно, вот только выйти нормально не получается. Для примера вот картинка:


http://idm2007.narod.ru/other/img/testdragon.png

В заголовке код:

Code
1
2
3
4
ISR(TIM0_OVF_vect)       // Прерывание по переполнению таймера
{
//Схема
}
Все остальное без особенностей, а вот в иконе "Конец" я не знаю что писать. Вроде как ничего не нужно, просто комментарий написал. А вот что получается (немножко почистил):

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ISR(TIM0_OVF_vect)       // Прерывание по переполнению таймера
{
/* 20. Вопрос // A = 0 ? */
if (!(A == 0)) goto L19;
 
/* 21. Действие // B = 0 */
B = 0;
 
L11:
/* 11. Конец // Конец */
//**********************************************
 
/* ==================== Шампур */
 
L19:
/* 19. Действие // B = 1 */
B = 1;
goto L11;
}
Так-то алгоритм выполняется верно, но как для прерывания так беда совсем... Буду благодарен если подскажете, что же я не так делаю.
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
03.02.2012, 17:13
Цитата Сообщение от idm2007
Доброго времени суток.
Доброго!

Цитата Сообщение от idm2007
Все остальное без особенностей, а вот в иконе "Конец" я не знаю что писать. Вроде как ничего не нужно, просто комментарий написал. А вот что получается (немножко почистил):
Я кстати тоже заметил вот такие вот выкрутасы ИС-Дракон делает в ветвлениях на шампурах, может попробуете разместить в силуэте все, а ветвление заземлить на оконечый шампур.
0
idm2007
03.02.2012, 17:25
Я пробовал делать силуэт с отдельной веткой выхода, но результат тот же самый.
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 494
03.02.2012, 19:16
Цитата Сообщение от idm2007
Все остальное без особенностей, а вот в иконе "Конец" я не знаю что писать. Вроде как ничего не нужно, просто комментарий написал. А вот что получается (немножко почистил):
Икона "Конец" чаще всего в коде располагается в середине процедуры, функции. В П тексте иконы должен находиться выход из процедура, для функции с возвратом результата, пишется оператор Возврат или Exit или Return или что нибудь подобное.
0
idm2007
03.02.2012, 19:53
Цитата Сообщение от dragonedit
Икона "Конец" чаще всего в коде располагается в середине процедуры, функции.
Это я сразу понял, только там суть не в "в иконе "Конец" я не знаю что писать", а в том что мне "Вроде как ничего не нужно" :) Спасибо за ответы.
ifomov
04.02.2012, 14:31
Цитата Сообщение от idm2007
в иконе "Конец" я не знаю что писать
В иконе "Конец" напишите goto end_interrupt;
В программном приложении схемы перед закрывающей фигурной скобкой напишите end_interrupt:;
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.02.2012, 14:31

Дракон, UML, LabVIEW
Можно из Дракона прямо на Обероне без программирования модуль создавать http://sage.com.ua/ru.shtml?e6l0 Наверное можно и для других...

Ищу кисть - дракон
ищю такого дракона:

Дракон Хартера-Хайтвея
Решил для примера разобрать фрактал. Понять хотя бы общую часть построения на основе книги Кроновера. Нашел один код для матлаба, подправил...

ИС Дракон. Вопрос - ответ.
В теме "Обсуждаем ИС Дракон" идут бурные обсуждения. Вопросы теряются. Здесь задаем вопрос только по ИС Дракон. Сколько вопросов...

Фрактал Дракон Харьков-Хайтвея
Необходимо построить фрактал по заданным правилам: axiom = FX Правила F=F, X=X+YF+, Y=-FX-YF Угол pi/2 Находил только код, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Закрытая тема Создать тему
Новые блоги и статьи
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru