В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова - Введение в язык Паскаль (1107618), страница 68
Текст из файла (страница 68)
Выражения(выражение) ::=<арифметическоевыражение)(литерное выражение)(логическое выражение)•(выражение перечислимого т и п а ) •<выражение регулярноготипа)—•(выражение комбинированного т и п а ) ••<ссылочное выражение)(множественноевыражение)<арифметическое выражение) ::="•(слагаемое)j(слагаемое)i—Умножитель) di v11 1(множитель) : : =— — imod(константа без з н а к а )»»-(переменная)»-( Ф у н к ц и я )»-(»-<арифметическое в ы р а ж е н и е )»-)С (константа без знака), (переменная), ( Ф у н к ц и я ) - целогоили вещественного типа >(литерноевыражение)^-(константа)^-(переменная)*-»•(Функция)£ (константа), (переменная), ( Ф у н к ц и я ) - литерного типа >(выражение перечислимого т и п а ) ::=—(константа)—(переменная )— ( Функция){(константа), (переменная), ( Ф у н к ц и я ) - перечислимого типа}20*307<выражение регулярного т и п а ) s s 1TZ-<переменная)<строковая к о н с т а н т а ) •£ < п е р е м е н н а я ) — регулярного типаУ<выражвнир комбинированного т и п а )• <переменная)а^-{ < п е р е м е н н а я ) — комбинированного типа У<ссылочное в ы р а ж е н и е ) ::•nil•-<переменная) -<Функция)i <переменная>, < Ф у н к ц и я ) — ссылочного типа У<множественное в ы р а ж е н и е ) ::=—конструктормножества>-—переменная)• ( ^ м н о ж е с т в е н н о е выражение )-»») -1 гт< < п е р е м е н н а я ) — множественного типа ><конструктор м н о ж е с т в а ) ::-индексноевыражение)С индексное в ыр ажение ) -<индексное в ы р а ж е н и е ) ::=арифметическое в ы р а ж е н и е ) •литерноевыражение)Алогическоевыражение)><выражение перечислимого типа){ <арифметическое в ы р а ж е н и е ) — типа integer }<логическое в ы р а ж е н и е ) ::=-|I308<простое логическое выражение)о т н о ш е н и е ) •——<простое логическое в ы р а ж е н и е ) ::=^<логическоеслагаемое)—<логическое с л а г а е м о е ) : : =глогический1множитель)and-*<логическиймножитель)константа)< переменная >• < Функция)• notлогическиймножитель)-<логическое в ы р а ж е н и е ){ <константа), <переменная), < Ф у н к ц и я ) - логического типа«(отношение) :: =-^•<скалярноеотношение)строковоеотношение)(множественное отношение ><скалярное о т н о ш е н и е ) :s*=-арифметическоеIвыражение> — -Сол.сравн.> "арифметическоевыражение) —•<простое логическое в ы р а ж е н и е )1— • <простоелогическое^-<оп.сравн.>-выражение)•<выражение перечислимого т и п а ) — Х о п .
с р а в н . ) •1>• <выражение перечислимого т и п а )-<литерноев ы р а ж е н и е ) — < о п . с р а в н . > - > < л и т е р н о е выражение>-х:т--<ссылочное в ы р а ж е н и е ) iТ= — ^ с с ы л о ч н о е выражение)<строковое о т н о ш е н и е ) :s=г-<строковаяконстанта>-^-<оп.
сравн. >-|^;строковая к о н с т а н т а )<стрс^переменная)— • Сг''•«(переменная) ~i < п е р е м е н н а я ) — строкового типа 3-<оп. с р а в н . ) ::=309'множественное о т н о ш е н и е ) ::='индексное(множественное выражение>-выражение)1.5. Переменные. Описание переменных.< п е р е м е н н а я ) ::=-•(имяпеременной)< имя по л я )-<индекс)--<имяПОЛЯ)чиндекс) ::=индексноевыражение)< описание переменных>-^•<имя1.6.->-<тип>переменной)Описание констант<описание к о н с т а н т ы ) ::—^<имяконстанты)-< константа)-С к о н с т а н т а ) ::=<имяTZарифметической константы)•<число без з н а к а )литерная константа >-<строковая310константа)1.7.Типы значений.Описания типов.С Будем различать основные и производные типы значений.К основнымтипам относятсяцелый, литерный,типы.скалярные(Еецественный,перечислимый, ограниченный)иссылочныйЗначением основного типа является отдельное данное.К производнымтипам относятся:ванные, множественныеного типав общемрегулярные, комбиниро-и файловые типы.Значением произволслучае является нетривиальная структураданных.Ограниченный типного диапазонавозникает путем выделения определен-из множествазначений другого,перенумеро-ванного, скалярного типа,ноторый является базовым для д а н -н о г о ограниченногоВ качестве базового может служитьцелый,типа.литерный или перечислимый типы.Подиндекснымлитерный итипомперечислимый типыбудемпониматьограниченный,(в том числе логический тип,являющийся стандартным перечислимым типом)3<описание т и п а ) : : =• <имя т и п а )•=• <тип)<тип )-<имя типа)*<задание перечислимого типа)•• <задание ограниченного т и п а )•<задание ссылочного т и п а )чзадание регулярного типа/г_ тpacked — 1-<задание комбинированного типа)•<задание множественного т и п а )< задание % Файлового типа )<задание перечислимого т и п а ) :: =•(>* < идентификатор >311<задание ограниченного т и п а ) ::•<константа >..константа >•С <константа> - типа, который является базовым для данногоограниченного типа ><задание ссылочного т и п а ) ::=• t• <имя т и п а )^<задание регулярного т и п а ) :ar гау•С-of» < тип индекса )«-< тип компонент ) -<тип и н д е к с а ) ::=• <имятипа)•<задание т и п а )€<имя типа), <задание т и п а ) - имя, задание индексного типа)<тип к о м п о н е н т ) ::=— < т и п )С < т и п ) - любой, кроме Файлового }«(задание комбинированного т и п а )— • recordсписокполей)end-<список п о л е й ) ::=—<секциязаписи)чсекция записи) :::«(имя п о л я )•< тип >«(задание множественного т и п а ) :: =set312• of^-<тип)-<задание Файлового т и п а ) ::=— • file1.8.оi• < тип >Процедуры и функции<описание ф у н к ц и и ) ::=• 'заголовок Ф у н к ц и и )•;^-<блок><заголовок Ф у н к ц и и ) ::=••functionс <;совокупность•СимяФункции)Формальных{ <имя т и п а ) - имяпараметров)——имяосновноготипа)—•типа >«'описание п р о ц е д у р ы ) :: =•<заголовок п р о ц е д у р ы )•;•-<блок),заголовок п р о ц е д у р ы ) ::=•procedure•-имяпроцедуры)^—• <совокупность Формальных п а р а м е т р о в )«'совокупность Формальных п а р а м е т р о в ) :: =— • • с е к ц и я Формальных п а р а м е т р о в )•)<секция Формальных п а р а м е т р о в ) ::=— • «'параметры-значения)т—• 'параметры—переменные)•• <параметр—Функция >••<параметр—процедура)параметры-значения,• <идентификатор).имя т и п а )313<паранетры-переменные>var«(имя типа>т-*- < идентификатор > —(параметр-функция> : : =—<заголовокФункции)<параметр-процедура) ::=•«(заголовокпроцедуры}< функция > :: —(имя Ф у н к ц и и ) — • <ТФактическийпараметр1.9.
Имена, метки, константы< и м я ) s: =^-«(идентификатор);(идентификатор) ::=—•«(буква)-<буква) -«(цифра) -<метка оператора) ::=••(•целое без з н а к а )С <целое без знака) из диапазона CO..99991 >«(число без з н а к а ) :: =«(целое без з н а к а )-<вещественное без з н а к а )«(целое без з н а к а ) : : —•<цифра) -3141Г(вещественное без знака>::=(число с Фиксированной точкой)(число с плавающей т о ч к о й )(число с Фиксированной т о ч к о й ) г:(цифра)-(цифра)(число с плавающей т о ч к о й ) !:•>-+—-(целое без знака)--(целое без знака)-•-(число с Фиксированной т о ч к о й )<литерная к о н с т а н т а ) ::=•=< л и т е р а ) —<строковая к о н с т а н т а ) ::<литера)т--<литера)СПИСОК ЛИТЕРАТУРЫ1.
Йенсен К., Вирт Н. ПАСКАЛЬ: руководство для пользователя и описание языка. М.: Финансы и статистика, 1982.2. Грогоно П. Программирование на языке Паскаль. - М.: Мир, 1982.3. Вирт Н. Алгоритмы + структуры данных = программы. - М.: Мир, 1985.4. Грэхем Р. Практический курс языка Паскаль для микроЭВМ. - М.: Радио и связь,1986.5. Findlay W., Watt D.A., Pascal. An introduction to methodical programming. Third edition. — London: Pitman, 1985.ОГЛАВЛЕНИЕПРЕДИСЛОВИЕ3Глава 1.5введение в язык паскаль1.1. Общая характеристика языка паскаль1.2. Способы описания синтаксиса1 . 2 . 1 .
Я з ы к металингвистических формул(9).1.2.2.Синтаксическиедиаграммы (11)1.3. Алфавит языка1.4. Основные понятия я з ы к а1.4.1. Операторы (17) . 1.4.2. Имена и идентификаторы (17) .1.4.3. Описания (19). 1.4.4. Переменные (20) . 1.4.5. Функции и процедуры (21)1.5. Стандарт языка и его реализации1.6. Правила записи текста программы1.7. Пример программы на паскалеГлава 2. о с н о в н ы е т и п ы д а н н ы х2.1. Концепция данных,.. .