Example #1
0
        public void T(string text)
        {
            var config    = new Configuration();
            var collector = new Collector(config);
            var stream    = ClangHelper.CreateTokenStream(text);
            var parser    = new ClangParser(stream);

            parser.AddErrorListener(new SyntaxErrorThrower());
            parser.AddParseListener(collector);
            parser.file();

            Assert.Equal(3, config.Defines.Count);
        }
Example #2
0
        public ITokenStream CreateStream(string text)
        {
            OutputHelper.WriteLine(text);

            var q = ClangHelper.CreateTokenStream(new AntlrInputStream(text));

            q.Fill();

            OutputHelper.WriteLine(
                string.Join(" -> ",
                            q.GetTokens()
                            .Select(s => new
            {
                s.Line,
                Pos   = s.Column,
                Token = ClangLexer.DefaultVocabulary.GetDisplayName(s.Type)
            })
                            .Select(s => s.Token == "EOL" ? $"EOL@{s.Line}\n" : s.Token)));

            return(q);
        }