Tôi muốn nhận tệp .java, nhận ra lớp đầu tiên trong tệp và nhận thông tin về chú thích, phương thức và thuộc tính từ lớp này.Phân tích lớp Java từ Perl hoặc Python
Có mô-đun nào ở cả hai ngôn ngữ đã thực hiện điều đó không? Tôi có thể xây dựng một regexp đơn giản để làm điều đó cũng có, nhưng tôi không biết làm thế nào để nhận ra trong regexp các niềng răng cho thấy sự kết thúc của lớp/phương pháp.
Không, regex không phù hợp cho việc này. Hãy xem xét 'lớp Foo {String s =" không phải là một @Annotation ở đây "; } '. –
Ok, vì vậy tôi sẽ phải sử dụng ngữ pháp hoặc một automata để làm điều đó. Có bất kỳ mô-đun perl/python nào có thể giúp tôi thực hiện việc này không? – Rafael
@Bart Trên thực tế, bạn có thể regex để không xem xét điều trong dấu ngoặc kép. Vấn đề là với niềng răng, một khi bạn không thể thực sự đếm bao nhiêu mở và đóng niềng răng đã xảy ra cho đến nay trong một regex. –