DRAKON.SU https://forum.drakon.su/ |
|
DRAKON от 08.11.2008 Интегрированная среда https://forum.drakon.su/viewtopic.php?f=144&t=1244 |
Страница 1 из 6 |
Автор: | ==== [ Суббота, 08 Ноябрь, 2008 16:19 ] |
Заголовок сообщения: | DRAKON от 08.11.2008 Интегрированная среда |
Предоставляю Вашему вниманию DRAKON - интегрированную среду языка Дракон, результат развития DRT - Дракон-редактора, транслятора: ссылка DRAKON.rar для скачивания с форума Вложение: OProgramme.txt Вложение: DRAKON.rar Отличие от DRT редакции 11.10.2008: 1. изменено название программы в соответствии с функциональностью; 2. изменен формат файла ...drt . Обеспечено чтение старого формата и сохранение в новом; 3. для редактирования введены операции с графическим буфером; 4. устранены выявленные ошибки, внесены незначительные изменения. 5. реализованы или учтены все замечания и предложения на форуме. Спасибо за внимание к моему скромному труду. |
Автор: | dvuugl [ Понедельник, 10 Ноябрь, 2008 16:59 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
![]() Программа к сожалению осталась избыточной в том что не требуется (частные языки программирования, добавляемые программой комментарии, заточки на какие-то специфические применения) и недостаточной в том что нужнее всего: сборка ЛЮБОГО ПРОСТОГО ТЕКСТА В ФАЙЛ по правилам юзера (без необходивости чистить текст от комментариев вставляемых программой) и последующая передача его на обработку другой программе (компилятору и проч.). Вся это- ОДНОЙ ГОРЯЧЕЙ КЛАВИШЕЙ. Юзерское ПРАВИЛО СБОРКИ- это может быть например невидимая в обычном режиме ломаная линия, единая цепь от иконе к иконе. |
Автор: | Владимир Паронджанов [ Четверг, 20 Ноябрь, 2008 13:01 ] | ||
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда | ||
dvuugl писал(а): Программа к сожалению осталась ... недостаточной в том что нужнее всего: сборка ЛЮБОГО ПРОСТОГО ТЕКСТА В ФАЙЛ по правилам юзера (без необходивости чистить текст от комментариев вставляемых программой) и последующая передача его на обработку другой программе (компилятору и проч.)... Мне кажется, dvuugl прав. Выход дракон-редактора должен быть красивым, математически строгим и удовлетворять тем принципам, по которым обычно пишут процедурные программы. Выходной файл дракон-редактора должен быть стандартным и удобным для подачи на вход компилятора или другой обрабатывающей программе. Причем стандарт для выходного файла надо придумать (возможно, путем коллективного обсуждения). Я не берусь предлагать такой стандарт. Могу лишь в качестве аналога во вложении привести пример (точнее, фрагмент) ишного файла системы ГРАФИТ-ФЛОКС. Определение ишного файла я разъяснил здесь viewtopic.php?p=17449#p17449 Там же я сделал следующие выводы: Вывод 1. Под термином «язык Графит» спрятаны два разных (изоморфных) языка: • графический язык блок-схем; • текстовый язык, математически строго определяющий синтаксис и семантику ишных файлов, которые подаются на вход транслятора. Вывод 2. В системе Графит-Флокс используются 3 языка: • графический язык блок-схем; • текстовый язык, математически строго определяющий синтаксис и семантику ишных файлов, которые подаются на вход транслятора. • язык Флокс.
|
Автор: | Valery Solovey [ Четверг, 20 Ноябрь, 2008 13:11 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Скорее всего, правильнее будет изначально хранить схему в своём внутреннем формате, поскольку исходники не эквивалентны схеме. То есть, схему сохранить как исходник можно, но обратное проблематично. А для сохранения в пользовательском формате можно воспользоваться функцией "Экспортировать..." или "Сохранить как...". |
Автор: | ==== [ Пятница, 21 Ноябрь, 2008 00:02 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
dvuugl писал(а): 1. Программа к сожалению осталась избыточной в том что не требуется Интегрированная среда DRAKON рассчитана на широкое применение.2. частные языки программирования, 3. добавляемые программой комментарии, 4. заточки на какие-то специфические применения) 5. и недостаточной в том что нужнее всего: сборка ЛЮБОГО ПРОСТОГО ТЕКСТА В ФАЙЛ ... 1. Что именно избыточно, от чего отказаться без ущерба для какой-либо категории пользователей? 2. Языки самые распространенные и соответствуют сайту, знакомы участникам форума. 3. О включении комментариев смотрите ранее здесь пункт 1. 4. Что именно специфично, от чего отказаться? 5. После Вашего сообщения, реализуется сборка текстов из икон и примечаний в произвольном порядке без комментариев. Возможно всему, что сейчас для Вас лишнее, Вы найдете применение после полного освоения интегрированной среды. Спасибо за сообщение, пишите конкретнее. Владимир Паронджанов писал(а): Выход дракон-редактора должен быть красивым, математически строгим и удовлетворять тем принципам, по которым обычно пишут процедурные программы. Задача у интегрированной среды шире, чем у редактора. Она предоставляет пользователю рабочую среду для различных видов деятельности.Выходной файл дракон-редактора должен быть стандартным и удобным для подачи на вход компилятора или другой обрабатывающей программе. Причем стандарт для выходного файла надо придумать (возможно, путем коллективного обсуждения). При разработке, в части дракон-редактора, максимально следовал книгам "Как улучшить работу ума" и "Занимательная информатика", т.е. красота и математическая строгость сохранены. Принципы для процедурных программ на выбранном программистом языке программирования - это полностью на совести программиста. Реализованная модель формирования программного кода близка к автоматной или является ею, т.е. состоит из блоков с передачей управления между ними. Используются графический и текстовый форматы для внешних файлов, тексты можно передать через системный буфер, здесь стандартизация не требуется. Файл .drt предназначен для внутреннего хранения информации дракон-листа, структура его и алгоритм формирования доступны для всех на форуме, что позволяет создавать программы обработки в любых целях. Вопрос о стандартизации файла и обмена с другими дракон системами ставить рано т.к. других доступных дракон систем нет. В интегрированной среде DRAKON реализован Ваш призыв на форуму от 24 февраля 2008 здесь и ранее здесь: Код: 6.Моя книга — это обращение к творческим умам, призыв к энтузиастам. Ребята! Если вам нравится идея Дракона, создайте на его основе хороший язык. 7. Мы в ракетной технике на основе Дракона сделали такой язык, какой нужен нам. Но вам он не годится. Так что создайте другой, удобный для вас. 8.Al_Mel! Теперь я отвечу на Ваш вопрос. Язык программирования Дракон сегодня изучить нельзя. Потому что для всех случаев, кроме ракетной техники, он не существует в природе. Сначала его нужно создать. Владимир Паронджанов писал(а): Вывод 1. Под термином «язык Графит» спрятаны два разных (изоморфных) языка: Вывод 2. В системе Графит-Флокс используются 3 языка: Интегрированная среда DRAKON не повторяет CASE систему Графит-Флокс для ракетных дел. Термин "Графит" использован для наименования технологии применения, сочетающей графику и текст. Иконы графического языка ДРАКОН дополнены идентификатором и 3-мя примечаниями. Написание этих примечаний не регламентировано. Продолжение работы над интегрированной средой DRAKON зависть от заинтересованности в ней. Незнаю, насколько мой ответ соответствует Вашим ожиданиям. Спасибо за внимание. |
Автор: | dvuugl [ Воскресенье, 23 Ноябрь, 2008 03:14 ] | |||
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда | |||
Раз уж не принимается мнение о ненужности гибридизации дракона с конкретными языками, то дабавим к ко всему потенциально бесконечному множеству живых, мёртвых и "носфератум" ![]() ![]() Это ускорило бы и упростило разработку программ и программок на самых разных языках и для самых разных любителей, студентов и проч., коих великое множество. То есть имеет место и мотив ПОПУЛЯРИЗАЦИИ через расширение круга потенциальных юзеров, через обход экзотичности таких вещей как "компонентный паскаль", специфичности 1С или неприемлемости "делфи" (для системных программистов и железячников например). Повторюсь- на каждый языковой чих не наздравствуешься. Принципиально. Никогда. А значит не обойтись без "нулевого" языка - простого текста. Пусть каждая "икона" имеет: 1) уникальный идентификатор ID целого типа, присваиваемый ей программой и 2) место в очереди № ДРОБНОГО типа (real, float, etc.), в соответствии с которым её текстовое содержимое льётся в текстовый файл. Этот номер (место) произвольно присваивает "иконе" пользователь. В результате имеем массив пар (ID, №). № должен быть дробным числом чтобы всегда можно было вклинить между "иконами" уже имеющими порядок в очереди ещё одну, например между №= 5 и №= 6 вставить №= 5.1, 5.2 ... а между ними 5.11 т.д. до "бесконечности". В меню "программировать на языке" добавить язык "произвольный" или "просто текст". При выборе этой опции программа НИКАКИХ своих добавок и примечаний в юзерский текст не вносит, НИ БАЙТА. Или использовать для этого уже существующую опцию "Без программирования", добавив и в этом режиме третий квадратик "программный текст иконы" как для других языков, но это будет "нулевой язык".
|
Автор: | Alexey_Donskoy [ Воскресенье, 23 Ноябрь, 2008 11:42 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Зачем же вещественный номер? Практика таких языков, как Диамс, Фокал и т.п. показывает, что очень скоро такие номера становятся иррационально... нечитаемыми ![]() Вообще ручное указание порядка - неверная идея, имхо... У нас уже есть порядок, заданный алгоритмом... И он автоматически должен ложиться на любой императивный язык. В каких-то специфических случаях (вроде Форта) всегда можно написать автоматический конвертер... |
Автор: | ==== [ Воскресенье, 23 Ноябрь, 2008 13:20 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
dvuugl писал(а): Раз уж не принимается мнение о ненужности гибридизации дракона с конкретными языками, то дабавим к ко всему потенциально бесконечному множеству живых, мёртвых и "носфератум" Понял, с Вами согласен. Отказ от выбор конкретных языков программирования позволит:![]() ![]() Расширить область применения интегрированной среды, С программиста снимаются ограничения накладываемые реализацией формирования программного кода близкого к автоматной модели, Программисту легче освоить программирование в интегрированной среде, т.к. полностью используется наработанный традиционный опыт. Дальнейшее сопровождение программного кода возможно без интегрированной среды. Alexey_Donskoy писал(а): Зачем же вещественный номер? Практика таких языков, как Диамс, Фокал и т.п. показывает, что очень скоро такие номера становятся иррационально... нечитаемыми ![]() Вообще ручное указание порядка - неверная идея, имхо... У нас уже есть порядок, заданный алгоритмом... И он автоматически должен ложиться на любой императивный язык. Предположительно: Порядок определяется одним имеющимся целочисленным номером, с корректировкой остальных при последовательном обходе части икон мышкой, сохранением порядка. Алгоритмически задавать номер нет возможности, т.к. ряд программных операторов не имеет прямых аналогов в ДРАКОНЕ, являются составными с завершающей частью, со вложением других операторов. Таким образом: формирование маршрутной части программного кода не производится, а фиксируется в номерах икон и пишется программистом вместе с командной частью. Сообщений от кого-либо о использовании формирования программного код не было. Если есть возражения и уточнения , то пишите. Новую версия подготовим к новому году. |
Автор: | Alexey_Donskoy [ Воскресенье, 23 Ноябрь, 2008 14:12 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Раз уж Вы всё равно занимаетесь редактором, то сделайте хотя бы перемещение схемы по листу... и выделение части схемы "резиновой линией" (прямоугольником)... и печать (а равно и сохранение в метафайл)... и уберите кучу .tmp-файлов... ну, в общем, эргономику работы с редактором проработать... а то тяжело уж очень... |
Автор: | ==== [ Воскресенье, 23 Ноябрь, 2008 15:26 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Alexey_Donskoy писал(а): 1. сделайте хотя бы перемещение схемы по листу... 2. выделение части схемы "резиновой линией" (прямоугольником)... 3. печать (а равно и сохранение в метафайл)... 4. уберите кучу .tmp-файлов... 1. Выделите одну схему полностью и перемещайте клавишами со стрелками, у клавиш есть автоповтор нажатия. 2. В последней версии. Для шампура есть выделение фрагмента между двумя точками ввода и выполнение операций вырезать, копировать, вставить. Есть операция переставить соседние ветки в силуэте. 3. Был разговор на эту тему. Как сделать не знаю, для чего это нужно не знаю, ведь и так использован формат графического файла с большим сжатием. Для печати рекомендуется использовать внешний графический редактор. 4. Они нужны для отката назад при корректировке, при работе с несколькими листами. Установите свойство папки "Не показывать скрытые файлы и папки". |
Автор: | dvuugl [ Воскресенье, 23 Ноябрь, 2008 15:33 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Alexey_Donskoy писал(а): Зачем же вещественный номер? Практика таких языков, как Диамс, Фокал и т.п. показывает, что очень скоро такие номера становятся иррационально... нечитаемыми ![]() Очень скоро- на сколько скоро? Через 999 вставок? Достаточно. И читает их все не юзер, а программа. Пользователь читает ТОЛЬКО ДВА - ТРИ СОСЕДНИХ числа. Вещественый ясно зачем: между целыми 3 и 4 не вставишь целое >3 но <4. А делать это приходится, реально проектирование обычно итерационно . Программа же, вообще говоря, не может знать нужную юзеру последовательность сборки кроме простейших линейных случаев конечно или когда язык программирования строго предопределён. Я бы сделал так как предложил если бы взялся писать для теперешнего файла .drt свой "довесок". Автору виднее, возможно ему проще в качестве порядка зафиксировать последовательность кликов мышью по иконам или создать некую теневую ломаную траекторию. Или ещё как. Важно чтобы перед каждым экспортом не приходилось заново всё "обкликивать", а только внести текущие изменения, чтобы порядок сборки запоминался в файле drt. |
Автор: | TAU [ Понедельник, 24 Ноябрь, 2008 03:22 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Геннадий Тышов писал(а): 3. Был разговор на эту тему. Как сделать не знаю, для чего это нужно не знаю, ведь и так использован формат графического файла с большим сжатием. Для печати рекомендуется использовать внешний графический редактор Можно поподробнее? Что, формат drt понимается каким-то распространенным графическим редактором? Каким? |
Автор: | adva [ Понедельник, 24 Ноябрь, 2008 07:43 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Спасибо большое авторам редактора и дракон-языка. Лично мне реально легче воспринимать сложную информацию с помощью дракон-схем. Редактором попробовал пользоваться недавно, достоточно удобен. Но раз уж планируете дорабатывать, то несколько вопросов / пожеланий: 1. Геннадий Тышов писал(а): dvuugl писал(а): 5. После Вашего сообщения, реализуется сборка текстов из икон и примечаний в произвольном порядке без комментариев. Спасибо за внимание. Это уже реализовано, или только к новому году появиться? Если реализовано, то как хотя бы без комментариев сделать? 2. Не знаю, насколько важно устанавливать порядок у каждой иконы (в программировании не силен), но хотя бы у отдельных схем думаю необходимо (для определения порядка вывода процедур / функций 3. Не смог разобраться, как изменять размер отдельной иконы (а то бывает наберешь длинный текст в одну строку, пока икон мало не придаешь этому значения, а как схема разрастется, так текст сделаешь в несколько строк, но ширина иконы при этом не меняется) 4. Не нашел (или плохо искал) иконы с таймером. Т.к. хотелось бы использовать не только для программирования |
Автор: | Alexey_Donskoy [ Понедельник, 24 Ноябрь, 2008 09:33 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Геннадий Тышов писал(а): Alexey_Donskoy писал(а): 3. печать (а равно и сохранение в метафайл)... 3. Был разговор на эту тему. Как сделать не знаю, для чего это нужно не знаю, ведь и так использован формат графического файла с большим сжатием. Для печати рекомендуется использовать внешний графический редактор. Код: //Всё это может происходить на форме для Print Preview, где имеется PrintImage:TImage ... var mc:TMetafileCanvas; m:TMetafile; ScaleX,ScaleY:real; ... m:=TMetafile.Create; m.Enhanced:=true; m.Width:=Printer.PageWidth; m.Height:=Printer.PageHeight; mc:=TMetaFileCanvas.Create(m,0); mc.Lock; mc.FillRect(Rect(0,0,Printer.PageWidth,Printer.PageHeight)); PageWidth:=Printer.PageWidth-(MarginLeft+MarginRight)*Printer.PageWidth div PrintImage.Width; PageHeight:=Printer.PageHeight-(MarginTop+MarginBottom)*Printer.PageHeight div PrintImage.Height; scalex:=PageWidth/SizeX; ScaleY:=PageHeight/SizeY; mc.Font.Assign(SourceFont); mc.Font.Height:=trunc(11*ScaleX); //удобно масштаб от фонта вычислять //Рисовать надо на произвольном холсте с задаваемым масштабом, в данном случае на созданном холсте метафайла FillImage(mc,PageWidth,SizeX,ScaleX,...); //Теперь метафайл можно использовать как угодно, например, отобразить на форме для Print Preview: mc.UnLock; mc.Free; PrintImage.Picture.Metafile.Assign(m); m.Free; ... //а потом можно делать опять что угодно, например, напечатать: Printer.BeginDoc; Printer.Canvas.Draw(0,0,PrintImage.Picture.Metafile); Printer.EndDoc; ... //или скопировать в буфер обмена: Clipboard.Assign(PrintImage.Picture.Metafile); ... //или сохранить в файле: if SaveDialog1.Execute then PrintImage.Picture.Metafile.SaveToFile(SaveDialog1.FileName); Геннадий Тышов писал(а): Alexey_Donskoy писал(а): 4. уберите кучу .tmp-файлов... 4. Они нужны для отката назад при корректировке, при работе с несколькими листами. Установите свойство папки "Не показывать скрытые файлы и папки".![]() |
Автор: | Евгений Темиргалеев [ Понедельник, 24 Ноябрь, 2008 09:45 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Alexey_Donskoy писал(а): Ёлы-палы, а в один файл эти копии засунуть нельзя, что-ли? Без этого не работает?Alexey_Donskoy писал(а): Я понимаю, что так проще, но уж если делать, так делать! Проще всего советовать как сделать лучше...
|
Автор: | Alexey_Donskoy [ Понедельник, 24 Ноябрь, 2008 09:52 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Увы, советовать не проще... Проще сделать самому... Потому что советы не всеми адекватно воспринимаются... А по поводу файлов - действительно, проблемы: программа же не работает в многооконном режиме. Ладно, пусть так, тогда каковы действия нормального человека? Естественно, запустить ещё одну копию экзешника... А не тут-то было! Они начинают обращаться к одному и тому же .tmp-файлу! |
Автор: | ==== [ Понедельник, 24 Ноябрь, 2008 22:42 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
TAU писал(а): Можно поподробнее? Что, формат drt понимается каким-то распространенным графическим редактором? Каким? Говорилось о выводе листа в графический файл .png. Файл ...png прочитайте редактором Paint. Можете редактировать: убрать упоминание Тышова, добавить логотип фирмы, красивый заголовок, угловой штамп для подписей. Подготовить для печати, т.е. установить параметры страницы: формат бумаги, размер полей = 0, выбрать ориентацию, раскладку картинки на N x M страницах, центрировать, подогнать или масштабировать. Предварительно просмотреть. Напечатать. Обрезать поля кромки (подумайте часть или все), склеить скотчем или клеем. Повесить на стену, провести презентацию. adva писал(а): 1. ... реализуется сборка текстов из икон и примечаний в произвольном порядке без комментариев. 1. Сейчас нету, будем делать.Это уже реализовано, или ... появиться? 3. Не смог разобраться, как изменять размер отдельной иконы .... 4. Не нашел (или плохо искал) иконы с таймером. 2. Ширина иконы устанавливается по длине строки текста в окне текстов, т.е. надо длинные строки разделять на несколько строк. Ширину иконы можно изменить: выберите икону, в главном меню пунктами "<-]", "]->" установите желаемую ширину иконы. 4. Установите галочку выбрав в меню пункт "Правка / Разрешить вывод операторов реального времени". Alexey_Donskoy писал(а): А метафайл ..... Делается примерно так (в Дельфи): Спасибо, обязательно сделаем. Когда?, незнаю.Alexey_Donskoy писал(а): А уж совет "установить свойство папки" - это вообще несерьёзно ![]() Alexey_Donskoy писал(а): А по поводу файлов - действительно, проблемы: программа же не работает в многооконном режиме. Ладно, пусть так, тогда каковы действия нормального человека? Естественно, запустить ещё одну копию экзешника... А не тут-то было! Они начинают обращаться к одному и тому же .tmp-файлу! Вполне серьезно. Программа может работать с несколькими листами поочереди: откройте необходимое количество листов (файлов), перемещайтесь между ними кнопками "Ранее", "Позже", изменяйте, перемещайте из середины "Наверх", сохраняйте. Если вы работаете над несколькими темами: создайте для каждой темы папку, скопируйте в каждую программу (она небольшая, не требует регистрации и установки, не использует реестр, не использует системной папки временных файлов), выполните работу по каждой теме, сохраните результат вне этих папок, удалите папки. Программу можно размещать в папках на сменном носителе (флэшке), изменение буквы устройства не помешает работе. Программа развивается эволюционно, на развитее можете влиять. Все сразу сделать невозможно, делается с края, сохраняется работоспособность. Полагаю, для участников форума и сейчас может найти практическое применение. Вложение: Plan.png
|
Автор: | Alexey_Donskoy [ Вторник, 25 Ноябрь, 2008 14:51 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
А как сделать выход (конец) из середины схемы? Может, оно, конечно, и не структурно ![]() |
Автор: | Евгений Темиргалеев [ Вторник, 25 Ноябрь, 2008 15:17 ] |
Заголовок сообщения: | Re: выход из середины схемы |
Вложение: .png [ 6.17 КБ | Просмотров: 24885 ] |
Автор: | Alexey_Donskoy [ Вторник, 25 Ноябрь, 2008 15:57 ] |
Заголовок сообщения: | Re: DRAKON от 08.11.2008 Интегрированная среда |
Вообще-то есть принципиальная разница между рестартом и продолжением алгоритмического движения по силуэту... Конечно, обобщённо можно было бы изобразить алгоритм работы контроллера примерно так: Вложение: .png [ 7.02 КБ | Просмотров: 24879 ] однако это: - неверно (конца в принципе не существует, но редактор не даёт его удалить); - неудобно (поскольку всё внутреннее содержание будет раскрываться на других листах, отдельными примитивами... и из них потребуется выход на глобальный уровень... то есть аналог механизма исключений, которого нет в Драконе)... |
Страница 1 из 6 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |