2013-03-19 44 views
13

Tôi đang làm việc trên một trình phân tích cú pháp cho C. Tôi đang cố gắng tìm một danh sách tất cả các dẫn xuất theo ngữ cảnh cho C. Lý tưởng nhất là trong BNF hoặc tương tự. Tôi chắc chắn một điều như vậy là ở ngoài kia, nhưng googling xung quanh đã không cho tôi nhiều.Ngữ pháp ngữ cảnh miễn phí cho C

Đọc mã nguồn cho trình phân tích cú pháp/trình biên dịch hiện có đã được chứng minh là khó hiểu hơn nhiều so với hữu ích, vì hầu hết những gì tôi thấy là tham vọng và phức tạp hơn nhiều so với mã tôi đang xây dựng.

+5

ngữ pháp yacc cho C: http://www.lysator.liu.se/c/ANSI-C-grammar-y.html – congusbongus

+0

Tôi có thể xác nhận điều này là tốt. Tôi đã xây dựng một trình phân tích cú pháp/bison từ các ngữ pháp LEX/YACC từ trang đó, chỉ một tuần khác. –

+0

@CongXu, có vẻ tốt, bất lợi duy nhất mà nó có mà tôi thấy rằng nó chỉ là lịch sử C và cả C99 lẫn C11. –

Trả lời

0

Ngữ pháp ANSI cho C99 có một lỗi trong bên ngoài kê khai: chức năng nét.

Bạn có thể sử dụng và cũng phụ lục A.13 của Kernighan - Ngôn ngữ lập trình C, phiên bản ANSI C.

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