2009-09-16 19 views
5

Tôi cần tạo mã Python cụ thể hơn IronPyton. Tôi cũng cần phải phân tích mã và tải mã đó vào AST. Tôi chỉ mới bắt đầu xem xét một số công cụ. Tôi đã chơi với "Oslo" và đưa ra quyết định rằng đó không phải là công cụ phù hợp với tôi. Tôi chỉ nhìn rất ngắn tại Coco/R và có vẻ đầy hứa hẹn.Tạo và phân tích cú pháp mã Python từ ứng dụng C#

Có ai sử dụng Coco/R không?
Nếu bạn đã làm những gì kinh nghiệm của bạn với công cụ này? Bạn có thể giới thiệu một số công cụ khác không?

Trả lời

8

Tự thực hiện IronPython bao gồm a parseran AST representation các chương trình Python có thể được đi với PythonWalker.

+0

Đó là một thông tin tuyệt vời cho tôi. +1 cho bây giờ. Hãy để tôi nghiên cứu nó và nếu nó làm cho tôi những gì tôi nghĩ, tôi sẽ chấp nhận câu trả lời của bạn. – Vadim

0

Tôi nghĩ bạn nên xem số Dynamic Language Runtime. Đây sẽ là một phần tiêu chuẩn của một số phiên bản sau này của .Net và C# (.Net 4 từ bộ nhớ).

Tôi đã sử dụng nó để biên dịch và thực thi mã Python được tạo khi chạy, nhưng tôi chưa chơi với tất cả các công cụ AST.

+0

Tôi đã xem DLR đó là lý do tại sao tôi muốn tạo mã IronPython là ngôn ngữ DLR. Thật không may, C# 4 sẽ không có tất cả các tính năng của ngôn ngữ động. Cho đến nay bạn chỉ có thể sử dụng từ khóa động trong C# 4. Nhưng trong mọi trường hợp, đó không phải là câu hỏi của tôi. – Vadim

+0

Bạn có thể làm mọi thứ bạn muốn ngay bây giờ với IronPython và DLR. Tôi đề nghị bạn đọc trang tôi liên kết đến trong câu trả lời của tôi vì nó nói cụ thể về việc tạo ra một AST từ mã Python. Bạn không cần C# 4 để sử dụng DLR. Nếu bạn đang sử dụng IronPython 2.0 trở đi, bạn đang sử dụng DLR! –

1

Không thực sự là lĩnh vực chuyên môn của tôi nhưng bạn có thể muốn thử ANTLR. Nó có hỗ trợ để tạo ra Python.

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