Appearance
编译流程
- 获取模板
- 转换成 AST
- 处理 AST
- 生成 render 函数
function compiler(input) {
let tokens = tokenizer(input)
let ast = parser(tokens)
let newAst = transformer(ast)
let output = codeGenerator(newAst)
// and simply return the output!
return output
}
解析
解析通常分为两个阶段:词法解析和语法解析
词法解析:由分词器(tokenizer)或 词法解析器(lexer)将原生代码解析成