
從左到右,Test1,PM,Dev lead,我,Dev2,Dev3
posted @
2008-12-07 20:15 陳梓瀚(vczh) 閱讀(4044) |
評(píng)論 (14) |
編輯 收藏
摘要: 今天將Serialization進(jìn)行了重構(gòu),讓其支持容器。于是使用以前的基礎(chǔ)設(shè)施就能完成這個(gè)Demo了。代碼如下:
閱讀全文
posted @
2008-11-22 02:26 陳梓瀚(vczh) 閱讀(2160) |
評(píng)論 (6) |
編輯 收藏
摘要: 眾所周知,boost里面有一個(gè)Serialization。不過(guò)我這個(gè)跟boost的有本質(zhì)上的差別。boost的Serialization是通過(guò)重載操作符將一個(gè)對(duì)象與一個(gè)流進(jìn)行讀寫(xiě),而我則通過(guò)記錄類(lèi)的成員變量來(lái)自動(dòng)產(chǎn)生相應(yīng)的讀寫(xiě)動(dòng)作。使用方便。
閱讀全文
posted @
2008-11-21 09:09 陳梓瀚(vczh) 閱讀(2849) |
評(píng)論 (9) |
編輯 收藏
摘要: 現(xiàn)在市面上已經(jīng)有很多Unit Test的工具了。對(duì)于C++來(lái)說(shuō)最為著名的莫過(guò)于CppUnit。CppUnit已經(jīng)具有豐富的功能,例如UI、報(bào)告生成等等。那么為什么還要自己做Unit Test工具呢?主要還是為了學(xué)習(xí),其次是可以為自己的特殊需求打造特殊的工具。
閱讀全文
posted @
2008-11-13 09:38 陳梓瀚(vczh) 閱讀(2545) |
評(píng)論 (4) |
編輯 收藏
作者(不是我)信息:
華南理工大學(xué)軟件學(xué)院本科07級(jí)(現(xiàn)大二)
進(jìn)入大學(xué)前玩過(guò)幾個(gè)星期pascal,高考后的暑假重新學(xué)編程
程序信息:(點(diǎn)擊這里下載)
學(xué)習(xí)C++一年后的作品。
內(nèi)含所有代碼,以及VC++工程文件。
一個(gè)程序,輸入只有匹配沒(méi)有捕獲的正則表達(dá)式,輸入被匹配的字符串,輸出字符串中符合正則表達(dá)式要求的部分。
支持括號(hào)改變優(yōu)先級(jí),[字符集]和[^字符集],少量轉(zhuǎn)義(\d等),循環(huán)(+*?),沒(méi)有捕獲
輸入輸出(紅色部分為用戶(hù)輸入的內(nèi)容):
請(qǐng)輸入正則表達(dá)式 : /\*([^\*]|\*+[^\*/])*\*+/
請(qǐng)輸入所要匹配的字符串 : a//a///*\\nab**abc**//*
a//a//【/*\\nab**abc**/】/*
算法簡(jiǎn)要:正則表達(dá)式->語(yǔ)法樹(shù)->ε-NFA->NFA->DFA->連通矩陣。
使用遞歸向下法判斷輸入的正則表達(dá)式的合法性并轉(zhuǎn)換為樹(shù)結(jié)構(gòu),其后轉(zhuǎn)成狀態(tài)機(jī)。
posted @
2008-11-08 06:44 陳梓瀚(vczh) 閱讀(4967) |
評(píng)論 (21) |
編輯 收藏
摘要: 新加入的Expected語(yǔ)法已經(jīng)完全支持了。使用了Expected的符號(hào)會(huì)因?yàn)檎{(diào)用者的不同而使用不同的scope內(nèi)的函數(shù)。代碼如下:
閱讀全文
posted @
2008-11-03 05:41 陳梓瀚(vczh) 閱讀(1684) |
評(píng)論 (0) |
編輯 收藏
摘要: 有了Expected語(yǔ)法之后總是要實(shí)驗(yàn)一下的。現(xiàn)在給出一個(gè)非完整函數(shù)eq的聲明,并用一個(gè)列表查找函數(shù)使用eq。已知代碼如下:
閱讀全文
posted @
2008-11-02 07:36 陳梓瀚(vczh) 閱讀(1527) |
評(píng)論 (0) |
編輯 收藏
摘要: Kernel FP的模板函數(shù)比較嚴(yán)格。對(duì)于任意的模板函數(shù)的類(lèi)型參數(shù),這個(gè)參數(shù)必須能夠接受所有類(lèi)型。當(dāng)然,類(lèi)型推導(dǎo)會(huì)通過(guò)閱讀代碼來(lái)精確化程序員設(shè)定的類(lèi)型。譬如說(shuō)一個(gè)函數(shù)F的類(lèi)型是T->T,但是經(jīng)過(guò)閱讀代碼發(fā)現(xiàn),參數(shù)只能是某種類(lèi)型的列表,那么類(lèi)型推導(dǎo)就會(huì)將這個(gè)函數(shù)的類(lèi)型修改為list T->list T。
但是這樣會(huì)有一個(gè)問(wèn)題。類(lèi)型推導(dǎo)只能夠推導(dǎo)已知的函數(shù)。如果一個(gè)模板函數(shù)里面用了操作符,而這個(gè)操作符暫時(shí)只為幾個(gè)類(lèi)型定義的話(huà),那么由于不是所有的類(lèi)型都能夠接受該操作符,所以這個(gè)操作符就沒(méi)辦法給未知確切類(lèi)型的參數(shù)使用。下面就有一個(gè)例子:
閱讀全文
posted @
2008-11-02 06:52 陳梓瀚(vczh) 閱讀(1345) |
評(píng)論 (0) |
編輯 收藏
摘要: 今天寫(xiě)了Kernel FP模板函數(shù)實(shí)例化的代碼。雖然還有一點(diǎn)小bug,不過(guò)還是說(shuō)一下。
閱讀全文
posted @
2008-11-01 07:05 陳梓瀚(vczh) 閱讀(1405) |
評(píng)論 (0) |
編輯 收藏
摘要: 類(lèi)型推導(dǎo)過(guò)于復(fù)雜,已經(jīng)到了無(wú)法Step In/Over的地步了,于是只好靠輸出大量調(diào)試信息來(lái)解決問(wèn)題。這里給出了我為Kernel FP開(kāi)發(fā)的一些簡(jiǎn)單的調(diào)試用宏。在不需要調(diào)試信息的時(shí)候,可以通過(guò)簡(jiǎn)單關(guān)閉調(diào)試而將產(chǎn)生調(diào)試信息的運(yùn)行時(shí)負(fù)擔(dān)完全去除。
閱讀全文
posted @
2008-10-29 10:04 陳梓瀚(vczh) 閱讀(2269) |
評(píng)論 (3) |
編輯 收藏