| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Измеритель Java кода |
| Автор: Guia 3.5.2006, 10:49 | ||
| Здравствуйте. Есть интересный проект, суть измеритель Java кода. Измерять можно что угодно - количество строк в .java файле, процентное соотношение комментариев к коду, количество классов, методов, и т.д. Код Java считывается из файла и передаётся модулям "измерителям" (.dll) через String[].
Что посоветуете? Ведь проблема не только в том чтобы выфильтровывать комментарии, но и вообще в том чтобы научить программу правильно читать код (в будущем может быть не только Java) Есть идея считывать код используя а) компайлер - генератор http://www.ssw.uni-linz.ac.at/Coco/ б) регулярные выражения в) писать парсер самим |
| Автор: Exception 3.5.2006, 11:06 |
| Можно компилить через J# и юзать рефлексию. |
| Автор: Void 3.5.2006, 18:05 |
Или http://www.antlr.org/. Для него есть готовая грамматика Java 5. Невозможно. Бессмысленно. |
| Автор: Guia 3.5.2006, 19:19 | ||
Неплохая идея, но вряд ли подойдёт в этом случае. А что если дадут для анализа компакт с ява - кодом? Void, Действительно невозможно использовать Regex (ну может быть еще для подсчёта строк чистого кода в файле и фильтрации комментариев они подойдут), в остальных случаях будет работать слишком медленно либо не будет работать вообще. Парсер хотелось написать (ну хотя бы начать Хотя! Сосо ведь генерирует парсер только один раз? Как бы то ни было, с COCO\R сегодня я разбирался первый день, и видно, придётся переписывать Java.ATG под C#, в остальном должно работать. А Еще посмотрел на исходный код Sharp Develop и чуть со стула не свалился от возможностей NRefactory - вот это да! Вообщем, попробуем разобраться с Сосо и ANTL, спасибо за совет. |
| Автор: Guia 11.5.2006, 21:15 |
| Вот еще небольшой вопрос... ANTLR из файл грамматики java15.g генерирует .java файлы. А Как сделать .cs? (По вопросу видно что Coco\R мы забросили |