在C++中我们会遇到如何让一个函数能够接收任意的类型的参数的问题,在C语言中解决这个问题的方法是使用省略号作为函数的原型,但是省略号参数并不能指定参数具体的数量因此存在着一定的安全隐患,最近在研究Loki库的可继承性静态代码的时候发现在C++中还存在另外一种C++特有的方法,那就是采用模板构造函数和模板转换运算符。阅读全文>
发表于 @ 2006年07月06日 12:25:00|评论(loading...)|编辑
正则表达式在Unix/Liunx系统中起着非常重要的作用,在很大一部分的程序中都使用了正则表达式,可以这么说:“在Unix/Linux系统中,如果不懂正则表达式就不算会使用该系统”。本文中使用的Lex和Yacc都是基于正则表达式的应用,因此有必要用一篇文档的形式详细说明在Lex和Yacc中使用的正则表达式为何物!
阅读全文>
发表于 @ 2006年07月05日 08:36:00|评论(loading...)|编辑
在开发程序的过程中经常会遇到文本解析的问题,例如:解析C语言源程序,编写脚本引擎等等,解决这种文本解析的方法有很多,一种方法就是自己手动用C或者C++直接编写解析程序,这对于简单格式的文本信息来说,不会是什么问题,但是对于稍微复杂一点的文本信息的解析来说,手工编写解析器将会是一件漫长痛苦而容易出错的事情。本系列文档就是专门用来由浅入深的介绍两个有名的Unix工具Lex和Yacc,并会一步一步的详细解释如何用这两个工具来实现我们想要的任何功能的解析程序,为了方便理解和应用,我会在该系列的文章中尽可能的采用具体可行的实例来加以阐释,而且这种实例都是尽可能的和具体的系统平台无关的,因此我采用命令行程序作为我们的解析程序的最终结果。本文第一篇将会讲解该开发环境的设置问题。阅读全文>
发表于 @ 2006年07月04日 10:07:00|评论(loading...)|编辑