Exemple #1
0
        public void TestResetOnANTLRInputStream()
        {
            Encoding encoding = Encoding.Unicode;

            byte[]       buffer        = encoding.GetBytes("One\r\nTwo");
            MemoryStream grammarStream = new MemoryStream(buffer);

            ANTLRInputStream inputStream = new ANTLRInputStream(grammarStream, encoding);

            Assert.AreEqual(0, inputStream.Index);
            Assert.AreEqual(0, inputStream.CharPositionInLine);
            Assert.AreEqual(1, inputStream.Line);

            inputStream.Consume();                      // O
            inputStream.Consume();                      // n

            Assert.AreEqual('e', inputStream.LA(1));
            Assert.AreEqual(2, inputStream.Index);

            inputStream.Reset();
            Assert.AreEqual('O', inputStream.LA(1));
            Assert.AreEqual(0, inputStream.Index);
            Assert.AreEqual(0, inputStream.CharPositionInLine);
            Assert.AreEqual(1, inputStream.Line);
            inputStream.Consume();                      // O

            Assert.AreEqual('n', inputStream.LA(1));
            Assert.AreEqual(1, inputStream.Index);
            Assert.AreEqual(1, inputStream.CharPositionInLine);
            Assert.AreEqual(1, inputStream.Line);
            inputStream.Consume();                      // n

            Assert.AreEqual('e', inputStream.LA(1));
            Assert.AreEqual(2, inputStream.Index);
            Assert.AreEqual(2, inputStream.CharPositionInLine);
            Assert.AreEqual(1, inputStream.Line);
            inputStream.Consume();                      // e
        }
		public void TestResetOnANTLRInputStream()
		{
			Encoding encoding = Encoding.Unicode;
			byte[] buffer = encoding.GetBytes("One\r\nTwo");
			MemoryStream grammarStream = new MemoryStream(buffer);

			ANTLRInputStream inputStream = new ANTLRInputStream(grammarStream, encoding);
			Assert.AreEqual(0, inputStream.Index());
			Assert.AreEqual(0, inputStream.CharPositionInLine);
			Assert.AreEqual(1, inputStream.Line);

			inputStream.Consume();		// O
			inputStream.Consume();		// n

			Assert.AreEqual('e', inputStream.LA(1));
			Assert.AreEqual(2, inputStream.Index());

			inputStream.Reset();
			Assert.AreEqual('O', inputStream.LA(1));
			Assert.AreEqual(0, inputStream.Index());
			Assert.AreEqual(0, inputStream.CharPositionInLine);
			Assert.AreEqual(1, inputStream.Line);
			inputStream.Consume();		// O

			Assert.AreEqual('n', inputStream.LA(1));
			Assert.AreEqual(1, inputStream.Index());
			Assert.AreEqual(1, inputStream.CharPositionInLine);
			Assert.AreEqual(1, inputStream.Line);
			inputStream.Consume();		// n

			Assert.AreEqual('e', inputStream.LA(1));
			Assert.AreEqual(2, inputStream.Index());
			Assert.AreEqual(2, inputStream.CharPositionInLine);
			Assert.AreEqual(1, inputStream.Line);
			inputStream.Consume();		// e
		}