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

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

28.01.2012, 19:20. Показов 1162955. Ответов 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
0 / 0 / 0
Регистрация: 18.02.2010
Сообщений: 71
05.02.2012, 20:23
Студворк — интернет-сервис помощи студентам
Я не пользовался Си.
Не понял. Разве нельзя поместить метку перед концом цикла? Что надо устранить?
Здравствуйте, Геннадий.
Суть в том, что в моем примере метка L18 при трансляции ставится перед закрывающейся скобкой цикла для и компилятор не понимает, какое действие выполняется после этой метки. Для устранения проблемы думаю нужно сделать так, чтобы метка транслировалась в начало цикла для.
0
ifomov
05.02.2012, 20:42
Цитата Сообщение от Miko_Vott
код не собирается из-за, того что транслятор размещает метку в конце цикла для, может кто подскажет как устранить:
В иконе, закрывающей цикл, напишите ;}
ifomov
05.02.2012, 21:07
Цитата Сообщение от idm2007
Хм, почему-то Дракон стал зависать ... это связано с тем что путь к программным файлам ведет в папку с проектом AVR Studyo 5. Я просто хотел чтобы при изменении схемы в Драконе, код в студии менялся автоматом...
Я не знаю, почему это у Вас происходит. Могу только сказать, что работаю с ИС очень много, в зависаниях не замечена. Я использую её при работе с IAR Embeddid WorkBench IDE. Для своего удобства зарегистрировал в в IDE файлы .drt сл. образом: Tool/Confikure Viewers/File Name Extensins
Code
1
.drt
Tool/Confikure Viewers/Commomd Line
Code
1
d:\drokom\drokom.bat $PROJ_DIR$\USER\ "$FILE_PATH$"
Файлы Дракон-схем включены в проект. При щелчке по файлу в проекте вызывается drokom.bat, которому передаются два параметра: путь к папке с файлами проекта, и имя файла дракон-схемы. Содержимое бат. файла:
Code
1
2
3
4
@echo off
D:
cd %1
stort d:\drokom\dragon.ixi %1 %1%2
При запуске папка с проектом устанавливается как текущая, потом вызывается ИC Дракон, которой в качестве параметра передаётся имя файла с полным путём.
В файле "dragon.ini" руками поправил одну строчку:
Code
1
PathPrg=.
После чего ИС Дракон сохраняет программные файлы в текущий каталог. В результате я использую ИС во множестве проектов, без переназначения каталога сохранения программных файлов.
Думаю, что в Вашей Studyo тоже можно сделать что то подобное.
idm2007
05.02.2012, 21:12
Цитата Сообщение от dykytotymvytro
Закономерное желание. Делал так для IAR, обошлось без висов. Не слишком длинный путь или может быть в пути присутствуют пробелы?
В плане путей, пробелов и русских букв все нормально, это я научен. :) Просто закономерность пока найти не могу, в каких-то случаях все нормально работает. Но если виснет то всё. После этого хоть пересохраняй, хоть путь в другое место указывай - бесполезно. Открываться - открывается, можно перерисовывать что угодно, а вот собираться не желает. Беда будет если с рабочим проектом такое случится.
0 / 0 / 0
Регистрация: 18.02.2010
Сообщений: 71
05.02.2012, 21:14
В иконе, закрывающей цикл, напишите ;}
Спасибо, так действительно собирается, на мне кажется если бы метка транслировалась в начало цикла "для", то было бы логичнее и в конце цикла достаточно было бы написать только }, что более очевидно.
0
idm2007
05.02.2012, 21:20
Цитата Сообщение от ifomov
Могу только сказать, что работаю с ИС очень много, в зависаниях не замечена.
В том и дело что я экспериментов кучу крутил-вертел, все замечательно работает. А как в студию стал сливать, то началась ерунда какая-то. Вот студия создает сразу сишный файл при создании проекта, я потом его в настройках проекта убираю, и подключаю уже сишный от Дракона (указывая путь в проект студии). Хотя это не совсем правильно, наверное, когда два приложения тянутся к одному файлу одновременно. Может в этом и дело...
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
05.02.2012, 21:31
Цитата Сообщение от idm2007
Хотя это не совсем правильно, наверное, когда два приложения тянутся к одному файлу одновременно. Может в этом и дело...
Да нет тут все нормально при возвращении в студию, будет вопрос - обновить файл. Хотя за AVR Studyo не скажу, для AVR компилировал gcc, а вот для msp430 IAR всегда запрашивает обновление файла. Но дело то не в студии, виснет то ИС-Дракон?
0
idm2007
05.02.2012, 22:10
Студия и спрашивает про обновление файла, в этом плане все нормально. Но вот в какой момент зависает Дракон, пока не могу сказать. Сейчас все работает, например. Время покажет...
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
05.02.2012, 22:40
У меня зависание тоже было, но один раз и без серьезных последствий.
0
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
05.02.2012, 22:45
Цитата Сообщение от ifomov
Файлы Дракон-схем включены в проект. При щелчке по файлу в проекте вызывается drokom.bat, которому передаются два параметра: путь к папке с файлами проекта, и имя файла дракон-схемы. Содержимое бат. файла:Код:
@echo off
D:
cd %1
stort d:\drokom\dragon.ixi %1 %1%2При запуске папка с проектом устанавливается как текущая, потом вызывается ИC Дракон, которой в качестве параметра передаётся имя файла с полным путём.
В файле "dragon.ini" руками поправил одну строчку:
Code
1
PathPrg=.
После чего ИС Дракон сохраняет программные файлы в текущий каталог. В результате я использую ИС во множестве проектов, без переназначения каталога сохранения программных файлов.
Думаю, что в Вашей Studyo тоже можно сделать что то подобное.
Вот, уже дело :)
По крупицам собираем?инфу.
Таки не зря я тему завел.
Глядишь, на доку насобираем.
0
idm2007
05.02.2012, 23:32
Цитата Сообщение от ifomov
Думаю, что в Вашей Studyo тоже можно сделать что то подобное.
Вполне возможно. Только я совсем ничего не понял. :) Ну да со временем разберусь, думаю...
idm2007
06.02.2012, 02:04
Уф, разобрался почему зависало. Как и бывает обычно, сам же виноват. :) Пока разбирался со студией, рисовал в Драконе что в голову пришло. Лишь бы проверить.


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

Что-то переклинило что 18 как раз и будет меткой, на которую все закольцуется. А вышло так что если в ветке пусто, то все зависает. Извините за баламутство. )))
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 10
06.02.2012, 03:51
При щелчке по файлу в проекте вызывается drokom.bat, которому передаются два параметра: путь к папке с файлами проекта, и имя файла дракон-схемы.
Зачем эти пляски с батником? Укажи
Commomd=d:\drokom\dragon.ixi
Arkument="$PROJ_DIR$\USER\" "$PROJ_DIR$\USER\$FILE_PATH$"
Initial Dyristory="$PROJ_DIR$\USER\"
0
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
06.02.2012, 10:07
Цитата Сообщение от MrYurom
Также, лично я бы преобразовывал ветки в do{}while(0), пусть даже с goto между ними. Это улучшает структуру текста и облегчает дальнейшую работу именно с текстом. И самое главное, что теоретически никаких препятствий для этого не вижу.
Начало ветки сопроводить текстом "do{", а конец - "}while(0)", ничего больше не меняя.
Как идея?
Либо ещё проще: добавить квадратики "Приложение П" к началу и концу ветки.
Да хоть и вообще ко всем иконам. Можно туда по умолчанию комментарии вписать.
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
06.02.2012, 12:21
Цитата Сообщение от MrYurom
Либо ещё проще: добавить квадратики "Приложение П" к началу и концу ветки.
Да хоть и вообще ко всем иконам. Можно туда по умолчанию комментарии вписать.
Фактически никто же не мешает вставлять икону "действие" перед такими проблемными местами, указывать там либо комментарий либо вообще пустой блок для Си {};
0
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
06.02.2012, 13:05
Цитата Сообщение от dykytotymvytro
Фактически никто же не мешает вставлять икону "действие" перед такими проблемными местами, указывать там либо комментарий либо вообще пустой блок для Си {};
Это уже совсем костыли.
0
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 494
07.02.2012, 22:54
Выполнена доработка ИС Дракон для программирования на различных, произвольных языках и ассемблерах.

Выпуск от 08.02.2012 скачать можно здесь

После демонстрации Сергеем Ефановым программирования на Си микроконтроллеров, поступило много требований о использовании ИС Дракон с другими языками и ассемблерами.

ИС Дракон доработан:
Убран фиксированный набор языков.
Разработан язык настройки ИС Дракон на конкретный язык программирования, ассемблер.
Ограничен выбор языка (ассеблера). Необходимо наличие операторов: комментарий, метка, безусловный и по условию переходы.
Введены в меню пункты "Программирование / Описание нового языка", "Программирование / Описание вашего языка".
Введен в меню пункт "Лист / Статистика".

; Описание языка программирования XXXXXX
; Редактируйте для вашего языка
; Имя файла описания - LangProkramm.ini
; Файл поместить в папку программы
[Operator]
; Комментарий до конца строки
Comment=// <Comment/>
;Comment=/* <Comment/> */
; Метка
Label=L<NN/>: ;
; 1=============== для Delphi, Pascal и других
; Объявление меток
Labels=L<NN/>
; 1======
; 2================ для Си и других
; Безусловный переход
Goto=goto L<NN/>;
; Переход по условию ДА
YesGoto=if (<Usl/>) goto L<NN/>;
; Переход по условию НЕТ
NotGoto=if (!(<Usl/>)) goto L<NN/>;
; 2======
; 3=============== или для ассемблеров
; Безусловный переход
Goto=jmp L<NN/>
; Переход по условию ДА
YesGoto=jmpz L<NN/>
; Переход по условию НЕТ
NotGoto=jmpnz L<NN/>
; 3======
; 4=============== Для использования трассировки
; Трассировка
Trick=trassa_macro(<NN/>);
; Трассировка с новой строки
TrickNS=trassa_macro_ns(<NN/>);
; 4======
; Описание языка программирования Си
; Редактируйте для вашего языка
; Имя файла описания - LangProkramm.ini
; Файл поместить в папку программы
[Operator]
; Комментарий до конца строки
Comment=// <Comment/>
;Comment=/* <Comment/> */
; Метка
Label=L<NN/>: ;
; 2================ для Си и других
; Безусловный переход
Goto=goto L<NN/> ;
; Переход по условию ДА
YesGoto=if (<Usl/>) goto L<NN/>;
; Переход по условию НЕТ
NotGoto=if (!(<Usl/>)) goto L<NN/>;
; 2======
; 4=============== Для использования трассировки
; Трассировка
Trick=trassa_macro(<NN/>);
; Трассировка с новой строки
TrickNS=trassa_macro_ns(<NN/>);
; 4======
Code
1
2
3
4
5
6
Статистика
 
1. D=2, I+U=207, I=114, ?I=1, A=14, B=0, P=75, L=57, X*Y=3322*1031, V=2, Главное меню_1.drt
V 2. D=9, I+U=417, I=250, ?I=0, A=0, B=1, P=188, L=2, X*Y=7854*1022, V=0, Получение файла прошивки.drt
 
=== D=11, I+U=624, I=364, ?I=1, A=14, B=1, P=263, L=59, V=2
Где: D - количество схем, I+U - икон + узлов, I - икон, ?I - икон слепышей, A - А текстов, B - B текстов, P - P текстов, L - меток, X*Y - размер листа, V - версий, наименование листа.
0
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
08.02.2012, 10:15
Ну надо же...
Оказывается, не нужно изобретать велосипед,
уже все есть...

Приложение DrakonToTxt предназначено для трансляции файла формата *.drt,
полученного после и.с. DRAKON Г.Н. Тышова, в текстовый файл программы на языке Си (C#).
Приложение создавалось как рабочий инструмент, необходимый для решения насущных проблем
разработки и производства, поэтому при написании программ и.с. DRAKON используется с
нарушением правил ДРАКОНА В. Д. Паронджанова и рекомендаций Г.Н. Тышова.
В настоящем проекте сделана попытка описать при помощи и.с. DRAKON программу на
языке Си (а не наоборот, что было бы, наверное, правильнее, но это более сложная реализация).
Ниже приводятся некоторые приемы работы со схемами и иконами и.с. DRAKON для
получения рабочего Си – файла.
Лично мне описание в pdf-ке очень понравилось.
Только запустить не смог, надо найти обновленную версию, под новый (текущий) формат .drt
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
08.02.2012, 13:38
Цитата Сообщение от dragonedit
Выполнена доработка ИС Дракон для программирования на различных, произвольных языках и ассемблерах.

Выпуск от 08.02.2012 скачать можно здесь
спасибо! будем пробовать.

Цитата Сообщение от dragonedit
; Переход по условию ДА
YesGoto=jmpz L<NN/>
; Переход по условию НЕТ
NotGoto=jmpnz L<NN/>
Геннадий Никалиевич развейте мои сомнения, переход возможен только одного типа z, nz, к примеру а если по тексту программы потребуется контроль различных флагов с, nc, s, ns, v, nv и так далее. Этого пока не предусмотрено?
0
idm2007
08.02.2012, 16:06
Замечательно, теперь ничего не виснет а выдает ошибку "программа зациклена". :) Да и сама суть описания нужного языка несомненно очень удобна.

Тут вот только непонятно что должно быть:


http://idm2007.narod.ru/other/img/testdragon3.jpg
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.02.2012, 16:06

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
100
Закрытая тема Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
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