2013-08-16 33 views
7

Tôi đang viết lại chương trình đã nhúng ngôn ngữ kịch bản để mở rộng và cấu hình, chương trình cũ được sử dụng Lua, Lua có thể được nhúng vào chương trình của tôi một cách dễ dàng, chỉ cần tải xuống nguồn, giải nén và di chuyển tất cả các tệp nguồn vào thư mục chương trình của tôi, loại bỏ lua.c và luac.c, và mọi thứ hoạt động rất tốt. Đối với việc học ngôn ngữ lập trình hàm, tôi quyết định chọn phương ngữ lisp (sơ đồ) làm phụ trợ tập lệnh mới, nhưng có rất nhiều scheme implemetation, cái nào tốt nhất cho nhúng?Việc triển khai chương trình nào là dễ nhất để nhúng vào chương trình C/C++?

Trả lời

6

Có rất nhiều Đề án được thực hiện để nhúng. Hai rằng cá nhân tôi muốn giới thiệu:

  • Chibi, bởi vì nó được thiết kế có quy mô nhỏ và trọng lượng nhẹ và hỗ trợ các R7RS mới chuẩn
  • Guile, bởi vì nó là sự lựa chọn GNU và là một dự án rất trưởng thành

Trong số hai, Chibi làm việc chăm chỉ để giữ cho mã của nó và bộ nhớ nhỏ. Mặt khác, Guile là tiên tiến hơn về các tính năng được cung cấp. Chỉ Chibi hỗ trợ R7RS, nhưng tôi tin rằng Guile đang làm việc theo hướng đó.

Để xem các Đề án tuyệt vời khác, hãy xem Wikipedia's listing of Scheme implementations.

+2

Cảm ơn bạn đã giới thiệu! Guile có nhiều phụ thuộc, như libgmp, libunistring vv Và chúng là thừa đối với tôi. Tôi quyết định thử ChibiScheme, nó nhanh chóng được biên dịch trên máy tính của tôi. – moligaloo

+1

Chương trình Chibi chỉ có thể được biên dịch dưới Cygwin trên Windows, MinGW của tôi không thể hỗ trợ nó. – moligaloo

3

Tôi khuyên bạn nên thử Bigloo. Từ trang web của họ:

Bigloo là thực hiện Đề án dành cho một mục tiêu: bật kiểu lập trình dựa trên Đề án, trong đó C (++) thường được yêu cầu. Bigloo cố gắng thực hiện Đề án thực tế bằng cách cung cấp các tính năng thường được trình bày bởi các ngôn ngữ lập trình truyền thống nhưng không được cung cấp bởi Đề án và lập trình chức năng. Bigloo biên dịch mô-đun Đề án. Nó cung cấp các thực thi nhị phân độc lập nhỏ và nhanh. Bigloo cho phép kết nối đầy đủ giữa các chương trình Scheme và C, giữa chương trình Scheme và Java, giữa chương trình Scheme và C#.

Tôi đã thấy nó được sử dụng thành công trong sản xuất để nhúng lược đồ vào ứng dụng C. Một lợi thế lớn của Bigloo so với các dự án khác là nó hỗ trợ mã chương trình được biên dịch đầy đủ. Và tất nhiên bạn có thể trộn nó với mã chương trình được giải thích nếu cần.