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


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


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

Со списком ключевых слов Ады мы познакомились по ходу изложения. Многие из них привычны (procedure, begin, do и т.д.). Сокращать ключывые слова недопустимо.

Ниже следует описание классов лексем.

Ограничитель. Это одиночный символ

       & ' ( ) * + , - . / : ; < = >

и пара символов

=> .. ** := /= >= <= << >> <>

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

Идентификатор. Отличается от алгольного идентификатора только тем, что внутри его допускается одиночное подчеркивание. Большие и малые буквы считаются эквивалентными. Идентификаторы считаются различными, если отличаются хотя бы одним символом (в том числе и подчеркиванием).

Примеры:     'A', '*', ''', ' ' и т.п.

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

Примеры. "Message of the day".

Примечание. Начинается двумя минусами и заканчивается концом строки.

Число.

Вот примеры целых чисел:

  65_536  ,   10.000

  2#1111_1111#   ,  16#FF#  ,  016#0FF#




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