Главная » Архив меток: compilers

Архив меток: compilers

Компилятор Go: язык описания правил SSA оптимизаций

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

Читать далее »

LL(*) парсер с использованием Rust макросов

Wow. Such Rust. Much macro. © картинка - Твиттер аккаунт Servo Язык Rust стремительно набирает обороты. Кто-то пророчит ему стать заменой C/C++, кому-то он просто нравится. Я скорее принадлежу ко второй группе. Разработчики стараются сделать его удобным и безопасным. В нем есть конструкции и принципы, которые еще не скоро появятся в "плюсах", ввиду инерции комитета и множества других причин. Поэтому, ...

Читать далее »