9

Tôi đã tự hỏi, liệu có thể sử dụng trí tuệ nhân tạo để làm cho trình biên dịch tốt hơn?Artificial Intelligence Compiler

Những điều tôi có thể tưởng tượng nếu đó là có thể -

  • thông báo lỗi cụ thể hơn
  • Cải thiện tối ưu hóa trình biên dịch, vì vậy trình biên dịch có thể thực sự hiểu những gì bạn đang cố gắng để làm, và làm điều đó tốt hơn

Nếu nó có thể, có dự án nghiên cứu nào về chủ đề này không?

+4

Rất khó để sử dụng AI để thực hiện bất cứ điều gì tốt hơn, bên cạnh máy giặt. – JnBrymn

+0

Trong C#, bạn có thể sử dụng các công cụ như StyleCop và FxCop và resharper để giúp tìm ra các vấn đề tiềm ẩn. Bạn có thể viết các quy tắc tùy chỉnh, cho đến khi chúng mất quá nhiều thời gian để chạy, bạn sẽ cần một trang trại máy chủ. Mục tiêu của bạn là gì? Resharper có thể viết lại các vòng lặp như LINQ, và do đó thường giúp trình biên dịch C# phát ra mã nhanh nhất có thể. Tuy nhiên, tốc độ không phải là mục tiêu duy nhất. –

Trả lời

10

Bạn nên nhìn vào MILEPOST GCC -

Cột mốc GCC là attept thực tế đầu tiên để xây dựng học máy kích hoạt sản xuất mã nguồn mở tự điều chỉnh (và nghiên cứu) trình biên dịch có thể thích ứng với bất kỳ kiến ​​trúc sử dụng lặp đi lặp lại feedback- biên soạn trực tiếp, học máy và tối ưu hóa tập thể

1

Đây thực sự là một lĩnh vực đang được nghiên cứu. Hãy xem chi nhánh milepost cho GCC, dựa trên tối ưu hóa hướng dẫn hồ sơ và học máy. Các tài liệu khoa học gần đây cho các trình biên dịch có đầy đủ các giấy tờ sử dụng kết hợp khai thác dữ liệu, học máy (thông qua thuật toán di truyền hoặc mạng thần kinh), và "cổ điển" hơn, nhận dạng mẫu của một số mẫu mã nhất định.

4

Trình biên dịch tối ưu hóa thực sự là một phức tạp của trí tuệ nhân tạo lâu đời nhất.

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