| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:[原创]代码格式化工具
只看楼主 加入收藏
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
 问题点数:0 回复次数:5 
[原创]代码格式化工具

gcc编译通过 写了个比较简单的 调用指令 fmt 输入文件 输出文件
2djn82XF.rar (22.43 KB) [原创]代码格式化工具

附带了程序的一些文档

[此贴子已经被作者于2005-7-30 17:21:59编辑过]

搜索更多相关主题的帖子: 工具 格式化 代码 
2005-07-30 17:20
georgezf
Rank: 1
等 级:新手上路
帖 子:275
专家分:0
注 册:2004-11-20
收藏
得分:0 
顶!

2005-07-30 17:37
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 

Have you visit acm.tongji. lately?
2005-07-30 20:15
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 
kaikai大哥的比我简短多了,真是挺好的

可惜有一些不足的地方,当你美化如
if(..)
a=1;
这种句子会出现严重的错误                                                        

[此贴子已经被作者于2005-7-30 21:25:44编辑过]



我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2005-07-30 21:25
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
呵呵,我那幼稚的代码呀,快追随我改变你的命运吧!一道闪电...那个链接顿时化为灰飞了。楼下的人应该都不再能看到那个链接了吧:)

Have you visit acm.tongji. lately?
2005-07-30 23:13
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 

贴个算法简介吧:

算法思路: 我们定义一个名词——“一次性缩进”,比如while()后面跟一个句子,那只有这个句子是缩进的,所以有“一次性”的说法。 我们这样来定义一个句子:一般意义上的句子或者{....}这种形式,显然所有的缩进都可以用一次性缩进来克服——扫描到while等关键字,一次性缩进值加一,扫描到一般语句后,一次性缩进值清零。(每行的输出缩进值在扫描该行之前已经读入到输出端) 当然我们要给出计算机能处理的形式,定义一个栈(mid中),它的每个元素包括了一个一次性缩进值和这一层次的静态缩进值(总缩进=静态缩进+一次性缩进),扫描到“{”的时候栈层次加一,并且这个新层次的静态缩进值就是上一个层次的总缩进值,扫描到"}"退栈。这样可以解决{....}句子的“一次性缩进”问题 基本思路就是上面,其他的一些细节考虑还包括(else和if配对(一次性缩进的一个漏洞)),"{"和"}"的缩进问题(与上一个句子对齐)。

我们来看一下一次性缩进算法的两个例子: 对于while() if() ...; ...; 读入while,一次性缩进值加1, 下一行缩进值传输给输出端, 输出本行(缩进为0) 扫描第2行,if(),一次性缩进值加1, 下一行缩进值传输给输出端, 输出第二行(缩进为1) 描第3行,一般句子,一次性缩进值清零 下一行缩进值传输给输出端, 输出第3行(缩进为2); 扫描第4行,一般句子,一次性缩进值清零 输出第4行(缩进为0) 对于if()...; ...; 扫描第一行,if,一次性缩进值加1, 第一行继续扫描,读到一般句子,一次性缩进值清零 下一行缩进值传输给输出端, 扫描第二行 输出(缩进为0)

[此贴子已经被作者于2005-7-31 12:07:39编辑过]


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2005-07-31 12:06
快速回复:[原创]代码格式化工具
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029977 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved