Языки программирования. Практический сравнительный анализ


Языки программирования. Практический сравнительный анализ - стр. 259


Тогда появится больше возможностей и у авторов ЯП. Вместе с тем потери от несовместимости обычно несопоставимы с выигрышем от нарущения стандарта, так что известная доля консерватизма в решении проблемы нотации вполне естественна.

Для ЯП со стандартным алфавитом нет особого смысла различать эталонные и конкретные тексты. Другими словами, абстракция представления в этом случае почти вырождается за счет стандартизации конкретных представлений.

Первым языком со стандартным алфавитом был Фортран. В настоящее время этот путь решения проблемы представления знака для вновь создаваемых ЯП можно считать общепринятым.

 

4.20.6. Основное подмножество алфавита

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

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

 

4.20.7. Пример: алфавит языка Ада

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




- Начало -  - Назад -  - Вперед -