Справочник Ada 95
A.15 Пакет Command_Line
Пакет Command_Line позволяет программе получать значения своих аргументов и устанавливать код состояния завершения, который будет возвращен при нормальном завершении.
Статическая семантика
Библиотечный пакет Ada.Command_Line имеет следующее объявление:
package Ada.Command_Line is
pragma Preelaborate(Command_Line);
pragma Preelaborate(Command_Line);
function Argument_Count return Natural;
function Argument (Number : in Positive) return String;
function Command_Name return String;
type Exit_Status is определяемый реализацией целочисленный тип;
Success : constant Exit_Status;
Failure : constant Exit_Status;
Failure : constant Exit_Status;
procedure Set_Exit_Status (Code : in Exit_Status);
private
... -- не определено языком
end Ada.Command_Line;
... -- не определено языком
end Ada.Command_Line;
function Argument_Count return Natural;
Если внешняя среда выполнения поддерживает передачу аргументов в программу, то Argument_Count возвращает количество аргументов, переданных программе, вызывающей функцию. В противном случае возвращает 0. Значение «количество аргументов» определяется реализацией.
function Argument (Number : in Positive) return String;
Если внешняя среда выполнения поддерживает передачу аргументов в программу, то Argument возвращает определяемое реализацией значение, соответствующее аргументу в относительной позиции Number. Если Number находится вне диапазона 1..Argument_Count, то генерируется ошибка Constraint_Error.
function Command_Name return String;
Если внешняя среда выполнения поддерживает передачу аргументов в программу, то Command_Name возвращает определяемое реализацией значение, соответствующее имени команды, вызывающей программу; в противном случае Command_Name возвращает пустую строку.
type Exit_Status is implementation-defined integer type;
Тип Exit_Status представляет диапазон значений кода состояния завершения, поддерживаемый внешней средой выполнения. Константы Success и Failure соответствуют успешному и неудачному завершению соответственно.
procedure Set_Exit_Status (Code : in Exit_Status);
Если внешняя среда выполнения поддерживает возвращение кода состояния завершения из программы, то Set_Exit_Status устанавливает Code в качестве статуса. Нормальное завершение программы возвращает как код состояния значение, установленное последним вызовом Set_Exit_Status, или, если такое значение не было установлено, значение Success. Если программа завершается аномально, статус, установленный Set_Exit_Status, игнорируется, и устанавливается определяемое реализацией значение кода состояния завершения.
Если внешняя среда выполнения не поддерживает возвращение кода состояния завершения из программы, то Set_Exit_Status ничего не делает.
Разрешения реализации
Допускается альтернативное объявление пакета Command_Line, если для внешней среды выполнения подходит иная функциональность.
ПРИМЕЧАНИЯ
36 Argument_Count, Argument и Command_Name соответствуют argc, argv[n] (для n>0) и argv[0] языка C соответственно.