Это переводчик схем Дракон-редактора Геннадия Тышова на любой текстовый язык программирования.
Вложение:
(Новое: уменьшен размер, обеспечена правильная распаковка)
Дополнения (помощь, варианты редактора для полей разного размера и исходный код перевода на прогязык) здесь:
http://files.mail.ru/I7WJ3OПройдёмся по верхам, постараюсь осветить главное:
_______________________________
I. НАСТРОЙКИ. Можно выбирать
шаблон оформления и
язык программирования из набора существующих. Их может быть сколько угодно.
1) Настройка шаблонов оформления:
а) создание
фигур-шаблонов, по которым узнаются фигуры прогсхемы для перевода.
В шаблоне участвуют тексты фигуры и метка. Допускаются подстановочные знаки. Можно указывать и ключевые слова для распознания фигуры, и места для выражений, которые копируются из прогсхемы в прогтекст как есть.
Например:
Вложение:
1.jpg [ 17.35 КБ | Просмотров: 15474 ]
Здесь (в метках) слова «строк» и «отсека от» - ключевые, остальное переводится как есть.
Ключевые слова могут быть и в тексте фигуры:
Вложение:
2.jpg [ 27.58 КБ | Просмотров: 15474 ]
Несколько примеров для языка Дракон-Базик
(т.е. если выбран язык программирования «Basic»):
Вложение:
3.jpg [ 80.23 КБ | Просмотров: 15474 ]
б) Общие настройки оформления. - Параметры «Действия»:
* через запятую,
* в каждой следующей строке -- тогда активизируется флажок «В начале строк имя приёмника»; если этот флажок включён, то
Вложение:
4.jpg [ 7.54 КБ | Просмотров: 15474 ]
(отдельно настраиваются отделители имени приёмника, по умолчанию – пробел и двоеточие).
- Параметры «Вставки» - то же, но могут быть ещё и в присоединяемой фигуре «Параметры».
- Текст фигуры ложного варианта. Вариант с одним из этих текстов переводится как ложный (Case Else или Default).
в) Пометки маршрутной части (русские подсказки, которые пишутся в прогфайл для облегчения понимания).
2) Настройка языков программирования:а) расширение прогфайла,
б) ключевые слова прогязыка,
в) определение перевода фигур-шаблонов на прогязык:- код для данной фигуры;
- объявления библиотек или подфункции, которые добавляются в специальный файл в проекте, если данная фигура хоть раз использована;
- разделители строк этажа (символы, которые пишутся в прогфайл при разрыве строки в тексте фигуры). В качестве разделителя строк можно указать повтор. Например, если у этой фигуры разделитель строк нижнего этажа – повтор, то
Вложение:
5.jpg [ 15 КБ | Просмотров: 15474 ]
3) Куда сохранять прогфайлы. Путь относительно исходного Дракон-проекта.
4) Команды после сборки. Здесь могут быть:
программа дополнительной обработки кода,
программа для сборки проекта на прогязыке,
командная строка для компилятора
и т.п.
Получается, что достаточно в Дракон-редакторе нажать одну клавишу —
и нарисованная программа запускается.
С настройками всё.
_____________________
II. Удобочитаемый прогтекст. Вложение:
6.jpg [ 29.89 КБ | Просмотров: 15474 ]
переводится так:
Код:
Sub Заголовок
'[Объявления уровня задачи:]
Объявления...
If not вопрос1 then
If not Нет1 - вопрос 3 then
Нет3
GoTo 2 'через 13 строк
End If 'Конец условия Нет1 - вопрос 3
Да3
GoTo 1 'через 6 строк
End If 'Конец условия вопрос1
If да1- вопрос2 then
да2
else 'Если не да1- вопрос2
нет2
1 'Сюда переходим, если не вопрос1
нет2 и да3
End If 'Конец условия да1- вопрос2
2 'Сюда переходим, если не Нет1 - вопрос 3
После в1
End Sub
'[Этот модуль создан 02.02.2010]
III. Поддержка схем любой сложности. Куда угодно можно пересаживать лианы и петли циклов - на другие шампуры, на другие адреса веток и т.д. Ветки переводятся как метки (плохие символы в названиях заменяются на похожие, которые прогязык распознаёт как допустимые).
IV. Широкое использование птичек и меток.Птичка равносильна знаку комментария. Птичка на фигуре:
«
Заголовок» - пропускаем всю схему,
«Вопрос»- пропускаем сам вопрос и всё в правом выходе,
«Выбор»- переходим на ложный вариант (если есть) и пишем только его содержимое,
«Вариант» - перескакиваем на следующий вариант,
«Начало цикла Для» - освобождаем все фигуры этого цикла от зацикленности,
«Конец цикла» - если на начале этого цикла птички не было, то всё равно пишем,
На другой фигуре - пропускаем эту фигуру.
Метка на фигуре:
«Заголовок» - переписываем метку как есть перед обозначением процедуры (напр, заголовок Сохранение с меткой Public переводится на vb как
Public Sub Сохранение (или
Public Function Сохранение, если схема с возвратом).
«Действие» и
«Вставка» - метка рассматривается как переменная, значение которой нужно изменить по возврату фигуры. Метка переписывается перед действием, а если в конце метки нет математического знака, то после неё добавляется знак =. Например,
Вложение:
7Новый_1.png [ 1.17 КБ | Просмотров: 15474 ]
На другой фигуре – обрабатывается, как установлено в настройках выбранного языка оформления.
V. Использование текстовых приложений. Первое и второе переписываются закомментированными, а в третьем приложении:
листа – объявления уровня листа (переписывается как есть в начале модуля),
схемы – объявления уровня схемы (переписывается как есть в начале схемы),
фигуры – программный код. Если оно есть, оно и переписывается, а текст фигуры – закомментирован. Иначе обрабатывается текст фигуры.
VI. Cистема обработки ошибок. Если:
схемы с одинаковыми заголовками,
одинаковые имена веток в одной схеме,
пустой адрес,
фигура не совпадает с шаблоном,
у Вставки есть фигура «Параметры», хотя задан режим «в каждой строке»,
Вставка содержит несколько строк, хотя задан режим «В Параметрах»,то выдаётся подробное сообщение ошибки, где указываются:
лист (если их несколько),
схема (если на листе несколько схем),
фигура (её метка и тексты обоих этажей)и
суть ошибки.VII. Автоматическая сборка проекта. Не нужна фигура «Сборка текста» и «Проект». Считается, что проект – это папка с Дракон-схемами, в которой находится редактируемая схема. Поэтому программа берёт заголовок окна Дракон-редактора – там полный путь текущей схемы – и переводит эту схему и все остальные DRT-файлы в этой папке. Затем (если заданы настройки и есть программа сборки) автоматически создаёт проект на код-языке и запускает созданную программу.
Можно также перенести на значок программы (указать в качестве параметра) файл (тогда переводится только он) или папку (переведутся все файлы в ней).
VIII. Система настроек для людей. Настройки производятся через специальную программу – «Настройки.exe»:
Вложение:
8Настройки.jpg [ 37.89 КБ | Просмотров: 15474 ]
Сами настройки хранятся в разных файлах. В основном это Дракон-схемы и внутренние файлы настроек, которыми управляет эта же настрой-программа, создавая «дочерние окна»:
Вложение:
9Настройки яз оф.jpg [ 39.65 КБ | Просмотров: 15474 ]
IX. Большая справка в Дракон-схемах. Х. Вдобавок ко всему, публикую
исходный код (vb 6).
_____________________________________________
Да, чуть не забыл. Моя программа предназначена для перевода на абсолютно любой прогязык, НО, к сожалению,
пока есть шаблон только для языка Visual Basic. Но это не страшно: ведь шаблоны прогязыка создавать очень легко. Дело в том, что я совершенно не знаю других прогязыков, а специально изучать их, думаю, нерационально, да и ошибок наваляю, не зная специфики. На первых порах, чтобы пользоваться программой «Дракон - куда хошь», пусть каждый напишет шаблон для своего прогязыка. А заодно и опубликует. Как только появятся шаблоны для Дельфина, Обертона, С и т.д, - программа станет полноценной. Правильно?
Да и шаблон оформления можно значительно расширить. Ведь все настройки представляют собой файлы, расфасованные по папкам, и публиковать отдельные пункты настроек не составит никакого труда.
Спасибо за внимание!