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

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

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

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

Проанализируйте вашу локальную операционную систему и виртуальный компьютер, предоставляемый ею программисту. Насколько хорошо операционная система нашего компьютера обеспечивает достижение перечисленных выше целей? Язык программирования ВАБ1С часто реализуется посредством полного программ ного моделирования виртуального компьютера языка ВАЯС. Если допустить, что моделирующие этот виртуальный компьютер программы написаны на языке ЕОВТКАХ (что вполне возможно), то в схеме, аналогичной той, что приведена на рис.

2А, добавится еще олин уровень, Изобразите этот дополнительный уровень. Если вы знакомы с обоими этими языками, полумайте, какие части виртуального компьк>гера языка ВА51С могут быть смоделированы при помощи программ на языке ЕОКТКАХ. В каком месте упомянутой схемы расположится тлраягляглор, который преобразует программы на языке ВАБ1С в их выполняемую форму? 3 4 2.4. Задачи и упражнения 1. Проанализируйте реализацию какого-либо известного вам языка програм- 2.4. Задачи и упражнения 91 5. Напишите какой-либо оператор на знакомом вам языке. Для каждого синтаксического компонента (имена переменных, символы операций и т, д,) перечислите все возможные связывания, необходимые для полного определения семантики данного оператора при его выполнении.

Для каждого связывания определите время связывания, используемое вэтом языке. 6. Выполните задание 5, но уже не для оператора, а для обьявления, Про объявления говорят, что они обрабатываются (е!аЬогасео), а не выполняются. Перечислите, какие связывания должны произойти для полной обработки этого объявления, и укажите времена этих связываний. 7. Посмотрите, какие языки обсуждаются в приложении. Какие из них, по вашему мнению, пе войдут в следующее издание этой книги? Какие будут наиболее популярными в течение следующих десяти лет? Рассмотрите времена связываний различных объектов, виртуальный компьютер, необходимый для выполнения программ, и другие атрибуты языка, влияющие на эффективность его использования. Глава 3.

Вопросы трансляции языка На раннем этапе разработки языков программирования (в 60-х гг., когда создавались такие языки, как ГОКТгсАН, АЕСО1., СОВО). и 1гЯР) считалось, что для написания программ достаточно соблюдения формальных правил синтаксиса. Была разработана концепция контекстно-свободной грамматики, или НФБ- грамматики (от «нормальная форма Бэкуса»), которая обсуждается в этой главе. Эта концепция с успехом применялась для спецификации синтаксиса языка, и до сих пор она является основным способом описания компонентов программы. Но со временем стало ясно, что одного синтаксиса недостаточно для решения всех вопросов, связанных с разработкой языков программирования.

В главе 4 вы найдете краткое введение в семантику языка программирования — совокупи он т ий а и г мм ость правил, определяющих смысл как языковых к с рукц, т к про ра,г в целом. 3.1. Синтаксис языка программирования Сиггтаксис, определяемый как есистема языковых категорий, относящихся к соединениям слов и строению предложений»', в языках програлгмирования описывает последовательность символов, которая составляет синтаксически правильную программу, Например, в языке С оператор Х = У+ Упредставляет собой правильную последовательность символов, а выражение ХУ+ — не является правильной последовательностью. Синтаксис предоставляет важную информацию, необходимую как для понимания программы, так и для ее трансляции в обьектную программу.

Например, почти все читатели данной книги согласятся, что значение выражения 2 е 3 х 4 равно 14, а не 20. То есть это выражение интерггретируется как 2 + (3 х 4), а пе как (2 + 3) х 4. При желании мы можем выбрать любую интерпретацию путем задания соответствующих синтаксических правил н таким образом дать транслятору О и ееоп С. П., Пнеедоеа и. Ю.

Толковый словарь русского языка г РАН; Российский фонд культуры. 2-е изд., испр. и доп. М с Аэт ь 1995. 928 с. П орипгнале здесь цнткса и ссылка ггагЪевзсегз Лемг Мог И 771снопагу, Раисеи, 1979. Мы со гли уместным в русском переводе привести цитату из толкового словаря русског о языка, — Примем. наум.

дед. не рс вод определения из рте ьзсег з 1мегм %гогы Ряс ноп агу примерно таков; » Структура предложения, состоягдего из слов, ныявлякзгггвя их взаимосвязи — Иринея,,гиьь ред. 3.1. Синтаксис языка программирования 93 указание генерировать правильную последовательность операций для вычисления значения этого выражения, Как и в случае с неоднозначнылг английским предложением «ТЬеу аге Лу1пй р!апез»', одного синтаксиса языка нелостаточно для однозначной спецификации структуры оператора. Например, в операюре Х = 2.45 + 3.67 синтаксис не скажет нам, была ли объявлена переменная Х в программе, а если и была, то является ли она переменной вещественного типа. Результат выполнения этого оператора мо- жет быть Х = 5, Х - 6 или Х - 6 12 в зависимости от того, как были определены тип переменной Х и операция сложения «+».

Если переменная Х была определена как целая переменная, а операция «+» — как целочисленное сложение, то результат будет Х = 5. Если Х вЂ” целая переменная, а < +» обозначает сложение вещественных чисел, то в итоге получится Х = 6. Если же и Х, и < +» определены как относящиеся к вещественному типу, то результат будет Х = 6,12. Таким образом, для полного описания языка программирования недостаточно только определения синтаксических структур. В языке имеются и другие атрибуты, известные под общим названием семантика, которые не всегда определяются синтаксическими правилами, но оказывают влияние на переменную.

Сюда относятся использование объявлений, операций, управление последовательностью действий и среда ссылок. Хотя описания синтаксиса недостаточно для полного понимания языка программирования, все же синтаксис является важным его атрибутом. По большей части описание синтаксиса является решенной задачей, Когда чуть позже мы будем в этой же главе обсуждать разработку транслятора, то увидим, что первая фаза— фаза синтаксического разбора исходной программы — представляет собой чисю механический процесс.

Такие инструменты, как г'АСС (Уег Апотйег Сотр11ег Сошр11ег) автоматически создают синтаксическое описание исходной программы. Использование семантики для генерирования эффективной объектной программы из заданной исходной программы все еше требует большого мастерства в сочетании с применением некоторых формальных методов. 3.1.1. Общие синтаксические критерии Основным назначением синтаксиса языка программирования является обеспечение системы обозначений для обмена информацией между программисюм и процессором языка программирования.

Выбор конкретных синтаксических структур, тем не менее, только в небольшой степени определяется необходимостью передачи конкретной информации. Например, тот факт, что значение некоторой переменной принадлежит к типу вещественных чисел, можно выразить дюжиной различных способов — посредством явного описания в языке С или неявного соглашения о выборе имен в языке РОКТКАК и т, д, При разработке деталей синтаксиса по Это предложение можно перевести двояко: «Оии летят самолетами» и «Оии являются лстяшими самолетами». — Прамеч. пер. Эта фраза имеет двоякий смысл лишь ввиду игнорирования артиклей и предлогов, ч го пе свойственио уважающему родной язык англичанину А»гернкаипьс ис столь шепетильиыс в вопросах языка, могу~ считать зту фразу и маюшсй право па супшст воз а в ис, то~да как апгли чапе посч итак»т ее заведомо ошибочной: должно быть либо «ТЬеу аге Яу1пй Ьу р1апез», либо «ТЬеу аге гЬе Яу1пя р!апек»вЂ” Примеч.

ливь ред. 94 Глава 3. Вопросы трансляции языка большей части исходят из второстепенных соображений (таких, например, как простота чтения программы), которые не связаны напрямую с основной задачей передачи информации процессору языка. Второстепенных критериев довольно много, но их можно разбить на четыре основные группы: легкость чтения, написания и трансляции программы, а также однозначность. Мы рассмотрим некоторые подходы к разработке синтаксических структур языка, которые удовлетворяют указанным (часто противоречащим друг другу) целям. Легкость чтения.

Программа легка для чтения, если структура ее алгоритма и представленные в ней данные становятся очевидны при просмотре ее текста. Легкую для чтения программу называют также самодокументируемой, так как для ее понимания не требуется никакой дополнительной документации (на практике эта цель редко достигается). Легкости чтения способствуют такие качества языка, как естественные форматы операторов, структурированные операторы, свободное использование ключевых и необязательных слов, возможность встраивания в текст программы комментариев, неограниченность длины идентификаторов, мнемонические символы операций, запись программы в свободном формате и полный набор объявлений используемых данных. Безусловно, легкость чтения программы не может гарантироваться только лишь идеологией языка, так как самая лучшая идеология не может стать панацеей от плохого программирования.

Однако синтаксические конструкции языка могут быль таковы, что даже программист, имеющий самые лучшие намерения, будет писать на этом языке неудобочитаемые программы (примером может служить АР) ). Наиболее ярко стремление к удобочитаемости выражено в С ОБОЕ, но, к сожалению, лишь за счет удобства записи н трансляции. Улучшает чтение программы такой синтаксис языка, в котором синтаксические различия отражают лежашпе в его основе семантические особенности.

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

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

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