自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(62)
  • 资源 (6)
  • 收藏
  • 关注

原创 使用Vim批量完成函数体的生成

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">使用Vim批量完成函数体的生成/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%

2008-09-11 21:55:00 3254 5

原创 网友们的问题可以到http://bbs.autodev.net论坛上面发表

首先非常感谢广大网友对我的博客的关注,鉴于网友们所提的问题,很多是重复的,因此特意办了一个论坛:http://bbs.autodev.net,如果有问题可以到论坛上面提出,本人一定尽力做到有问必答:)这样之后再有网友有问题,可以先到论坛上面查看一下,这样我也可以专心做其他的一些事情:)谢谢了:)另外本人的文档将会在http://www.autodev.net网站上面发表:)所以

2008-06-28 11:57:00 1216 1

原创 配合STL算法编写类的成员函数

配合STL算法编写类的成员函数 我们在使用C++的开发工作中,经常会编写许许多多的类,当然也会编写大量的成员函数。但是对于如何设计类的结构,如何确定类的成员,这将会是一个艰难的抉择过程。在编写C++类的过程中,我们都希望是我们的成员函数集合最小化,但是常常很难做到这一点。本文就来详细的讨论一下这个问题!在游戏开发中有一个单元类: class Unit{public:

2008-02-05 12:51:00 2249 4

原创 自动化C++程序设计---基础篇_分析C++重载函数(3)--存在的问题

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-23 21:58:00 2139 4

原创 自动化C++程序设计---基础篇_分析C++重载函数(2)--分析函数参数的种类

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-23 21:55:00 1848

原创 自动化C++程序设计---基础篇_分析C++重载函数(1)--分析函数参数的数量

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-23 21:52:00 1964

原创 自动化C++程序设计---分析C++类结构

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-23 21:49:00 3351

原创 自动化C++程序设计---分析C++类层次

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-23 21:45:00 2358 1

原创 自动化C++程序设计---C++里的模板语言

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-23 21:42:00 2919

原创 应用篇_撤销(Undo)和重做(Redo)的C++自动化实现(6)---扩展的框架代码

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-11 21:26:00 2503 1

原创 应用篇_撤销(Undo)和重做(Redo)的C++自动化实现(5)---处理多类型的对象以及命令管理

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-11 21:23:00 2028

原创 应用篇_撤销(Undo)和重做(Redo)的C++自动化实现(4)---将撤销和重做的基本架构模组化

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-11 21:21:00 2179

原创 应用篇_撤销(Undo)和重做(Redo)的C++自动化实现(3)---撤销和重做的基本架构

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-11 21:19:00 2595 5

原创 应用篇_撤销(Undo)和重做(Redo)的C++自动化实现(2)---撤销和重做原理

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-11 21:16:00 2782

原创 应用篇_撤销(Undo)和重做(Redo)的C++自动化实现(1)---交换函数swap功能的讨论

/*<![CDATA[*/body { color: #000; background-color: #fff; margin: 0px 10%; min-width: 720px; font-family: 新宋体; counter-reset: chapter section subsection subsubsection paragraph lchapt

2007-10-11 20:32:00 2328 2

原创 Lex和Yacc从入门到精通(7)-筛选信息(容错处理)

 #if 0     在通常的情况下,我们只关心文本中的一部分信息,但是为了编写词法和语法分析程序,又不得不将所有的结构信息全部描写出来,例如:我们仅仅关心C++源文档中的类名字信息,而不关心类是否有成员变量,是否有成员函数以及是否有其它的一些C++内容。将结构信息全部描述出来的做法是费时费力的,通常的情况往往导致项目的不可完成或者延期完成。另外,作为程序设计者和代码编

2007-03-21 21:28:00 9547 5

原创 Undo(Redo)撤销和重做代码的最后测试文件(相当于文档)

本文是之前写过的撤销和重做库的一份比较完整的测试文档,可以当作文档来使用,不过不知道应该如何在这个博客里面链接完整代码,所以需要代码的朋友可以到 CSDN的下载频道去下载(pandaxcl.rar),或者来邮件索取,如果您使用了我的代码,请麻烦通知一声,我会非常欣慰的:) #include #include #include "test.h"#include "undo/command.h

2006-12-31 23:02:00 1900

原创 采用最一般的序列化方法生成有特殊序列化顺序要求的格式文件的方法

#if 0封装操作在创建文件格式上面的作用#endif#if 0封装操作,我的理解是封装了函数调用并且能够延迟调用的一个变量!这种方式在C/C++里面就有好多种:函数指针,仿函数。实际上我们编写程序的过程就是一个设计函数调用顺序的过程。#endif#if 0通常的情况是我们将函数调用顺序以静态编码的形式写死了:#endif#ifdef SAMPLE1#include using namesp

2006-11-30 00:53:00 1818 1

原创 Lex和Yacc从入门到精通(6)-解析C/C++包含文件

解析C/C++包含文件 本文版权归熊春雷 所有,我的邮箱:[email protected]>,欢迎大 家和我讨论计算机方面的问题,在我的博客 http://blog.csdn.net/pandaxcl上面还写了很多其他 的文档,有空来看看哦。如果转载,请保留此版权信息,并注明出处。 谢谢:) 摘要 在这一章里面将要涉及到处理C

2006-10-05 14:00:00 10597 6

原创 Lex和Yacc从入门到精通(5)-开发Lex和Yacc程序的一般步骤

Lex和Yacc程序开发的一般步骤 本文版权归熊春雷 所有,我的邮箱:[email protected]>,欢迎大 家和我讨论计算机方面的问题,在我的博客 http://blog.csdn.net/pandaxcl上面还写了很多其他 的文档,有空来看看哦。如果转载,请保留此版权信息,并注明出处。 谢谢:) 摘要 经过前面章节的准

2006-10-03 12:34:00 7176 2

原创 Lex和Yacc从入门到精通(4)-能够使用C++的Lex和Yacc框架

能够使用C++的Lex和Yacc框架 本文版权归熊春雷所有 ,我的邮箱:[email protected]>,欢迎大家和我讨论计算机方面 的问题,在我的博客上 面还写了很多其他的文档,有空来看看哦。如果转载,请保留此版权信息,并注 明出处。谢谢:) 摘要 写这一章的目的就是为了能够提供一个能够使用C++特色的Lex和Yacc框架,这个

2006-09-26 22:10:00 12074 1

原创 Lex和Yacc从入门到精通(3)--一个极其简单的lex和yacc程序

一个极其简单的lex和yacc程序 本文版权归熊春雷所有 ,我的邮箱:[email protected]>,欢迎大家和我讨论计算机方面 的问题,在我的博客上 面还写了很多其他的文档,有空来看看哦。如果转载,请保留此版权信息,并注 明出处。谢谢:) 摘要 在本章中,将会首先给出一个最基本的lex和yacc联合使用的框架,这个基本框架

2006-08-27 17:45:00 21509 13

原创 C++中模板构造函数和模板转义运算符的妙用

#if 0 在C++中我们会遇到如何让一个函数能够接收任意的类型的参数的问题,在C语言中解决这个问题的方法是使用省略号作为函数的原型,但是省略号参数并不能指定参数具体的数量因此存在着一定的安全隐患,最近在研究Loki库的可继承性静态代码的时候发现在C++中还存在另外一种C++特有的方法,那就是采用模板构造函数和模板转换运算符。 现在来看看具体的代码:#endif#include #in

2006-07-06 12:25:00 3409 2

原创 Lex和Yacc从入门到精通(2)--正则表达式篇

正则表达式在Unix/Liunx系统中起着非常重要的作用,在很大一部分的程序中都使用了正则表达式,可以这么说:“在Unix/Linux系统中,如果不懂正则表达式就不算会使用该系统”。本文中使用的Lex和Yacc都是基于正则表达式的应用,因此有必要用一篇文档的形式详细说明在Lex和Yacc中使用的正则表达式为何物!其实正则表达式非常简单,用过DOS的人都知道通配符吧,说得简单一点,正则表达式就是

2006-07-05 08:36:00 8489 6

原创 Lex和Yacc从入门到精通(1)--环境配置篇

环境设置 本文版权归熊春雷所有 ,我的邮箱:[email protected]>,欢迎大家和我讨论计算机方面 的问题,在我的博客上 面还写了很多其他的文档,有空来看看哦。如果转载,请保留此版权信息,并注 明出处。谢谢:) Abstract 在开发程序的过程中经常会遇到文本解析的问题,例如:解析C语言源程序,编写 脚本引擎等等,

2006-07-04 10:07:00 26035 9

原创 用lex将xpm文件转换成为自定义的OpenGL使用的纹理文件格式

在进行游戏编程的过程中经常会遇到图像文件的读取需求,但是如果直接使用其它的图像库,要么没有源代码,要么非常难以使用,要么就会出现版权纠纷。实际上经常的情况就是仅仅只是需要一种纹理数据,至于具体的文件格式根本就没有需要,完全可以自定义一种文件格式,使得读取尽可能的简洁明了。听起来似乎很难,其实不然,本人在多年的游戏开发过程中总结出来了一种简洁明了的方法,因为主要是用于OpenGL程序的,所以我将其命

2006-06-26 13:18:00 2056

原创 梯形求积公式的逐次分半法(C语言实现)

#if 0 在好几个网友的要求下,先给出一个简单的逐次分半法梯形求积公式的C语言直接实现。不过还是提醒一下如果学习算法的话,最好还是自己实际进行编码的好。#endif#ifdef CODE1//g++ -DCODE1 thisfile.cpp#include #include // 梯形公式的逐次分半法求积函数double integral( double a,

2006-05-21 10:25:00 4261

原创 撤销和重做(Undo和Redo)的C++完美实现(9)

#if 0 在这一章里面将会讨论到该撤销和重做库的序列化问题。序列化几乎是每一个应用程序中都会考虑到的问题,在本系列文档的开始就已经提到了该撤销和重做库天生具备了序列化能力,那么在本文中将会详细的讨论序列化的问题。并且尽可能的给出非常具有弹性的序列化框架。 为了保证该序列化框架的弹性,我将该序列化框架分为三大部分: (1)档案类,专门负责档案格式的 (2)序列化类,专门负责

2006-04-28 18:15:00 2251 2

原创 C++自动化(模板元)编程基础与应用(6)

#if 0 在上一章里面讨论了代码的自动生成机制,经常会遇到根据不同的类型选择不同的操作的情况,也就是静态分派的问题。这就需要有一种机制用来识别不同的类型,在本章里面将会系统的讨论C++里面可用的类型识别问题。 最常见的有下面几种: (1)根据模板参数需要精确匹配类型来识别类型 (2)根据隐式自动转型来判断类型是否可以自动转型,从而可以判断是某个基类的派生类。

2006-04-24 19:55:00 2037 10

原创 撤销和重做(Undo和Redo)的C++完美实现(8-B)

#if 0 本来这一章是要讨论对前一章里面封装的控制面板类进行STL算法兼容性讨论的,但是在讨论这个问题之前发现前一章里面对客户端的代码编写有一个特别的要求:简单类型和复合类型必须用前一章里面的分隔符进行分隔,这就要对客户端编码规范进行限制。这是一个对库的使用者的限制,但是本撤销和重做库的目标之一就是尽可能少的给出使用该库的规则,降低库的使用者的使用门槛。因此也就自然而然的想到了,这个额外的

2006-04-24 10:41:00 1730 1

原创 撤销和重做(Undo和Redo)的C++完美实现(8-A)

#if 0 在上一章里面已经成功的封装了复合类型,基本上已经具备了应用的基础。在这一章里面将会尝试对前面讨论的简单类型和复合类型进行应用,同时也是进一步的进行封装的过程。通过提供一个统一的应用界面就可以使客户端不必区别处理简单类型和复合类型之间的各个操作的不同,而是由库来处理这种不同,这正是体现C++自动化(模板元)编程的优势的时候了。在这一章中将会讨论这个封装过程。#endif#ifdef

2006-04-23 17:09:00 1595

原创 撤销和重做(Undo和Redo)的C++完美实现(7-B)

#if 0 在这一章里面将会讲解如何派生上一章里面所讲解的复合类,生成自己特殊的复合类。生成这种特殊的复合类的派生类的目的就是为了方便使用者能够方便的添加自己的操作,同时也是为了生成相应的类型。实际上需要对前一篇文章里面的的compound类进行修改,参见代码CODE1:#endif#ifdef CODE1#include #include "command.h"#include "cent

2006-04-22 12:48:00 1446 1

原创 撤销和重做(Undo和Redo)的C++完美实现(7-A)

#if 0 在上一章里面讨论了复合对象的问题。RoundRectangle类(b)方案是一个复合类方案,从上一章的内容我们可以看出虽然实现了一个RoundRectangle类确实是一个复合类,但是实现复合类是一个比较繁琐的事情,对于一个程序里面有很多这种类的情况,那么前一章里面的编码过程将会是一个非常繁琐的体力劳动。在这一章里面将使用模板元编程将这种繁琐的体力劳动自动化。 在给出实现之

2006-04-20 09:43:00 4621 11

原创 C++自动化(模板元)编程基础与应用(5)

#if 0 在上一篇文章里面讨论了C++里面的代码生成技术,使用的是scatter,不过上一篇文章里面也提到了,前一篇文章里面讨论的代码生成模板scatter使用的类型串绝对不允许重复。其实上一篇中的scatter使用由重复的类型的类型串也是能够正常生成代码的,不过产生的代码却不能将类型重复的变量分辨出来,这样生成的代码就没有了什么实际意义,所以在这一章中将要解决的问题是:重新编写一个可以使

2006-04-20 09:41:00 1854

原创 查找一个文本文件中的字符串所在的行并输出行数

#if 0 在CSDN上有一个网友问道下面的这个问题: 我想查找一个文本文件中的字符串所在的行并输出行数! 在此我给出一个比较简洁的方案如代码CODE1所示: #endif#ifdef CODE1#include #include #include using namespace std;int main(){ ifstream in("dat

2006-04-18 22:40:00 4902 5

原创 C++自动化(模板元)编程基础与应用(4)

#if 0 这一章,我们将要开始的讨论C++里面的代码生成技术。说起代码生成技术,实际上这并不是C++的专利,作为C++子集的C语言早就已经使用了一定的代码生成技术,这就是C宏。我想C宏大家应该非常熟悉了吧,特别是能够实现带参数的宏使得大量的库利用这种技术来生成那些格式重复的代码,例如:微软的MFC库,跨平台的GUI库wxWidget,Boost库等等都使用了C宏。虽然C宏在这些库里面扮演了

2006-04-18 12:04:00 1734

原创 C++自动化(模板元)编程基础与应用(3)

#if 0 在前面的两章里面讨论了C++模板元作为C++的一门二级语言的问题,并给出了常用的程序设计语言的语素的实现,是一个完备的体系。总的来说,前面的章节里面是采用了下面的方法来实现这些语素的: (1)整数计算结果通过enum变量进行保存 (2)类型计算结果通过typedef进行保存 (3)?:运算符可用来实现静态整型表达式的选择功能 (4)模板特化可用来实现静态类

2006-04-17 20:17:00 1995 3

原创 C++自动化(模板元)编程基础与应用(2)

#if 0 在上一篇文章的最后提到了一个相对来说通用一点的LOOP循环,下面还是将上一篇文章中的LOOP循环代码复制如下:#endif#ifdef CODE1#include templatesize_t n> void print(){//这里的n是编译期的结果,可以用来定义数组的 int a[n+1];//这么做是为了证明n是编译期常量 std::cout s

2006-04-16 22:01:00 1810 3

原创 C++自动化(模板元)编程基础与应用(1)

#if 0 大家好,在这一类的文章中将会系统的介绍模板元编程的相关基础知识。最主要的是这类文章的目的就是让不熟悉模板元的C++迷们尽快的进入到模板元的奇妙世界里面来,所以每一篇文章都将只会讨论一个话题,尽可能的把这个话题说清楚明白就可以了。 好了,言归正传。大家都知道C++是一们计算机语言,这一点也没错,但是你知道C++里面还包含了另外一种子语言么?呵呵,恐怕知道的人就不多了,会用的人

2006-04-16 13:45:00 2982 8

原创 撤销和重做(Undo和Redo)的C++完美实现(6)

#if 0 在前面的章节中我们讨论的对象都是简单对象,那么什么是简单对象呢?关于这个问题,首先还是先关注一下C++语言里面的基本类型。C++语言里面的基本类型如下: char (signed,unsigned) int (signed,unsigned) short (signed,unsigned) long (signed,unsigned) flo

2006-04-15 16:32:00 2665 5

lexyaccmingw3

在lexyaccmingw2的基础上修正了ini.bat中的PATH设置,将系统PATH设置在最后了,其他不无不同! 这样就可以在这个环境下使用VIM编辑器编辑了;) 使用了系统路径

2010-08-06

lexyaccmingw2

这是对之前上传的lexyaccmingw包的更新 flex version 2.5.4 bison (GNU Bison) 2.1 Written by Robert Corbett and Richard Stallman. Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2010-08-06

自动化C++开发(基本成型版)

这是一个讲述C++模板高级应用的书籍,主要参考了《C++设计新思维》以及《产生式编程》两本书,同时也参考了BOOST的思想,对C++模板的应用自认为达到了非常的高度,其中也蕴含了非常先进的思想:“像编写程序一样来编写程序库”,“编写程序库的技巧”,“自动化编程”,“编写思想的编程”,这些都可以用来形容本书的内容!不过强调一点就是,这是一个基本成型的版本,再往下写估计需要很长时间的实践:(所以在这里先拿出来和大家分享一下,也可以从大家那里得到反馈,以提高自己的写作水平和C++应用经验:)最后特别欢迎大家来和我进行讨论,讨论的网址是:http://bbs.autodev.net,或者是http://www.autodev.net采用邮件的方式会比较慢:)望谅解...事实上我的博客上面已经发布了一部分文档出来了:0http://blog.csdn.net/pandaxcl

2008-07-13

lexyaccmingw

这个包主要实现了最简单的Lex和Yacc环境,包含了最少的但是必须的文件。<br>同时还包含了一个MinGW的GNU的C++编译器环境:)可以直接使用:)<br><br>这个包包含的文件列表:<br><br>MinGW GNU的C/C++编译程序(windows版本)<br>bison.exe GNU的yacc程序<br>bison.hairy GNU的yacc程序运行需要的文件<br>bison.simple GNU的yacc程序运行需要的文件<br>flex.exe GNU的lex程序<br>ini.bat 这个lex和yacc环境的环境变量配置<br>lexyacc.bat 这个lex和yacc环境的启动程序<br>Readme.txt 本说明文件<br><br>使用方法:<br><br>1. 鼠标双击lexyacc.bat文件运行<br>2. 在弹出的DOS命令行中利用CD切换到你的lex和yacc源文件所在的目录(calc)<br>3. 对lex源文件执行flex calc.l<br>4. 对yacc源文件执行bison -d calc.y<br><br>经过上面的四个步骤就生成了你需要的C/C++源文件,剩下的事情就是编译<br>这里生成的C/C++源程序了。<br><br>5. g++ lex.yy.c calc.tab.c -o calc<br><br>最后谢谢您的使用,也希望您提出宝贵的意见或者建议,我会认真考虑您的<br>意见或者建议的。可以发邮件到[email protected]和我联系。<br><br>博客:http://blog.csdn.net/pandaxcl<br>论坛:http://www.autodev.net<br><br><br>大家好,本人历时两年构思了四年,目前完成了一半的自动化C++程序设计代码库<br>(autocxx)总算可以拿出来见人了,大家多到论坛(http: //www.autodev.net)<br>或者博客(http://blog.csdn.net/pandaxcl)提些意见吧:)代码是开源的;)<br>下面是整个项目的文档目录:<br><br> * 自动化C++程序设计<br> * 基础篇<br> * C++里的模板语言<br> * 静态诊断<br> * 为什么说模版是C++的子语言<br> * 静态数学运算<br> * 静态选择结构<br> * 静态循环结构<br> * 运算结果的保存<br> * 基本类型<br> * nil类型<br> * t类型<br> * any类型<br> * text类型<br> * kind类型<br> * 类型串类型p<br> * 将C++的模版语言规范化<br> * is_same元函数<br> * 选择结构select<br> * partition元函数<br> * 类型串生成元函数mkps<br> * length元函数<br> * capacity元函数<br> * at元函数<br> * range元函数<br> * 静态循环(loop)<br> * 针对PS的静态循环(loop_ps)<br> * 自动生成函数调用(eloop)<br> * 针对PS自动生成函数调用(eloop_ps)<br> * p的其它一些重要的辅助函数<br> * join元函数<br> * cut元函数<br> * count元函数<br> * index元函数<br> * exist元函数<br> * repeat元函数<br> * resize元函数<br> * reverse元函数<br> * replace元函数<br> * unique元函数<br> * filter元函数<br> * map元函数<br> * reduce元函数<br> * 自动生成C++类<br> * scatter类<br> * tuple结构<br> * 分析C++类层次<br> * 分析C++类结构<br> * 类是否拥有指定参数的成员函数<br> * 类是否存在指定名称的成员函数<br> * 类是否存在指定名称的成员变量<br> * 类是否存在指定名称的子类(型)<br> * 分析C++重载函数<br> * 分析函数参数的数量<br> * 分析函数参数的种类<br> * 存在的问题<br> * C++自动化<br> * 应用篇<br> * C++静态计算器<br> * 顺序计算器<br> * 带括号顺序计算器<br> * 加减乘除带括号计算器<br> * 前缀表达式静态计算器<br> * lambda演算<br> * 基本LISP解释器<br> * 基本静态LISP解释器<br> * 扩展静态LISP解释器<br> * 静态语言解释器的生成器<br> * 问题陈述<br> * 词法分析器<br> * 语法规则表述<br> * 语法规则响应器<br> * 语法分析实现<br> * 使用前面的LEX和YACC实现静态数据库(SQL)语言<br> * 观察者模式的C++自动化实现<br> * 什么是观察者模式<br> * 观察者模式普通实现<br> * 观察者模式中的必备元素<br> * 将观察者模式普通实现自动化<br> * 将观察者模式标准化<br> * 一个使用自动化观察者模式的复杂例子<br> * 撤销和重做(Undo/Redo)的C++自动化实现<br> * 交换函数swap功能的讨论<br> * 撤销和重做原理<br> * 撤销和重做的基本架构<br> * 将撤销和重做的基本架构模组化<br> * 处理多类型的对象以及命令管理<br> * 扩展的框架代码<br> * 处理复合对象<br> * 自动化的用户界面(UI)<br> * 高级篇<br> * 应用BOOST的MPL库<br> * 采用OO思想进行框架设计<br> * 文本编辑器<br> * 图形用户界面<br> * 游戏引擎架构

2007-10-25

撤销和重做代码库

本文是之前写过的撤销和重做库的一份比较完整的测试文档,可以当作文档来使用,不过不知道应该如何在这个博客里面链接完整代码,所以代码被放置到CSDN的下载频道(pandaxcl.rar),或者来邮件([email protected])索取,如果您使用了我的代码,请麻烦通知一声,我会非常欣慰的:)

2006-12-31

LexYacc

这是一个在Windows环境下面配置好了的Lex和Yacc命令行环境。其特点就是在拥有了Lex和Yacc环境之后不在拥有任何多余的元素,是一个非常精巧的Lex和Yacc环境。发布这个包的目的就是为了能够配合我的博客中的文章的需要,因为我不知道如何将这个包上传到我得博客上面:(

2006-09-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除