[Home] [Prev] [Next] [Index]
A.15 The Package Command_Line
A.15 The Package Command_Line
- 1
- The package Command_Line allows a program to obtain the values of its arguments and to set the exit status code to be returned on normal termination.
- 1.a
- Implementation defined: The meaning of Argument_Count, Argument, and Command_Name.
- Static Semantics
- 2
- The library package Ada.Command_Line has the following declaration:
- 3
- package Ada.Command_Line is
pragma Preelaborate(Command_Line);
- 4
- function Argument_Count return Natural;
- 5
- function Argument (Number : in Positive) return String;
- 6
- function Command_Name return String;
- 7
- type Exit_Status is implementation-defined integer type;
- 8
- Success : constant Exit_Status;
Failure : constant Exit_Status;
- 9
- procedure Set_Exit_Status (Code : in Exit_Status);
- 10
- private
... -- not specified by the language
end Ada.Command_Line;
- 11
- function Argument_Count return Natural;
- 12
- If the external execution environment supports passing arguments to a program, then Argument_Count returns the number of arguments passed to the program invoking the function. Otherwise it returns 0. The meaning of "number of arguments" is implementation defined.
- 13
- function Argument (Number : in Positive) return String;
- 14
- If the external execution environment supports passing arguments to a program, then Argument returns an implementation-defined value corresponding to the argument at relative position Number. If Number is outside the range 1..Argument_Count, then Constraint_Error is propagated.
- 14.a
- Ramification: If the external execution environment does not support passing arguments to a program, then Argument(N) for any N will raise Constraint_Error, since Argument_Count is 0.
- 15
- function Command_Name return String;
- 16
- If the external execution environment supports passing arguments to a program, then Command_Name returns an implementation-defined value corresponding to the name of the command invoking the program; otherwise Command_Name returns the null string.
- 17
- The type Exit_Status represents the range of exit status values supported by the external execution environment. The constants Success and Failure correspond to success and failure, respectively.
- 18
- procedure Set_Exit_Status (Code : in Exit_Status);
- 19
- If the external execution environment supports returning an exit status from a program, then Set_Exit_Status sets Code as the status. Normal termination of a program returns as the exit status the value most recently set by Set_Exit_Status, or, if no such value has been set, then the value Success. If a program terminates abnormally, the status set by Set_Exit_Status is ignored, and an implementation-defined exit status value is set.
- 20
- If the external execution environment does not support returning an exit value from a program, then Set_Exit_Status does nothing.
- Implementation Permissions
- 21
- An alternative declaration is allowed for package Command_Line if different functionality is appropriate for the external execution environment.
- NOTES
- 22 36
- Argument_Count, Argument, and Command_Name correspond to the C language's argc, argv[n] (for n>0) and argv[0], respectively.
- 22.a
- Ramification: The correspondence of Argument_Count to argc is not direct -argc would be one more than Argument_Count, since the argc count includes the command name, whereas Argument_Count does not.
- Extensions to Ada 83
- 22.b
- This clause is new in Ada 9X.
[Home] [Prev] [Next] [Index]
documentation@rational.com
Copyright © 1993-1998, Rational Software Corporation. All rights
reserved.