![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Guia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 25.3.2005 Где: Germany, Bingen Репутация: нет Всего: нет |
Здравствуйте.
Есть интересный проект, суть измеритель Java кода. Измерять можно что угодно - количество строк в .java файле, процентное соотношение комментариев к коду, количество классов, методов, и т.д. Код Java считывается из файла и передаётся модулям "измерителям" (.dll) через String[].
Что посоветуете? Ведь проблема не только в том чтобы выфильтровывать комментарии, но и вообще в том чтобы научить программу правильно читать код (в будущем может быть не только Java) Есть идея считывать код используя а) компайлер - генератор Coco/R б) регулярные выражения в) писать парсер самим |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Можно компилить через J# и юзать рефлексию.
|
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Guia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 25.3.2005 Где: Germany, Bingen Репутация: нет Всего: нет |
Неплохая идея, но вряд ли подойдёт в этом случае. А что если дадут для анализа компакт с ява - кодом? Void, Действительно невозможно использовать Regex (ну может быть еще для подсчёта строк чистого кода в файле и фильтрации комментариев они подойдут), в остальных случаях будет работать слишком медленно либо не будет работать вообще. Парсер хотелось написать (ну хотя бы начать Хотя! Сосо ведь генерирует парсер только один раз? Как бы то ни было, с COCO\R сегодня я разбирался первый день, и видно, придётся переписывать Java.ATG под C#, в остальном должно работать. А Еще посмотрел на исходный код Sharp Develop и чуть со стула не свалился от возможностей NRefactory - вот это да! Вообщем, попробуем разобраться с Сосо и ANTL, спасибо за совет. |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
Не совсем понял вопрос…
Писать парсеры для грамматик такого объема вручную бессмысленно, потому что очень много рутинной работы, а принципы ничем не отличаются от м́еньших грамматик того же класса. Для общего развития лучше взять какой-нибудь искусственный мини-язык, арифметические выражения или что-то в этом роде. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Guia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 25.3.2005 Где: Germany, Bingen Репутация: нет Всего: нет |
Вот еще небольшой вопрос... ANTLR из файл грамматики java15.g генерирует .java файлы.
А Как сделать .cs? (По вопросу видно что Coco\R мы забросили |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |