5

有沒有人知道一個工作BCPL編譯器,爲當前操作系統編寫(我有Windows 7和Ubuntu隨時可用)與x64架構?在Dennis Ritchie最近去世後,我第一次聽說過BCPL,而且我很少被我讀過關於這種語言的東西迷住了。當前操作系統和架構的BCPL編譯器/解釋器?

我以前只使用過現代高級語言,但我認爲這將是一個很好的潛入這一點的計算曆史。然而,我幾乎不知道編譯器,所以我不打算自己寫一個。有什麼建議麼?

回答

7

BCPL Wikipedia article包含一個用於Martin Richards's BCPL distribution的URL,其中包括可在Linux和Windows上運行的解釋器等。

README

它提供了BCPL的機器無關的解釋版本。在C語言中實現瞭解釋器,但是對於某些體系結構,它也有一個以彙編語言實現的版本,可以提供改進的性能,例如 。

本發行版包括系統的Linux版本,DEC的Alpha 機,MIPS R2000/3000和Mac功耗PC,Sun4s,孫/ SPARCS和 386/486 MSDOS下/奔騰機,在Windows 95/98/NT/2000/XP, Windows CE2.0(適用於HP 620LX),Mac OS X或OS/2。一些 實現最近還沒有經過測試,而且不在 的日期。最簡單的安裝是針對Linux機器的。其他機器的安裝在後面介紹。此發行版包含 可執行文件:cintsys.exe,該文件應在大多數Windows系統上運行,在 奔騰機器上運行。

理查茲教授也在研究64 bit version of BCPL,儘管它看起來不像他的BCPL發行版那麼經得起時間考驗。

+0

啊,的確如此。沒有注意到。這個頁面實際上解決了另一個謎團,因爲我讀過BCPL的解釋,這在其他地方是相互矛盾的。據推測,解釋者後來寫了,因爲它是在C中。謝謝! – andronikus

3

BCPL編譯爲一種稱爲OCODE的中間語言,然後各種第二代代碼從OCODE生成爲某種形式的可執行代碼。 Martin Richards最初生成INTCODE,他的關於BCPL編譯器的書顯示瞭如何爲INTCODE編寫解釋器。我已經在許多機器上編寫了INTCODE解釋器,包括20世紀70年代的FORTRAN和最近的一種Java。他在網站上的下載是爲了大大增強和擴展BCPL(尤其是圖書館),現在編譯成CINTCODE,並且有許多解釋器主要用C語言編寫,適用於許多架構。