Вверх ↑
Ответов: 5227
Рейтинг: 587
#1: 2009-07-08 00:12:59 ЛС | профиль | цитата
Поэтому создание входного языка для многоязычного компилятора можно произвести двумя различными способами:

1. Использовать только общие конструкции (область пересечения), отбросив все «особенные» конструкции языков, как не необходимые. Это приведет к усечению всех языков программирования.

2. Использовать все имеющиеся в языках конструкции (область объединения). В этом случае каждый из языков должен быть дополнен конструкциями, имеющимися в других языках программирования. Этот подход чреват чрезмерным расширением семантической базы.

Разумеется, ни один из этих подходов не должен применяться «в чистом виде», но более правильным представляется первый вариант, поскольку в «области пересечения» содержится исторически наработанный необходимый минимум семантических конструкций. Приведем несколько примеров из «области пересечения» и «области объединения» языков.

Преимущества структурного редактора
Переход к структурному редактору даст много преимуществ. Полностью (или почти полностью) исчезнут ошибки компиляции; ее скорость возрастет в несколько раз. Более того, станет возможна online-компиляция программы: код оператора создается прямо в момент его ввода, а создание исполняемого файла будет компоновкой уже откомпилированных частей.

Важной особенностью системы со структурным редактором станет практическое исчезновение понятия «язык программирования». При наличии широкой семантической базы (включающей помимо «области пересечения» часть «области объединения») переход с одного языка программирования на другой будет происходить простым переключением соответствующего параметра в настройках.

Псевдотекст
Однако сразу полностью отказаться от текста при разработке программ невозможно как по психологическим причинам, так и по соображениям совместимости (в текстовом виде накоплен огромный банк программ). Поэтому системы со структурным редактором должны предоставлять возможность работать с текстом как минимум в двух случаях:

при импорте и экспорте фрагментов программ
при необходимости представить программу на экране компьютера и в твердой копии в привычном виде на каком-либо традиционном языке программирования
Разумеется, должны быть доступны и основные операции работы с текстом (главным образом, работа с блоками).

Структурный редактор
Стандартизация семантики языков программирования помимо возможности создания многоязычных компиляторов открывает и другие, не менее впечатляющие перспективы перед разработчиками. В частности, нужно уйти от написания текста программ, заменив текстовый редактор структурным. Почему это необходимо? Да потому, что язык программирования — не естественный язык.


Не знаю как для кого а для меня эти подходы неприемлемы.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0