Главная » Просмотр файлов » Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)

Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801), страница 29

Файл №1160801 Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)) 29 страницаТ. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801) страница 292019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 29)

Выражения являются ос- Зд. Синтаксис языка программирования 101 ионными синтаксическими блокамп, из которых строится оператор (а иногда и программа). В императинпых языках (например, в языке С) выражения формируют основные операции, позволяющие изменять состояния компьютера при выполнении каждого оператора. В функциональных языках, таких как М1 или 118Р, выражения используются для управления последовательностью действий. Мы обсудим построение выражений более подробно н главе 8. Операторы.

Операторы являются самыми важными синтаксическими компонентами императивных языков — доминирующим в настоящее время классом языков. Отсинтаксисаоператоронзависятрегулярностьязыка,удобствочтения изаппсп программы. В некоторых языках принят единственный формат записи операторов, в других используются различные форматы для различных типов операторов.

В первом случае обеспечивается регулярность языка, во втором — удобство чтения. В 8НО ВО14 имеется только синтаксис одного основнога оператора — оператора сопоставления с образцом и подстановки, все остальные типы опера~оров гюлучаются из оснонного путем удаления тех или иных его элементов. Но в большинстве языков наблюлается другая край ность: каждый тип апе рата ран имеет спою синтаксическую структуру. В этом отношении самым ярким представителем являешься СОВО).: каждый оператор этого языка имеет свою особую структуру, н которую входят ключевые и необязательные слова, альтернативные конструкции, необязательные элементы и т.

д. Преимушество использования разнообразных синтаксических струкзур, конечно, заключается в том, что операции могут быть выражены естественным образом. Более существенное различие в структурах операторов затрагивает различие между структурированными (или вложенными) и простыми онераторами. В простом операторе, очевидно, не содержится других встроенных операторов. В языках АР(. и БАЖОВО(.4 допускаются только простые операторы.

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

Язык С является примером такой организации языка, при которой каждое отдельное определение подпрограммы рассматривается как отдельный синтаксический компонент. Каждая подпрограмма компилируется отдельно, и затем все они связыва1отся в единую программу во время загрузки. Объектная ориентация требует, чтобы информация передавалась от одного к другому независимо откомпилированному компоненту программы.

Наследование опрелелепий классон требует, чтобы компилятор обработал некоторые из этих отдельных подпрограмм, прежде чем программа будет загружена и начнет выполняться, Отдельные определения данных. Альтернативной моделек) янляется объелинение в одну группу всех операций, которые взаимодействуют с конкретным объектом данных. Например, подпрограмма может состоять из всех операпий, связан- 102 Глава 3.

Вопросы трансляции языка ных с обработкой данных определенного формата, имсюгцихся в программе: операций создания записи данных (т)аса гесогс!), операций печати записи данных и операций вычисления с записью данных. Это общий подход для языков, в которых имеется механизм класса, натгример)ауа, С++ и ВшаИгаИ'.

Вложенные определения подпрограмм. Вложенное определение подпрограмм играло сугцсствепную роль для создания модульных программ на раннем этапе развития таких язьгков программирования, как Л(.ОгО!., ГОСТИЛ)ь! и Рааса!. Но с появлением обьектно-ориентированных языков типа С-ь-ь и )ага эта концепция утратила свое значение.

Рааса! является примером языка со вложенной структурой программ, при которой определения подпрограмм играют роль объявлений в основной программе. Сами эти подпрограммы, в свою очередь, могут содержать другие вложенные определения подпрограмм, и так до любого уровня вложенности. Вложенные определения подпрограмм обеспечивают для этих подпрограмм среду нелокальных ссылок, которая определяется ва время компиляции и допускает статическую проверку типов и компиляцию эффективного выполняемого кода для подпрогралтм, содержащих нелокальные ссылки, Независимые определения интерфейса.

Структура языка ГОКТКАН легко позволяет компилировать отдельные подпрограммы, но недостатком такого подхода является то, что одни и те же данные, нспользуелгые в разных подпрограмлгах, могут по-разному быть объявлены в них. Следствием этого является неспособность компилятора обнаружить подобные несоответствия во время компиляции. Разса!, напротив, позволяет осуществлять такую проверку, так как компилятор языка Разса! имев~ доступ ко всем определениям данных, но недостатком такого подхода является необходимость перекомпиляции всей программы при внесении в нее любого изменения (что, конечно, в случае длинных программ сильно замедляет процесс разработки). В языках Лс!а, Мт. и С для улучшения качества работы компилятора используются возможности обеих методик.

В названных языках реализьция программы состоит из нескольких подпрограмм, которые должны взаимодействовать друг с другом. Все эти компоненты (называемые модтдтяни) связьиаются воедино, как в языке ГОСТИЛ)ч, и образуют выполняемую програмлту; и при изменении какого-либо модуля не приходится компилировать заново всю программу, но толька один измененный лшдуль.

Тем не менее данные, которые используются в нескольких подпрограммах модуля, должны илтеть общие объявления, как в языке Разса!, стобы обеспечи~ь их эффективную проверку компилятором. Однако для передачи информации между независимо компилируемыми модулями нужны дополнительные данные. Для этих целей используется компонент спецификации нрогрцмлгы (ргойгагп-зрес)(!сат(оп соптропепг).

В языке С выбран подход, использующий включение в него некоторых файловых операций операционной системы, что позволяет включать в программу файлы, содержащие определения шггерфейса. Файлы с расширением .п формируют компоненты спецификации программы, а файлы программ с расширением .с формируют компоненты реализации'. В языке Ат(а выбран другой подход: этн сред- В о гтгх имеется популярная программа ма!ге, ко горая используется Лля определения того, какие из файлов с расширениями .с и ж были изменены.

Вто иозво тяет компилировать заново только те компонентьь которые были изменены. Зд. Синтаксис языка программирования 103 ства встроены в язык непосредственно. Программы определены в компонентах, называемых пикетами, в которых содержатся либо спецификации определений интерфейса, либо реализация исходной программы (в теле пакета), использующей эти определения интерфейса. Описания данных, отделенные от выполняемых операторов. Программа на языке СОВО(.

являет собой пример программы, использующей компонентные структуры, характерные для раннего этапа развития языков программирования. В ией описание данных и выполняемые операторы для всех подпрограмм разделены на два отдельных блока раздел данпььт и 1риздел проце0ур. Третий раздел называется раздело»а оборудовиния и содержит описания, относящиеся к внешней операционной среде, Раздел процедур программы организован в виде блоков, каждый из которых соответствует телу какой-либо подпрограммы, но все данные являются глобальными для всех подпрограмм, и ничто пс соответствует обычным локальным данным подпрограмм, Преимущество такого централизованного раздела данных, содержащего объявления всех данных, заключается в том, что появляется логическая независимость форматов данных и алгоритмов в разделе процедур. Незначительные изменения в структуре данных можно осуществить модификацией раздела данных, не затрагивая раздел процедур.

Помимо того, удобнее сосредоточить все описания данных в одном месте, а не рассеивать их по многочисленным подпрограммам. Неотделе нные определения подпрограмм. 8!ч О ВО 14 представляет собой и ример языка, совершенно противоположного языкам с четкой программной организацией — она в ием полностью отсутс1шует. В этом языке не существует никаких синтаксических различий между операторами основной программы и операторами подпрограмм. Независимо от количества имеющихся подпрограмм вся программа синтаксически является просто набором операторов.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее