專利名稱:用于輸出包括數(shù)據(jù)字典的數(shù)據(jù)的方法和指令的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于輸出包括數(shù)據(jù)字典的數(shù)據(jù)的方法和指令。
背景技術(shù):
許多計算環(huán)境將數(shù)據(jù)生成資源從數(shù)據(jù)處理資源中分離出來,以最大化每個資源的性能。一個處理或者處理器專注于數(shù)據(jù)生成,而另一個處理或者處理器專注于數(shù)據(jù)處理。測試器是專用的數(shù)據(jù)生成機(jī)器,其被用于對被測試設(shè)備(DUT)執(zhí)行測試并且生成測試數(shù)據(jù)。然后,其他機(jī)器專注于執(zhí)行用于處理所生成的數(shù)據(jù)的程序,包括對所生成的數(shù)據(jù)的呈現(xiàn),分析或存儲。
為了最大化測試器性能,所生成的測試數(shù)據(jù)可以被優(yōu)化以便最小化對處理資源和帶寬資源的使用。在一個示例中,可以使用枚舉來描述后面的數(shù)據(jù)的類型,例如,“1,4.0”和“2,0.03”,其中“1”表示記錄的一種類型,并且“2”表示另一種類型,例如伏特和安培。后面的數(shù)據(jù)是與每個相應(yīng)的記錄類型相關(guān)聯(lián)的值(例如,4.0伏特,0.03安培)。數(shù)據(jù)生成器和數(shù)據(jù)使用者使用相同的格式以保證對數(shù)據(jù)的正確處理是非常重要的。為了保證所有設(shè)備使用同一格式而更新這些格式成為一項繁重且容易出錯的任務(wù)。如果在同一計算環(huán)境內(nèi)使用了不同的數(shù)據(jù)格式,那么該任務(wù)將會更加繁重。
發(fā)明內(nèi)容
在一個實施例中,一種方法包括以下步驟1)確定若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義,數(shù)據(jù)類型被用作運(yùn)行程序的機(jī)器的潛在輸出;2)利用列表創(chuàng)建數(shù)據(jù)字典,所述列表包括數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義;以及3)為運(yùn)行程序的機(jī)器輸出數(shù)據(jù)字典。
在第二實施例中,一個或多個機(jī)器可讀介質(zhì)在其上存儲指令序列,當(dāng)所述指令序列被機(jī)器執(zhí)行時,其使機(jī)器執(zhí)行輸出被訪問的數(shù)據(jù)字典的動作,所述數(shù)據(jù)字典包括被用作程序的潛在輸出的數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義。
在第三實施例中,一個或多個機(jī)器可讀介質(zhì)在其上存儲指令序列,當(dāng)所述指令序列被機(jī)器執(zhí)行時,其使得機(jī)器執(zhí)行以下動作1)確定若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義,數(shù)據(jù)類型被用作運(yùn)行程序的機(jī)器的潛在輸出;2)利用列表創(chuàng)建數(shù)據(jù)字典,所述列表包括數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義;以及3)為運(yùn)行程序的機(jī)器輸出數(shù)據(jù)字典。
其他實施例也被公開。
在以下附圖中示出了本發(fā)明的示意性實施例,其中圖1示出了用于輸出數(shù)據(jù)字典的示例性方法;圖2示出了用于執(zhí)行圖1的方法以輸出數(shù)據(jù)字典的處理系統(tǒng)的框圖;圖3示出了處理器(例如圖2中的處理器)所輸出的示例性第一數(shù)據(jù)字典;圖4示出了利用數(shù)據(jù)字典(例如圖3中的數(shù)據(jù)字典)的處理器(例如圖2中的處理器)的輸出的示例性第一片斷;圖5示出了處理器(例如圖2中的處理器)所輸出的示例性第二數(shù)據(jù)字典;圖6示出了利用數(shù)據(jù)字典(例如圖5中的數(shù)據(jù)字典)的處理器(例如圖2中的處理器)的輸出的示例性第二片斷;以及圖7示出了具有執(zhí)行圖1的方法的機(jī)器的示例性系統(tǒng)。
具體實施例方式
作為前序問題,注意,下面的描述中,在不同附圖中出現(xiàn)的相似標(biāo)號指代相似的元件/特征。因此,通常將不會針對每個附圖詳細(xì)地描述在不同附圖中出現(xiàn)的相似元件/特征。
機(jī)器(例如測試器)根據(jù)程序的執(zhí)行產(chǎn)生輸出。測試器的輸出可以包括各種類型的測試數(shù)據(jù)(例如,測試標(biāo)識符,時間戳,測試結(jié)果,等等)。測試結(jié)果是響應(yīng)于測試對一個或多個被測試設(shè)備(DUT)的觀測結(jié)果。測試器輸出的格式可能根據(jù)不同的測試器而變化,或者在一個測試器內(nèi)隨時間而變化。這種變化可能歸因于新技術(shù),測試方法,輸出標(biāo)準(zhǔn)或其他事件。
測試器的輸出通常被最優(yōu)化以減少對帶寬和數(shù)據(jù)報告資源的使用。因此,常常使用符號。一個這種符號是數(shù)據(jù)類型。數(shù)據(jù)類型是到描述相關(guān)聯(lián)的數(shù)據(jù)值的格式的結(jié)構(gòu)定義的鏈接。按其最簡單的形式,數(shù)據(jù)類型是針對標(biāo)準(zhǔn)數(shù)據(jù)類型(例如,長整數(shù),短整數(shù),浮點數(shù),雙精度數(shù),字符串等)的指示符,并且按其最簡單的形式,數(shù)據(jù)類型還與單一數(shù)據(jù)值相關(guān)聯(lián)。例如“3,200”,其中“3”是與標(biāo)準(zhǔn)數(shù)據(jù)類型“短整數(shù)”(例如,兩個字節(jié)的無符號整數(shù))相關(guān)聯(lián)的數(shù)據(jù)類型,并且接下來的數(shù)字(“200”)是相關(guān)聯(lián)的數(shù)據(jù)值。按更復(fù)雜的形式,數(shù)據(jù)類型與包含數(shù)值、標(biāo)準(zhǔn)數(shù)據(jù)類型和/或數(shù)據(jù)類型的組合的結(jié)構(gòu)相關(guān)聯(lián)。例如,數(shù)據(jù)類型“99”可以與“日期”結(jié)構(gòu)相關(guān)聯(lián)。數(shù)據(jù)類型“99”指示符的后面例如是短整數(shù)(日)、字符串(月)、整數(shù)(年)和“時間結(jié)構(gòu)”。該“時間結(jié)構(gòu)”可以是包括其自身的數(shù)據(jù)類型以及針對小時、分鐘、秒等等的值的嵌套結(jié)構(gòu)。在實踐中,可以有一個或者多個值是空白(例如,零或者空)。
數(shù)據(jù)使用者(例如那些對測試器的輸出進(jìn)行格式化、呈現(xiàn)、存儲、組織和分析的數(shù)據(jù)使用者)必須明白測試器所產(chǎn)生的測試數(shù)據(jù)的格式。如果數(shù)據(jù)使用者僅僅接收到一種格式的測試數(shù)據(jù),那么在測試器和數(shù)據(jù)使用者之間統(tǒng)一數(shù)據(jù)格式將是一次性的事件。然而,更復(fù)雜的情形經(jīng)常會出現(xiàn),例如數(shù)據(jù)使用者從一個測試器接收輸出(例如,其中數(shù)據(jù)類型“3”指代“整數(shù)”形式的電壓值),然后從第二測試器接收輸出(例如,其中數(shù)據(jù)類型“3”指代長整數(shù)形式的電流值),并且再接著從第三測試器接收輸出(例如,其中數(shù)據(jù)類型“3”指代字符串值的日期值)。保持測試器的輸出格式與數(shù)據(jù)使用者的輸入格式相統(tǒng)一是麻煩且容易出錯的。單個測試器可能以不同格式輸出測試數(shù)據(jù),這更加大了處理多個格式的負(fù)擔(dān)和出錯的可能性。
圖1示出了用于輸出數(shù)據(jù)字典的示例性方法100。方法100包括步驟102,104和106,分別用于1)確定若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義,所述數(shù)據(jù)類型被用作運(yùn)行程序的機(jī)器的潛在輸出;2)利用列表創(chuàng)建數(shù)據(jù)字典,所述列表包括數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義;以及3)為運(yùn)行程序的機(jī)器輸出數(shù)據(jù)字典。
在另一實施例中,方法100的機(jī)器是測試器,該測試器可操作用于對若干被測試設(shè)備執(zhí)行測試并且所述程序是使機(jī)器執(zhí)行測試的指令。
在另一實施例中,輸出數(shù)據(jù)字典的步驟包括作為運(yùn)行程序的機(jī)器的第一輸出來輸出數(shù)據(jù)字典。在另一實施例中,輸出數(shù)據(jù)字典的步驟包括作為運(yùn)行程序的機(jī)器的數(shù)據(jù)輸出的頭部來輸出數(shù)據(jù)字典。在又一實施例中,輸出數(shù)據(jù)字典的步驟包括將數(shù)據(jù)字典寫入數(shù)據(jù)存儲裝置中。在另一實施例中,將數(shù)據(jù)字典寫入數(shù)據(jù)存儲裝置中的步驟包括從數(shù)據(jù)存儲裝置中取回數(shù)據(jù)字典并且將附加列表加入到數(shù)據(jù)字典中。
在另一實施例中,確定若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義的步驟包括,在程序源代碼的編譯期間執(zhí)行代碼來解析源代碼,從而1)確定所述若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義中的一些,并且2)提供對可用于創(chuàng)建數(shù)據(jù)字典的若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義的訪問。在又一實施例中,數(shù)據(jù)字典被存儲在包括程序的已編譯代碼的文件中。
圖2示出了用于執(zhí)行圖1的方法以輸出數(shù)據(jù)字典的處理系統(tǒng)200的框圖。處理器206利用輸入202和輸出204與其他處理和設(shè)備通信。處理器206執(zhí)行具有數(shù)據(jù)字典210的程序208。在一個實施例中,數(shù)據(jù)字典210位于程序208的一部分中,并且從程序208的一部分中被取出。即,數(shù)據(jù)字典210被存儲作為靜態(tài)指令代碼程序208的一部分。程序208的實際位置可以包括主存儲器,處理器存儲器,高速緩存,頁式存儲器,或者由處理器206和/或用于執(zhí)行程序208的處理器206的操作系統(tǒng)所確定的其它指令位置。在另一實施例中,從程序208中獲取數(shù)據(jù)字典210,例如通過可操作用于分析程序208的源代碼的另一程序。在一個示例中,程序208包括多個已編譯的文件和/或運(yùn)行時鏈接的文件(例如,目標(biāo)文件,動態(tài)鏈接庫,可執(zhí)行文件等)。然后,一個或多個文件為總的數(shù)據(jù)字典210提供列表。在又一實施例中,數(shù)據(jù)字典210起始并且取自于程序208外部的位置,使得數(shù)據(jù)字典210被存儲在程序208的動態(tài)存儲器中(例如作為數(shù)據(jù)值)。
圖3示出了處理器(例如圖2中的處理器)所輸出的示例性第一數(shù)據(jù)字典300。數(shù)據(jù)字典300是程序208中的數(shù)據(jù)字典210的一種示例形式。為了清楚起見,示出的數(shù)據(jù)字典300具有標(biāo)題。這些標(biāo)題作為設(shè)計的選擇來實現(xiàn)。示出的數(shù)據(jù)字典300還具有數(shù)據(jù)類型302、數(shù)據(jù)結(jié)構(gòu)定義304和可選的描述306。數(shù)據(jù)類型302可以是可操作用于作為相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義304的關(guān)鍵詞(key)的任何數(shù)據(jù)資料。類似地,數(shù)據(jù)結(jié)構(gòu)定義304可以是數(shù)據(jù)字典300的數(shù)據(jù)使用者(參見圖7)可讀的任何形式,以將數(shù)據(jù)流中的數(shù)據(jù)類型(參見圖4和圖6)與數(shù)據(jù)使用者所使用的數(shù)據(jù)類型相關(guān)聯(lián)。數(shù)據(jù)字典300包括與相應(yīng)的一些數(shù)據(jù)結(jié)構(gòu)定義304A-304n和可選的描述306A-306n相關(guān)聯(lián)的一些數(shù)據(jù)類型302A-302n。
可選的描述306提供了標(biāo)識和/或記錄數(shù)據(jù)字典300中的值的第二種方式。作為一個例子,值“3”可以是與描述306C(“伏特”)相關(guān)聯(lián)的整數(shù)。描述306可以是英語文本(如圖所示),或者在其它實施例中是其它人或者機(jī)器可讀的形式。
圖4示出了利用數(shù)據(jù)字典(例如圖3中的數(shù)據(jù)字典300)的處理器(例如圖2中的處理器)的輸出的示例性第一片斷400。程序208輸出數(shù)據(jù),第一片斷400代表所述數(shù)據(jù)的一部分。第一片斷400包括記錄,所述記錄包括1)數(shù)據(jù)類型402,408,414,418,422和2)一個或多個相關(guān)聯(lián)的數(shù)據(jù)值404,406;410,412;416;420;424。字符串424具有可變的長度并且以空值426作為結(jié)束。在一個實施例中,空值426與日期元素424區(qū)分開。在另一個實施例中,空值426是日期元素424中的數(shù)據(jù)的一部分。第一片斷400的實際結(jié)構(gòu)是可變的。例如,一個數(shù)據(jù)類型可以與針對這個數(shù)據(jù)類型的可變數(shù)目或固定數(shù)目的數(shù)據(jù)值相關(guān)聯(lián)。其它數(shù)據(jù)類型可以與包括不同數(shù)據(jù)類型及與其相關(guān)聯(lián)的數(shù)據(jù)值的結(jié)構(gòu)相關(guān)聯(lián)。
第一片斷400包括元素402-426,元素402具有值“1”。值“1”與數(shù)據(jù)類型302A相關(guān)聯(lián),數(shù)據(jù)類型302A再與數(shù)據(jù)結(jié)構(gòu)定義304A(“2個2字節(jié)整數(shù)”)和可選的描述306A(“范圍”)相關(guān)聯(lián)?,F(xiàn)在被確定為“范圍”數(shù)據(jù)類型的元素402之后,是為范圍402提供值的兩個范圍元素404、406。范圍元素408后面也類似地有范圍元素410、412。元素414具有值“3”。值“3”與數(shù)據(jù)類型302C相關(guān),數(shù)據(jù)類型302C又與數(shù)據(jù)結(jié)構(gòu)定義304C(“2字節(jié)整數(shù)”)和可選的描述306C(“伏特”)相關(guān)聯(lián)。單一電壓值416跟在元素414的后面(“450mv”)。類似地,電壓元素418也具有值“3”,表示與數(shù)據(jù)類型302C相關(guān)聯(lián),數(shù)據(jù)類型302C再與數(shù)據(jù)結(jié)構(gòu)定義304C(“2字節(jié)整數(shù)”)和可選的數(shù)據(jù)類型306C(“伏特”)相關(guān)聯(lián),并且后面跟著電壓元素420(“-410mv”)。元素422具有值“4”,表示數(shù)據(jù)結(jié)構(gòu)定義304D(“字符串”)。元素424包括字符串值,并且如果是可變長度的,則包括字符串終止符,例如空值426。
圖3和4表征了處理器(例如運(yùn)行程序208的處理器206)的輸出。參見圖2。數(shù)據(jù)字典300在第一片斷400之前被輸出。這樣,讀取處理器206的輸出的數(shù)據(jù)使用者就能夠通過接收作為輸出的一部分的數(shù)據(jù)字典300來正確地翻譯在第一片斷400中所使用的數(shù)據(jù)類型。讀取輸出的數(shù)據(jù)使用者可以在處理采用新的格式的測試數(shù)據(jù)之前,通過接收新的數(shù)據(jù)字典很容易地改變數(shù)據(jù)格式。
圖5示出了從處理器(例如圖2中的處理器206)中輸出的示例性第二數(shù)據(jù)字典500。在一個實施例中,第二數(shù)據(jù)字典500是由在處理器206上被執(zhí)行的程序208的修改版本產(chǎn)生的。在另一實施例中,第二數(shù)據(jù)字典輸出500是由可以在處理器206或者另一個處理器上執(zhí)行的不同于程序208的程序產(chǎn)生的。為了清楚起見,示出的數(shù)據(jù)字典500具有標(biāo)題。標(biāo)題可以作為設(shè)計選擇而被包括其中。數(shù)據(jù)字典500也被表示為英語字母-數(shù)字文本,并且如前所述,可以用其他形式表示。參見上述圖3。
與圖3中的數(shù)據(jù)字典300類似,數(shù)據(jù)類型502A(“1”)與數(shù)據(jù)結(jié)構(gòu)定義504A(“2個2字節(jié)整數(shù)”)和可選的描述506A(“范圍”)相關(guān)聯(lián),并且數(shù)據(jù)類型502B(“2”)與數(shù)據(jù)結(jié)構(gòu)定義504B(“2字節(jié)整數(shù)”)和可選的描述506B(“安培”)相關(guān)聯(lián)。然而,數(shù)據(jù)類型502C(“3”)現(xiàn)在是與數(shù)據(jù)結(jié)構(gòu)定義504C(“4-字節(jié)整數(shù)”)和可選的描述506C(“毫伏”)相關(guān)聯(lián),并且數(shù)據(jù)類型502D(“4”)現(xiàn)在與數(shù)據(jù)結(jié)構(gòu)定義504D(“Struct(int,int,3)”)相關(guān)聯(lián)。數(shù)據(jù)結(jié)構(gòu)定義504可以包括多個元素和被嵌套的其它數(shù)據(jù)結(jié)構(gòu)定義504。例如,數(shù)據(jù)結(jié)構(gòu)定義504D是具有三個元素的結(jié)構(gòu)第一整數(shù),第二整數(shù)和由數(shù)據(jù)類型502C定義的數(shù)據(jù)類型“3”,數(shù)據(jù)類型502C再與數(shù)據(jù)結(jié)構(gòu)定義504D(“4字節(jié)整數(shù)”)相關(guān)聯(lián)。
圖6示出了利用數(shù)據(jù)字典(例如圖5中的數(shù)據(jù)字典500)的處理器(例如圖2中的處理器206)的輸出的示例性第二片斷600。第二片斷600分別包括數(shù)據(jù)類型值“1,1,3,4”(602,608,614,618,622)。得益于首先接收數(shù)據(jù)字典500,處理輸出204的數(shù)據(jù)使用者能夠正確地解析第二片斷600,并且例如正確地確定元素614(“3”)是毫安而不是伏特(像圖4中那樣),并且確定元素622(“4”)指示了兩個“整數(shù)”和一個數(shù)據(jù)類型502C(“3”)。
圖7示出了具有執(zhí)行圖1的方法的機(jī)器702的示例性系統(tǒng)。機(jī)器702(例如測試器)產(chǎn)生輸出704、706。該輸出被分成第一輸出706和第二輸出704。第一輸出706包括數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義。第二輸出704包括根據(jù)第一輸出706的數(shù)據(jù)字典中所描述的數(shù)據(jù)類型被格式化的測試數(shù)據(jù)。數(shù)據(jù)使用者708接收并格式化,存儲,呈現(xiàn),組織,和/或分析機(jī)器702和可選的其它機(jī)器的輸出。數(shù)據(jù)使用者708利用數(shù)據(jù)字典706將在第二輸出704中發(fā)現(xiàn)的數(shù)據(jù)類型翻譯成結(jié)構(gòu)定義,以便于讀取和處理與數(shù)據(jù)類型相關(guān)聯(lián)的數(shù)據(jù)值。
權(quán)利要求
1.一種方法,包括確定若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義,所述數(shù)據(jù)類型被用作運(yùn)行程序的機(jī)器的潛在輸出;利用列表創(chuàng)建數(shù)據(jù)字典,所述列表包括所述數(shù)據(jù)類型和所述相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義;以及為所述運(yùn)行程序的機(jī)器輸出所述數(shù)據(jù)字典。
2.如權(quán)利要求1所述的方法,其中所述機(jī)器是可操作用于對若干被測試設(shè)備執(zhí)行測試的測試器;以及所述程序是使所述機(jī)器執(zhí)行所述測試的指令。
3.如權(quán)利要求1所述的方法,其中輸出所述數(shù)據(jù)字典包括作為所述運(yùn)行程序的機(jī)器的第一輸出來輸出所述數(shù)據(jù)字典。
4.如權(quán)利要求1所述的方法,其中輸出所述數(shù)據(jù)字典包括作為所述運(yùn)行程序的機(jī)器的數(shù)據(jù)輸出的頭部來輸出所述數(shù)據(jù)字典。
5.如權(quán)利要求1所述的方法,其中輸出所述數(shù)據(jù)字典包括將所述數(shù)據(jù)字典寫入到數(shù)據(jù)存儲裝置中。
6.如權(quán)利要求5所述的方法,還包括從所述數(shù)據(jù)存儲裝置中取回所述數(shù)據(jù)字典并且將附加列表添加到被寫入所述數(shù)據(jù)存儲裝置的所述數(shù)據(jù)字典中。
7.如權(quán)利要求1所述的方法,其中確定所述若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義包括在所述程序的源代碼編譯期間執(zhí)行代碼以解析所述源代碼,從而1)確定所述若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義中的一些,并且2)提供對可用于創(chuàng)建所述數(shù)據(jù)字典的所述若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義的訪問。
8.如權(quán)利要求7所述的方法,還包括,在包含所述程序的已編譯代碼的文件內(nèi)存儲所述數(shù)據(jù)字典。
9.一個或多個其上存儲有指令序列的機(jī)器可讀介質(zhì),其中,所述指令序列在被機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行輸出被訪問的數(shù)據(jù)字典的動作,所述數(shù)據(jù)字典包括被用作所述程序的潛在輸出的數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義。
10.如權(quán)利要求9所述的機(jī)器可讀介質(zhì),還包括如下指令,所述指令在被所述機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行訪問存儲在所述程序中的數(shù)據(jù)字典的動作。
11.如權(quán)利要求9所述的機(jī)器可讀介質(zhì),還包括如下指令,所述指令在被所述機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行訪問存儲在數(shù)據(jù)存儲裝置中的所述數(shù)據(jù)字典的動作。
12.如權(quán)利要求9所述的機(jī)器可讀介質(zhì),還包括如下指令,所述指令在被所述機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行以下動作利用可操作用于對若干被測試設(shè)備執(zhí)行測試的測試器來控制所述程序;以及運(yùn)行所述程序以執(zhí)行所述測試。
13.如權(quán)利要求9所述的機(jī)器可讀介質(zhì),還包括如下指令,所述指令在被所述機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行作為所述程序的第一輸出來輸出所述數(shù)據(jù)字典的動作。
14.如權(quán)利要求9所述的機(jī)器可讀介質(zhì),還包括如下指令,所述指令在被所述機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行作為所述程序的數(shù)據(jù)輸出的頭部來輸出所述數(shù)據(jù)字典的動作。
15.如權(quán)利要求9所述的機(jī)器可讀介質(zhì),還包括如下指令,所述指令在被所述機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行以下動作分析所述程序以確定所述程序的若干數(shù)據(jù)類型及相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義;建立所述數(shù)據(jù)字典;和存儲所述數(shù)據(jù)字典。
16.如權(quán)利要求15所述的機(jī)器可讀介質(zhì),其中用于分析所述程序的指令還包括用于分析所述程序的源代碼的指令。
17.如權(quán)利要求15所述的機(jī)器可讀介質(zhì),其中用于存儲所述數(shù)據(jù)字典的指令還包括將所述數(shù)據(jù)字典存儲在所述程序的已編譯機(jī)器代碼的一部分中的指令。
18.一個或多個其上存儲有指令序列的機(jī)器可讀介質(zhì),其中,所述指令序列在被機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行以下動作確定若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義,所述數(shù)據(jù)類型被用作運(yùn)行程序的機(jī)器的潛在輸出;利用列表創(chuàng)建數(shù)據(jù)字典,所述列表包括所述數(shù)據(jù)類型和所述相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義;以及為所述運(yùn)行程序的機(jī)器輸出所述數(shù)據(jù)字典。
19.如權(quán)利要求18所述的機(jī)器可讀介質(zhì),還包括如下指令,所述指令在被所述機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行作為所述運(yùn)行程序的機(jī)器的第一輸出來輸出所述數(shù)據(jù)字典的動作。
20.如權(quán)利要求18所述的機(jī)器可讀介質(zhì),還包括如下指令,所述指令在被所述機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行作為所述運(yùn)行程序的機(jī)器的數(shù)據(jù)輸出的頭部來輸出所述數(shù)據(jù)字典的動作。
21.如權(quán)利要求18所述的機(jī)器可讀介質(zhì),還包括如下指令,所述指令在被所述機(jī)器執(zhí)行時使得所述機(jī)器執(zhí)行將所述數(shù)據(jù)字典寫入數(shù)據(jù)存儲裝置的動作。
全文摘要
本發(fā)明提供了用于輸出包括數(shù)據(jù)字典的數(shù)據(jù)的方法和指令。在一個實施例中,一種方法包括以下步驟1)確定若干數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義,所述數(shù)據(jù)類型被用作運(yùn)行程序的機(jī)器的潛在輸出;2)利用列表創(chuàng)建數(shù)據(jù)字典,所述列表包括數(shù)據(jù)類型和相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)定義;以及3)為運(yùn)行程序的機(jī)器輸出數(shù)據(jù)字典。
文檔編號G01R31/00GK101067825SQ20071010973
公開日2007年11月7日 申請日期2007年4月5日 優(yōu)先權(quán)日2006年4月6日
發(fā)明者羅伯特·S·庫爾曼 申請人:韋瑞吉(新加坡)私人有限公司