Алфавит и лексика языка. Идентификаторы

Содержание |  Назад  |  Вперед

Алфавит

Как и любой другой язык программирования (и не только программирования), Турбо Паскаль имеет свой алфавит - набор символов, разрешенных к использованию и воспринимаемых компилятором. В алфавит языка входят:

  1. Латинские строчные и прописные буквы: A, B, ..., Z  и  a, b, ..., z
  2. Цифры от 0 до 9.
  3. Символ подчеркивания "_" (ASCII код - 95).
  4. Символ "пробел" (код 32). Пробел является разделителем в языке. Если между двумя буквами имени или ключевого слова стоит пробел, то две буквы будут считаться принадлежащими разным именам (словам). Количество пробелов не является значащим. Там, где можно поставить один пробел, можно поставить их сколько угодно.
  5. Символы с кодами ASCII от 0 до 31 (управляющие символы). Они могут участвовать в написании значений символьных и строчных констант. Символы, замыкающие строку (коды 10 и 13), и символ табуляции (код 9) также могут быть разделителями.
  6. Специальные символы, участвующие в построении конструкций языка:
    + - * / = < > [ ] . , ( ) : ; ^ @ { } $ # '
  7. Составные символы: <= >= := (*   *)  (.  .)  ..
    Разделители (пробелы, табуляция, перевод строки) между элементами составных символов недопустимы
    .

Как видно символы из расшириного набора таблицы ASCII, т.е. символы с номерами от 128 до 255 (а именно в этот диапазон входит алфавит кириллицы), а также некоторые другие символы (!, %, ~, и др.) не входят в алфавит языка. Тем не менее они могут использоваться в тексте программ, но только в виде значений символьных или строковых констант, а также в тексте коментариев.

Лексический состав языка

Лексема - это минимальная единица языка, имеющая самостоятельный смысл. В языке Паскаль имеются следующие виды лексем:

  1. Идентификаторы (имена). Идентификаторы вводятся для обозначения в программе переменных, констант, типов, меток, процедур, функций, самой программы. При построении идентификаторов необходимо учитывать следующие правила:
    а) идентификатор может состоять только из букв, включая символ подчеркивания, и цифр (пп.1-3 алфавита языка). Использование пробела недопустимо;
    б) первым символом должна быть буква;
    в) строчные и прописные буквы считаются компилятором эквивалентными;
    г) максимальная длина идентификатора - 126 символов. Однако компилятор различает только первые 63 символа.
    Примеры идентификаторов: a, x1, alpha, ALPHAMass_of_Sun, speed

  2. Служебные (зарезервированные слова). Это ограниченная группа слов (чуть более 50-ти), построенных из букв. Смысл каждого служебного слова четко фиксирован в языке. Служебные слова НЕЛЬЗЯ использовать в качетве идентификаторов вводимых программистом.
    Примеры служебных слов: begin, end, for, to, if, else, array, in, mod, var, unit и т.д.

  3. Неименованные константы (изображения). Группа лексем обозначающая числа, символы, строки и некоторые другие значения. Например, 'a' - символ "а"; 'Турбо Паскаль' - текстовая строка, 123 - целое число, 123.5 или 1.235Е2 - вещественное число.

  4. Знаки операций. Формируются из одного или нескольких специальных символов и предназначены для задания действий по преобразованию данных и вычислению значений.

  5. Коментарии - произвольная последовательность символов заключенная в   фигурные скобки { } или в разделители вида (*   *). Коментарии используются для размещения в программе фрагментов пояснительного характера. Например,

        { Это строка коментария }

      {
       Это
       несколько строк
       коментария
      }


    Кроме этого с помощью символов { } можно верменно исключить из программы определенную группу операторов, поскольку все, что является текстом коментария полностью игнорируется компилятором.

  6. Ключи компиляции (дерективы компилятора) - спициальные конструкции позволяющие управлять режимом компиляции: включать или выключать контроль ошибок, производить или нет проверку диапазонов массивов, изменять распределение памяти и т.д. Ключ компиляции представояет собой специфический коментарий, содержащий символ "$" и букву-ключ с последующим знаком "+" (включить режим) или "-" (выключить). Например,

        {$R-} - отключить проверку диапазонов индексов массивов;
        {$I+} - включить обработку ошибок ввода-вывода и т.д.

    Некоторые ключи задают не режим, а компоновку программы из внешних составных частей. Таков, например, ключ

        {$I Имя_файла}

    называемый командой включения в программу внешнего текстового файла. Эта команда заставляет компилятор считать заданный файл частью обрабатываемой программы.

 

Содержание |  Назад  |  Вперед