一种跨平台的多语言编译方法和超轻量物联网虚拟机技术

技术编号:31024897 阅读:28 留言:0更新日期:2021-11-30 03:24
本发明专利技术涉及一种跨平台的多语言编译方法和超轻量物联网虚拟机,方法包括以下步骤:通过通用语法前端解析器将高级编程语言形成的源代码转化成预设格式的中间码;通过编译器将所述中间码编译成预设格式的字节码;判断是否是跨语言加载,并结合目标加载时间加载所述预设格式的中间码或所述预设格式的字节码并执行,输出执行结果。本发明专利技术利用超轻量物联网虚拟机执行一套标准、可扩展的字节码格式,不仅可以满足不同编程语言的语法特性,进行多语言混合开发,而且通过将不同语言翻译成更为抽象的中间码,减小了编译体积和占用内存,方便在小型化物联网终端上使用。小型化物联网终端上使用。小型化物联网终端上使用。

【技术实现步骤摘要】
一种跨平台的多语言编译方法和超轻量物联网虚拟机


[0001]本专利技术涉及软件开发领域,尤其涉及一种跨平台的多语言编译方法和超轻量物联网虚拟机。

技术介绍

[0002]物联网是把所有物品通过信息传感设备与互联网连接起来,进行信息交换,即物物相息,以实现智能化识别和管理。近几年物联网发展越来越快,各种物联网设备也在我们日常生活中越来越常见,比如智能家居、智能穿戴设备等等。目前使用在物联网领域的常用软件开发语言包括Python语言、JavaScript语言、Lua语言、HTML语言、CSS语言和QML语言等等,很多情况下,一个软件开发平台需要同时采用上述多种语言,因此需要具备多语言混合开发的能力。同时,随着物联网设备的小型化发展趋势,智能仪表、智能小家电等较多运用单片机+无线模块方式连接物联网平台,因此对单片机上软件开发平台的软件编译体积以及内存占用的要求也越来越高,目前的常用软件开发方法和平台难以直接用于小型化的物联网设备上。

技术实现思路

[0003]本专利技术提供了一种跨平台的多语言编译方法和超轻量物联网虚拟机,解决了以上所述本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种跨平台的多语言编译方法,其特征在于,包括以下步骤:步骤1,通过通用语法前端解析器将高级编程语言形成的源代码转化成预设格式的中间码;步骤2,通过编译器将所述中间码编译成预设格式的字节码;步骤3,判断是否是跨语言加载,并结合目标加载时间加载所述预设格式的中间码或所述预设格式的字节码并执行,输出执行结果。2.根据权利要求1所述跨平台的多语言编译方法,其特征在于,所述高级编程语言包括Python语言、JavaScript语言、Lua语言、HTML语言、CSS语言和QML语言中的一个或多个。3.根据权利要求1所述跨平台的多语言编译方法,其特征在于,对预设格式的中间码或预设格式的字节码进行加载执行时,判断执行流程中是否存在对应的劫持接口,若存在,则执行所述劫持接口定义的预设劫持流程,并输出执行结果;所述劫持接口包括对象创建操作劫持接口、对象销毁操作劫持接口、成员变量操作劫持接口、函数调用操作劫持接口、数组操作劫持接口、迭代操作劫持接口和字节码操作劫持接口中的一个或者多个。4.根据权利要求1

3任一所述跨平台的多语言编译方法,其特征在于,所述通过通用语法前端解析器将高级编程语言形成的源代码转化成预设格式的中间码具体包括:S101,获取与所述高级编程语言对应的grammar文件;S102,通过通用语法前端解析器读取任一所述grammar文件,对所述grammar文件进行处理生成对应的语法前端模板,所述语法前端模板为C语言模板且包括所述grammar文件的数据结构;S103,通过所述通用语法前端解析器加载对应的语法前端模板,以对所述高级编程语言形成的源代码进行词法分析、语法分析和语义分析,生成预设格式的中间码。5.根据权利要求4所述跨平台的多语言编译方法,其特征在于,所述通过编译器将中间码编译成预设格式的字节码具体为:S201,获取所述高级编程语言对应的语法前端模板;S202,在所述语法前端模板的语法结构树节点中插入所述...

【专利技术属性】
技术研发人员:王喆
申请(专利权)人:武汉市字节码科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1