Перейти к контенту

PHP CodeSweeper


Рекомендуемые сообщения

Никто случайно не натыкался на тулзу, чтобы стилизировать PHP-код?

 

Т.е. на входе имеем код, без отсупов, а если и есть - то беспорядочные, непонятно как расставлены переходы строк и вообще - читать код невозможно, суём в тулзу и получаем аккуратный и красивый код, в R&K стиле желательно.

 

PS: Сам написал какой смог - теперь боюсь попробывать скормить ему проблемный файл.

Ссылка на комментарий
Поделиться на других сайтах

Интерпретатор проще - там все отсутпы повырезал и интерпретируй скока влезет :-)
Ссылка на комментарий
Поделиться на других сайтах

Интерпретатор проще - там все отсутпы повырезал и интерпретируй скока влезет :-)

Гениально..

 

Интерпретатор - транслятор, способный параллельно переводить и выполнять программу, написанную на алгоритмическом языке высокого уровня.

Ссылка на комментарий
Поделиться на других сайтах

Написать такую штуку наверно как написать свой интерпретатор :D

Ничего сложного.

 

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 - платный.

Ссылка на комментарий
Поделиться на других сайтах

2SphinX, всё несколько сложнее.

 

Например в конструкции <<<EOF не надо ничего форматировать... А вместо EOF можно написать всё, что душе угодно..

Ссылка на комментарий
Поделиться на других сайтах

Ну конечно может и не так тяжело, но все равно. Сложные синтаксические консрукции не так уж и просто разобрать, а если там еще и синтаксическая ошибка?

 

См. код:

<?
function test($test="{"){if (1){while(1){ echo "}{";?>}{ello!<?}echo "{$test}"}}

Ну это так примерно.

Ссылка на комментарий
Поделиться на других сайтах

это всё подойдёт если текущий код вообще без отступов, стеной.

А если уже остилизован? Тогда нужно ещё и все начальные отступы удалять.

Ссылка на комментарий
Поделиться на других сайтах

Удалять впринципе - не так сложно, нужно побайтное просто пропустить код в цикле и лишнее постирать, что мой COdeSweeper И делает.

 

Но мой вариант требует ещё отладки, т.к. есть сложные куски кода, который он неверно понимает.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.