Pull to refresh

Comments 17

Вашу энергию да в нужное русло...

Лучше бы написали транслятор языка ST в IL, а IL в байт-код, и эмулятор процессора, исполняющего этот байт-код. Вот это было бы интересно и полезно.

А зачем? Есть и более интересные и полезные задачи.

Где спецификации ST и IL найти можно, не подскажете ?

А зачем ассемблер называть компилятором?

Я под компилятором имел ввиду саму программу, которая из ассемблера делает бинарный код

Такую программу обычно называют ассемблером:)

Действительно не знал, благодарю

В отечественной литературе эту программу принято называть "транслятором". Например "Транслятор с языка Ассемблера". В общем-то масло масляное получается, но такие традиции. :-)

Транслятор - общий термин, он может быть с чего угодно во что угодно. Ассемблер - это конкретный транслятор с языка ассемблера в машинный код.

Ассемблер - это конкретный транслятор с языка ассемблера в машинный код.

В русском языке действительно "ассемблер" означает одновременно и машинный язык и сам транслятор этого языка в объектный машинный код.

Ассе́мблер (от англ. assembler — сборщик) — транслятор программы из текста на языке ассемблера в программу на машинном языке.

Я наверно плохо читал, но как это работает?

Вот так:

  • Лексинг

  • Парсинг

  • Компиляция

Либо читает голый код и превращает его в машинный код?

Проходится по коду: если обычная команда без перехода по метке - транслируем в машинный код, если команда перехода - запоминаем ее, и после прохода по программе, тогда узнали адреса всех меток, добавляем в эту информацию в машинный код

На Си пришлось самому с нуля пилить :)

А yacc/lex / bison/flex чем не устроили?

Sign up to leave a comment.

Articles