本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法及裝置。
背景技術(shù):
在工業(yè)控制的分散控制系統(tǒng)(distributedcontrolsystem,dcs)中,圖形組態(tài)軟件代碼生成工具是一種將用戶組態(tài)自動(dòng)生成對(duì)應(yīng)嵌入式所需代碼的軟件工具。dcs對(duì)圖形組態(tài)軟件代碼生成工具的性能和可靠性要求較高。尤其是在核電行業(yè),對(duì)軟件的質(zhì)量要求更為嚴(yán)格。
在核電儀控系統(tǒng)中,圖形組態(tài)軟件代碼生成工具是一種將用戶組態(tài)自動(dòng)生成對(duì)應(yīng)嵌入式所需代碼的軟件工具。核電系統(tǒng)對(duì)圖形組態(tài)軟件代碼生成工具的基本要求高性能和高可靠性,雖然對(duì)圖形組態(tài)軟件代碼生成工具采用了單元測(cè)試、集成調(diào)試等多種測(cè)試手段但是軟件工具本身正確性仍然難以得到有效驗(yàn)證,產(chǎn)品質(zhì)量存很大隱患。特別是在核電行業(yè),對(duì)軟件的質(zhì)量的要求更為嚴(yán)格,如何保證圖形組態(tài)軟件代碼生成工具正確性就成為擺在所有核電儀控提供商面前的共性問(wèn)題。
目前,通常采用單元測(cè)試、集成調(diào)試等多種測(cè)試手段來(lái)保證圖形組態(tài)軟件代碼生成工具本身的正確性。
而目前核電領(lǐng)域常見(jiàn)的嵌入式設(shè)備圖形組態(tài)軟件代碼生成工具保證軟件正確性的方式,只是通過(guò)傳統(tǒng)測(cè)試手段保證圖形組態(tài)生成代碼的質(zhì)量。這就有一個(gè)無(wú)法避免的問(wèn)題就是如何保證軟件開(kāi)發(fā)工具本身的正確性和質(zhì)量,如果代碼生成工具的質(zhì)量得不到保證其在轉(zhuǎn)換生成代碼過(guò)程中很有可能生成不安全的目標(biāo)代碼。
例如,法國(guó)愛(ài)斯特爾公司的scadekcg雖是一款用于高安全系統(tǒng)算法組態(tài)的代碼生成器,是工業(yè)控制的dcs中常見(jiàn)的嵌入式設(shè)備圖形組態(tài)軟件代碼生成工具,但其保證軟件正確性的方式只是通過(guò)仿真手段保證圖形組態(tài)生成代碼的質(zhì)量,而且其是根據(jù)航空do-178b標(biāo)準(zhǔn)而開(kāi)發(fā)。
然而,即使通過(guò)上述現(xiàn)有方式,圖形組態(tài)軟件代碼生成工具本身的正確性以及生成的代碼的質(zhì)量均得不到保證,在我國(guó)核安全級(jí)儀控領(lǐng)域應(yīng)用需要做大量的代碼驗(yàn)證工作,工程實(shí)施的工作量非常大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,提供一種圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法及裝置,以實(shí)現(xiàn)由圖形組態(tài)源語(yǔ)言轉(zhuǎn)換為目標(biāo)語(yǔ)言的程序代碼,從而保證了圖形組態(tài)軟件代碼生成工具本身的正確性以及生成的代碼的質(zhì)量。
根據(jù)本發(fā)明的一方面,提供一種圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法。所述方法包括:獲取圖形組態(tài)源語(yǔ)言,所述圖形組態(tài)源語(yǔ)言包括m個(gè)圖形組態(tài)對(duì)象的信息,以及所述m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息;根據(jù)所述m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息確定所述m個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系;按照所述層次關(guān)系,依次確定對(duì)應(yīng)的n個(gè)圖形組態(tài)語(yǔ)言層以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象;依次對(duì)所述n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換,并對(duì)轉(zhuǎn)換過(guò)程及結(jié)果進(jìn)行正確性驗(yàn)證;若每個(gè)所述圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)所述正確性驗(yàn)證,則根據(jù)所述轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼;其中,m≥1,n≥1,m≥n,且m和n均為整數(shù)。
優(yōu)選地,所述按照所述層次關(guān)系,依次確定對(duì)應(yīng)的n個(gè)圖形組態(tài)語(yǔ)言層以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象包括:根據(jù)所述層次關(guān)系確定作為父對(duì)象的圖形組態(tài)對(duì)象,以及作為各級(jí)子對(duì)象的圖形組態(tài)對(duì)象;分別建立與所述作為父對(duì)象的圖形組態(tài)對(duì)象相應(yīng)的一個(gè)圖形組態(tài)語(yǔ)言層,以及與所述各級(jí)子對(duì)象的圖形組態(tài)對(duì)象相應(yīng)的n-1個(gè)圖形組態(tài)語(yǔ)言層。
優(yōu)選地,所述對(duì)轉(zhuǎn)換過(guò)程及結(jié)果進(jìn)行正確性驗(yàn)證包括:根據(jù)所述m個(gè)圖形組態(tài)對(duì)象的信息,依次判斷每個(gè)所述圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象是否正確。
優(yōu)選地,所述依次對(duì)所述n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換包括:依次對(duì)所述n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行基本圖形元素拆分。
優(yōu)選地,所述根據(jù)所述轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼包括:根據(jù)拆分得到的基本圖形元素對(duì)所述n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行代碼繪制,獲得目標(biāo)語(yǔ)言的程序代碼。
優(yōu)選地,所述方法還包括:若任一所述圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果未通過(guò)所述正確性驗(yàn)證,則提示表征轉(zhuǎn)換過(guò)程及結(jié)果錯(cuò)誤的第一報(bào)錯(cuò)信息;接收修改結(jié)果,并在所述修改結(jié)果通過(guò)所述正確性驗(yàn)證之后,進(jìn)行所述任一圖形組態(tài)語(yǔ)言層的后續(xù)圖形組態(tài)語(yǔ)言層的語(yǔ)言轉(zhuǎn)換處理。
優(yōu)選地,所述方法還包括:對(duì)所述目標(biāo)語(yǔ)言的程序代碼進(jìn)行驗(yàn)證;若驗(yàn)證結(jié)果為所述目標(biāo)語(yǔ)言的程序代碼正確,則輸出所述目標(biāo)語(yǔ)言的程序代碼。
優(yōu)選地,所述目標(biāo)語(yǔ)言為c語(yǔ)言,所述對(duì)所述目標(biāo)語(yǔ)言的程序代碼進(jìn)行驗(yàn)證包括:判斷c語(yǔ)言的程序代碼是否調(diào)用用于繪制基本圖形元素的函數(shù);若所述c語(yǔ)言的程序代碼調(diào)用用于繪制基本圖形元素的函數(shù),則驗(yàn)證結(jié)果為所述目標(biāo)語(yǔ)言的程序代碼正確;若所述c語(yǔ)言的程序代碼未調(diào)用用于繪制基本圖形元素的函數(shù),則提示表征代碼繪制錯(cuò)誤的第二報(bào)錯(cuò)信息。
優(yōu)選地,所述基本圖形元素包括以下至少之一:點(diǎn)、線段、圓形、矩形、多邊形和位圖。
根據(jù)本發(fā)明的另一方面,提供一種圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置。所述裝置包括:源語(yǔ)言獲取模塊,用于獲取圖形組態(tài)源語(yǔ)言,所述圖形組態(tài)源語(yǔ)言包括m個(gè)圖形組態(tài)對(duì)象的信息,以及所述m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息;關(guān)系確定模塊,用于根據(jù)所述m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息確定所述m個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系;語(yǔ)言層確定模塊,用于按照所述層次關(guān)系,依次確定對(duì)應(yīng)的n個(gè)圖形組態(tài)語(yǔ)言層以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象;語(yǔ)言轉(zhuǎn)換及驗(yàn)證模塊,用于依次對(duì)所述n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換,并對(duì)轉(zhuǎn)換過(guò)程及結(jié)果進(jìn)行正確性驗(yàn)證;代碼翻譯模塊,用于若每個(gè)所述圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)所述正確性驗(yàn)證,則根據(jù)所述轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼;其中,m≥1,n≥1,m≥n,且m和n均為整數(shù)。
優(yōu)選地,所述語(yǔ)言層確定模塊包括:對(duì)象確定單元,用于根據(jù)所述層次關(guān)系確定作為父對(duì)象的圖形組態(tài)對(duì)象,以及作為各級(jí)子對(duì)象的圖形組態(tài)對(duì)象;語(yǔ)言層建立單元,用于分別建立與所述作為父對(duì)象的圖形組態(tài)對(duì)象相應(yīng)的一個(gè)圖形組態(tài)語(yǔ)言層,以及與所述各級(jí)子對(duì)象的圖形組態(tài)對(duì)象相應(yīng)的n-1個(gè)圖形組態(tài)語(yǔ)言層。
優(yōu)選地,所述語(yǔ)言轉(zhuǎn)換及驗(yàn)證模塊用于根據(jù)所述m個(gè)圖形組態(tài)對(duì)象的信息,依次判斷每個(gè)所述圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象是否正確。
優(yōu)選地,所述語(yǔ)言轉(zhuǎn)換及驗(yàn)證模塊用于依次對(duì)所述n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行基本圖形元素拆分。
優(yōu)選地,所述代碼翻譯模塊用于根據(jù)拆分得到的基本圖形元素對(duì)所述n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行代碼繪制,獲得目標(biāo)語(yǔ)言的程序代碼。
優(yōu)選地,所述裝置還包括:報(bào)錯(cuò)信息提示模塊,用于若任一所述圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果未通過(guò)所述正確性驗(yàn)證,則提示表征轉(zhuǎn)換過(guò)程及結(jié)果錯(cuò)誤的第一報(bào)錯(cuò)信息;修改結(jié)果接收模塊,用于接收修改結(jié)果,并在所述修改結(jié)果通過(guò)所述正確性驗(yàn)證之后,進(jìn)行所述任一圖形組態(tài)語(yǔ)言層的后續(xù)圖形組態(tài)語(yǔ)言層的語(yǔ)言轉(zhuǎn)換處理。
優(yōu)選地,所述裝置還包括:代碼驗(yàn)證模塊,用于對(duì)所述目標(biāo)語(yǔ)言的程序代碼進(jìn)行驗(yàn)證;代碼輸出模塊,用于若驗(yàn)證結(jié)果為所述目標(biāo)語(yǔ)言的程序代碼正確,則輸出所述目標(biāo)語(yǔ)言的程序代碼。
優(yōu)選地,所述目標(biāo)語(yǔ)言為c語(yǔ)言,所述代碼驗(yàn)證模塊用于判斷c語(yǔ)言的程序代碼是否調(diào)用用于繪制基本圖形元素的函數(shù);若所述c語(yǔ)言的程序代碼調(diào)用用于繪制基本圖形元素的函數(shù),則驗(yàn)證結(jié)果為所述目標(biāo)語(yǔ)言的程序代碼正確;若所述c語(yǔ)言的程序代碼未調(diào)用用于繪制基本圖形元素的函數(shù),則提示表征代碼繪制錯(cuò)誤的第二報(bào)錯(cuò)信息。
優(yōu)選地,所述基本圖形元素包括以下至少之一:點(diǎn)、線段、圓形、矩形、多邊形和位圖。
根據(jù)本發(fā)明實(shí)施例提供的圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法及裝置,通過(guò)根據(jù)獲取到的圖形組態(tài)源語(yǔ)言中m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息,確定m個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系,按照層次關(guān)系依次確定對(duì)應(yīng)的n個(gè)圖形組態(tài)語(yǔ)言層以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象,進(jìn)一步依次對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換,并對(duì)轉(zhuǎn)換過(guò)程及結(jié)果進(jìn)行正確性驗(yàn)證,若每個(gè)圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)正確性驗(yàn)證,則根據(jù)轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼,從而實(shí)現(xiàn)了由圖形組態(tài)源語(yǔ)言轉(zhuǎn)換為目標(biāo)語(yǔ)言的程序代碼。與現(xiàn)有技術(shù)相比,本發(fā)明在圖形組態(tài)語(yǔ)言轉(zhuǎn)換的過(guò)程中,通過(guò)對(duì)每一圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換中間過(guò)程進(jìn)行正確性驗(yàn)證,以及對(duì)轉(zhuǎn)換結(jié)果的正確性驗(yàn)證,只有在滿足每個(gè)圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)正確性驗(yàn)證的前提下,才完成由圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼的處理。由此,保證了圖形組態(tài)軟件代碼生成工具本身的正確性,進(jìn)而使得生成的代碼的質(zhì)量得到可靠的保證。
本發(fā)明優(yōu)點(diǎn):1、代碼生成器本身經(jīng)過(guò)形式化驗(yàn)證,保證了代碼生成器本身在轉(zhuǎn)換代碼過(guò)程中不會(huì)影響代碼生成器本身的正確性。2、轉(zhuǎn)換所得的目標(biāo)代碼的正確性。代碼生成器除了實(shí)現(xiàn)基本的轉(zhuǎn)換功能外,保證了代碼生成器本身在轉(zhuǎn)換代碼過(guò)程中不會(huì)對(duì)代碼的原始語(yǔ)義進(jìn)行篡改。
附圖說(shuō)明
圖1是示出本發(fā)明實(shí)施例的數(shù)學(xué)原理的示例性示意圖;
圖2是示出本發(fā)明實(shí)施例的基本原理的示例性示意圖;
圖3是示出根據(jù)本發(fā)明實(shí)施例一的圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法的流程圖;
圖4是示出根據(jù)本發(fā)明實(shí)施例二的圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法的流程圖;
圖5是示出根據(jù)本發(fā)明實(shí)施例三的圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置的邏輯框圖;
圖6是示出根據(jù)本發(fā)明實(shí)施例四的圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置的邏輯框圖。
具體實(shí)施方式
本發(fā)明的基本構(gòu)思是,獲取圖形組態(tài)源語(yǔ)言,該圖形組態(tài)源語(yǔ)言包括m個(gè)圖形組態(tài)對(duì)象的信息,以及m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息;根據(jù)m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息確定m個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系;按照層次關(guān)系,依次確定對(duì)應(yīng)的n個(gè)圖形組態(tài)語(yǔ)言層以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象,其中,m≥1,n≥1,m≥n,且m和n均為整數(shù);依次對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換,并對(duì)轉(zhuǎn)換過(guò)程及結(jié)果進(jìn)行正確性驗(yàn)證;若每個(gè)圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)正確性驗(yàn)證,則根據(jù)轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼,保證了圖形組態(tài)軟件代碼生成工具本身的正確性以及生成的代碼的質(zhì)量。
如圖1所示,
這里,sound(p)和sound
≈是單向模擬等價(jià)關(guān)系。
對(duì)于合法的圖形組態(tài)語(yǔ)言gl程序,求值結(jié)果總是確定的,這意味著語(yǔ)義計(jì)算的確定性(在非串行語(yǔ)義的情形,不同求值過(guò)程的結(jié)果也是確定的)。因此,證明上述單向模擬關(guān)系就可以了。
圖2是示出本發(fā)明實(shí)施例的基本原理的示例性示意圖。為了更方便的描述本發(fā)明的基本原理,以五層圖形組態(tài)語(yǔ)言層為例。在實(shí)際應(yīng)用中,圖形組態(tài)語(yǔ)言層依據(jù)圖形組態(tài)對(duì)象的數(shù)量以及圖形組態(tài)對(duì)象之間的層次關(guān)系而定,可以多于或少于5層。
參照?qǐng)D2,首先,獲取圖形組態(tài)源語(yǔ)言;其次,根據(jù)圖形組態(tài)源語(yǔ)言中多個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息,確定多個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系;再次,按照層次關(guān)系,依次確定對(duì)應(yīng)的五個(gè)圖形組態(tài)語(yǔ)言層,也就是圖形組態(tài)語(yǔ)言i層、圖形組態(tài)語(yǔ)言s層、圖形組態(tài)語(yǔ)言q層、圖形組態(tài)語(yǔ)言r層、圖形組態(tài)語(yǔ)言t層,以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象;依次對(duì)五個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換,每一次轉(zhuǎn)換后都進(jìn)行正確性驗(yàn)證,若未通過(guò)正確性驗(yàn)證,則提示報(bào)錯(cuò)信息以使相關(guān)人員進(jìn)行修改,若通過(guò)正確性驗(yàn)證,則繼續(xù)下一層的轉(zhuǎn)換處理,例如圖形組態(tài)語(yǔ)言層i層通過(guò)正確性驗(yàn)證,就進(jìn)行圖形組態(tài)語(yǔ)言s層的轉(zhuǎn)換處理,直至圖形組態(tài)語(yǔ)言t層通過(guò)正確性驗(yàn)證,根據(jù)轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言轉(zhuǎn)換為輕量級(jí)c語(yǔ)言,輸出c源代碼。
下面結(jié)合附圖(若干附圖中相同的標(biāo)號(hào)表示相同的元素)和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)說(shuō)明。以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。
本領(lǐng)域技術(shù)人員可以理解,本發(fā)明中的“第一”、“第二”等術(shù)語(yǔ)僅用于區(qū)別不同步驟、設(shè)備或模塊等,既不代表任何特定技術(shù)含義,也不表示它們之間的必然邏輯順序。
實(shí)施例一
圖3是示出根據(jù)本發(fā)明實(shí)施例一的圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法的流程圖。可在如圖5所示的圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置執(zhí)行所述方法。
參照?qǐng)D3,在步驟s210,獲取圖形組態(tài)源語(yǔ)言,圖形組態(tài)源語(yǔ)言包括m個(gè)圖形組態(tài)對(duì)象的信息,以及m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息。
以核電站為例,假設(shè)有五個(gè)圖形組態(tài)對(duì)象,分別是1號(hào)廠房、1號(hào)反應(yīng)堆、2號(hào)反應(yīng)堆,以及為1號(hào)反應(yīng)堆配置的1號(hào)數(shù)字保護(hù)系統(tǒng)和2號(hào)數(shù)字保護(hù)系統(tǒng),那么,圖形組態(tài)源語(yǔ)言中就包括了上述五個(gè)圖形組態(tài)對(duì)象的信息,以及5個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息。
在步驟s220,根據(jù)m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息確定m個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系。
在步驟s230,按照層次關(guān)系,依次確定對(duì)應(yīng)的n個(gè)圖形組態(tài)語(yǔ)言層以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象。
其中,m≥1,n≥1,m≥n,且m和n均為整數(shù)。
仍以前述五個(gè)圖形組態(tài)對(duì)象為例,前述層次關(guān)系可以是1號(hào)廠房包括兩個(gè)反應(yīng)堆,即1號(hào)反應(yīng)堆和2號(hào)反應(yīng)堆,1號(hào)數(shù)字保護(hù)系統(tǒng)和2號(hào)數(shù)字保護(hù)系統(tǒng)是為1號(hào)反應(yīng)堆配置的,因此,1號(hào)反應(yīng)堆包括1號(hào)數(shù)字保護(hù)系統(tǒng)和2號(hào)數(shù)字保護(hù)系統(tǒng)。
由此,確定的第一個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象即是1號(hào)廠房,如果圖形組態(tài)源語(yǔ)言里有兩個(gè)廠房的信息,也就是說(shuō)還存在2號(hào)廠房,此時(shí)的第一個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象應(yīng)是1號(hào)廠房和2號(hào)廠房。同理,第二個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象對(duì)應(yīng)的圖形組態(tài)對(duì)象就是1號(hào)反應(yīng)堆和2號(hào)反應(yīng)堆,第三個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象對(duì)應(yīng)的圖形組態(tài)對(duì)象就是1號(hào)數(shù)字保護(hù)系統(tǒng)和2號(hào)數(shù)字保護(hù)系統(tǒng)。若圖形組態(tài)源語(yǔ)言包括更多的圖形組態(tài)對(duì)象的信息,可參照前述確定圖形組態(tài)語(yǔ)言層的方式,以此類(lèi)推,在此不做贅述。
在步驟s240,依次對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換,并對(duì)轉(zhuǎn)換過(guò)程及結(jié)果進(jìn)行正確性驗(yàn)證。
具體地,可依次對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行基本圖形元素拆分。這里,基本圖形元素可包括以下至少之一:點(diǎn)、線段、圓形、矩形、多邊形和位圖,但不限于此。比如,將圖形組態(tài)語(yǔ)言中編輯框圖元轉(zhuǎn)換為基本圖形元素線段或者矩形,并將對(duì)應(yīng)基本圖形元素存儲(chǔ)在抽象語(yǔ)法樹(shù)節(jié)點(diǎn)中,再比如,將圖形組態(tài)語(yǔ)言中高級(jí)圖元類(lèi)型趨勢(shì)曲線轉(zhuǎn)換為基本圖形元素點(diǎn)或者線段,并將對(duì)應(yīng)基本圖形元素存儲(chǔ)在抽象語(yǔ)法樹(shù)節(jié)點(diǎn)中,例如,將圖形組態(tài)語(yǔ)言中高級(jí)圖元窗口類(lèi)型轉(zhuǎn)換為基本圖形元素線段和矩形,并將對(duì)應(yīng)基本圖形元素存儲(chǔ)在抽象語(yǔ)法樹(shù)節(jié)點(diǎn)中。
同時(shí),上述正確性驗(yàn)證就是對(duì)轉(zhuǎn)換的中間過(guò)程的驗(yàn)證,以及對(duì)轉(zhuǎn)換結(jié)果的驗(yàn)證,以此保證圖形組態(tài)代碼生成工具本身的質(zhì)量。具體地,根據(jù)m個(gè)圖形組態(tài)對(duì)象的信息,依次判斷每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象是否正確。例如,如果確定的第一個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象除了1號(hào)廠房外,其中還出現(xiàn)了2號(hào)反應(yīng)堆,那么顯然確定出的第一個(gè)圖形組態(tài)語(yǔ)言層是不正確的。
在步驟s250,若每個(gè)圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)正確性驗(yàn)證,則根據(jù)轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼。
具體地,根據(jù)拆分得到的基本圖形元素對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行代碼繪制,獲得目標(biāo)語(yǔ)言的程序代碼。
在實(shí)際應(yīng)用中,以c語(yǔ)言為例,本步驟的目的就是將其中基本圖形元素部分轉(zhuǎn)換為輕量級(jí)c語(yǔ)言的函數(shù)調(diào)用方式,將涉及變量的部分按照賦值運(yùn)算的分類(lèi)轉(zhuǎn)換:結(jié)構(gòu)體和數(shù)組的賦值轉(zhuǎn)換為成gcg_memcpy函數(shù)調(diào)用;普通賦值轉(zhuǎn)換為成assign賦值語(yǔ)句。
本發(fā)明實(shí)施例提供的圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法,通過(guò)根據(jù)獲取到的圖形組態(tài)源語(yǔ)言中m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息,確定m個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系,按照層次關(guān)系依次確定對(duì)應(yīng)的n個(gè)圖形組態(tài)語(yǔ)言層以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象,進(jìn)一步依次對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換,并對(duì)轉(zhuǎn)換過(guò)程及結(jié)果進(jìn)行正確性驗(yàn)證,若每個(gè)圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)正確性驗(yàn)證,則根據(jù)轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼,實(shí)現(xiàn)了由圖形組態(tài)源語(yǔ)言轉(zhuǎn)換為目標(biāo)語(yǔ)言的程序代碼,從而保證了圖形組態(tài)軟件代碼生成工具本身的正確性以及生成的代碼的質(zhì)量。
實(shí)施例二
圖4是示出根據(jù)本發(fā)明實(shí)施例二的圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法的流程圖,所述實(shí)施例可視為圖2的又一種具體的實(shí)現(xiàn)方案??稍谌鐖D5所示的圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置執(zhí)行所述方法。
參照?qǐng)D4,在步驟s301,獲取圖形組態(tài)源語(yǔ)言,圖形組態(tài)源語(yǔ)言包括m個(gè)圖形組態(tài)對(duì)象的信息,以及m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息。
其中,上述步驟s301的步驟內(nèi)容與上述實(shí)施例一中步驟s210的步驟內(nèi)容相同,在此不再贅述。
在步驟s302,根據(jù)m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息確定m個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系。
其中,上述步驟s302的步驟內(nèi)容與上述實(shí)施例一中步驟s220的步驟內(nèi)容相同,在此不再贅述。
在步驟s303,根據(jù)層次關(guān)系確定作為父對(duì)象的圖形組態(tài)對(duì)象,以及作為各級(jí)子對(duì)象的圖形組態(tài)對(duì)象。
舉例來(lái)說(shuō),實(shí)施例一中示例出的1號(hào)反應(yīng)堆和2號(hào)反應(yīng)堆屬于1號(hào)廠房的下一層,由此,1號(hào)廠房可稱為父對(duì)象,相應(yīng)地,1號(hào)反應(yīng)堆和2號(hào)反應(yīng)堆可稱為第一級(jí)子對(duì)象。同理,1號(hào)數(shù)字保護(hù)系統(tǒng)和2號(hào)數(shù)字保護(hù)系統(tǒng)屬于1號(hào)反應(yīng)堆的下一層,由此,1號(hào)數(shù)字保護(hù)系統(tǒng)和2號(hào)數(shù)字保護(hù)系統(tǒng)可稱為第二級(jí)子對(duì)象。為后續(xù)步驟中圖形組態(tài)語(yǔ)言層的建立提供依據(jù)。
在步驟s304,分別建立與作為父對(duì)象的圖形組態(tài)對(duì)象相應(yīng)的一個(gè)圖形組態(tài)語(yǔ)言層,以及與各級(jí)子對(duì)象的圖形組態(tài)對(duì)象相應(yīng)的n-1個(gè)圖形組態(tài)語(yǔ)言層。
仍以前述廠房、反應(yīng)堆和數(shù)字保護(hù)系統(tǒng)為例,經(jīng)過(guò)步驟s303的處理,可建立與1號(hào)廠房相應(yīng)的一個(gè)圖形組態(tài)語(yǔ)言層,建立與1號(hào)反應(yīng)堆和2號(hào)反應(yīng)堆相應(yīng)的一個(gè)圖形組態(tài)語(yǔ)言層,以及與1號(hào)數(shù)字保護(hù)系統(tǒng)和2號(hào)數(shù)字保護(hù)系統(tǒng)相應(yīng)的一個(gè)圖形組態(tài)語(yǔ)言層??梢?jiàn),有幾級(jí)對(duì)象(父對(duì)象記為一級(jí))就建立幾層圖形組態(tài)語(yǔ)言層。
在步驟s305,依次對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行基本圖形元素拆分,并根據(jù)m個(gè)圖形組態(tài)對(duì)象的信息,依次判斷每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象是否正確。
這里,基本圖形元素可包括以下至少之一:點(diǎn)、線段、圓形、矩形、多邊形和位圖,但不限于此。
在步驟s306,若任一圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果未通過(guò)正確性驗(yàn)證,則提示表征轉(zhuǎn)換過(guò)程及結(jié)果錯(cuò)誤的第一報(bào)錯(cuò)信息。
在步驟s307,接收修改結(jié)果,并在修改結(jié)果通過(guò)正確性驗(yàn)證之后,進(jìn)行任一圖形組態(tài)語(yǔ)言層的后續(xù)圖形組態(tài)語(yǔ)言層的語(yǔ)言轉(zhuǎn)換處理。
在步驟s308,若每個(gè)圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)正確性驗(yàn)證,則根據(jù)拆分得到的基本圖形元素對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行代碼繪制,獲得目標(biāo)語(yǔ)言的程序代碼。
在步驟s309,對(duì)目標(biāo)語(yǔ)言的程序代碼進(jìn)行驗(yàn)證。
需要說(shuō)明的是,目標(biāo)語(yǔ)言可以為c語(yǔ)言,但不限于此。相應(yīng)地,根據(jù)本發(fā)明示例性實(shí)施例,步驟s309可以包括:判斷c語(yǔ)言的程序代碼是否調(diào)用用于繪制基本圖形元素的函數(shù);若c語(yǔ)言的程序代碼調(diào)用用于繪制基本圖形元素的函數(shù),則驗(yàn)證結(jié)果為目標(biāo)語(yǔ)言的程序代碼正確;若c語(yǔ)言的程序代碼未調(diào)用用于繪制基本圖形元素的函數(shù),則提示表征代碼繪制錯(cuò)誤的第二報(bào)錯(cuò)信息。
在實(shí)際應(yīng)用中,提示第二報(bào)錯(cuò)信息后,也可以接收修改結(jié)果,并在修改結(jié)果通過(guò)程序代碼的驗(yàn)證后,輸出目標(biāo)語(yǔ)言的程序代碼。
在步驟s310,若驗(yàn)證結(jié)果為目標(biāo)語(yǔ)言的程序代碼正確,則輸出目標(biāo)語(yǔ)言的程序代碼。
本發(fā)明實(shí)施例提供的圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法,具有以下技術(shù)效果:
一方面,以根據(jù)層次關(guān)系確定出的作為父對(duì)象以及各級(jí)子對(duì)象的的圖形組態(tài)對(duì)象為依據(jù),使得建立的圖形組態(tài)語(yǔ)言層更加準(zhǔn)確;
另一方面,通過(guò)對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行基本圖形元素拆分,根據(jù)拆分得到的基本圖形元素對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行代碼繪制,同時(shí),對(duì)目標(biāo)語(yǔ)言的程序代碼進(jìn)行驗(yàn)證,從而保證了程序代碼的質(zhì)量;
再一方面,在本實(shí)施例中,在任一圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果未通過(guò)正確性驗(yàn)證,提示報(bào)錯(cuò)信息以使相關(guān)人員進(jìn)行修改,只有在修改正確后繼續(xù)進(jìn)行后續(xù)圖形組態(tài)語(yǔ)言層的語(yǔ)言轉(zhuǎn)換處理,進(jìn)一步保證了圖形組態(tài)軟件代碼生成工具本身的正確性以及生成的代碼的質(zhì)量。
實(shí)施例三
基于相同的技術(shù)構(gòu)思,圖5是示出根據(jù)本發(fā)明實(shí)施例三的圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置的邏輯框圖??捎靡詧?zhí)行如實(shí)施例一所述的圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法流程。
參照?qǐng)D5,該圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置包括源語(yǔ)言獲取模塊410、關(guān)系確定模塊420、語(yǔ)言層確定模塊430、語(yǔ)言轉(zhuǎn)換及驗(yàn)證模塊440和代碼翻譯模塊450。
源語(yǔ)言獲取模塊410用于獲取圖形組態(tài)源語(yǔ)言,圖形組態(tài)源語(yǔ)言包括m個(gè)圖形組態(tài)對(duì)象的信息,以及m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息。
關(guān)系確定模塊420用于根據(jù)m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息確定m個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系。
語(yǔ)言層確定模塊430用于按照層次關(guān)系,依次確定對(duì)應(yīng)的n個(gè)圖形組態(tài)語(yǔ)言層以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象。
語(yǔ)言轉(zhuǎn)換及驗(yàn)證模塊440用于依次對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換,并對(duì)轉(zhuǎn)換過(guò)程及結(jié)果進(jìn)行正確性驗(yàn)證。
代碼翻譯模塊450用于若每個(gè)圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)正確性驗(yàn)證,則根據(jù)轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼。
其中,m≥1,n≥1,m≥n,且m和n均為整數(shù)。
本發(fā)明實(shí)施例提供的圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置,通過(guò)根據(jù)獲取到的圖形組態(tài)源語(yǔ)言中m個(gè)圖形組態(tài)對(duì)象之間的關(guān)系的信息,確定m個(gè)圖形組態(tài)對(duì)象之間的層次關(guān)系,按照層次關(guān)系依次確定對(duì)應(yīng)的n個(gè)圖形組態(tài)語(yǔ)言層以及每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象,進(jìn)一步依次對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行語(yǔ)言轉(zhuǎn)換,并對(duì)轉(zhuǎn)換過(guò)程及結(jié)果進(jìn)行正確性驗(yàn)證,若每個(gè)圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果均通過(guò)正確性驗(yàn)證,則根據(jù)轉(zhuǎn)換結(jié)果將圖形組態(tài)源語(yǔ)言翻譯為目標(biāo)語(yǔ)言的程序代碼,實(shí)現(xiàn)了由圖形組態(tài)源語(yǔ)言轉(zhuǎn)換為目標(biāo)語(yǔ)言的程序代碼,從而保證了圖形組態(tài)軟件代碼生成工具本身的正確性以及生成的代碼的質(zhì)量。
實(shí)施例四
基于相同的技術(shù)構(gòu)思,圖6是示出根據(jù)本發(fā)明實(shí)施例四的圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置的邏輯框圖??捎靡詧?zhí)行如實(shí)施例二所述的圖形組態(tài)語(yǔ)言轉(zhuǎn)換方法流程。
參照?qǐng)D6,語(yǔ)言層確定模塊430可具體包括:
對(duì)象確定單元4301用于根據(jù)層次關(guān)系確定作為父對(duì)象的圖形組態(tài)對(duì)象,以及作為各級(jí)子對(duì)象的圖形組態(tài)對(duì)象。
語(yǔ)言層建立單元4302用于分別建立與作為父對(duì)象的圖形組態(tài)對(duì)象相應(yīng)的一個(gè)圖形組態(tài)語(yǔ)言層,以及與各級(jí)子對(duì)象的圖形組態(tài)對(duì)象相應(yīng)的n-1個(gè)圖形組態(tài)語(yǔ)言層。
優(yōu)選地,語(yǔ)言轉(zhuǎn)換及驗(yàn)證模塊440可用于根據(jù)m個(gè)圖形組態(tài)對(duì)象的信息,依次判斷每個(gè)圖形組態(tài)語(yǔ)言層對(duì)應(yīng)的圖形組態(tài)對(duì)象是否正確。
進(jìn)一步地,語(yǔ)言轉(zhuǎn)換及驗(yàn)證模塊440可用于依次對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行基本圖形元素拆分。
這里,基本圖形元素可包括以下至少之一:點(diǎn)、線段、圓形、矩形、多邊形和位圖,但不限于此。
優(yōu)選地,代碼翻譯模塊450可用于根據(jù)拆分得到的基本圖形元素對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行代碼繪制,獲得目標(biāo)語(yǔ)言的程序代碼。
進(jìn)一步地,該圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置還可以包括:
報(bào)錯(cuò)信息提示模塊460用于若任一圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果未通過(guò)正確性驗(yàn)證,則提示表征轉(zhuǎn)換過(guò)程及結(jié)果錯(cuò)誤的第一報(bào)錯(cuò)信息。
修改結(jié)果接收模塊470用于接收修改結(jié)果,并在修改結(jié)果通過(guò)正確性驗(yàn)證之后,進(jìn)行任一圖形組態(tài)語(yǔ)言層的后續(xù)圖形組態(tài)語(yǔ)言層的語(yǔ)言轉(zhuǎn)換處理。
更進(jìn)一步地,該圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置還可以包括:
代碼驗(yàn)證模塊480用于對(duì)目標(biāo)語(yǔ)言的程序代碼進(jìn)行驗(yàn)證;
代碼輸出模塊490用于若驗(yàn)證結(jié)果為目標(biāo)語(yǔ)言的程序代碼正確,則輸出目標(biāo)語(yǔ)言的程序代碼。
該目標(biāo)語(yǔ)言具體可為c語(yǔ)言,相應(yīng)地,代碼驗(yàn)證模塊480可用于判斷c語(yǔ)言的程序代碼是否調(diào)用用于繪制基本圖形元素的函數(shù);若c語(yǔ)言的程序代碼調(diào)用用于繪制基本圖形元素的函數(shù),則驗(yàn)證結(jié)果為目標(biāo)語(yǔ)言的程序代碼正確;若c語(yǔ)言的程序代碼未調(diào)用用于繪制基本圖形元素的函數(shù),則提示表征代碼繪制錯(cuò)誤的第二報(bào)錯(cuò)信息。
本發(fā)明實(shí)施例提供的圖形組態(tài)語(yǔ)言轉(zhuǎn)換裝置,具有以下技術(shù)效果:
第一,以根據(jù)層次關(guān)系確定出的作為父對(duì)象以及各級(jí)子對(duì)象的的圖形組態(tài)對(duì)象為依據(jù),使得建立的圖形組態(tài)語(yǔ)言層更加準(zhǔn)確;
第二,通過(guò)對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行基本圖形元素拆分,根據(jù)拆分得到的基本圖形元素對(duì)n個(gè)圖形組態(tài)語(yǔ)言層各自對(duì)應(yīng)的圖形組態(tài)對(duì)象進(jìn)行代碼繪制,同時(shí),對(duì)目標(biāo)語(yǔ)言的程序代碼進(jìn)行驗(yàn)證,從而保證了程序代碼的質(zhì)量;
第三,在本實(shí)施例中,在任一圖形組態(tài)語(yǔ)言層的轉(zhuǎn)換過(guò)程及結(jié)果未通過(guò)正確性驗(yàn)證,提示報(bào)錯(cuò)信息以使相關(guān)人員進(jìn)行修改,只有在修改正確后繼續(xù)進(jìn)行后續(xù)圖形組態(tài)語(yǔ)言層的語(yǔ)言轉(zhuǎn)換處理,進(jìn)一步保證了圖形組態(tài)軟件代碼生成工具本身的正確性以及生成的代碼的質(zhì)量。
需要指出,根據(jù)實(shí)施的需要,可將本申請(qǐng)中描述的各個(gè)步驟/部件拆分為更多步驟/部件,也可將兩個(gè)或多個(gè)步驟/部件或者步驟/部件的部分操作組合成新的步驟/部件,以實(shí)現(xiàn)本發(fā)明的目的。
上述根據(jù)本發(fā)明的方法可在硬件、固件中實(shí)現(xiàn),或者被實(shí)現(xiàn)為可存儲(chǔ)在記錄介質(zhì)(諸如cdrom、ram、軟盤(pán)、硬盤(pán)或磁光盤(pán))中的軟件或計(jì)算機(jī)代碼,或者被實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)下載的原始存儲(chǔ)在遠(yuǎn)程記錄介質(zhì)或非暫時(shí)機(jī)器可讀介質(zhì)中并將被存儲(chǔ)在本地記錄介質(zhì)中的計(jì)算機(jī)代碼,從而在此描述的方法可被存儲(chǔ)在使用通用計(jì)算機(jī)、專(zhuān)用處理器或者可編程或?qū)S糜布?諸如asic或fpga)的記錄介質(zhì)上的這樣的軟件處理。可以理解,計(jì)算機(jī)、處理器、微處理器控制器或可編程硬件包括可存儲(chǔ)或接收軟件或計(jì)算機(jī)代碼的存儲(chǔ)組件(例如,ram、rom、閃存等),當(dāng)所述軟件或計(jì)算機(jī)代碼被計(jì)算機(jī)、處理器或硬件訪問(wèn)且執(zhí)行時(shí),實(shí)現(xiàn)在此描述的處理方法。此外,當(dāng)通用計(jì)算機(jī)訪問(wèn)用于實(shí)現(xiàn)在此示出的處理的代碼時(shí),代碼的執(zhí)行將通用計(jì)算機(jī)轉(zhuǎn)換為用于執(zhí)行在此示出的處理的專(zhuān)用計(jì)算機(jī)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。