【技术实现步骤摘要】
一种代码转换方法、装置、计算机设备及存储介质
[0001]本专利技术涉及计算机
,具体涉及一种代码转换方法
、
装置
、
计算机设备及存储介质
。
技术介绍
[0002]CPP(CPlus Plus)
是一门功能强大且广泛使用的编程语言,但是
CPP
语法复杂,对程序员的记忆有不小的负担,不仅难以理解,有时候也不符合人的认知习惯
。
为了防止编程出错,一些技术会以文档的形式限制程序员使用
CPP
的子集语法和功能,从而提醒用户用正确的规则编程,但是这些限制只存在于文档中,只能起到辅助提醒功能,编程难度依然很大,并不能真正防止程序员写出限制外的代码
。
基于此,有些实力强大
、
资金充足的公司为了降低编程难度且基于
CPP
开发应用,选择开发自己的程序语言
、
配套的编译器和开发工具,例如开发的相对易学的自定义编程语言,让用户容易记忆,从而降低编写出错的概率,然后将自己开发的自定义编程语言通过配套开发的编程工具和编译器转换为
CPP
,但是这些新开发的编译器和开发工具的质量有待验证,编译器还不够成熟,工业级别的软件无法接受用这些新语言开发,所以这种方案没有得到广泛推广,大部分应用开发场景还是需要用
CPP
语言和
CPP
编译器
。
基于此,在
CPP
编程领域依然存在编程复杂
【技术保护点】
【技术特征摘要】
1.
一种代码转换方法,其特征在于,所述方法包括:创建文本文件,并通过所述文本文件接收代码文本;运行代码转换工具,所述代码转换工具包括文本转换规则,所述文本转换规则用于将符合目标语法的代码文本转换成符合
CPP
语法的
CPP
代码,所述目标语法是预配置的语法;通过所述代码转换工具将所述代码文本转换为
CPP
代码;调用
CPP
编译器,并通过所述
CPP
编译器对所述
CPP
代码进行编译,得到目标应用
。2.
根据权利要求1所述的方法,其特征在于,所述通过所述代码转换工具将所述代码文本转换为
CPP
代码,包括:通过所述代码转换工具监听目标目录中是否创建了所述文本文件;当创建了所述文本文件时,通过所述代码转换工具创建与所述目标文件关联的
CPP
文件;通过所述代码转换工具监听所述文本文件内输入的文本内容;当所述文本文件中输入了所述代码文本时,通过所述代码转换工具将所述代码文本同步翻译为所述
CPP
代码,并将所述
CPP
代码写入所述
CPP
文件中;展示所述
CPP
文件中的内容
。3.
根据权利要求2所述的方法,其特征在于,所述目标语法包括:禁用强制运算符,且目标语法中的类型转换语法表达式为:
expression
=
>type
;式中,
expression
表示表达式,
type
表示变量类型;所述通过所述代码转换工具将所述代码文本同步翻译为所述
CPP
代码,包括:识别所述代码文本中的所述类型转换语法结构;根据所述文本转换规则生成所述类型转换语法结构对应的第一
CPP
语法树;根据所述第一
CPP
语法树提取对应的表达式语法词和变量类型语法词,并将所述表达式语法词和所述变量类型语法词填入
CPP
语法中的
dynamic_cast
语句,得到
CPP
的类型转换代码
。4.
根据权利要求2所述的方法,其特征在于,所述目标语法中的
lambda
表达式结构为:
{id_list
‑
>stat_list}
;式中,
id_list
表示参数列表,
stat_list
表示执行语句;所述通过所述代码转换工具将所述代码文本同步翻译为所述
CPP
代码,包括:识别所述代码文本中的
lambda
表达式结构;根据所述文本转换规则生成所述
lambda
表达式结构对应的第二
CPP
语法树;判断所述
lambda
表达式结构中是否省略了所述参数列表;当所述参数列表省略时,读取所述第二
CPP
语法树中执行语句中的输入参数作为所述参数列表,以完善所述第二
CPP
语法树;根据所述第二
CPP
语法树提取对应的参数列表语法词和执行语句语法词;将所述参数列表语法词和所述执行语句语法词填入
CPP
语法中复制捕获的
lambda
语句中,得到
CPP
的
lambda
表达式代码
。5.
根据权利要求2所述的方法,其特征在于,所述目标语法中的组合语句均在首尾写有大括号,所述目标语法中的条件语句结构为:
...
【专利技术属性】
技术研发人员:李小庆,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。