[發(fā)明專利]一種解析并執(zhí)行程序語言方法及解釋裝置有效
| 申請?zhí)枺?/td> | 201210593578.3 | 申請日: | 2012-12-31 |
| 公開(公告)號: | CN103077064A | 公開(公告)日: | 2013-05-01 |
| 發(fā)明(設(shè)計)人: | 王麗 | 申請(專利權(quán))人: | 北京配天大富精密機械有限公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 深圳市威世博知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44280 | 代理人: | 何青瓦 |
| 地址: | 100085 北京市海淀區(qū)信*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 解析 執(zhí)行 程序語言 方法 解釋 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機語言技術(shù)領(lǐng)域,特別是涉及一種解析并執(zhí)行程序語言的方法及解釋裝置。
背景技術(shù)
隨著技術(shù)不斷發(fā)展,人類逐漸進入自動化的社會。在工業(yè)領(lǐng)域,人們往往使用工業(yè)機器人或者數(shù)控系統(tǒng)完成一些高難度工作或進行生產(chǎn)作業(yè)。而不管是工業(yè)機器人還是數(shù)控系統(tǒng),都是通過用戶輸入指令,實現(xiàn)某一動作的自動執(zhí)行。而工業(yè)機器人或數(shù)控系統(tǒng)為實現(xiàn)根據(jù)用戶的要求執(zhí)行動作的話,需要使用解釋器將用戶輸入指令翻譯成可識別的控制命令,并能根據(jù)該可識別的控制命令,指示系統(tǒng)執(zhí)行相應(yīng)的動作。例如,數(shù)控系統(tǒng)中的解釋器通過以程序段為單位處理用戶加工程序,將其中零件的輪廓信息(如起點、終點、直線或圓弧)、工藝參數(shù)和其他輔助功能信息,翻譯成實際的機床操作命令序列,使得數(shù)控系統(tǒng)中的加工部件根據(jù)解釋器發(fā)送的機床操作命令序列,執(zhí)行實際加工動作。
在現(xiàn)有技術(shù)中,對用于對程序進行解析并執(zhí)行的解釋器一般采用行編譯方式,即獲取一行代碼,進行解析并執(zhí)行后,再獲取下一行代碼。故解釋器每次的解析范圍僅局限于一行,也就是說,解釋器只能根據(jù)一行代碼的信息,進行解析并執(zhí)行。然而,許多代碼指令卻是需要根據(jù)其他行的信息來實現(xiàn)的。例如,變量運算語句、函數(shù)調(diào)用語句及if-else-endif、while-endwhile等流程控制語句,這些語句都是需要聯(lián)系上下行程序的。而現(xiàn)有一般解釋器卻每次僅依靠一行代碼,是無法支持這些語句的。
發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是提供一種解析并執(zhí)行程序語言的方法及解釋裝置,能夠?qū)崿F(xiàn)對上下行間有關(guān)系的代碼的解析。
為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是:提供一種解析并執(zhí)行程序語言的方法,包括以下步驟:解釋器獲取一行代碼;對所述代碼進行解析,以獲得解析結(jié)果;如果所述解析結(jié)果包括變量時,將所述變量的信息存儲在變量表中、或修改所述變量表中的所述變量的信息、或從所述變量表中獲得所述變量的信息;如果所述解析結(jié)果包括程序跳轉(zhuǎn)的語句時,記錄調(diào)用程序的程序運行信息以及程序調(diào)用軌跡,以實現(xiàn)程序調(diào)用;如果所述解析結(jié)果包括控制語句時,記錄控制語句信息以及控制語句嵌套軌跡,以實現(xiàn)控制語句的運行。
其中,所述程序運行信息包括程序的程序名、起始行號、運行行號、剩余循環(huán)次數(shù)及所在文件的文件句柄。
其中,所述如果解析結(jié)果包括程序跳轉(zhuǎn)的語句時,記錄調(diào)用程序的程序運行信息以及程序調(diào)用軌跡,以實現(xiàn)程序調(diào)用的步驟包括:如果解析結(jié)果包括程序調(diào)用語句時,進入調(diào)用的子程序,并記錄所述子程序的程序運行信息,以及程序調(diào)用軌跡;如果所述解析結(jié)果包括程序結(jié)束標(biāo)識時,根據(jù)所述程序結(jié)束標(biāo)識所在的程序的剩余循環(huán)次數(shù),判斷是否結(jié)束所述程序,如果是,則根據(jù)所述程序調(diào)用軌跡返回上一級程序,并重新記錄所述程序調(diào)用軌跡;如果不是,則根據(jù)所述程序運行信息返回所述程序的起始行,并重新記錄所述程序運行信息。
其中,所述控制語句信息包括所述控制語句的類型、所在程序的文件名、起始行號、條件表達式及運行標(biāo)識,其中,所述運行標(biāo)識為控制語句中的條件表達式是否成立的標(biāo)識。
其中,所述如果解析結(jié)果包括控制語句時,記錄控制語句信息以及控制語句嵌套軌跡,以實現(xiàn)控制語句的運行的步驟包括:如果解析結(jié)果包括控制語句起始標(biāo)識時,記錄控制語句信息以及控制語句嵌套軌跡;如果解析結(jié)果包括控制語句結(jié)束標(biāo)識時,根據(jù)所述控制語句嵌套軌跡讀取正在運行的控制語句的類型,判斷所述控制語句的類型與所述控制語句結(jié)束標(biāo)識是否匹配,如果匹配,則根據(jù)控制語句信息,判斷是否結(jié)束所述控制語句;如果是,則結(jié)束所述控制語句,并重新記錄控制語句嵌套軌跡;如果不是,則根據(jù)所述控制語句信息返回所述控制語句的起始行,并重新記錄所述控制語句信息。
其中,所述控制語句包括選擇控制語句和循環(huán)控制語句。
其中,所述變量表包括系統(tǒng)變量表、全局變量表及局部變量表,其中,所述系統(tǒng)變量表用于記錄系統(tǒng)變量的信息,所述全局變量表用于記錄全局變量的信息,所述局部變量表用于記錄局部變量的信息。
其中,所述解釋器獲取一行代碼的步驟包括:解釋器讀取當(dāng)前運行的程序的程序運行信息,根據(jù)所述程序運行信息,獲取所述程序的一行代碼。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京配天大富精密機械有限公司,未經(jīng)北京配天大富精密機械有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210593578.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種基于正滲透和膜蒸餾的廢水處理方法及裝置
- 下一篇:多功能持物鑷
- 以注射方式執(zhí)行死刑的自動執(zhí)行車的執(zhí)行床
- 過程執(zhí)行裝置、過程執(zhí)行方法以及過程執(zhí)行程序
- 用以執(zhí)行跳舞電子游戲的執(zhí)行系統(tǒng)及其執(zhí)行方法
- 策略執(zhí)行系統(tǒng)及其執(zhí)行方法
- 腳本執(zhí)行系統(tǒng)和腳本執(zhí)行方法
- 命令執(zhí)行設(shè)備、命令執(zhí)行系統(tǒng)、命令執(zhí)行方法以及命令執(zhí)行程序
- 程序執(zhí)行裝置、程序執(zhí)行系統(tǒng)以及程序執(zhí)行方法
- 處理執(zhí)行設(shè)備和由該處理執(zhí)行設(shè)備執(zhí)行的方法
- 有序任務(wù)的執(zhí)行方法、執(zhí)行裝置和執(zhí)行系統(tǒng)
- 執(zhí)行器(閥門執(zhí)行器)





