專利名稱:程序編碼方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明與一種編碼方法有關(guān),特別是與一種程序編碼方法和其系統(tǒng)有關(guān)。
背景技術(shù):
動(dòng)態(tài)伺服器網(wǎng)頁(Active Server Page,ASP)可快速開發(fā)各種動(dòng)態(tài)、互動(dòng)式全球信息網(wǎng)(world wide web,WWW)。和傳統(tǒng)超文件標(biāo)示語言(hypertext markuplanguage,HTML)網(wǎng)頁最大的不同在于ASP是屬于伺服器端的語言。傳統(tǒng)HTML網(wǎng)頁內(nèi)的所有文字、表格等是在設(shè)計(jì)者建立網(wǎng)頁時(shí)就確定不變,不會(huì)因傳輸或因伺服器的處理而改變。但ASP的文件在經(jīng)過伺服器的ASP功能后,伺服器會(huì)因不同的條件而建出不同的HTML文件而送至各瀏覽器,因?yàn)樗械某绦蚨荚谒欧鞫藞?zhí)行,伺服器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了用戶端瀏覽器的負(fù)擔(dān),從而大大提高了交互的速度。
由于現(xiàn)今大多數(shù)網(wǎng)站均是使用ASP語言進(jìn)行開發(fā),當(dāng)程序工程師在完成一網(wǎng)站開發(fā)后,于移轉(zhuǎn)給客戶之前,為了避免核心的程序碼遭到盜用,造成個(gè)人知識(shí)產(chǎn)權(quán)損失,因此,在移轉(zhuǎn)客戶前會(huì)將原始碼部分加以編碼。
傳統(tǒng)上的編碼方式,不是已有反組譯軟件出現(xiàn),造成編碼機(jī)制形同虛設(shè),就是需搭配特定翻譯連接檔,而需額外安裝此翻譯元件,造成編譯完成的文件無法直接由網(wǎng)站伺服器執(zhí)行。
發(fā)明內(nèi)容
因此本發(fā)明的主要目的是提供一種編碼方法及其系統(tǒng),經(jīng)編碼完成后的文件并不需額外的翻譯元件,可直接于伺服器端執(zhí)行。
本發(fā)明的編碼方法是借由“元件”文件較不易被反組譯的原理,來將網(wǎng)頁程序文件編譯成一“元件”文件和一“網(wǎng)頁程序碼”文件,再借由以呼叫元件的方式執(zhí)行此“網(wǎng)頁程序碼”文件。因此根據(jù)本發(fā)明的方法,首先將一網(wǎng)頁程序碼所引用的各式程序語法進(jìn)行分類重組后,接著將此重組后的程序碼轉(zhuǎn)換成一相類似的程序語言語法,再進(jìn)行編譯,以產(chǎn)生出一元件文件與一網(wǎng)頁程序碼文件。
為讓本發(fā)明的上述和其他目的、特點(diǎn)和優(yōu)點(diǎn)能更明顯易懂,下文特舉一較佳實(shí)施例,并配合附圖進(jìn)行詳細(xì)說明如下圖1是根據(jù)本發(fā)明較佳實(shí)施例的編碼流程圖。
圖2所示為執(zhí)行本發(fā)明編碼方法的系統(tǒng)方塊圖。
具體實(shí)施例方式
下述實(shí)施例中的編碼流程是以對(duì)一ASP語言進(jìn)行編碼作為解說,然值得注意的是,本發(fā)明的方法亦可應(yīng)用于其他物件導(dǎo)向式程序語言的編碼中,例如一JSP(Java Server Page)。
圖1所示為根據(jù)本發(fā)明較佳實(shí)施例的編碼方式流程圖。首先于步驟100中,形成一待處理文件,于本實(shí)施例中亦即選取欲進(jìn)行編碼的ASP文件中的原始碼,并進(jìn)行復(fù)制形成一待處理文件,值得注意的是,本發(fā)明亦可同時(shí)進(jìn)行多個(gè)文件的編碼流程,亦即以批次的方式進(jìn)行文件編碼。
接著于步驟102中,將此待處理文件中所有引用到其他程序的程序碼,均包括到此待處理文件中,接著將此待處理文件進(jìn)行語言語法分類,亦即進(jìn)行不同特征的語法分類,以劃分此文件中所引用程序語法所形成的原始碼,例如于本實(shí)施例中,分別取出以HTML語法所形成的原始碼102a、以程序(例如Java)設(shè)計(jì)控制結(jié)構(gòu)稿本(Script)原始碼102b和以ASP語法所形成的原始碼102c。值得注意的是,在其他的實(shí)施例中,可根據(jù)待處理文件中所引用的各類程序碼進(jìn)行分類,并不限于上述實(shí)施例所述的三種語法。在其他實(shí)施例中,亦可將所謂的動(dòng)態(tài)(dynamic)語法和靜態(tài)(static)語法進(jìn)行分類。一般而言,當(dāng)一個(gè)網(wǎng)站(Web site)所顯示的信息為程序設(shè)計(jì)者在設(shè)計(jì)HTML原始碼時(shí)即加以決定,若不更動(dòng)原始碼,于網(wǎng)頁上所所顯示的信息將是不變的,此即是由靜態(tài)語法所形成;而相對(duì)的,若網(wǎng)站上所顯示的數(shù)據(jù),可由使用者進(jìn)行點(diǎn)選彼此互動(dòng),例如購票信息,此即是由動(dòng)態(tài)(dynamic)語法所形成,而本發(fā)明于步驟102中所進(jìn)行的分類方法,亦可將ASP文件中的原始碼分類成由靜態(tài)語法所形成的原始碼數(shù)據(jù),和由動(dòng)態(tài)語法所形成的原始碼數(shù)據(jù)。
接著于步驟103,將分類完成的原始碼數(shù)據(jù)重組后進(jìn)行轉(zhuǎn)換,于本實(shí)施例中是轉(zhuǎn)換成Visual Basic程序語言語法,然值得注意的是,亦可轉(zhuǎn)換成其他形式的語法,并不限于Visual Basic程序語言語法,只要熟悉本技術(shù)的人員認(rèn)為,欲轉(zhuǎn)換的程序語法于語法結(jié)構(gòu)上與待處理文件具高度類似性者,均可作為步驟103中進(jìn)行轉(zhuǎn)換的目的程序語言。例如,于本實(shí)施例中的所以選擇轉(zhuǎn)換成Visual Basic程序語言語法,即是因?yàn)槠渑c欲進(jìn)行編碼的ASP文件具高度的類似性。接著于步驟104中,此轉(zhuǎn)換成Visual Basic程序語言語法的文件會(huì)形成一類別文件(Class file),一般而言,一個(gè)待處理文件經(jīng)本程序處理后會(huì)形成一個(gè)類別文件,因此,若以批次的方法處理多個(gè)待處理文件則會(huì)形成多個(gè)類別文件,而本發(fā)明會(huì)將產(chǎn)生的類別文件組成一個(gè)專案文件(project file)進(jìn)行其后的程序。
接著于步驟105,編譯此專案文件,于本實(shí)施例中是轉(zhuǎn)換成Visual Basic程序語言語法,因此會(huì)以Visual Basic程序語言的編譯器進(jìn)行編譯此專案文件,而分別形成一元件文件與一網(wǎng)頁程序碼文件,其中此網(wǎng)頁程序碼文件于執(zhí)行時(shí)會(huì)呼叫此元件文件的功能。然值得注意的是,若于步驟103中是選擇轉(zhuǎn)換成別的程序語言,本發(fā)明將以此選擇的程序語言編譯器進(jìn)行編譯。
從步驟100至步驟105,已經(jīng)完成所選擇文件的編譯,接著即可于步驟106將此編譯完成后的元件文件與網(wǎng)頁程序碼文件掛載至伺服器執(zhí)行。
參閱圖2所示為執(zhí)行本發(fā)明編碼方法的一系統(tǒng)方塊圖。在此實(shí)施例中,本發(fā)明的系統(tǒng)包括一前置處理模塊200、一文件選取模塊202、一元件產(chǎn)生模塊204、一編譯元件模塊206和一注冊(cè)元件模塊208。
前置處理模塊200是將欲進(jìn)行轉(zhuǎn)碼的網(wǎng)頁原始程序碼進(jìn)行備份,文件選取模塊202則是在完成備份的網(wǎng)頁原始程序碼中,選取一部份文件,作為待處理文件。此待處理文件會(huì)被送入一元件產(chǎn)生模塊204,用以區(qū)分并轉(zhuǎn)換待處理文件以產(chǎn)生一類別文件。另外,元件產(chǎn)生模塊204尚可包括一程序碼引用處理模塊210、一分類模塊212和一語法轉(zhuǎn)換模塊214。程序碼引用處理模塊210會(huì)將此待處理文件中所有引用到其他程序的程序碼,均包括到此待處理文件中,并傳遞至分類模塊212中,將此待處理文件進(jìn)行語言語法分類,亦即進(jìn)行不同特征的語法分類,來分類此文件中所引用程序語法所形成的原始碼,例如,區(qū)分為一靜態(tài)語法原始碼及一動(dòng)態(tài)語法原始碼。當(dāng)分類模塊212完成語法分類后,會(huì)將此文件傳遞至語法轉(zhuǎn)換模塊214,將分類完成的原始碼數(shù)據(jù)重組后進(jìn)行轉(zhuǎn)換,亦即根據(jù)一相對(duì)應(yīng)程序語言的語法對(duì)分類完成的原始碼數(shù)據(jù)分別進(jìn)行轉(zhuǎn)換,以產(chǎn)生一類別文件。
接著此類別文件會(huì)從元件產(chǎn)生模塊204送入編譯元件模塊206進(jìn)行編譯,以產(chǎn)生一可執(zhí)行元件文件及一待布署網(wǎng)頁程序碼文件。當(dāng)完成所選擇文件的編譯后,注冊(cè)元件模塊208會(huì)將此編譯完成后的文件掛載至伺服器上,亦即注冊(cè)此可執(zhí)行元件文件及待布署網(wǎng)頁程序碼文件的相關(guān)信息至伺服器上。
綜上所言,本發(fā)明的編碼方式是將一網(wǎng)頁程序碼所引用的各式程序語法進(jìn)行分類重組后,接著將此重組后的程序碼轉(zhuǎn)換成一相類似的程序語言語法,再進(jìn)行編譯,以產(chǎn)生出一元件文件與一網(wǎng)頁程序碼文件,借由“元件”檔較不亦被反組譯的原理,將網(wǎng)頁程序文件編譯成“元件”檔,再借由呼叫元件的方式執(zhí)行程序。
雖然本發(fā)明已以一較佳實(shí)施例揭示如上,然而其并非用以限定本發(fā)明,任何熟悉本技術(shù)的人員在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的等效的改變或替換,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的本申請(qǐng)權(quán)利要求范圍所界定的為準(zhǔn)。
權(quán)利要求
1.一種網(wǎng)頁原始碼編碼方法,包括區(qū)分該網(wǎng)頁原始碼為一靜態(tài)語法原始碼及一動(dòng)態(tài)語法原始碼;根據(jù)一相對(duì)應(yīng)程序語言語法分別轉(zhuǎn)換該靜態(tài)語法原始碼及該動(dòng)態(tài)語法原始碼,以產(chǎn)生一類別文件;以及編譯該類別文件以產(chǎn)生一可執(zhí)行元件文件及一待布署網(wǎng)頁程序碼文件,以供一伺服器注冊(cè)及引用。
2.如權(quán)利要求1所述的方法,其特征在于還包括處理該網(wǎng)頁原始碼引用的程序碼文件后,再區(qū)分該網(wǎng)頁原始碼為該靜態(tài)語法原始碼及該動(dòng)態(tài)語法原始碼。
3.一種網(wǎng)頁原始碼編碼系統(tǒng),包括一元件產(chǎn)生模塊,用以區(qū)分并轉(zhuǎn)換該網(wǎng)頁原始碼以產(chǎn)生一類別文件;以及一編譯元件模塊,用以編譯該類別文件,以產(chǎn)生一可執(zhí)行元件文件及一待布署網(wǎng)頁程序碼文件,以供一伺服器注冊(cè)及引用。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于還包括一文件選取模塊,用以選取該網(wǎng)頁原始碼一部份文件,以供該元件產(chǎn)生模塊產(chǎn)生該類別文件。
5.如權(quán)利要求3所述的系統(tǒng),其特征在于還包括一注冊(cè)元件模塊,用以注冊(cè)該可執(zhí)行元件檔及一待布署網(wǎng)頁程序碼文件的相關(guān)信息至該伺服器。
6.如權(quán)利要求3所述的系統(tǒng),其特征在于該元件產(chǎn)生模塊還包括一程序碼引用處理模塊,用以處理該網(wǎng)頁原始碼引用的程序碼文件。
7.如權(quán)利要求3所述的系統(tǒng),其特征在于該元件產(chǎn)生模塊還包括一分類模塊,用以區(qū)分該網(wǎng)頁原始碼為一靜態(tài)語法原始碼及一動(dòng)態(tài)語法原始碼。
8.如權(quán)利要求3所述的系統(tǒng),其特征在于該元件產(chǎn)生模塊還包括一語法轉(zhuǎn)換模塊,用以根據(jù)一相對(duì)應(yīng)程序語言的語法分別轉(zhuǎn)換該靜態(tài)語法原始碼及該動(dòng)態(tài)語法原始碼,以產(chǎn)生該類別文件。
9.一種記錄媒體,其記錄有電腦可讀取的一網(wǎng)頁原始碼編碼程序,該網(wǎng)頁原始碼編碼程序包括一元件產(chǎn)生模塊,用以區(qū)分并轉(zhuǎn)換該網(wǎng)頁原始碼以產(chǎn)生一類別文件;以及一編譯元件模塊,用以編譯該類別文件,以產(chǎn)生一可執(zhí)行元件文件及一待布署網(wǎng)頁程序碼文件,以供一伺服器注冊(cè)及引用。
10.如權(quán)利要求9所述的記錄媒體,其特征在于該元件產(chǎn)生模塊還包括一分類模塊,用以區(qū)分該網(wǎng)頁原始碼為一靜態(tài)語法原始碼及一動(dòng)態(tài)語法原始碼;以及一語法轉(zhuǎn)換模塊,用以根據(jù)一相對(duì)應(yīng)程序語言的語法分別轉(zhuǎn)換該靜態(tài)語法原始碼及該動(dòng)態(tài)語法原始碼,以產(chǎn)生該類別文件。
全文摘要
本發(fā)明的編碼方式是將一網(wǎng)頁程序碼所引用的各式程序語法進(jìn)行分類重組后,接著將此重組后的程序碼轉(zhuǎn)換成一相類似的程序語言語法,再進(jìn)行編譯,以產(chǎn)生出一元件擋與一網(wǎng)頁程序碼文件。
文檔編號(hào)G06F9/45GK1604037SQ20041008987
公開日2005年4月6日 申請(qǐng)日期2004年10月28日 優(yōu)先權(quán)日2004年10月28日
發(fā)明者謝明宏, 周盈宏 申請(qǐng)人:威盛電子股份有限公司