Tôi vừa được giao một nhiệm vụ mới có vẻ như là một thử thách thú vị.Phân tích mã tĩnh cho ngôn ngữ mới. Bắt đầu từ đâu?
Khách hàng muốn có công cụ kiểm tra kiểu mã được phát triển cho ngôn ngữ lập trình nội bộ (sắp được nguồn mở) chạy trên JVM. Cú pháp ngôn ngữ rất giống Java.
Khách hàng về cơ bản muốn tôi sản xuất một cái gì đó như checkstyle.
Vì vậy, câu hỏi của tôi là vấn đề này, bạn sẽ tiếp cận vấn đề này như thế nào? Với một phương tiện sạch sẽ, bạn sẽ đưa ra các khuyến nghị nào cho khách hàng?
Tôi nghĩ rằng tôi có 3 lựa chọn
Viết một cái gì đó từ đầu. Id không muốn làm điều này vì dường như loại vấn đề công cụ phân tích mã này đã được giải quyết nhiều lần đến mức phải có cách tiếp cận định hướng "khung" hoặc "nền tảng" hơn.
Fork một mã phong cách kiểm tra công cụ hiện có và sửa đổi các phân tích cú pháp để phù hợp với ngôn ngữ này mới vv vv
Mở rộng hoặc cắm vào một công cụ phân tích mã tĩnh hiện có. (Có thể viết một plugin cho Yasca?)
Có, hoặc sử dụng trình tạo trình phân tích cú pháp nếu điều này là không thể. –