



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、華為技術(shù)有限公司文檔編號(hào)產(chǎn)品版本密級(jí)研究管理部文檔中心產(chǎn)品名稱:測(cè)試平臺(tái)共 76頁(yè)培訓(xùn)教程 (全)(僅供內(nèi)部使用)擬制:日期:2000/12/08審核:日期:yyyy/mm/dd審核:日期:yyyy/mm/dd批準(zhǔn):日期:yyyy/mm/dd華為技術(shù)有限公司版權(quán)所有侵權(quán)必究TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)2013-04-16版權(quán)所有,侵權(quán)必究第2頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)修訂記錄日期修訂版本描述作者2000/12/082.00初稿完成2013-04-16版權(quán)所有,侵權(quán)必究第3頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)2013-04-1
2、6版權(quán)所有,侵權(quán)必究第4頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)2013-04-16版權(quán)所有,侵權(quán)必究第5頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)2013-04-16版權(quán)所有,侵權(quán)必究第5頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)6.2.3foreach 命令6.2.4break 和continue 命令6.2.5switch 命令6.1eval命令6.2source 命令7過(guò)程 (procedure)7.1過(guò)程定義和返回值7.2局部變量和全局變量7.3缺省參數(shù)和可變個(gè)數(shù)參數(shù)7.4引用: upvar8字符串操作8.1format 命令8.2scan命令8.3r
3、egexp命令8.4regsub命令8.5string 命令8.5.1string compare ?-nocase?-length int? string1 string28.5.2stringequal ?-nocase? ?-length int? string1 string28.5.3stringfirst string1 string2 ?startindex?8.5.4stringindex string charIndex8.5.5stringlast string1 string2 ?startindex?8.5.6stringlengthstring8.5.7string
4、match ?-nocase? pattern string8.5.8stringrangestring firstlast8.5.9stringrepeatstring count8.5.10stringreplacestring firstlast ?newstring?8.5.11stringtolowerstring ?first?last?8.5.12stringtoupperstring?first?last?8.5.13 stringtrimstring ?chars?8.5.14stringtrimleftstring ?chars?8.5.15stringtrimrights
5、tring?chars?9文件訪問9.1文件名9.2基本文件輸入輸出命令9.3隨機(jī)文件訪問9.4 當(dāng)前工作目錄9.5文件操作和獲取文件信息10錯(cuò)誤和異常10.1錯(cuò)誤10.2從TCL 腳本中產(chǎn)生錯(cuò)誤10.3使用 catch捕獲錯(cuò)誤10.4其他異常絕密請(qǐng)輸入文檔編號(hào)1819191919202020212122222323252525252626262626272727272727272728282829303033333435352013-04-16版權(quán)所有,侵權(quán)必究第7頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)11深入 TCL11.1查詢數(shù)組中的元素11.2 info 命令11.2.1變量信息11
6、.2.2 過(guò)程信息11.2.3命令信息11.2.4TCL 的版本和庫(kù)11.2.5命令的執(zhí)行時(shí)間11.2.6跟蹤變量11.2.7命令的重命名和刪除11.2.8 unknown 命令11.2.9 自動(dòng)加載12歷史記錄13TCL 和CC+13.1生成自己的 TCLSH13.2擴(kuò)展自己的命令:方法( 一)13.2.1 編寫擴(kuò)展命令對(duì)應(yīng)的C/C+ 過(guò)程13.2.2 注冊(cè)命令13.2.3 命令返回值和命令對(duì)應(yīng)的過(guò)程的返回值13.3擴(kuò)展自己的命令:方法( 二)13.3.1Tcl_Obj 結(jié)構(gòu)13.3.2 編寫擴(kuò)展命令對(duì)應(yīng)的C/C+ 過(guò)程13.3.3 注冊(cè)命令13.4利用 clientData參數(shù)和 dele
7、teProc 參數(shù)13.5在C/C+ 應(yīng)用程序中嵌入 TCL14總結(jié)絕密請(qǐng)輸入文檔編號(hào)37373838394041414143444445474848484950525254545558592013-04-16版權(quán)所有,侵權(quán)必究第8頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)2013-04-16版權(quán)所有,侵權(quán)必究第9頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)培訓(xùn)教程 (全)關(guān)鍵詞 :TCL摘要:本文是 TCL 教材的第三稿,前兩稿分別是 TCL 的使用和 TCL 培訓(xùn)教程。這一稿加入了不少內(nèi)容,是北研 TCL 興趣小組共同努力的結(jié)果。本文詳細(xì)介紹了 TCL的各個(gè)方
8、面,特別對(duì)利用 CC+ 語(yǔ)言擴(kuò)展 TCL 命令作了詳細(xì)論述。本文附有大量實(shí)例。縮略語(yǔ)清單: TCLToolCommandLanguage一種腳本語(yǔ)言參考資料清單:請(qǐng)?jiān)诒砀裰辛_列本文檔所引用的有關(guān)參考文獻(xiàn)名稱、作者、標(biāo)題、編號(hào)、發(fā)布日期和出版單位等基本信息。參考資料清單名稱作者編號(hào)發(fā)布日期查閱地點(diǎn)或出版單位 (若不渠道為本公司發(fā)布的文獻(xiàn),請(qǐng)?zhí)顚懘肆校㏕cl and TkJohn9812351999自己的圖AddisonToolKitK.Ousterhout9516書WesleyPublishingCommpanyTCL的使用自寫文檔TCL培訓(xùn)教程自寫文檔1 引言TCL(Tool Command
9、Language)是一種解釋執(zhí)行的腳本語(yǔ)言(Scripting Language) 。 它提供了 通用的編程能力:支持變量、過(guò)程和控制結(jié)構(gòu);同時(shí)TCL 還擁有一個(gè)功能強(qiáng)大的固有的核心命令集。由于 TCL 的解釋器是用一個(gè)CC+ 語(yǔ)言的過(guò)程庫(kù)實(shí)現(xiàn)的,因此在某種意義上我們又可以把TCL 看作一個(gè) C庫(kù),這個(gè)庫(kù)中有豐富的用于擴(kuò)展TCL 命令的 CC+ 過(guò)程和函數(shù),可以很容易就在CC+ 應(yīng)用程序中嵌入 TCL ,而且每個(gè)應(yīng)用程序都可以根據(jù)自己的需要對(duì)TCL 語(yǔ)言進(jìn)行擴(kuò)展。我們可以針對(duì)某一特定應(yīng)用領(lǐng)域?qū)?TCL 語(yǔ)言的核心命令集進(jìn)行擴(kuò)展,加入適合于自己的應(yīng)用領(lǐng)域的擴(kuò)展命令,如果需要,甚至可以加入新的控制
10、結(jié)構(gòu),TCL 解釋器將把擴(kuò)展命令和擴(kuò)展控制結(jié)構(gòu)與固有命令和固有控制結(jié)構(gòu)同等看待。擴(kuò)展后的TCL 語(yǔ)言將可以繼承TCL核心部分的所有功能,包括核心命令、控制結(jié)構(gòu)、數(shù)據(jù)類2013-04-16版權(quán)所有,侵權(quán)必究第 10頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)型、對(duì)過(guò)程的支持等。根據(jù)需要,我們甚至可以屏蔽掉TCL 的某些固有命令和固有控制結(jié)構(gòu)。通過(guò)對(duì)TCL 的擴(kuò)展、繼承或屏蔽,用戶用不著象平時(shí)定義一種計(jì)算機(jī)語(yǔ)言那樣對(duì)詞法、語(yǔ)法、語(yǔ)義、語(yǔ)用等各方面加以定義,就可以方便的為自己的應(yīng)用領(lǐng)域提供一種功能完備的腳本語(yǔ)言。TCL 良好的可擴(kuò)展性使得它能很好地適應(yīng)產(chǎn)品測(cè)試的需要,測(cè)試任務(wù)常常會(huì)由于
11、設(shè)計(jì)和需求的改變而迅速改變,往往讓測(cè)試人員疲于應(yīng)付。利用TCL 的可擴(kuò)展性,測(cè)試人員就可以迅速繼承多種新技術(shù),并針對(duì)產(chǎn)品新特點(diǎn)迅速推出擴(kuò)展TCL 命令集,以用于產(chǎn)品的測(cè)試中,可以較容易跟上設(shè)計(jì)需求的變化。另外,因?yàn)門CL 是一種比 CC+ 語(yǔ)言有著更高抽象層次的語(yǔ)言,使用TCL 可以在一種更高的層次上編寫程序,它屏蔽掉了編寫CC+ 程序時(shí)必須涉及到的一些較為煩瑣的細(xì)節(jié),可以大大地提高開發(fā)測(cè)試?yán)乃俣取6遥褂?TCL 語(yǔ)言寫的測(cè)試?yán)_本,即使作了修改,也用不著重新編譯就可以調(diào)用TCL 解釋器直接執(zhí)行。可以省卻不少時(shí)間。TCL 目前已成為自動(dòng)測(cè)試中事實(shí)上的標(biāo)準(zhǔn)。2 語(yǔ)法簡(jiǎn)單的講,TCL 語(yǔ)言的
12、語(yǔ)法實(shí)際上是一些TCL 解釋器怎樣對(duì)TCL 命令進(jìn)行分析的規(guī)則的集合。2.1 腳本、命令和單詞符號(hào)一個(gè) TCL 腳本可以包含一個(gè)或多個(gè)命令。命令之間必須用換行符或分號(hào)隔開,下面的兩個(gè)腳本都是合法的:set a 1set b 2或set a 1;set b 2TCL 的每一個(gè)命令包含一個(gè)或幾個(gè)單詞,第一個(gè)單詞代表命令名,另外的單詞則是這個(gè)命令的參數(shù),單詞之間必須用空格或TAB 鍵隔開。TCL 解釋器對(duì)一個(gè)命令的求值過(guò)程分為兩部分:分析和執(zhí)行。在分析階段,TCL 解釋器運(yùn)用規(guī)則把命令分成一個(gè)個(gè)獨(dú)立的單詞,同時(shí)進(jìn)行必要的置換(substitution) ; 在執(zhí)行階段,TCL 解釋器會(huì)把第一個(gè)單詞當(dāng)
13、作命令名,并查看這個(gè)命令是否有定義,如果有定義就激活這個(gè)命令對(duì)應(yīng)的C/C+ 過(guò)程,并把所有的單詞作為參數(shù)傳遞給該命令過(guò)程,讓命令過(guò)程進(jìn)行處理。2.2 置換()2013-04-16版權(quán)所有,侵權(quán)必究第 11頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)型、對(duì)過(guò)程的支持等。根據(jù)需要,我們甚至可以屏蔽掉TCL 的某些固有命令和固有控制結(jié)構(gòu)。通過(guò)對(duì)TCL 的擴(kuò)展、繼承或屏蔽,用戶用不著象平時(shí)定義一種計(jì)算機(jī)語(yǔ)言那樣對(duì)詞法、語(yǔ)法、語(yǔ)義、語(yǔ)用等各方面加以定義,就可以方便的為自己的應(yīng)用領(lǐng)域提供一種功能完備的腳本語(yǔ)言。TCL 良好的可擴(kuò)展性使得它能很好地適應(yīng)產(chǎn)品測(cè)試的需要,測(cè)試任務(wù)常常會(huì)由于設(shè)計(jì)和需
14、求的改變而迅速改變,往往讓測(cè)試人員疲于應(yīng)付。利用TCL 的可擴(kuò)展性,測(cè)試人員就可以迅速繼承多種新技術(shù),并針對(duì)產(chǎn)品新特點(diǎn)迅速推出擴(kuò)展TCL 命令集,以用于產(chǎn)品的測(cè)試中,可以較容易跟上設(shè)計(jì)需求的變化。另外,因?yàn)門CL 是一種比 CC+ 語(yǔ)言有著更高抽象層次的語(yǔ)言,使用TCL 可以在一種更高的層次上編寫程序,它屏蔽掉了編寫CC+ 程序時(shí)必須涉及到的一些較為煩瑣的細(xì)節(jié),可以大大地提高開發(fā)測(cè)試?yán)乃俣取6遥褂?TCL 語(yǔ)言寫的測(cè)試?yán)_本,即使作了修改,也用不著重新編譯就可以調(diào)用TCL 解釋器直接執(zhí)行。可以省卻不少時(shí)間。TCL 目前已成為自動(dòng)測(cè)試中事實(shí)上的標(biāo)準(zhǔn)。2 語(yǔ)法簡(jiǎn)單的講,TCL 語(yǔ)言的語(yǔ)法實(shí)際
15、上是一些TCL 解釋器怎樣對(duì)TCL 命令進(jìn)行分析的規(guī)則的集合。2.1 腳本、命令和單詞符號(hào)一個(gè) TCL 腳本可以包含一個(gè)或多個(gè)命令。命令之間必須用換行符或分號(hào)隔開,下面的兩個(gè)腳本都是合法的:set a 1set b 2或set a 1;set b 2TCL 的每一個(gè)命令包含一個(gè)或幾個(gè)單詞,第一個(gè)單詞代表命令名,另外的單詞則是這個(gè)命令的參數(shù),單詞之間必須用空格或TAB 鍵隔開。TCL 解釋器對(duì)一個(gè)命令的求值過(guò)程分為兩部分:分析和執(zhí)行。在分析階段,TCL 解釋器運(yùn)用規(guī)則把命令分成一個(gè)個(gè)獨(dú)立的單詞,同時(shí)進(jìn)行必要的置換(substitution) ; 在執(zhí)行階段,TCL 解釋器會(huì)把第一個(gè)單詞當(dāng)作命令名
16、,并查看這個(gè)命令是否有定義,如果有定義就激活這個(gè)命令對(duì)應(yīng)的C/C+ 過(guò)程,并把所有的單詞作為參數(shù)傳遞給該命令過(guò)程,讓命令過(guò)程進(jìn)行處理。2.2 置換()2013-04-16版權(quán)所有,侵權(quán)必究第 11頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)型、對(duì)過(guò)程的支持等。根據(jù)需要,我們甚至可以屏蔽掉TCL 的某些固有命令和固有控制結(jié)構(gòu)。通過(guò)對(duì)TCL 的擴(kuò)展、繼承或屏蔽,用戶用不著象平時(shí)定義一種計(jì)算機(jī)語(yǔ)言那樣對(duì)詞法、語(yǔ)法、語(yǔ)義、語(yǔ)用等各方面加以定義,就可以方便的為自己的應(yīng)用領(lǐng)域提供一種功能完備的腳本語(yǔ)言。TCL 良好的可擴(kuò)展性使得它能很好地適應(yīng)產(chǎn)品測(cè)試的需要,測(cè)試任務(wù)常常會(huì)由于設(shè)計(jì)和需求的改變
17、而迅速改變,往往讓測(cè)試人員疲于應(yīng)付。利用TCL 的可擴(kuò)展性,測(cè)試人員就可以迅速繼承多種新技術(shù),并針對(duì)產(chǎn)品新特點(diǎn)迅速推出擴(kuò)展TCL 命令集,以用于產(chǎn)品的測(cè)試中,可以較容易跟上設(shè)計(jì)需求的變化。另外,因?yàn)門CL 是一種比 CC+ 語(yǔ)言有著更高抽象層次的語(yǔ)言,使用TCL 可以在一種更高的層次上編寫程序,它屏蔽掉了編寫CC+ 程序時(shí)必須涉及到的一些較為煩瑣的細(xì)節(jié),可以大大地提高開發(fā)測(cè)試?yán)乃俣取6遥褂?TCL 語(yǔ)言寫的測(cè)試?yán)_本,即使作了修改,也用不著重新編譯就可以調(diào)用TCL 解釋器直接執(zhí)行。可以省卻不少時(shí)間。TCL 目前已成為自動(dòng)測(cè)試中事實(shí)上的標(biāo)準(zhǔn)。2 語(yǔ)法簡(jiǎn)單的講,TCL 語(yǔ)言的語(yǔ)法實(shí)際上是一些
18、TCL 解釋器怎樣對(duì)TCL 命令進(jìn)行分析的規(guī)則的集合。2.1 腳本、命令和單詞符號(hào)一個(gè) TCL 腳本可以包含一個(gè)或多個(gè)命令。命令之間必須用換行符或分號(hào)隔開,下面的兩個(gè)腳本都是合法的:set a 1set b 2或set a 1;set b 2TCL 的每一個(gè)命令包含一個(gè)或幾個(gè)單詞,第一個(gè)單詞代表命令名,另外的單詞則是這個(gè)命令的參數(shù),單詞之間必須用空格或TAB 鍵隔開。TCL 解釋器對(duì)一個(gè)命令的求值過(guò)程分為兩部分:分析和執(zhí)行。在分析階段,TCL 解釋器運(yùn)用規(guī)則把命令分成一個(gè)個(gè)獨(dú)立的單詞,同時(shí)進(jìn)行必要的置換(substitution) ; 在執(zhí)行階段,TCL 解釋器會(huì)把第一個(gè)單詞當(dāng)作命令名,并查看
19、這個(gè)命令是否有定義,如果有定義就激活這個(gè)命令對(duì)應(yīng)的C/C+ 過(guò)程,并把所有的單詞作為參數(shù)傳遞給該命令過(guò)程,讓命令過(guò)程進(jìn)行處理。2.2 置換()2013-04-16版權(quán)所有,侵權(quán)必究第 11頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)型、對(duì)過(guò)程的支持等。根據(jù)需要,我們甚至可以屏蔽掉TCL 的某些固有命令和固有控制結(jié)構(gòu)。通過(guò)對(duì)TCL 的擴(kuò)展、繼承或屏蔽,用戶用不著象平時(shí)定義一種計(jì)算機(jī)語(yǔ)言那樣對(duì)詞法、語(yǔ)法、語(yǔ)義、語(yǔ)用等各方面加以定義,就可以方便的為自己的應(yīng)用領(lǐng)域提供一種功能完備的腳本語(yǔ)言。TCL 良好的可擴(kuò)展性使得它能很好地適應(yīng)產(chǎn)品測(cè)試的需要,測(cè)試任務(wù)常常會(huì)由于設(shè)計(jì)和需求的改變而迅速改
20、變,往往讓測(cè)試人員疲于應(yīng)付。利用TCL 的可擴(kuò)展性,測(cè)試人員就可以迅速繼承多種新技術(shù),并針對(duì)產(chǎn)品新特點(diǎn)迅速推出擴(kuò)展TCL 命令集,以用于產(chǎn)品的測(cè)試中,可以較容易跟上設(shè)計(jì)需求的變化。另外,因?yàn)門CL 是一種比 CC+ 語(yǔ)言有著更高抽象層次的語(yǔ)言,使用TCL 可以在一種更高的層次上編寫程序,它屏蔽掉了編寫CC+ 程序時(shí)必須涉及到的一些較為煩瑣的細(xì)節(jié),可以大大地提高開發(fā)測(cè)試?yán)乃俣取6遥褂?TCL 語(yǔ)言寫的測(cè)試?yán)_本,即使作了修改,也用不著重新編譯就可以調(diào)用TCL 解釋器直接執(zhí)行。可以省卻不少時(shí)間。TCL 目前已成為自動(dòng)測(cè)試中事實(shí)上的標(biāo)準(zhǔn)。2 語(yǔ)法簡(jiǎn)單的講,TCL 語(yǔ)言的語(yǔ)法實(shí)際上是一些TCL
21、解釋器怎樣對(duì)TCL 命令進(jìn)行分析的規(guī)則的集合。2.1 腳本、命令和單詞符號(hào)一個(gè) TCL 腳本可以包含一個(gè)或多個(gè)命令。命令之間必須用換行符或分號(hào)隔開,下面的兩個(gè)腳本都是合法的:set a 1set b 2或set a 1;set b 2TCL 的每一個(gè)命令包含一個(gè)或幾個(gè)單詞,第一個(gè)單詞代表命令名,另外的單詞則是這個(gè)命令的參數(shù),單詞之間必須用空格或TAB 鍵隔開。TCL 解釋器對(duì)一個(gè)命令的求值過(guò)程分為兩部分:分析和執(zhí)行。在分析階段,TCL 解釋器運(yùn)用規(guī)則把命令分成一個(gè)個(gè)獨(dú)立的單詞,同時(shí)進(jìn)行必要的置換(substitution) ; 在執(zhí)行階段,TCL 解釋器會(huì)把第一個(gè)單詞當(dāng)作命令名,并查看這個(gè)命令
22、是否有定義,如果有定義就激活這個(gè)命令對(duì)應(yīng)的C/C+ 過(guò)程,并把所有的單詞作為參數(shù)傳遞給該命令過(guò)程,讓命令過(guò)程進(jìn)行處理。2.2 置換()2013-04-16版權(quán)所有,侵權(quán)必究第 11頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)型、對(duì)過(guò)程的支持等。根據(jù)需要,我們甚至可以屏蔽掉TCL 的某些固有命令和固有控制結(jié)構(gòu)。通過(guò)對(duì)TCL 的擴(kuò)展、繼承或屏蔽,用戶用不著象平時(shí)定義一種計(jì)算機(jī)語(yǔ)言那樣對(duì)詞法、語(yǔ)法、語(yǔ)義、語(yǔ)用等各方面加以定義,就可以方便的為自己的應(yīng)用領(lǐng)域提供一種功能完備的腳本語(yǔ)言。TCL 良好的可擴(kuò)展性使得它能很好地適應(yīng)產(chǎn)品測(cè)試的需要,測(cè)試任務(wù)常常會(huì)由于設(shè)計(jì)和需求的改變而迅速改變,往往
23、讓測(cè)試人員疲于應(yīng)付。利用TCL 的可擴(kuò)展性,測(cè)試人員就可以迅速繼承多種新技術(shù),并針對(duì)產(chǎn)品新特點(diǎn)迅速推出擴(kuò)展TCL 命令集,以用于產(chǎn)品的測(cè)試中,可以較容易跟上設(shè)計(jì)需求的變化。另外,因?yàn)門CL 是一種比 CC+ 語(yǔ)言有著更高抽象層次的語(yǔ)言,使用TCL 可以在一種更高的層次上編寫程序,它屏蔽掉了編寫CC+ 程序時(shí)必須涉及到的一些較為煩瑣的細(xì)節(jié),可以大大地提高開發(fā)測(cè)試?yán)乃俣取6遥褂?TCL 語(yǔ)言寫的測(cè)試?yán)_本,即使作了修改,也用不著重新編譯就可以調(diào)用TCL 解釋器直接執(zhí)行。可以省卻不少時(shí)間。TCL 目前已成為自動(dòng)測(cè)試中事實(shí)上的標(biāo)準(zhǔn)。2 語(yǔ)法簡(jiǎn)單的講,TCL 語(yǔ)言的語(yǔ)法實(shí)際上是一些TCL 解釋器怎
24、樣對(duì)TCL 命令進(jìn)行分析的規(guī)則的集合。2.1 腳本、命令和單詞符號(hào)一個(gè) TCL 腳本可以包含一個(gè)或多個(gè)命令。命令之間必須用換行符或分號(hào)隔開,下面的兩個(gè)腳本都是合法的:set a 1set b 2或set a 1;set b 2TCL 的每一個(gè)命令包含一個(gè)或幾個(gè)單詞,第一個(gè)單詞代表命令名,另外的單詞則是這個(gè)命令的參數(shù),單詞之間必須用空格或TAB 鍵隔開。TCL 解釋器對(duì)一個(gè)命令的求值過(guò)程分為兩部分:分析和執(zhí)行。在分析階段,TCL 解釋器運(yùn)用規(guī)則把命令分成一個(gè)個(gè)獨(dú)立的單詞,同時(shí)進(jìn)行必要的置換(substitution) ; 在執(zhí)行階段,TCL 解釋器會(huì)把第一個(gè)單詞當(dāng)作命令名,并查看這個(gè)命令是否有定
25、義,如果有定義就激活這個(gè)命令對(duì)應(yīng)的C/C+ 過(guò)程,并把所有的單詞作為參數(shù)傳遞給該命令過(guò)程,讓命令過(guò)程進(jìn)行處理。2.2 置換()2013-04-16版權(quán)所有,侵權(quán)必究第 11頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)型、對(duì)過(guò)程的支持等。根據(jù)需要,我們甚至可以屏蔽掉TCL 的某些固有命令和固有控制結(jié)構(gòu)。通過(guò)對(duì)TCL 的擴(kuò)展、繼承或屏蔽,用戶用不著象平時(shí)定義一種計(jì)算機(jī)語(yǔ)言那樣對(duì)詞法、語(yǔ)法、語(yǔ)義、語(yǔ)用等各方面加以定義,就可以方便的為自己的應(yīng)用領(lǐng)域提供一種功能完備的腳本語(yǔ)言。TCL 良好的可擴(kuò)展性使得它能很好地適應(yīng)產(chǎn)品測(cè)試的需要,測(cè)試任務(wù)常常會(huì)由于設(shè)計(jì)和需求的改變而迅速改變,往往讓測(cè)試人
26、員疲于應(yīng)付。利用TCL 的可擴(kuò)展性,測(cè)試人員就可以迅速繼承多種新技術(shù),并針對(duì)產(chǎn)品新特點(diǎn)迅速推出擴(kuò)展TCL 命令集,以用于產(chǎn)品的測(cè)試中,可以較容易跟上設(shè)計(jì)需求的變化。另外,因?yàn)門CL 是一種比 CC+ 語(yǔ)言有著更高抽象層次的語(yǔ)言,使用TCL 可以在一種更高的層次上編寫程序,它屏蔽掉了編寫CC+ 程序時(shí)必須涉及到的一些較為煩瑣的細(xì)節(jié),可以大大地提高開發(fā)測(cè)試?yán)乃俣取6遥褂?TCL 語(yǔ)言寫的測(cè)試?yán)_本,即使作了修改,也用不著重新編譯就可以調(diào)用TCL 解釋器直接執(zhí)行。可以省卻不少時(shí)間。TCL 目前已成為自動(dòng)測(cè)試中事實(shí)上的標(biāo)準(zhǔn)。2 語(yǔ)法簡(jiǎn)單的講,TCL 語(yǔ)言的語(yǔ)法實(shí)際上是一些TCL 解釋器怎樣對(duì)TC
27、L 命令進(jìn)行分析的規(guī)則的集合。2.1 腳本、命令和單詞符號(hào)一個(gè) TCL 腳本可以包含一個(gè)或多個(gè)命令。命令之間必須用換行符或分號(hào)隔開,下面的兩個(gè)腳本都是合法的:set a 1set b 2或set a 1;set b 2TCL 的每一個(gè)命令包含一個(gè)或幾個(gè)單詞,第一個(gè)單詞代表命令名,另外的單詞則是這個(gè)命令的參數(shù),單詞之間必須用空格或TAB 鍵隔開。TCL 解釋器對(duì)一個(gè)命令的求值過(guò)程分為兩部分:分析和執(zhí)行。在分析階段,TCL 解釋器運(yùn)用規(guī)則把命令分成一個(gè)個(gè)獨(dú)立的單詞,同時(shí)進(jìn)行必要的置換(substitution) ; 在執(zhí)行階段,TCL 解釋器會(huì)把第一個(gè)單詞當(dāng)作命令名,并查看這個(gè)命令是否有定義,如果
28、有定義就激活這個(gè)命令對(duì)應(yīng)的C/C+ 過(guò)程,并把所有的單詞作為參數(shù)傳遞給該命令過(guò)程,讓命令過(guò)程進(jìn)行處理。2.2 置換()2013-04-16版權(quán)所有,侵權(quán)必究第 11頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)型、對(duì)過(guò)程的支持等。根據(jù)需要,我們甚至可以屏蔽掉TCL 的某些固有命令和固有控制結(jié)構(gòu)。通過(guò)對(duì)TCL 的擴(kuò)展、繼承或屏蔽,用戶用不著象平時(shí)定義一種計(jì)算機(jī)語(yǔ)言那樣對(duì)詞法、語(yǔ)法、語(yǔ)義、語(yǔ)用等各方面加以定義,就可以方便的為自己的應(yīng)用領(lǐng)域提供一種功能完備的腳本語(yǔ)言。TCL 良好的可擴(kuò)展性使得它能很好地適應(yīng)產(chǎn)品測(cè)試的需要,測(cè)試任務(wù)常常會(huì)由于設(shè)計(jì)和需求的改變而迅速改變,往往讓測(cè)試人員疲于應(yīng)
29、付。利用TCL 的可擴(kuò)展性,測(cè)試人員就可以迅速繼承多種新技術(shù),并針對(duì)產(chǎn)品新特點(diǎn)迅速推出擴(kuò)展TCL 命令集,以用于產(chǎn)品的測(cè)試中,可以較容易跟上設(shè)計(jì)需求的變化。另外,因?yàn)門CL 是一種比 CC+ 語(yǔ)言有著更高抽象層次的語(yǔ)言,使用TCL 可以在一種更高的層次上編寫程序,它屏蔽掉了編寫CC+ 程序時(shí)必須涉及到的一些較為煩瑣的細(xì)節(jié),可以大大地提高開發(fā)測(cè)試?yán)乃俣取6遥褂?TCL 語(yǔ)言寫的測(cè)試?yán)_本,即使作了修改,也用不著重新編譯就可以調(diào)用TCL 解釋器直接執(zhí)行。可以省卻不少時(shí)間。TCL 目前已成為自動(dòng)測(cè)試中事實(shí)上的標(biāo)準(zhǔn)。2 語(yǔ)法簡(jiǎn)單的講,TCL 語(yǔ)言的語(yǔ)法實(shí)際上是一些TCL 解釋器怎樣對(duì)TCL 命令
30、進(jìn)行分析的規(guī)則的集合。2.1 腳本、命令和單詞符號(hào)一個(gè) TCL 腳本可以包含一個(gè)或多個(gè)命令。命令之間必須用換行符或分號(hào)隔開,下面的兩個(gè)腳本都是合法的:set a 1set b 2或set a 1;set b 2TCL 的每一個(gè)命令包含一個(gè)或幾個(gè)單詞,第一個(gè)單詞代表命令名,另外的單詞則是這個(gè)命令的參數(shù),單詞之間必須用空格或TAB 鍵隔開。TCL 解釋器對(duì)一個(gè)命令的求值過(guò)程分為兩部分:分析和執(zhí)行。在分析階段,TCL 解釋器運(yùn)用規(guī)則把命令分成一個(gè)個(gè)獨(dú)立的單詞,同時(shí)進(jìn)行必要的置換(substitution) ; 在執(zhí)行階段,TCL 解釋器會(huì)把第一個(gè)單詞當(dāng)作命令名,并查看這個(gè)命令是否有定義,如果有定義就
31、激活這個(gè)命令對(duì)應(yīng)的C/C+ 過(guò)程,并把所有的單詞作為參數(shù)傳遞給該命令過(guò)程,讓命令過(guò)程進(jìn)行處理。2.2 置換()2013-04-16版權(quán)所有,侵權(quán)必究第 11頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)型、對(duì)過(guò)程的支持等。根據(jù)需要,我們甚至可以屏蔽掉TCL 的某些固有命令和固有控制結(jié)構(gòu)。通過(guò)對(duì)TCL 的擴(kuò)展、繼承或屏蔽,用戶用不著象平時(shí)定義一種計(jì)算機(jī)語(yǔ)言那樣對(duì)詞法、語(yǔ)法、語(yǔ)義、語(yǔ)用等各方面加以定義,就可以方便的為自己的應(yīng)用領(lǐng)域提供一種功能完備的腳本語(yǔ)言。TCL 良好的可擴(kuò)展性使得它能很好地適應(yīng)產(chǎn)品測(cè)試的需要,測(cè)試任務(wù)常常會(huì)由于設(shè)計(jì)和需求的改變而迅速改變,往往讓測(cè)試人員疲于應(yīng)付。利用
32、TCL 的可擴(kuò)展性,測(cè)試人員就可以迅速繼承多種新技術(shù),并針對(duì)產(chǎn)品新特點(diǎn)迅速推出擴(kuò)展TCL 命令集,以用于產(chǎn)品的測(cè)試中,可以較容易跟上設(shè)計(jì)需求的變化。另外,因?yàn)門CL 是一種比 CC+ 語(yǔ)言有著更高抽象層次的語(yǔ)言,使用TCL 可以在一種更高的層次上編寫程序,它屏蔽掉了編寫CC+ 程序時(shí)必須涉及到的一些較為煩瑣的細(xì)節(jié),可以大大地提高開發(fā)測(cè)試?yán)乃俣取6遥褂?TCL 語(yǔ)言寫的測(cè)試?yán)_本,即使作了修改,也用不著重新編譯就可以調(diào)用TCL 解釋器直接執(zhí)行。可以省卻不少時(shí)間。TCL 目前已成為自動(dòng)測(cè)試中事實(shí)上的標(biāo)準(zhǔn)。2 語(yǔ)法簡(jiǎn)單的講,TCL 語(yǔ)言的語(yǔ)法實(shí)際上是一些TCL 解釋器怎樣對(duì)TCL 命令進(jìn)行分析
33、的規(guī)則的集合。2.1 腳本、命令和單詞符號(hào)一個(gè) TCL 腳本可以包含一個(gè)或多個(gè)命令。命令之間必須用換行符或分號(hào)隔開,下面的兩個(gè)腳本都是合法的:set a 1set b 2或set a 1;set b 2TCL 的每一個(gè)命令包含一個(gè)或幾個(gè)單詞,第一個(gè)單詞代表命令名,另外的單詞則是這個(gè)命令的參數(shù),單詞之間必須用空格或TAB 鍵隔開。TCL 解釋器對(duì)一個(gè)命令的求值過(guò)程分為兩部分:分析和執(zhí)行。在分析階段,TCL 解釋器運(yùn)用規(guī)則把命令分成一個(gè)個(gè)獨(dú)立的單詞,同時(shí)進(jìn)行必要的置換(substitution) ; 在執(zhí)行階段,TCL 解釋器會(huì)把第一個(gè)單詞當(dāng)作命令名,并查看這個(gè)命令是否有定義,如果有定義就激活這個(gè)
34、命令對(duì)應(yīng)的C/C+ 過(guò)程,并把所有的單詞作為參數(shù)傳遞給該命令過(guò)程,讓命令過(guò)程進(jìn)行處理。2.2 置換()2013-04-16版權(quán)所有,侵權(quán)必究第 11頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)兩個(gè) ?之間的參數(shù)表示可省,后面介紹命令時(shí)對(duì)于可省參數(shù)都使用這種表示形式。expr可以有一個(gè)或多個(gè)參數(shù),它把所有的參數(shù)組合到一起,作為一個(gè)表達(dá)式,然后求值:%expr 1 2*37%expr 1+2*37需要注意的一點(diǎn)是,數(shù)學(xué)函數(shù)并不是命令,只在表達(dá)式中出現(xiàn)才有意義。TCL 中支持的數(shù)學(xué)函數(shù)如下abs( x)Absolute value of x.acos( x)Arc cosine of
35、x, in the range 0 to p.asin( x)Arc sine of x, in the range -p/2 to p/2.atan( x)Arc tangent of x, in the range -p/2 to p/2.atan2( x, y) Arc tangent of x/ y, in the range -p/2 to p/2.ceil( x)Smallest integer not less than x.cos( x)Cosine of x ( x in radians).cosh( x)Hyperbolic cosine of x.double( i)Re
36、al value equal to integer i.exp( x)e raised to the power x.floor( x)Largest integer not greater than x.fmod( x, y)Floating-point remainder of x divided by y.hypot( x, y)Square root of ( x 2 + y 2 ).int( x)Integer value produced by truncating x.log( x)Natural logarithm of x.log10( x)Base 10 logarithm
37、 of x.pow( x, y)x raised to the power y.round( x)Integer value produced by rounding x.sin( x)Sine of x ( x in radians).sinh( x)Hyperbolic sine of x.sqrt( x)Square root of x.tan( x)Tangent of x ( x in radians).tanh( x)Hyperbolic tangent of x.2013-04-16版權(quán)所有,侵權(quán)必究第 19頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)兩個(gè) ?之間的
38、參數(shù)表示可省,后面介紹命令時(shí)對(duì)于可省參數(shù)都使用這種表示形式。expr可以有一個(gè)或多個(gè)參數(shù),它把所有的參數(shù)組合到一起,作為一個(gè)表達(dá)式,然后求值:%expr 1 2*37%expr 1+2*37需要注意的一點(diǎn)是,數(shù)學(xué)函數(shù)并不是命令,只在表達(dá)式中出現(xiàn)才有意義。TCL 中支持的數(shù)學(xué)函數(shù)如下abs( x)Absolute value of x.acos( x)Arc cosine of x, in the range 0 to p.asin( x)Arc sine of x, in the range -p/2 to p/2.atan( x)Arc tangent of x, in the range
39、-p/2 to p/2.atan2( x, y) Arc tangent of x/ y, in the range -p/2 to p/2.ceil( x)Smallest integer not less than x.cos( x)Cosine of x ( x in radians).cosh( x)Hyperbolic cosine of x.double( i)Real value equal to integer i.exp( x)e raised to the power x.floor( x)Largest integer not greater than x.fmod( x
40、, y)Floating-point remainder of x divided by y.hypot( x, y)Square root of ( x 2 + y 2 ).int( x)Integer value produced by truncating x.log( x)Natural logarithm of x.log10( x)Base 10 logarithm of x.pow( x, y)x raised to the power y.round( x)Integer value produced by rounding x.sin( x)Sine of x ( x in radians).sinh( x)Hyperbolic sine of x.sqrt( x)Square root of x.tan( x)Tangent of x ( x in radians).tanh( x)Hyperbolic tangent of x.2013-04-16版權(quán)所有,侵權(quán)必究第 19頁(yè),共 76頁(yè)TCL 培訓(xùn)教程 ( 全)絕密請(qǐng)輸入文檔編號(hào)兩
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年行政管理語(yǔ)文能力測(cè)試試題及答案
- 經(jīng)濟(jì)法概論考試復(fù)習(xí)經(jīng)驗(yàn)試題及答案
- 新型醫(yī)療器械使用試題及答案
- 行政法學(xué)職業(yè)道路試題與答案指導(dǎo)
- 行政管理實(shí)戰(zhàn)案例分析及答案
- 行政管理專科語(yǔ)文測(cè)試策略及試題答案
- 健康護(hù)理服務(wù)模式試題及答案分析
- 2025年衛(wèi)生資格考試科目分析與答案
- 執(zhí)業(yè)藥師考試中的科研能力培養(yǎng)及試題答案
- 2025年經(jīng)濟(jì)法概論厚度試題及答案
- 增大柱截面加固施工方案
- 艦載小口徑轉(zhuǎn)管炮未來(lái)應(yīng)用及關(guān)鍵技術(shù)研究
- 商業(yè)地產(chǎn)運(yùn)營(yíng)管理作業(yè)指導(dǎo)書
- 個(gè)人信息安全保密協(xié)議
- 六年級(jí)數(shù)學(xué)競(jìng)賽試題及答案(六套)
- DBJ50T-476-2024 市政管網(wǎng)監(jiān)測(cè)技術(shù)標(biāo)準(zhǔn)
- 2024-2030年中國(guó)智能音箱行業(yè)消費(fèi)態(tài)勢(shì)及投資潛力預(yù)測(cè)報(bào)告
- 反比例函數(shù)函數(shù)K的幾何意義市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件
- 2024-2030年中國(guó)回收聚對(duì)苯二甲酸乙二酯(PET)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 會(huì)議保障實(shí)施方案
- JGJ196-2010建筑施工塔式起重機(jī)安裝、使用、拆卸安全技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論