У кого-нибудь есть рабочий компилятор B?
Кто-нибудь знает, где я мог бы получить хороший компилятор B? Я уже некоторое время искал компилятор B, но мне было трудно найти что-то полное для системы Windows или Linux.
Вот пример B:
main( ) {
auto a, b, c, sum;
a = 1; b = 2; c = 3;
sum = a+b+c;
putnumb(sum);
}
2 ответа
В ответ на этот вопрос теперь доступен компилятор B: https://github.com/Leushenko/ybc
Работает в Windows, Linux и OSX (предоставляются двоичные файлы; в духе вопроса он написан на неясном языке), где он производит сборку x86-32 очень низкого качества. Должен быть GCC-совместимым. Он реконструирован из имеющегося справочного материала по B и почти наверняка не отражает язык, каким он был в 1960-х годах. В частности, в отсутствие информации о типе (B нетипизирован), &a[b] == &*(a + b)
Правило не может держаться на x86, а это означает, что эта задача фактически невозможна (без обращения к переводчику).
Кроме того, комментарий Павла Минаева прав: описанный язык чрезвычайно мал, гораздо меньше, чем C, и опытный / компетентный программист-компилятор, вероятно, напишет его для вас днем.
К сожалению, это только частичный ответ, так как я не мог сказать вам, где найти хороший B-компилятор.
У вас есть Honeywell 6050 под управлением GCOS для его запуска? А может эмулятор? Я знаю, что IBM 360 и 370 были эмулированы, но я еще не слышал об эмуляторе Honeywell 6000.
В университете Ватерлоо в 1974-76 гг. Я помню, как писал задания по CS на языке B, а не на Algol-60, который использовал большинство людей в классе. Я продолжал писать эмулятор для миникомпьютера HP 2100A, но этот код давно потерян.
Насколько я знаю, B был реализован только в Honeywell с его 36-битной длиной слова, 9-битной ASCII и т. Д. И, поскольку он является преемником C, одновременно поражал университеты, он длился недолго.
Если я правильно помню, Тревор Томпсон, один из основателей MKS, написал стандартную библиотеку ввода-вывода для B, а также написал в ней 3D-шахматы. Если вам удастся отследить его, он тот, кто когда-то имел в своем распоряжении компилятор B. Я только что посмотрел на LinkedIn, и я нашел его. Он является одним из владельцев Satori Solutions.
Если у вас есть машина с GCOS или эмулятор Honeywell серии 60 с GCOS, вы можете использовать компилятор B, включенный в пакет инструментов UW от Thinkage. Он поддерживает как пакетные, так и TSS программы.