﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-λ-calculus</title><link>http://www.cppblog.com/vczh/</link><description>【QQ：343056143（已满），504254078】【MSN：vczh@hotmail.com】【Email：vczh@163.com】</description><language>zh-cn</language><lastBuildDate>Sun, 06 Jul 2008 07:13:45 GMT</lastBuildDate><pubDate>Sun, 06 Jul 2008 07:13:45 GMT</pubDate><ttl>60</ttl><item><title>Vczh Free Script 2.0 beta 发布</title><link>http://www.cppblog.com/vczh/archive/2008/07/01/55072.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Tue, 01 Jul 2008 13:35:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/07/01/55072.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/55072.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2008/07/01/55072.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/55072.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/55072.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 作者保留对源代码的一切权利<br><br>文件是一个rar压缩包，结构如下：<br>【产品】<br>    【Demo】两个Demo的编译结果。这个文件夹里面的脚本代码仅供测试用。<br>    【库】编译结果以及Vczh Free Script 2.0提供的插件封装，使用Vczh Free Script脚本语言编写。<br>    【文档>】使用说明书。<br>【源代码】源代码仅能使用Visual C++ 2005或以上编译器编译。<br>    【FreeScript】使用FsRuntime.dll写的C++Demo，控制台虚拟机。<br>    【FreeScript_CSharp】使用FsRuntime_clr.dll写的C#Demo，控制台虚拟机。<br>    【FsRuntime】Vczh Free Script 2.0 DLL接口。<br>    【FsRuntime_CLR】使用FsRuntime.dll写的.NET接口。<br>    【Library】<br>        【Data】数据输出以及必要的操作系统接口封装。<br>   &nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2008/07/01/55072.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/55072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-07-01 21:35 <a href="http://www.cppblog.com/vczh/archive/2008/07/01/55072.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用XPath轻松获得VC9.0工程文件包含的所有代码文件</title><link>http://www.cppblog.com/vczh/archive/2008/06/28/54871.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Sat, 28 Jun 2008 04:55:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/06/28/54871.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/54871.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2008/06/28/54871.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/54871.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/54871.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     玩了几天空之轨迹 FC，终于快结束了。距离最后一门考试还有3天，于是把整个XPath的代码写完了。于是试用一下。<br><br>    现在展示一下我那个XPath的使用方法：<br>1     VL_List<VL_XMLNode* , true> Result;<br>2     VL_XPath XPath(L"//Files//File[contains(@RelativePath,\".cpp\") or contains(@RelativePath,\".h\")]");<br>3     XPath.Query(Doc.GetRootElement(),Result);    第一行声明一个XML节点列表，第二行构造一个XPath，第三行将XPath作用在一个XML文档的根节点上。这个XPath用于把VC++9.0的工程文件中包含的所有.h文件和.cpp文件提取出来。虽然Files里面包含若干Filter，每一个Filter包含一些Filter和File，不过输出结果Output.xml把所有的满足要求的File节点都找了出来。<br><br>   &nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2008/06/28/54871.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/54871.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-06-28 12:55 <a href="http://www.cppblog.com/vczh/archive/2008/06/28/54871.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XPath语法分析器完成！</title><link>http://www.cppblog.com/vczh/archive/2008/06/21/54230.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Sat, 21 Jun 2008 08:34:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/06/21/54230.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/54230.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2008/06/21/54230.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/54230.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/54230.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     花了2个小时终于把XPath的数据结构和语法分析做完了。这个XPath的语法完全按照MSDN所说的做，除了减少了2个跟DTD相关的函数和11个Microsoft扩展的"ms:"开头的函数以外，剩下的功能将一概支持。<br><br>    代码写完了之后，我打开MSDN找里面的几十条XPath Example进行测试，发现了一些Bug，然后修正。现在MSDN所列举的所有例子都通过了，接下来只有自己写Example进行测试了。因为MSDN的例子并没有覆盖所有等价类。<br><br>    下面是运行结果和测试程序的代码：<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2008/06/21/54230.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/54230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-06-21 16:34 <a href="http://www.cppblog.com/vczh/archive/2008/06/21/54230.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准XPath语法整理</title><link>http://www.cppblog.com/vczh/archive/2008/06/20/54140.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Fri, 20 Jun 2008 09:44:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/06/20/54140.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/54140.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2008/06/20/54140.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/54140.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/54140.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp; 为了整理出可以实现的XPath，我把根DTD相关的两个内置函数去掉了，Microsoft扩展的11个函数也没有考虑进去。XPath是一门非图灵完备的、没有副作用的、弱类型以及很难看的语言，用于把一个XML的某个节点转换成一些节点。Context：上下文。指的是使用指定条件正在搜索的XML路径的节点。ContextList：被PREDICATE过滤的列表...&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2008/06/20/54140.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/54140.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-06-20 17:44 <a href="http://www.cppblog.com/vczh/archive/2008/06/20/54140.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>做了一个XML解释器</title><link>http://www.cppblog.com/vczh/archive/2008/06/19/54051.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Thu, 19 Jun 2008 13:28:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/06/19/54051.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/54051.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2008/06/19/54051.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/54051.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/54051.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     为了纪念自己为了明天的XML考试复习了半天，特地根据MSDN描述的标准做了一个XML的解释器。接口类似DOM和SAX的混合体。<br>    目前什么都不支持，不过以后打算做完DTD和XPath。XSD和XSL就先算了。反正是写着玩的。把代码贴出来先。这个代码使用了自己开发的一套C++基础库。<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2008/06/19/54051.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/54051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-06-19 21:28 <a href="http://www.cppblog.com/vczh/archive/2008/06/19/54051.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用拓扑进行几何图形布尔运算</title><link>http://www.cppblog.com/vczh/archive/2008/06/17/53675.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Tue, 17 Jun 2008 03:20:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/06/17/53675.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/53675.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2008/06/17/53675.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/53675.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/53675.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     首先吐槽一下：今天考IT项目管理，100道选择题。前几天考配置管理，10道大题。如今的老师都喜欢走极端……<br><br>    这个方法是在考完试回宿舍的路上想到的，适用于2D与3D。主要想法是这样的。给定两个几何图形A、B，把A和B都分成『内『、『外』两部分。A的『内』就是处于B内部的部分。于是A和B就变成了A内、A外、B内、B外。然后就有如下公式：<br>    ·A and B=A外+B外<br>    ·A sub B=A外+B内<br>    ·A or B=A内+B内<br>    ·A xor B=A外+B外+A内+B内<br>    这种数据结构是为了满足如下算法：一个A点在图形内<==>过这个点的直线交图形与点集P，其中|{Pi|Pi<=A}|和|{Pi|Pi>=A}|都是奇数。注意我们使用的是<=和>=，这样的话两个集合的数量的奇偶性都是一致的。这个算法无论2D、3D多边形还是3D多面体都能适用，就算是这个图形有孔（镶嵌）也可以，而且跟凹凸体无关。这个算法只有一种情况是不能用的：就是自己跟自己有交叉，譬如我们习惯的5条直线构成五角星的画法。这&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2008/06/17/53675.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/53675.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-06-17 11:20 <a href="http://www.cppblog.com/vczh/archive/2008/06/17/53675.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>无责任替朋友发个招聘广告</title><link>http://www.cppblog.com/vczh/archive/2008/06/16/53612.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Mon, 16 Jun 2008 15:35:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/06/16/53612.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 网龙公司招聘<br>网龙公司是中国网络游戏开发商和运营商的领导者之一，总部位于中国福建省福州市。<br><br>1、大型WEB2.0网站架构师<br>2、3D游戏引擎程序设计师<br>3、游戏客户端程序员<br>4、游戏服务端程序员<br>5、游戏工具开发程序员<br>6、手机平台开发程序员<br>7、驱动开发程序工程师<br>8、B/S程序员<br>9、WEB2.0游戏社区软件开发工程师<br>10、应用软件开发程序员<br><br>月薪6千起，优秀者月薪不封顶。享受基本养老、医疗、失业、工伤、生育等保险，以及公积金和公司福利。<br>联系方式：<br>QQ：611990694（请备注：您的姓名和应聘岗位）<br>EMAIL：hr@nd.com.cn<br><br>内详，版主勿删。&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2008/06/16/53612.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/53612.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-06-16 23:35 <a href="http://www.cppblog.com/vczh/archive/2008/06/16/53612.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何手写语法分析器</title><link>http://www.cppblog.com/vczh/archive/2008/06/15/53373.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Sun, 15 Jun 2008 13:59:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/06/15/53373.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/53373.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2008/06/15/53373.html#Feedback</comments><slash:comments>25</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/53373.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/53373.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在写可配置的语法分析器之前，我觉得还是先说说如何手写语法分析器好。因为对于大部分人来说，开发一个可配置的语法分析器并没有什么作用，反而针对某种特定的语法开发特定的语法分析器是特别有必要的。典型的有表达式计算器、某种格式化的文件（HTML、XML等）或者是其他的复杂而且符合树型结构的字符串。根据目前论坛的反应来看，有一些朋友们对如何开发一套自己的脚本引擎比较感兴趣。等基础的文章都写完以后我会考虑撰写一个系列的文章介绍如何开发自己的脚本引擎。<br><br>这篇文章会附带一些必要的代码以便帮助读者们理解。为了方便，代码使用DevC++开发。&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2008/06/15/53373.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/53373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-06-15 21:59 <a href="http://www.cppblog.com/vczh/archive/2008/06/15/53373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天在硬盘上发现了去年写的一个小型IDE</title><link>http://www.cppblog.com/vczh/archive/2008/06/14/53251.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Sat, 14 Jun 2008 08:20:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/06/14/53251.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/53251.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2008/06/14/53251.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/53251.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/53251.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     当Vczh Free Script还处于1.0版本的时候，我用C#写了一个IDE出来。因为脚本本身是不能产生exe的，所以这个IDE只有执行而没有编译的功能。不过有两个个困难的地方。<br><br>    RichTextBox里面的修改会让颜色变化。我找不到C#中的有效做法，所以只好把自己的正则表达式引擎包一层插入C#，每次修改的时候都重新生成整个RTF文档插入RichTextBox。后来测试的时候，发现只要脚本在1000行左右的时候速度仍然是可以接受的。没有进行更多的测试。<br><br>    脚本自己也是可以调用编译器的。脚本代码可以用字符串产生一段新的代码然后执行。因此IDE也要动态的【发现】并【调试】这些动态产生的代码。下面贴了4幅图。&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2008/06/14/53251.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/53251.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-06-14 16:20 <a href="http://www.cppblog.com/vczh/archive/2008/06/14/53251.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>接下去的事情</title><link>http://www.cppblog.com/vczh/archive/2008/06/13/53081.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Thu, 12 Jun 2008 17:40:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2008/06/13/53081.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/53081.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2008/06/13/53081.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/53081.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/53081.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 1：开发将椭圆、贝塞尔曲线以及文字转换成多边形的工具<br><br>&nbsp;&nbsp;&nbsp; 2：解决多边形的布尔运算，有并集、交集和余集等<br><br>&nbsp;&nbsp;&nbsp; 3：使用2开发画笔<br><br>&nbsp;&nbsp;&nbsp; 4：开发画刷基础，实现Color Matrix、Vertex Transformation及多边形渲染<br><br>&nbsp;&nbsp;&nbsp; 5：图像工具
<img src ="http://www.cppblog.com/vczh/aggbug/53081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2008-06-13 01:40 <a href="http://www.cppblog.com/vczh/archive/2008/06/13/53081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>