LINUX.ORG.RU

История изменений

Исправление wandrien, (текущая версия) :

Это уже не однопроходная в терминологии нашего собеседника, так как есть второй проход для простановки констант.

В общем, терминологический вопрос. Если считать однопроходной компиляцией такую компиляцию, где не требуется держать в памяти синтаксическое дерево или его аналог, а требуется только буфер под машкод функции, то такая однопроходная компиляция возможна для практически любого ЯП, где не требуется «заглядывать по коду вперёд», то есть все используемые сущности известны в момент использования.

не надо фантазий.

Да какие фантазии. Можно вообще без add sp, frame_size, фиксированный фрейм под локальные переменные — это больше для удобства отладки, чем для практической пользы.

А вот как наш собеседник форвард бранчи будет делать без буфера под функцию, вопрос…

Исходная версия wandrien, :

Это уже не однопроходная в терминологии нашего собеседника, так как есть второй проход для простановки констант.

В общем, терминологический вопрос. Если считать однопроходной компиляцией такую компиляцию, где не требуется держать в памяти синтаксическое дерево или его аналог, а требуется только буфер под машкод функции, то такая однопроходная компиляция возможна для практически любого ЯП, где не требуется «заглядывать по коду вперёд», то есть все используемые имена известны в момент использования.

не надо фантазий.

Да какие фантазии. Можно вообще без add sp, frame_size, фиксированный фрейм под локальные переменные — это больше для удобства отладки, чем для практической пользы.

А вот как наш собеседник форвард бранчи будет делать без буфера под функцию, вопрос…