Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
54
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Синтаксические диаграммы

-----------------------------------------------------------------

При изучении глав 2 - 11, где определяется язык Borland

Pascal, вы встретите синтаксические диаграммы, например:

---- --------------- ----

константа-массив --->¦ ( +---->¦типизированная+--T->¦ ) +-->

L---- ^ ¦ константа ¦ ¦ L----

¦ L--------------- ¦

¦ ---- ¦

L------+ , ¦<---------

L----

Чтобы прочитать диаграмму, следуйте по стрелкам. Часто

встречаются альтернативные пути: путь, начинающийся слева и за-

канчивающийся стрелкой справа, является допустимым. Путь пересе-

кает блоки, содержащие имена элементов, используемых для построе-

ния этой части синтаксиса.

Имена в прямоугольных рамках с текстом должны быть заменены

действительными конструкциями. Некоторые рамки содержат зарезер-

вированные слова, знаки операций и знаки пунктуации, то есть фак-

тические термы, используемые в программе. Имена в блоках - это

конструкции языка. Имена, написанные по-английски (например,

procedure), представляю собой зарезервированные слова и операции

Borland Pascal.

Глава 2.Лексемы

Лексемы - это минимальные значимые единицы текста в програм-

ме, написанной на Паскале. Они представлены такими категориями

как специальные символы, идентификаторы, метки, числа и строковые

константы.

Программа, написанная на Паскале, состоит из лексем и разде-

лителей, причем разделитель представляет собой пробел или коммен-

тарий. Две соседние лексемы, если они представляют собой зарезер-

вированное слово, идентификатор, метку или число, должны быть

отделены друг от друга одним и несколькими разделителями.

Примечание: Разделители не могут быть частью лексем,

за исключением строковых констант.

Специальные символы

Borland Pascal использует следующие подмножества набора сим-

волов кода ASCII:

* Буквы - буквы английского алфавита от A до Z и от a до z.

* Цифры - арабские цифры от 0 до 9.

* Шестнадцатиричные цифры - арабские цифры от 0 до 9, буквы

от A до F и буквы от a до f.

* Разделители - символ пробела (ASCII 32) и все управляющие

символы кода ASCII (ASCII 0-31), включая символ конца

строки или символ возврата (ASCII 13).

буква

¦

L---------T--------------T--------------T--------------

¦ ¦ ¦ ¦

v v v v

---- ---- ---- ----

¦ A ¦ ... ¦ Z ¦ ¦ a ¦ ... ¦ z ¦

L-T-- L-T-- L-T-- L-T--

¦ ¦ ¦ ¦

L--------------+--------------+--------------+---->

цифра

¦

L------T-----------

¦ ¦

v v

---- ----

¦ 0 ¦ ... ¦ 9 ¦

L-T-- L-T--

¦ ¦

L-----------+------->

шестнадцатиричная

цифра

¦ ------------

L-------->¦ цифра ¦-------------------------

¦ L------------ ¦

¦ ¦

L---T---------T---------T--------- ¦

¦ ¦ ¦ ¦ ¦

v v v v ¦

---- ---- ---- ---- ¦

¦ A ¦ .. ¦ F ¦ ¦ a ¦ ... ¦ f ¦ ¦

L-T-- L-T-- L-T-- L-T-- ¦

¦ ¦ ¦ ¦ ¦

L---------+---------+---------+---------+--------->

Специальные символы и зарезервированные слова представляют

собой символы, имеющие одно или несколько фиксированных значений.

Специальными символами являются следующие одиночные символы:

+ - * / = < > [ ] . , ( ) : ; ^ @ { } $ #

Следующие пары символов также представляют собой специальные

символы:

<= >= := .. (* *) (. .)

Кроме того, некоторые специальные символы являются знаками

операций. Левая квадратная скобка ([) эквивалентна паре символов,

состоящей из левой круглой скобки и точки ((.). Аналогично правая

квадратная скобка (]) эквивалентна паре символов, состоящей из

точки и правой круглой скобки (.)).

Соседние файлы в предмете Программирование на Pascal