Есть ли простой способ отделить опцию help от "реальных" опций программы? На самом деле, возможно ли определить иерархию опций, а-ля BNF:
options := help_options | program_options
help_options := '-h'
program_options := '-m1' mode1options | '-m2' mode2options
mode1options := number
...
Или есть лучший способ достичь этого? Должен ли я вернуться к спириту?