Beispiel #1
0
        public void GrammarIsParsing()
        {
            //arrange
            var toParse = File.ReadAllText(sampleMarkdownFilePath);
            //act
            ParseTree parseTree = _parser.Parse(toParse);

            _grammar.BuildAst(_langData, parseTree);
            Assert.False(parseTree.HasErrors());
            //assert
            Assert.NotNull(parseTree);
        }
Beispiel #2
0
        public string ConvertToHtml(string toParse)
        {
            ParseTree parseTree = Parser.Parse(toParse);

            if (parseTree.HasErrors())
            {
                return($"{Parser.Context.Status} before processing \"{Parser.Context.CurrentToken}\" at {Parser.Context.Source}");
            }
            MarkdownGrammar.BuildAst(LanguageData, parseTree);
            var x       = parseTree.Root.AstNode as BaseAst;
            var visitor = new HtmlConcreteVisitor(new StringBuilder());

            x.AcceptVisitor(visitor);
            return(visitor.CompiledHtml);
        }