private static void TestLexer() { ILexer l = new ArithmeticLexer("1*2-3 + (5 + 6)*7"); var t = l.Current; Console.WriteLine(t); while (t.IsNot <EofToken>()) { t = l.GetNext(); Console.WriteLine(t); if (t != l.Current) { Console.WriteLine($"t ({t}) != l.Current ({l.Current})"); return; } } }