sydupc |
Table of contents
ProcedureSYDUPC ( Create a duplicate of a symbol ) SUBROUTINE SYDUPC ( NAME, COPY, TABSYM, TABPTR, TABVAL ) AbstractCreate a duplicate of a symbol within a character symbol table. If a symbol with the new name already exists, its components are replaced. Required_ReadingSYMBOLS KeywordsSYMBOLS DeclarationsIMPLICIT NONE INTEGER LBCELL PARAMETER ( LBCELL = -5 ) CHARACTER*(*) NAME CHARACTER*(*) COPY CHARACTER*(*) TABSYM ( LBCELL:* ) INTEGER TABPTR ( LBCELL:* ) CHARACTER*(*) TABVAL ( LBCELL:* ) Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- NAME I Name of the symbol to be duplicated. COPY I Name of the new symbol. TABSYM, TABPTR, TABVAL I-O Components of the symbol table. Detailed_InputNAME is the name of the symbol to be duplicated. The components associated with NAME will be given to the new symbol COPY. If NAME is not in the symbol table, no duplicate symbol can be made. COPY is the name of the new symbol. If a symbol with the name COPY already exists in the symbol table, its components are replaced by the components of NAME. TABSYM, TABPTR, TABVAL are the components of a character symbol table. Detailed_OutputTABSYM, TABPTR, TABVAL are the components of a character symbol table. On output, the symbol table contains a new symbol COPY whose components are the same as the components of NAME. ParametersNone. Exceptions1) If the symbol NAME is not in the symbol table, the error SPICE(NOSUCHSYMBOL) is signaled. 2) If duplication of the symbol causes an overflow in the name table, the error SPICE(NAMETABLEFULL) is signaled. 3) If duplication of the symbol causes an overflow in the pointer table, the error SPICE(POINTERTABLEFULL) is signaled. 4) If duplication of the symbol causes an overflow in the value table, the error SPICE(VALUETABLEFULL) is signaled. FilesNone. ParticularsIf the symbol NAME is not in the symbol table, no duplicate symbol can be made. If the symbol COPY is already in the symbol table, its components are replaced by the components of NAME. ExamplesThe contents of the symbol table are: BOHR --> HYDROGEN ATOM EINSTEIN --> SPECIAL RELATIVITY PHOTOELECTRIC EFFECT BROWNIAN MOTION FERMI --> NUCLEAR FISSION The code, CALL SYDUPC ( 'FERMI', 'HAHN', TABSYM, TABPTR, TABVAL ) produces the symbol table: BOHR --> HYDROGEN ATOM EINSTEIN --> SPECIAL RELATIVITY PHOTOELECTRIC EFFECT BROWNIAN MOTION FERMI --> NUCLEAR FISSION HAHN --> NUCLEAR FISSION The code, CALL SYDUPC ( 'STRASSMAN', 'HAHN', TABSYM, TABPTR, TABVAL ) produces the error SPICE(NOSUCHSYMBOL) because the symbol "STRASSMAN" is not in the symbol table. RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionJ. Diaz del Rio (ODC Space) H.A. Neilan (JPL) W.L. Taber (JPL) I.M. Underwood (JPL) VersionSPICELIB Version 1.1.0, 08-APR-2021 (JDR) Added IMPLICIT NONE statement. Edited the header to comply with NAIF standard. SPICELIB Version 1.0.1, 10-MAR-1992 (WLT) Comment section for permuted index source lines was added following the header. SPICELIB Version 1.0.0, 31-JAN-1990 (IMU) (HAN) |
Fri Dec 31 18:36:59 2021