编程语言的集成方法、编程软件系统和电子装置制造方法及图纸

技术编号:25598177 阅读:22 留言:0更新日期:2020-09-11 23:56
本申请公开了一种编程语言的集成方法、编程软件系统和电子装置,该方法包括:获取源代码,其中,源代码为第一编程语言编辑的代码,第一编程语言为编程软件系统不兼容的编程语言;将源代码转换成目标代码,其中,目标代码为第二编程语言编辑的代码,第二编程语言为编程软件系统兼容的编程语言;对目标代码进行编译并执行。通过上述方式,本申请能够实现编程软件系统对多种编程语言的兼容,以使得用户在同一编程软件系统上选择多语言开发。

【技术实现步骤摘要】
编程语言的集成方法、编程软件系统和电子装置
本申请涉及计算机编程
,特别是涉及一种编程语言的集成方法、编程软件系统和电子装置。
技术介绍
计算机编程语言从诞生至今,经历了机器语言、汇编语言和高级语言几个阶段,衍生出了多种编程语言。通常,在一个大型的软件编程项目开发中,可能涉及到的编程语言有多种,而对于某一编程软件系统而言,如果该系统未集成某一编程语言的语言库时,该系统即不兼容该编程语言,用户便不能使用该系统进行编程,为了解决兼容多种编程语言这一问题,可在该系统上集成完整的其他多种语言的编程语言库,但多种编程语言库的集成开发过程难度较大,且集成的编程语言库越多,将导致该系统的复杂程度越高、稳定性差,系统运行时更容易出错。
技术实现思路
为了解决上述问题,本申请提供一种编程语言的集成方法、编程软件系统和电子装置,能够实现编程软件系统对多种编程语言的兼容,便于用户在同一编程软件系统上选择多语言开发。第一方面,本申请提供一种编程语言的集成方法,应用于编程软件系统,该方法包括:获取源代码,所述源代码为第一编程语言编辑的代码,所述第一编程语言为编程软件系统不兼容的编程语言;将所述源代码转换成目标代码,所述目标代码为第二编程语言编辑的代码,所述第二编程语言为编程软件系统兼容的编程语言;对所述目标代码进行编译并执行。基于本申请第一方面,本申请第一方面的第一种实现方式,所述将所述源代码转换成目标代码的步骤,包括:对所述源代码进行分词处理以获得所述源代码的所有标记;根据所述第一编程语言编译的语法规则,将所述标记组合生成抽象语法树;遍历所述抽象语法树的节点,根据预设的翻译规则,将所述抽象语法树的节点的内容翻译为所述第二编程语言支持的代码格式,以得到所述目标代码。基于本申请的第一方面的第一种实现方式,本申请第一方面的第二种实现方式,所述对所述源代码进行分词处理以获得所述源代码的所有标记的步骤,包括:依次读入所述源代码以获得所述源代码对应的词素;将所述词素映射生成对应的标记,并将所述标记归入相应类别。基于本申请的第一方面的第一种实现方式,本申请第一方面的第三种实现方式,所述根据所述第一编程语言编译的语法规则,将所述标记组合生成抽象语法树的步骤,包括:根据所述第一编程语言编译的语法规则,对所述标记进行语法分析,获得解析树,对所述解析树精简处理后得到所述抽象语法树。基于本申请的第一方面的第一种实现方式,本申请第一方面的第四种实现方式,所述遍历所述抽象语法树的节点,根据预设的翻译规则,将所述抽象语法树的节点的内容翻译为所述第二编程语言支持的代码格式,以得到所述目标代码的步骤之前,所述方法还包括:根据第一编程语言与所述第二编程语言的语法规则,建立预设的翻译规则,所述预设的翻译规则为将所述第一编程语言匹配所述第二编程语言的翻译规则。基于本申请的第一方面的第四种实现方式,本申请第一方面的第五种实现方式,所述遍历所述抽象语法树的节点,根据预设的翻译规则,将所述抽象语法树的节点的内容翻译为所述第二编程语言支持的代码格式,以得到所述目标代码的步骤,包括:遍历所述抽象语法树的节点,判断当前节点是否有子节点;若所述当前节点没有子节点,则根据所述预设的翻译规则,将所述当前节点的内容翻译为所述第二编程语言支持的代码格式;若所述当前节点有子节点,则遍历所述当前节点的子节点,根据所述预设的翻译规则得到所述子节点的翻译结果,并结合所述子节点的翻译结果,将所述当前节点的内容翻译为所述第二编程语言支持的代码格式。基于本申请的第一方面的第一种实现方式,本申请第一方面的第六种实现方式,所述遍历所述抽象语法树的节点的步骤,采用自顶向下递归遍历的方式遍历所述抽象语法树的节点。第二方面,本申请提供一种编程软件系统,该编程软件系统包括:转换模块,用于获取源代码,将所述源代码转换成目标代码;其中,所述源代码为第一编程语言编辑的代码,所述第一编程语言为编程软件系统不兼容的编程语言;所述目标代码为第二编程语言编辑的代码,所述第二编程语言为编程软件系统兼容的编程语言;编译执行模块,用于对所述目标代码进行编译并执行。基于本申请的第二方面,本申请第二方面的第一种实现方式,所述转换模块包括:分词标记单元,用于对所述源代码进行分词处理以获得所述源代码的所有标记;语法树生成单元,用于根据所述第一编程语言编译的语法规则,将所述标记组合生成抽象语法树;翻译转换单元,用于遍历所述抽象语法树的节点,根据预设的翻译规则,将所述抽象语法树的节点的内容翻译为所述第二编程语言支持的代码格式,以得到所述目标代码。第三方面,本申请提供一种电子装置,该电子装置包括:存储器和处理器。其中,所述存储器存储有程序,所述处理器调用所述程序以执行本申请第一方面的编程语言的集成方法。本申请的有益效果是:本申请将编程软件系统不兼容的第一编程语言编辑的源代码转换为当前编程软件系统兼容的第二编程语言的对应代码,进而编程软件系统对转换后的代码编译执行,简化了编程软件系统的组成,使编程软件系统无需集成各类第一编程语言的语言库,实现了编程软件系统对第一编程语言的兼容性,而用户可以使用自己熟练掌握的编程语言进行编程,使用户对编程语言的选择更多样化,便于用户在同一编程软件系统上选择多语言开发。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:图1是本申请提供的编程语言的集成方法一实施方式的流程示意图;图2是本申请提供的编程语言的集成方法另一实施方式的流程示意图;图3是本申请提供的编程语言编程软件系统一实施方式的结构示意图;图4是本申请提供的电子装置一实施方式的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。请参阅图1,图1是本申请提供的编程语言的集成方法一实施方式的流程示意图,该方法应用于编程软件系统,包括:步骤S101:获取源代码,源代码为第一编程语言编辑的代码,第一编程语言为编程软件系统不兼容的编程语言。具体地,用户打开编程软件,并输入以编程软件系统不兼容的编程语言撰写的源代码,编程软件系统获取到该源代码,本申请中将编程软件系统不兼容的编程语言定义为第一编程语言。一般地,在现有技术中,当用户采用第一编程语言编写源程序时,因为第一编程语言为编程软件系统不兼容的编程语言,所以编程软件系统无法直接对该源代码进行编译并执行源代码程序,系统会出现报错。步骤S102:将源代码转换成目标代码,目标代码为第二编程语言编辑的代码本文档来自技高网...

【技术保护点】
1.一种编程语言的集成方法,所述方法应用于编程软件系统,其特征在于,所述方法包括:/n获取源代码,所述源代码为第一编程语言编辑的代码,所述第一编程语言为所述编程软件系统不兼容的编程语言;/n将所述源代码转换成目标代码,所述目标代码为第二编程语言编辑的代码,所述第二编程语言为所述编程软件系统兼容的编程语言;/n对所述目标代码进行编译并执行。/n

【技术特征摘要】
1.一种编程语言的集成方法,所述方法应用于编程软件系统,其特征在于,所述方法包括:
获取源代码,所述源代码为第一编程语言编辑的代码,所述第一编程语言为所述编程软件系统不兼容的编程语言;
将所述源代码转换成目标代码,所述目标代码为第二编程语言编辑的代码,所述第二编程语言为所述编程软件系统兼容的编程语言;
对所述目标代码进行编译并执行。


2.根据权利要求1所述的编程语言的集成方法,其特征在于,所述将所述源代码转换成目标代码的步骤,包括:
对所述源代码进行分词处理以获得所述源代码的所有标记;
根据所述第一编程语言编译的语法规则,将所述标记组合生成抽象语法树;
遍历所述抽象语法树的节点,根据预设的翻译规则,将所述抽象语法树的节点的内容翻译为所述第二编程语言支持的代码格式,以得到所述目标代码。


3.根据权利要求2所述的编程语言的集成方法,其特征在于,所述对所述源代码进行分词处理以获得所述源代码的所有标记的步骤,包括:
依次读入所述源代码以获得所述源代码对应的词素;
将所述词素映射生成对应的标记,并将所述标记归入相应类别。


4.根据权利要求2所述的编程语言的集成方法,其特征在于,所述根据所述第一编程语言编译的语法规则,将所述标记组合生成抽象语法树的步骤,包括:
根据所述第一编程语言编译的语法规则,对所述标记进行语法分析,获得解析树,对所述解析树精简处理后得到所述抽象语法树。


5.根据权利要求2所述的编程语言的集成方法,其特征在于,所述遍历所述抽象语法树的节点,根据预设的翻译规则,将所述抽象语法树的节点的内容翻译为所述第二编程语言支持的代码格式,以得到所述目标代码的步骤之前,所述方法还包括:
根据第一编程语言与所述第二编程语言的语法规则,建立预设的翻译规则,所述预设的翻译规则为将所述第一编程语言匹配所述第二编程语言的翻译规则。


6...

【专利技术属性】
技术研发人员:李西峙张大伟
申请(专利权)人:深圳市大富网络技术有限公司
类型:发明
国别省市:广东;44

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

1