Предметно-ориентированные языки программирования

Купить бумажную книгу и читать

Купить бумажную книгу

По кнопке выше можно купить бумажные варианты этой книги и похожих книг на сайте интернет-магазина "Лабиринт".

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

Дата создания страницы: