Вот об том и вопрос универсальности парсера, что надо учитывать, что вообще может возникнуть в строке, что нужно предусмотреть, чтобы строку разбить на правильные токены
ну собссно да, машинка по "вычитыванию токенов" так и работает. Смотрит на символ. Делает из этого вывод, как поменять свой стейт - "нашелся токен", "ищем токен", "в середине токена" и так далее
но по-моему даже ' это уже через ридер макро реализовано
Хочется дотошно это дело разобрать, но простой краткой выжимки не вижу, в большинстве случаев отсылки к высокоуровневым языкам и как следствие недокомпиляторы с отсылкой "ну тут еще не учтено «пожелания»" или безумное нашромождение кода, типа проверки строки для парсера регекспами