s-expressions
-
Хабрахабр
Компилятор Go: язык описания правил SSA оптимизаций
В компиляторе gc для описания Static Single Assignment (SSA) правил оптимизаций используется специальный Лисп-подобный предметно-ориентированный язык (DSL). Предлагаю разобрать основные элементы этого языка, его особенности и ограничения.В качестве упражнения, добавим в Go компилятор генерацию инструкции, которую он раньше не генерировал, оптимизируя выражение a*b+c. Это первая статья из серии про внутренности Go SSA compiler backend, поэтому помимо обзора самого DSL описания…
Читать далее »