{ {**************************************************************************** {* * {* Copyright (c) 1980, 1981, 1988 * {* by DIGITAL Equipment Corporation, Maynard, Mass. * {* * {* This software is furnished under a license and may be used and copied * {* only in accordance with the terms of such license and with the * {* inclusion of the above copyright notice. This software or any other * {* copies thereof may not be provided or otherwise made available to any * {* other person. No title to and ownership of the software is hereby * {* transferred. * {* * {* The information in this software is subject to change without notice * {* and should not be construed as a commitment by DIGITAL Equipment * {* Corporation. * {* * {* DIGITAL assumes no responsibility for the use or reliability of its * {* software on equipment which is not supplied by DIGITAL. * {* * {**************************************************************************** {++ { facility: { { SDL (Structure Definition Language) { { abstract: { { These are the beginning declarations in SDLPLI.PLI. The text there is { written in its entirety because that module is a "model" for the { documentation. Those declarations are excerpted here for the { benefit of other language output modules. PL/I comments have been { converted to SDL local comments for brevity { { author: { c.t. pacy { date: { revised 22-DEC-1981 ctp { { C H A N G E L O G { { Date | Name | Description {_______________|_______|______________________________________________________ { 04-May-1987 | jgw | X3.1-0 Added change log; added definition of constant { | | SDL$K_UNKNOWN_LENGTH {_______________|_______|______________________________________________________ { 12-Jan-1988 | PG | X3.2-0 Added SDL$CVTSTR entry {_______________|_______|______________________________________________________ { 13-Jan-1988 | jg | X3.2-1 Added literal_active flag {_______________|_______|______________________________________________________ { 16-Feb-1988 | jg | X3.2-2 Corrected definition of sdl$getline and added { | | new parameter. {_______________|_______|______________________________________________________ { 22-Feb-1988 | PG | X3.2-3 Add flags for SUPPRESSion of PREFIXES and { | | TAGS {_______________|_______|______________________________________________________ { 08-Jul-1988 | jgw | X3.2-4 Added flag for /PLI_DEVELOPMENT qualifier. {_______________|_______|______________________________________________________ { 13-Feb-1990 | WRV | X3.2-5 Modifiers are developers from VMS tools group. { | RHT | William Vales and Robert Thomson. Add variable { | | vde_lang_file to shared data area. Modification { | | is to support the recording of dependency data { | | for the VMS VDE system builder. {_______________|_______|______________________________________________________ { 24-May-1990 | LWW | X3.2-6 Add alpha option {_______________|_______|______________________________________________________ { 4-May-92 | JAK | EV1-8 Add cc_opt option {_______________|_______|______________________________________________________ { 20-May-92 | JAK | EV1-10 Reordered structure, added fields: { | | sdldata_version, nodedef_version, { | | subfield_opt, and fillers for future use. {_______________|_______|______________________________________________________ { 4-Sep-92 | JAK | EV1-18 Add vax option {_______________|_______|______________________________________________________ { 1-Feb-1993 | JAK | EV1-21 Add b64_opt {_______________|_______|______________________________________________________ { {-- module $MISCellany ident "EV1-18"; #line_length = 132; constant LINE_LENGTH equals #line_length; { output file line length constant UNKNOWN_LENGTH equals -999 prefix "SDL$" TAG "K"; { unknown CHARACTER length { DATA and EXTERNAL ROUTINE DECLARATIONS { { This external routine outputs lines to the target language { output file. The first argument is the address of a buffer { with the output text, and the second argument is the maximum { line length for the output file. Output lines are broken off { and output on the next line if they are too long { entry SDL$PUTLINE parameter (any, character length 1024 varying, longword); { { This external routine returns a header giving the name of { the SDL utility and the current time and date { entry SDL$HEADER parameter (any, character length 2 varying, character length 2 varying, longword); entry SDL$getline parameter (any, character length 1024 varying, character length 1024 varying); entry SDL$writelist parameter ( character length 1024 varying , any); { { This external routine takes an integer argument and returns { a character string representation of the digit, stripped of { all leading blanks { entry TRIM parameter (longword) returns character length 32 varying; { { This external routine pads a character string with blanks to { fill it out to the desired column. If the string is already { longer than the requested column, a single space is added. { The routine accepts a character varying string and the column { number as arguments and returns a character varying string { entry "FILL" parameter (character varying descriptor , longword) returns character length #line_length varying; { PG { This external routine converts a string such that embedded 'quotes' { are converted to two characters dependant upon the language { For example, in CC, " becomes \", \ becomes \\ { entry SDL$CVTSTR parameter (character length 128 varying, character length 128 varying, character length 128 varying); constant sdl$k_shrdata_rev equals 1; aggregate sdl$_shr_data structure ; sdl$gl_options structure prefix sdl$ ; alpha_opt bitfield mask; /* lw vms_opt bitfield mask; pli_opt bitfield mask; cc_opt bitfield mask; /* jak listing_opt bitfield mask; noheader_opt bitfield mask; copyright_opt bitfield mask; global_opt bitfield mask; parse_opt bitfield mask; comment_opt bitfield mask; module_opt bitfield mask; literal_active bitfield mask; /* Set when processing LITERAL /* The above is not a command line option like all the others, /* but this is the only set of common flags available suppress_prefix bitfield mask; /* PG Suppress prefixes suppress_tag bitfield mask; /* PG Suppress tags member_align bitfield mask; /* Align structure members. jak check_align bitfield mask; /* Check alignment. jak subfield_opt bitfield mask; /* BLISS_FIELDS extensions jak vax_opt bitfield mask; /* /VAX sets this EV1-18 b64_opt bitfield mask; /* /B64 sets this EV1-21 /* add any new flags here! (take from unused fill below) unused_opt bitfield length 13 fill; end; shrdata_version word; node_version word; tree_root address; outfile longword; lisfile longword; infile_var longword; incl_file longword; main_return longword; errorcount longword; file_level longword; listline longword; unused_long longword dimension 8 fill; sdl_listing_header character length 132 varying dimension 2; full_source character length 68 varying; vde_lang_file character length 128 varying; sdl_version character length 10; end; end_module;