2008-12-11 46 views
8

Tôi đang tìm chìa khóa trao tay ANTLR ngữ pháp cho C# tạo ra một cây cú pháp trừu tượng có thể sử dụng (AST) và là một trong hai ngôn ngữ back-end hoặc các mục tiêu C#, C, C++ hoặc D.C# ANTLR ngữ pháp?

Nó không cần hỗ trợ báo cáo lỗi.

P.S. Tôi không sẵn lòng làm bất cứ việc sửa chữa nào vì sự thay thế không phải là rất khó.

+0

Xin chào, Bạn có thể nhận ngữ pháp cho C# không. Nếu có, bạn có thể chia sẻ nó không? –

+0

Tôi chưa bao giờ tìm được cái nào đủ dễ dàng. – BCS

+0

"Thay thế không khó" mà bạn đang dự tính là gì? –

Trả lời

6

Điều này có thể đã quá muộn, nhưng bạn có thể nhận được C# 4 grammar.

5

Đây là liên kết C# grammar, cũng như tổng quan về C# and ANTLR. Có những ngôn ngữ khác cho các ngôn ngữ khác mà bạn đã đề cập here.

+0

Chỉ dành cho C# 1.0. C# 2.0 yêu cầu một trình phân tích cú pháp mạnh hơn đáng kể để xử lý các generics, nhưng ANTLR sẽ có thể xử lý nó. Chúc may mắn với C# 3.0 và LINQ! :) – leppie

+0

Um, tổng quan C# và ANTLR chỉ bao gồm thời gian chạy C# ANTLR? Như trong OP đã yêu cầu cách phân tích mã C# bằng cách sử dụng ANTLR - nhưng liên kết này cung cấp hướng dẫn sử dụng mã C#, được tạo bởi ANTLR, để phân tích ngôn ngữ có khả năng tùy ý? – fostandy

3

DMS Software Reengineering Toolkit cung cấp ngữ pháp đầy đủ, được xác thực cho C# 1.2, 2.0 và 3.0 với các biểu thức chung và LINQ.

Tự động xây dựng AST, cho phép bạn truy cập có lập trình vào các AST để phân tích hoặc biến dạng hoặc bạn có thể áp dụng các phép biến đổi nguồn-nguồn cũng trực tiếp thao tác cây. Kết quả AST có thể được in ấn trở lại mã nguồn, thậm chí giữ lại thụt đầu dòng và nhận xét.

DMS cũng có giao diện người dùng trưởng thành cho các ngôn ngữ khác như Java, PHP5, JavaScript, COBOL, C và C++.

EDIT: 1/31/2010: Trình phân tích cú pháp DMS C# đã được mở rộng để xử lý toàn bộ C# 4.0.

+0

Không miễn phí, nhưng trông thật tuyệt. – BCS

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