Tôi hiện đang làm việc trên một dự án trình biên dịch bằng cách sử dụng llvm. Tôi đã làm theo hướng dẫn khác nhau đến điểm mà tôi có một trình phân tích cú pháp để tạo ra một cây cú pháp và sau đó cây được chuyển đổi thành một mô đun llvm bằng cách sử dụng IRBuilder được cung cấp.Cách tạo mã máy với llvm
Mục tiêu của tôi là tạo một tệp thực thi và tôi bị nhầm lẫn là phải làm gì tiếp theo. Tất cả các hướng dẫn tôi đã tìm thấy chỉ cần tạo ra các module llvm và in ra lắp ráp bằng cách sử dụng Module.dump(). Ngoài ra, tài liệu duy nhất tôi có thể tìm thấy là dành cho nhà phát triển llvm và không phải là người dùng cuối của dự án.
Nếu tôi muốn tạo mã máy, các bước tiếp theo là gì? Dự án llvm-mc trông giống như nó có thể làm những gì tôi muốn, nhưng tôi không thể tìm thấy bất kỳ loại tài liệu nào trên đó.
Có lẽ tôi đang mong đợi sẽ làm điều gì đó mà nó không làm. Mong đợi của tôi là tôi có thể xây dựng một Module, sau đó sẽ có một API mà tôi có thể gọi với Module và một mục tiêu ba và một tập tin đối tượng sẽ được sản xuất. Tôi đã tìm thấy tài liệu và ví dụ về sản xuất một JIT, và tôi không quan tâm đến điều đó. Tôi đang tìm cách tạo ra các tệp nhị phân đã biên dịch.
Tôi đang làm việc trên OS X, nếu điều đó có bất kỳ tác động nào.