DRAKON.SU

Текущее время: Понедельник, 26 Февраль, 2024 08:44

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




Начать новую тему Ответить на тему  [ Сообщений: 74 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 01 Май, 2023 11:38 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5843
Откуда: Москва
Черновик. Текстовый формат языка ДРАКОН. Часть 1

Критические замечания участника tonyk о реализации языка ДРАКОН для ПЛК

tonyk писал(а):
За питьём кофе полистал сайт. Ребята, вы в тупике. И будете в нём до тех пор, пока не появится текстовый формат языка Дракона.

Пока сделайте главное, дайте описание текстового формата Дракона в БНФ.

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

Даёшь Дракон в БНФ!

tonyk писал(а):
Свои мысли я тут высказываю с позиций разработчика ПЛК, по мнению которого проект "Дракон" уходит далеко от того, что нужно инженерам-практикам.

я сильно сомневаюсь, что с нынешним подходом к разработке Дракон будет доведён до состояния, когда он будет массово использоваться, например, в ПЛК.

Глядя на происходящее, думаю, что если ничего не менять в вашей работе, то Дракон так и останется игрушкой для разума энтузиастов.

Повторюсь, я смотрю на Дракон с позиций разработчика ПЛК. Мне нравится концепция Дракона, будь у Дракона то, о чём я написал (текстовый формат, протокол обмена с рантаймом и т.п.), с удовольствием занялся бы переносом его на ПЛК.

tonyk писал(а):
на Дракон вообще не предусмотрена работа с периферией контроллеров.

Нет даже упоминаний о низкоуровневой работе с регистрами периферии целевого контроллера, нет понятия "функциональный блок".

Не заметил возможности написания фрагментов программы на языках низкого уровня, например, С/С++ или ассемблер. Да много чего нет, без чего эффективное использование Дракона вряд ли возможно.

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

Полностью критику tonyk можно прочесть здесь
Считаю, что tonyk прав.

В данной теме я начал описывать текстовый формат языка ДРАКОН, но не в БНФ, а для скорости в упрощенной форме.
Схема исправлена по замечаниям участника Comdiv.
Вложение:
01 if 6 штук     .png
01 if 6 штук .png [ 239.43 КБ | Просмотров: 1186 ]

Схема исправлена по замечаниям участника Comdiv.
Вложение:
02 if else if else     .png
02 if else if else .png [ 311.03 КБ | Просмотров: 1185 ]

Уважаемые коллеги!
Прошу критиковать и указать на ошибки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 09 Май, 2023 16:40 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5843
Откуда: Москва
Предыдущее сообщение полностью изменено.
Вложение:
03 Вложенный if else Схема И     .png
03 Вложенный if else Схема И .png [ 259.07 КБ | Просмотров: 1534 ]

Вложение:
04 Циклы и switch    .png
04 Циклы и switch .png [ 254.92 КБ | Просмотров: 1534 ]

Уважаемые коллеги!
Прошу критиковать и указать на ошибки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Май, 2023 08:44 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1355
В ДРусскийАКОН почему то используются не русские слова?
Происходит какое то онаучивание Дракона.

Пустое занятие В.Д. Паронджанова.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Май, 2023 18:59 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1355
В 02 и 03 страницах различные операторы с 11-м номером.

В чём смысл?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Май, 2023 19:19 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5843
Откуда: Москва
LKom писал(а):
В 02 и 03 страницах различные операторы с 11-м номером. В чём смысл?

Это ошибка нумерации. Номера операторов не должны повторяться: 11, 12 и т.д. Спасибо за указание на ошибку


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Май, 2023 19:57 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1355
В чем смысл жирных, широких линий?
Ведь не очевидно, что они находятся между икон Ветка и Адрес или Заголовок и Конец.

Жирные, широкие линий обсуждались в теме "Эргономика ДРАКОН-схем / Жирная (широкая) ..." https://forum.drakon.su/viewtopic.php?f=175&t=7011

Жирные, широкие линий - вообще не нужны, более того, нарушается эргономика. Создается отвлекающий визуальный шум, которого не должно быть в схеме.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 23 Май, 2023 12:55 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1355
Владимир Паронджанов писал(а):
Уважаемые коллеги!
Прошу критиковать и указать на ошибки.

Если долго сидеть на берегу, то можно дождаться...
LKom писал(а):
В чем смысл жирных, широких линий?
Ведь не очевидно, что они находятся между икон Ветка и Адрес или Заголовок и Конец.

Жирные, широкие линий обсуждались в теме "Эргономика ДРАКОН-схем / Жирная (широкая) ..." viewtopic.php?f=175&t=7011

Жирные, широкие линий - вообще не нужны, более того, нарушается эргономика. Создается отвлекающий визуальный шум, которого не должно быть в схеме.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 24 Май, 2023 19:27 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1355
Владимир Паронджанов писал(а):
Уважаемые коллеги!
Прошу критиковать и указать на ошибки.

Критика есть, а "в ответ тишина", глухо!
Продолжать критику надо?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 03:46 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 133
Откуда: Киев
Для упрощения разбора фигурные скобки должны быть обязательными.
Раз уж взято направление на синтаксис С, то там, где в этом нет нужды, не следует от него отклоняться (например, elseif вместо else if).
Думаю, у авторов редакторов могут быть определённые сложности с сериализацией схем в такой текст.
А вообще, стоит явно проговорить цели, которым должна соответствовать текстовая форма.


текст1 = текст3, текст2 = текст4, а не должны бы, поскольку так нельзя разобрать, какой схеме соответствует текст
текст3 по аналогии должен быть таким
Код:
if (!(условие)) {
     ;
} else {
     операторы
}


В тексте 11.1 лишние отрицания.

В 11.2-14 потеряно соответствие между схемой и текстом. Например 11.2 это ближе к
Код:
if (  (условие1)
   && (условие2)
   ) {
    операторы1
} else {
    операторы2
}
А если более обобщённо с учётом дополнительных конструкций, которые возможны в схеме, то
Код:
if (условие1) {
     ;
} and if (условие2) {
    операторы1
} else {
    операторы2
}


Также, в примерах не хватает других неструктурных элементов схем как во вложенной картинке.


Вложения:
Неструктурность.png
Неструктурность.png [ 21.93 КБ | Просмотров: 1354 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 11:30 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5843
Откуда: Москва
Comdiv, спасибо, что откликнулись.
Благодарю за ценные замечания.
Буду отвечать по отдельным пунктам.
Comdiv писал(а):
Для упрощения разбора фигурные скобки должны быть обязательными.

Правильно я понимаю, что нужно удалить
Цитата:
Примечание
3. Если блок состоит из одной операции, наличие фигурных скобок, ограничивающих блок, необязательно
и вместо него вставить:
Цитата:
Примечание
3. Если блок состоит из одной операции, наличие фигурных скобок, ограничивающих блок, обязательно, так как необходимо упростить синтаксический разбор при компиляции


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 14:06 

Зарегистрирован: Вторник, 31 Январь, 2017 14:51
Сообщения: 22
Я вообще не понял для чего нужен этот формат. Есть drt, он текстовый. Чем он не устраивает?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 16:44 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 133
Откуда: Киев
Владимир Паронджанов писал(а):
Правильно я понимаю, что нужно удалить ... вставить: ...
Можно ничего не вставлять, если только не хотите дать дополнительные пояснения. А так - удаление самодостаточно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 16:46 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 133
Откуда: Киев
Григорий Пуляев писал(а):
Есть drt, он текстовый. Чем он не устраивает?
Для удобства рассмотрения этого вопроса, пожалуйста, опишите формат подробно или дайте ссылку на его описание.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 17:30 

Зарегистрирован: Вторник, 31 Январь, 2017 14:51
Сообщения: 22
> опишите формат подробно или дайте ссылку на его описание.

https://drakon.su/_media/opisanie_formata_drt_a.pdf


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 19:54 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 133
Откуда: Киев
Это же просто случайный набор для наивного разбора конкретным редактором. Чего только стоит фамилия и инициалы автора редактора вместе с завершающей латинской A как часть формата.
Владимир Даниелович пока не озвучил список целей, которым он бы хотел, чтобы формат соответствовал, но даже и без этого сложно представить формат drt хотя бы как основу для общего формата.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 20:21 

Зарегистрирован: Вторник, 31 Январь, 2017 14:51
Сообщения: 22
> Владимир Даниелович пока не озвучил список целей, которым он бы хотел, чтобы формат соответствовал, но даже и без этого сложно представить формат drt хотя бы как основу для общего формата.

Единственно что я понял это то что формат должен быть текстовым. По этому я взял за основу формат drt что бы оттолкнувшись от него можно было более чётко сформулировать требования.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 20:51 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5843
Откуда: Москва
Comdiv писал(а):
стоит явно проговорить цели, которым должна соответствовать текстовая форма.

Попробую указать цели.

1. Стратегическая цель

Язык ДРАКОН занимает ничтожно малую долю рынка. Отсюда цель — увеличить долю рынка.
Предполагаемая область широкого применения языка ДРАКОН: программирование микроконтроллеров и ПЛК.
Сегодня в этой области ДРАКОН используется в единичных случаях (С. Ефанов и А. Муравицкий).
Специалист по ПЛК tonyk подверг резкой критике такое положение и указал, как преодолеть этот недостаток.

2 Частная цель

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

Уважаемые коллеги!
Определение целей — трудная задача.
Прошу критиковать и дополнить список целей.

Для Григория Пуляева: см. viewtopic.php?f=211&t=7146


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 27 Май, 2023 23:11 

Зарегистрирован: Вторник, 31 Январь, 2017 14:51
Сообщения: 22
> Определение целей — трудная задача.

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

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

Сейчас есть 2 живых дракон-редактора:
1) ИС ДРАКОН.
2) Проекты которые делает Степан Митькин.
ИС ДРАКОН использует формат drt, если Степан добавит в свои проекты импорт/экспорт из этого формата, то задача будет решена.

> Сегодня код одного дракон-редактора нельзя вставить в другой дракон-редактор, они несовместимы.

А насколько эта проблема актуальна? Я не думаю что один и тот же проект кто то будет делать в разных редакторах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 28 Май, 2023 09:33 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5843
Откуда: Москва
Григорий Пуляев писал(а):
то задача будет решена.

Нет, задача не будет решена. Потому что tonyk (специалист по ПЛК) не будет пользоваться ни тем, ни другим редактором.

Вывод
Язык ДРАКОН будет по-прежнему занимать ничтожно малую долю рынка. Задача значимого увеличения доли рынка не будет решена.

Подробнее см. viewtopic.php?f=211&t=7146


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 28 Май, 2023 11:14 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5843
Откуда: Москва
Comdiv писал(а):
Раз уж взято направление на синтаксис С, то там, где в этом нет нужды, не следует от него отклоняться (например, elseif вместо else if).

Cпасибо за указание на ошибку.
В пунктах 7, 8, 9, 10 ошибочный термин elseif будет удален и заменен на правильный термин
else if.

Направление на синтаксис Си выбрано потому, что разработчики программ для микроконтроллеров и ПЛК пользуются преимущественно языком Си.


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

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


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

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


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

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