Я ищу одну или, скорее всего, несколько спецификаций, которые описывают элементы пути к файловой системе.Что я имею в виду под этим?В основном, я ищу реализацию "простого" (читайте, в кавычках) спецификации синтаксического анализатора, чтобы убедиться, что путь, который я читаю, действителен.В конечном счете, я хочу проанализировать разделенный список указанных путей, то есть, что я мог бы прочитать из переменной среды.
Я смотрю на DOS / Windows спецификации, но я ожидаю, что Linux , UNC и т. д. также будут приемлемыми вариантами.
Теперь, мертвый мозг, который я мог бы сделать, это простовозьмите строку и токенизируйте на разделителе , а затем, возможно, передайте токены во что-то вроде boost::filesystem::path
или std::filesystem::path
.Возможно, этого было бы достаточно?
Я знаю, что существуют такие спецификации для таких вещей, как адреса электронной почты, адреса Ури и подобные вещи.Это интересующая меня техническая спецификация.
Мой целевой язык C ++ .В противном случае я использую Boost Spirit Qi для грамматики синтаксического анализатора.Я ожидаю, что грамматика должна выражать такие вещи, как действительные символы, запрещать недопустимые символы в стратегическое время и тому подобное.
Спасибо!