5

Có ai biết về một trình biên dịch BCPL đang hoạt động, được viết cho một hệ điều hành hiện tại (tôi có Windows 7 và Ubuntu sẵn có) với kiến ​​trúc x64 không? Lần đầu tiên tôi nghe nói về BCPL sau cái chết gần đây của Dennis Ritchie, và tôi bị mê hoặc kỳ lạ bởi những gì tôi đã đọc về ngôn ngữ này.Trình biên dịch/trình biên dịch BCPL cho hệ điều hành và kiến ​​trúc hiện tại?

Tôi chỉ chơi với các ngôn ngữ hiện đại, cao cấp trước đây, nhưng tôi nghĩ nó sẽ gọn gàng để đi sâu vào lịch sử tính toán này. Tuy nhiên, tôi biết bên cạnh không có gì về trình biên dịch, vì vậy tôi không muốn viết một bản thân. Bất kỳ đề xuất?

Trả lời

7

BCPL Wikipedia article bao gồm URL cho Martin Richards's BCPL distribution, bao gồm một thông dịch viên chạy trên cả Linux và Windows, trong số những người khác.

Từ README:

Nó cung cấp một máy độc lập phiên bản nghệ thuật trình diễn của BCPL. Trình thông dịch được triển khai trong C, nhưng đối với một số kiến ​​trúc, nó cũng có phiên bản được triển khai bằng ngôn ngữ lắp ráp giúp cải thiện hiệu suất .

phân phối này có chứa các phiên bản của hệ thống cho Linux, DEC Alpha máy móc, MIPS R2000/3000 và Mac PC Power, Sun4s, Sun/SPARCs và 386/486/máy Pentium dưới MSDOS, Windows 95/98/NT/2000/XP, Windows CE2.0 (dành cho HP 620LX), Mac OS X hoặc OS/2. Một số triển khai chưa được thử nghiệm gần đây và thay vì trong số ngày . Việc cài đặt đơn giản nhất là dành cho các máy Linux. Lắp đặt trên các máy khác được mô tả sau. Bản phân phối này bao gồm tệp thực thi : cintsys.exe nên chạy trong hầu hết các hệ thống Windows trên Máy Pentium được rèn.

Giáo sư Richards cũng đang làm việc theo số 64 bit version of BCPL, mặc dù không được kiểm tra thời gian tốt như phân phối BCPL của mình.

+0

Ah, thực sự. Không nhận thấy điều đó. Trang đó thực sự giải quyết một bí ẩn khác, bởi vì tôi đã đọc rằng BCPL được giải thích, điều đó mâu thuẫn ở nơi khác. Có lẽ là thông dịch viên được viết sau, vì nó ở C. Cảm ơn! – andronikus

3

BCPL biên dịch sang một ngôn ngữ trung gian được gọi là OCODE, và sau đó mã chuyển tiếp thứ hai khác nhau tạo từ OCODE tới một số dạng mã thực thi. Martin Richards ban đầu tạo ra INTCODE và cuốn sách của ông về trình biên dịch BCPL cho thấy cách viết một thông dịch viên cho INTCODE. Tôi đã viết thông dịch viên INTCODE trên một số máy bao gồm một trong FORTRAN vào năm 1970 và một trong Java gần đây hơn. Các bản tải xuống trên trang web của anh ta được tăng cường đáng kể và mở rộng BCPL (đặc biệt là các thư viện) và bây giờ biên dịch sang CINTCODE, và có rất nhiều thông dịch viên được viết chủ yếu trong C cho nhiều kiến ​​trúc.

Các vấn đề liên quan