2009-09-16 16 views
5

Potrzebuję wygenerować kod w języku Python, aby był bardziej szczegółowy IronPyton. Też muszę móc sparsować kod i załadować go do AST. Właśnie zacząłem patrzeć na niektóre narzędzia. Grałem z "Oslo" i podjąłem decyzję, że to nie jest właściwe narzędzie dla mnie. Po prostu wyglądałem bardzo krótko na Coco/R i wygląda obiecująco.Generowanie i analizowanie kodu w języku Python z aplikacji C#

Czy ktoś używał Coco/R?
Jeśli zrobiłeś swoje doświadczenie z narzędziem? Czy możesz polecić inne narzędzie?

Odpowiedz

8

Samo wdrożenie obejmuje a parser i an AST representation programów w języku Python, które można chodzić z PythonWalker.

+0

To wspaniała informacja dla mnie. +1 na razie. Pozwól, że to zbadam i jeśli zrobi to, co myślę, przyjmuję twoją odpowiedź. – Vadim

0

Myślę, że powinieneś spojrzeć na Dynamic Language Runtime. Będzie to standardowa część jakiejś późniejszej wersji .Net i C# (.Net 4 z pamięci).

Użyłem go do skompilowania i uruchomienia kodu Pythona wygenerowanego w czasie wykonywania, ale nie grałem jeszcze z wszystkimi materiałami AST.

+0

Zrobiłem spojrzeć na DLR, dlatego chcę wygenerować kod IronPython, który jest językiem DLR. Niestety, C# 4 nie będzie miał wszystkich funkcji dynamicznego języka. Do tej pory można używać tylko słowa kluczowego dynamicznego w C# 4. Ale w każdym razie nie jest to moje pytanie. – Vadim

+0

Możesz teraz robić wszystko, co chcesz dzięki IronPython i DLR. Sugeruję przeczytanie strony, którą łączyłem w mojej odpowiedzi, ponieważ mówi konkretnie o generowaniu AST z kodu Pythona. Nie potrzebujesz C# 4 do korzystania z DLR. Jeśli używasz IronPython 2.0, używasz DLR! –

1

Niezupełnie mój obszar wiedzy, ale możesz spróbować wypróbować ANTLR. Obsługuje generowanie Python.