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