Привет всем!
Имеются строки вида
(1i8,3e20.9e3)
(3i8,6e16.9)
(19i8)
Хотелось бы уметь их парсить и получать на выходе список с описанием параметров.
Запятыми производится разделение на подстроки, а подстроки в свою очередь имеют описание целого или числа с плавающей точкой. В описании числа с плавающей точкой указание размера дробной и экспоненциальной частей опционально.
Прошу помочь разобраться, есть ли элегантный способ распарсить эти строки с помощью std::regexp или проще использовать парселку, написанную на коленке?
На выходе хочу получить
list<FormatDescription>
, где FormatDescriprion примерно такой:
struct FormatDescriprion {
int count;
enum Type{INT, FLOAT}type;
int fieldWidth;
int fractionWidth;
int exponentionWidth;
};