Информация о книге

978-5-94074-913-4, 978-5-97060-242-3

Главная  » Тематика определяется » Введение в теорию языков программирования

Довек Ж., Леви Ж., Введение в теорию языков программирования

ДМК-Пресс, 2015 г., 978-5-94074-913-4, 978-5-97060-242-3


Наличие в интернет-магазинах

Магазинов: 3, Цена: от 989 руб. посмотреть все

Описание книги

Языки программирования от Фортрана и Кобола до Caml и Java играют ключевую роль в управлении сложными компьютерными системами. Книга \"Введение в теорию языков программирования\" представляет читателю средства, необходимые для проектирования и реализации подобных языков. В ней предлагается единый подход к различным формализмам для определения языков программирования - операционной и денотационной семантике. Особое внимание при этом уделяется способам задания отношений между тремя объектами: программой, входным значением и результатом. Эти формализмы демонстрируются на примере таких типичных элементов языков программирования, как функции, рекурсия, присваивание, записи и объекты. При этом показывается, что теория языков программирования состоит не в последовательном изучении самих языков один за другим, а строится вокруг механизмов, входящих в различные языки. Изучение таких механизмов в книге приводит к разработке вычислителей, интерпретаторов и компиляторов, а также к реализации алгоритмов вывода типов для учебных языков.

Купить эту книгу можно в интернет-магазинах

  Буквоед - 989 руб.   Читай-Город - 989 руб.
  Страница товара выбранного интернет-магазина откроется в новом табе

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

  Литрес - 199 руб.

Читать онлайн


Доступен для чтения фрагмент книги

Поделиться ссылкой на книгу



Содержание книги

От переводчиков
Что называют теорией языков программирования?
Благодарности
Глава 1. Термы и отношения
1.1.Индуктивные определения
1.1.1. Теорема о неподвижной точке
1.1.2. Индуктивные определения
1.1.3. Структурная индукция
1.1.4. Рефлексивно-транзитивное замыкание
отношения
1.2.Языки
1.2.1. Языки без переменных
1.2.2. Переменные
1.2.3. Многосортные языки
1.2.4. Свободные и связанные переменные
1.2.5. Подстановка
1.3.Три способа задания семантики языка
1.3.1. Денотационная семантика
1.3.2. Операционная семантика с большим шагом
1.3.3. Операционная семантика с малым шагом
1.3.4. Незавершающиеся вычисления
Глава 2. Язык PCF
2.1. Функциональный язык PCF
2.1.1. Программы как функции
2.1.2. Функции как объекты первого класса
2.1.3. Функции с несколькими аргументами
2.1.4. Без присваиваний
2.1.5. Рекурсивные определения
2.1.6. Определения
2.1.7. Язык PCF
2.2.Операционная семантика с малым шагом
2.2.1. Правила
2.2.2. Числа
2.2.3. Эквивалентность (congruence)
2.2.4. Пример
2.2.5. Нередуцируемые замкнутые термы
2.2.6. Незавершающиеся вычисления
2.2.7. Слияние (confuence)
2.3.Стратегии редукции
2.3.1. Понятие стратегии
2.3.2. Слабая редукция
2.3.3. Вызов по имени
2.3.4. Вызов по значению
2.3.5. Немного лени не помешает
2.4.Операционная семантика с большим шагом
2.4.1. Вызов по имени
2.4.2. Вызов по значению
2.5.Вычисление PCF-программ
Глава 3. От вычисления к интерпретации
3.1. Вызов по имени
3.2. Вызов по значению
3.3. Оптимизация: индексы де Брауна
3.4. Построение функций с помощью неподвижных
точек
3.4.1. Первая версия: рекурсивные замыкания
3.4.2. Вторая версия: рациональные значения
Глава 4. Компиляция
4.1. Интерпретатор, написанный на языке без
функций
4.2. От интерпретации к компиляции
4.3. Абстрактная машина для PCF
4.3.1. Окружение
4.3.2. Замыкания
4.3.3. Конструкции PCF
4.3.4. Использование индексов де Брауна
4.3.5. Операционная семантика с малым шагом
4.4.Компиляция PCF
Глава 5. PCF с типами
5.1.Типы
5.1.1. PCF с типами
5.1.2. Отношение типизации
5.2.Отсутствие ошибок во время выполнения
5.2.1. Использование операционной семантики с
малым шагом
5.2.2. Использование операционной семантики с
большим шагом
5.3.Денотационная семантика для PCF с типами
5.3.1. Тривиальная семантика
5.3.2. Завершаемость
5.3.3. Отношение порядка Скотта
5.3.4. Семантика неподвижной точки
Глава 6. Вывод типов
6.1.Вывод мономорфных типов
6.1.1. Присвоение типов нетипизированным
термам
6.1.2. Алгоритм Хиндли
6.1.3. Алгоритм Хиндли с немедленным
разрешением
6.2.Полиморфизм
6.2.1. PCF с полиморфными типами
6.2.2. Алгоритм Дамаса-Милнера
Глава 7. Ссылки и присваивание
7.1. Расширение PCF
7.2. Семантика PCF со ссылками
Глава 8. Записи и объекты
8.1.Записи
8.1.1. Помеченные поля
8.1.2. Расширение PCF записями
8.2.Объекты
8.2.1. Методы и функциональные поля
8.2.2. Что значит "Self"?
8.2.3. Объекты и ссылки
Послесловие
Библиография
Предметный указатель


Об авторе


Последние поступления в рубрике "Тематика определяется"



Фигуры 2+. Вырезалки Фигуры 2+. Вырезалки Терентьева Н.М., Маврина Л.

Умение вырезать – важный навык, который способствует развитию мелкой моторики рук, координации движений, внимательности и усидчивости....

Первые контурные вырезалки 2+ Первые контурные вырезалки 2+ Терентьева Н.М., Маврина Л.

Умение вырезать - важный навык, который способствует развитию мелкой моторики рук, координации движений, внимательности и усидчивости. Для детей до 3-х лет....

Мои первые вырезалки 2+ Мои первые вырезалки 2+ Терентьева Н.М., Маврина Л.

Умение вырезать – важный навык, который способствует развитию мелкой моторики рук, координации движений, внимательности и усидчивости. Для детей до 3-х лет....

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Довек Ж., Леви Ж., Введение в теорию языков программирования в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.