Tôi đã chơi xung quanh với LLVM hy vọng tìm hiểu cách sử dụng nó.Các câu hỏi để biên dịch sang LLVM
Tuy nhiên, tâm trí của tôi bị boggled bởi mức độ phức tạp của giao diện.
Đưa ví dụ chức năng Fibonacci họ
int fib(int x) {
if(x<=2)
return 1;
return fib(x-1) + fib(x-2);
}
Để có được điều này để đầu ra LLVM IR, phải mất 61 dòng mã !!!
Chúng cũng bao gồm BrainFuck được biết là có trình biên dịch nhỏ nhất (200 byte). Thật không may, với LLVM, nó là hơn 600 dòng (18 kb).
Đây có phải là chuẩn cho trình phụ trợ của trình biên dịch không? Cho đến nay nó có vẻ như nó sẽ dễ dàng hơn để làm một hội đồng hoặc phụ trợ C.
Cảm ơn đề xuất Jon. Thật không may lập trình trong OCaml vẫn còn khó khăn cho tôi để có được hang của kể từ khi tôi chủ yếu là một lập trình thủ tục. – Unknown
Thậm chí nếu bạn bao gồm thời gian để học OCaml, vẫn sẽ nhanh hơn để viết một trình biên dịch chất lượng sản xuất trong OCaml thay vì sử dụng C++. Tôi không thể khuyên bạn nên OCaml đủ mạnh cho mục đích này. –
Hãy xem [PL zoo] của tôi (http://andrej.com/plzoo/) nếu bạn không tin Jon. –