一种实时解析模板引擎的方法技术

技术编号:30701701 阅读:38 留言:0更新日期:2021-11-06 09:38
本发明专利技术提供了一种实时解析模板引擎的方法,以YAML为描述语言,jinja2的模板语法为基础,步骤S01:分离变量名和变量值:建立一个"树"结构,树根的位置为顶级作用域,存在多个树根,“树“与”树“之间是依照解析的顺序从上至下依次存放,每个“树”是依照解析的顺序从上至下依次存放,每个“树”的节点依照解析的顺序从左至右依次存放;步骤S02:变量替换和更新:在步骤S01得到的"树"结构的基础上,采用循环递增的方式进行变量的替换和更新,从采用已经解析过的已定义的进行替换,如果替换时出现未定义的则停止替换抛出异常原因,直至最后一树的最后一个节点都会被全部解析完成。本发明专利技术通过实时进行模板解析的方法,能很好的解决复杂配置的描述。的描述。

【技术实现步骤摘要】
一种实时解析模板引擎的方法


[0001]本专利技术涉及一种模板引擎,特别涉及一种实时解析模板引擎的方法。

技术介绍

[0002]模板引擎应用领域广泛,如jinja2,ejs等应用于HTML模板化,也有些应用于环境及参数配置的,如ansile使用jinja2解析环境及参数配置,但是jinja2只支持"懒"加载解析,对稍微复杂些的配置不能很好的描述,很大程度上降低了模板的可读性,不利于后期的维护。本专利技术通过实时进行模板解析的方式,能很好的解决复杂配置的描述。

技术实现思路

[0003]1.所要解决的技术问题:现有模板引擎应用领域jinja2对稍微复杂些的配置不能很好的描述,很大程度上降低了模板的可读性,不利于后期的维护。
[0004]2.技术方案:为了解决以上问题,本专利技术提供了一种实时解析模板引擎的方法,以YAML为描述语言,jinja2的模板语法为基础,包括以下步骤:步骤S01:分离变量名和变量值:以从左到右,从上到下的顺序,以冒号为分割符,左边为变量名右边为值,以缩进为作用域分割符,同一缩进度的作用域相同,从而建本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种实时解析模板引擎的方法,以YAML为描述语言,jinja2的模板语法为基础,包括以下步骤:步骤S01:分离变量名和变量值:以从左到右,从上到下的顺序,以冒号为分割符,左边为变量名右边为值,以缩进为作用域分割符,同一缩进度的作用域相同,从而建立一个"树"结构,树根的位置为顶级作用域,存在多个树根,“树“与”树“之间是依照解析的顺序从上至下依次存放,每个“树”是依照解析的顺序从上至下依次存放,每个“树”的节点依照解析的顺序从左至右依次存放,如果存在非法的不合规的则停止解析抛出异常原因;步骤S02:变量替换和更新:在步骤S01得到的"树"结构的基础上,采用循环递增的方式进行变量的替换和更新,从第一树的第一个节点开始,从左至右,从上至下递增,采用已经解析过的已定义的...

【专利技术属性】
技术研发人员:秦轶轩杨杰
申请(专利权)人:南京艾科朗克信息科技有限公司
类型:发明
国别省市:

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

1