博客园  :: 首页  :: 联系 :: 管理

2011年8月18日

摘要: 我们已经看到, 元编程在一个类似jsp的模板引擎方面的应用。我们通过简单的字符串处 理来生成代码。但是我们可以做的更好。我们先提一个问题, 怎样写一个工具, 通过查找 目录结构中的源文件来自动生成Ant脚本。 阅读全文

posted @ 2011-08-18 11:02 雪庭 阅读(1108) 评论(0) 推荐(0)

摘要: 到此刻为止, 我们所知的关于Lisp的指示可以总结为一句话: Lisp是一个可执行的语法更 优美的XML, 但我们还没有说Lisp是怎样做到这一点的, 现在开始补上这个话题。 阅读全文

posted @ 2011-08-18 10:52 雪庭 阅读(452) 评论(0) 推荐(0)

摘要: 到了这里, 对XML的讨论你大概都听累了, 我都讲累了。我们先停一停, 把树, s表达式, Ant这些东西先放一放, 我们来说说C的预处理器。一定有人问了, 我们的话题和C有什么 关系? 我们已经知道了很多关于元编程的事情, 也探讨过专门写代码的代码。理解这问题 有一定难度, 因为相关讨论文章所使用的编程语言, 都是你们不熟悉的。但是如果只论概 念的话, 就相对要简单一些。我相信, 如果以C语言做例子来讨论元编程, 理解起来一定 会容易得多。好, 我们接着看。 阅读全文

posted @ 2011-08-18 09:36 雪庭 阅读(222) 评论(0) 推荐(0)

摘要: 我们先把算符的事情放一放, 考虑一下Ant设计局限之外的东西。我早先说过, Ant可以通 过写Java类来扩展。Ant解析器会根据名字来匹配XML元素和Java类, 一旦找到匹配, 就执 行相应任务。为什么不用Ant自己来扩展Ant呢? 毕竟核心任务要包含很多传统语言的结构 (例如"if"), 如果Ant自身就能提供构造任务的能力(而不是依赖java类), 我们就可以得 到更高的移植性。我们将会依赖一组核心任务(如果你原意, 也不妨把它称作标准库), 而 不用管有没有Java 环境了。这组核心任务可以用任何方式来实现, 而其他任务建筑在这 组核心任务之上, 那样的话, Ant就会成为通用的, 可扩展的, 基于XML的编程语言。考虑 下面这种代码的可能性: 阅读全文

posted @ 2011-08-18 09:11 雪庭 阅读(327) 评论(0) 推荐(0)