/// <summary> /// 从模板代码初始化模板对象。 /// </summary> /// <param name="name">指定模板名称。</param> /// <param name="data">包含模板代码的字符串。</param> /// <returns>Template</returns> public static Template FromString(string name, string data) { TemplateLexer lexer = new TemplateLexer(data); TemplateParser parser = new TemplateParser(lexer); List<Element> elems = parser.Parse(); TagParser tagParser = new TagParser(elems); elems = tagParser.CreateHierarchy(); return new Template(name, elems); }
/// <summary> /// 初始化模板解析器。 /// </summary> /// <param name="lexer">指定一个模板词汇分析器的实例。</param> public TemplateParser(TemplateLexer lexer) { _Lexer = lexer; _Elements = new List<Element>(); }