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


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


Среди графических символов выделено основное множество (большие латинские буквы, цифры, пробел и спец-символы # & ' ( ) * + , - . : ; < = > _ | ).

Кроме того, в алфавит входят малые латинские буквы и дополнительные символы ( ! $ % ? @ [ \ ] ' ` { } ^ ).

Правила, позволяющие обозначить произвольную программу с помощью только основного множества, таковы. Во-первых, в качестве обязательных элементов программы (ключевые слова, ограничители и разделители) используются только символы из основного множества. Во-вторых, малые и большие буквы эквивалентны всюду, кроме строк и символьных констант. (Так что и идентификаторы можно представлять в основном множестве). А строки обозначаются с помощью символа & так, что "явное" изображение строки эквивалентно "косвенному", использующему название нужной подстроки. Например, если ASCII.DOLLAR - это название строки "$", то обозначение "А $ C" эквивалентно "А" & ASCII.DOLLAR & "C".

Подобные названия для всех дополнительных символов и малых латинских букв предопределены в языке Ада. Это и позволяет записать любую программу с помощью одного только основного множества. (Еще пример: "АвС" эквивалентно "A" & ASCII.LC_B & "C").

      

4.20.8. Лексемы

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




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