Exemple #1
0
        public static antlr.TokenStream CreateBooLexer(int tabSize, string readerName, TextReader reader)
        {
            var selector = new antlr.TokenStreamSelector();

            var lexer = new BooLexer(reader);
            lexer.setFilename(readerName);
            lexer.Initialize(selector, tabSize, BooToken.TokenCreator);

            var filter = new IndentTokenStreamFilter(lexer, WS, INDENT, DEDENT, EOL);
            selector.select(filter);

            return selector;
        }
        void AssertTokenSequence(Token[] tokens, params int[] expectedSequence)
        {
            Queue queue = new Queue();
            foreach (Token token in tokens)
            {
                queue.Enqueue(token);
            }

            IndentTokenStreamFilter stream = new IndentTokenStreamFilter(new FakeStream(queue), WS, INDENT, DEDENT, EOS);

            int index=0;
            foreach (int expected in expectedSequence)
            {
                Assert.AreEqual(expected, stream.nextToken().Type, "sequence item: " + (index++));
            }
        }