Есть ли парсер, который интерпретирует двоеточие и запятую? - PullRequest
4 голосов
/ 28 марта 2012

Я новичок в использовании Using boost :: program_options, и я хотел бы проанализировать числовой аргумент командной строки с двоеточием и запятой. Например, я хотел бы привести такой аргумент:

myprogram --numbers 1:100,200,300

Создайте вектор с целыми числами 1-100, затем 200 и, наконец, 300.

Есть ли название для этой записи?

Вначале я склонялся к тому, чтобы рассматривать этот аргумент как строку, а затем передавать его в функцию-функцию, которая выполняет синтаксический анализ. Похоже, что это отличный кандидат на то, что «кто-то уже сделал и сделал доступным».

1 Ответ

0 голосов
/ 08 мая 2013

Я бы использовал boost :: spirit и определил бы некоторые пользовательские семантические действия . Убедитесь, что используемая вами версия boost :: spirit совместима с этим компилятором. У меня были проблемы с использованием более нового boost :: spirit со старыми компиляторами. Матлаб называет 1: 5 «двоеточие». Довольно анти-климатическое, а?

...