[發(fā)明專利]一種編譯器、編譯方法和追蹤方法及DCS控制器在審
| 申請(qǐng)?zhí)枺?/td> | 201910768902.2 | 申請(qǐng)日: | 2019-08-20 |
| 公開(公告)號(hào): | CN110471670A | 公開(公告)日: | 2019-11-19 |
| 發(fā)明(設(shè)計(jì))人: | 王欣;黃玲;李蒙 | 申請(qǐng)(專利權(quán))人: | 杭州和利時(shí)自動(dòng)化有限公司;北京和利時(shí)系統(tǒng)工程有限公司 |
| 主分類號(hào): | G06F8/41 | 分類號(hào): | G06F8/41 |
| 代理公司: | 11227 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 | 代理人: | 王云曉<國際申請(qǐng)>=<國際公布>=<進(jìn)入 |
| 地址: | 310018 浙江省杭州市經(jīng)*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 中間代碼 目標(biāo)代碼 錯(cuò)誤跟蹤 更新 追蹤 申請(qǐng) 定位故障原因 源代碼 源代碼編譯 插入模塊 程序組織 詞法分析 代碼優(yōu)化 單位轉(zhuǎn)化 獲取模塊 生成模塊 優(yōu)化模塊 語法分析 語義分析 追蹤信息 組態(tài)邏輯 編譯器 加載 編譯 解析 優(yōu)化 | ||
1.一種編譯器,其特征在于,包括:
中間代碼獲取模塊,用于將源代碼依次進(jìn)行詞法分析、語法分析、語義分析,得到以程序組織單元為單位轉(zhuǎn)化的中間代碼;
錯(cuò)誤跟蹤邏輯插入模塊,用于解析所述中間代碼,并插入錯(cuò)誤跟蹤邏輯,得到更新中間代碼;
優(yōu)化模塊,用于將所述更新中間代碼執(zhí)行代碼優(yōu)化,得到優(yōu)化更新中間代碼;
目標(biāo)代碼生成模塊,用于利用所述優(yōu)化更新中間代碼生成目標(biāo)代碼。
2.根據(jù)權(quán)利要求1所述的編譯器,其特征在于,所述中間代碼是語法森林,所述語法森林包括每個(gè)所述程序組織單元對(duì)應(yīng)的層語法森林,且每個(gè)層語法森林包括多個(gè)語法樹。
3.根據(jù)權(quán)利要求2所述的編譯器,其特征在于,所述錯(cuò)誤跟蹤邏輯插入模塊,包括:
標(biāo)記單元,用于遍歷所述語法森林,標(biāo)記所述語法森林的所有的所述語法樹的位置;
確定單元,用于確定標(biāo)記有位置的語法樹的語法樹類型;
更新中間代碼獲取單元,用于按照所述語法樹類型插入預(yù)設(shè)函數(shù)調(diào)用語法樹,得到所述更新中間代碼。
4.根據(jù)權(quán)利要求2所述的編譯器,其特征在于,所述更新中間代碼獲取單元,包括:
插入子單元,用于當(dāng)所述語法樹類型是順序結(jié)構(gòu)語法樹時(shí),在所述順序結(jié)構(gòu)語法樹的開始節(jié)點(diǎn)與所述開始節(jié)點(diǎn)的原始右兄弟節(jié)點(diǎn)之間插入順序函數(shù)調(diào)用語法樹的根節(jié)點(diǎn),其中,所述根節(jié)點(diǎn)是所述開始節(jié)點(diǎn)的右兄弟節(jié)點(diǎn)、所述開始節(jié)點(diǎn)的原始右兄弟節(jié)點(diǎn)的左兄弟節(jié)點(diǎn);
其中,所述順序函數(shù)調(diào)用語法樹包括所述根節(jié)點(diǎn),所述根節(jié)點(diǎn)的左子節(jié)點(diǎn)用于接收輸入?yún)?shù),所述根節(jié)點(diǎn)的右子節(jié)點(diǎn)用于保存邏輯追蹤數(shù)據(jù)。
5.根據(jù)權(quán)利要求2所述的編譯器,其特征在于,所述更新中間代碼獲取單元,包括:
插入子單元,用于當(dāng)所述語法樹類型是選擇結(jié)構(gòu)語法樹,在所述選擇結(jié)構(gòu)語法樹的所有中子節(jié)點(diǎn)的左兄弟節(jié)點(diǎn)處插入選擇函數(shù)調(diào)用語法樹的根節(jié)點(diǎn),其中,所述根節(jié)點(diǎn)是選擇結(jié)構(gòu)語法樹根節(jié)點(diǎn)的子節(jié)點(diǎn);
其中,所述選擇函數(shù)調(diào)用語法樹包括所述根節(jié)點(diǎn),所述根節(jié)點(diǎn)的左子節(jié)點(diǎn)用于接收輸入?yún)?shù),所述根節(jié)點(diǎn)的右子節(jié)點(diǎn)用于保存邏輯追蹤信息。
6.根據(jù)權(quán)利要求2所述的編譯器,其特征在于,所述更新中間代碼獲取單元,包括:
插入子單元,用于當(dāng)所述語法樹類型是循環(huán)結(jié)構(gòu)語法樹,在所述循環(huán)結(jié)構(gòu)語法樹的循環(huán)體子節(jié)點(diǎn)的左兄弟節(jié)點(diǎn)處插入循環(huán)函數(shù)調(diào)用語法樹的根節(jié)點(diǎn),其中,所述根節(jié)點(diǎn)是循環(huán)結(jié)構(gòu)語法樹根節(jié)點(diǎn)的子節(jié)點(diǎn);
其中,所述循環(huán)函數(shù)調(diào)用語法樹包括所述根節(jié)點(diǎn),所述根節(jié)點(diǎn)的左子節(jié)點(diǎn)用于接收輸入?yún)?shù),所述根節(jié)點(diǎn)的右子節(jié)點(diǎn)用于保存邏輯追蹤信息。
7.根據(jù)權(quán)利要求1至6任一項(xiàng)所述的編譯器,其特征在于,所述優(yōu)化模塊,包括:
優(yōu)化單元,用于將所述更新中間代碼分配至多個(gè)線程,以便執(zhí)行代碼優(yōu)化,得到所述優(yōu)化更新中間代碼。
8.一種編譯方法,其特征在于,包括:
將源代碼依次進(jìn)行詞法分析、語法分析、語義分析,得到以程序組織單元為單位轉(zhuǎn)化的中間代碼;
解析所述中間代碼,并插入錯(cuò)誤跟蹤邏輯,得到更新中間代碼;
將所述更新中間代碼執(zhí)行代碼優(yōu)化,得到優(yōu)化更新中間代碼;
利用所述優(yōu)化更新中間代碼生成目標(biāo)代碼。
9.一種追蹤方法,其特征在于,包括:
加載如權(quán)利要求8所述的編譯方法得到的目標(biāo)代碼;
獲取組態(tài)邏輯的邏輯追蹤數(shù)據(jù),生成錯(cuò)誤追蹤信息;
根據(jù)所述錯(cuò)誤追蹤信息,定位故障原因。
10.一種DCS控制器,其特征在于,包括:
加載模塊,用于加載如權(quán)利要求8所述的編譯方法得到的目標(biāo)代碼;
錯(cuò)誤追蹤信息生成模塊,用于獲取組態(tài)邏輯的邏輯追蹤數(shù)據(jù),生成錯(cuò)誤追蹤信息;
故障原因定位模塊,用于根據(jù)所述錯(cuò)誤追蹤信息,定位故障原因。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州和利時(shí)自動(dòng)化有限公司;北京和利時(shí)系統(tǒng)工程有限公司,未經(jīng)杭州和利時(shí)自動(dòng)化有限公司;北京和利時(shí)系統(tǒng)工程有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910768902.2/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 編譯器裝置、編譯器方法和編譯器程序
- 可編程邏輯控制器用程序的創(chuàng)建支持裝置和創(chuàng)建支持方法
- 一種代碼執(zhí)行方法及裝置
- 一種基于代數(shù)演算的中間代碼優(yōu)化系統(tǒng)
- 基于中間代碼的iOS應(yīng)用程序處理方法、系統(tǒng)及介質(zhì)
- 用于測試代碼文件的方法和裝置
- 一種編譯器、編譯方法和追蹤方法及DCS控制器
- SAS語言編譯方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 深度學(xué)習(xí)模型的執(zhí)行代碼的確定方法、裝置及存儲(chǔ)介質(zhì)
- 基于Flutter的代碼添加方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 編譯源代碼為目標(biāo)代碼及執(zhí)行目標(biāo)代碼的方法
- 一種航空機(jī)載軟件中源代碼與目標(biāo)代碼一致性的分析方法
- 一種代碼檢測方法及裝置
- 一種代碼修復(fù)案例獲取方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼管理方法和終端
- 文檔代碼執(zhí)行方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼量統(tǒng)計(jì)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 目標(biāo)代碼提取方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 代碼測試方法及裝置
- 編譯源代碼為目標(biāo)代碼及執(zhí)行目標(biāo)代碼的方法
- 虛擬層系統(tǒng)中的故障跟蹤的方法和設(shè)備
- 聚焦錯(cuò)誤信號(hào)和跟蹤錯(cuò)誤信號(hào)的干涉去除裝置和方法
- 光盤驅(qū)動(dòng)器拾取器控制裝置與控制方法
- 光盤裝置中跟蹤錯(cuò)誤增益的調(diào)整方法
- 用于跟蹤文件的軟錯(cuò)誤收集的方法和系統(tǒng)
- 光學(xué)信息記錄媒體及其檢查方法和檢查裝置、及信息記錄方法
- 動(dòng)態(tài)訂單工作流模板實(shí)例器跟蹤系統(tǒng)
- 航拍視頻自動(dòng)目標(biāo)跟蹤方法
- 一種衡量信息的確定方法、裝置及電子設(shè)備
- 數(shù)據(jù)表的檢查方法及裝置、電子設(shè)備、存儲(chǔ)介質(zhì)





