<<
>>

Ключевые и зарезервированные слова

Ключевое слово — это идентификатор, используемый в качестве обязательного элемента синтаксиса какого-либо оператора или объявления. Приведем примеры: слово if, отмечающее начало условного оператора в языке C, или слово for, обозначающее начало оператора цикла; слово type, предваряющее объявление типа в языке Pascal.
Ключевое слово называется зарезервированным, если синтаксис запрещает его использование в качестве идентификатора, определяемого программистом. Зарезервированные слова присутствуют в большинстве языков программирования, помогая транслятору обнаруживать синтаксические ошибки. Большинство операторов начинаются с зарезервированного слова, указывающего на категорию оператора: read, case, while и т. д.

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

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

Во многих языках содержатся предопределенные имена, которые занимают некоторое среднее положение между зарезервированными словами и именами, определяемыми пользователем.

С одной стороны, их смысл предопределен. С другой стороны, они могут переопределяться пользователем. Например, такие встроенные в язык Ada имена типов данных, как Integer и Float, предопределены. Эти имена не зарезервированы — их переопределение доступно любой программе на языке Ada. В языке Pascal обычные имена подпрограмм ввода-вывода, в том числе и названия подпрограмм readln и writeln, предопределены.

Определения предопределенных имен в языках Pascal и Ada должны быть видимы компиляторами этих языков, поскольку проверка типов здесь производится в период компиляции. В обоих языках перечисленные выше примеры предопределенных имен видимы компилятором неявно. В языке Ada предопределенные имена стандартных процедур ввода и вывода get и put видимы. Их видимость обеспечивается оператором with, который записывается программистом.

В языках С и С++ многие имена предопределены в стандартных библиотеках. Например, имена функций ввода и вывода языка С printf и scanf описаны в библиотеке stdio. Доступ компилятора к именам из библиотек обеспечивается соответствующими заголовочными файлами.

156

Глава 6. Средства представления синтаксиса языков программирования

<< | >>

Еще по теме Ключевые и зарезервированные слова:

  1. Мандала "ключевого слова"
  2. Ключевой вопрос
  3. Ключевое слово
  4. ключевые инграммы
  5. РАЗДРАЖИТЕЛЬ КЛЮЧЕВОЙ
  6. СТИМУЛ КЛЮЧЕВОЙ
  7. Ключевые ноты "влияния" транзитов
  8. СЛОВАРЬ КЛЮЧЕВЫХ ТЕРМИНОВ
  9. Определение ключевых понятий
  10. 1. Определение ключевых понятий