Initial commit

This commit is contained in:
Folkert Kevelam 2025-07-11 22:04:47 +02:00
parent 6b9e6f3480
commit cea7bb8db9

36
src/argument_parser.ads Normal file
View File

@ -0,0 +1,36 @@
package Argument_Parser is
type Option is interface;
function Parse (I : string) return Option is abstract;
type Argument_Parser is tagged private;
procedure Add_Positional (
Parser : in out Argument_Parser;
Input_Type : Option'Class;
Key : string;
Collect_Further_Inputs : Boolean := False);
procedure Add_Boolean_Option (
Parser : in out Argument_Parser;
Short_String : string;
Long_String : string)
procedure Add_Count_Option (
Parser : in out Argument_Parser;
Short_String : string;
Long_String : string;
Start_Count : Count := 0);
procedure Add_Option (
Parser : in out Argument_Parser;
Input_Type : Option'Class;
Short_String : string;
Long_String : string);
private
type Argument_Parser is tagged null record;
end Argument_Parser;