Initial commit
This commit is contained in:
parent
6b9e6f3480
commit
cea7bb8db9
36
src/argument_parser.ads
Normal file
36
src/argument_parser.ads
Normal 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;
|
||||||
Loading…
Reference in New Issue
Block a user