2014-09-19 9 views
5

Jestem nowy w Antlr i muszę napisać analizator składni dla starszego kodu zespołu, który może mieć mieć numery linii w ustalonych kolumnach. Ponadto niektóre kolumny mają znaczenie - czy to komentarz, kontynuacja itd. Jak mogę je wykryć?program do analizy z tokenami o ustalonych pozycjach w linii

Aby podać kilka przykładów:

000001 proc PROC1

000002 * Komentarz

* comment without line numbers 

      continuation marker set ==>    X 

     Arbitrary text as continuation 

Thanks Xan

+3

Czy możesz dodać więcej kodu. Spróbuj również wcięcia całego kodu, aby względne wcięcie było w porządku. – Onur

+0

znalazłeś rozwiązanie? Też mnie to interesuje –

Odpowiedz

0

I kiedy zaprogramowanie gramatyki ANTLR do czynienia już coś takiego przeanalizuj źródła Cobola. Cobol ma pewne cechy podobne do twoich (stałe kolumny, kolumna jest znacząca, itp.).

Jedyne rozwiązanie, które znalazłem dla tego problemu: "przetworzyć" dane wejściowe i zamienić je na niektóre, które Antlr może analizować bez problemów!

Ex: W języku Cobol gwiazdka w kolumnie 7 wskazuje, że linia jest linią komentarza; Zmieniłem go (sama gwiazdka) na ">>" i określiłem w mojej gramatyce, że ">>" oznacza, że ​​ta linia jest linią komentarza.

Powiązane problemy