專(zhuān)利名稱(chēng)::多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計(jì)算機(jī)
技術(shù)領(lǐng)域:
,特別是涉及一種多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法及系統(tǒng)。
背景技術(shù):
:在各種具有人機(jī)交互界面的應(yīng)用系統(tǒng)中,界面作為系統(tǒng)與用戶(hù)交互的窗口,在整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程中起著重要的作用。在計(jì)算機(jī)技術(shù)發(fā)展前期,大多數(shù)應(yīng)用系統(tǒng)向用戶(hù)展示的是字符界面,即界面只有字符顯示,界面設(shè)計(jì)十分簡(jiǎn)單。而隨著計(jì)算機(jī)技術(shù)的發(fā)展,界面設(shè)計(jì)越來(lái)越豐富,出現(xiàn)了圖形化的界面。例如在金融領(lǐng)域中,銀行網(wǎng)點(diǎn)前端的應(yīng)用系統(tǒng)在發(fā)展初期提供的是字符交易,參照?qǐng)Dl所示,是字符交易的界面示意圖。所述字符交易是基于傳統(tǒng)unix或linux界面的DCC(DataCenterConsolidation,數(shù)據(jù)集中)系統(tǒng)前端交易,由神州數(shù)碼公司提供的ACE(AdvancdeClientEnvironment,先進(jìn)終端開(kāi)發(fā)平臺(tái))語(yǔ)言進(jìn)行開(kāi)發(fā)。但隨著銀行系統(tǒng)對(duì)拒面展示要求的提高,銀行網(wǎng)點(diǎn)前端的應(yīng)用系統(tǒng)除了已經(jīng)存在的字符交易,還出現(xiàn)了展示元素更為豐富的圖形化交易。參照?qǐng)D2所示,是圖形交易的界面示意圖。所述圖形交易是具有網(wǎng)頁(yè)化操作界面的DCC系統(tǒng)前端交易,由滿足J2EE(是軟件開(kāi)發(fā)的一種框架)技術(shù)規(guī)范的語(yǔ)言開(kāi)發(fā)。上述圖形界面和字符界面分別代表不同的展現(xiàn)方式,由不同的程序開(kāi)發(fā)語(yǔ)言實(shí)現(xiàn),但擁有同樣的交易處理邏輯。在實(shí)際應(yīng)用中,為實(shí)現(xiàn)一套既有字符版本又有圖形版本的交易,需要分別使用不同編程語(yǔ)言進(jìn)行開(kāi)發(fā)。這種方式的缺點(diǎn)是針對(duì)一套交易開(kāi)發(fā)兩種版本的系統(tǒng),造成重復(fù)開(kāi)發(fā),工作效率低;版本難以管理,易造成生產(chǎn)風(fēng)險(xiǎn),例如字符和圖形兩套程序生成后,需要分別入庫(kù),在出現(xiàn)問(wèn)題需要修改邏輯的情況下,多個(gè)版本代碼同時(shí)修改較易出現(xiàn)漏改,或改錯(cuò)的情況,繼而造成生產(chǎn)問(wèn)題;而且,對(duì)開(kāi)發(fā)人員要求高,例如開(kāi)發(fā)人員不僅要熟悉ACE語(yǔ)言,還要熟悉J2EE開(kāi)發(fā)規(guī)范,這就對(duì)開(kāi)發(fā)人員提出了高要求,降低了人員復(fù)用率。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法及系統(tǒng),針對(duì)具有相同業(yè)務(wù)處理邏輯的應(yīng)用系統(tǒng),解決因?qū)崿F(xiàn)語(yǔ)言不同而重復(fù)開(kāi)發(fā)所造成的版本、代碼等風(fēng)險(xiǎn)的問(wèn)題。為解決上述技術(shù)問(wèn)題,根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開(kāi)了以下技術(shù)方案多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法,包括將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言;編寫(xiě)中間語(yǔ)言代碼;按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將所述中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼;按照不同語(yǔ)言各自的編譯規(guī)則,分別執(zhí)行各種語(yǔ)言代碼,實(shí)現(xiàn)由中間語(yǔ)言統(tǒng)一開(kāi)發(fā)的多語(yǔ)言系統(tǒng)。其中,按照以下步驟編譯中間語(yǔ)言代碼將所述中間語(yǔ)言代碼解析為語(yǔ)法分析樹(shù);按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,利用語(yǔ)法分析樹(shù)分別拼寫(xiě)符合相應(yīng)語(yǔ)法規(guī)則的代碼。其中,所述各種語(yǔ)言的公共部分包括公共控件資源和公共事件驅(qū)動(dòng)方法,其中公共控件資源包括域、列表、表格、菜單和屏幕,公共事件驅(qū)動(dòng)方法包括域事件、列表事件、表格事件、菜單事件和屏幕事件。其中,所述中間語(yǔ)言提供界面定義,用于描述公共控件資源;并提供事件定義及處理邏輯,用于描述公共事件驅(qū)動(dòng)方法。其中,所述多語(yǔ)言包括ACE語(yǔ)言和J2EE技術(shù)規(guī)范語(yǔ)言。實(shí)現(xiàn)多語(yǔ)言統(tǒng)一開(kāi)發(fā)的系統(tǒng),包括通用接口,用于將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言,提供對(duì)所述公共部分的描述;編譯器,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將利用通用接口編寫(xiě)的中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼;多個(gè)代碼執(zhí)行單元,每個(gè)代碼執(zhí)行單元對(duì)應(yīng)一種語(yǔ)言,用于按照該語(yǔ)言的編譯規(guī)則,執(zhí)行相應(yīng)的語(yǔ)言代碼,實(shí)現(xiàn)由中間語(yǔ)言統(tǒng)一開(kāi)發(fā)的多語(yǔ)言系統(tǒng)。其中,所述編譯器包括語(yǔ)法規(guī)則庫(kù),用于存儲(chǔ)各種語(yǔ)言的語(yǔ)法規(guī)則;詞法和語(yǔ)法解析單元,用于將所述中間語(yǔ)言代碼解析為語(yǔ)法分析樹(shù);語(yǔ)言代碼生成單元,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,利用語(yǔ)法分析樹(shù)分別拼寫(xiě)符合相應(yīng)語(yǔ)法規(guī)則的代碼。其中,所述各種語(yǔ)言的公共部分包括公共控件資源和公共事件驅(qū)動(dòng)方法,其中公共控件資源包括域、列表、表格、菜單和屏幕,公共事件驅(qū)動(dòng)方法包括域事件、列表事件、表格事件、菜單事件和屏幕事件。其中,所述中間語(yǔ)言提供界面定義,用于描述公共控件資源;并提供事件定義及處理邏輯,用于描述公共事件驅(qū)動(dòng)方法。其中,所述多語(yǔ)言包括ACE語(yǔ)言和J2EE技術(shù)規(guī)范語(yǔ)言。實(shí)現(xiàn)多語(yǔ)言統(tǒng)一開(kāi)發(fā)的裝置,包括通用接口,用于將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言,提供對(duì)所述公共部分的描述;編譯器,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將利用通用接口編寫(xiě)的中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼。其中,所述編譯器包括語(yǔ)法規(guī)則庫(kù),用于存儲(chǔ)各種語(yǔ)言的語(yǔ)法規(guī)則;詞法和語(yǔ)法解析單元,用于將所述中間語(yǔ)言代碼解析為語(yǔ)法分析樹(shù);語(yǔ)言代碼生成單元,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,利用語(yǔ)法分析樹(shù)分別拼寫(xiě)符合相應(yīng)語(yǔ)法規(guī)則的代碼。根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開(kāi)了以下技術(shù)效果本發(fā)明通過(guò)將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言,并按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將開(kāi)發(fā)人員編寫(xiě)的中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼,然后按照不同語(yǔ)言各自的編譯規(guī)則,分別編譯執(zhí)行各種語(yǔ)言代碼,實(shí)現(xiàn)由中間語(yǔ)言統(tǒng)一開(kāi)發(fā)的多語(yǔ)言系統(tǒng)。開(kāi)發(fā)人員使用所述中間語(yǔ)言開(kāi)發(fā)一套代碼,通過(guò)編譯器將中間語(yǔ)言編譯成字符和圖形兩種語(yǔ)言代碼,而入庫(kù)代碼版本為中間i吾言。這樣,采用統(tǒng)一的方法開(kāi)發(fā)一套業(yè)務(wù)系統(tǒng),就可以同時(shí)實(shí)現(xiàn)字符交易和圖形交易,避免了重復(fù)開(kāi)發(fā);同時(shí),不存在版本管理的問(wèn)題,因?yàn)槿霂?kù)代碼版本為中間語(yǔ)言,所以當(dāng)出現(xiàn)問(wèn)題時(shí)可以直接修改中間語(yǔ)言;而且,可以屏蔽多語(yǔ)言系統(tǒng)開(kāi)發(fā)的差異,開(kāi)發(fā)人員只需要熟悉一種語(yǔ)言(即中間語(yǔ)言)即可進(jìn)行開(kāi)發(fā)工作,大大降低了對(duì)開(kāi)發(fā)人員的要求。而且,本發(fā)明不僅適用于字符和圖形交易一體化開(kāi)發(fā),更可為今后任何多語(yǔ)言程序統(tǒng)一開(kāi)發(fā)提供思路和解決方案。圖l是現(xiàn)有技術(shù)中字符交易的界面示意圖;圖2是現(xiàn)有技術(shù)中圖形交易的界面示意圖;圖3是本發(fā)明實(shí)現(xiàn)原理示意圖;圖4是本發(fā)明實(shí)施例所述多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法流程圖;圖5是本發(fā)明實(shí)施例所述中間語(yǔ)言代碼生成組件的結(jié)構(gòu)圖;圖6是本發(fā)明實(shí)施例所述中間語(yǔ)言的編譯流程圖;圖7是本發(fā)明實(shí)施例中語(yǔ)法樹(shù)的示意圖;圖8是本發(fā)明實(shí)施例所述實(shí)現(xiàn)多語(yǔ)言統(tǒng)一開(kāi)發(fā)的裝置結(jié)構(gòu)框圖;圖9是本發(fā)明實(shí)施例所述實(shí)現(xiàn)多語(yǔ)言統(tǒng)一開(kāi)發(fā)的系統(tǒng)結(jié)構(gòu)框圖。具體實(shí)施方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。針對(duì)擁有同樣的業(yè)務(wù)處理邏輯的多語(yǔ)言系統(tǒng),為避免因?qū)崿F(xiàn)語(yǔ)言不同而重復(fù)開(kāi)發(fā)所造成的版本、代碼等風(fēng)險(xiǎn),本發(fā)明實(shí)施例提供了一種全新的解決方案。參照?qǐng)D3,是本發(fā)明實(shí)現(xiàn)原理示意圖。本發(fā)明實(shí)現(xiàn)的原理是通過(guò)定義一套有完整界面定義、事件定義及處理邏輯的中間語(yǔ)言,并通過(guò)完成對(duì)中間語(yǔ)言文本的詞法分析和語(yǔ)法分析工作(即編譯過(guò)程),最終生成字符ACE語(yǔ)言和圖形JSP(JavaServerPages,是一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn))或JS(JavaScript)兩套代碼文件,實(shí)現(xiàn)多語(yǔ)言程序的統(tǒng)一開(kāi)發(fā)工作。參照?qǐng)D4,是本發(fā)明實(shí)施例所述多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法流程圖。下面將以銀行網(wǎng)點(diǎn)前端的應(yīng)用系統(tǒng)為例進(jìn)行說(shuō)明。步驟401,將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言。為了實(shí)現(xiàn)多語(yǔ)言程序的統(tǒng)一開(kāi)發(fā),屏蔽多語(yǔ)言系統(tǒng)開(kāi)發(fā)的差異,需要將各種語(yǔ)言的公共部分抽取出來(lái),用一種中間語(yǔ)言表示。這樣,通過(guò)編寫(xiě)中間語(yǔ)言代碼,然后轉(zhuǎn)換成各種語(yǔ)言代碼,就可以實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)了。由于各種語(yǔ)言代碼具有相同的業(yè)務(wù)處理邏輯,編寫(xiě)思路是一樣的,不同的是代碼的表達(dá)方式,所以可以把各種語(yǔ)言表達(dá)的公共部分抽象成一種通用的表達(dá)方式,即中間語(yǔ)言。其中,所述各種語(yǔ)言的公共部分主要包括兩部分公共控件資源(域、列表、表格、菜單、屏幕等)和公共事件驅(qū)動(dòng)方法(屏幕事件、域事件、表格事件等),利用各種語(yǔ)言編寫(xiě)代碼時(shí),都需要實(shí)現(xiàn)所述公共部分的定義和處理。中間語(yǔ)言是一種前端系統(tǒng)的交易開(kāi)發(fā)語(yǔ)言,主要包括兩部分內(nèi)容一部分是界面定義,用于描述所述公共控件資源;另一部分是事件定義和邏輯處理,用于描述所述公共事件驅(qū)動(dòng)方法。中間語(yǔ)言使用資源文件來(lái)描述人機(jī)交互的界面,主要包括域、列表、表格、菜單、屏幕,分別如下表所示<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>表1中間語(yǔ)言通過(guò)事件來(lái)描述人機(jī)交互過(guò)程,在事件中來(lái)處理程序邏輯,使用者只需要描述出想要做的動(dòng)作(如響應(yīng)鍵盤(pán)事件)以及處理,而不必關(guān)心動(dòng)作是如何被實(shí)現(xiàn)的,不用考慮人機(jī)交互的過(guò)程是在字符端還是圖形端完成的。使用中間語(yǔ)言來(lái)開(kāi)發(fā)前端交易,易于理解和掌握,同時(shí)能加快交易系統(tǒng)的開(kāi)發(fā)速度,使交易系統(tǒng)更加易于維護(hù)。步驟402,編寫(xiě)中間語(yǔ)言代碼。步驟403,按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將所述中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼。中間語(yǔ)言代碼生成組件的主要目標(biāo)是將符合中間語(yǔ)言規(guī)范的源代碼轉(zhuǎn)換成相應(yīng)的圖形端和字符端下的代碼,即在不同的系統(tǒng)技術(shù)架構(gòu)下實(shí)現(xiàn)相同功能,達(dá)到相同的目標(biāo)。其主要原理是基于編寫(xiě)字符交易界面和網(wǎng)頁(yè)化圖形交易界面所需要的公共控件資源(域、列表、表格、菜單、屏幕)和公共事件驅(qū)動(dòng)方法(屏幕事件、域事件、表格事件等),將其抽象和規(guī)范化為一種語(yǔ)言體系,即中間語(yǔ)言;執(zhí)行時(shí),將通過(guò)中間語(yǔ)言的編譯器將其解釋成編寫(xiě)字符交易界面的ACE代碼和編寫(xiě)網(wǎng)頁(yè)化圖形交易界面的JSP或JS代碼。中間語(yǔ)言代碼生成組件的主要功能包括以下兩個(gè)部分1、控件資源部分代碼包括屏幕、域、下拉列表等;2、事件驅(qū)動(dòng)部分代碼包括屏幕事件、域事件和表格事件等。參照?qǐng)D5,是所述中間語(yǔ)言代碼生成組件的結(jié)構(gòu)圖。所述組件的具體功能包括1、屏幕定義轉(zhuǎn)換成為圖形端下的JSP頁(yè)面和字符端下的屏幕定義的src文件(ACE語(yǔ)言的源文件的后綴);2、域定義轉(zhuǎn)換成為圖形端下的JSP頁(yè)面中的輸入域和字符端下的域定義的src文件;3、表格定義轉(zhuǎn)換成為圖形端下的JSP頁(yè)面中的表格和字符端下的表格定義的src文件;4、列表定義轉(zhuǎn)換成為圖形端下的JSP頁(yè)面中的列表和字符端下的列表定義的src文件;5、事件定義轉(zhuǎn)換成為圖形端下的JSP頁(yè)面中的JavaScript函數(shù)和字符端下的事件定義的src文件;6、幫助定義轉(zhuǎn)換成為圖形端下的幫助HTML頁(yè)面和字符端下的幫助定義文件;7、過(guò)程定義轉(zhuǎn)換成為圖形端下的JSP頁(yè)面中的JavaScript函數(shù)和字符端下的過(guò)程定義的src文件。本實(shí)施例中,中間語(yǔ)言的編譯流程參照?qǐng)D6所示,如下步驟601,輸入編寫(xiě)好的中間語(yǔ)言代碼;步驟602,由中間語(yǔ)言詞法和語(yǔ)法解析器把輸入的中間語(yǔ)言代碼解析為標(biāo)準(zhǔn)語(yǔ)法樹(shù);參照?qǐng)D7,是所述語(yǔ)法樹(shù)的示意圖。圖中短語(yǔ)就是樹(shù)或者子樹(shù)的葉子S,(T),b,Sd(T),Sd(T)db,(Sd(T)db);直接短語(yǔ)就是只有葉子的子樹(shù)的葉子S,(T),b;最左邊的直接短語(yǔ)就是句柄S;素短語(yǔ)是短語(yǔ),其中至少含有一個(gè)終結(jié)符,并且除自身外不再含有更小的帶有終結(jié)符號(hào)的短語(yǔ)(T),b;S不帶有終結(jié)符,Sd(T)、Sd(T)db、(Sd(T)db)包含有(T)。步驟603,然后根據(jù)ACE語(yǔ)法規(guī)則和JS/JSP語(yǔ)法規(guī)則,利用所述語(yǔ)法樹(shù)分別拼寫(xiě)符合這兩種語(yǔ)法規(guī)則的代碼文本;這個(gè)過(guò)程稱(chēng)為文本處理過(guò)程,得到各種語(yǔ)言的代碼純文本;步驟604,然后經(jīng)過(guò)文件輸入輸出處理,將所述代碼純文本進(jìn)行格式轉(zhuǎn)換,就可以形成ACE和JS/JSP語(yǔ)言代碼文件。完成步驟403,將中間語(yǔ)言代碼轉(zhuǎn)換為各種語(yǔ)言的代碼后,繼續(xù)執(zhí)行步驟404。步驟404,按照不同語(yǔ)言各自的編譯規(guī)則,分別執(zhí)行各種語(yǔ)言代碼,實(shí)現(xiàn)由中間語(yǔ)言統(tǒng)一開(kāi)發(fā)的多語(yǔ)言系統(tǒng)。即將ACE語(yǔ)言代碼文件和JS/JSP語(yǔ)言代碼文件分別傳送到各自的處理服務(wù)器上,分別按照ACE和JS/JSP語(yǔ)言的編譯規(guī)則,執(zhí)行相應(yīng)的代碼,從而實(shí)現(xiàn)字符交易界面和圖形交易界面。綜上所述,開(kāi)發(fā)人員使用所述中間語(yǔ)言開(kāi)發(fā)一套代碼,通過(guò)編譯器將中間語(yǔ)言編譯成字符和圖形兩種語(yǔ)言代碼,即可實(shí)現(xiàn)多語(yǔ)言程序的統(tǒng)一開(kāi)發(fā),而入庫(kù)代碼版本為中間語(yǔ)言。這樣,采用統(tǒng)一的方法開(kāi)發(fā)一套業(yè)務(wù)系統(tǒng),就可以同時(shí)實(shí)現(xiàn)字符交易和圖形交易,避免了重復(fù)開(kāi)發(fā);同時(shí),不存在版本管理的問(wèn)題,因?yàn)槿霂?kù)代碼版本為中間語(yǔ)言,所以當(dāng)出現(xiàn)問(wèn)題時(shí)可以直接修改中間語(yǔ)言;而且,可以屏蔽多語(yǔ)言系統(tǒng)開(kāi)發(fā)的差異,開(kāi)發(fā)人員只需要熟悉一種語(yǔ)言(即中間語(yǔ)言)即可進(jìn)行開(kāi)發(fā)工作,大大降低了對(duì)開(kāi)發(fā)人員的要求。本發(fā)明實(shí)施例所述方法不僅適用于字符和圖形交易一體化開(kāi)發(fā),更可為今后任何多語(yǔ)言程序統(tǒng)一開(kāi)發(fā)提供思路和解決方案。針對(duì)上述多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法,本發(fā)明還提供了相應(yīng)的實(shí)現(xiàn)裝置實(shí)施例。參照?qǐng)D8,是本發(fā)明實(shí)施例所述實(shí)現(xiàn)多語(yǔ)言統(tǒng)一開(kāi)發(fā)的裝置結(jié)構(gòu)框圖。所述裝置用于將符合中間語(yǔ)言規(guī)范的源代碼轉(zhuǎn)換成相應(yīng)的各種語(yǔ)言(如ACE語(yǔ)言和J2EE語(yǔ)言)的代碼,主要包括通用接口81和編譯器82,其中所述通用接口81用于將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言,提供對(duì)所述公共部分的描述;所述編譯器82用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將利用通用接口81編寫(xiě)的中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼。通用接口81的引入.是為了屏蔽字符端和圖形端在交易開(kāi)發(fā)過(guò)程中由于兩者技術(shù)體系差異而造成的技術(shù)實(shí)現(xiàn)問(wèn)題,將這些技術(shù)實(shí)現(xiàn)問(wèn)題以API(ApplicationProgrammingInterface,應(yīng)用編程接口)的形式提供給開(kāi)發(fā)人員。開(kāi)發(fā)人員只需要使用這種API提供的功能,從而簡(jiǎn)化中間語(yǔ)言本身語(yǔ)法定義的復(fù)雜度。通用接口81的實(shí)現(xiàn)主要涉及以下幾方面內(nèi)容域操作,包括對(duì)域值和屬性的設(shè)置、獲??;域顯示;屏幕中域之間的跳轉(zhuǎn)實(shí)現(xiàn)等;表格操作,包括表格數(shù)據(jù)的編輯、瀏覽;表格欄位之間的跳轉(zhuǎn);表格的刷新等;屏幕操作,包括屏幕(及屏幕組)的打開(kāi)、運(yùn)行、刷新、關(guān)閉;屏幕組的創(chuàng)建及瀏覽等;事件列表操作,包括事件列表調(diào)用方法等;菜單資源操作,包括菜單使用方法等;選擇列表操作,包括選擇列表使用方法等;外設(shè)操作,包括對(duì)設(shè)備的打開(kāi)、關(guān)閉、讀、寫(xiě)、定位、控制等。本實(shí)施例中,所述編譯器82包括語(yǔ)法規(guī)則庫(kù)821,用于存儲(chǔ)各種語(yǔ)言的語(yǔ)法規(guī)則;詞法和語(yǔ)法解析單元822,用于將所述中間語(yǔ)言代碼解析為語(yǔ)法分析樹(shù);語(yǔ)言代碼生成單元823,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,利用語(yǔ)法分析樹(shù)分別拼寫(xiě)符合相應(yīng)語(yǔ)法規(guī)則的代碼。編譯器82的執(zhí)行流程可參照?qǐng)D6所示,在此不再詳述。圖8中,開(kāi)發(fā)人員利用裝置提供的通用接口81(即API)輸入中間語(yǔ)言,然后經(jīng)過(guò)裝置中編譯器82的編譯處理,輸出ACE代碼或JSP/JS代碼。本發(fā)明還提供了實(shí)現(xiàn)多語(yǔ)言統(tǒng)一開(kāi)發(fā)的系統(tǒng)實(shí)施例,參照?qǐng)D9,是所述實(shí)現(xiàn)多語(yǔ)言統(tǒng)一開(kāi)發(fā)的系統(tǒng)結(jié)構(gòu)框圖。所述系統(tǒng)主要包括通用接口91、編譯器92和多個(gè)代碼執(zhí)行單元93。所述通用接口91用于將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言,提供對(duì)所述公共部分的描述;所述編譯器92用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將利用通用接口編寫(xiě)的中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼;所述每個(gè)代碼執(zhí)行單元93對(duì)應(yīng)一種語(yǔ)言,用于按照該語(yǔ)言的編譯規(guī)則,執(zhí)行相應(yīng)的語(yǔ)言代碼,實(shí)現(xiàn)由中間語(yǔ)言統(tǒng)一開(kāi)發(fā)的多語(yǔ)言系統(tǒng)。優(yōu)選的,所述編譯器92包括語(yǔ)法規(guī)則庫(kù)921,用于存儲(chǔ)各種語(yǔ)言的語(yǔ)法規(guī)則;詞法和語(yǔ)法解析單元922,用于將所述中間語(yǔ)言代碼解析為語(yǔ)法分析樹(shù);語(yǔ)言代碼生成單元923,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,利用語(yǔ)法分析樹(shù)分別拼寫(xiě)符合相應(yīng)語(yǔ)法規(guī)則的代碼。圖9中,開(kāi)發(fā)人員利用系統(tǒng)提供的通用接口91(即API)輸入中間語(yǔ)言,并經(jīng)過(guò)編譯器92的編譯處理,得到ACE代碼或JSP/JS代碼,然后傳送到各個(gè)代碼執(zhí)行單元93執(zhí)行代碼,最后輸出運(yùn)行結(jié)果,即為具有多種語(yǔ)言版本的業(yè)務(wù)應(yīng)用系統(tǒng)。圖8所示裝置、圖9所示系統(tǒng)中未詳述的部分可以參見(jiàn)圖4所示方法的相關(guān)部分,為了篇幅考慮,在此不再詳述。以上對(duì)本發(fā)明所提供的多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法及系統(tǒng),進(jìn)行了詳實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。權(quán)利要求1、多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法,其特征在于,包括將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言;編寫(xiě)中間語(yǔ)言代碼;按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將所述中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼;按照不同語(yǔ)言各自的編譯規(guī)則,分別執(zhí)行各種語(yǔ)言代碼,實(shí)現(xiàn)由中間語(yǔ)言統(tǒng)一開(kāi)發(fā)的多語(yǔ)言系統(tǒng)。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,按照以下步驟編譯中間語(yǔ)言代碼將所述中間語(yǔ)言代碼解析為語(yǔ)法分析樹(shù);按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,利用語(yǔ)法分析樹(shù)分別拼寫(xiě)符合相應(yīng)語(yǔ)法規(guī)則的代碼。3、根據(jù)權(quán)利要求1所述的方法,其特征在于所述各種語(yǔ)言的公共部分包括公共控件資源和公共事件驅(qū)動(dòng)方法,其中公共控件資源包括域、列表、表格、菜單和屏幕,公共事件驅(qū)動(dòng)方法包括域事件、列表事件、表格事件、菜單事件和屏幕事件。4、根據(jù)權(quán)利要求3所述的方法,其特征在于所述中間語(yǔ)言提供界面定義,用于描述公共控件資源;并提供事件定義及處理邏輯,用于描述公共事件驅(qū)動(dòng)方法。5、根據(jù)權(quán)利要求1所述的方法,其特征在于所述多語(yǔ)言包括ACE語(yǔ)言和J2EE4支術(shù)少見(jiàn)范i吾言。6、實(shí)現(xiàn)多語(yǔ)言統(tǒng)一開(kāi)發(fā)的系統(tǒng),其特征在于,包括通用接口,用于將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言,提供對(duì)所述公共部分的描述;編譯器,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將利用通用接口編寫(xiě)的中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼;多個(gè)代碼執(zhí)行單元,每個(gè)代碼執(zhí)行單元對(duì)應(yīng)一種語(yǔ)言,用于按照該語(yǔ)言的編譯規(guī)則,執(zhí)行相應(yīng)的語(yǔ)言代碼,實(shí)現(xiàn)由中間語(yǔ)言統(tǒng)一開(kāi)發(fā)的多語(yǔ)言系統(tǒng)。7、根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述編譯器包括語(yǔ)法規(guī)則庫(kù),用于存儲(chǔ)各種語(yǔ)言的語(yǔ)法規(guī)則;詞法和語(yǔ)法解析單元,用于將所述中間語(yǔ)言代碼解析為語(yǔ)法分析樹(shù);語(yǔ)言代碼生成單元,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,利用語(yǔ)法分析樹(shù)分別拼寫(xiě)符合相應(yīng)語(yǔ)法規(guī)則的代碼。8、根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于所述各種語(yǔ)言的公共部分包括公共控件資源和公共事件驅(qū)動(dòng)方法,其中公共控件資源包括域、列表、表格、菜單和屏幕,公共事件驅(qū)動(dòng)方法包括域事件、列表事件、表格事件、菜單事件和屏幕事件。9、根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于所述中間語(yǔ)言提供界面定義,用于描述公共控件資源;并提供事件定義及處理邏輯,用于描述公共事件馬區(qū)動(dòng)方法。10、根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于所述多語(yǔ)言包括ACE語(yǔ)言和J2EE技術(shù)纟見(jiàn)范語(yǔ)言。11、實(shí)現(xiàn)多語(yǔ)言統(tǒng)一開(kāi)發(fā)的裝置,其特征在于,包括通用接口,用于將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言,提供對(duì)所述/^共部分的描述;編譯器,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將利用通用接口編寫(xiě)的中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼。12、根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述編譯器包括語(yǔ)法規(guī)則庫(kù),用于存儲(chǔ)各種語(yǔ)言的語(yǔ)法規(guī)則;詞法和語(yǔ)法解析單元,用于將所述中間語(yǔ)言代碼解析為語(yǔ)法分析樹(shù);語(yǔ)言代碼生成單元,用于按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,利用語(yǔ)法分析樹(shù)分別拼寫(xiě)符合相應(yīng)語(yǔ)法規(guī)則的代碼。全文摘要本發(fā)明公開(kāi)了一種多語(yǔ)言系統(tǒng)實(shí)現(xiàn)統(tǒng)一開(kāi)發(fā)的方法及系統(tǒng),針對(duì)具有相同業(yè)務(wù)處理邏輯的應(yīng)用系統(tǒng),解決因?qū)崿F(xiàn)語(yǔ)言不同而重復(fù)開(kāi)發(fā)所造成的版本、代碼等風(fēng)險(xiǎn)的問(wèn)題。本發(fā)明通過(guò)將各種語(yǔ)言的公共部分抽象和規(guī)范化為中間語(yǔ)言,并按照不同語(yǔ)言各自的語(yǔ)法規(guī)則,將開(kāi)發(fā)人員編寫(xiě)的中間語(yǔ)言代碼分別編譯成各種語(yǔ)言代碼,然后按照不同語(yǔ)言各自的編譯規(guī)則,分別編譯執(zhí)行各種語(yǔ)言代碼,實(shí)現(xiàn)由中間語(yǔ)言統(tǒng)一開(kāi)發(fā)的多語(yǔ)言系統(tǒng)。開(kāi)發(fā)人員使用所述中間語(yǔ)言開(kāi)發(fā)一套代碼,通過(guò)編譯器將中間語(yǔ)言編譯成多種語(yǔ)言代碼,而入庫(kù)代碼版本為中間語(yǔ)言。這樣,避免了重復(fù)開(kāi)發(fā),不存在版本管理的問(wèn)題,而且大大降低了對(duì)開(kāi)發(fā)人員的要求。文檔編號(hào)G06F9/45GK101246420SQ200710308399公開(kāi)日2008年8月20日申請(qǐng)日期2007年12月29日優(yōu)先權(quán)日2007年12月29日發(fā)明者卜天奇,遙吳,景培培,臻王,珩蘇,高崇毅申請(qǐng)人:中國(guó)建設(shè)銀行股份有限公司