Destruction Опубликовано 23 Сентября 2006 Жалоба Поделиться Опубликовано 23 Сентября 2006 Никто случайно не натыкался на тулзу, чтобы стилизировать PHP-код? Т.е. на входе имеем код, без отсупов, а если и есть - то беспорядочные, непонятно как расставлены переходы строк и вообще - читать код невозможно, суём в тулзу и получаем аккуратный и красивый код, в R&K стиле желательно. PS: Сам написал какой смог - теперь боюсь попробывать скормить ему проблемный файл. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Garret Опубликовано 23 Сентября 2006 Жалоба Поделиться Опубликовано 23 Сентября 2006 Нет. Написать такую штуку наверно как написать свой интерпретатор Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 23 Сентября 2006 Автор Жалоба Поделиться Опубликовано 23 Сентября 2006 Интерпретатор проще - там все отсутпы повырезал и интерпретируй скока влезет :-) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Garret Опубликовано 23 Сентября 2006 Жалоба Поделиться Опубликовано 23 Сентября 2006 Ну тогда неверно ты не понимаешь что такое интерпретатор Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DANMASTER Опубликовано 23 Сентября 2006 Жалоба Поделиться Опубликовано 23 Сентября 2006 Интерпретатор проще - там все отсутпы повырезал и интерпретируй скока влезет :-)Гениально.. Интерпретатор - транслятор, способный параллельно переводить и выполнять программу, написанную на алгоритмическом языке высокого уровня. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 24 Сентября 2006 Автор Жалоба Поделиться Опубликовано 24 Сентября 2006 А можно не оффтопить? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
SphinX Опубликовано 24 Сентября 2006 Жалоба Поделиться Опубликовано 24 Сентября 2006 Написать такую штуку наверно как написать свой интерпретатор Ничего сложного. 1. Разбить на строки, удалить пустые строки.2. Бежим по строкам, сохраняя текущий отступ. Если предыдущая строка содержала "{" - увеличиваем его. Если текущая строка - "}", то уменьшая. "}" раскидываем по отдельным строкам. Если текущая строка содержит "function" - вставляем n пустых строк перед ней. Сложно, возможно, будет выравнять операторы присваивания. И так далее, ещё несколько действий по анализу кода... Никто случайно не натыкался на тулзу, чтобы стилизировать PHP-код?Я попробовал прогнать по сорцам GNU indent - отлично форматирует код, хотя он предназначен для C и, наверное, с PHP-specific особенностями не справится (правда, ни одной PHP-specific особенности кода я навскидку не вспомнил). Кроме того, у indent'а огромное количество опций для настройки форматирования кода. Гуёвые морды к нему тоже есть. Ну и вот ещё:http://formatter.gerbenvv.nl/version3/index.php?lang=en - онлайн.http://www.prettyprinter.de/index.php - онлайн.http://www.textrush.com/code-indenter.htm - платный. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 24 Сентября 2006 Жалоба Поделиться Опубликовано 24 Сентября 2006 http://www.waterproof.fr/products/phpCodeBeautifier/ (фришный) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 24 Сентября 2006 Автор Жалоба Поделиться Опубликовано 24 Сентября 2006 2SphinX, всё несколько сложнее. Например в конструкции <<<EOF не надо ничего форматировать... А вместо EOF можно написать всё, что душе угодно.. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Garret Опубликовано 25 Сентября 2006 Жалоба Поделиться Опубликовано 25 Сентября 2006 Ну конечно может и не так тяжело, но все равно. Сложные синтаксические консрукции не так уж и просто разобрать, а если там еще и синтаксическая ошибка? См. код:<? function test($test="{"){if (1){while(1){ echo "}{";?>}{ello!<?}echo "{$test}"}}Ну это так примерно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 25 Сентября 2006 Жалоба Поделиться Опубликовано 25 Сентября 2006 это всё подойдёт если текущий код вообще без отступов, стеной.А если уже остилизован? Тогда нужно ещё и все начальные отступы удалять. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 26 Сентября 2006 Автор Жалоба Поделиться Опубликовано 26 Сентября 2006 Удалять впринципе - не так сложно, нужно побайтное просто пропустить код в цикле и лишнее постирать, что мой COdeSweeper И делает. Но мой вариант требует ещё отладки, т.к. есть сложные куски кода, который он неверно понимает. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.