Это немного теоретический вопрос о том, как сделать это «правильно», даже если у меня есть взломанное решение для него.Список программ отслеживания параметров по умолчанию и вариантов исполнения
У меня есть скомпилированная программа X
, которая выполняется как часть рабочего процесса. Рабочий процесс принимает входные данные с разных этапов 1-4, и на шаге 5 весь этот ввод преобразуется в список явно переданных опций Le
, которые передаются в скомпилированную программу X
для выполнения. Затем в следующем шаге 8 в полученных файлах программы выполнения X
анализируются параметры Le
, которые были явно переданы программе X
и записываются в таблицу опций T
, которая должна полностью описать, как была выполнена программа X
.
Проблема в том, что программа X
имеет значения по умолчанию для всех параметров, которые явно не передавались. Это полный неявный список опций Li
программы X
. Я хочу, чтобы окончательная таблица опций T
была заполнена путем объединения явных опций Le
со списком значений по умолчанию Li
.
Теперь реализация: решение, которое я до сих пор является первым разбором Le
списка из результирующих файлов, а затем запустить программу X --help
, в котором перечислены все параметры со значениями по умолчанию, и анализировать их как Li
. Затем, чтобы в конечном итоге со списком ключ/значение T
, заменить записи в Li
по записям, если они присутствуют, в Le
:
X --A 1 --B 2 --C 3 --F 5 > Le.tsv
X --help > Li.tsv
./merge_lists Li.tsv Le.tsv > T.tsv
Это лучший способ сделать это? Любые другие идеи?
спасибо, это именно то, что мы закончили с помощью ' -help-defaults', который печатает пары ключевых значений, которые мы можем проанализировать по течению. – 719016