1 /* BEGIN format_tables.incl.pl1 */
  2 
  3 /****^  HISTORY COMMENTS:
  4   1) change(86-07-14,BWong), approve(86-07-14,MCR7382), audit(86-07-17,Ginter):
  5      Fix fortran bug 122.
  6                                                    END HISTORY COMMENTS */
  7 
  8 /* format: style2 */
  9 /*
 10    Modified:
 11           27 Nov 85, RW 122 - Changed fmt_len from fixed bin (11) to
 12                 fixed bin (12) unsigned.
 13           19 Oct 82, TO - Added 'd_format'.
 14           27-31 July 1981, MEP - Changed names of format_desc_bit fields, and added names of new formats.
 15           23 May 1978, DSL - Change precision of scalars to fixed bin(8).
 16           Modified: March 1978, DSL - to implement new runtime format
 17           modified: June 1976, by D Levin
 18 
 19      This include file defines the internal representation of format specifications for fortran. */
 20 
 21 
 22 /* number of array elements required to represent a format specification */
 23 
 24 /* format: off */
 25      dcl     increment_table        (0:29) fixed bin internal static options (constant)
 26           init (3, 4, 4, 3, 4, 3, 4, 0, 0, 3, 3, 3, 2, 3, 2, 2, 1, 1, 1, 3, 1, 3, 0, 0, 0, 1, 1, 1, 1, 1);
 27 /*              i  f  e  l  d  o  g        r  a  h  x  t  p  (  )  /  :  "  E  tr          bz bn s  sp ss */
 28 
 29 /* format: on */
 30 /* actual representation of a format statement */
 31 
 32      dcl     1 runtime_format       based aligned structure,
 33                2 header_word        unaligned structure,
 34                  3 version          bit (6),                /* current version is fmt_parse_ver1 */
 35                  3 last_left_paren  fixed bin (11),         /* position at which to repeat the spec */
 36                  3 format_desc_bits structure,
 37                    4 anyitems       bit (1),                /* ON if format contains a field descriptor */
 38                    4 list_directed  bit (1),                /* ON if format specifies list directed format */
 39                    4 skip_line_numbers
 40                                     bit (1),                /* ON if format specifies skiping line numbers */
 41                    4 contains_hollerith
 42                                     bit (1),                /* ON if format contains hollerith fields */
 43                    4 suppress_newline
 44                                     bit (1),                /* ON if final new_line not wanted */
 45                    4 pad            bit (1),
 46                  3 fmt_len          fixed bin (12) unsigned,/* length of format, in chars */
 47                2 fmt                (1023) bit (36);        /* encoded format specs */
 48 
 49      dcl     1 old_format           aligned based structure,
 50                2 header_word        like runtime_format.header_word unaligned structure,
 51                2 fmt                (1022) fixed bin (17) unaligned;
 52 
 53      dcl     1 format               aligned based,
 54                2 long_format        bit (1) unaligned,
 55                2 spec               fixed bin (7) unaligned,
 56                2 rep_factor         fixed bin (8) unaligned,
 57                2 width              fixed bin (8) unaligned,
 58                2 precision          fixed bin (8) unaligned;
 59 
 60      dcl     1 long_format          aligned based,
 61                2 long_format        bit (1) unaligned,
 62                2 spec               fixed bin (7) unaligned,
 63                2 exponent           fixed bin (9) unsigned unaligned,
 64                2 rep_factor         fixed bin (17) unaligned,
 65                2 width              fixed bin (17) unaligned,
 66                2 precision          fixed bin (17) unaligned;
 67 
 68 
 69 /* error message overlay */
 70 
 71      dcl     1 format_error         aligned based structure,
 72                2 input_length       fixed bin,
 73                2 error_message      char (128);
 74 
 75 
 76 /* named constants for format specifications */
 77 
 78      dcl     (
 79              a_format               init (10),
 80              bn_format              init (25),
 81              bz_format              init (26),
 82              d_format               init (4),
 83              e_format               init (2),
 84              extended_i_format      init (22),
 85              g_format               init (6),
 86              i_format               init (0),
 87              s_format               init (27),
 88              sp_format              init (28),
 89              ss_format              init (29),
 90              t_format               init (13),
 91              tr_format              init (21),
 92              end_of_format          init (20),
 93              hollerith_field        init (11),
 94              quoted_string          init (19)
 95              )                      fixed bin int static options (constant);
 96 
 97      dcl     fmt_parse_ver1         bit (6) aligned int static options (constant) init ("110000"b);
 98      dcl     max_value              fixed bin (8) int static options (constant) init (255);
 99      dcl     chars_per_word         fixed bin (8) int static options (constant) init (4);
100      dcl     chars_per_halfword     fixed bin (8) int static options (constant) init (2);
101 
102 /* END   format_tables.incl.pl1 */