一种多语言编译方法、系统、装置及计算机存储介质制造方法及图纸

技术编号:38822351 阅读:16 留言:0更新日期:2023-09-15 20:01
本申请实施例公开了一种多语言编译方法、系统、装置及计算机存储介质,可提供多种不同的编程语言,用户可使用多种不同的编程语言进行编程,并最终转换成NPL语言以实现对应的功能,兼容性较高,可满足用户的需求。本申请包括:获取目标编程语言的代码文本,并确定所述代码文本所实现的目标效果;对所述代码文本进行解析生成所述目标编程语言对应的目标语法树;确定所述目标编程语言的语法树和NPL语言的语法树之间的转换规则;根据所述转换规则将所述目标语法树转换成目标NPL代码文本;根据所述目标NPL代码文本执行所述目标效果。所述目标NPL代码文本执行所述目标效果。所述目标NPL代码文本执行所述目标效果。

【技术实现步骤摘要】
一种多语言编译方法、系统、装置及计算机存储介质


[0001]本申请实施例涉及语言编译
,尤其涉及一种多语言编译方法、系统、装置及计算机存储介质。

技术介绍

[0002]编程教学软件是一种通过计算机程序来教授编程知识和技能的工具,在paracraft编程教学软件中会用到NPL语言,NPL语言可应用在编程教学软件中,用于实现图形化编程,NPL语言的全称是Neural Parallel Language,是一种新的引擎脚本语言。其中,图形化编程是一种使用图形界面来创建程序的编程方法,与传统的文本编程不同,图形化编程通常使用拖放、点选和连接图标等易于理解的方式来建立程序流程。
[0003]在图形化编程中,用户可以通过选择预先设计好的图标、输入参数来组合出自己需要的代码逻辑。这样,即使没有深入的编程知识,用户也可以使用这种方法来快速地构建出各种应用程序,例如游戏、机器人控制、数据可视化等等,图形化编程具有易学、易用、直观等优点,特别适合初学者和非专业开发人员使用。但是,由于一般的编程教学软件在图形化编程时,只会向用户提供一种编程语言,即用户只可通过一种编程语言来设计具有图标的代码逻辑,具有一定的局限性,无法满足用户的需求。

技术实现思路

[0004]本申请实施例提供了一种多语言编译方法、系统、装置及计算机存储介质,可提供多种不同的编程语言,用户可使用多种不同的编程语言进行编程,并最终转换成NPL语言以实现对应的功能,兼容性较高,可满足用户的需求。
[0005]本申请第一方面提供了一种多语言编译方法,包括:
[0006]获取目标编程语言的代码文本,并确定所述代码文本所实现的目标效果;
[0007]对所述代码文本进行解析生成所述目标编程语言对应的目标语法树;
[0008]确定所述目标编程语言的语法树和NPL语言的语法树之间的转换规则;
[0009]根据所述转换规则将所述目标语法树转换成目标NPL代码文本;
[0010]根据所述目标NPL代码文本执行所述目标效果。
[0011]可选的,所述对所述代码文本进行解析生成所述目标编程语言对应的目标语法树,包括:
[0012]对所述代码文本进行词汇单元划分,所述词汇单元包括标识符、关键字和运算符;
[0013]使用语法规则对所述词汇单元进行组织和解析,并判断所述词汇单元是否符合编程语言规范;
[0014]若确定所述词汇单元符合编程语言规范,则将所述词汇单元转换为目标语法结构;
[0015]根据所述目标语法结构生成所述目标编程语言对应的目标语法树。
[0016]可选的,所述在根据所述目标语法结构生成所述目标编程语言对应的目标语法树
之后,所述方法还包括:
[0017]判断所述目标语法树中的检查语法、执行类型和变量声明是否正确;
[0018]若确定所述目标语法树中的所述检查语法、所述执行类型和所述变量声明均正确,则对所述目标语法树进行优化操作。
[0019]可选的,所述根据所述转换规则将所述目标语法树转换成目标NPL代码文本,包括:
[0020]根据所述转换规则将所述目标语法树转换成目标NPL语法树;
[0021]根据所述目标NPL语法树生成所述目标NPL代码文本。
[0022]可选的,所述根据所述转换规则将所述目标语法树转换成目标NPL语法树,包括:
[0023]根据所述转换规则将所述目标语法树中的标识符映射为所述NPL语言中的词汇模块,所述标识符包括关键字、变量名和函数名,所述词汇模块包括名词、动词和形容词;
[0024]根据所述转换规则将所述目标语法树中的表达式和语句结构转换为所述NPL语言中对应的句子结构;
[0025]根据所述词汇模块和所述句子结构生成所述目标NPL语法树。
[0026]可选的,所述在根据所述词汇模块和所述句子结构生成所述目标NPL语法树之后,所述方法还包括:
[0027]根据所述NPL语言的语法规范对所述目标NPL语法树进行调整和重组,以使得所述目标NPL语法树符合语法规范。
[0028]可选的,在所述获取目标编程语言的代码文本之前,所述方法还包括:
[0029]获取用户的第一操作指令;
[0030]根据所述第一操作指令生成编程语言列表,所述编程语言列表包含有若干种编程语言;
[0031]获取用户的第二操作指令;
[0032]根据所述第二操作指令从所述编程语言列表中确定所述目标编程语言。
[0033]本申请第二方面提供了一种多语言编译系统,包括:
[0034]获取单元,用于获取目标编程语言的代码文本,并确定所述代码文本所实现的目标效果;
[0035]生成单元,用于对所述代码文本进行解析生成所述目标编程语言对应的目标语法树;
[0036]确定单元,用于确定所述目标编程语言的语法树和NPL语言的语法树之间的转换规则;
[0037]转换单元,用于根据所述转换规则将所述目标语法树转换成目标NPL代码文本;
[0038]执行单元,用于根据所述目标NPL代码文本执行所述目标效果。
[0039]本申请第三方面提供了一种多语言编译装置,包括:
[0040]处理器、存储器、输入输出单元以及总线;
[0041]所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
[0042]所述存储器保存有程序,所述处理器调用所述程序以执行如第一方面中任意一项所述的多语言编译方法。
[0043]本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保
存有程序,所述程序在计算机上执行时执行如第一方面中任一项所述的方法。
[0044]从以上技术方案可以看出,本申请实施例具有以下优点:
[0045]本申请多语言编译方法首先获取目标编程语言的代码文本,并确定代码文本所实现的目标效果;然后对代码文本进行解析生成目标编程语言对应的目标语法树,在确定目标编程语言语法树和NPL语言的语法树之间的转换规则之后,根据转换规则将目标语法树转换成目标NPL代码文本,最后根据目标NPL代码文本执行目标效果;通过上述可知,本申请可提供多种不同的编程语言,给用户提供多种选择,用户可使用多种不同的编程语言进行编程,并最终转换成NPL语言,并通过NPL语言实现对应的功能,兼容性较高,可满足用户的需求。
附图说明
[0046]图1为本申请多语言编译方法的一个实施例示意图;
[0047]图2为本申请多语言编译方法的另一个实施例示意图;
[0048]图3为本申请多语言编译系统的一个实施例示意图;
[0049]图4为本申请多语言编译装置的一个实施例示意图。
具体实施方式
[0050]由于一般的编程教学软件在图形化编程时,只会向用户提供一种编程语言,即用户只可通过一种编程语言来设计具有图标的代码逻辑,具有一定的局限性,无法满足用户的需本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多语言编译方法,其特征在于,包括:获取目标编程语言的代码文本,并确定所述代码文本所实现的目标效果;对所述代码文本进行解析生成所述目标编程语言对应的目标语法树;确定所述目标编程语言的语法树和NPL语言的语法树之间的转换规则;根据所述转换规则将所述目标语法树转换成目标NPL代码文本;根据所述目标NPL代码文本执行所述目标效果。2.根据权利要求1所述的多语言编译方法,其特征在于,所述对所述代码文本进行解析生成所述目标编程语言对应的目标语法树,包括:对所述代码文本进行词汇单元划分,所述词汇单元包括标识符、关键字和运算符;使用语法规则对所述词汇单元进行组织和解析,并判断所述词汇单元是否符合编程语言规范;若确定所述词汇单元符合编程语言规范,则将所述词汇单元转换为目标语法结构;根据所述目标语法结构生成所述目标编程语言对应的目标语法树。3.根据权利要求2所述的多语言编译方法,其特征在于,所述在根据所述目标语法结构生成所述目标编程语言对应的目标语法树之后,所述方法还包括:判断所述目标语法树中的检查语法、执行类型和变量声明是否正确;若确定所述目标语法树中的所述检查语法、所述执行类型和所述变量声明均正确,则对所述目标语法树进行优化操作。4.根据权利要求1所述的多语言编译方法,其特征在于,所述根据所述转换规则将所述目标语法树转换成目标NPL代码文本,包括:根据所述转换规则将所述目标语法树转换成目标NPL语法树;根据所述目标NPL语法树生成所述目标NPL代码文本。5.根据权利要求4所述的多语音编译方法,其特征在于,所述根据所述转换规则将所述目标语法树转换成目标NPL语法树,包括:根据所述转换规则将所述目标语法树中的标识符映射为所述NPL语言中的词汇模块,所述标识符包括关键字、变量名和函数名,所述词汇模块包括名...

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

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

1