Сергей Прохоренко писал(а):
Нет, структурный редактор не "делает только исходный текст для какого-то компилятора".
Совершенно верно.
Цитата:
Во-первых, для PureBuilder внутренним языком является новый диалект на основе Оберон-07, но не Оберон-07 как таковой. Язык Оберон-07 дополнен некоторыми конструкциями, подходящими для визуального программирования, повышающими надежность программ, производительность труда программиста или доступность технологий. При этом вектором развития языка не является его приближение к так называемым "промышленным" языкам ("мэйнстриму"), т.е. C, C++, Java, C#. У Валерия Лаптева также имелись планы "отклониться" от Оберона, в частности, попытаться реализовать несколько вариантов синтаксиса (а-ля Паскаль и а-ля Си), добавить какие-то конструкции в учебных целях, а его студент реализует вариант с русскими служебными словами.
Взяв за образец
а) русский язык в Кумире
б) работу инфо-21 по руссификации КП
пытаемся состряпать некий минимальный алгоритмический язык по образцу КП.
Редактор НЕ РАЗРЕШАЕТ изменять ключевые слова. Изменения разрешаются только в определенных местах оператора - где требуется вводить ручками.
Естественно, одним нажатием клавиши =- переключение всех ключевых слов на английский.
Цитата:
Во-вторых, структурный редактор (в моем представлении) не должен порождать программу в форме текста, так как всякие высокоуровневые надстройки типа слоев, подсистем, интерфейсов к базе данных и т.п. сложно выразить в виде текста, и это могло бы неоправданно усложнить структурный редактор или сузить его возможности. Да и особой необходимости в текстовом представлении нет.
В-третьих, структурный редактор сам и непосредственно формирует абстрактное синтаксическое дерево, то есть, заменяет собой front-end компилятора. Естественно добавить к нему и новый back-end. К тому же, Валерия Лаптева привлекает технология динамической кодогенерации, которая должна быть внедрена в структурный редактор.
Да. Работа выполняется с моделью.
Представлений пока три: а) текстовое - на экране; дерево вложенности - на экране; сохраняемый файл - xml (пока). Пацан пишет на додиезе - конкретно сейчас у них дисциплина NEYT-программирование. И данный редактор идет как курсовой проект в среде дотнет на додиезе.
Сегодня разговаривали об интерпретаторе модели - выполнение программ.
Дальше будем думать о генераторе некоего кода и конвертерах в сохраняемый текстовый вид.