Tôi đang bắt đầu một dự án lớp liên quan đến việc thêm một số chức năng vào Go.Đi sử dụng Đi để phân tích cú pháp chính nó?
Tuy nhiên, tôi hoàn toàn nhầm lẫn về cấu trúc của Go. Tôi đã có ấn tượng rằng Go sử dụng flex và bison nhưng tôi không thể tìm thấy bất cứ điều gì quen thuộc trong mã nguồn Go.
Mặt khác, thư mục go/src/pkg/go có các thư mục có tên quen thuộc (ast, token, parser, vv) nhưng tất cả chúng chứa các tệp .go. Tôi bối rối!
Yêu cầu của tôi là của bất kỳ ai quen thuộc với Go, bạn có thể cho tôi biết tổng quan về cách Go bị lexed, phân tích cú pháp, v.v ... và nơi tìm tệp để chỉnh sửa ngữ pháp và không?
Tôi sẽ không ngạc nhiên nếu họ đã viết trình phân tích cú pháp bằng tay (và bàn tay cuộn một từ vựng không quá kỳ cục). Nó thực sự khá phổ biến cho các trình biên dịch trưởng thành, và có nhiều ưu điểm khác nhau. – delnan