Я пытаюсь написать токенизатор для CSS на C ++, но я не знаю, как написать токенизатор. Я знаю, что он должен быть жадным, читая как можно больше входных данных для каждого токена, и теоретически я знаю, как я могу поместить это в код.
Я посмотрел на Boost.Tokenizer, и это кажется хорошим, но это мне не помогает. Конечно, это хорошая оболочка для токенизатора, но проблема заключается в написании разделителя токенов, TokenizerFunction в терминах Boost.
Я понятия не имею, как написать этот токенизатор, есть ли "аккуратные" способы сделать это, например, что-то, что очень напоминает сам синтаксис ?
Обратите внимание, я не ищу парсер! Моему приложению не нужно уметь понимать CSS, просто прочитайте файл CSS в общий внутренний формат токенов, обработайте некоторые вещи и выведите снова.