Щас просто цену определяем к большому проекту. Вот компонент есть. Заказчик говорит, что этот компонент ничего не стоит. Компонент еще НЕ дописан, но посмтрите, есть ли хоть доллар в его цене?
Че самое интересное, без этого компонента проект работать не будет вообще. Программа призвана Извлекать из файлов исходников разные структуры данных и преобразовывать их в XML
device исходники должны быть обязательно хорошо форматированы. некоторые люди из-за этого могут даже бросить их смотреть. Это лексический анализатор... К нему должны идти юнит тесты обязательно! Одного твоего слова недостаточно, то что он честно работает. с тестам 50-150$ потянет ИМХО
Дык он запустит и увидит Код (Text): ./jxdc AServer.java Проверка строки на наличие коментариев... Нет. Проверка на наличие PACKAGE... Есть Проверка, что пакет объявлен правильно... Да, network; Проверка строки на наличие коментариев... Нет. Проверка, что строка принадлежит к секции импорта... ДА Проверка, что импорт объявлен верно... Да, верно - java.io.*; Проверка строки на наличие коментариев... Нет. Проверка, что строка принадлежит к секции импорта... ДА Проверка, что импорт объявлен верно... Да, верно - java.net.*; Проверка строки на наличие коментариев... Нет. Проверка, что строка принадлежит к секции импорта... ДА Проверка, что импорт объявлен верно... Да, верно - java.util.*; Проверка строки на наличие коментариев... Нет. Проверка что нет объявлений структур... Их нет Проверяем что строка это декларация структуры public... ДА Определяем имя структуры... AServer Проверка что нет объявлений структур... ОНИ есть ** И так далее
device Правильно говорит. Более того, после вот таких перлов: Код (Text): * Проверяем, есть ли в строке комментарий **/ String[] comment_types = { "//", "/**" }; int cm = s.indexOf(comment_types[0]); int t2 = s.indexOf (comment_types[1]); Код (Text): System.out.print ("Проверка на наличие PACKAGE... "); int pp = q.indexOf ("package"); (ну и так далее) я бы сразу прекратил сотрудничество с человеком. Потому что на indexOf анализатор языка не построить, человек явно не понимает, что делает. В строке String a = "//package"; ты тоже найдешь комментарий с пакетом вместе? Бери JLex и CUP и учись ими пользоваться. Про оформление уже сказали выше, безобразное. Про русский язык в комментариях к коду забудь вообще.
Если бы мне нужен был анализер - я бы взял javacc. Тут просто читается файл определенного (строго) формата. Для парсинга XML вы же не будете юзать yacc или бизон с лексом. Поэтому String s = "//package" там быть не может, а вообще эта прога найдет в таком случае String s =" Остальное пропустит как коментарий Прогу приняли за $80.
Для парсинга xml используются обычно xml-парсеры, которые внутри себя вполне могут yacc с лексом содержать, ибо xml поддерживает много вещей, которые редко используются.