Parse arguments expressed in Ada-like syntax
Date/Time of Processing: Tuesday 24 May 1994 01:44:54Pm Overall Assessment of System: OK Classification of System: B Basis of Classification -- Syntax Errors PASS Completeness PASS Independence from External Libraries FAIL Independence from a Specific Ada Compiler PASS Explanations for failures -- System withs non-standard library units that are not provided Number of ... Files 3 Library Units 3 Lines 4306 Statements 1488 Comments 875 Unidentified Withed Units -- 7 unidentified withed units Subunits and Parent Units -- 1 parent program units 0 missing parent units 1 subunits 0 subunits found but not specified 0 subunits specified but not found
languages/ada/asr/new-abstractions/sintf: File Name Size --------- ---- sintf.zip 15,367 languages/ada/asr/new-abstractions/release: File Name Size --------- ---- release.zip 271 Totals ============== ============== 2 Files 15,638
Package Standard_Interface is used to: 1) parse a line of arguments expressed in Ada (valid Ada is accepted but may not be required, depending on the switches selected) 2) create a paginated output file with a standardized header and/or footer text and page size Given a specification of the arguments to be parsed, the subprogram Parse_Line parses a given line. If there were errors, they are reported on the current output and a description of valid input is given and the Abort_Process exception is raised. If there are no errors, the process and argument(s) are echoed to current output using named parameter associations, showing the values of every parameter, even those that were defaulted. A prompt is given to continue with the process or to abort by raising the Abort_Process exception. The following operations are controlled by switches. If Parse_Line is successful, a subprogram Get_Argument may be called to obtain the value of an argument by its named association. Six types of arguments are supported: integer, string, enumeration, list of integer, list of strings, and list of enumeration values. Generic package Command_Line is provided for parsing an enumerated set of commands and their corresponding arguments. Generic packages Enumerated_Argument, Enumerated_List_Argument, Integer_Argument, Integer_List_Argument, and String_List_Argument are provided for arguments which are enumeration type, list of enumeration type, integer subtype, list of integer subtype, and list of string type, respectively. The subprogram Define_Output returns a paginated file handle to be used for subsequent output operations, or will create a paginated output file and set the current paginated output file to be the specified file. The syntax of a process is specified by providing the following: 1) name of the process 2) general help pertaining to this process (optional) 3) for each argument: name (a string) help (an optional string) default value (type of argument being defined) 4) any other text to appear in the help message Goals: 1) it should be easy to write the definition of a command line 2) it should be easy for the user to type commands 3) it should accept valid Ada (but not require it) 4) handle all aspects of parsing, reporting errors, etc. 5) use not limited to command line parsing Many subprograms and subpackages are provided by this package. See the package specification for details. NEW_ABSTRACTIONS is used by NOSC/WIS tools 4.1.1 and 4.1.2.
DATE VERSION AUTHOR HISTORY 03/85 1.0 Bill Toscano Initial Release
This prologue must be included in all copies of this software. This software is copyright by the author. This software is released to the Ada community. This software is released to the Public Domain (note: software released to the Public Domain is not subject to copyright protection). Restrictions on use or distribution: NONE
This software and its documentation are provided "AS IS" and without any expressed or implied warranties whatsoever. No warranties as to performance, merchantability, or fitness for a particular purpose exist. The user is advised to test the software thoroughly before relying on it. The user must assume the entire risk and liability of using this software. In no event shall any person or organization of people be held responsible for any direct, indirect, consequential or inconsequential damages or lost profits.