System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种适用于低代码产品的表达式语言设计方法技术_技高网

一种适用于低代码产品的表达式语言设计方法技术

技术编号:41206024 阅读:3 留言:0更新日期:2024-05-07 22:32
本申请涉及一种适用于低代码产品的表达式语言设计方法,能够在物联网操作系统的消息中心中实施,通过低代码开发,开发者通常有大量的数据处理及转换的需求。为了提高低代码产品在处理数据时的开发效率,本发明专利技术实现了一种表达式语言,支持常用的取值、计算、比较、逻辑、方法调用等操作,可方便地实现数据的处理及转换。表达式语言在低代码产品中常见的三大应用场景——数据处理、模板、SQL语句,定义出简单并满足实用需求的表达式语法,提供了开箱即用的表达式语句解析器工具。有利于降低低代码产品使用过程中的学习及开发成本,提高低代码产品使用人员的开发效率。

【技术实现步骤摘要】

本公开涉及低代码,尤其涉及一种适用于低代码产品的表达式语言设计架构、设计方法及低代码组件和电子设备。


技术介绍

1、在低代码产品的服务编排等模块中,由于没有表达式语言编写能力,只能实现最简单的数据节点选取与赋值等操作,或者使用第三方的脚本语言(如groovy),实现复杂的数据处理。同时也无法进一步支持消息或邮件的模板功能、sql的自动判空等功能。

2、在现有技术中,为实现较复杂的数据处理及转换能力,通常是使用第三方的脚本语言,如groovy等。但此类脚本语言开放给用户使用会带来以下问题:

3、1.由于脚本语法复杂,用户的学习成本较高;

4、2.由于脚本语法复杂,低代码产品难以实现可视化配置方式编写脚本,用户的开发成本较高;

5、3.语法功能不受限制,容易引入未知问题;

6、4.当需要新增功能时,不支持扩展。


技术实现思路

1、为了解决上述问题,本申请提出一种适用于低代码产品的表达式语言设计架构、设计方法及低代码组件和电子设备。

2、本申请一方面,提出一种适用于低代码产品的表达式语言设计架构,包括:

3、语法分析层,用于使用antlr,自动生成与用户所定义的所述antlr语法及词法分析规则相对应的语法分析器;

4、编译层,用于提供用户输入相应场景的表达式语句及上下文变量参数的编译器,并根据用户输入相应场景的表达式语句及上下文变量参数,由相应编译器将所述表达式语句编译为相应场景的语义模型;</p>

5、语义模型层,用于为存放相应场景的表达式语义模型;

6、二次开发层,用于对相应场景的表达式语义模型进行二次开发,生成相应场景的表达式语言。

7、本申请另一方面,提出一种适用于低代码产品的sql表达式语言设计方法,基于所述的架构进行实施,包括如下步骤:

8、基于antlr语法,定义用于sql表达的antlr语法及词法分析规则;

9、通过语法分析层,使用antlr,自动生成与用户所定义的所述antlr语法及词法分析规则相对应的sql表达式语法分析器:aql parser,并进一步实现antlr的访问器接口;

10、通过编译层中的sql表达式语句编译器:aql compiler,输入sql表达式语句及上下文变量参数,将所述sql表达式语句编译为相应的sql表达式语义模型:aql statement;

11、在二次开发层中,对所述sql表达式语义模型:aql statement进行二次开发,生成用于sql查询的拼装数据库查询语句。

12、本申请另一方面,还提出一种用于sql表达的低代码组件,采用上述一种适用于低代码产品的sql表达式语言设计方法生成,用于生成sql查询的拼装数据库查询语句。

13、本申请另一方面,还提出一种适用于低代码产品的基础数据处理表达式语言设计方法,基于所述的架构进行实施,包括如下步骤:

14、基于antlr语法,定义用于基础数据处理的antlr语法及词法分析规则;

15、通过语法分析层,使用antlr,自动生成与用户所定义的所述antlr语法及词法分析规则相对应的基础表达式语法分析器:ael parser,并进一步实现antlr的访问器接口;

16、通过编译层中的基础表达式语句编译器:ael compiler,输入用于基础数据处理的表达式语句及上下文变量参数,将用于基础数据处理的表达式语句编译为相应的基础表达式语义模型:ael statement;

17、在二次开发层中,对所述基础表达式语义模型:ael statement进行二次开发,解析生成用于基础数据处理的编程代码。

18、本申请另一方面,还提出一种用于基础数据处理的低代码组件,采用上述一种适用于低代码产品的基础数据处理表达式语言设计方法生成,用于生成基础数据处理的编程代码。

19、本申请另一方面,还提出一种适用于低代码产品的模板表达式语言设计方法,基于所述的架构进行实施,包括如下步骤:

20、基于antlr语法,定义用于模板表达的antlr语法及词法分析规则;

21、通过语法分析层,使用antlr,自动生成与用户所定义的所述antlr语法及词法分析规则相对应的模板表达式语法分析器:atl parser,并进一步实现antlr的访问器接口;

22、在编译层中的基础表达式语法分析器:aelparser的基础上,加入模板编译条件和循环编译参数,得到模板表达式语句编译器:atl compiler;

23、通过编译层中的模板表达式语句编译器:atl compiler,输入表达模板的表达式语句及上下文变量参数,将表达模板的所述模板表达式语句编译为相应的模板表达式语义模型:atl statement;

24、在二次开发层中,对所述模板表达式语义模型:atl statement进行二次开发,直接输出模板的表达式结果值。

25、本申请另一方面,还提出一种用于模板表达的低代码组件,采用上述一种适用于低代码产品的模板表达式语言设计方法生成,用于生成模板的表达式结果值。

26、本申请另一方面,还提出一种电子设备,包括:

27、处理器;

28、用于存储处理器可执行指令的存储器;

29、其中,所述处理器被配置为执行所述可执行指令时实现所述的方法。

30、本专利技术的技术效果:

31、本申请能够在物联网操作系统的消息中心中实施,通过低代码开发,具备如下功能:

32、在低代码产品的使用过程中,开发者通常有大量的数据处理及转换的需求。为了提高低代码产品在处理数据时的开发效率,本专利技术实现了一种表达式语言,支持常用的取值、计算、比较、逻辑、方法调用等操作,可方便地实现数据的处理及转换。

33、在低代码产品的消息、邮件模块中,通常需要具备模板的配置及渲染能力。本专利技术实现了可支持模板渲染的表达式语言,支持应用在消息或邮件模板中,可配置循环、条件语句,在消息或邮件发送时实时渲染出发送内容。

34、在低代码产品的sql执行功能模块中,通常需要根据查询入参是否为空,判断查询入参是否需要拼装到sql条件中。本专利技术实现的表达式语言支持判空表达式,在翻译sql语句时,如果遇到判空符号并且入参为空,可以把该表达式条件自动裁剪掉。

35、因此,本申请的表达式语言在低代码产品中常见的三大应用场景——数据处理、模板、sql语句,定义出简单并满足实用需求的表达式语法,提供了开箱即用的表达式语句解析器工具。有利于降低低代码产品使用过程中的学习及开发成本,提高低代码产品使用人员的开发效率。

36、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

本文档来自技高网...

【技术保护点】

1.一种适用于低代码产品的表达式语言设计架构,其特征在于,包括:

2.一种适用于低代码产品的SQL表达式语言设计方法,基于权利要求1所述的架构进行实施,其特征在于,包括如下步骤:

3.一种用于SQL表达的低代码组件,其特征在于,采用权利要求2所述的方法生成,用于生成SQL查询的拼装数据库查询语句。

4.一种适用于低代码产品的基础数据处理表达式语言设计方法,基于权利要求1所述的架构进行实施,其特征在于,包括如下步骤:

5.一种用于基础数据处理的低代码组件,其特征在于,采用权利要求4所述的方法生成,用于生成基础数据处理的编程代码。

6.一种适用于低代码产品的模板表达式语言设计方法,基于权利要求1所述的架构进行实施,其特征在于,包括如下步骤:

7.一种用于模板表达的低代码组件,其特征在于,采用权利要求6所述的方法生成,用于生成模板的表达式结果值。

8.一种电子设备,其特征在于,包括:

【技术特征摘要】

1.一种适用于低代码产品的表达式语言设计架构,其特征在于,包括:

2.一种适用于低代码产品的sql表达式语言设计方法,基于权利要求1所述的架构进行实施,其特征在于,包括如下步骤:

3.一种用于sql表达的低代码组件,其特征在于,采用权利要求2所述的方法生成,用于生成sql查询的拼装数据库查询语句。

4.一种适用于低代码产品的基础数据处理表达式语言设计方法,基于权利要求1所述的架构进行实施,其特征在...

【专利技术属性】
技术研发人员:贺信蒋晨辉宋杨花京武
申请(专利权)人:杭州指令集智能科技有限公司
类型:发明
国别省市:

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

1