Я хочу заострить свое изображение фаз scala компиляции. Я знаю, что некоторые вещи должны произойти в компиляторе, но не знаете порядок, в котором они происходят, и как порядок влияет на мое программирование.
Я прав, говоря, что следующие вещи - полный список того, что делает компилятор?
- программа синтаксического анализа
- проверены типы
- сделать стирание
- неявное преобразование
- сформирован байт-код
- оптимизируют
Если да, то каков порядок того, что он выполняет эти этапы? Как этот порядок влияет на программиста, особенно на программиста уровня?