Parser języka C#

0

Wciąż szukam po sieci i nie bardzo znajduję: potrzebowałbym bibliotekę - parser dla języka C#, który na wejściu pobierałby oczywiście kod źródłowy programu, a jako wynik dostałbym kolekcję klas, ich metod, właściwości itp. Coś w tym stylu. Może ktoś z Was zna coś takiego?

0

Szukasz tzn chcesz coś sam napisać czy ma być gotowe ?
Bo jak sam to wczytujesz pliki linia po linii, używasz wyrażeń regularnych, wykorzystujesz słowa klucze z C#, które chcesz brać pod uwagę (class, public, private itd. ) Zapisujesz na wyjscie do nowego pliku.

0

hmm.. a nie prosciej ten kod skompilowac, zaladowac modul powstaly w jego wyniku i odpytac o jego strukture poprzez Reflection?:)

0
ol3j napisał(a)

Szukasz tzn chcesz coś sam napisać czy ma być gotowe ?

Chciałem znaleźć gotową bibliotekę, z której będę mógł korzystać.

quetzalcoatl napisał(a)

hmm.. a nie prosciej ten kod skompilowac, zaladowac modul powstaly w jego wyniku i odpytac o jego strukture poprzez Reflection?:)

Hmm... nie wiedziałem, że jest taka możliwość. Z tego co wiem skompilować kod C# można z poziomu kodu w C# (nie myle się?), ale z tym Reflection to się nie zapoznałem. Dzięki, poszperam na ten temat!

0

Mam problem z kompilacją. Używam metody CompileAssemblyFromFile z klasy CSharpCodeProvider. Podając tylko pliki cs mam błąd, ponieważ nie ma on referencji do bibliotek (tych z folderu References w projekcie w Visualu):

c:\cs\Form1.cs(3,14): error CS0234: The type or namespace name 'ComponentModel' does not e
xist in the namespace 'System' (are you missing an assembly reference?)

Zgodnie ze wskazówką można to podać w parametrach kompilatora, ale skąd miałbym pobrać nazwy potrzebnych bibliotek? Czy dobrym rozwiązaniem byłoby wzięcie ciągu, który stoi za "using" i dopisanie ".dll" (np. "System.Text.dll")?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0