internal void OnUnknownTokens(ISourceReadingState state, IReadOnlyList <Token> tokens) => Console.WriteLine("Encountered unknown token sequence in {0}: {1}", state, string.Concat(tokens.Select(t => $"{t.Text}({t.Type})")));
internal void Push(ISourceReadingState state) => _States.Push(state);