aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.2.1/gcc/ada/vms_conv.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.2.1/gcc/ada/vms_conv.ads')
-rw-r--r--gcc-4.2.1/gcc/ada/vms_conv.ads311
1 files changed, 0 insertions, 311 deletions
diff --git a/gcc-4.2.1/gcc/ada/vms_conv.ads b/gcc-4.2.1/gcc/ada/vms_conv.ads
deleted file mode 100644
index 7f58c28e9..000000000
--- a/gcc-4.2.1/gcc/ada/vms_conv.ads
+++ /dev/null
@@ -1,311 +0,0 @@
-------------------------------------------------------------------------------
--- --
--- GNAT COMPILER COMPONENTS --
--- --
--- V M S _ C O N V --
--- --
--- S p e c --
--- --
--- Copyright (C) 2003-2005, Free Software Foundation, Inc. --
--- --
--- GNAT is free software; you can redistribute it and/or modify it under --
--- terms of the GNU General Public License as published by the Free Soft- --
--- ware Foundation; either version 2, or (at your option) any later ver- --
--- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
--- for more details. You should have received a copy of the GNU General --
--- Public License distributed with GNAT; see file COPYING. If not, write --
--- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
--- Boston, MA 02110-1301, USA. --
--- --
--- GNAT was originally developed by the GNAT team at New York University. --
--- Extensive contributions were provided by Ada Core Technologies Inc. --
--- --
-------------------------------------------------------------------------------
-
--- This package is part of the GNAT driver. It contains the procedure
--- VMS_Conversion to convert a VMS command line to the equivalent command
--- line with switches for the GNAT tools that the GNAT driver will invoke.
--- The qualifier declarations are contained in package VMS_Data.
-
-with Table;
-with VMS_Data; use VMS_Data;
-
-with GNAT.OS_Lib; use GNAT.OS_Lib;
-
-package VMS_Conv is
-
- -- A table to keep the switches on the command line
-
- package Last_Switches is new Table.Table
- (Table_Component_Type => String_Access,
- Table_Index_Type => Integer,
- Table_Low_Bound => 1,
- Table_Initial => 20,
- Table_Increment => 100,
- Table_Name => "Gnatcmd.Last_Switches");
-
- Normal_Exit : exception;
- -- Raise this exception for normal program termination
-
- Error_Exit : exception;
- -- Raise this exception if error detected
-
- Errors : Natural := 0;
- -- Count errors detected
-
- Display_Command : Boolean := False;
- -- Set true if /? switch causes display of generated command (on VMS)
-
- -------------------
- -- Command Table --
- -------------------
-
- -- The command table contains an entry for each command recognized by
- -- GNATCmd. The entries are represented by an array of records.
-
- type Parameter_Type is
- -- A parameter is defined as a whitespace bounded string, not begining
- -- with a slash. (But see note under FILES_OR_WILDCARD).
- (File,
- -- A required file or directory parameter
-
- Optional_File,
- -- An optional file or directory parameter
-
- Other_As_Is,
- -- A parameter that's passed through as is (not canonicalized)
-
- Unlimited_Files,
- -- An unlimited number of whitespace separate file or directory
- -- parameters including wildcard specifications.
-
- Unlimited_As_Is,
- -- Un unlimited number of whitespace separated paameters that are
- -- passed through as is (not canonicalized).
-
- Files_Or_Wildcard);
- -- A comma separated list of files and/or wildcard file specifications.
- -- A comma preceded by or followed by whitespace is considered as a
- -- single comma character w/o whitespace.
-
- type Parameter_Array is array (Natural range <>) of Parameter_Type;
- type Parameter_Ref is access all Parameter_Array;
-
- type Command_Type is
- (Bind,
- Chop,
- Clean,
- Compile,
- Check,
- Elim,
- Find,
- Krunch,
- Link,
- List,
- Make,
- Metric,
- Name,
- Preprocess,
- Pretty,
- Setup,
- Shared,
- Stub,
- Xref,
- Undefined);
-
- type Alternate_Command is (Comp, Ls, Kr, Pp, Prep);
- -- Alternate command label for non VMS system use
-
- Corresponding_To : constant array (Alternate_Command) of Command_Type :=
- (Comp => Compile,
- Ls => List,
- Kr => Krunch,
- Prep => Preprocess,
- Pp => Pretty);
- -- Mapping of alternate commands to commands
-
- subtype Real_Command_Type is Command_Type range Bind .. Xref;
-
- type Command_Entry is record
- Cname : String_Ptr;
- -- Command name for GNAT xxx command
-
- Usage : String_Ptr;
- -- A usage string, used for error messages
-
- Unixcmd : String_Ptr;
- -- Corresponding Unix command
-
- Unixsws : Argument_List_Access;
- -- Switches for the Unix command
-
- VMS_Only : Boolean;
- -- When True, the command can only be used on VMS
-
- Switches : Switches_Ptr;
- -- Pointer to array of switch strings
-
- Params : Parameter_Ref;
- -- Describes the allowable types of parameters.
- -- Params (1) is the type of the first parameter, etc.
- -- An empty parameter array means this command takes no parameters.
-
- Defext : String (1 .. 3);
- -- Default extension. If non-blank, then this extension is supplied by
- -- default as the extension for any file parameter which does not have
- -- an extension already.
- end record;
-
- -------------------------
- -- Internal Structures --
- -------------------------
-
- -- The switches and commands are defined by strings in the previous
- -- section so that they are easy to modify, but internally, they are
- -- kept in a more conveniently accessible form described in this
- -- section.
-
- -- Commands, command qualifers and options have a similar common format
- -- so that searching for matching names can be done in a common manner.
-
- type Item_Id is (Id_Command, Id_Switch, Id_Option);
-
- type Translation_Type is
- (
- T_Direct,
- -- A qualifier with no options.
- -- Example: GNAT MAKE /VERBOSE
-
- T_Directories,
- -- A qualifier followed by a list of directories
- -- Example: GNAT COMPILE /SEARCH=([], [.FOO], [.BAR])
-
- T_Directory,
- -- A qualifier followed by one directory
- -- Example: GNAT LIBRARY /SET=[.VAXFLOATLIB]
-
- T_File,
- -- A qualifier followed by a filename
- -- Example: GNAT LINK /EXECUTABLE=FOO.EXE
-
- T_No_Space_File,
- -- A qualifier followed by a filename
- -- Example: GNAT MAKE /PROJECT_FILE=PRJ.GPR
-
- T_Numeric,
- -- A qualifier followed by a numeric value.
- -- Example: GNAT CHOP /FILE_NAME_MAX_LENGTH=39
-
- T_String,
- -- A qualifier followed by a quoted string. Only used by
- -- /IDENTIFICATION qualifier.
- -- Example: GNAT LINK /IDENTIFICATION="3.14a1 version"
-
- T_Options,
- -- A qualifier followed by a list of options.
- -- Example: GNAT COMPILE /REPRESENTATION_INFO=(ARRAYS,OBJECTS)
-
- T_Commands,
- -- A qualifier followed by a list. Only used for
- -- MAKE /COMPILER_QUALIFIERS /BINDER_QUALIFIERS /LINKER_QUALIFIERS
- -- (gnatmake -cargs -bargs -largs )
- -- Example: GNAT MAKE ... /LINKER_QUALIFIERS /VERBOSE FOOBAR.OBJ
-
- T_Other,
- -- A qualifier passed directly to the linker. Only used
- -- for LINK and SHARED if no other match is found.
- -- Example: GNAT LINK FOO.ALI /SYSSHR
-
- T_Alphanumplus
- -- A qualifier followed by a legal linker symbol prefix. Only used
- -- for BIND /BUILD_LIBRARY (gnatbind -Lxyz).
- -- Example: GNAT BIND /BUILD_LIBRARY=foobar
- );
-
- type Item (Id : Item_Id);
- type Item_Ptr is access all Item;
-
- type Item (Id : Item_Id) is record
- Name : String_Ptr;
- -- Name of the command, switch (with slash) or option
-
- Next : Item_Ptr;
- -- Pointer to next item on list, always has the same Id value
-
- Command : Command_Type := Undefined;
-
- Unix_String : String_Ptr := null;
- -- Corresponding Unix string. For a command, this is the unix command
- -- name and possible default switches. For a switch or option it is
- -- the unix switch string.
-
- case Id is
-
- when Id_Command =>
-
- Switches : Item_Ptr;
- -- Pointer to list of switch items for the command, linked
- -- through the Next fields with null terminating the list.
-
- Usage : String_Ptr;
- -- Usage information, used only for errors and the default
- -- list of commands output.
-
- Params : Parameter_Ref;
- -- Array of parameters
-
- Defext : String (1 .. 3);
- -- Default extension. If non-blank, then this extension is
- -- supplied by default as the extension for any file parameter
- -- which does not have an extension already.
-
- when Id_Switch =>
-
- Translation : Translation_Type;
- -- Type of switch translation. For all cases, except Options,
- -- this is the only field needed, since the Unix translation
- -- is found in Unix_String.
-
- Options : Item_Ptr;
- -- For the Options case, this field is set to point to a list
- -- of options item (for this case Unix_String is null in the
- -- main switch item). The end of the list is marked by null.
-
- when Id_Option =>
-
- null;
- -- No special fields needed, since Name and Unix_String are
- -- sufficient to completely described an option.
-
- end case;
- end record;
-
- subtype Command_Item is Item (Id_Command);
- subtype Switch_Item is Item (Id_Switch);
- subtype Option_Item is Item (Id_Option);
-
- -------------------
- -- Switch Tables --
- -------------------
-
- -- The switch tables contain an entry for each switch recognized by the
- -- command processor. It is initialized by procedure Initialize.
-
- Command_List : array (Real_Command_Type) of Command_Entry;
-
- ----------------
- -- Procedures --
- ----------------
-
- procedure Initialize;
- -- Initialized the switch table Command_List
-
- procedure Output_Version;
- -- Output the version of this program
-
- procedure VMS_Conversion (The_Command : out Command_Type);
- -- Converts VMS command line to equivalent Unix command line
-
-end VMS_Conv;