vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote 2025-03-27 12:38 am (UTC)

До этого был компилятор Би. Который тоже был написан на самом себе. Он внешне выглядел как Си, но без типов. И без структур. Постепенно к Би добавлялись разные фичи, и он превратился в Си.

Би возник из компилятора BCPL. Тот тоже был написан на самом себе. Функционально Би не особо отличался от BCPL: по сути те же конструкции языка, но синтаксис выглядел странно с современной точки зрения.

Компилятор BCPL (да и Би тоже) порождал программу не в кодах целевой машины, а в некоем промежуточном представлении. Фактически это была абстрактная виртуальная машина. И потом другая программа превращала это виртуальное представление в нужный машинный код. При переносе компилятора на другую архитектуру процессора нужно было первый раз оттранслировать всё с другой машины (в кросс режиме), а потом уже можно было продолжать на целевой машине.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org