[發明專利]一種跨平臺的多語言編譯方法和超輕量物聯網虛擬機在審
| 申請號: | 202111038252.X | 申請日: | 2021-09-06 |
| 公開(公告)號: | CN113703779A | 公開(公告)日: | 2021-11-26 |
| 發明(設計)人: | 王喆 | 申請(專利權)人: | 武漢市字節碼科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F9/455;G16Y30/00 |
| 代理公司: | 武漢惠創知識產權代理事務所(普通合伙) 42243 | 代理人: | 陳薇 |
| 地址: | 430074 湖北省武漢市洪山區民*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 平臺 語言 編譯 方法 超輕量物 聯網 虛擬機 | ||
本發明涉及一種跨平臺的多語言編譯方法和超輕量物聯網虛擬機,方法包括以下步驟:通過通用語法前端解析器將高級編程語言形成的源代碼轉化成預設格式的中間碼;通過編譯器將所述中間碼編譯成預設格式的字節碼;判斷是否是跨語言加載,并結合目標加載時間加載所述預設格式的中間碼或所述預設格式的字節碼并執行,輸出執行結果。本發明利用超輕量物聯網虛擬機執行一套標準、可擴展的字節碼格式,不僅可以滿足不同編程語言的語法特性,進行多語言混合開發,而且通過將不同語言翻譯成更為抽象的中間碼,減小了編譯體積和占用內存,方便在小型化物聯網終端上使用。
技術領域
本發明涉及軟件開發領域,尤其涉及一種跨平臺的多語言編譯方法和超輕量物聯網虛擬機。
背景技術
物聯網是把所有物品通過信息傳感設備與互聯網連接起來,進行信息交換,即物物相息,以實現智能化識別和管理。近幾年物聯網發展越來越快,各種物聯網設備也在我們日常生活中越來越常見,比如智能家居、智能穿戴設備等等。目前使用在物聯網領域的常用軟件開發語言包括Python語言、JavaScript語言、Lua語言、HTML語言、CSS語言和QML語言等等,很多情況下,一個軟件開發平臺需要同時采用上述多種語言,因此需要具備多語言混合開發的能力。同時,隨著物聯網設備的小型化發展趨勢,智能儀表、智能小家電等較多運用單片機+無線模塊方式連接物聯網平臺,因此對單片機上軟件開發平臺的軟件編譯體積以及內存占用的要求也越來越高,目前的常用軟件開發方法和平臺難以直接用于小型化的物聯網設備上。
發明內容
本發明提供了一種跨平臺的多語言編譯方法和超輕量物聯網虛擬機,解決了以上所述的技術問題。
本發明解決上述技術問題的技術方案如下:一種跨平臺的多語言編譯方法,包括以下步驟:
步驟1,通過通用語法前端解析器將高級編程語言形成的源代碼轉化成預設格式的中間碼;
步驟2,通過編譯器將所述中間碼編譯成預設格式的字節碼;
步驟3,判斷是否是跨語言加載,并結合目標加載時間加載所述預設格式的中間碼或預設格式的字節碼并執行,輸出執行結果。
進一步的,所述高級編程語言包括Python語言、JavaScript語言、Lua語言、HTML語言、CSS語言和QML語言。
進一步的,對預設格式的中間碼或預設格式的字節碼進行加載執行時,判斷執行流程中是否存在對應的劫持接口,若存在,則執行所述劫持接口定義的預設劫持流程,并輸出執行結果,若不存在,則執行默認流程;
所述劫持接口包括對象創建操作劫持接口、對象銷毀操作劫持接口、成員變量操作劫持接口、函數調用操作劫持接口、數組操作劫持接口、迭代操作劫持接口和字節碼操作劫持接口中的一個或者多個。
進一步的,所述通過通用語法前端解析器將高級編程語言形成的源代碼轉化成預設格式的中間碼具體包括:
S101,獲取與所述高級編程語言對應的grammar文件;
S102,通過通用語法前端解析器讀取任一所述grammar文件,對所述grammar文件進行處理生成對應的語法前端模板,所述語法前端模板為C語言模板且包括所述grammar文件的數據結構;
S103,通過所述通用語法前端解析器加載對應的語法前端模板,以對所述高級編程語言形成的源代碼進行詞法分析、語法分析和語義分析,形成預設格式的中間碼。
進一步的,所述通過編譯器將中間碼編譯成預設格式的字節碼具體為:
S201,獲取所述高級編程語言對應的語法前端模板;
S202,在所述語法前端模板的語法結構樹節點中插入所述預設格式的中間碼,生成插入結果;
S203,采用編譯器對插入結果進行編碼生成預設格式的字節碼。
進一步的,對預設格式的中間碼或預設格式的字節碼進行加載執行,具體為:通過文件系統對預設格式的中間碼或預設格式的字節碼進行加載執行;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢市字節碼科技有限公司,未經武漢市字節碼科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111038252.X/2.html,轉載請聲明來源鉆瓜專利網。





