Это команда bcpp, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
БЦПП - сделать C ++ красивее
СИНТАКСИС
БЦПП [-bcl] [-млрд.] [-cc ] [-f ]
[-фи ] [-фнк ] [-фо ] [-h] [-i
] [-lg] [-нк] [-qb] [-s] [-t] [-tbcl] [-tbnl] [ ] [ ]
[ ]
ОБЩАЯ ИНФОРМАЦИЯ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-bcl Открытые фигурные скобки в строке кода
-млрд. Открытые фигурные скобки на новой строке
-cc
Столбец для выравнивания комментариев с кодом
-f
Межстрочный интервал функции
-фи
Имя входного файла
-фнк
Загрузить пользовательский файл конфигурации
-фо
Имя выходного файла
-h, -? Показать справочное сообщение
-i
Длина отступа
-lg Оставить графические символы
-нк
Столбец для выравнивания комментариев без кода
-qb
Определить размер буфера внутренней очереди
-s Используйте пробелы в отступах
-t Используйте табуляцию в отступах
-tbcl Открытые фигурные скобки верхнего уровня в строке кода
-tbnl Открытые фигурные скобки верхнего уровня на новой строке
ВКЛЮЧИТЬ ВЫКЛЮЧИТЬ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Опции, начинающиеся с -y или -n, включают / отключают функции соответственно.
-я or созданный
Открытые фигурные скобки в строке кода
-yb or -nb
Резервный входной файл с расширением .bac
-ыбби or -нбби
Сделайте отступ в обеих фигурных скобках блока
-иби or -нби
Отступ в конечной скобке блока
-ykcwc or -nkcwc
Оставляйте комментарии с помощью кода
-ylcnc or -nlcnc
Оставляйте комментарии с NoCode
-Эй or -нет
Вывод программы
-yq or -nq
Заменить символы не-ASCII в кавычках на восьмеричные
О проекте
Эта программа позволяет пользователю переформатировать определенные элементы исходного кода C или C ++. Этот
помогает, если код одного человека немного нечитабелен или имеет отступ в стиле, который
тебе не нравится. Мы надеемся, что использование этой программы поможет изменить стиль кода, чтобы он
полностью соответствует вашему стилю. Однако из-за множества стилей C (++), которые можно кодировать,
существуют ограничения на то, насколько хорошо эта программа будет обрабатывать исходный код, и в результате
форматированный источник.
Ниже приводится список реализованных функций:
- Перемещать комментарии в определенных местах.
- Удалите непечатаемые символы, не заключенные в кавычки.
- Преобразование непечатаемых символов в кавычках в восьмеричную / символьную нотацию.
- Изменить интервал между строками между функциями.
- Обрезать конечные пробелы во всех строках, а также начальные и конечные пустые строки
из файла.
- Измените положение открывающих скобок в стиле Керниган / Ричи или в стиле Паскаля.
- Использование табуляции или пробелов в отступах.
- Отступ однострочного кода в соответствии с определенными условиями C,
включая встроенные операторы SQL.
Требования
Эта программа будет работать под платформами Microsoft DOS V3.3 и Unix.
Он использует примерно 50-70 КБ (или больше, в зависимости от размера внутренней очереди) памяти.
во время исполнения.
Программный код написан таким образом, чтобы быть совместимым с существующим C ++.
компиляторы, однако код не является стандартом ANSI и может потребовать модификации для вашего
окружающая обстановка. Исходный код был написан с использованием стандартных функций ANSI и Posix, поэтому
это наименьшее количество перезаписи должно потребоваться при перекомпиляции на другом компьютере
.
Текущие исходники были скомпилированы с использованием Turbo C ++ V3.0 для MS-DOS, GNU G ++ 2.7.2
под Sun SPARCstation под управлением SunOS, Solaris, а также на рабочих станциях SGI под управлением IRIX.
РАБОТА
Работа с программой осуществляется через командную строку (CLI) и с помощью конфигурации.
файл, вы можете определить свои требования к формату. Обычно каждая командная директива начинается с
прочерк "-" следует за моим именем команды. Если для команды нужен другой параметр,
параметр добавляется после команды и разделяется пробелом (например, bcpp -fi
ввод.cpp).
NB: не вводите bcpp.exe самостоятельно, чтобы найти справку по его командам, используйте bcpp -? Или bcpp -h.
Это связано с перенаправлением ввода от операционной системы. В соответствии с соглашением Unix CLI,
строка, которая читается из интерфейса командной строки и не имеет директивы команды, считается
входной файл. Если в командной строке есть два таких вхождения, приоритет будет
входной файл первым, а второй выходной файл (например, bcpp infile.cpp outfile.cpp -lg), третий
в таком случае появится сообщение об ошибке.
Если выходной файл не представлен, предполагается, что он будет выводиться через стандартный вывод. Этот
автоматически отключает вывод программы. Параметры, введенные в командной строке, будут
переопределить параметры, считанные из файла конфигурации.
Пример:
bcpp -fi input.cpp -f 2 -qb 5 -na -no -cc 60> output.cpp
конспект
-fi input.cpp Входной файл = input.cpp
-f 2 Интервал между функциями = 2
-qb 2 Внутренний буфер очереди = 5
-na Удалить символы, отличные от ascii
-no Подавить вывод программы
-cc 60 Комментарии, которые появляются в той же строке, что и
код будет помещен в столбец 60.
> output.cpp Вывод программы перенаправляется на
"output.cpp"
Файл конфигурации можно использовать для указания большинства неизменяемых элементов в
переформатирование кода. Файл конфигурации состоит из довольно длинных слов, которые
используются для объяснения стиля вывода кода. Однако установка этих параметров очень
easy, они в основном состоят из двух типов: логического или целочисленного. Используя свой любимый
текстовый редактор, вы можете изменить следующее в файле конфигурации ...
Следующие параметры будут содержаться в файле конфигурации (по умолчанию
bcpp.cfg). Программа попытается прочитать файл конфигурации по умолчанию в программе.
источник (т.е. по какому пути был запущен bcpp). Используя параметр -fnc, вы можете определить собственный
имя файла конфигурации и путь из интерфейса командной строки.
Диапазоны целочисленного типа: 0 - 5000 Диапазоны логического типа: Вкл., Да или Выкл., Нет
Function_Spacing: Целое число
Этот параметр указывает, сколько строк разделяют две функции.
например,
function_spacing = 2
CLI
-ф 2
Use_Tabs: логическое значение
Указывает, следует ли использовать табуляцию в коде отступов.
например,
use_tabs = нет
CLI
-t (включить табуляцию, по умолчанию используются пробелы)
-s (использовать табуляцию для отступов)
Indent_Spacing: целое число
Задает количество пробелов для отступа. Этот параметр также устанавливает ширину вкладок.
Bcpp считает, что ширина табуляции равна ширине отступа.
EG
отступ_спейсинг = 4
CLI
-я 4
Comments_With_Code: целое число
Определяет столбец, в котором будут отображаться комментарии, появляющиеся после кода в строке.
размещены.
например,
комментарии_с_кодом = 50
CLI
-куб.см 50
Comments_With_Nocode: целое число
Определяет столбец, в который будут помещены комментарии, появляющиеся в строке.
например,
комментарии_с_нокод = 0
CLI
-нк 0
Indent_Preprocessor: логический
Если true, bcpp будет делать отступ строк препроцессора до отступа кода C (++).
Если false, строки препроцессора будут в первом столбце. Неизвестный (т. Е.
нестандартные) строки препроцессора всегда помещаются в первый столбец.
Indent_Exec_Sql: логический
Если true, bcpp ищет встроенные операторы SQL (например, EXEC SQL) и форматирует
их специально.
Keep_Comments_With_Code: логический
Этот параметр имеет приоритет над параметром «Comments_With_Code». Установка этой опции на
будет делать комментарии, которые не подходят, поскольку встроенные комментарии добавляются к коду
так или иначе.
Leave_Comments_NoCode: логический
Этот параметр имеет приоритет над параметром «Comments_With_Nocode». Установка этой опции на
будет отступать от комментариев, которые не встречаются в той же строке, что и код, к тому же
отступ как код.
например,
оставить_комментарии_нокод = на
CLI
-nlcnc (выключить Leave_Comments_NoCode)
-ylcnc (включить Leave_Comments_NoCode)
NonAscii_Quotes_To_Octal: логический
Используйте эту опцию, чтобы изменить символы, отличные от ASCII (непечатаемые), на восьмеричную нотацию, если
они заключены в кавычки. Этот параметр не вступает в силу, если
Установлены параметры Ascii_Chars_Only или Leave_Graphic_Chars.
например,
NonAscii_Quotes_to_Octal = нет
CLI
-nq (Отключить символы в кодировке, отличные от ascii, в восьмеричных)
-yq (включить символы, отличные от ascii в кавычках, в восьмеричное)
Leave_Graphic_Chars: Boolean
Установка этого параметра в значение да приведет к удалению непечатаемых символов из
исходный файл, но оставьте только символы, которые являются графикой IBM. Любые не-
печатные символы, заключенные в кавычки, будут преобразованы в
восьмеричная / символьная запись, если для параметра NonAscii_Quotes_To_Octal установлено значение True.
EG
leave_graphic_chars = да
CLI
-lg
Ascii_Chars_Only: Boolean
Установка для этого параметра значения да приведет к удалению всех непечатаемых символов, отличных от ASCII.
из входного файла. Любые непечатаемые символы, заключенные в кавычки, будут
преобразуется в восьмеричную / символьную нотацию, если для параметра NonAscii_Quotes_To_Octal установлено значение
Истинный. Закомментируйте этот параметр, если вы используете параметр Leave_Graphic_Chars,
поскольку этот параметр переопределит его.
например,
ascii_chars_only = да
CLI
-na (не удалять символы, отличные от ASCII)
-ya (Да, удалить символы, отличные от ASCII)
Place_Brace_On_New_Line: Boolean
Если установлено значение 'on', bcpp будет помещать открывающие фигурные скобки в новые строки (стиль "Pascal" C
coding), когда установлено значение 'off', bcpp будет использовать кодирование C стиля "K&R".
Кодирование C в стиле Паскаля:
если (условие)
{
заявления;
}
Кодирование C в стиле K&R:
if (условие) {
заявления;
}
например,
place_brace_on_new_line = на
CLI
-bnl (вкл.)
-bcl (выкл.)
Program_Output: Boolean
Этот параметр остановит вывод из программы, искажающей вывод, который может завершиться
из программы через стандартный вывод. Если этот параметр выключен / нет
тогда программа не выводит никаких результатов, если только не возникнет ошибка.
Стандартная ошибка используется для отображения любых ошибок, обнаруженных во время обработки.
НАПРИМЕР
program_output = выкл
CLI
-no (по умолчанию генерировать вывод, если возможно, это будет
принудительное отключение вывода)
-yo (по возможности включить вывод программы)
Queue_Buffer: целое число
Указывает, что требуется внутренней памяти, будет размером с строку
буфер обработки. Это используется для перемещения открытой скобки в Керниган / Ричи.
стиль. Расширение этого буфера до больших объемов памяти замедлит обработку
маленькие машины.
например,
Очередь_Буфер = 2
CLI
-кб 2
; : Непригодный
Если поставить точку с запятой перед текстом, все, что будет после точки с запятой, станет
комментарий.
Backup_File: логический
Эта опция создаст резервную копию входного файла в файл с расширением «.bac» и
перезапишите входной файл отформатированной версией.
например,
backup_file = да
CLI
-yb (да, резервный входной файл, если возможно)
-nb (нет, не делать резервную копию входного файла)
Загрузка Конфигурация Файл : CLI Важно
Bcpp реализует параметр конфигурации, чтобы разрешить выбор файла из определенного
путь / файл, определенный пользователем.
например,
bcpp input.cpp -yb (читать файл конфигурации bcpp.cfg
перед обработкой опций CLI)
bcpp -fnc /bin/bcpp.cfg (загрузить файл конфигурации в
указанное место)
CLI
-fnc (использовать определенный пользователем)
Имя входного файла: только CLI
Эта опция предписывает bcpp читать данные по заданному пути и имени файла.
НАПРИМЕР
bcpp -fi input.cpp> output.cpp
CLI
-фи
Имя выходного файла: только CLI
Это определяет имя выходного файла, в который должны быть записаны данные.
например,
Должно быть так (по крайней мере, в DOS):
bcpp -fo output.cpp <input.cpp
Cli
-фо
Онлайн-справка: только интерфейс командной строки
В программе есть некоторая онлайн-справка, которая краткая, но по существу. В
help перечисляет все команды интерфейса командной строки, доступные в программе.
EG bcpp -h
CLI bcpp -?
БЦПП -ч
Конфигурация Файл Ошибка Сообщения
Если вы неправильно вводите команду / параметр в файле конфигурации, при
исполняемая программа, читающая его, программа выдаст сообщение об ошибке вместе со своим
номер строки. Ниже приводится объяснение сообщений об ошибках, которые могут появляться при
чтение параметров в файле конфигурации.
Ошибка синтаксиса после ключевого слова:
Ошибка возникает из-за того, что символ / слово после параметра был неправильным, или
ожидалось другое ключевое слово (например, =, Да, Нет, Вкл, Выкл)
Ошибка диапазона:
Ошибка возникает, когда целочисленные параметры имеют недопустимую числовую настройку (например, A
число не находится в пределах от 0 до 5000).
Ожидаемые числовые данные:
Эта ошибка возникает, когда буквенно-цифровые данные используются вместо числовых данных для целого числа.
параметры типа.
Не могу расшифровать:
Параметр в указанной строке недействителен (т. Е. Не распознается).
Если после чтения файла конфигурации возникли какие-либо ошибки; пользователю предлагается
с предложением продолжения [y / n], чтобы исправить ошибку (и) конфигурации перед
обработки или продолжить с текущими заданными параметрами.
Run Дата ошибки Во время вход Файл Обработка
Ошибка выделения памяти:
Программе не удалось выделить память для обработки данных. Эта ошибка прекратится
обработка данных.
Ошибка построения линии
Ожидается какой-то код! Тип данных =? :
Эта ошибка возникает в процессе построения линии. Расшифрованная строка
из входного файла может быть слишком непонятным для этой программы. Найдите строку в
входной файл и посмотрите, можно ли его изменить, чтобы можно было продолжить обработку.
C (++) Украшение ограничения
В этом разделе выделены определенные области кода, в которых bcpp не сможет восстановить
вывести код в желаемый стиль (хотя он все еще может быть скомпилирован).
- Весь код, передаваемый через эту программу, должен быть в компилируемом состоянии. Этот
означает, что должны быть закрывающие фигурные скобки, которые отменяют открывающие фигурные скобки. Bcpp
вообще не проверяет синтаксис кода, но переформатирует его в соответствии с open,
закрывающие фигурные скобки и несколько ключевых слов для отступа одной строки.
- Также существует ограничение на то, насколько далеко можно перемещать открытые брекеты.
обработанный. Это связано с текущим дизайном программы (это легко исправить.
за счет увеличения размера буфера внутренней очереди), требования к памяти, обработка
скорость. Распределение динамической памяти широко используется в программе, и
может превышать текущие ограничения при возникновении определенных условий.
Пример показывает, что перемещения раскоса от новой строки к указанной выше
строка кода не состоится, так как она будет вне области действия программы, если
размер внутреннего буфера очереди ограничен 2 строками.
Пример диапазона движения скобы:
если (а == б)
// Скоба не будет перемещена
{
б = с;
}
if (a == b) // Скоба будет перемещена
{
б = с;
}
Конечный результат
если (а == б)
// Скоба не будет перемещена
{
б = с;
}
if (a == b) {// Скобка будет перемещена
б = с;
}
- Существует ограничение, что одна строка кода должна иметь только один тип
комментарий. Если в одной строке существуют и C, и C ++, то строка
этап построения программы запутается и выдаст ошибку
сообщение. Следующая строка выдаст сообщение об ошибке построения линии.
Пример нескольких комментариев.
/ * C Комментарий * / a = b; // Комментарий C ++
Вышеупомянутая строка вызовет ошибку. Исправьте это, удалив один тип
прокомментируйте, объедините их или поместите в новую строку.
АВТОРЫ
По сценарию Стивена Де Тони, декабрь 1995 г.
Обновлено Томасом Дики, январь 1997-2002 гг.
Вы можете связаться со Стивеном Де Тони через различные онлайн-сети:
Интернет-адрес
[электронная почта защищена]
[электронная почта защищена]
Чистая почта через Fido-Net (Dog Net)
Стивен Де Тони,
"Большой побег",
Гамильтон,
Новая Зеландия
Demi-Monde Национальная почтовая сеть Новой Зеландии
(см. Dog Net)
Если ничего не помогает, отправьте обычное письмо по адресу:
17 Гарден Хайтс Авеню,
Мелвилл,
Гамильтон,
Новая Зеландия
С Томасом Дики можно добраться по адресу
[электронная почта защищена]
Особая благодарность Глину Вебстеру за исправительное чтение моего руководства и тестирование моего
программу.
Спасибо Джастину Слоотски за его вклад и изменения для этой версии.
Все грамматический ошибки в этом документе сделаны для вашего удовольствия. ;-)
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ
Авторы не дают никаких гарантий, что эта программа будет работать в соответствии с указанными спецификациями.
через конфигурацию или реконструированный вывод исходного кода программы, который был
обработанный. Любой ущерб, который может возникнуть в результате использования этой программы (будь то программное обеспечение или
железо) - это проблема пользователя, а не авторов. Использование этого программного обеспечения связывает вас с
этот отказ от ответственности. =
С ++ Beautifier ()
Используйте bcpp онлайн с помощью сервисов onworks.net