模版引擎AderTemplate源代码分析笔记

概述

 AderTemplate是一个小型的模板引擎。无论是拿来直接使用还是用来研究模板引擎实现方式,都是一个不错的选择。本文尝试对其源代码做一些分析。

 

数据流程

 AderTemplate的数据处理流程可以总结为:
 
模版文件 -> 模版分析 -> Template对象 -> 分析处理TemplateElement集合 -> 输出目标文本

 

模版语法

 简化描述如下

 1,变量替换 :如#variable#

 2,循环语句 <ad:foreach var="x" collection="#values#" index=”i”></ad:foreach>

 3,判断语句 <ad:if test="#value#"> </ad:if>

 详细请参看AderTemplate的相关说明.

模版分析

模版分析的过程可以分成两步:
1
,把模版文件分析成Token

2,对Token流进行分析,形成Element集合

所以,首先要了解TokenElement的结构与异同。

Token的类结构:

AderTemplateToken.JPG

TokenKind(Token的类型)的详细说明: