System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种程序解释执行方法技术_技高网

一种程序解释执行方法技术

技术编号:40143706 阅读:7 留言:0更新日期:2024-01-24 00:01
本发明专利技术涉及软件开发技术领域,具体公开了一种程序解释执行方法,包括:生成步骤:生成逻辑树;逻辑树包括上下父子节点信息、节点类型、参数类型、应用传值类型中的一个或多个信息;其中,节点类型包括其他扩展;解析步骤:编写逻辑解释执行程序,将逻辑树作为参数传入,解析、执行逻辑树。采用本发明专利技术的技术方案能够可使需编译执行的计算机语言具备解释执行能力,在保留编译执行语言较快的执行速度同时也具备解释执行的灵活性,应用领域广泛。

【技术实现步骤摘要】

本专利技术涉及软件开发,特别涉及一种程序解释执行方法


技术介绍

1、现今,编译执行语言都需要对源程序进行编译,生成目标文件,计算机再对这个目标程序进行执行,具备执行速度较快等特点,但在程序有修改时,需要重新编译,缺乏灵活性。

2、例如,嵌入式单片机开发过程通常需要将程序代码编译成二进制码,然后将其烧写到芯片中以执行。当程序需要更新时,必须反复执行这一编译和烧写操作。

3、在在线paas/saas平台上提供的服务中,通常无法在线修改代码。因为修改代码后,需要进行编译并重新启动相关服务。

4、目前,人工智能技术能够提供一些代码片段服务,如排序算法或贪吃蛇游戏的代码。然而,这些服务无法涵盖业务模型,因为现有的业务模型通常以非结构化形式存在,如文档或图形,难以与代码匹配。因此,人工智能只能学习代码样本,无法学习业务模型,从而无法实现自动生成业务系统代码的能力。

5、图形化编程方法通常涉及将图形逻辑转化为可执行代码,然后对生成的代码进行编译和执行。这一过程繁琐且效率较低,因为需要人工干预以完善代码生成的各个细节,并且通常局限于特定编程语言的实现。

6、传统的程序编译方式在单片机、paas/saas、人工智能和图形化编程领域存在局限,限制了这些领域的发展。因此,现在需要一种可使需编译执行的计算机语言具备解释执行能力,且应用领域广泛的图形化编程方法,以解决上述问题。


技术实现思路

1、本专利技术提供了一种程序解释执行方法,能够可使需编译执行的计算机语言具备解释执行能力,应用领域广泛。

2、为了解决上述技术问题,本申请提供如下技术方案:

3、一种程序解释执行方法,包括:

4、生成步骤:生成逻辑树;逻辑树包括上下父子节点信息、节点类型、参数类型、应用传值类型中的一个或多个信息;其中,节点类型包括其他扩展;

5、解析步骤:编写逻辑解释执行程序,将逻辑树作为参数传入,解析、执行逻辑树。

6、进一步,所述节点类型还包括判断类型、循环类型、跳出类型、跳过类型中的一个或多个。

7、进一步,所述解析步骤包括:

8、s1、节点读取子步骤,将逻辑树作为参数传入;对逻辑树从上往下读取节点信息;

9、s2、节点判断子步骤,判断各个节点的节点类型,执行对应的解析操作。

10、进一步,所述节点判断子步骤中,按照预设的顺序执行节点类型判断步骤,节点类型判断步骤包括判断类型判断步骤、循环类型判断步骤、跳过类型判断步骤、跳出类型判断步骤、其他扩展类型判断步骤中的一个或多个。

11、进一步,所述节点判断子步骤中,如果无法识别节点,输出不可识别节点日志。

12、进一步,所述判断类型判断步骤包括:

13、判断当前节点类型是否为判断类型;

14、如果是,将当前判断类型节点与其子节点裁剪为新逻辑树;调用判断步骤;

15、如果不是,跳转至预设的其他节点类型判断步骤;

16、其中,判断步骤包括:

17、步骤一、将新逻辑树作为参数传入;其中,第一个树节点的类型为判断类型;

18、步骤二、解析节点的参数,参数包括变量,以及其他程序执行结果中的一种或多种;

19、步骤三、判断参数结果为真或假;如果为真,将真节点下面的所有节点裁剪为新逻辑树;如果为假,将假节点下面的所有节点裁剪为新逻辑树;

20、步骤四、将新逻辑树作为参数传入,重新执行步骤s1。

21、进一步,所述跳过类型判断步骤包括:

22、判断当前节点类型是否为跳过类型;

23、如果是,调用跳过步骤;

24、如果不是,跳转至预设的其他节点类型判断步骤;

25、其中,跳过步骤包括:

26、步骤一、根据传入节点参数判断需要跳过哪一级循环;

27、步骤二、执行跳过,输出当前节点执行日志;

28、步骤三、判断跳过后循环是否是指定级别循环,如果不是,跳转至步骤二;如果是,结束。

29、进一步,所述跳出类型判断步骤包括:

30、判断当前节点类型是否为跳出类型;

31、如果是,调用跳出步骤;

32、如果不是,跳转至预设的其他节点类型判断步骤;

33、其中,跳出步骤包括:

34、步骤一、根据传入节点参数判断需要跳出哪一级循环;

35、步骤二、执行跳过;输出当前节点执行日志;

36、步骤三、判断跳出后循环是否是指定级别循环,如果不是,跳转至步骤二,如果是,结束。

37、进一步,所述循环类型判断步骤包括:

38、判断当前节点类型是否为循环类型;

39、如果是,将当前循环类型节点与其子节点裁剪为新逻辑树;调用循环步骤;

40、如果不是,跳转至预设的其他节点类型判断步骤;

41、其中,循环步骤包括:

42、步骤一、将新逻辑树作为参数传入;其中,第一个树节点的类型为循环类型;

43、步骤二、解析节点的参数,参数包括变量集合、变量计数、其他程序执行结果中的一个或多个;

44、步骤三、将循环类型节点下面的所有节点裁剪为新逻辑树;

45、步骤四、根据循环类型节点参数,循环将新逻辑树作为参数传入,重新执行步骤s1。

46、进一步,所述其他扩展类型判断步骤包括:

47、判断当前节点类型是否为其他扩展;

48、如果是,调用扩展步骤;

49、如果不是,跳转至预设的其他节点类型判断步骤;

50、其中,扩展步骤包括:

51、步骤一、根据传入节点参数判断调用方法,调用方法包括内部程序接口调用、外部应用接口调用;

52、步骤二、根据调用方法调用内部程序或外部应用接口;

53、步骤三、接收被调用的内部程序或外部应用的反馈结果数据。

54、有益效果:

55、1、本方案中,普通用户只需要完成逻辑树搭建即可,逻辑解释执行程序由专业人员预先编写,通过逻辑解释执行程序,一次编译可适用于多个应用场景,提供稳定的解释执行能力,不需要重复编译。

56、2、逻辑树本身是业务逻辑的可视化实现,将业务逻辑从代码中剥离,逻辑树本身数据是结构化数据存储,可作为ai训练样本,有助于建立自动化业务模型,增强ai业务系统开发能力。

57、3、逻辑解释执行程序可烧写到嵌入式单片机,通过远程传输逻辑树实现新的业务逻辑,提高了嵌入式开发的效率。

58、4、适用于图形化编程应用,无需生成代码或重新编译,特别适用于儿童编程和简化编程流程。

59、5、适用于paas/saas平台,允许在线配置现有逻辑树,从而实现灵活的业务系统调整。

60、综上,本方案可使需编译执行的本文档来自技高网...

【技术保护点】

1.一种程序解释执行方法,其特征在于,包括:

2.根据权利要求1所述的程序解释执行方法,其特征在于:所述节点类型还包括判断类型、循环类型、跳出类型、跳过类型中的一个或多个。

3.根据权利要求2所述的程序解释执行方法,其特征在于:所述解析步骤包括:

4.根据权利要求3所述的程序解释执行方法,其特征在于:所述节点判断子步骤中,按照预设的顺序执行节点类型判断步骤,节点类型判断步骤包括判断类型判断步骤、循环类型判断步骤、跳过类型判断步骤、跳出类型判断步骤、其他扩展类型判断步骤中的一个或多个。

5.根据权利要求4所述的程序解释执行方法,其特征在于:所述节点判断子步骤中,如果无法识别节点,输出不可识别节点日志。

6.根据权利要求5所述的程序解释执行方法,其特征在于:所述判断类型判断步骤包括:

7.根据权利要求6所述的程序解释执行方法,其特征在于:所述跳过类型判断步骤包括:

8.根据权利要求7所述的程序解释执行方法,其特征在于:所述跳出类型判断步骤包括:

9.根据权利要求8所述的程序解释执行方法,其特征在于:所述循环类型判断步骤包括:

10.根据权利要求9所述的程序解释执行方法,其特征在于:所述其他扩展类型判断步骤包括:

...

【技术特征摘要】

1.一种程序解释执行方法,其特征在于,包括:

2.根据权利要求1所述的程序解释执行方法,其特征在于:所述节点类型还包括判断类型、循环类型、跳出类型、跳过类型中的一个或多个。

3.根据权利要求2所述的程序解释执行方法,其特征在于:所述解析步骤包括:

4.根据权利要求3所述的程序解释执行方法,其特征在于:所述节点判断子步骤中,按照预设的顺序执行节点类型判断步骤,节点类型判断步骤包括判断类型判断步骤、循环类型判断步骤、跳过类型判断步骤、跳出类型判断步骤、其他扩展类型判断步骤中的一个或多个。

5.根据权利要求4所述的程序...

【专利技术属性】
技术研发人员:谭青松
申请(专利权)人:重庆猪哥亮科技有限责任公司
类型:发明
国别省市:

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

1