LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1031|回复: 7

求助:代码风格转换的问题

[复制链接]
发表于 2006-8-3 12:50:40 | 显示全部楼层 |阅读模式
实际上是三个问题:

1.把c 语言风格的命名(如,insert_book,find_pen等)的源代码 转换成 java 风格的(insertBook,findPen)

2.单词的部分修改,就是怎样把 insertBook,insertKey,insertPen,insertCore 这些词中的insert 都换成find,使原来的词变成findBook,findKey,findPen,findCore

3.转换的参数化问题,比如说,(2)中的"find",我想让它是可变的,比如说从是从终端输入的,或者是从文件中取出来的.


用awk,sed,等工具都可以.只是我的水平有限,有知道的帮帮忙,

先行谢过.
发表于 2006-8-3 17:52:03 | 显示全部楼层
有这个必要吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-3 19:49:53 | 显示全部楼层
现在对我来说,有这个必要,可以省很大一部分人力
回复 支持 反对

使用道具 举报

发表于 2006-8-4 04:53:32 | 显示全部楼层
不会用命令行的话,就用 kate 这些编辑器替换啊。。
回复 支持 反对

使用道具 举报

发表于 2006-8-4 08:59:29 | 显示全部楼层
Post by whitelilis
现在对我来说,有这个必要,可以省很大一部分人力

我的意思是说,真的有必要把这些代码全部转换成某一个风格吗?既然是已经存在而且工作得很好的代码的话,这样大面积修改势必会造成很多 bug ,而且代码风格本来就不是什么非常严重的问题,只要以后的代码都坚持新的代码风格就可以了,以前有的代码,我觉得还是不要随便动为好。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-4 12:19:20 | 显示全部楼层
谢谢楼上的,我的意思是,我要写一个自动生成代码的工具,其中要用到以上三种操作,而不是要简单地改风格
再次谢谢
回复 支持 反对

使用道具 举报

发表于 2006-8-6 08:21:58 | 显示全部楼层
可以使用正则表达式来解决 (Vim 命令):
Post by whitelilis

1.把c 语言风格的命名(如,insert_book,find_pen等)的源代码 转换成 java 风格的(insertBook,findPen)


  1. :%s#\(\<\w\+\)\@<=_\(\w\+\>\)#\u\2#g
复制代码

Post by whitelilis

2.单词的部分修改,就是怎样把 insertBook,insertKey,insertPen,insertCore 这些词中的insert 都换成find,使原来的词变成findBook,findKey,findPen,findCore

  1. :%s#\<insert\u\w\+\>\&\<insert#find#g
复制代码


只是一个思路。Perl, sed, ... 的 regex 表达方式可能与 Vim 不同。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-10 12:17:11 | 显示全部楼层
谢谢楼上,问题已经解决,用了sed  和 awk
继续学习........
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表