public JadeParser(String filename, TemplateLoader templateLoader) //throws IOException { this.filename = filename; this.templateLoader = templateLoader; _jadeLexer = new JadeLexer(filename, templateLoader); getContexts().AddLast(this); }
//throws IOException public JadeParser(String filename, TemplateLoader templateLoader) { this.filename = filename; this.templateLoader = templateLoader; _jadeLexer = new JadeLexer(filename, templateLoader); getContexts().AddLast(this); }
/// <summary> /// Gets the jade template. /// </summary> /// <returns>A new jade template.</returns> public ITemplate Parse(string jade) { jade.CheckNull("jade"); var lexer = new JadeLexer(jade); var rawTokens = new TokenStream(lexer.Tokenize()); var elementParser = new ElementParser(); var lines = rawTokens.GetLines(); DocType docType = null; var elements = new List <JElement>(); if (!lines.IsAtEnd()) { var firstLine = lines.Current; if (firstLine.Is(JadeTokenType.Doctype)) { firstLine.Consume(); firstLine.GetAny(TokenType.WhiteSpace); docType = new DocType(firstLine.GetAny(TokenType.Word)); lines.Consume(); } while (!lines.IsAtEnd()) { elementParser.ParseNextElement(lines).Do(elements.Add); } } return(new Template(docType, elements)); }
//throws Exception public JadeLexerTest() { FileTemplateLoader loader1 = new FileTemplateLoader(TestFileHelper.getLexerResourcePath(""), "UTF-8"); lexer1 = new JadeLexer("test_file1.jade", loader1); FileTemplateLoader loader2 = new FileTemplateLoader(TestFileHelper.getLexerResourcePath(""), "UTF-8"); lexer2 = new JadeLexer("empty_file.jade", loader2); }
public void ShouldNormalizeSourceWhenConstructingAJadeLexer() { var jadeLexerUnnomalized = new JadeLexer("A \r\n unnormalized \r\n string"); var tokensUnnormalized = jadeLexerUnnomalized.Tokenize().ToArray(); var jadeLexerNomalized = new JadeLexer("A \n unnormalized \n string"); var tokensNormalized = jadeLexerNomalized.Tokenize().ToArray(); CollectionAssert.AreEqual(tokensNormalized, tokensUnnormalized); }
public JadeLexerTest() //throws Exception { FileTemplateLoader loader1 = new FileTemplateLoader(TestFileHelper.getLexerResourcePath(""), "UTF-8"); lexer1 = new JadeLexer("test_file1.jade", loader1); FileTemplateLoader loader2 = new FileTemplateLoader(TestFileHelper.getLexerResourcePath(""), "UTF-8"); lexer2 = new JadeLexer("empty_file.jade", loader2); }
public IJadeCompileResult Compile(string input) { var lexer = new JadeLexer(); lexer = new JadeLexer(); var tokens = lexer.ReadCode(input); var parser = new JadeParser(); var ast = parser.ParseTokens(tokens); return(CompileFromAst(ast)); }