Скачиваний:
19
Добавлен:
01.05.2014
Размер:
26.11 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет

КАФЕДРА МО ЭВМ

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ N1

по дисциплине "Теория языков программирования"

Преподаватель: Самойленко В.П.

студенты гр. 0341 Юбрин А.Н.

Шин Е.Д.

Санкт-Петербург

2002

Задание: Описать синтаксис описания процедуры в языке Паскаль при условии, что операторы, составляющие тело процедуры, описывать не нужно.

Описание в БНФ:

<Описание процедуры>::=<заголовок процедуры> ; <тело процедуры>;

<заголовок процедуры>::= procedure <идентификатор> <список формальных параметров>

<тело процедуры>::=<блок описания меток>

<блок описания констант>

<блок описания переменных>

<блок описания локальных процедур>

begin

<операторы>

end

<список формальных параметров>::=(<формальные параметры>) | 

<формальные параметры>:=<идентификаторы> : <имя типа> |

var <идентификаторы> : <имя типа> |

<формальные параметры> ; <идентификаторы> : <имя типа> |

<формальные параметры> ; var <идентификаторы> : <имя типа>

<блок описания меток>::=label <идентификаторы>; | 

<блок описания констант>::=const <описания констант>; |

<описания констант>::=<идентификатор> = <константное выражение>|

<описания констант> ; <идентификатор> = <константное выражение>

<константное выражение>::=<идентификатор> | <число>

<блок описания переменных>::=var <описания переменных> ; | 

<описания переменных>::=<идентификаторы> : <имя типа> |

<описания переменных> ; <идентификаторы> : <имя типа>

<блок описания локальных процедур>::=<описание процедуры>|

<блок описания локальных процедур><описание процедуры>|

<операторы>::=  | <операторы> ; <оператор присваивания>

<имя типа>::=real | double | … | boolean | <пользовательский тип>

<идентификаторы>::=<идентификатор>|<идентификаторы>,<идентификатор>

<идентификатор>::=<буква>|<идентификатор><буква>|<идентификатор><цифра>

<буква>::=a|A|b|B|c|C|d|D|e|E|f|F|g|G|h|H|i|I|j|J|k|K|l|L|m|M|n|N|o|O|p|P|q|Q|r|R|s|S|t|T|u|U|v|V|w|W|x|X|y|Y|z|Z|_

<число>::=<целое> | <целое>.<дробное>

<целое>::=<цифра> | <число><цифра>

<дробное>::=<цифра> | <число><цифра>

<цифра>::=0|1|2|3|4|5|6|7|8|9

Соседние файлы в папке Лабораторные работы 1-7(старые)