これは宿題の質問です。Unix コマンド ライン オプション用の簡単なパーサーを書きたいと思います。
まず、BNF で文法を定義したいと思います。
Options = Option | Options, space, Option;
Option = OptionName | OptionName, OptionArguments;
OptionName = '--', any character excluding '-' | OptionName, any character;
OptionArguments = OptionArgument | OptionArguments, space, OptionArgument;
OptionArgument = any character excluding '-' | OptionArgument, any character;
(ここでの「任意の文字」は任意の英数字です)。
それは理にかなっていますか?次の質問は、単一のハイフンで始まり、グループ化できる「古い」Unix オプションを追加する方法です (例: ls -lht
)