OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 12:25

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




Начать новую тему Ответить на тему  [ Сообщений: 679 ]  На страницу Пред.  1 ... 22, 23, 24, 25, 26, 27, 28 ... 34  След.
Автор Сообщение
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 12:14 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Думаю ещё о том, чтобы проект представлять "отнесённым к платформе исполнения"... примерно как в этом посте описано...
Тут бы и параллельное программирование использоовалось... через спецификацию взаимодействий. И автоматное (скажем, протоколы каналов можно автоматами представлять... а также и исполнителей). И зависимости решения бы описывалось через схемы ТП... для совместного выполнения. И гонки процессов в перспективе проверялись бы...
И чтоб можно было, скажем, задать вместо одного сервера/клиента много и наоборот - и при этом перераспределить программируемые функции между ними в среде...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 12:40 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Дмитрий Грачёв писал(а):
Сергей Прохоренко писал(а):
Валерий Лаптев писал(а):
4. Начала набираться статистика по операциям рефакторинга. Например, возникла потребность в операции перестановки соседних операторов. Мне, например, такая операция в голову не приходила.


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


Да, и тоже самое Ctrl+X/Ctrl+V.
Но Валерий Викторович не хочет пока такую штуку студентам давать.
Хотя это вроде не копирование, и ничего криминального тут нет.


Он передумает. :wink: Студенты заставят. :twisted:

Я забыл добавить, что должен поддерживаться принцип "только один оператор на строке", чтобы облегчить перемещения кода вверх-вниз.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 13:00 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Владислав Жаринов писал(а):
Как с отражением наследования и над-императивных подходов (возможно, как здесь предполагалось)?..


Естественно, мы будем среду развивать. В разные стороны.
Но сейчас первоочередные задачи такие:
1. Сделать приличный хелп - прямо в среде редактор принимает все, что можно в rtf. Но хелп надо сначала спроектировать, иерархию построить. И потом физически в среду все это всунуть. Да еще поиск привинтить.
2. Наследование Дима Грачев практически сделал - там кое-какие мои соображения еще допилить... :) Кстати, от множественного мы совсем отказались по результатам бесед здесь на форуме. Будем использовать композицию-агрегацию.
3. Собрать статистику по рефакторингу и реализовать стройную систему операций рефакторингов.
4. Посмотреть и помыслить о расширении стандартной библиотеки. Какие модули еще доделать... :)
5. Сделать на основе комментариев средства типа предусловий-постусловий. Как в эйфеле.
6. внедрить в среду систему лабов и особенно модели оценивания работы студентов.
7. пристегнуть средства проектирования-рисования разнообразных графических схем (как минимум UML и Дракон)
Это даст возможность обратиться к автоматному программированию.
И где-то можду этими делами подумаем о функциональной парадигме в рамках вреды.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 13:07 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Сергей Прохоренко писал(а):
Дмитрий Грачёв писал(а):
Да, и тоже самое Ctrl+X/Ctrl+V.
Но Валерий Викторович не хочет пока такую штуку студентам давать.
Хотя это вроде не копирование, и ничего криминального тут нет.


Он передумает. :wink: Студенты заставят. :twisted:

Я забыл добавить, что должен поддерживаться принцип "только один оператор на строке", чтобы облегчить перемещения кода вверх-вниз.

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

1. Не передумаю. Но требуется физически состряпать документ о классификации операций рефакторинга - как мы сейчас это представляем.
2. Кстати, появились две девочки, которые будут заниматься сайтом и форумом по нашей среде. Скоро можно будет там.
3. Когда я думал об этом - была мысль этот механизм сделать встроенным в язык. Сейчас мы как-то об этом подзабыли - из-за стойкого убеждения минимизации языка. Но я к этой идее вернусь попозжа. На базе нашего встроенного массива можно будет реализовать.
А пока во фреймворке сделаем модули - стандартные структуры данных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 13:14 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
А сайт будете делать тоже в среде?

Вот насчёт "пристегнуть"... как раз хотелось бы естественной интеграции средств спецификации... отсюда и мысли выше... Не вообще чего-то, что опубликовано, а только необходимые средства в нужных местах... :)

Кстати, механизм N-мерной таблицы, представленный в этом посте, как Вы можете оценить?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 13:19 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Вот для обучения работы с файлами состряпали простейший модуль Файлы:
Код:
модуль Файлы
    подключить ФайлыБаза;
    подключить Строки;
   
    константа целое Чтение = 0;
    константа целое Запись = 1;
    константа целое Дозапись = 2;
   
    #Используется для ввода/вывода данных из файловой системы
Объект данного типа можно получить функцией "Открыть(путь, режим): Файл"#
    откр тип Файл
        откр поле-ФайлыБаза.Файл базовыйФайл;
        откр поле-ФайлыБаза.Поток базовыйПоток;
    конец Файл;
   
    #Открывает файл для чтения, записи или дозаписи
В качестве переменной "режим" должна быть указана одна из констант
Чтение, Запись или Дозапись#
    откр функция(выходной Строки.Строка путь, выходной целое режим):Файл Открыть
        переменная-Файл файл;
        присвоить файл.базовыйФайл := ФайлыБаза.СоздатьФайл(путь);
        присвоить файл.базовыйПоток := файл.базовыйФайл.Открыть(режим);
        вернуть файл;
    конец Открыть;
   
    #Закрывает файл, делая его доступным для открытия в новом режиме#
    откр процедура(выходной Файл файл) Закрыть
        вызвать файл.базовыйПоток.Закрыть();
    конец Закрыть;
   
    #Возвращает истину, если достигнут конец файла#
    откр функция(выходной Файл файл):булев КонецФайла
        вернуть файл.базовыйПоток.Конец();
    конец КонецФайла;
   
    #Читает строку из файла до символа "\n"#
    откр функция(выходной Файл файл):Строки.Строка ПрочитатьСтроку
        вернуть файл.базовыйПоток.ПрочитатьСтроку();
    конец ПрочитатьСтроку;
   
    #Записывает строку в файл#
    откр процедура(выходной Файл файл, выходной Строки.Строка строка) ЗаписатьСтроку
        вызвать файл.базовыйПоток.ЗаписатьСтроку(строка);
    конец ЗаписатьСтроку;
начало
конец Файлы.

Файлы - текстовые и работают только со строками. Студень сначала должен строку сформировать функциями преобразования и используя модуль Строки, а потом вывести.
А вот и модуль строки - уже реально используемый в среде:
Код:
модуль Строки
    откр тип Строка
        закр поле-массив[256] символ массивСимволов;
        закр поле-целое размер;
       
        откр метод(Строка этот)():целое Длина
            вернуть этот.размер;
        конец Длина;
       
        откр метод(Строка этот)(входной целое номер):символ ВзятьСимвол
            вернуть этот.массивСимволов[номер];
        конец ВзятьСимвол;
       
        откр метод(Строка этот)(входной целое номер, входной символ симв) УстановитьСимвол
            присвоить этот.массивСимволов[номер] := симв;
        конец УстановитьСимвол;
       
        откр метод(Строка этот)(выходной Строка строка) Склеить
            переменная-целое новыйРазмер := этот.размер + строка.Длина();
            если новыйРазмер > этот.массивСимволов.размер() то
                переменная-массив[новыйРазмер] символ новыйМассив;
                переменная-целое и := 0;
               
                пока и < новыйРазмер повторять
                    если и < этот.размер то
                        присвоить новыйМассив[и] := этот.ВзятьСимвол(и);
                    иначе
                        присвоить новыйМассив[и] := строка.ВзятьСимвол(и - этот.размер);
                       
                    конец ветвления;
                    присвоить и := и + 1;
                конец цикла;
                присвоить этот.массивСимволов := новыйМассив;
            иначе
                переменная-целое и := этот.размер;
                пока и < новыйРазмер повторять
                    присвоить этот.массивСимволов[и] := строка.ВзятьСимвол(и - этот.размер);
                    присвоить и := и + 1;
                конец цикла;
            конец ветвления;
           
            присвоить этот.размер := новыйРазмер;
        конец Склеить;
       
        откр метод(Строка этот)(выходной массив[] символ массивСимволов) Сцепить
            переменная-целое новыйРазмер := этот.размер + массивСимволов.размер();
            если новыйРазмер > этот.массивСимволов.размер() то
                переменная-массив[новыйРазмер] символ новыйМассив;
                переменная-целое и := 0;
                пока и < новыйРазмер повторять
                    если и < этот.размер то
                        присвоить новыйМассив[и] := этот.ВзятьСимвол(и);
                    иначе
                        присвоить новыйМассив[и] := массивСимволов[и - этот.размер];
                    конец ветвления;
                    присвоить и := и + 1;
                конец цикла;
                присвоить этот.массивСимволов := новыйМассив;
            иначе
                переменная-целое и := этот.размер;
                пока и < новыйРазмер повторять
                    присвоить этот.массивСимволов[и] := массивСимволов[и - этот.размер];
                    присвоить и := и + 1;
                конец цикла;
            конец ветвления;
            присвоить этот.размер := новыйРазмер;
        конец Сцепить;
       
        откр метод(Строка этот)(выходной массив[] символ массивСимволов) Инициализировать
            вызвать этот.Сцепить(массивСимволов);
        конец Инициализировать;
       
        откр метод(Строка этот)(входной целое номер, входной целое длина):Строка ВзятьПодстроку
            переменная-целое и := 0;
            переменная-массив[длина] символ строка;
            пока и < длина повторять
                присвоить строка[и] := этот.ВзятьСимвол(и + номер);
                присвоить и := и + 1;
            конец цикла;
            переменная-Строка подстрока;
            присвоить подстрока.массивСимволов := строка;
            вернуть подстрока;
        конец ВзятьПодстроку;
       
        откр метод(Строка этот)(выходной Строка подстрока):целое НайтиПодстроку
            переменная-целое и := 0;
            переменная-целое ж;
            пока и < этот.Длина() - подстрока.Длина() + 1 повторять
                присвоить ж := 0;
                пока ж < этот.Длина() & подстрока.ВзятьСимвол(ж) = этот.ВзятьСимвол(и + ж) повторять
                    если ж = подстрока.Длина() - 1 то
                        вернуть и;
                    конец ветвления;
                    присвоить ж := ж + 1;
                конец цикла;
               
                присвоить и := и + 1;
            конец цикла;
            вернуть minus1;
        конец НайтиПодстроку;
    конец Строка;
   
    #Возвращает строку из массива символов или строковой константы#
    откр функция(выходной массив[] символ массивСимволов):Строка Инициализировать
        переменная-Строка строка;
        вызвать строка.Инициализировать(массивСимволов);
        вернуть строка;
    конец Инициализировать;
   
    ##
    откр процедура(выходной Строка строка1, выходной Строка строка2) Склеить
        вызвать строка1.Склеить(строка2);
    конец Склеить;
   
    ##
    откр процедура(выходной Строка строка, входной массив[] символ массивСимволов) Сцепить
        вызвать строка.Сцепить(массивСимволов);
    конец Сцепить;
   
    ##
    откр функция(выходной Строка строка, выходной целое номер):символ ВзятьСимвол
        вернуть строка.ВзятьСимвол(номер);
    конец ВзятьСимвол;
   
    ##
    откр процедура(выходной Строка строка, входной целое номер, входной символ симв) УстановитьСимвол
        вызвать строка.УстановитьСимвол(номер, симв);
    конец УстановитьСимвол;
   
    ##
    откр функция(выходной Строка строка):целое Длина
        вернуть строка.Длина();
    конец Длина;
   
    ##
    откр функция(выходной Строка строка, входной целое номер, входной целое длина):Строка ВзятьПодстроку
        вернуть строка.ВзятьПодстроку(номер, длина);
    конец ВзятьПодстроку;
   
    ##
    откр функция(выходной Строка строка, входной Строка подстрока):целое НайтиПодстроку
        вернуть строка.НайтиПодстроку(подстрока);
    конец НайтиПодстроку;
начало
   
конец Строки.

Тут и независимы функции, и тип Строка с методами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 13:21 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
А вот, кстати, как мы перечисления моделируем... :)
Код:
модуль Fonts
    константа целое Ariel = 0;
    константа целое TimesNewRoman = 1;
    константа целое Consolas = 2;
    константа целое Verdana = 3;
    константа целое MsComicSans = 4;
начало
   
конец Fonts.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 13:32 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Ну, это да, такой очевидный ход... :)

Как я вижу, всё-таки процедуры в редакторе бывают и довольно развитые... так что структурные скобки не помешают... :) Вместо дракон-слепышей на пока подумал бы о двумерных скобках - это когда текст организован, как здесь могли видеть: viewtopic.php?p=73919#p73919. Только с заменой уже ключевых слов "маршрутных". Их можно и псевдографикой табличной рисовать...
Кстати, там тоже подразумевается, что на одной строке марша - один элементарный оператор/выражение.

Имена-то м.б. и длинные, я так понимаю... так что для "осмысленных" величин хорошо бы брать смысловые... а всякие "и" - для вспомогательных (типа параметра итерации) наверное...


Последний раз редактировалось Владислав Жаринов Воскресенье, 09 Сентябрь, 2012 13:58, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 13:57 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Владислав Жаринов писал(а):
Ну, это да, такой очевидный ход... :)

Как я вижу, всё-таки процедуры в редакторе бывают и довольно развитые... так что структурные скобки не помешают... :) Вместо дракон-слепышей на пока подумал бы о двумерных скобках - это когда текст организован, как здесь могли видеть: viewtopic.php?p=73919#p73919. Только с заменой уже ключевых слов "маршрутных". Их можно и псевдографикой табличной рисовать...
Кстати, там тоже подразумевается, что на одной строке марша - один элементарный оператор/выражение.

Имена-то м.б. и длинные, я так понимаю... так что для "осмысленных" величин хорошо бы брать смысловые... а всякие "и" - для вспомогательных (типа параметра итерации) наверное...

У нас есть блоки. Которые схлопываются-развертываются. Вот как это в редакторе выглядит:


Вложения:
Блоки-редактор.PNG
Блоки-редактор.PNG [ 59.23 КБ | Просмотров: 8705 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 13:59 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
ОК... я имел в виду, чтобы был и "профэссиональный" вариант с заменой всяких ЕСЛИ-ТО-ИНАЧЕ и пр... и двумерной компоновкой остального...

Из схем в первую очередь, мне кажется, просятся как раз вьюшки композиции/агрегации в разных аспектах - наследования, модулей/импорта, потенциальной связи процедур по вызовам, сообщениям (включая порождение/снятие/приостановку), хранению (совместно используемые файлы) вводу/выводу (кто в какие логи/буфера может писать/читать). Ну и схемы зависимостей при совместном исполнении (за счёт каких элементов контекста одни процессы влияют на другие). Только не так убого, как в ФИЭЛДе...
Потом по его мотивам можно подумать о визуализации рантайма (реализация композиций/агрегаций, состояние памятей). Но первое - потенциальные... чтобы учни хотя бы "многомерный образ проекта" могли строить... :wink:

Ну и схемы данных, конечно... только они д.б. согласованы с классами для объектных языков...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 19:40 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Валерий Лаптев писал(а):
2. Кстати, появились две девочки, которые будут заниматься сайтом и форумом по нашей среде. Скоро можно будет там.
Ну, тогда сюда ссылочку добавить... и материал приобретёт законченность... а пока напишем вместо "планируется" - "начато внедрение в учебный процесс"... :)
Ещё на ру-борде, может, представить - и хватит... дальше сами свой коммерческий продукт рекламируйте... :wink:

Да, а что это за программа, которую теперь успевают набрать, а раньше нет? Показать можно? А то тут (точнее, там :)) люди спрашивают...

Вообще хорошо бы свежий деморолик законченной работы (может, как раз этой) сделать... ещё лучше, если бы был для сравнения "по-старому"... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Воскресенье, 09 Сентябрь, 2012 21:19 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Я с Дмитрием пообщаюсь. Он сейчас в аспирантуру поступает. Как поступит - начнем заниматься оформлением доков для участия в Старте, потом в БИТе.
Там все и сделаем. И ролик, и тексты наработаем, и хелп пригвоздим... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Понедельник, 10 Сентябрь, 2012 08:17 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1053
Откуда: Россия, Чебоксары
Валерий Лаптев писал(а):
Вот как это в редакторе выглядит:
Ужасно, ужасно...
- Имена переменных "этот", "и" - насилие над языком и уж точно - над когнитивной эргономикой!
- И по-прежнему никто не хочет по-человечески комбинировать текст с графикой. Поймите же наконец, что текстовые конструкции "иначе", "конец ..." есть артефакты сериализации алгоритма (его отображения в линейную строку символов). И ничего принципиально полезного в этой форме отображения нет (кроме необходимости компиляции этой строки мозгом в некую когнитивную структуру - неизвестно, кстати, пользы тут больше или не пользы ;) ).
- линии, показывающие иерархический уровень (отступы блоков) - просто убийственны. Даже без них, с одними отступами, пожалуй, и лучше будет. Вот что бы не нарисовать скруглённую рамку с кнопкой-"выноской", прикреплённой на нужном уровне (да хоть просто фигурную скобку в минимальном варианте)? Так, кстати, и надобность в лишних конструкциях для сериализации отпадает. Никаких "концов" и "бегинов".

Вот ещё один принцип когнитивной эргономики родился у меня: надо чётко визуально разделять смысловую информацию ("что") от вспомогательной ("как"), в том числе маршрутной. О чём я тут уже много лет говорю, а воз и ныне там... Особенно актуально это для текста. Но и в том же Драконе есть такая проблема...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Понедельник, 10 Сентябрь, 2012 09:24 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Так гораздо короче, красивее и понятнее:
Вложение:
Skobka_2.jpg
Skobka_2.jpg [ 3.95 КБ | Просмотров: 8620 ]


"Точка с запятой", как и ключевое слово "конец/end" - тоже пример "сериализации алгоритма (его отображения в линейную строку символов)", т.е. атавизм.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Понедельник, 10 Сентябрь, 2012 10:16 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Мы не собираемся делать революция прямо сейчас... :)
Вот пообкатаем среду - там и изменения-развитие настанет черед делать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Понедельник, 10 Сентябрь, 2012 11:47 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Вот об чём и я... Ну, имена-то можно переправить сочинителю... и, как я понимаю, в семредакторе достаточно поменять в одном вхождении (или где-то в указателе сущностей, типа реестра переменных) - и автоматически заменится везде?
А вот форму схемы - это уже к редактору. По замечанию:
Alexey_Donskoy писал(а):
Вот ещё один принцип когнитивной эргономики родился у меня: надо чётко визуально разделять смысловую информацию ("что") от вспомогательной ("как"), в том числе маршрутной. О чём я тут уже много лет говорю, а воз и ныне там...
- да, это давно было сформулировано здесь: http://grafit-basis.narod.ru/L2/gen_struct_dan.html. И потом на форуме развёрнуто: viewtopic.php?p=68900#p68900 - а воз, действительно, и ныне добрался только до маршрутной структуры... :wink: Но не всё сразу...

По деталям именно для маршрутной структуры. Да, скруглять углы скобок - это лучше. Табличные литеры этого не позволяют - но это решение для "облегчённой" реализации. А в данном редакторе, как я понимаю, всё равно и исхтексты в графмоде выводятся... и не моноширинно... так что пойдёт.
И Алексей подтвердил сказанное чуть выше - уж если делать нетекстовое структурирование - то с заменой соответствующих текстоэлементов языка... Вот у Сергея стрелочка на конце скобки и есть обозначение цикла... а какой цикл (ПОКА, ДО, гибридный) - определяется относительным положением условия и подтел цикла...

Однако, думаю, не фигурные скобки - потому, что эта форма уже занята под комментарии стандартно. Здесь и эргосмысл - прямые скобки указывают на выражение чего-то строгого, фигурные, "игривые" - чего-то неформального.
Здесь и размещение пред/постусловий определяется - при прямых скобках именно. В развитие этого:
Владислав Жаринов в viewtopic.php?p=73726#p73726 писал(а):
...
Т.е. каждой структурной скобке (заменяющей ключевые слова-указатели маршрутов) соответствует комментарий - как и каждому оператору. При "своей" скобке он и отображается. Интендация текста заменяется вложенностью скобок; текст располагается одномерно - в колонку строк. Это формат вьюшки исхтекста совместно с комментариями (в отличие от вида только исхтекста как "схемы со снятой графикой", где и скобки двумерны, и каждой оси порядка - своя колонка).
Такие "атомарно-релятивные" комменты - прежде всего для утверждений о конструкциях, ограниченных скобками. Ну и для просто записей, включая ссылки на разные места в документах среды и во внешних. ...

Для начала - хотя бы так (без возможности ещё и давать комментарии к произвольно выбранным группам строк, как в "Проекте Оберон" - для этого нужна отдельная колонка комментов во вьюшке и соответствующая система отношений в формате).
- т.е. комменты всё-таки в свою колонку правее "полуторамерной" колонки исхтекста и со своими (фигурными) скобками к правому его краю. Структурные же скобки, как сейчас, слева от исхтекста - и утверждения как выноски от них.

Как я понимаю, "проблема в Драконе" имеется в виду прежде всего эта:
Alexey_Donskoy писал(а):
viewtopic.php?p=74302#p74302
...
- да, и вообще запретить "силуэт", как создающий ненужные и вредные разрывы :lol:
viewtopic.php?p=74485#p74485
Рэйлвэй Каген писал(а):
смотрите на него, как на развёртку вырожденного тора. И ненавистные разрывы исчезнут! :lol:
Да пожалуйста. Только любая развёртка по определению содержит разрыв :wink:
И визуально он никуда не пропадает, как ни смотри...
- т.е. разрывы, если уж они есть, д.б. оправданными. Потому и в головном процессе здесь: viewtopic.php?p=73245#p73245 точки разрыва (на ветви) выбраны по законченным техоперациям (или группам техопераций - здесь отнесённых ко вспомогательным).
    Однако именно эта схема Александра Сергеевича, например, утвердила в его мнении относительно дракон-представления здесь. И тут есть над чем подумать... может, Алексей тоже выскажется?..

Кроме того, наверное, уместнее говорить об операциях не "рефакторинга". В свете, например, этого обсуждения: viewtopic.php?f=86&t=3573.

Есть что сказать и как могут строиться схемы, перечисленные здесь: viewtopic.php?p=74541#p74541 - по мере возможности...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Понедельник, 10 Сентябрь, 2012 11:48 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1053
Откуда: Россия, Чебоксары
Валерий Лаптев писал(а):
Вот пообкатаем среду - там и изменения-развитие настанет черед делать.
Ресурсов больше уйдёт, чем если бы сразу делать как надо :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Понедельник, 10 Сентябрь, 2012 11:50 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Да, если какие-то способы реализации "информационных представлений" жёстко связаны с архитектурой приложения...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Понедельник, 10 Сентябрь, 2012 13:14 

Зарегистрирован: Суббота, 17 Сентябрь, 2011 16:39
Сообщения: 72
Alexey_Donskoy писал(а):
Валерий Лаптев писал(а):
Вот пообкатаем среду - там и изменения-развитие настанет черед делать.
Ресурсов больше уйдёт, чем если бы сразу делать как надо :)


Никто не знает, как надо. У нас исследовательская работа.
А по поводу скобочек - это вопрос привычек и вкусов. Тут не о чем спорить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Семантический редактор
СообщениеДобавлено: Понедельник, 10 Сентябрь, 2012 13:25 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1053
Откуда: Россия, Чебоксары
Дмитрий Грачёв писал(а):
Никто не знает, как надо. У нас исследовательская работа.
Так исследуйте! ;)
У вас есть на чём исследовать, вот что очень хорошо.

Цитата:
А по поводу скобочек - это вопрос привычек и вкусов. Тут не о чем спорить.
ЧСВ у программистов - обычное дело. Но достаёт часто. Что за подход такой? Дескать, сделал так, и хорошо, а кто недоволен, пусть идёт лесом со своим мнением.

Есть же объективные критерии и подходы к эргономике, от них и надо отталкиваться.
Когда землекопу предлагают убрать лопату и взять экскаватор, он упирается: "не, я лопатой буду, не надо спорить, дело вкуса!" :wink:
Впрочем, и очевидные, казалось бы, вещи для многих не очевидны. Сейчас придёт "шеф" и скажет: "а докажите-ка, что ваш экскаватор лучше моей лопаты!"
Ну, пусть будет так. Всё равно кому-то впоследствии велосипед изобретать придётся. Может, и вам же! :wink:


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 679 ]  На страницу Пред.  1 ... 22, 23, 24, 25, 26, 27, 28 ... 34  След.

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


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

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


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

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