> -- Сергей Прохоренко писал(а):
> Под понимается, в частности, переменная, для которой имеется таблица свойств. Возможны и другие варианты.Под понимается графический эквивалент управляющей конструкции языка (цикла, оператора switch и т.п.).И в моем понимании программа, как ее видит программист на мониторе, - это , в котором операторы import служат гиперссылками. Но только не единый кусок гипертекста, а несколько окон, соответствующих разным уровням представления модели. Для каждого уровня модели нужны специфические графические средства представления (раскрывающийся список, сетевая диаграмма (граф), таблица, вложенные блоки) и специфические  средства манипулирования графическими объектами (конструкторы, инструменты). В то же время, программа сохраняется как XML-документ, с которым программист напрямую (в текстовом редакторе) работать не должен, чтобы не внести трудноуловимых ошибок.Конечно, в ББ есть , и это замечательно. Но только кроме куцых подсистем в ББ нет никаких (тем более, графических) средств манипулирования модулями. В  есть хотя бы механизм автоматической сборки зависимых модулей в компилируемую программу - см.  Правда, мне компиляция не удалась. в Оберонах уже есть: раздел объявлений, раздел исполнения команд, начинающийся словом Begin. Но, очевидно, набор разделов должен быть переработан, чтобы соответствовать специфике графического конструктора кода. Набор разделов должен стать жестким графическим каркасом модуля.Я писал на работе по памяти, поэтому получилось не очень понятно. Вот уровни модели более подробно:Уровень 1 – «библиотека» (таблица модулей; средства создания, разделения, слияния и переименования модулей и ведения версий; средства доступа, поиска, справки и обучения)Уровень 2 – «программа» (раскрывающийся список и сетевая диаграмма (граф) зависимостей модулей и элементов; средства выбора платформы и транслятора; точки и параметры запуска программы)Уровень 3 – «модуль» (раскрывающийся список обязательных разделов; внутреннее XML-представление)Уровень 4 – «раздел модуля» (вложенные блоки; последовательное или произвольное/параллельное исполнение команд; инструменты построителя блоков; конструктор GUI)Уровень 5 – «блок нижнего уровня вложенности» (таблица элементов; инструменты построителя выражений)Уровень 6 – «элемент» (таблица свойств)
Я практически так же думал...
Программист не должен работать с текстом, а должен работать сразу с конструкциями. При этом объявления типов, переменных (короче, всяких имен) собираются уже сразу в редакторе. И могут быть открыты программистом.
Тогда лексический и синтаксический анализ практически не нужны становятся - в редакторе уже правильные конструкции заводятся.
Символы программист вводит только там, где литерал требуется ввести, или имя первый раз.
В общем - силно похоже, только я так детально не продумывал уровни после модуля (в первую очередь - для обучения хотел применить, а там до модуля достаточно).