Parse() public method

public Parse ( ) : DaisyAst
return DaisyAst
Beispiel #1
0
        public static DaisyAst Parse(string code)
        {
            var llstream = new LookAheadStream <Token>(new Lexer(code.ToStream()).Lex());
            var parser   = new DaisyParser(llstream);

            return(parser.Parse());
        }
Beispiel #2
0
 public void ItDiesOnIllegalStatements(string code)
 {
     var llstream = new LookAheadStream<Token>(new Lexer(code.ToStream()).Lex());
     var parser = new DaisyParser(llstream);
     try
     {
         parser.Parse();
     }
     catch (Exception)
     {
         //throw;
         return;
     }
     Assert.Fail("Expected " + code + " to not parse");
 }
Beispiel #3
0
 public static DaisyAst Parse(string code)
 {
     var llstream = new LookAheadStream<Token>(new Lexer(code.ToStream()).Lex());
     var parser = new DaisyParser(llstream);
     return parser.Parse();
 }
Beispiel #4
0
 public void ItParsesLanguages(string code, string expectedTree)
 {
     var llstream = new LookAheadStream<Token>(new Lexer(code.ToStream()).Lex());
     var parser = new DaisyParser(llstream);
     var tree = parser.Parse();
     Assert.IsNotNull(tree);
     var actualTree = DaisyAstPrinter.Print(tree.Root);
     if(expectedTree != actualTree)
     {
         Console.WriteLine(expectedTree);
         Console.WriteLine("----------------");
         Console.WriteLine(actualTree);
     }
     Assert.AreEqual(expectedTree, actualTree);
 }