Купить бумажную книгу и читать
По кнопке выше можно купить бумажные варианты этой книги и похожих книг на сайте интернет-магазина "Лабиринт".
Using the button above you can buy paper versions of this book and similar books on the website of the "Labyrinth" online store.
Реклама. ООО "ЛАБИРИНТ.РУ", ИНН: 7728644571, erid: LatgCADz8.
Название: Предметно-ориентированные языки программирования
Автор: Мартин Фаулер
Издательство: Вильямс
Год: 2011
Страниц: 576
ISBN: 978-5-8459-1738-6
Формат: PDF
Размер: 11 Мб
Язык: русский
В этой книге известный эксперт в области программного обеспечения Мартин Фаулер предоставляет информацию, которая поможет вам определиться, следует ли использовать предметно-ориентированные языки для решения стоящих перед вами задач. Если применение предметно-ориентированных языков окажется оправданным, то вам пригодится вторая часть книги, в которой подробно, на конкретных примерах, описаны технологии, применяемые при создании таких языков.
Методы, описанные в данной книге, могут использоваться в большинстве современных объектно-ориентированных языков программирования. В основном примеры в книге написаны на Java и C#, но в некоторых из них использован Ruby. Все главы по возможности организованы в виде самодостаточных частей, а большинство справочных разделов - в знакомом читателю формате описания шаблонов программирования.
При правильном выборе и применении предметно-ориентированные языки могут существенно упростить сложный код, обеспечить эффективное общение с пользователями, повысить производительность и устранить узкие места разработки. В этой книге известный эксперт в области программного обеспечения Мартин Фаулер предоставляет информацию, которая поможет вам определиться, следует ли использовать предметно-ориентированные языки для решения стоящих перед вами задач. Если применение предметно-ориентированных языков окажется оправданным, то вам пригодится вторая часть книги, в которой подробно, на конкретных примерах, описаны технологии, применяемые при создании таких языков.
Оглавление
Предисловие 17
Благодарности 24
Часть I. Описание 27
Глава 1. Вводный пример 29
Глава 2. Использование предметно-ориентированных языков 49
Глава 3. Реализация предметно-ориентированных языков 63
Глава 4. Реализация внутреннего DSL 85
Глава 5. Реализация внешнего DSL 105
Глава 6. Выбор между внутренними и внешними DSL 119
Глава 7. Альтернативные вычислительные модели 127
Глава 8. Генерация кода 135
Глава 9. Языковые инструментальные средства 143
Часть II. Общие вопросы 157
Глава 10. Зоопарк DSL 159
Глава 11. Семантическая модель 171
Глава 12. Таблица символов 177
Глава 13. Переменная контекста 187
Глава 14. Построитель конструкции 191
Глава 15. Макрос 195
Глава 16. Уведомление 205
Часть III. Вопросы создания внешних DSL 211
Глава 17. Трансляция, управляемая разделителями 213
Глава 18. Синтаксически управляемая трансляция 229
Глава 19. Форма Бэкуса–Наура 237
Глава 20. Лексический анализатор на основе таблицы регулярных выражений 247
Глава 21. Синтаксический анализатор на основе рекурсивного спуска 253
Глава 22. Комбинатор синтаксических анализаторов 263
Глава 23. Генератор синтаксических анализаторов 277
Глава 24. Построение дерева 289
Глава 25. Встроенная трансляция 305
Глава 26. Встроенная интерпретация 311
Глава 27. Внешний код 315
Глава 28. Альтернативная токенизация 325
Глава 29. Вложенные операторные выражения 333
Глава 30. Символ новой строки в качестве разделителя 339
Глава 31. Прочие вопросы 343
Часть IV. Вопросы создания внутренних DSL 347
Глава 32. Построитель выражений 349
Глава 33. Последовательность функций 357
Глава 34. Вложенные функции 361
Глава 35. Соединение методов в цепочки 375
Глава 36. Перенос области видимости в объект 387
Глава 37. Замыкание 397
Глава 38. Вложенные замыкания 403
Глава 39. Список литералов 415
Глава 40. Ассоциативные массивы литералов 417
Глава 41. Динамический отклик 423
Глава 42. Аннотации 439
Глава 43. Работа с синтаксическим деревом 449
Глава 44. Класс таблицы символов 461
Глава 45. Шлифовка текста 469
Глава 46. Расширение литералов 473
Часть V. Альтернативные вычислительные модели 477
Глава 47. Адаптивная модель 479
Глава 48. Таблицы принятия решений 485
Глава 49. Сеть зависимостей 495
Глава 50. Система правил вывода 503
Глава 51. Конечный автомат 517
Часть VI. Генерация кода 521
Глава 52. Генерация с помощью преобразователя 523
Глава 53. Шаблонная генерация 529
Глава 54. Встроенный помощник 537
Глава 55. Генерация, осведомленная о модели 545
Глава 56. Генерация, игнорирующая модель 557
Глава 57. Отделение генерируемого кода с помощью наследования 561
Список литературы 569
Предметный указатель 570
Купить бумажную книгу или электронную версию книги и скачать
По кнопке выше можно купить бумажные варианты этой книги и похожих книг на сайте интернет-магазина "Лабиринт".
Using the button above you can buy paper versions of this book and similar books on the website of the "Labyrinth" online store.
Реклама. ООО "ЛАБИРИНТ.РУ", ИНН: 7728644571, erid: LatgCADz8.
Дата создания страницы: