Esempio n. 1
0
        private static MParser GetSut(string text)
        {
            var window = new TextWindowWithNull(text);
            var parser = new MParser(window);

            return(parser);
        }
Esempio n. 2
0
        private static SyntaxTree GetTree(string fileName)
        {
            var text   = File.ReadAllText(fileName);
            var window = new TextWindowWithNull(text, fileName);
            var parser = CreateParser(window);
            var tree   = parser.Parse();

            return(tree);
        }
Esempio n. 3
0
        public void TestFile(string fileName)
        {
            var text        = File.ReadAllText(fileName);
            var window      = new TextWindowWithNull(text, fileName);
            var parser      = CreateParser(window);
            var tree        = parser.Parse();
            var actualText  = tree.Root.FullText;
            var actualWidth = tree.Root.FullWidth;

            Assert.Equal(text, actualText);
            Assert.Equal(text.Length, actualWidth);
        }
        public void ReturnCharsInCorrectOrder()
        {
            var text = "abc";
            var sut  = new TextWindowWithNull(text);

            Assert.Equal('a', sut.PeekChar());
            sut.ConsumeChar();
            Assert.Equal('b', sut.PeekChar());
            sut.ConsumeChar();
            Assert.Equal('c', sut.PeekChar());
            sut.ConsumeChar();
            Assert.Equal('\0', sut.PeekChar());
        }
Esempio n. 5
0
        private static void ParserDemo()
        {
            Console.WriteLine("Hello World!");
            var text   = @"x = 'abc";
            var window = new TextWindowWithNull(text, "noname");
            var parser = CreateParser(window);
            var tree   = parser.Parse();

            TreeRenderer.RenderTree(tree);
            if (tree.Diagnostics.Any())
            {
                foreach (var diagnostic in tree.Diagnostics)
                {
                    Console.WriteLine($"ERROR: {diagnostic.Message} at position {diagnostic.Span.Start}");
                }
            }
            Console.ReadKey();
        }
        public void ReturnNullGivenEmptyText()
        {
            var sut = new TextWindowWithNull("");

            Assert.True(sut.PeekChar() == '\0');
        }