Easyelectronics.ru • Просмотр темы - Обсуждение ИС Дракон

Easyelectronics.ru

Электроника для всех
Текущее время: 15 авг 2018, 06:00

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



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 1645 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 66  След.
Автор Сообщение
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 03 фев 2012, 22:19 
Заглядывает иногда

Зарегистрирован: 25 дек 2011, 20:47
Сообщения: 73
Vga писал(а):
Только на тыреном работать.


Ну если Delphi 3.0 или Borland Builder 6.0 то есть и вполне законные честно купленные :) так что с точки зрения лицензионной чистоты кода все будет хорошо.

Vga писал(а):
Из кроссплатформы могу только Wine предложить) Хотя, еще можно воспользоваться Delphi Prism, он на дотнете. Можно наверно на Mono запускать.


Ничего не могу сказать по этому поводу - не умею ни то и другое. Разве что только Wine или ReactOS.


Vga писал(а):
Там требуются компоненты, позволяющие свободно таскать тулбары и инструментальные окна по докам, а также возможность из плагинов эти самые докируемые окна и тулбары создавать. Кто-то например Project Manager слева разместит, кто-то справа, а кто-то - и вовсе свернет во вкладку, да еще по соседству на тот же док накидает еще пяток вкладок.


Так далеко я даже и не смотрел, по мне повторить то что получилось у Тышова будет уже достижением, выложить в GPL на GIT и может кто еще подключиться. Никогда не умел рющками обращивать, тут буду совсем бесполезен. Понимаю что для качественного профессионального продукта это необходимость.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 04 фев 2012, 00:00 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 фев 2011, 23:57
Сообщения: 116
А там по сути только сомнительного удобства редактор схем и есть. Кодогенератор там несложен, насколько я вижу.
Так что если "повторять достижение Тышова" - то следует писать компонент-редактор ДРАКОН-схем. А там глядишь подключится кто-то, способный добавить к нему достойную обертку.
Хотя этим тоже следует заниматься специалисту по рюшкам (точнее, специалисту по проектированию удобного интерфейса пользователя и специалисту по проектированию расширяемого программного интерфейса компонента).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 04 фев 2012, 09:05 
Заглядывает иногда

Зарегистрирован: 25 дек 2011, 20:47
Сообщения: 73
Vga писал(а):
Так что если "повторять достижение Тышова" - то следует писать компонент-редактор ДРАКОН-схем.


Пойдем дальше деклараций? Глядишь Тышова наши неуклюжие попытки подтолкнут поднять удобство интерфейса на новый уровень, мы ж только рады будем?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 04 фев 2012, 12:16 
Старожил

Зарегистрирован: 31 янв 2010, 14:51
Сообщения: 948
Мне кажется оптимальным вариантом опенсорсного движка мог бы быть Питон+PyQt

_________________
Creo en la paz


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 04 фев 2012, 15:33 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
Доброго времени суток.

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

Изображение

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

Код:
ISR(TIM0_OVF_vect)       // Прерывание по переполнению таймера
{
//Схема
}


Все остальное без особенностей, а вот в иконе "Конец" я не знаю что писать. Вроде как ничего не нужно, просто комментарий написал. А вот что получается (немножко почистил):

Show Весь код


Так-то алгоритм выполняется верно, но как для прерывания так беда совсем... Буду благодарен если подскажете, что же я не так делаю.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 04 фев 2012, 17:00 
Заглядывает иногда

Зарегистрирован: 25 дек 2011, 20:47
Сообщения: 73
edm2007 писал(а):
Доброго времени суток.


Доброго!

edm2007 писал(а):
Все остальное без особенностей, а вот в иконе "Конец" я не знаю что писать. Вроде как ничего не нужно, просто комментарий написал. А вот что получается (немножко почистил):


Я кстати тоже заметил вот такие вот выкрутасы ИС-Дракон делает в ветвлениях на шампурах, может попробуете разместить в силуэте все, а ветвление заземлить на оконечый шампур.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 04 фев 2012, 17:12 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
Я пробовал делать силуэт с отдельной веткой выхода, но результат тот же самый.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 04 фев 2012, 19:03 
Старожил

Зарегистрирован: 29 янв 2012, 20:16
Сообщения: 496
edm2007 писал(а):
Все остальное без особенностей, а вот в иконе "Конец" я не знаю что писать. Вроде как ничего не нужно, просто комментарий написал. А вот что получается (немножко почистил):

Икона "Конец" чаще всего в коде располагается в середине процедуры, функции. В П тексте иконы должен находиться выход из процедура, для функции с возвратом результата, пишется оператор Возврат или Exit или Return или что нибудь подобное.


Последний раз редактировалось Геннадий Тышов 04 фев 2012, 20:18, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 04 фев 2012, 19:40 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
dragonedit писал(а):
Икона "Конец" чаще всего в коде располагается в середине процедуры, функции.


Это я сразу понял, только там суть не в "в иконе "Конец" я не знаю что писать", а в том что мне "Вроде как ничего не нужно" :) Спасибо за ответы.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 14:18 
Только пришел

Зарегистрирован: 05 фев 2012, 14:13
Сообщения: 10
edm2007 писал(а):
в иконе "Конец" я не знаю что писать
В иконе "Конец" напишите goto end_interrupt;
В программном приложении схемы перед закрывающей фигурной скобкой напишите end_interrupt:;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 14:48 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
Сергей, спасибо. Я прекрасно понял суть, так на выходе будет создана метка, на которую икона "Конец" в любом случае перенаправит. Но никак не могу привыкнуть к куче прыжков. Ужас просто. :)))

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 15:10 
Только пришел

Зарегистрирован: 05 фев 2012, 14:13
Сообщения: 10
edm2007 писал(а):
не могу привыкнуть к куче прыжков. Ужас просто. :)))
А туда смотреть не надо. Тем более, что компилятор при включении оптимизации сам уберёт большую часть этих прыжков.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 16:10 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
efanov писал(а):
В иконе "Конец" напишите goto end_interrupt;
В программном приложении схемы перед закрывающей фигурной скобкой напишите end_interrupt:;

Ну вы блин даёте...
А нельзя написать просто:
// типа конец
?

Вроде был уже вопрос, но повторюсь, т.к. в свое время не дошел до этого момента.
Во многих иконах есть поля "приложение А" и Б.
Опытным путем установлено, что в кодогенерации они не участвуют.
Тогда для чего?
Ещё заметил, что слева от икон можно ставить галочки.
Зачем?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 16:30 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
MrYuran писал(а):
Ну вы блин даёте...
А нельзя написать просто:
// типа конец


edm2007 писал(а):
а вот в иконе "Конец" я не знаю что писать. Вроде как ничего не нужно, просто комментарий написал.


Посмотрите внимательнее, я и писал коментарий:

Код:
//**********************************************


Только какая разница, если он присваивает иконе "Конец" метку. А она находится в середине.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Последний раз редактировалось edm2007 05 фев 2012, 17:21, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 16:59 
Старожил

Зарегистрирован: 29 янв 2012, 20:16
Сообщения: 496
MrYuran писал(а):
Вроде был уже вопрос, но повторюсь, т.к. в свое время не дошел до этого момента.Во многих иконах есть поля "приложение А" и Б.Опытным путем установлено, что в кодогенерации они не участвуют.Тогда для чего?
ИС Дракон является средой языка Дракон для общего и широкого применения.

На ваше усмотрение, пишите там выдержки из приказа на разработку, из технического задания, выдержки из налогового кодекса, свои замечания при отладке, т.е. это ваша записная книжка связанная с частями алгоритма. Туда же могут другие лица писать свои замечания, для себя или для вас.

MrYuran писал(а):
Ещё заметил, что слева от икон можно ставить галочки.Зачем?
Галочки у икон, называются метками. Назначение их также на ваш выбор. Для программиста есть пункт меню "Программирование / Трассировка икон с метками", вы по время отладочного прогона можете получить протокол последовательности выполнения отмеченных икон.

Дракон может использоваться для алгоритма деятельности, можете помечать выполненные этапы, начальник может отметить что что требуется переделать. Установите для себя свои правила применения отметки. В контекстном меню схемы есть пункт "Удалить все метки", в меню "Найти" есть пункт "Найти иконы с метками".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 22:48 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
Немного не в тему: посмотрел дизасм в студии, оператор return как и положено для прерываний как RETI а для функций RET. То бишь я могу в иконе "Конец" все же просто написать return;? Просто я совсем недавно разбираюсь с правильным Си для AVR. И в общем случае обработка выглядит как:

Код:
ISR(TIM0_OVF_vect)       
{
//.........................
}


Допрыгали до конца и ушли обратно. Не будет ошибкой самому указать где именно выходить?

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 23:10 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 фев 2011, 23:57
Сообщения: 116
Не должно. Оператор return - штатный выход из функции. Компилятор должен его правильно обработать - он сам знает, какого типа функция и как из нее парвильно выйти (поставить RET, RETI или прыгнуть на общий для всех return'ов хвост).

А вообще, размещать икону "конец" в середине кода - оригинально-с.

P.S.
Цитата:
ИС Дракон является средой языка Дракон для общего и широкого применения.

Рановато для такого пафоса, пока что оно только на поделку тянет. Алсо, где вы тут "интегрированную среду" увидели? Сделайте менеджер проекта и систему сборки и отладки прежде чем это называть "ИС". Сейчас это не более чем редактор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 23:39 
Старожил

Зарегистрирован: 29 янв 2012, 20:16
Сообщения: 496
Vga писал(а):
А вообще, размещать икону "конец" в середине кода - оригинально-с.
А вы, что не слышали о возможности выхода из середины процедуры?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 05 фев 2012, 23:47 
Старожил

Зарегистрирован: 29 янв 2012, 20:16
Сообщения: 496
Vga писал(а):
Сейчас это не более чем редактор.
Это более чем редактор, есть транслятор маршрутной части алгоритма в программный код ряда языков программирования, есть верификация структур языка Дракон, предусмотрена работа со всем комплектом дракон-схем проекта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 00:17 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 фев 2011, 23:57
Сообщения: 116
Редактор с кодогенератором - маловато, чтобы называться ИС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 09:51 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
edm2007 писал(а):
Немного не в тему: посмотрел дизасм в студии, оператор return как и положено для прерываний как RETI а для функций RET. То бишь я могу в иконе "Конец" все же просто написать return;?

Имеете полное право.
И можно даже не в конце, а хоть в самом начале.
Например:
if(something) // а не зря ли мы сюда вошли?
return;
// продолжаем дальше, если все нормально


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 10:20 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
efanov писал(а):
А туда смотреть не надо. Тем более, что компилятор при включении оптимизации сам уберёт большую часть этих прыжков.

goto это пусть...
Но вот как по мне, идеологически неверно преобразовывать "переключатель" в if-else-goto.
Почему?
Очень просто. Паронджанов в своей книге декларирует абсолютную тождественность графического и текстового описания алгоритма.
То есть, полученный из дракон-схемы текст должен однозначно преобразовываться обратно в исходную схему.
В случае switch-case это легко реализуемо. if-else преобразуется в лесенку развилок, что исказит исходную картинку.
Да и оптимизируется switch местами гораздо лучше, превращаясь в таблицу переходов.

Также, лично я бы преобразовывал ветки в do{}while(0), пусть даже с goto между ними. Это улучшает структуру текста и облегчает дальнейшую работу именно с текстом. И самое главное, что теоретически никаких препятствий для этого не вижу.
Начало ветки сопроводить текстом "do{", а конец - "}while(0)", ничего больше не меняя.


Последний раз редактировалось MrYuran 06 фев 2012, 10:46, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 10:34 
Заглядывает иногда

Зарегистрирован: 25 дек 2011, 20:47
Сообщения: 73
MrYuran писал(а):
if-else преобразуется в лесенку развилок, что исказит исходную картинку.
Да и оптимизируется switch местами гораздо лучше, превращаясь в таблицу переходов.


Для ARM например тактика if-else может иметь больше успеха учитывая его префиксные условные команды, да и кое где еще существует команда "пропуска если". Даже если сильно захотеть - оптимизатор может так координально всю структуру изменить что мама родная не узнает схемы переходов в итоге.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 10:45 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
digitalinvitro писал(а):
Для ARM например тактика if-else может иметь больше успеха учитывая его префиксные условные команды

Так вот суть в том, что в общем случае компилятор сам может преобразовать switch() в if-else, если это будет оптимальнее, а вот обратно вряд ли.
Представим ситуацию парсинга какого-нибудь протокола и выбор одного из 100 последовательных вариантов.
Один переход по вычисленному смещению значительно быстрее и компактнее, чем последовательный перебор 100 условий.
Опять же, в случае switch() даже перебор условий может быть оптимизирован в симметричное дерево, значительно сократив количество развилок.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 11:21 
Заглядывает иногда

Зарегистрирован: 25 дек 2011, 20:47
Сообщения: 73
MrYuran писал(а):
Опять же, в случае switch() даже перебор условий может быть оптимизирован в симметричное дерево, значительно сократив количество развилок.


Безусловно. Я про то что прямого отражения Дракон схемы на результирующий код можно никогда и не получить.


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

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


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

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


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB