5

Qualcuno sa di un compilatore BCPL funzionante, scritto per un SO corrente (ho Windows 7 e Ubuntu prontamente disponibili) con un'architettura x64? Ho sentito parlare della BCPL dopo la recente morte di Dennis Ritchie, e sono stranamente affascinato da quel poco che ho letto su questa lingua.Compilatore/interprete BCPL per un sistema operativo e un'architettura attuali?

Ho suonato solo con linguaggi moderni di alto livello, ma penso che sarebbe utile immergersi in questo frammento di cronologia informatica. Tuttavia, non conosco quasi nulla sui compilatori, quindi non ne scriverò nemmeno io. Eventuali suggerimenti?

risposta

7

BCPL Wikipedia article include un URL per Martin Richards's BCPL distribution, che include un interprete che viene eseguito su Linux e Windows, tra gli altri.

Dal README:

Esso fornisce una macchina versione interpretativa indipendente BCPL. L'interprete implementato in C, ma per alcune architetture anche ha una versione implementata in linguaggio assembly che migliora le prestazioni di .

Questa distribuzione contiene versioni del sistema per Linux, DEC Alpha macchine, MIPS R2000/3000 e PC Power Mac, Sun4s, Sun/SPARC e 386/486 macchine/Pentium sotto MSDOS, Windows 95/98/NT/2000/XP, Windows CE2.0 (per HP 620LX), Mac OS X o OS/2. Alcune implementazioni non sono state testate di recente e sono piuttosto fuori dalla data . L'installazione più semplice è per macchine Linux. L'installazione su altre macchine è descritta in seguito. Questa distribuzione include l'eseguibile : cintsys.exe che dovrebbe essere eseguito nella maggior parte dei sistemi Windows su macchine con mascheratura Pentium .

Il professor Richards sta anche lavorando su un 64 bit version of BCPL, anche se non sembra tanto testato a tempo come la sua distribuzione BCPL.

+0

Ah, davvero. Non l'ho notato. Quella pagina in realtà risolve un altro mistero, perché avevo letto che BCPL è interpretato, che è stato contraddetto altrove. Presumibilmente l'interprete è stato scritto più tardi, poiché è in C. Grazie! – andronikus

3

BCPL viene compilato in un linguaggio intermedio denominato OCODE e quindi vari codici di secondo passaggio generano da OCODE a una qualche forma di codice eseguibile. Martin Richards ha originariamente generato INTCODE e il suo libro sul compilatore BCPL mostra come scrivere un interprete per INTCODE. Ho scritto interpreti INTCODE su un numero di macchine incluso uno in FORTRAN negli anni '70 e uno in Java più recentemente. I download sul suo sito Web sono per un BCPL notevolmente potenziato ed esteso (specialmente le librerie) e ora vengono compilati in CINTCODE, e ci sono numerosi interpreti scritti per lo più in C per molte architetture.