6.1. Алфавит языка и специфика использования символов
Алфавитом языка программированияTurbo Pascal 7.0 называют набор символов, разрешенный к использованию и воспринимаемый компилятором, с помощью которого могут быть образованы величины, выражения и операторы данного языка. Алфавит языка составляют все символы, представленные в кодировочной таблице ASCII. Их можно разделить на следующие группы:
1. Символы, используемые для составления идентификаторов:
- латинские строчные и прописные буквы,
- арабские цифры от 0 до 9 (в идентификаторах цифры могут использоваться наряду с буквами, начиная со второй позиции),
- символ подчеркивания (ASCII, код 95).
Идентификатор – имя, свободно избираемое программистом для элементов программы (процедур, функций, констант, переменных и др.) для последующего обращения к ним.
Существуют следующие правила использования идентификаторов:
1. Идентификатор должен начинаться буквой или символом подчеркивания «_».
2. Компилятор не различает прописные и строчные буквы.
3. Начиная со второй позиции, в идентификаторе можно применять наряду с буквами цифры.
4. Пробел является разделителем и не может стоять внутри идентификатора. Для создания идентификаторов, состоящих из двух слов, можно воспользоваться большими буквами (например, ReadText) или символом подчеркивания (Read_Text).
5. Применение других символов (букв неанглийского алфавита, знаков препинания, псевдографических символов и т.п.) в идентификаторах не допускается.
6. Зарезервированные слова (такие как BEGIN, END или PROGRAM) в качестве идентификаторов не используются.
7. Идентификаторы могут быть любой длины, но сравнение их между собой производится по первым 63 символам.
2. Символы-разделители:
- символ пробела (ASCII, код 32). Основное назначение этого символа - разделение ключевых слов и имен.
- управляющие символы (имеют ASCII-коды от 0 до 31). Эти символы могут применяться при описании строчных и символьных констант. Управляющие символы с ASCII-кодом 9 (табуляция), а также 10 и 13 (замыкающее строку) используются в качестве разделителей при написании программ на ТП 7.0.
В любом месте программы, где можно расположить один символ- разделитель, их можно разместить сколько угодно.
3. Специальные символы – символы, выполняющие определенные функции при построении различных конструкций языка:
+ - * / { } [ ] ( ) < > . , ' : ; ^ @ # $
4. Составные символы – группа символов, которые воспринимаются компилятором как единое целое:
<= => := (* *) (. .) ..
5. «Неиспользуемые» символы – это символы так называемой расширенной таблицы ASCII, т.е. символы, имеющие коды от 128 до 255 (в этой области находятся символы алфавита русского языка и символы псевдографики), а также некоторые символы из основной таблицы ASCII (например: (&), (!), (%), (-), (") и некоторые другие) не входят в алфавит языка, т.е. эти символы не используются в идентификаторах. Тем не менее, их можно использовать в тексте комментариев, а также в виде значений констант строк или констант символов.
Комментарии – это пояснения к программе, содержащие указания о методах решения и обозначениях переменных. Они облегчают чтение программы и ее изменение. Комментарии к сложным программам, содержащим более 15–20 операторов, необходимы!
Комментарии могут содержать русские буквы и слова. Они игнорируются компилятором. Комментарии могут располагаться в любом месте программы (обычно после заголовка и операторов) и заключаются в парные фигурные скобки { } или сочетание соответствующей круглой скобки и звездочки: (* *).
Константы строк – это последовательность символов, записанная между апострофами. Если в строке в качестве содержательного символа необходимо употребить сам апостроф, то следует записать два апострофа.
6. Зарезервированные слова.К ним относят
1. Заголовки программ и модулей. Program, uses.
2. Обозначения разделов описания переменных, констант, типов, процедур и функций. Var, const, type, procedure, function.
3. Слова, начинающие и оканчивающие последовательность составных и исполняемых операторов программы. Begin, end.
4. Управляющие операторы. If , then, while, repeat, do, for, case
5. Зарезервированные слова библиотечных модулей. Implementation, interface.
6. Зарезервированные слова арифметических и логических операций. Div, mod, and, or, sin, sqr
В качестве имен идентификаторов в программе зарезервированные слова использоваться не могут. Использование этих слов в программе не по назначению вызывает ошибку при попытке компиляции.
Программа состоит из последовательности лексических единиц - лексем. Лексема – это минимальная единица языка, имеющая самостоятельный смысл. Лексемы условно делятся на несколько классов:
· идентификаторы;
· числа без знака;
· специальные знаки (слова-символы и специальные знаки);
· символьные константы (строки),
· директивы;
· метки.
Блок лексического анализа компилятора, рассматривая символы входного языка, определяет, к какому классу принадлежит лексема. Между лексемами разрешено вставлять один и более разделителей. В качестве разделителей используются пробелы, комментарии, символы «конец строки».
6.2. Общая структура программ в Turbo Pascal 7.0
Любую программу, написанную на ТP 7.0, можно условно разделить на три основные части:
1. Раздел объявлений и соглашений (декларационная часть).
Программист сообщает компилятору, какими идентификаторами он обозначает данные (константы и переменные), а также определяет собственные типы данных, которые он в дальнейшем намеревается использовать в данной программе. При этом необходимо следить за тем, чтобы не возникали конфликты между локальными и глобальными объявлениями различных объектов.
2. Раздел текстов процедур и функций.
В разделе записываются подпрограммы, осуществляющие сложные действия, которые необходимо произвести неоднократно на разных этапах выполнения программы. Подпрограммы бывают двух типов: процедуры (PROCEDURE) и функции (FUNCTION). И те и другие представляют собой программы в миниатюре – они могут иметь те же разделы, что и основная программа, в частности, раздел локальных процедур и функций, вызываемых только в пределах данной подпрограммы.
3. Раздел основного блока (сама программа).
Раздел основного блока программы содержит смысловую часть программы и состоит из последовательности операторов, разделенных символом «;».