using Larkdown.Parser.Ast; using Larkdown.Parser.Lexer; using System; using System.Collections.Generic; using System.Text; namespace Larkdown.Parser { public class Parser { public Parser() { } public Ast.Ast Parse(string source) { var ast = new Ast.Ast(); var lexer = new BlockLexer(source); var node = new ParagraphNode(); BlockToken token; while ((token = lexer.NextToken()) != null) { if (String.IsNullOrEmpty(token.Content)) { ast.Add(node); node = new ParagraphNode(); } else { node.AddText(token.Content); } } ast.Add(node); return ast; } } }