Ceci est une question de devoirs. Je voudrais écrire un analyseur simple pour les options de ligne de commande Unix.
D'abord, je voudrais définir une grammaire avec BNF.Grammaire pour les options de ligne de commande Unix
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;
("n'importe quel caractère" est n'importe quel caractère alphanumérique).
Est-ce logique? La question suivante est de savoir comment ajouter des "vieilles" options Unix, qui commencent par un seul trait d'union et peuvent être regroupées (par exemple ls -lht
)
Vous devez marquer comme devoirs. – sje397
Étiquette de devoirs ajoutée. –
@khachik: il ne l'exclut pas, il ne l'exclut que dans la première occurrence. Bien qu'il puisse apparaître dans la première occurrence en effet. –