欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于面向?qū)ο蟮奈募町惐容^方法及其系統(tǒng)的制作方法

文檔序號:6427980閱讀:130來源:國知局
專利名稱:一種基于面向?qū)ο蟮奈募町惐容^方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件版本管理相關(guān)技術(shù)領(lǐng)域,特別是一種基于面向?qū)ο蟮奈募町惐容^方法及其系統(tǒng)。
背景技術(shù)
現(xiàn)有流行的版本管理工具,如SVWsubversion),其具有版本控制和備份服務(wù)器兩大功能,用戶可以將其當成自己的文件備份服務(wù)器,更好的是,它可以幫助用戶記住每次上傳到服務(wù)器上的檔案內(nèi)容,并自動的賦予每次的變更一個版本。為此,設(shè)計人員在進行軟件的設(shè)計開發(fā)時,可以選用SVN作為代碼管理工具提供的文件差異比較功能,來實現(xiàn)對不同軟件版本的代碼進行差異化比較。SVN自身提供的文件差異比較功能,其原理是將兩個文件作為文本文件進行逐行比較,進而找出所要比較的兩個文件的差異。在需要比較兩個不同版本的代碼文件差別時, SVN將會首先把所要比較的代碼文件的兩個版本下載到本地主機上,然后進行逐行比較。SVN自身提供的文件差異比較功能雖然使用起來方便,而且能非常準確的比較出目標文件不同版本的差異,但是該功能有如下兩個缺點第一,該功能只能對文件進行比較,而無法整個工程進行比較;第二,由于該功能采用的是逐行比較的方式,自然會將文件中的空行語句和注釋語句也進行比較。因此,SVN自身所提供的文件差異比較功能在實際使用中其效率較為低下。

發(fā)明內(nèi)容
本發(fā)明的第一個發(fā)明目的在于提供一種基于面向?qū)ο蟮奈募町惐容^方法,以解決現(xiàn)有版本管理工具對基于面向?qū)ο蟮挠嬎銠C編程項目工程進行差異比較時效率低下的技術(shù)問題。本發(fā)明的第一發(fā)明目的采用如下技術(shù)方案實現(xiàn)
一種基于面向?qū)ο蟮奈募町惐容^方法,對基于面向?qū)ο蟮挠嬎銠C編程項目工程進行差異比較,所述方法包括
通過利用關(guān)鍵字進行語法解析來分別找出要比較的新舊兩個版本的工程中的計算機語言描述對象;
對相同的計算機語言描述對象進行分析找出在兩個版本中的變化信息并保存為變化信息記錄文件。作為一種優(yōu)選方案,所述方法采用XML節(jié)點格式用于描述工程中的計算機語言描述對象。作為進一步的優(yōu)選方案,所述計算機語言描述對象包括全局變量、全局函數(shù)和/ 或類聲明及其成員變量與成員函數(shù)。作為再進一步的優(yōu)選方案,若計算機語言描述對象為全局變量
若全局變量為新增全局變量,變化信息為該全局變量所在的新版本工程中的文件及所
4處文件的位置;
若全局變量被刪除,變化信息為該全局變量所在的舊版本工程中的文件及所處文件的位置;
若全局變量的類型發(fā)生變化,則變化信息為該全局變量所在的新舊兩個版本的工程中的文件及所處文件的位置。作為再進一步的優(yōu)選方案,若計算機語言描述對象為全局函數(shù)
若全局函數(shù)為新增全局函數(shù),變化信息為該全局函數(shù)的聲明和定義所在的新版工程中的文件及所處文件的位置;
若全局函數(shù)被刪除,變化信息為該全局函數(shù)的聲明和定義所在的舊版本工程中的文件及所處文件的位置;
若全局函數(shù)的聲明或定義發(fā)生了改變,變化信息為該全局函數(shù)的聲明或定義所在的新舊兩個版本的工程中的文件及所處文件的位置。作為再進一步的優(yōu)選方案,若計算機語言描述對象為類聲明及其成員變量與成員函數(shù),變化信息為一系列成員變量和成員函數(shù)變化信息的組合
若成員變量為新增成員變量,變化信息為該成員變量所在的新版本工程中的文件及所處文件的位置;
若成員變量被刪除,變化信息為該成員變量所在的舊版本工程中的文件及所處文件的位置;
若成員變量的類型發(fā)生變化,則變化信息為該成員變量所在的新舊兩個版本的工程中的文件及所處文件的位置;
若成員函數(shù)為新增成員函數(shù),變化信息為該成員函數(shù)的聲明和定義所在的新版工程中的文件及所處文件的位置;
若成員函數(shù)被刪除,變化信息為該成員函數(shù)的聲明和定義所在的舊版本工程中的文件及所處文件的位置;
若成員函數(shù)的聲明或定義發(fā)生了改變,變化信息為該成員函數(shù)的聲明或定義所在的新舊兩個版本的工程中的文件及所處文件的位置。作為進一步的優(yōu)選方案,通過解析變化信息記錄文件,形成以新版本工程為基準的兩個版本中的發(fā)生變化的計算機語言描述對象集合,在選中某一個發(fā)生變化的計算機語言描述對象或計算機語言描述子對象時,根據(jù)變化信息記錄文件中記錄的變化信息進行文件定位,即定位到相應(yīng)的文件和所處文件的位置。所述定位到相應(yīng)的文件和所處文件的位置是指定位到新版本工程中的文件,對于被刪除的計算機語言描述對象或計算機語言描述子對象,在新版本工程文件將用橫線給于提示,表示被刪除。本發(fā)明的第二個發(fā)明目的,在于提供、一種基于面向?qū)ο蟮奈募町惐容^系統(tǒng),以實現(xiàn)本發(fā)明第一個發(fā)明目的所提供的比較方法。本發(fā)明的第二個發(fā)明目的采用如下技術(shù)方案實現(xiàn)
一種基于面向?qū)ο蟮奈募町惐容^系統(tǒng),用于對基于面向?qū)ο蟮挠嬎銠C編程項目工程進行差異比較,所述系統(tǒng)包括
通過利用關(guān)鍵字進行語法解析來分別找出要比較的新舊兩個版本的工程中的計算機語言描述對象的對象解析模塊;
對相同的計算機語言描述對象進行分析找出在兩個版本中的變化信息的對象比較模
塊;
用于保存變化信息的變化信息記錄文件生成模塊;
對象解析模塊、對象比較模塊和變化信息記錄文件生成模塊依次連接。作為一種優(yōu)選方案,所述變化信息記錄文件采用XML生成,所述系統(tǒng)還包括依次連接的XML文檔加載模塊和XML文檔解析模塊
XML文檔加載模塊與變化信息記錄文件生成模塊連接,加載變化信息記錄文件; XML文檔解析模塊通過解析描述變化信息記錄文件,形成以新版本工程為基準的兩個版本中的發(fā)生變化的計算機語言描述對象集合,在選中某一個發(fā)生變化的計算機語言描述對象或計算機語言描述子對象時,根據(jù)變化信息記錄文件中記錄的變化信息進行文件定位,即定位到相應(yīng)的文件和所處文件的位置。本發(fā)明提出了一種基于面向?qū)ο蟮奈募町惐容^,該方法首先定義了一套用于描述工程中的全局變量、全局函數(shù),類聲明及其成員變量與成員函數(shù)的基本信息和變化信息的XML節(jié)點格式,然后通過利用關(guān)鍵字進行語法解析來分別找出要比較的兩個版本的工程中的全局變量、全局函數(shù),類聲明及其成員變量與成員函數(shù),并以新版本工程為基準,將上述所解析出來的兩個版本的工程的全局變量、全局函數(shù),類聲明及其成員變量與成員函數(shù)分別依次進行比較并找出其區(qū)別,將發(fā)生變化的全局對象、聲明或定義發(fā)生改變的全局函數(shù)及類的基本信息及變化信息按照上述所定義的XML節(jié)點格式寫入XML文件。本發(fā)明實現(xiàn)了對整個工程進行比較且由于是對每個計算機語言描述對象分別比較,因此可以減少對文件中的空行語句和注釋語句也進行比較的技術(shù)問題,從而提高了文件差異比較功能在實際使用中的效率。


附圖1為本實施例的流程示意圖。附圖2為本實施例的系統(tǒng)結(jié)構(gòu)示意圖。備注附圖1和附圖2中的對象是指工程中的全局變量、全局函數(shù)、類。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明做進一步詳細的說明。如圖1所示,本發(fā)明提出了一種基于面向?qū)ο蟮奈募町惐容^,該方法將項目工程作為一個整體進行比較。在該方法中,通過搜索項目工程中的所有文件來找出工程中所用到的類名及其成員函數(shù)和成員變量、全局變量、全局函數(shù),然后通過對項目工程的兩個不同版本所搜索出來的上述對象進行逐個比較,來找出項目工程的兩個不同版本的差異。本方法的實現(xiàn)技術(shù)方案如下
Sl 通過利用關(guān)鍵字進行語法解析來找出要比較的兩個版本的工程中的對象; S2:以新版本工程為基準,對所解析出來的兩個版本的工程的對象分別依次進行比較并找出其區(qū)別;
S3 將發(fā)生變化的對象的基本信息及變化信息寫入XML文件;S4 解析XML文件,生成以新版本工程為基準的兩個版本中的發(fā)生變化的計算機語言描述對象集合。步驟Sl中定義的對象包括全局變量、全局函數(shù)和/或類聲明及其成員變量與成員函數(shù)。對于全局變量,XML節(jié)點記錄其變量名和類型以及該變量是否發(fā)生了改變;對于全局函數(shù),XML節(jié)點記錄其聲明所在的文件及其在該文件中的位置和其定義所在的文件及其在該文件中的起始位置以及該函數(shù)的聲明和定義是否發(fā)生了改變;對于類的聲明與定義,XML節(jié)點記錄其成員變量列表及成員函數(shù)列表以及該類是否發(fā)生了改變,成員變量的描述同全局變量,成員函數(shù)的描述同全局函數(shù)。在將兩個版本中的上述對象解析分別出來以后,以新版本的工程為基準,依次對上述所解析出來的對象列表進行比較,進而找出項目工程兩個不同版本的區(qū)別。對于全局變量的比較,其標準是新版本中的全局變量相對于舊版本是否被刪除,或者是否屬新增變量,或者變量的類型是否被修改;對于全局函數(shù)的比較, 其標準是新版本中的全局函數(shù)相對舊版本來說,其聲明是否改變,或者其定義是否改變,或者該函數(shù)是否屬新增函數(shù),或者該函數(shù)是否被刪除。對于函數(shù)定義是否改變,采用對函數(shù)體逐行比較的方式來判斷;對于類的比較,包括對類的聲明的比較和對類的定義的比較,前者是對類成員變量和成員函數(shù)聲明的比較,后者是對成員函數(shù)定義的比較。類成員變量的比較同全局變量,而類成員函數(shù)的比較同全局函數(shù)的比較。附圖2為本實施例的系統(tǒng)結(jié)構(gòu)示意圖。本實施例為一種基于面向?qū)ο蟮奈募町惐容^系統(tǒng),用于對基于面向?qū)ο蟮挠嬎銠C編程項目工程進行差異比較,所述系統(tǒng)包括依次連接的對象解析模塊21、對象比較模塊 22、XML文檔生成模塊23、XML文檔加載模塊M和XML文檔解析模塊25
對象解析模塊21通過利用關(guān)鍵字進行語法解析來分別找出要比較的新舊兩個版本的工程中的計算機語言描述對象;
對象比較模塊22對相同的計算機語言描述對象進行分析找出在兩個版本中的變化信
息;
XML文檔生成模塊23用于采用XML保存變化信息并生成變化信息記錄文件; XML文檔加載模塊M加載變化信息記錄文件;
XML文檔解析模塊25通過解析描述變化信息記錄文件,形成以新版本工程為基準的兩個版本中的發(fā)生變化的計算機語言描述對象集合,在選中某一個發(fā)生變化的計算機語言描述對象或計算機語言描述子對象時,根據(jù)變化信息記錄文件中記錄的變化信息進行文件定位,即定位到相應(yīng)的文件和所處文件的位置。
權(quán)利要求
1.一種基于面向?qū)ο蟮奈募町惐容^方法,對基于面向?qū)ο蟮挠嬎銠C編程項目工程進行差異比較,其特征在于,所述方法包括通過利用關(guān)鍵字進行語法解析來分別找出要比較的新舊兩個版本的工程中的計算機語言描述對象;對相同的計算機語言描述對象進行分析找出在兩個版本中的變化信息并保存為變化信息記錄文件。
2.根據(jù)權(quán)利要求1所述的比較方法,其特征在于,所述方法采用XML節(jié)點格式用于描述工程中的計算機語言描述對象。
3.根據(jù)權(quán)利要求1或2所述的比較方法,其特征在于,所述計算機語言描述對象包括全局變量、全局函數(shù)和/或類聲明及其成員變量與成員函數(shù)。
4.根據(jù)權(quán)力要求3所述的比較方法,其特征在于,若計算機語言描述對象為全局變量 若全局變量為新增全局變量,變化信息為該全局變量所在的新版本工程中的文件及所處文件的位置;若全局變量被刪除,變化信息為該全局變量所在的舊版本工程中的文件及所處文件的位置;若全局變量的類型發(fā)生變化,則變化信息為該全局變量所在的新舊兩個版本的工程中的文件及所處文件的位置。
5.根據(jù)權(quán)利要求3所述的比較方法,其特征在于,若計算機語言描述對象為全局函數(shù) 若全局函數(shù)為新增全局函數(shù),變化信息為該全局函數(shù)的聲明和定義所在的新版工程中的文件及所處文件的位置;若全局函數(shù)被刪除,變化信息為該全局函數(shù)的聲明和定義所在的舊版本工程中的文件及所處文件的位置;若全局函數(shù)的聲明或定義發(fā)生了改變,變化信息為該全局函數(shù)的聲明或定義所在的新舊兩個版本的工程中的文件及所處文件的位置。
6.根據(jù)權(quán)力要求3所述的比較方法,其特征在于,若計算機語言描述對象為類聲明及其成員變量與成員函數(shù),變化信息為一系列成員變量和成員函數(shù)變化信息的組合若成員變量為新增成員變量,變化信息為該成員變量所在的新版本工程中的文件及所處文件的位置;若成員變量被刪除,變化信息為該成員變量所在的舊版本工程中的文件及所處文件的位置;若成員變量的類型發(fā)生變化,則變化信息為該成員變量所在的新舊兩個版本的工程中的文件及所處文件的位置;若成員函數(shù)為新增成員函數(shù),變化信息為該成員函數(shù)的聲明和定義所在的新版工程中的文件及所處文件的位置;若成員函數(shù)被刪除,變化信息為該成員函數(shù)的聲明和定義所在的舊版本工程中的文件及所處文件的位置;若成員函數(shù)的聲明或定義發(fā)生了改變,變化信息為該成員函數(shù)的聲明或定義所在的新舊兩個版本的工程中的文件及所處文件的位置。
7.根據(jù)權(quán)利要求1或2所述的比較方法,其特征在于,通過解析變化信息記錄文件,形成以新版本工程為基準的兩個版本中的發(fā)生變化的計算機語言描述對象集合,在選中某一個發(fā)生變化的計算機語言描述對象或計算機語言描述子對象時,根據(jù)變化信息記錄文件中記錄的變化信息進行文件定位,即定位到相應(yīng)的文件和所處文件的位置。
8.一種基于面向?qū)ο蟮奈募町惐容^系統(tǒng),用于對基于面向?qū)ο蟮挠嬎銠C編程項目工程進行差異比較,其特征在于,所述系統(tǒng)包括通過利用關(guān)鍵字進行語法解析來分別找出要比較的新舊兩個版本的工程中的計算機語言描述對象的對象解析模塊;對相同的計算機語言描述對象進行分析找出在兩個版本中的變化信息的對象比較模塊;用于保存變化信息的變化信息記錄文件生成模塊;對象解析模塊、對象比較模塊和變化信息記錄文件生成模塊依次連接。
9.根據(jù)權(quán)利要求8所述的比較系統(tǒng),其特征在于,所述變化信息記錄文件采用XML生成,所述系統(tǒng)還包括依次連接的XML文檔加載模塊和XML文檔解析模塊XML文檔加載模塊與變化信息記錄文件生成模塊連接,加載變化信息記錄文件; XML文檔解析模塊通過解析描述變化信息記錄文件,形成以新版本工程為基準的兩個版本中的發(fā)生變化的計算機語言描述對象集合,在選中某一個發(fā)生變化的計算機語言描述對象或計算機語言描述子對象時,根據(jù)變化信息記錄文件中記錄的變化信息進行文件定位,即定位到相應(yīng)的文件和所處文件的位置。
全文摘要
本發(fā)明涉及軟件版本管理相關(guān)技術(shù)領(lǐng)域,特別是一種基于面向?qū)ο蟮奈募町惐容^方法及其系統(tǒng),所述方法包括通過利用關(guān)鍵字進行語法解析來分別找出要比較的新舊兩個版本的工程中的計算機語言描述對象;對相同的計算機語言描述對象進行分析找出在兩個版本中的變化信息并保存為變化信息記錄文件。本發(fā)明實現(xiàn)了對整個工程進行比較且由于是對每個計算機語言描述對象分別比較,因此可以減少對文件中的空行語句和注釋語句也進行比較的技術(shù)問題,從而提高了文件差異比較功能在實際使用中的效率。
文檔編號G06F17/30GK102253992SQ20111018814
公開日2011年11月23日 申請日期2011年7月6日 優(yōu)先權(quán)日2011年7月6日
發(fā)明者康曉林, 羅敬清 申請人:廣東威創(chuàng)視訊科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
黎川县| 丹江口市| 西贡区| 横山县| 偃师市| 额济纳旗| 屯门区| 鲁山县| 迭部县| 靖西县| 邵武市| 菏泽市| 万载县| 天门市| 灵璧县| 金华市| 吐鲁番市| 浦县| 静海县| 漯河市| 永德县| 米脂县| 合作市| 沾化县| 天柱县| 容城县| 介休市| 东光县| 都匀市| 临安市| 江陵县| 交城县| 安化县| 中江县| 虹口区| 隆回县| 嘉义市| 昌宁县| 瓮安县| 桂平市| 西盟|