g-comlin.ads
32.5 KB
-
g-comlin.ads, [...] (Command_Line_Configuration, [...]): New types · da2ac8c2
2007-09-26 Emmanuel Briot <briot@adacore.com> * g-comlin.ads, g-comlin.adb (Command_Line_Configuration, Command_Line): New types (Define_Alias, Define_Prefix, Free): New subprograms. These provide support for defining how switches can be grouped on a command line (as is the case for -gnatw... for GNAT), and how simple switches can be used as aliases for more complex switches (-gnatwa is same as -gnatwbcef...) (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram (Start, Current_*): New subprograms Added support for parsing an array of strings in addition to the real command line. (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to be moved from the body to the private part of the spec. (*): All subprograms now have an extra parameter with default value to specify which parser should be used. For backward compatibility, it defaults to parsing the command line of the application. They were also modified to properly handle cases where each of the argument does not start at index 1 (which is always true for Ada.Command_Line, but not when processing any Argument_List). (Free): New subprogram (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch, Argument): New subprograms (Switch_Parameter_Type): New enum, which clarifies the code. The extra special characters like ':', '=',... are now handled in a single place, which makes the code more extensible eventually. (Getopt, Full_Switch): When the switch was returned as part of the special character '*', make sure it is prepended by the switch character ('-' in general), so that the application knows whether "foo" or "-foo" was specified on the command line. From-SVN: r128791
Emmanuel Briot committed