【技术实现步骤摘要】
一种实时解析模板引擎的方法
[0001]本专利技术涉及一种模板引擎,特别涉及一种实时解析模板引擎的方法。
技术介绍
[0002]模板引擎应用领域广泛,如jinja2,ejs等应用于HTML模板化,也有些应用于环境及参数配置的,如ansile使用jinja2解析环境及参数配置,但是jinja2只支持"懒"加载解析,对稍微复杂些的配置不能很好的描述,很大程度上降低了模板的可读性,不利于后期的维护。本专利技术通过实时进行模板解析的方式,能很好的解决复杂配置的描述。
技术实现思路
[0003]1.所要解决的技术问题:现有模板引擎应用领域jinja2对稍微复杂些的配置不能很好的描述,很大程度上降低了模板的可读性,不利于后期的维护。
[0004]2.技术方案:为了解决以上问题,本专利技术提供了一种实时解析模板引擎的方法,以YAML为描述语言,jinja2的模板语法为基础,包括以下步骤:步骤S01:分离变量名和变量值:以从左到右,从上到下的顺序,以冒号为分割符,左边为变量名右边为值,以缩进为作用域分割符,同一缩进度 ...
【技术保护点】
【技术特征摘要】
1.一种实时解析模板引擎的方法,以YAML为描述语言,jinja2的模板语法为基础,包括以下步骤:步骤S01:分离变量名和变量值:以从左到右,从上到下的顺序,以冒号为分割符,左边为变量名右边为值,以缩进为作用域分割符,同一缩进度的作用域相同,从而建立一个"树"结构,树根的位置为顶级作用域,存在多个树根,“树“与”树“之间是依照解析的顺序从上至下依次存放,每个“树”是依照解析的顺序从上至下依次存放,每个“树”的节点依照解析的顺序从左至右依次存放,如果存在非法的不合规的则停止解析抛出异常原因;步骤S02:变量替换和更新:在步骤S01得到的"树"结构的基础上,采用循环递增的方式进行变量的替换和更新,从第一树的第一个节点开始,从左至右,从上至下递增,采用已经解析过的已定义的...
【专利技术属性】
技术研发人员:秦轶轩,杨杰,
申请(专利权)人:南京艾科朗克信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。