2011-02-26 35 views
25

Một giáo sư của tôi đã nói rằng anh ấy sẽ chấp nhận bài tập về nhà bằng bất kỳ ngôn ngữ nào mà chúng tôi muốn sử dụng. Tôi đang đủ điều kiện tốt mà tôi muốn mess với anh ta một chút và gửi một bài tập về nhà hợp lệ bằng cách sử dụng brainfuck, khoảng trắng, hoặc một số bằng nhau "hữu ích" ngôn ngữ.Trình biên dịch C sang Brainfuck (vì quấy rối một giáo sư)?

Tôi có các nguồn C cho một vài quy trình phân tích số đơn giản cũng như đầu ra được biên dịch và các tệp lắp ráp mà chúng tạo ra.

Có ai biết về một trình dịch ngược (hoặc một dịch giả c-> brainfuck) có thể cho tôi một cái gì đó giống như "mã nguồn não"?

+4

Tôi đồng ý hoàn toàn với belisarius và tôi không nghĩ rằng việc chuyển đổi số lượng mã do máy tạo ra khi thực hiện bài tập về nhà bằng bất kỳ ngôn ngữ nào mà bạn quan tâm sử dụng. Tôi sẽ cho bạn điểm kém nếu tôi là người hướng dẫn của bạn. :-) –

+0

@Sevenless Là như nhau. Chỉ cần bao gồm một phiên bản nén của tệp nguồn trong phiên bản đã biên dịch và bạn có một ngôn ngữ không thể biên dịch khi đang di chuyển. –

+3

Chỉ cần tìm hiểu [APL] (http://en.wikipedia.org/wiki/APL_%28programming_language%29) hoặc J :-) Sau khi tất cả, những * là * "hữu ích" ngôn ngữ. –

Trả lời

18

Chỉ cần sử dụng APL hoặc J.

Không giống như BF, chúng thực sự được thiết kế để phục vụ mục đích "hữu ích" (và không hữu ích như trong BF) - và có thể dễ dàng tạo các mục nhập mã Perl giống như tiểu thuyết. (Sự cống hiến và rèn luyện tinh thần để tận hưởng những ngôn ngữ này hiện tại cao hơn mức kỹ năng/nỗ lực của tôi.)

Nếu mục đích sử dụng ngôn ngữ hoàn toàn bí truyền, tôi luôn thích giao diện của các chương trình Piet. Nó trông đẹp hơn và thực sự có thể solve common CS homework problems. Theo các liên kết sẽ tiết lộ "Piet assemblers" và các công cụ khác. Thắng lợi.

Mã hóa vui vẻ.

+4

Hãy xem cái này http://www.matthias-ernst.eu/piet/ ... một thông dịch viên BF ở Piet! –

+1

@belisarius Nghệ thuật đẹp - Tôi không thể hiểu được tâm trí của người khác :) –

+1

J là không thể tin được. http://beust.com/weblog/2008/08/28/coding-challenge-wrap-up/ – JCasso

2

Tìm kiếm nhanh trên Google sẽ trả về (a?) Brainfuck site, liên kết đến một số archive với "tất cả mọi thứ Brainfuck". Tôi nghi ngờ có một người dịch C-> brainfuck ở bất cứ nơi nào, tôi sẽ không nghĩ rằng bất cứ ai sẽ đầu tư nhiều thời gian.

7

Đối với những gì đáng giá, tôi đã viết một tập hợp Brainfuck rất đơn giản (lấy cảm hứng từ bài SO này), tập hợp mã nguồn có thể đọc được (không phải C, chỉ đơn giản và không tên) cho BrainFuck. Bạn có thể tìm thấy hướng dẫn về mã nguồn và biên dịch/sử dụng tại đây: BrainFuck Assembler.

Chỉnh sửa: Dự án gần đây đã được cập nhật dưới tên mới: BrainFix.

+0

tôi muốn xem, nhưng ... với tính khả dụng hiện tại của sourceforge tôi sẽ đề nghị bạn sao chép một nơi nào đó khác nữa. –

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