tgoop.com/cxx95/59
Last Update:
#story
Обзор языка HolyC для TempleOS ✝️
TempleOS - операционная система, которую в течении многих лет в одиночку создавал программист Терри Дэвис. Разработка началась после психиатрической госпитализации, в ходе которой у Терри была диагностирована шизофрения. По его словам, Бог приказал ему разработать операционную систему, которая должна стать "Третьим Храмом".
Почти всю жизнь Терри был безработным, поэтому разрабатывал свою систему целыми днями, в свободное время на различных форумах толкая телеги про ЦРУ, "ниггеров", и богохульников.
Данный мусье распиарен, поклонники писали его биографию, делали ролики на ютубе. Он сам написал свой загрузчик, ядро, менеджер окон, графическую библиотеку, игры - это все на своем языке Holy C (С†) со своим компилятором.
Дизайн С† есть тут, а также тут можно увидеть примерные программы. Он похож на C с добавлением многих фичей.
Исходники компилятора читаются тяжело, но что-то понять можно.
Лексер, который разбирает исходники в токен, делает это с изменением текущего состояния в CCmpCtrl *cc, потому что разбор токенов происходит одновременно с разбором выражений.
Парсер, который разбирает выражения, сделан в виде простого рекурсивного спуска, например так выглядит парсинг if-выражения. Парсер создает блоки "промежуточного кода".
"Промежуточный код" оптимизируется многими способами, например есть свертка констант (описание на вики) и оптимизированное распределение регистров (описание на вики). Потом промежуточный код транслируется в ассемблер.
Из минусов компилятора можно назвать его однопроходность (из-за этого язык ближе к C, чем к C++), а также поддержка всего одной архитектуры.
А в остальном компилятор неплох, видно что автор был неординарным программистом, чтобы в одиночку писать все программы такого уровня (включая операционку).
