Example #1
0
 private IRunner BuildRunner()
 {
     grammar.EnsureGrammarBuilt();
     return(PatternCompiler.Default.Compile(new Pattern()
     {
         Data = grammar.Grammar
     }));
 }
Example #2
0
        public void TestPegGrammar()
        {
            var grammar = new PegGrammar();

            grammar.EnsureGrammarBuilt();
            var runner = new PatternCompiler(new Compiler(), new DefaultOptimizer(), new ILJitter
            {
                EnableMemoization        = true,
                EnableCaptureMemoization = true,
            }).Compile(grammar.Grammar);
            var result       = runner.Run(StringData);
            var patternNames = runner.GetPatternsTriedAt(StringData.Length).ToList();

            Assert.AreEqual(true, result.IsSuccessful);
            Assert.IsTrue(patternNames.Count > 0);
        }