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