Ejemplo n.º 1
0
        private void SetupParser(string line)
        {
            lexer = new PreprocessorLexer(new AntlrInputStream(line));
            var tokens = new CommonTokenStream(lexer);

            parser = new PreprocessorParser(tokens);
        }
Ejemplo n.º 2
0
        public void TestEmptyComment()
        {
            string inputText = "/**/ ";
            var input = new ANTLRStringStream(inputText);
            var lexer = new PreprocessorLexer(input);
            var tokenStream = new CommonTokenStream(lexer);
            tokenStream.Fill();

            List<IToken> tokens = tokenStream.GetTokens();
            Assert.AreEqual(2, tokens.Count);
            Assert.AreEqual(PreprocessorLexer.DELIMITED_COMMENT, tokens[0].Type);
            Assert.AreEqual("/**/", tokens[0].Text);
            Assert.AreEqual(PreprocessorLexer.EOF, tokens[1].Type);
        }
Ejemplo n.º 3
0
        internal VbaHeader()
        {
            classHeaderLines = new List <PreprocessorParser.ClassHeaderLineContext>();
            attributes       = new List <PreprocessorParser.ModuleAttributeContext>();
            syntaxErrors     = new List <SyntaxError>();

            lexer = new PreprocessorLexer(new AntlrInputStream(""));
            var tokens = new CommonTokenStream(lexer);

            parser = new PreprocessorParser(tokens);

            errorHandler = new HeaderErrorListener();
            lexer.AddErrorListener(errorHandler);
            parser.AddErrorListener(errorHandler);
        }
Ejemplo n.º 4
0
        public void TestEmptyComment()
        {
            string inputText   = "/**/ ";
            var    input       = new ANTLRStringStream(inputText);
            var    lexer       = new PreprocessorLexer(input);
            var    tokenStream = new CommonTokenStream(lexer);

            tokenStream.Fill();

            List <IToken> tokens = tokenStream.GetTokens();

            Assert.AreEqual(2, tokens.Count);
            Assert.AreEqual(PreprocessorLexer.DELIMITED_COMMENT, tokens[0].Type);
            Assert.AreEqual("/**/", tokens[0].Text);
            Assert.AreEqual(PreprocessorLexer.EOF, tokens[1].Type);
        }
Ejemplo n.º 5
0
        internal static PreprocessorParser BuildPreprocessorParser(string source)
        {
            var errorHandler = new TestErrorListener();

            var input = new AntlrInputStream(source);

            var lexer = new PreprocessorLexer(input);

            lexer.AddErrorListener(errorHandler);

            var tokens = new CommonTokenStream(lexer);

            var parser = new PreprocessorParser(tokens);

            parser.AddErrorListener(errorHandler);
            parser.AddErrorListener(new DiagnosticErrorListener());
            parser.ErrorHandler = new BailErrorStrategy();
            return(parser);
        }