- 博客(35)
- 收藏
- 关注
原创 多个返回值
觉得让代码有点不清晰了[主要是让我实现增加难度 汗~~~],比如 a = f() + b(); 或者 a,b,c = f(),b(); 等 哎,果然还是要把 a,b = 3,4 这样的东西去掉,我还是挺喜欢的呢 55555
2008-05-25 23:12:00
707
原创 运算符重载之等号
如果一个非强类型的脚本语言,支持运算符重载,那么是不是不应该重载等号 ? 出差的时候偶尔想到了这个问题 暂时不支持等号重载 - -!!!
2008-05-25 23:05:00
2933
原创 KAVA 恩,简单的脚本语言,HOHO
花了好几个周末,- - 累死我了~把词法自动生成,LR,LALR语法自动生成写了一下目的当然是写一个简单的语言,现在差不多把最最简单的东西实现了,因为以前习惯用C++,因此保留C++里的运算符(除了前++前--,不为啥,因为我用得少,并且没有指针了),以及所有的运算符优先级,不过‘^’符号变成了幂运算,FOR,WHILE,IF,BREAK,CONTINUE都保持,本来觉得 a,b = b,
2008-05-03 00:24:00
1089
原创 突然发现,几百年没写BLOG了,帖个代码(正归式到自动机)
前天在公司看到LUA的原代码分析,本来学编译原理的时候就很感兴趣,希望自己弄个解释语言玩,当时从词法,语法自动生成,全部自己过,可惜上课到LR后就不认真听了,谁让跟老师混熟了, 哈哈~~ 原来的代码也只写到 LR 语法自动生成... 后来发了下文章,几个小DD,MM要让俺发代码,不过我就把SLR发给了某个DD,其他的全部不理,其实不是不理,是不想让人知道我的代码多难看 - -!!!
2008-03-23 13:07:00
1072
原创 hash array mapped trie
每个NODE 两个WORD. (key / value or map / next)因为不可能用2G内存全部用来做HASH_TABLE. 因此,指针的一个位可以空出来当做标记位(是key/value 还是map/next ) .... 加上memory_pool XXXX... 唉 郁闷 , 一想到被拒了就不爽. 找不到工作就傻了...
2005-11-23 20:54:00
1848
原创 edit distance 编辑距离
Refrence : Dynamic Programming Algorithm (DPA) for Edit-Distance编辑距离 关于两个字符串s1,s2的差别,可以通过计算他们的最小编辑距离来决定。 所谓的编辑距离: 让s1和s2变成相同字符串需要下面操作的最小次数。1. 把某个字符ch1变成ch22. 删除某个字符
2005-11-10 13:22:00
10916
2
原创 string
准备写一个有效率的string 类,以便在spider 中使用,原来是打算从头写,不过看了下 标准库中 string 的代码,恩,使用了ref-count 技术,既然如此,直接用吧. 不过string 中的operation 实在少,于是写了派生类,结果发现成员都是私有的,想有效率些,不得以,写了比较憋闷的代码#define private protected -@ access pri
2005-11-07 10:18:00
1062
原创 ODBC ~
ODBC第一次接触。先写一下收获:) 再写一下憋闷的接触过程.动态的获得数据1 不加载游标库 也就是可以直接创建一个CDatabase m_db; m_db.OpenEx("conn str...",这个参数不要CDatabase::useCursorLib);因为加载游标库后,必须进行数据绑定(我原来的CMyRecordSet就是自己写的方法根据m_rgODBCField
2005-11-05 12:40:00
1611
原创 MFC 中的内存诊断
在DEBUG 模式下,MFC 重载了new 运算符,并且是两个,一个是全局,一个针对COBJECT 的派生类对象。其中每次分配内存时,都额外的分配了一个结构大小在实际需要的内存区前面,同时在该结构和实际内存之间以及实际内存的最后也分配了额外的空间,用于检查程序是否进行了错误的越界写,以便在调试模式下给用户警告。 而有意思的当然是那个结构,里面保存了所分配内存的所有信息,大小拉,是否COBJE
2005-10-24 22:34:00
1359
原创 spider 设计~
晚上开始抽时间来完善或者说是重新写以前的 spider~ ... 开始使用 UML ,HOHO,以前写那个感觉不好,现在好好设计设计 :) 尽管不咋会用,嘿嘿,至少我经历了不会用而用的阶段... 下一次 就是会用一点点而用的阶段了 :) 暂时画了个协作图,和几个活动图(感觉就是流程图一样的画 ) HOHO, 想到什么就画什么, 明天再改!~ WK 看到记得改改 哦总体协作图
2005-10-13 21:49:00
1447
原创 对象模型~
(VC6实现的C++对象模型) 在C++对象模型中,类成员的分布情况:1) non-static 数据成员位于每个对象之中2) static 数据成员与所有的函数都位于对象之外处理虚函数: 类的所有虚函数地址放在一块,称之为虚拟函数表。编译器为每个类
2005-10-01 21:51:00
1316
原创 initialization list
虽然简单,再复习复习,哈~ 成员初始化列表与其他初始化的不同 // 1) class A { A():m_str(0){} string m_str; } // 2) class A { A() { m_str = 0; } string m_str; } 1) 和 2) 两种初始化方式有什么不一样呢?看一下编译器层次上,他们可能的伪代码就清楚了: // 1
2005-09-30 15:30:00
2332
原创 软件工程
终于要开始认真的学软件工程了,突然想起,不久前和WK讨论spider时把两个模块因为处理的信息一致(信息内聚)说成了信息耦合,哈~ 郁闷!#¥·%¥。在没学之前,可是很向往着软件工程的,结果因为前段时间是打算考研而没下工夫,甚至逃课(不过是懒惰的借口罢了~)。现在时间又回来了,(今天早上的软工又逃了……),是该改改了,不改就找不到工作了 5555。 说起看软件工程,才发现老师已经飙了好远,自己却
2005-09-29 21:53:00
1717
原创 copy semantic
Copy semanticbit wise semantic(以下简写为bws ^_^):copy constructor(以下简称cc)bit wise copy(bwc) 当某个class 展现bws 的时候,编译器就会对拷贝进行bitwise-copy。Bitwise-copy 所谓的逐位拷贝就是类似下面的一种拷贝; Class B …… C
2005-09-29 20:40:00
1416
原创 default constructor
很多C++教程都有说到,如果一个class 没有构造函数,那么编译器会暗地里给这个class 加上一个 default 构造函数。于是刚开始学习的时候,有的人便以为,在default 构造函数中会进行一些必要的初始化工作,再由于懒的缘故(me J) ,于是便忽略了构造函数。 其实不然,甚至恰恰相反,default constructor 的作用并不是为程序语言使用者服务的
2005-09-28 11:42:00
1953
原创 梦醒时分...
我在屋顶看书,你陪着我…… 我在湖边玩耍,你陪着我…… 我在夜里观星,你陪着我…… …… 你总是不耐烦的诉说着许多人文地理,我总是陶醉的倾听, 我总是兴奋的告诉你许多技术以及我的梦想,欣赏着你陶醉的眼神~ …… #·¥%·(*—*·#¥% 原来是学校的horn 原来已是梦醒时分~ 懒散的躺着,不愿让那依稀的向往消散…… 心情有些惆怅
2005-09-26 10:07:00
1200
1
原创 [spider] Pagebuffer_Manger 部分伪代码
>buffer_manager idle_id_cont // 空闲的buffer id writed_id_cont // 空闲的buffer id,不过已经被write parsed_id_cont // 空闲的buffer id,不过已经被parse buffer_cont // 缓冲区集合 mutex // 互斥对象 >buffer data
2005-09-25 11:31:00
1234
原创 [spider] 爬虫总体模型
最近只想把以前的小程序好好整理,改改简历,提高简历的魅力(至少也得减少一点排斥力,哈~), 结果感觉动力不太明显,活干得不怎么利落,面对以前乱七八糟的东西,一下也拾不起来,生活习惯一下改变,也有一点不太习惯……。唉…… WK说他要做一个企业内部的“信息搜索工具”,暂且就这么叫吧,^_^ 想和我讨论一下以前我写的爬虫模型,以及相关实现。于是就重新拿起未完善的spider 代码,重新研究。
2005-09-25 10:39:00
2075
转载 [zt] More on Generics in the CLR
http://msdn.microsoft.com/msdnmag/issues/03/10/NET/default.aspx
2005-07-14 19:57:00
809
原创 [fy] 截取屏幕的3种实现
本文地址 : http://www.codeproject.com/dialog/screencap.asp 有时候我们需要在程序中截取屏幕,下面我将解释如何来实现。其中最直接的方式是使用 GDI 或者 DX,除此之外,还可以考虑 Windows Media API。 在这里我们会分别介绍他们的实现方法。GDI 方式: 如果不考虑效果或者仅是随便的截图,我们可以考虑GDI。他的机制
2005-07-08 11:11:00
1868
原创 [al] 关于多部带权图的最短路径的动态规划求解
大2的时候学的,本来以为挺复杂的 。hoho其实就是一个很简单的问题知道一个位置 A 以及 多个位置(比如是 B C),其中 A 到 B 距离为 d_ab, A 到 C 距离为 d_ac ,还知道 B 和 C 到达终点的距离分别为d_be, d_ce 。求 A 到达终点的最短路径。 只要判断 d_ab + d_be 和 d_ac + d_ce 的大小关系,便可得到解。 就这么简单:)! 只不过
2005-07-03 14:58:00
1683
原创 [cp] SLR分析表的生成 以及分析程序(3)
1. SLR分析表的生成仅列出定义及部分实现 /************************************************************************//* Author : 陈正/* Time : 2005/06/24/* Desc : 分析表
2005-07-03 14:52:00
2721
2
原创 [cp] SLR分析表的生成 以及分析程序 (2)
1. First,Follow 集的生成由于之前我已经完成了 LL1语法器的生成。这里仅是借鉴了之前的代码。下面是类的声明和部分实现/************************************************************************//* Author : 陈正/* Time :
2005-07-03 14:50:00
2055
原创 [cp] SLR 分析表的生成以及分析程序 (1)
由于之前写的发上来后出现了错误的格式,以及一些符号替换,而重写后再发老是超时,因此分成两个小的 :)SLR语法分析自动生成程序实验文档1. 在程序中表示文法1.1 文法的输入和读取为了程序读取的方便,非/终结符相互间以空格分开。例如应该输入:E -> E + T T -> T * F | TF -> ( E ) | idE -> T而不是输入:E->E+T|T……
2005-07-03 14:28:00
3643
原创 [cp] 预测分析表的生成 (更新)
...#pragma once#pragma once#include #include #include #include using namespace std;#define size_range(what,cont) do{assert(what>=0 && what#define debug_out(what) do{ cout/* * [下标] * */struct Ind
2005-06-29 18:20:00
1853
1
原创 [转帖] Visual C++窗体设计技巧集
http://blog.youkuaiyun.com/simb/archive/2005/06/28/406261.aspx [前言:]有好的界面软件就成功了一半,本文将向您介绍怎样设计一些有“稀奇古怪”形状的窗体,如何设定窗体的颜色、如何设置任务栏和状态栏以及菜单图标等等,通过这些技巧能更深入的理解VC的文档-视图结构。 如何制作透明窗体 使用SetLayeredWindowAttributes可
2005-06-29 10:19:00
1197
原创 [cp] LR_1 分析表的生成
昨天刚写完 SLR 今天晚上大概改了下就变成 LR1 的了 @_@改的地方有几个:1:项目/* * [项目] * */struct Item{ Item(int nont,int pro,int dot,int tmnl); bool operator == (const Item& itm); // [比较项如上 6/20/2005] Item& operator = (const Item&
2005-06-28 21:51:00
1746
1
原创 [cp] SLR分析表的生成
时完成了 SLR ……LR语法分析自动生成程序实验文档1. 在程序中表示文法1.1 文法的输入和读取为了程序读取的方便,非/终结符相互间以空格分开。例如应该输入:E -> E + T T -> T * F | TF -> ( E ) | idE -> T而不是输入:E->E+T|T…… 文法先保存到文件中然后程序读取文件。1.2 文法
2005-06-27 21:28:00
2998
5
原创 [爬虫] URL提取
参考 论文: 一种可扩展的高效链接提取模型的实现与验证 作为一个爬虫,最基本的便是能够从各个页面中提取URL,这里介绍我实现的提取器。基于可扩展性,我首先实现了一个不针对任何元素的HTML元素提取,即可以提取所有的元素,并通过HOOK的模型,再根据具体需要实现不同的HOOK来获得针对性的信息。当然爬虫的HOOK便是获取URL。HOOK的接口大致如下:// [消息通知接口]void begin_pa
2005-05-04 23:43:00
2735
原创 [爬虫] 爬虫的实现
作为一个爬虫,最基本的便是能够从各个页面中提取URL,给整个爬虫系统模型提供一个URL抽取器模块。 在文章 〈 [ 爬虫 ] URL的提取 〉中介绍我的URL提取器的实现。 接着是下载模块,当然我还没学网络呢,对这些不是怎么清楚,大概的看了下帮助,简单的封装了一个用于下载的类。提供接口有:open_section(...) // [打开绘画]build_connecti
2005-05-03 23:24:00
1440
原创 [cp] 词法分析器的自动生成
我的目标只是按照课本上所说的,一个表格,一个控制程序,而控制程序大部分没什么变化,只是根据识别动作做相应的一点改变而已,最后虽然完成了,但不能肯定它的正确性,还好多次测试都没什么问题……(简单的测试)HOHO 自动机在程序中的存储结构,我会在另外一篇待写的文章中说明,这里,我是考虑如何根据下面的输入来生成一个最终的自动机,并产生一个对应识别动作的分析程序…… 首先说明一下输入规则: 在单引号之
2005-04-30 11:38:00
2776
2
原创 [cp] 预测分析表的生成
刚学编译原理,因为考研会考的原因加上觉得实践起来也比较有趣,于是打算把部分简单的给实践一下,首先当然是 自动机 的生成, 这个已经写完,还按照课本上说的实现了一个类似LEX的程序,不过代码有点乱,就先不说了, 而预测分析程序,就稍微简单点。 先把代码发一下~ 以后有空再说……不过也没什么好说的 HOHO因为时间关系 刚把消除递归加上, 提取公共左因子还没加……// [今天早上把提取公共左因
2005-04-28 19:44:00
2131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人