something试听:格式化 C/C++/H/HPP/java ... 的程序文件
来源:百度文库 编辑:偶看新闻 时间:2024/05/05 19:04:41
因为想读一下nmap的源代码,代码的内容虽好,可规范性可不敢恭维
所以就写了这个小程序,感觉不错,就拿来与大家分享一下
声明:本程序代码公开,您可以对其进行修改和再次发布,但请保留作者信息
* 作者:林子深 * 日期:2003-03-22 * 邮件:lzs@army.com
子程序:格式化代码返回值类型:文本型 参数:代码文本 数据类型:文本型
局部容器:文件号 数据类型:整数型
局部容器:循环容器 数据类型:整数型
局部容器:级别 数据类型:整数型
局部容器:存在空行 数据类型:整数型
局部容器:文本行 数据类型:文本型
局部容器:返回容器 数据类型:文本型
级别 = -1
文件号 = 打开内存文件 ()
如果真 (文件号 = 0)
返回 (“”)
如果真结束
代码文本 = 子文本替换 (代码文本, 字符 (9), , , , 真)
代码文本 = 子文本替换 (代码文本, “//”, #换行符 + “//”, , , 真)
代码文本 = 子文本替换 (代码文本, “/*”, #换行符 + “/*”, , , 真)
代码文本 = 子文本替换 (代码文本, “{” + #换行符, #换行符 + “{” + #换行符, , , 真)
代码文本 = 子文本替换 (代码文本, “}” + #换行符, #换行符 + “}” + #换行符, , , 真)
写出文本 (文件号, 代码文本)
移到文件首 (文件号)
判断循环首 (是否在文件尾 (文件号, 真) = 假)
文本行 = 删首尾空 (读入一行 (文件号))
如果 (文本行 = “”)
存在空行 = 存在空行 + 1
否则 存在空行 = 0
如果结束
如果真 (取文本左边 (文本行, 1) = “{”)
级别 = 级别 + 1
如果真结束
如果真 (存在空行 < 2)
返回容器 = 返回容器 + 取重复文本 (级别, 字符 (9)) + 删首尾空 (文本行) + #换行符
如果真结束
如果真 (取文本左边 (文本行, 1) = “}”)
级别 = 级别 - 1
如果真结束
判断循环尾 ()
关闭文件 (文件号)
返回 (返回容器)