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); }
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); }