Промежуточное представление
-
Промежуточное представление (IR)
- IR используется компиляторами и виртуальными машинами для преобразования исходного кода в машинный код.
- IR должен быть точным и независимым от языка.
- IR может быть представлен в виде структуры данных или специального кода.
-
Примеры использования IR
- CPython преобразует исходный код в промежуточную структуру для анализа и оптимизации.
- GCC и LLVM используют IR для генерации кода для разных архитектур.
-
Промежуточный язык (IL)
- IL — это язык для анализа и оптимизации компьютерных программ.
- Он отличается от машинного языка отсутствием некоторых инструкций и большим количеством регистров.
- Трехадресный код является популярным форматом для IL.
-
Языки, использующие IL
- C используется как IL в различных языках программирования.
- Java, C# и другие языки используют байт-код для оптимизации и переносимости.
- Некоторые языки, такие как Eiffel и Squeak, используют C в качестве IL.
-
Другие примеры использования IR
- Инструменты статического анализа, такие как Radare2, используют ESIL и REIL для анализа двоичных файлов.
-
Дополнительные термины и рекомендации
- В статье также упоминаются другие термины, такие как байт-код, таблица символов и компилятор от исходного кода к исходному.
- Ссылки на Стэнфордскую группу SUIF и другие ресурсы предоставлены для дальнейшего изучения темы.
Полный текст статьи: