OberonCore https://forum.oberoncore.ru/ |
|
Семантический редактор https://forum.oberoncore.ru/viewtopic.php?f=93&t=1542 |
Страница 14 из 34 |
Автор: | Валерий Лаптев [ Пятница, 01 Июль, 2011 21:51 ] |
Заголовок сообщения: | Re: Семантический редактор |
Сергей Прохоренко писал(а): Как насчет того, чтобы включить эту работу в Google Summer of Code ? Пока нет. Цитата: Существуют альтернативы, которые соответствуют сущности семантического редактора: 1) Например, в MS PowerPoint в главном меню есть команда Правка > Дублировать. Слайд целиком дублируется одним щелчком мыши, после чего дубль можно переделать в новый по содержанию слайд. 2) Кусок программы, который хочется скопировать в другое место, можно выделить и поручить семантическому редактору преобразовать в процедуру. Вызов процедуры можно вставить в нужное место программы. Второе в точности соответствует одному из приемов рефакторинга. Мы в эту сторону и посмотрели: пацан 3-го курса будет в течение всей практики внимательно изучать рефакторинг и операции примеривать на редактор. По моим ощущениям - это самое оно. Код: О-о-о!!! Облачные технологии :) Не... Все гораздо проще. Просто пацан уже реализовал Silverlite-проект и теперь редактор выглядит совершенно одинаково и на столе и в браузере. Более того, проект существенно упростился по объему. Таким образом, школьнику достаточно будет скачать Silverlite с микрософта (бесплатный) и он сможет программить в нашем редакторе прямо из дома. А я тем временем соображаю о переводе в Компонентный паскаль и С++. Посмотрим, как получится. |
Автор: | Владислав Жаринов [ Суббота, 27 Август, 2011 11:13 ] |
Заголовок сообщения: | Копипаст и структурное редактирование |
Обсуждение вопроса начато одной из тем статьи Б. Мейера; изначально высказался в этом сообщении. Сергей Прохоренко в viewtopic.php?f=72&p=65064#p65002 писал(а): Info21 писал(а): До абсурда доводить не надо: как же это без копирования Это вовсе не абсурд. Структурный редактор обрабатывает не исходный код в текстовом виде, а стркутурированный документ. Соответственно, ...Хотя редактор ведь только для программистов... а им внутри себя, м.б. будет в большинстве несложно приноровиться обрабатывать "целые элементы"... Главное - именно не запрещать копирование в принципе. |
Автор: | Владислав Жаринов [ Суббота, 27 Август, 2011 11:15 ] |
Заголовок сообщения: | Копипаст в документах семантического редактора |
Валерий Лаптев в viewtopic.php?p=65064#p65064 писал(а): ... Получается, поддерживается деление содержания документа, примерно как в этой классификации?Пока получается так: документ, открываемый в редакторе, четко делится на два вида содержания: обычный для текстового редактора (хотя бы как в ББ), и модуль с программой. Валерий Лаптев писал(а): ... А также, наверное, можно выбирать имя для подстановки в очередное место идентификатора и из списка существующих (допустимых синтаксически для данного места)? Интересно, а что вы думаете о возможности так сделать и для выражений (т.е. завести их "словарь")?В части, относящейся к текстовому представлению разрешены все обычные операции текстового редактора, в том числе и копи-паст. В модуле копи-паст запрещен - его просто нет (пока). Исследуем операции рефакторинга на предмет использования в программной части. В этой части посимвольный ввод разрешен фактически только при вводе имен и выражений. Да, "модуль" понимается в компонентном смысле?[/quote] |
Автор: | Валерий Лаптев [ Суббота, 27 Август, 2011 11:59 ] |
Заголовок сообщения: | Re: Семантический редактор |
Естественно, выпадающие списки - рулят во всех местах... Модуль - именно в компонентном смысле Компонентного паскаля. То есть они загружаются динамически и связываются в процессе загрузки (хотя многомодульность только сейчас начинаем писать). Однако отличие в том, что мы использовали секцию инициализации в стиле для написания программы. Как у Инфо-21 в школьной сборке. Если прога одномодульная, то можно прогу прямо там и писать. Либо написать процедуру, а в инициализации поставить просто вызов этой процедуры. Модуль при загрузке сразу исполняет эту секцию, поэтому нам пока не потребовался коммандер. Вот пример: Код: модуль НовыйМодуль начало вывести "Привет, Мир!"; конец НовыйМодуль. Вообще с языком мы поступили так. Изначально делали две лексики: русскую и английскую. Все ключевые слова. В редакторе просто есть кнопочка Русский-Английский. И все ключевые слова меняются. Код: module НовыйМодуль start output "Привет, Мир!"; end НовыйМодуль. Более того, реализация позволяет нам переключаться даже между стилем синтаксиса: паскалевский - сишный. Это еще не реализовано, но все пути четко видны. Просто не первоочередная задача. Пока у нас более паскалевский синтаксис, достаточно многословный. Но поскольку ничего вручную не набирается, а вставляется целиком редактором, то проблем и неприятия многословность не вызывает. Напротив, текст становится более читабельным. Код: модуль Factorial начало переменная целое i := 1; переменная целое current := 1; константа целое N = 10; пока i < N повторять присвоить current := current * i; присвоить i := i + 1; вывести current; вывести '\n'; конец цикла; конец Factorial. А вот как пока это выглядит в сохраняемом виде: Цитата: <?xml version="1.0" encoding="utf-16"?> <Module NameWord="Factorial"> <Beginning> <VariableWithInit NameWord="i" Type="целое" Expression="Operand$1;"></VariableWithInit> <VariableWithInit NameWord="current" Type="целое" Expression="Operand$1;"></VariableWithInit> <Constant NameWord="N" Type="целое" Expression="Operand$10;"></Constant> <NullOperator KeyWord="
"></NullOperator> <While Expression="Operand$i;Space$ ;BinaryOperation$<;Space$ ;Operand$N;"> <Assign RightValue="Operand$current;Space$ ;BinaryOperation$*;Space$ ;Operand$i;" LeftValue="Operand$current;"></Assign> <Assign RightValue="Operand$i;Space$ ;BinaryOperation$+;Space$ ;Operand$1;" LeftValue="Operand$i;"></Assign> <Output Expression="Operand$current;"></Output> <Output Expression="Operand$'\n';"></Output> </While> </Beginning> </Module> Естественно, данный файл можно относительно легко конвертировать в текст на некоем языке программирования и скомпилировать его соответствующим компилятором - это если нужен отдельный exe-модуль. Пока мы этим не занимаемся. Есть более важные и интересные задачи. Далее - оператор вставляется при наборе снипета - и тут тоже список выпадает, можно выбрать. Во вставленном операторе можно вводить символы только в строго ограниченных местах. Каждый оператор имеет финальный end - как в Компонентном паскале. Со вводом-выводом пока поступили просто - в языке два простейших оператора: ввести, вывести. Потом будем думать об отдельном модуле уже на нашем модуле. Самое интересное. Мы ввели тег "текст". Теперь в том же окне модуля мы можем (вне программного модуля) работать как в обычном редакторе. Таким образом, мы получаем возможность подготовить текст справки непосредственно в нашем редакторе. И соответственно готовить задания и вообще обучающие материалы вместе с примерами программ без привлечения дополнительных средств. Тут еще много технической работы, но принципиально уже все решаемо. Тем более, что среди компонентов SilverLight заготовка редактора уже есть... Интересные вещи выяснились при реализации интерпретатора. Наш модуль - это список узлов-операторов, каждый из которых может иметь вложенный список узлов. В это семантическое дерево текст вставляется просто как неинтерпретируемый узел... Когда пацан писал реализацию копирования, встал законный вопрос: поверхностное или глубокое копирование объектов. Выяснилось, что отличия (в его модели памяти) - только в одной процедуре. Теперь у нас есть в редакторе кнопочка: копируемый-ссылочный. В первом случае для всех объектов языка (и для массивов тоже) копирование - глубокой. Во втором случае - идеология Ява-Додиез: элементарные типы данных копируются, а для объектов - копируются ссылки. Пока все. |
Автор: | Владислав Жаринов [ Суббота, 27 Август, 2011 14:31 ] |
Заголовок сообщения: | Re: Семантический редактор |
Валерий Лаптев писал(а): Естественно, выпадающие списки - рулят во всех местах... По смыслу похоже на это:Модуль - именно в компонентном смысле Компонентного паскаля. То есть они загружаются динамически и связываются в процессе загрузки (хотя многомодульность только сейчас начинаем писать). Однако отличие в том, что мы использовали секцию инициализации в стиле для написания программы. Драконограф в viewtopic.php?f=62&t=2527#p60855 писал(а): ... Т.е. весь документ понимается как компонентный модуль (возможно, как система модулей)?Итак, язык схематизации - главный в документе и первый подлежащий реализации в РДП-редакторе (в полном соответствии с генеральной классификацией данных ). Тем более, что ЛС-язык определяется как исполнимый и логически соотносим с компонентным прогязыком. Единственная разница - что нужно определить модули в рамках графит-модели (для ЛС-языка весь несоставной документ можно считать одномодульной моделью, а схемы разделов - её процедурами, в составном входящие документы м.б. модулями; но явно это не отражается - разве что в оглавлении) и решить вопрос с явным описанием исполнителя (актив-знания). ... Валерий Лаптев писал(а): ... Ого! Опять же совпадает с моим пониманием. Собственно, и у Вас может следовать из вышесказанного о документе-модуле.Интересные вещи выяснились при реализации интерпретатора. Наш модуль - это список узлов-операторов, каждый из которых может иметь вложенный список узлов. В это семантическое дерево текст вставляется просто как неинтерпретируемый узел... ... Интересно будет решение проблем ведения исправлений и вообще совместной работы над документами. Ну и разное содержание в документе отражать - хотя бы в духе такого представления. Чтобы был "электронный проект", как говорил Д. Дагаев в этой теме... |
Автор: | Владислав Жаринов [ Суббота, 27 Август, 2011 16:00 ] |
Заголовок сообщения: | Интерфейс структурного редактирования |
Ещё вопрос: как Вам возможности, описанные в этом сообщении? В структурном редакторе предполагается что-то подобное? |
Автор: | Владислав Жаринов [ Суббота, 27 Август, 2011 16:08 ] |
Заголовок сообщения: | Язык структурного редактирования |
Как можно понять из этого сообщения, в Вашем редакторе как язык программирования не обязательно реализуется именно КП? Будет разрабатываться оригинальное определение языка на его основе? или что-то новое? |
Автор: | Валерий Лаптев [ Суббота, 27 Август, 2011 16:27 ] |
Заголовок сообщения: | Re: Интерфейс структурного редактирования |
Драконограф писал(а): Ещё вопрос: как Вам возможности, описанные в этом сообщении? В структурном редакторе предполагается что-то подобное? Спасибо за ссылочку. Подскажу о выделении лексем. Но на первый взгляд нам нет необходимости отслеживать элементы конструкции. Поскольку редактор вставляет весь оператор целиком. Операторы у нас - исключительно структурные. То есть вход сверху, выход - снизу. Для каждого оператора сейчас разрабатывается контекст (для многих уже сделано) - что РАЗРЕШЕНО в нем писать, и в каком месте. Таким образом, учень просто НЕ СМОЖЕТ написать неправильный цикл... И не будет отвлекаться на мелкие синтаксические-лексические ошибки. А будет мыслить и исполнять блоками - конструкциями. Вот, например, пишет он некую функцию. И написал имя, которого нет. Либо ошибся, либо просто сначала пишет алгоритм, а объявления потом. Редактор тут же, не давая ему продолжать пишет, что необъявленное имя и предлагает объявить. Или исправить. Тут целое поле для исследований: какие операции в какой момент выполнять, что запрещать, что непременно требовать с учня в данной точке и т.п. Кстати, простейший копи-паст у нас все же имеется в наличии... |
Автор: | Валерий Лаптев [ Суббота, 27 Август, 2011 16:34 ] | ||
Заголовок сообщения: | Re: Язык структурного редактирования | ||
Драконограф писал(а): Как можно понять из этого сообщения, в Вашем редакторе как язык программирования не обязательно реализуется именно КП? Будет разрабатываться оригинальное определение языка на его основе? или что-то новое? Многое из КП+ББ. Модульность - однозначно! Динамическая загрузка и связывание модулей - обязательно. Саморазвивающаяся среда, как ББ. Принцип - все неявное запрещено. Как у Вирта. Делаем свой, но похожий язык, чтобы в явном виде включить в язык цикл Дейкстры, и его if (из Дисциплины программирования). Вот скриншот сегодняшнего дня.
|
Автор: | Евгений Темиргалеев [ Суббота, 27 Август, 2011 16:42 ] |
Заголовок сообщения: | Re: Язык структурного редактирования |
Валерий Лаптев писал(а): Многое из КП+ББ. Если не секрет:Модульность - однозначно! Динамическая загрузка и связывание модулей - обязательно. Саморазвивающаяся среда, как ББ.... Делаем свой, но похожий язык, чтобы в явном виде включить в язык цикл Дейкстры, и его if (из Дисциплины программирования). 1) Почему не стали делать на КП+ББ, чтобы не переписывать "многое"? 2) Можно посмотреть на РБНФ языка или отличающиеся об базового продукции? |
Автор: | Валерий Лаптев [ Суббота, 27 Август, 2011 16:58 ] |
Заголовок сообщения: | Re: Язык структурного редактирования |
Евгений Темиргалеев писал(а): Валерий Лаптев писал(а): Многое из КП+ББ. Если не секрет:Модульность - однозначно! Динамическая загрузка и связывание модулей - обязательно. Саморазвивающаяся среда, как ББ.... Делаем свой, но похожий язык, чтобы в явном виде включить в язык цикл Дейкстры, и его if (из Дисциплины программирования). 1) Почему не стали делать на КП+ББ, чтобы не переписывать "многое"? 2) Можно посмотреть на РБНФ языка или отличающиеся об базового продукции? Банальная причина. Реализатор "в пальцах" имеет Додиез. Поэтому стал делать на чем владеет СЕЙЧАС... Но о ББ знает - читал. В дальнейшем подключу несколько студентов для конвертации в КП и С++ - посмотрим, где какие проблемы возникнут при переносе. Это ж просто даже интересно сравнить... До РБНФ пока не формализовали. Нет необходимости пока, так как на уровне лексем обработка - только в выражениях. |
Автор: | Владислав Жаринов [ Суббота, 27 Август, 2011 17:00 ] |
Заголовок сообщения: | Re: Интерфейс структурного редактирования |
Валерий Лаптев писал(а): Драконограф писал(а): Ещё вопрос: как Вам возможности, описанные в этом сообщении? В структурном редакторе предполагается что-то подобное? Спасибо за ссылочку. Подскажу о выделении лексем. Но на первый взгляд нам нет необходимости отслеживать элементы конструкции. Поскольку редактор вставляет весь оператор целиком. Операторы у нас - исключительно структурные. То есть вход сверху, выход - снизу. ... Валерий Лаптев в viewtopic.php?p=65071#p65071 писал(а): ... - т.е. ретрансляцию каких-то внешних текстов - то появляется возможность "неправильного написания". Цели м.б., скажем, те же, которые Александр Ильин преследовал - или просто работа "в связке" с компилятором/верификатором, допустим, по технологии, описанной в этом сообщении. Когда внешние приложения не ограничивают так хорошо "приматическое комбинирование лексем"... Естественно, данный файл можно относительно легко конвертировать в текст на некоем языке программирования и скомпилировать его соответствующим компилятором - это если нужен отдельный exe-модуль. Пока мы этим не занимаемся. Есть более важные и интересные задачи. ... Валерий Лаптев писал(а): ... Ну да... редактор позволяет вставлять лишь целиком "атомы"... только текстовые...Для каждого оператора сейчас разрабатывается контекст (для многих уже сделано) - что РАЗРЕШЕНО в нем писать, и в каком месте. Таким образом, учень просто НЕ СМОЖЕТ написать неправильный цикл... И не будет отвлекаться на мелкие синтаксические-лексические ошибки. А будет мыслить и исполнять блоками - конструкциями. ... Валерий Лаптев писал(а): Вот, например, пишет он некую функцию. И написал имя, которого нет. Либо ошибся, либо просто сначала пишет алгоритм, а объявления потом. Редактор тут же, не давая ему продолжать пишет, что необъявленное имя и предлагает объявить. Или исправить. Разумеется... ведь жёсткие поля (то, что у Вас называется "неисполняемыми узлами", как я понимаю) иначе и не заполнишь "из буфера"...Тут целое поле для исследований: какие операции в какой момент выполнять, что запрещать, что непременно требовать с учня в данной точке и т.п. Кстати, простейший копи-паст у нас все же имеется в наличии... А вот "информатизованные" узлы можно не просто по шаблону заполнять, но и по словарю... так что сочинителю можно предоставить возможность этот словарь вести и использовать. В принципе это опять же области, только показываемые, видимо, чисто текстом. |
Автор: | Владислав Жаринов [ Суббота, 27 Август, 2011 17:13 ] |
Заголовок сообщения: | Re: Язык структурного редактирования |
Валерий Лаптев писал(а): ... Это как в Promela - см. в выдержке из этого сообщения? Хотите в перспективе писать и "модельные программы" для верификации - как в этом примере визуализированная эскизно? Имея в виду и это:Делаем свой, но похожий язык, чтобы в явном виде включить в язык цикл Дейкстры, и его if (из Дисциплины программирования). ... Валерий Лаптев в viewtopic.php?f=93&t=1542&p=65090#p65071 писал(а): ... Выбрали один язык информодели (диалект, расширение) - написали программу (КП-шную). Выбрали другой - написали модельную программу (Promela+*TL-nevers) для неё. И в документе как-то логически связали (допустим, как областные вариации). И можно генерить исхтексты на каждом языке. Или Вы видите другой способ сделать описание решения полиязыковым... м.б. более элегантный?..
Более того, реализация позволяет нам переключаться даже между стилем синтаксиса: паскалевский - сишный. Это еще не реализовано, но все пути четко видны. Просто не первоочередная задача. ... |
Автор: | Владислав Жаринов [ Суббота, 27 Август, 2011 20:07 ] |
Заголовок сообщения: | Модель документа семантического редактора |
Валерий Лаптев в viewtopic.php?f=93&t=1542&p=65090#p65071 писал(а): ... Это здорово. Вероятно, можно и легко расширять состав языков (кодовых таблиц литер), определяя словари ключевых - встроенных - слов (и поддерживая для сочиняемых - идентификаторов прежде всего)? Имеется в виду описанное в этом пункте в первую очередь.Вообще с языком мы поступили так. Изначально делали две лексики: русскую и английскую. Все ключевые слова. В редакторе просто есть кнопочка Русский-Английский. И все ключевые слова меняются. ... Валерий Лаптев в viewtopic.php?f=93&t=1542&start=260#p65071 писал(а): ... В структуре документа логически "текстовый" узел может содержать узлы (в частности, программные - или иные)? В модели РДП-документа у меня это, в частности, соответствует включению в жеполь "элементарных" фрагментов текста (в частном случае весь текст - один фрагмент), м.б. вперемешку с нетекстовыми элементами содержания (таблицы, рисунки, схемы для программ и/или неформальные). В порядке включения эти элементы (м.б. некая заданная выборка из них) должны входить и в отображение документа для экрана/печати ("символ-сборку"). У Вас что-то подобное мыслится?
Мы ввели тег "текст". Теперь в том же окне модуля мы можем (вне программного модуля) работать как в обычном редакторе. Таким образом, мы получаем возможность подготовить текст справки непосредственно в нашем редакторе. И соответственно готовить задания и вообще обучающие материалы вместе с примерами программ без привлечения дополнительных средств. ... Интересные вещи выяснились при реализации интерпретатора. Наш модуль - это список узлов-операторов, каждый из которых может иметь вложенный список узлов. В это семантическое дерево текст вставляется просто как неинтерпретируемый узел... ... |
Автор: | Владислав Жаринов [ Воскресенье, 28 Август, 2011 08:42 ] |
Заголовок сообщения: | Re: Язык структурного редактирования |
Валерий Лаптев в viewtopic.php?f=93&t=1542&start=260#p65086 писал(а): ... Это можно понимать так, что в проекте принят принцип "реализовать язык, на котором пишем (или максимально совпадающий)"? Т.е. как в этом сообщении? Чтобы по мере готовности редактора описывать язык (а в перспективе - документировать целиком как "паспорт" задачи, решаемой редактором), пользуясь только самим редактором? И не тратя лишних сил на программирование в одном языке, а описание другого?Реализатор "в пальцах" имеет Додиез. Поэтому стал делать на чем владеет СЕЙЧАС... Но о ББ знает - читал. В дальнейшем подключу несколько студентов для конвертации в КП и С++ - посмотрим, где какие проблемы возникнут при переносе. Это ж просто даже интересно сравнить... ... Вообще принцип документа редактора как "активного паспорта", содержащего вместе с неформальным "обобщённым знанием" о задаче, формальными инструкциями человеку также и всё необходимое для машинной части её решения (когда она имеется), очень интересен. Поправили паспорт в части определения программы (материальной конструкции) - скомандовали генерацию исхтекста для трансляции очередного варианта приложения (выпуска новых конструктивных элементов и изделия в целом). Ну и доку сгенерировали по изменениям в части, предназначенной человеку. В этом смысле структурирование документа на узлы играет свою роль - при определении также правил использования их содержимого в неизменном/преобразованном виде. Вы что-то подобное подразумевали? |
Автор: | Валерий Лаптев [ Воскресенье, 28 Август, 2011 10:14 ] |
Заголовок сообщения: | Re: Семантический редактор |
Да, сейчас добавлять новые конструкции языка или изменять уже существующие - достаточно просто. Словарь позволяет менять лексику даже во время выполнения программы. А семантика обеспечивается добавлением одного класса-наследника в иерархию наследования. С редактором сложнее. Не совсем пока ясно, какие операции рефакторинга существенны и полезны, а какие - нет. Это только опыт даст ответ. Но операции редактора тоже отделены в отдельную иерархию, поэтому там тоже более-менее без особых проблем стройка идет... Еще один студент 2 курса у меня делает графическую оболочечку для рисования разнообразного рода диаграмм. UML, Дракон, DFD... Пока на С++ - в QtCreator - там довольно богатая библиотека. Делаем сами, чтобы иметь возможность навесить туда оценку деятельности студента и потом состыковать с программированием. Еще одна студентка делает системку генерации заданий по программированию. Разработан простой XML-язык представления шаблонов заданий. Будем после полной реализации тега текст начинать прикручивать ее к редактору. |
Автор: | Владислав Жаринов [ Воскресенье, 28 Август, 2011 12:04 ] |
Заголовок сообщения: | Семантический редактор - возможности |
Валерий Лаптев писал(а): Да, сейчас добавлять новые конструкции языка или изменять уже существующие - достаточно просто. Класс... Чем и интересно показывать как учебные задачи именно реализации языков - много ракурсов возможны. То же обеспечение семантики показал в документирующей части "проекта" - и тут же код (и его визуализация).Словарь позволяет менять лексику даже во время выполнения программы. А семантика обеспечивается добавлением одного класса-наследника в иерархию наследования. ... И ещё был интересен вопрос о многоязыковости самой "программно-строгой" части документа - см. в этом сообщении. Валерий Лаптев писал(а): ... Немаловажно, чтобы простые вроде бы техоперации типа обмена фрагментов содержания не требовали такой многоходовости, как описано в этом сообщении для Ты-среды... для этого чаще всего достаточно "побыть оператором", как мы знаем...
Не совсем пока ясно, какие операции рефакторинга существенны и полезны, а какие - нет. Это только опыт даст ответ. Но операции редактора тоже отделены в отдельную иерархию, поэтому там тоже более-менее без особых проблем стройка идет... ... |
Автор: | Владислав Жаринов [ Воскресенье, 28 Август, 2011 12:05 ] |
Заголовок сообщения: | Языки семантического редактирования и визуализация |
Валерий Лаптев писал(а): ... Состыковать - это по такому принципу как здесь описано (п. 2)? Или "неисполняемо" - как ряд реализаций того же UML определяют в этой работе?Еще один студент 2 курса у меня делает графическую оболочечку для рисования разнообразного рода диаграмм. UML, Дракон, DFD... Пока на С++ - в QtCreator - там довольно богатая библиотека. Делаем сами, чтобы иметь возможность навесить туда оценку деятельности студента и потом состыковать с программированием. Еще одна студентка делает системку генерации заданий по программированию. Разработан простой XML-язык представления шаблонов заданий. Будем после полной реализации тега текст начинать прикручивать ее к редактору. Можно, видимо, и визуализацию заданий "прикрутить" - чтобы получалось то что здесь (см. вложения) как опросы сделано. И визуализация тестового бланка - всё студням интереснее - и сопряжение с алгоритмикой ещё одно. Как Вы думаете? |
Автор: | Сергей Прохоренко [ Воскресенье, 28 Август, 2011 15:06 ] |
Заголовок сообщения: | Re: Семантический редактор |
Валерий Лаптев писал(а): Далее - оператор вставляется при наборе снипета - и тут тоже список выпадает, можно выбрать. Во вставленном операторе можно вводить символы только в строго ограниченных местах. 1. Будут ли вставленный оператор и его ветви как-то выделяться графически, например, скобкой слева и, соответственно, символами свертки/развертки (треугольные стрелки вниз или вправо, либо минус или плюс в квадратике)? 2. Планируете ли в дальнейшем для большей наглядности дополнить/заменить снипеты на палитры операторов и паттернов/конструкций на отдельной панели? 3. Там, где "Во вставленном операторе можно вводить символы", не хотите ли вставлять заглушки вида «выражение», «число», «тело цикла» и т.п.? 4. Можно ли будет видеть программу не только в виде текста, но и структурированно - в виде дерева (браузер проекта) и/или графа зависимостей программных объектов? 5. Будут ли надмодульные структуры (подсистемы, программный проект)? 6. Планируете ли вынести объявления в табличном виде на отдельную панель, а не вставлять в текстовом виде непосредственно в текст программы? |
Автор: | Валерий Лаптев [ Воскресенье, 28 Август, 2011 18:29 ] |
Заголовок сообщения: | Re: Семантический редактор |
Сергей Прохоренко писал(а): Валерий Лаптев писал(а): Далее - оператор вставляется при наборе снипета - и тут тоже список выпадает, можно выбрать. Во вставленном операторе можно вводить символы только в строго ограниченных местах. 1. Будут ли вставленный оператор и его ветви как-то выделяться графически, например, скобкой слева и, соответственно, символами свертки/развертки (треугольные стрелки вниз или вправо, либо минус или плюс в квадратике)? 2. Планируете ли в дальнейшем для большей наглядности дополнить/заменить снипеты на палитры операторов и паттернов/конструкций на отдельной панели? 3. Там, где "Во вставленном операторе можно вводить символы", не хотите ли вставлять заглушки вида «выражение», «число», «тело цикла» и т.п.? 4. Можно ли будет видеть программу не только в виде текста, но и структурированно - в виде дерева (браузер проекта) и/или графа зависимостей программных объектов? 5. Будут ли надмодульные структуры (подсистемы, программный проект)? 6. Планируете ли вынести объявления в табличном виде на отдельную панель, а не вставлять в текстовом виде непосредственно в текст программы? 1. Пока - нет. Пока просто при вставке сразу вложенность делается (та самая обязательная табуляция, которую Федор Васильевич в школьной сборке включил. 2. Не заменить - дополнить. 3. Надо подумать. Пока у нас вставляется операция вместе с операндами. Затем на месте операнда учень может уже вставить реальный операнд - или опять операцию с операндами. Скобки всегда вставляются парами. 4. Дерево уже было - пока убрали. Но вообще справа - место для проекта 5. Естественно - будут. Когда начнем реализовывать многомодульные проги. 6. Об этом думаем. |
Страница 14 из 34 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |