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