这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 bcpp,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
BCPP - 制作 C++ 美化器
概要
BCPP [-bcl[-bnl[-cc ] [-f ]
[-fi ] [-fnc ] [-fo ] [-h[-i
] [-lg[-NC[-qb[-s[-t[-tbcl[-tbnl] [ ] [ ]
[ ]
一般 配置
-bcl 代码行上的大括号
-bnl 在新行上打开大括号
-cc
将注释与代码对齐的列
-f
功能行间距
-fi
输入文件名
-fnc
加载自定义配置文件
-fo
输出文件名
-h, -? 显示帮助信息
-i
缩进空间长度
-lg 保留图形字符
-NC
将注释与无代码对齐的列
-qb
定义内部队列缓冲区大小
-s 在缩进中使用空格
-t 在缩进中使用制表符
-tbcl 代码行上的顶级大括号
-tbnl 新行上的顶级大括号
启用/禁用 配置
以 -y 或 -n 开头的选项分别启用/禁用功能。
-雅 or 创建
代码行上的大括号
-yb or -nb
带有 .bac 扩展名的备份输入文件
-ybbi or -nbbi
缩进块的两个大括号
-ybi or -nbi
块的缩进尾括号
-ykcwc or -nkcwc
用代码保持评论
-ycnc or -nlcnc
使用 NoCode 发表评论
-哟 or -没有
程序输出
-yq or -nq
将引号中的非 ASCII 字符更改为八进制
产品详情
该程序使用户能够重新格式化 C 或 C++ 源代码的某些元素。 这个
如果一个人的代码有点不可读,或者已经缩进到一种风格,这会有所帮助
你不喜欢。 使用这个程序将有望帮助重新设计代码,以便它
非常符合你的风格。 但是,由于可以编码的 C(++) 样式很多,
这个程序处理源代码的能力是有限的,结果重新
格式化源。
以下是已实现的功能列表:
- 在某些位置重新定位评论。
- 删除引号中未包含的不可打印字符。
- 将引号内的不可打印字符转换为八进制/字符表示法。
- 重新调整功能之间的行间距。
- 修剪所有行的尾随空格,以及前导和尾随空行
从文件中。
- 将左括号重新定位为 Kernighan/Ritchie 风格或 Pascal 风格。
- 在缩进中使用制表符或空格。
- 单行代码的缩进,根据某些 C 条件语句,
包括嵌入式 SQL 语句。
操作系统需求
该程序将在 Microsoft DOS V3.3 和 Unix 平台下运行。
它使用大约 50 - 70k(或更多,取决于内部队列大小)的内存
在执行过程中。
程序代码的编写方式与现有的 C++ 兼容
编译器,但是代码不是 ANSI 标准,可能需要修改
环境。 源代码是用标准的 ANSI 和 Posix 函数编写的,所以
如果在另一台计算机上重新编译,则应该需要最少的重写
平台。
当前源代码已使用 Turbo C++ V3.0 编译,适用于 MS-DOS、GNU G++ 2.7.2
在运行 SunOS、Solaris 以及运行 IRIX 的 SGI 工作站的 Sun SPARCstation 下。
项目运营
程序的操作是通过命令行 (CLI) 并在配置的帮助下进行的
文件,您可以定义您的格式要求。 基本上每个命令指令都以
一个破折号“-”跟在我的命令名称之后。 如果该命令需要另一个参数,则
命令后加参数,用空格隔开(即bcpp -fi
输入.cpp)。
注意:不要单独输入 bcpp.exe 来查找其命令帮助,使用 bcpp -? 或 bcpp -h。
这是由于来自 O/S 的输入重定向。 遵守 Unix CLI 约定,一个
从 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 程序的输出被重定向到
“输出.cpp”
配置文件可用于指定大多数不变的元素
重新格式化代码。 配置文件由一些相当长的词组成
用于解释代码的输出风格。 但是设置这些参数非常
很简单,它们基本上由两种类型组成,布尔类型或整数类型。 使用你最喜欢的
文本编辑器,您可以在配置文件中更改以下内容...
以下参数将包含在配置文件中(默认为
bcpp.cfg)。 程序将尝试读取程序中的默认配置文件
源(即运行 bcpp 的路径)。 使用 -fnc 选项,您可以定义自定义
配置文件名和来自 CLI 的路径。
整数类型范围:0 - 5000 布尔类型范围:开、是、或关、否
Function_Spacing : 整数
此参数指定分隔两个函数的行数。
例如,
函数间距 = 2
CLI
-f 2
Use_Tabs:布尔值
指定是否在缩进代码中使用制表符。
例如,
use_tabs = 否
CLI
-t(打开标签,默认使用空格)
-s(使用制表符缩进)
Indent_Spacing : 整数
指定要缩进的空格数。 此参数还设置选项卡的宽度。
Bcpp 认为制表符的宽度与缩进的宽度相同。
EG
缩进间距 = 4
CLI
-i 4
Comments_With_Code : 整数
定义出现在一行代码之后的注释所在的列
放置。
例如,
comment_with_code = 50
CLI
-cc 50
Comments_With_Nocode : 整数
定义出现在一行中的注释将被放置在其中的列。
例如,
comment_with_nocode = 0
CLI
-NC 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”选项。 将此选项设置为开
将与代码不在同一行的注释缩进相同
缩进作为代码。
例如,
Leave_comments_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 : 布尔值
将此参数设置为 yes 将删除不可打印的字符
源文件,但保留任何 IBM 图形字符。 任何非
引号内的可打印字符将被转换为
八进制/字符表示法,如果 NonAscii_Quotes_To_Octal 参数设置为 True。
EG
leave_graphic_chars = 是
CLI
-lg
Ascii_Chars_Only : 布尔值
将此参数设置为 yes 将删除任何不可打印的非 ASCII 字符
从输入文件。 位于引号内的任何不可打印的字符都将是
如果 NonAscii_Quotes_To_Octal 设置为八进制/字符符号,则转换为八进制/字符表示法
真的。 如果您使用 Leave_Graphic_Chars 参数,请注释掉此参数,
因为此参数将覆盖它。
例如,
ascii_chars_only = 是
CLI
-na(不删除非 ASCII 字符)
-ya(是删除非 ASCII 字符)
Place_Brace_On_New_Line :布尔值
当设置为 'on' 时,bcpp 会将左大括号放在新行上(“Pascal”样式 C
编码),当设置为“关闭”时,bcpp 将使用“K&R”风格的 C 编码。
Pascal 风格的 C 编码:
如果(条件)
{
报表;
}
K&R 风格的 C 编码:
如果(条件){
报表;
}
例如,
place_brace_on_new_line = 打开
CLI
-bnl(上)
-bcl(关闭)
Program_Output : 布尔值
此参数将停止可能退出的程序损坏输出的输出
从程序通过标准输出。 如果此参数设置为 off/no
然后程序不会产生任何输出,除非遇到错误。
标准错误用于显示处理过程中遇到的任何错误。
例如
程序输出 = 关闭
CLI
-no(如果可能,默认为生成输出,这将
强制输出关闭)
-yo(如果可能,打开程序输出)
Queue_Buffer : 整数
指定内部存储器所需的行大小
处理缓冲区。 这用于 Kernighan/Ritchie 的开放式支架重定位
风格。 将此缓冲区扩展到大量内存将减慢处理速度
小型机器。
例如,
队列缓冲区 = 2
CLI
-qb 2
; : 不适用
将分号放在文本前面会使分号之后的所有内容成为
评论。
Backup_File : 布尔值
此选项会将输入文件备份到扩展名为“.bac”的文件中,并且
用重新格式化的版本覆盖输入文件。
例如,
备份文件 = 是
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
-fi
输出文件名:仅限 CLI
这定义了要写入数据的输出文件名。
例如,
必须是这样的,(至少在 DOS 中):
bcpp -fo output.cpp < input.cpp
I
-fo
在线帮助:仅限 CLI
程序中存在一些简短但切中要害的在线帮助。 这
help 列出了程序中所有可用的 CLI 命令。
EG bcpp -h
CLI bcpp - ?
BCPP-h
配置 文件 误差 收件箱
如果您在配置文件中错误地输入了命令/参数,则在
可执行程序读取它,该程序将生成一条错误消息及其
电话号码。 以下是对可能出现的错误信息的解释
读取配置文件中的参数。
关键字后的语法错误:
由于参数后的字符/单词不正确而发生错误,或
预期另一个关键字(例如 =、是、否、开、关)
范围错误:
当整数参数的数值设置无效(即 A
数字不在 0 - 5000 之间)。
预期数值数据:
当字母数字数据代替整数的数字数据时会发生此错误
类型参数。
无法破译:
所述行的参数无效(即无法识别)。
读取配置文件后是否出现错误; 提示用户
使用 [y/n] 继续提示修复配置错误之前
处理,或继续当前设置的参数。
运行 时间 故障 中 输入 文件 的解决方案
内存分配失败:
程序无法分配内存来处理数据。 此错误将停止
数据的处理。
线路建设中的错误
期望某种代码! 数据类型 = ? :
此错误是在线路构建过程中产生的。 解码后的行
对于这个程序来说,输入文件可能太难辨认了。 找到行
输入文件,看看它是否可以被更改以便处理可以继续。
语言(++) 美化剂 限制
本节重点介绍代码中 bcpp 无法重建的某些区域
将代码输出到所需的样式(尽管它可能仍然能够编译)。
- 通过该程序输入的所有代码都应处于可编译状态。 这个
意味着应该有闭括号抵消开括号。 流量
对代码根本不进行语法检查,而是根据 open 重新格式化它,
右大括号,以及一些用于单行缩进的关键词。
- 开放式牙套的移动距离也有限制
处理。 这是由于程序的当前设计(这可以很容易地修复
通过扩展内部队列缓冲区大小)、内存要求、处理
速度。 动态内存分配在整个程序中被广泛使用,并且
如果出现某些情况,可能会超过电流限制。
例子显示大括号从新行到上面的移动
代码行将不会发生,因为它超出了程序的范围,如果
内部队列缓冲区的大小限制为 2 行。
支架移动范围示例:
如果 (a == b)
// 支撑不会被重新定位
{
b = c;
}
if (a == b) // 支撑将被重新定位
{
b = c;
}
最终结果
如果 (a == b)
// 支撑不会被重新定位
{
b = c;
}
if (a == b){ // 大括号将被重新定位
b = c;
}
- 有一个约束,一行代码应该只有一种类型
评论。 如果在同一行中同时存在 C 和 C++,则该行
程序的构建阶段会变得混乱,并产生错误
信息。 以下行将产生一条线路构造错误消息。
多个评论的示例。
/* C 注释 */ a = b; // C++ 注释
上面的行会产生一个错误。 通过删除一种类型来解决这个问题
注释、组合它们,或将它们放在新行上。
作者
史蒂文·德托尼 (Steven De Toni) 于 1995 年 XNUMX 月撰写
由 Thomas Dickey 于 1997-2002 年 XNUMX 月更新
您可以通过各种在线网络联系 Steven De Toni:
互联网地址
[email protected]
[email protected]
通过 Fido-Net (Dog Net) 的网络邮件
史蒂文·德托尼
《大逃亡》,
汉密尔顿
新西兰
Demi-Monde 新西兰国家邮件网络
(见狗网)
如果所有其他方法都失败了,请将蜗牛邮件发送至:
17花园高地大道,
梅尔维尔,
汉密尔顿
新西兰
可以通过以下方式联系 Thomas Dickey
[email protected]
特别感谢 Glyn Webster 校对我的手册并测试我的
程序。
感谢 Justin Slootsky 的投入以及此版本的更改。
全部 语法的 本文档中的错误供您欣赏。 ;-)
免责声明
作者不保证该程序将按照给定的规范运行
通过配置或程序重构的源代码输出
处理。 使用本程序(无论是软件,还是
硬件)是用户的问题,而不是作者的问题。 使用此软件将您绑定到
本免责声明。=
C++ 美化器()
使用 onworks.net 服务在线使用 bcpp