本申請涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種程序代碼標(biāo)記方法及裝置。
背景技術(shù):
隨著計(jì)算機(jī)不斷的發(fā)展,通過編程語言編輯程序代碼來進(jìn)行軟件開發(fā)已經(jīng)變得越來越重要,如,通過結(jié)構(gòu)化查詢語言(structuredquerylanguage,sql)編輯程序代碼來進(jìn)行軟件開發(fā)。
目前,為了提高編輯程序代碼的效率,通常采用將程序代碼中某些程序代碼進(jìn)行標(biāo)記,如,將程序代碼中的變量進(jìn)行加亮,以此使得程序員能夠準(zhǔn)確的定位想要找的程序代碼的位置。
在現(xiàn)有技術(shù)中,代碼編輯設(shè)備首先接收用戶選擇的編程語言,從程序代碼的最前端開始按順序讀取程序代碼,當(dāng)匹配到預(yù)設(shè)的該編程語言對應(yīng)的待標(biāo)記的程序代碼時(shí),直接對該程序代碼進(jìn)行標(biāo)記。
但是,在現(xiàn)有技術(shù)中,由于不同的編程語言有著不同的語法結(jié)構(gòu),因此,不同的編程語言對應(yīng)著不同需要標(biāo)記的程序代碼,如,在perl語言中,只要程序代碼為字符串,則直接將字符串進(jìn)行全部標(biāo)記,而在sql語言中,程序代碼為字符串,則不會對整個(gè)字符進(jìn)行全部標(biāo)記,而是會識別字符串中的程序代碼,并對需要標(biāo)記的程序代碼進(jìn)行標(biāo)記,當(dāng)需要通過兩種以上的編程語言編輯程序代碼時(shí),也就是說,程序代碼中包含了兩種以上不同的編程語言,現(xiàn)有技術(shù)中只能按照其中的一種編程語言對應(yīng)的程序代碼標(biāo)記方式對當(dāng)前的程序代碼進(jìn)行識別并標(biāo)記。
例如,以下是包含了使用perl語言和sql兩種編程語言的程序代碼:
在上述程序代碼中,如果選用perl語言對程序代碼進(jìn)行標(biāo)記,則按照預(yù)設(shè)的perl語言的標(biāo)記方式,程序代碼中""符號中間的內(nèi)容都會被認(rèn)為是字符串,因而""符號中間的內(nèi)容都被標(biāo)記,如,“"10"”中的“10”,“$next_month_firstday=substr($bizdate,0,4)."1001"”中的“1001”等會被標(biāo)記。
而對于sql語句來說,按照perl語言的標(biāo)記方式,""符號中間的內(nèi)容也會被標(biāo)記,這顯然是錯(cuò)誤的。
因此,現(xiàn)有技術(shù)中只能采用一種編程語言的標(biāo)記方式對包含有兩種以上不同的編程語言的程序代碼進(jìn)行標(biāo)記,這樣勢必會使得程序代碼標(biāo)記出現(xiàn)錯(cuò)誤。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例提供一種程序代碼標(biāo)記方法及裝置,用以解決對包含兩種以上的編程語言的程序代碼進(jìn)行標(biāo)記時(shí),勢必會使得程序代碼標(biāo)記出現(xiàn)錯(cuò)誤的問題。
本申請實(shí)施例提供的一種程序代碼標(biāo)記方法,所述方法包括:
順序讀取程序代碼;
當(dāng)讀取到程序代碼中包含的切換標(biāo)識符時(shí),確定所述切換標(biāo)識符對應(yīng)的標(biāo)記規(guī)則;
采用所述標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到再次讀取到程序代碼中包含的下一個(gè)切換標(biāo)識符時(shí),再次確定所述下一個(gè)切換標(biāo)識符對應(yīng)的另一標(biāo)記規(guī)則,采用所述另一標(biāo)記規(guī)則,繼續(xù)對讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
本申請實(shí)施例提供的一種程序代碼標(biāo)記方法,所述程序代碼由兩種編程語言編寫,預(yù)先保存與所述兩種編程語言分別對應(yīng)的兩種標(biāo)記規(guī)則,所述方法包括:
順序讀取程序代碼;
采用所述兩種標(biāo)記規(guī)則中默認(rèn)的標(biāo)記規(guī)則對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記;
每當(dāng)讀取到程序代碼中包含的切換標(biāo)識符時(shí),采用所述兩種標(biāo)記規(guī)則中與當(dāng)前使用的標(biāo)記規(guī)則不同的另一種標(biāo)記規(guī)則,繼續(xù)對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
本申請實(shí)施例提供的一種程序代碼標(biāo)記裝置,所述裝置包括:
讀取模塊,用于順序讀取程序代碼;
第一確定模塊,用于當(dāng)讀取到程序代碼中包含的切換標(biāo)識符時(shí),確定所述切換標(biāo)識符對應(yīng)的標(biāo)記規(guī)則;
標(biāo)記模塊,用于采用所述標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到再次讀取到程序代碼中包含的下一個(gè)切換標(biāo)識符時(shí),再次確定所述下一個(gè)切換標(biāo)識符對應(yīng)的另一標(biāo)記規(guī)則,采用所述另一標(biāo)記規(guī)則,繼續(xù)對讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
本申請實(shí)施例提供的一種程序代碼標(biāo)記裝置,所述程序代碼由兩種編程語言編寫,預(yù)先保存與所述兩種編程語言分別對應(yīng)的兩種標(biāo)記規(guī)則,所述裝置包括:
讀取模塊,用于順序讀取程序代碼;
默認(rèn)標(biāo)記模塊,用于采用所述兩種標(biāo)記規(guī)則中默認(rèn)的標(biāo)記規(guī)則對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記;
標(biāo)記模塊,用于每當(dāng)讀取到程序代碼中包含的切換標(biāo)識符時(shí),采用所述兩種標(biāo)記規(guī)則中與當(dāng)前使用的標(biāo)記規(guī)則不同的另一種標(biāo)記規(guī)則,繼續(xù)對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
本申請實(shí)施例提供一種程序代碼標(biāo)記方法及裝置,該方法包括:順序讀取程序代碼,當(dāng)讀取到程序代碼中包含的切換標(biāo)識符時(shí),確定該切換標(biāo)識符對應(yīng)的標(biāo)記規(guī)則,并采用該標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到再次讀取到程序代碼中包含的下一個(gè)切換標(biāo)識符時(shí),再次確定該下一個(gè)切換標(biāo)識 符對應(yīng)的另一標(biāo)記規(guī)則,并采用該另一標(biāo)記規(guī)則,繼續(xù)對讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。通過上述方法,即使程序代碼由兩種以上的編程語言進(jìn)行編寫的,但是可以根據(jù)切換標(biāo)識符確定需要使用哪個(gè)標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行準(zhǔn)確的標(biāo)記。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本申請實(shí)施例提供的程序代碼標(biāo)記過程;
圖2為本申請實(shí)施例提供的程序代碼標(biāo)記過程;
圖3為本申請實(shí)施例提供的第一種程序代碼標(biāo)記裝置結(jié)構(gòu)示意圖;
圖4為本申請實(shí)施例提供的第二種程序代碼標(biāo)記裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本申請的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請具體實(shí)施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
圖1為本申請實(shí)施例提供的程序代碼標(biāo)記過程,具體包括以下步驟:
s101:順序讀取程序代碼。
在實(shí)際應(yīng)用中,為了提高編輯程序代碼的效率,通常采用將程序代碼中某些程序代碼進(jìn)行標(biāo)記,以此使得程序員能夠準(zhǔn)確的定位想要找的程序代碼的位置。
因此,在對程序代碼進(jìn)行標(biāo)記的整個(gè)過程中,本申請首先由前向后順序讀 取程序代碼,而順序讀取程序代碼可以是由代碼編輯設(shè)備執(zhí)行,也可以由其他代碼讀取設(shè)備執(zhí)行。
例如,假設(shè)程序代碼a由perl語言、c語言、sql語言編寫完成,代碼編輯設(shè)備順序讀取程序代碼a。
s102:當(dāng)讀取到程序代碼中包含的切換標(biāo)識符時(shí),確定所述切換標(biāo)識符對應(yīng)的標(biāo)記規(guī)則。
由于不同的編程語言有著不同的語法結(jié)構(gòu),因此,不同的編程語言對應(yīng)著不同需要標(biāo)記的程序代碼,也就是說,不同的編程語言對應(yīng)著不同的標(biāo)記規(guī)則,所述標(biāo)記規(guī)則里詳細(xì)描述了針對某個(gè)編程語言,使用該程序語言進(jìn)行程序代碼編寫時(shí),需要標(biāo)記的程序代碼。
進(jìn)一步的,由于在實(shí)際應(yīng)用中,程序代碼有可能由兩種以上的編程語言編寫的,因此,在本申請中,如果程序代碼是由兩種以上的編程語言編寫的,則在對程序代碼進(jìn)行標(biāo)記的時(shí)候,需要對不同的編程語言編寫的程序代碼,采用不同的標(biāo)記規(guī)則進(jìn)行標(biāo)記。
進(jìn)一步的,為了能夠?qū)Σ煌木幊陶Z言編寫的程序代碼,采用不同的標(biāo)記規(guī)則進(jìn)行標(biāo)記,在本申請中,需要識別出程序代碼到底是使用哪個(gè)編程語言編寫的,而本申請具體是采用切換標(biāo)識符來進(jìn)行識別的,其中,每個(gè)切換標(biāo)識符均對應(yīng)一種編程語言,也就是說,通過切換標(biāo)識符能夠準(zhǔn)確的識別出,接下來讀取的程序代碼是用哪種編程語言進(jìn)行編寫的,進(jìn)而確定出切換標(biāo)識符對應(yīng)的標(biāo)記規(guī)則。
在此需要說明的是,在本申請中,為了考慮到編寫完成的程序代碼能夠被執(zhí)行設(shè)備識別并執(zhí)行,因此,在預(yù)先設(shè)定切換標(biāo)識符時(shí),可以使用編程語言里已有的程序代碼作為切換標(biāo)識符,如,perl語言中程序代碼""符號可以作為切換標(biāo)識符,但是,如果使用編程語言里已有的程序代碼作為切換標(biāo)識符時(shí),有可能存在該切換標(biāo)識符可能有其他的意義,如,如果選擇程序代碼""作為切換標(biāo)識符,程序代碼""還可能表示轉(zhuǎn)義,也就是說,程序代碼""符號中間的程 序代碼和兩邊的程序代碼都是同一種編程語言,這樣,當(dāng)代碼編輯設(shè)備讀取到該切換標(biāo)識符,則繼續(xù)按照切換標(biāo)識符來進(jìn)行切換標(biāo)記規(guī)則的話,很有可能直接導(dǎo)致標(biāo)記出現(xiàn)錯(cuò)誤,因此,如果使用程序代碼作為切換標(biāo)識符,該程序代碼除了切換標(biāo)識符的意義以外還有其他的意義時(shí),則可以修改編程語言,用新的程序代碼來表示被用作切換標(biāo)識符的該程序代碼的意義,這樣該程序代碼就可以作為切換標(biāo)識符使用了,如,可將表示轉(zhuǎn)義的程序代碼""修改成程序代碼"""",這樣,程序代碼""就可以作為切換標(biāo)識符了。
另外,由于注釋通??梢宰远x,并且即使注釋被自定義,執(zhí)行設(shè)備也可正常的識別并執(zhí)行程序代碼,因此,在本申請中,也可以使用注釋(在注釋中說明接下來的程序代碼是使用哪種編程語言編寫的)來作為切換標(biāo)識符,并自由設(shè)定該切換標(biāo)識符。
延續(xù)上例,假設(shè)采用注釋來作為切換標(biāo)識符,并且,預(yù)設(shè)的切換標(biāo)識符為“//perl語言”(表示接下來的程序代碼是用perl語言編寫的)、“//c語言”(表示接下來的程序代碼是用c語言編寫的)、“//sql語言”(表示接下來的程序代碼是用sql語言編寫的),而且,預(yù)先設(shè)定“//perl語言”對應(yīng)perl標(biāo)記規(guī)則,“//c語言”對應(yīng)c標(biāo)記規(guī)則,“//sql語言”對應(yīng)sql標(biāo)記規(guī)則。
假設(shè)程序代碼a中首次出現(xiàn)的切換標(biāo)識符為“//perl語言”,因此,代碼編輯設(shè)備順序讀取程序代碼a,當(dāng)讀取到程序代碼中包含的“//perl語言”時(shí),確定該“//perl語言”對應(yīng)的perl標(biāo)記規(guī)則。
在實(shí)際應(yīng)用中,有可能存在整個(gè)程序代碼的最前端的程序代碼不是切換標(biāo)識符的情況,但是,由于通常情況下整個(gè)程序代碼的開頭所使用的編程語言與文件類型是相對應(yīng)的,也就是說,文件類型可以決定程序代碼的開頭所使用的編程語言,因此,對于這種情況,本申請?jiān)趯φ麄€(gè)程序代碼進(jìn)行標(biāo)記時(shí),具體可以在首次讀取到切換標(biāo)識符之前,根據(jù)該程序代碼所在的文件的文件類型,確定該文件類型對應(yīng)的標(biāo)記規(guī)則,根據(jù)該文件類型對應(yīng)的標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到讀取到切換標(biāo)識符為止。如,假設(shè)正在編寫的 程序代碼中,位于最前端的程序代碼不是切換標(biāo)識符,假設(shè)程序代碼所在的文件是sql類型的文件,代碼編輯設(shè)備在首次讀取到切換標(biāo)識符之前,根據(jù)sql文件類型,確定該文件類型對應(yīng)的標(biāo)記規(guī)則,假設(shè)標(biāo)記規(guī)則為sql標(biāo)記規(guī)則,并根據(jù)該sql標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到讀取到切換標(biāo)識符為止。
s103:采用所述標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到再次讀取到程序代碼中包含的下一個(gè)切換標(biāo)識符時(shí),再次確定所述下一個(gè)切換標(biāo)識符對應(yīng)的另一標(biāo)記規(guī)則,采用所述另一標(biāo)記規(guī)則,繼續(xù)對讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
考慮到實(shí)際應(yīng)用中,當(dāng)采用的切換標(biāo)識符是編程語言里已有的程序代碼時(shí),有可能存在預(yù)先設(shè)定的切換標(biāo)識符出現(xiàn)在注釋中,并且,注釋前面的程序代碼以及注釋后面的程序代碼都是同一種編程語言的情況,因此,在本申請中,在采用標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記之前,確定所述切換標(biāo)識符在所述程序代碼中所在的位置不是預(yù)設(shè)的指定位置,如果確定出的切換標(biāo)識符在程序代碼中所在的位置是預(yù)設(shè)的指定位置,則說明該切換標(biāo)識符前面的程序代碼以及后面的程序代碼都是同一種編程語言,因此,可以直接將該切換標(biāo)識符忽略,即,不做任何處理。
例如,假設(shè)以程序代碼"作為切換標(biāo)識符,并且,切換標(biāo)識符不能出現(xiàn)在注釋中,代碼編輯設(shè)備在讀取程序代碼e的過程中,讀取到注釋中包含的切換標(biāo)識符",判斷出該切換標(biāo)識符"在程序代碼中所在的位置是在注釋中,也即,該切換標(biāo)識符"在預(yù)設(shè)的指定位置上,則代碼編輯設(shè)備直接忽略此切換標(biāo)識符",不采用切換標(biāo)識符"對應(yīng)的標(biāo)記規(guī)則對后續(xù)讀取的程序代碼進(jìn)行標(biāo)記,仍采用當(dāng)前的標(biāo)記規(guī)則對后續(xù)讀取的程序代碼進(jìn)行標(biāo)記。
進(jìn)一步的,代碼編輯設(shè)備在確定出切換標(biāo)識符在程序代碼中所在的位置不是預(yù)設(shè)的指定位置后,可直接根據(jù)該標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到再次讀取到程序代碼中包含的下一個(gè)切換標(biāo)識符時(shí),再次確定下一 個(gè)切換標(biāo)識符對應(yīng)的另一標(biāo)記規(guī)則,采用另一標(biāo)記規(guī)則,繼續(xù)對讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
在對程序代碼進(jìn)行標(biāo)記的過程中,在本申請中,可以采用高亮的方式對程序代碼進(jìn)行標(biāo)記,即,對后續(xù)讀取到的需要標(biāo)記的程序代碼進(jìn)行高亮顯示,當(dāng)然也可以對需要標(biāo)記的程序代碼,按照類型的不同添加不同的底色。
繼續(xù)沿用上例,代碼編輯設(shè)備確定出該//perl語言對應(yīng)的perl標(biāo)記規(guī)則,假設(shè)代碼編輯設(shè)備確定出該//perl語言在程序代碼a中所在的位置不是預(yù)設(shè)的指定位置,因此,代碼編輯設(shè)備采用perl標(biāo)記規(guī)則對后續(xù)讀取到的需要標(biāo)記的程序代碼進(jìn)行高亮(即,標(biāo)記),直到再次讀取到程序代碼中包含的下一個(gè)切換標(biāo)識符,假設(shè)下一個(gè)切換標(biāo)識符為//c語言,確定出該//c語言對應(yīng)的c標(biāo)記規(guī)則,并采用該c標(biāo)記規(guī)則對后續(xù)讀取到的需要標(biāo)記的程序代碼進(jìn)行高亮,假設(shè)下一個(gè)切換標(biāo)識符為//sql語言,確定出該//sql語言對應(yīng)的sql標(biāo)記準(zhǔn)則,并采用該sql標(biāo)記規(guī)則對后續(xù)讀取到的需要標(biāo)記的程序代碼進(jìn)行高亮,直到將全部的程序代碼a標(biāo)記為止。
通過上述方法,即使程序代碼由兩種以上的編程語言進(jìn)行編寫的,但是可以根據(jù)切換標(biāo)識符確定需要使用哪個(gè)標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行準(zhǔn)確的標(biāo)記。
以上為本申請?zhí)峁┑某绦虼a標(biāo)記的方法,在整個(gè)程序代碼標(biāo)記的過程中,切換標(biāo)識符均唯一對應(yīng)一個(gè)編程語言的標(biāo)記規(guī)則,也就是說,通過切換標(biāo)識符能夠唯一標(biāo)識確定出一個(gè)編程語言對應(yīng)的標(biāo)記規(guī)則,但是,在實(shí)際應(yīng)用中,對于僅由兩種編程語言編寫的程序代碼,在預(yù)先設(shè)定切換標(biāo)識符時(shí),所設(shè)定的切換標(biāo)識符無需對應(yīng)任何一個(gè)編程語言的標(biāo)記規(guī)則,代碼編輯設(shè)備只要讀取到該切換標(biāo)識符時(shí),則可采用兩種標(biāo)記規(guī)則中與當(dāng)前使用的標(biāo)記規(guī)則不同的另一種標(biāo)記規(guī)則即可,具體如圖2所示。
圖2為本申請實(shí)施例提供的程序代碼標(biāo)記過程,具體包括以下步驟:
s201:順序讀取程序代碼。
例如,假設(shè)程序代碼b由perl語言以及sql語言編寫完成,并且預(yù)先保存了perl語言對應(yīng)的perl標(biāo)記規(guī)則,sql語言對應(yīng)的sql標(biāo)記規(guī)則,假設(shè)程序代碼b具體如下:
代碼編輯設(shè)備順序讀取程序代碼b。
s202:采用所述兩種標(biāo)記規(guī)則中默認(rèn)的標(biāo)記規(guī)則對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記。
s203:每當(dāng)讀取到程序代碼中包含的切換標(biāo)識符時(shí),采用所述兩種標(biāo)記規(guī)則中與當(dāng)前使用的標(biāo)記規(guī)則不同的另一種標(biāo)記規(guī)則,繼續(xù)對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
由于在本申請中只有兩種編程語言編寫,因此,為了提高編寫程序代碼的效率,在本申請中,切換標(biāo)識符可以只設(shè)定一個(gè),每當(dāng)代碼編輯設(shè)備讀取到該切換標(biāo)識符時(shí),就采用兩種標(biāo)記規(guī)則中與當(dāng)前使用的標(biāo)記規(guī)則不同的另一種標(biāo)記規(guī)則,繼續(xù)對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
進(jìn)一步的,由于本申請中只設(shè)定一個(gè)切換標(biāo)識符,因此,整個(gè)程序代碼中,位于最前端的程序代碼不是切換標(biāo)識符,也就是說,從位于最前端的程序代碼到首次出現(xiàn)切換標(biāo)識符之間的程序代碼,需要從兩種標(biāo)記規(guī)則中選擇一個(gè)標(biāo)記規(guī)則(在本申請中,可以將該標(biāo)記規(guī)則作為默認(rèn)的標(biāo)記規(guī)則)對從位于最前端的程序代碼到首次出現(xiàn)切換標(biāo)識符之間的程序代碼進(jìn)行標(biāo)記。
對于到底從兩種標(biāo)記規(guī)則中選擇哪一個(gè)標(biāo)記規(guī)則,本申請?zhí)峁┝艘环N選取方法,具體為:根據(jù)程序代碼所在的文件的文件類型,確定兩種標(biāo)記規(guī)則中與 該文件類型對應(yīng)的標(biāo)記規(guī)則,作為默認(rèn)的標(biāo)記規(guī)則,采用該默認(rèn)的標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記。
延續(xù)上例,假設(shè)預(yù)設(shè)的切換標(biāo)識符為#切換標(biāo)示符(表示接下來的程序代碼的標(biāo)記規(guī)則是采用perl標(biāo)記規(guī)則以及sql標(biāo)記規(guī)則中與當(dāng)前使用的標(biāo)記規(guī)則不同的另一種標(biāo)記規(guī)則)。
假設(shè)程序代碼b所在文件的文件類型為perl,代碼編輯設(shè)備根據(jù)程序代碼b所在文件的文件類型perl,確定出該文件類型對應(yīng)的perl標(biāo)記規(guī)則,并將perl標(biāo)記規(guī)則作為默認(rèn)的標(biāo)記規(guī)則,代碼編輯設(shè)備采用perl標(biāo)記規(guī)則對后續(xù)讀取到的程序代碼進(jìn)行高亮,即,對substr、"10"、"1001"、"%y-%m-%d%h:%m:%s"、##bizdate=y(tǒng)esterday、$進(jìn)行高亮。
直到讀取到程序代碼b包含的#切換標(biāo)識符時(shí),采用兩種標(biāo)記規(guī)則中與當(dāng)前使用的perl標(biāo)記規(guī)則不同的另一種標(biāo)記規(guī)則,即,sql標(biāo)記規(guī)則,繼續(xù)對后續(xù)讀取到的程序代碼b進(jìn)行高亮,即,對=、’$temp_bizdate’、—統(tǒng)計(jì)月份、—支付賬戶與銀行賬戶balance/bank、count、sum、’yyyy-mm-ddhh:mi:ss’、’yyymm’進(jìn)行高亮,直到將程序代碼b完全標(biāo)記完為止。
以上為本申請實(shí)施例提供的兩種程序代碼標(biāo)記方法,基于同樣的思路,本申請實(shí)施例還提供了第一種程序代碼標(biāo)記裝置,如圖3所示,第二種程序代碼標(biāo)記裝置,如圖4所示。。
圖3為本申請實(shí)施例提供的第一種程序代碼標(biāo)記裝置結(jié)構(gòu)示意圖,包括:
讀取模塊301,用于順序讀取程序代碼;
第一確定模塊302,用于當(dāng)讀取到程序代碼中包含的切換標(biāo)識符時(shí),確定所述切換標(biāo)識符對應(yīng)的標(biāo)記規(guī)則;
標(biāo)記模塊303,用于采用所述標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到再次讀取到程序代碼中包含的下一個(gè)切換標(biāo)識符時(shí),再次確定所述下一個(gè)切換標(biāo)識符對應(yīng)的另一標(biāo)記規(guī)則,采用所述另一標(biāo)記規(guī)則,繼續(xù)對讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
所述裝置還包括:
初始標(biāo)記模塊304,用于在首次讀取到切換標(biāo)識符之前,根據(jù)所述程序代碼所在的文件的文件類型,確定所述文件類型對應(yīng)的標(biāo)記規(guī)則,根據(jù)所述文件類型對應(yīng)的標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到讀取到切換標(biāo)識符為止。
所述裝置還包括:
第二確定模塊305,用于所述標(biāo)記模塊303采用所述標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記之前,確定所述切換標(biāo)識符在所述程序代碼中所在的位置不是預(yù)設(shè)的指定位置。
所述標(biāo)記模塊303具體用于,對后續(xù)讀取到的需要標(biāo)記的程序代碼進(jìn)行高亮顯示。
圖4為本申請實(shí)施例提供的第二種程序代碼標(biāo)記裝置結(jié)構(gòu)示意圖,所述程序代碼由兩種編程語言編寫,預(yù)先保存與所述兩種編程語言分別對應(yīng)的兩種標(biāo)記規(guī)則,包括:
讀取模塊401,用于順序讀取程序代碼;
默認(rèn)標(biāo)記模塊402,用于采用所述兩種標(biāo)記規(guī)則中默認(rèn)的標(biāo)記規(guī)則對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記;
標(biāo)記模塊403,用于每當(dāng)讀取到程序代碼中包含的切換標(biāo)識符時(shí),采用所述兩種標(biāo)記規(guī)則中與當(dāng)前使用的標(biāo)記規(guī)則不同的另一種標(biāo)記規(guī)則,繼續(xù)對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記,直到將全部的程序代碼標(biāo)記完為止。
所述默認(rèn)標(biāo)記模塊402具體用于,根據(jù)所述程序代碼所在的文件的文件類型,確定所述兩種標(biāo)記規(guī)則中與所述文件類型對應(yīng)的標(biāo)記規(guī)則,作為默認(rèn)的標(biāo)記規(guī)則,采用所述默認(rèn)的標(biāo)記規(guī)則,對后續(xù)讀取到的程序代碼進(jìn)行標(biāo)記。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器 (ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲器(sram)、動態(tài)隨機(jī)存取存儲器(dram)、其他類型的隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
以上所述僅為本申請的實(shí)施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。