/* BEGIN INCLUDE FILE ..... rgl_tree.incl.pl1 ..... 12/14/76 J Falksen */ dcl space area based(area_ptr); dcl area_ptr ptr; dcl tree_ptr ptr; dcl 1 tree based(tree_ptr), 2 table, /* symbol table */ 3 (b,e) ptr unal, 2 parm_pos like tree.table, /* positional parameter dcl */ 2 ppos_ct fixed bin, 2 parm_key like tree.table, /* keyword parameter dcl */ 2 pkey_ct fixed bin, 2 parm_check like tree.table, /* STOP list, after all parms processed */ 2 input like tree.table, /* input declaration */ 2 input_check like tree.table,/* STOP/SKIP list, record level */ 2 rec_str fixed bin(17)unal, /* -2 STREAM, -1 RECORD, >0 RECORD n */ 2 res_siz fixed bin(17)unal, /* size of record area to set aside */ 2 from ptr unal, /* FILE | ATTACH */ 2 local like tree.table, /* local declaration list */ 2 report like tree.table, /* report description list */ 2 phase0 like tree.table, 2 hold like tree.table, /* hold list */ 2 exec like tree.table, /* executable list */ 2 sourcep ptr unal, /* pointer to source segment */ 2 bits, 3 mmddyy bit(1)unal, 3 yyddd bit(1)unal, 3 month bit(1)unal, 3 day bit(1)unal, 3 hhmmss bit(1)unal, 3 filler bit(31)unal; dcl symtabptr ptr; dcl 1 symtab based(symtabptr), 2 hdr, /* "ID" | "NU" | "ST" */ 3 type char(2)unal, 3 fill bit(90)unal, 3 next ptr unal, 2 use like tree.table, /* list of usage of this symbol */ 2 leng fixed bin(24), /* length of data */ 2 data char(symbol_leng refer(symtab.leng)); /* symbol data */ dcl symbol_leng fixed bin(24); dcl daptr ptr; dcl 1 datum based(daptr), 2 hdr like stmt.hdr, /* "DC", "IN" */ 2 kind fixed bin(17)unal, /* kind of field */ 2 leng fixed bin(17)unal, 2 pos fixed bin, /* IN position */ 2 check like tree.table, /* SKIP/STOP list, field level */ 2 datal like tree.table; dcl srefptr ptr; dcl 1 symref based(srefptr), 2 hdr like stmt.hdr, /* "SY" */ 2 kind fixed bin(17)unal; dcl opptr ptr; dcl 1 opn based(opptr), 2 hdr like stmt.hdr, /* "OP" */ 2 op fixed bin(17)unal, /* operation */ 2 kind fixed bin(17)unal, 2 op1 ptr unal, /* first operand */ 2 op2 ptr unal, /* second operand, if any */ 2 op3 ptr unal; /* third operand, if any */ dcl headptr ptr; dcl 1 head based(headptr), 2 hdr like stmt.hdr, /* "HD" */ 2 list like tree.table; dcl repptr ptr; dcl 1 report based(repptr), 2 hdr like stmt.hdr, /* "RP" */ 2 pw fixed bin(24), /* PAGEWIDTH */ 2 pl fixed bin(24), /* PAGELENGTH */ 2 minl fixed bin(24), /* MINLINE */ 2 maxl fixed bin(24), /* MAXLINE */ 2 onlist like tree.table, /* ON list */ 2 brlist like tree.table, /* BREAK list */ 2 part like tree.table; /* part list */ dcl partptr ptr; dcl 1 part based(partptr), 2 hdr like stmt.hdr, /* "RH", "PH", "DH", "DT", "DF", "PF", "RF" */ 2 maxl fixed bin, 2 ctl ptr unal, /* IF */ 2 lines like tree.table; /* line list */ dcl linptr ptr; dcl 1 lines based(linptr), 2 hdr like stmt.hdr, /* "LN" */ 2 number fixed bin(17)unal, /* <0 absolute line, >0 relative line */ 2 ctl ptr unal, /* IF */ 2 field like tree.table; /* field list */ dcl fldptr ptr; dcl 1 field based(fldptr), 2 hdr like stmt.hdr, /* "FD" */ 2 value like tree.table, /* value list */ 2 let like tree.table, /* LET list */ 2 kind fixed bin(17)unal, /* kind of field */ 2 align fixed bin(17)unal, /* alignment of field */ 2 alch char(1)unal, /* align character */ 2 bsp bit(1)unal, 2 XXX bit(26)unal, 2 fill(2) fixed bin(17)unal, /* fill indents */ 2 col fixed bin(24), /* COLUMN */ 2 leng fixed bin(24), /* length of field or mask */ 2 data ptr unal; /* mask */ dcl valptr ptr; dcl 1 value based(valptr), 2 hdr like stmt.hdr, /* "VL", "FL", "SW", "AT" */ 2 numb fixed bin(24), 2 ctl ptr unal; /* if control */ dcl atptr ptr; dcl 1 attr based(atptr), 2 hdr like stmt.hdr, /* "DV" | "KY" */ 2 attr, 3 asc bit(1)unal, /* ASCending key */ 3 des bit(1)unal, /* DEScending key */ 3 fill bit(16)unal; dcl paptr ptr; dcl 1 param based(paptr), 2 hdr like stmt.hdr, /* "PM" */ 2 kind fixed bin(17)unal, 2 attr like tree.table, /* attribute (default and keyword) list */ 2 check like tree.table, /* STOP list, parameter level */ 2 leng fixed bin(24); dcl stmtptr ptr; dcl 1 stmt based(stmtptr), 2 hdr, /* "IF", ":=" "=:", "PR", "HD", "SR", "SU" */ 3 type char(2)unal, 3 line fixed bin(17)unal, /* beginning line number */ 3 bchar fixed bin(24), /* beginning character in file */ 3 echar fixed bin(24), /* ending character in file */ 3 next ptr unal, /* link to next element */ 3 sym ptr unal, /* pointer to symbol table entry (if any) */ 3 usage ptr unal, /* pointer to next symbol usage */ 2 ref1 like tree.table, 2 ref2 like tree.table, 2 ref3 like tree.table; dcl Bool fixed bin int static init( 1); dcl Char fixed bin int static init( 2); dcl Chard fixed bin int static init( 3); dcl Integer fixed bin int static init( 4); dcl Decimal fixed bin int static init( 5); dcl Pic fixed bin int static init( 6); dcl Charn fixed bin int static init( 7); dcl Edit fixed bin int static init( 14); dcl Left fixed bin int static init( 8); dcl Center fixed bin int static init( 9); dcl Right fixed bin int static init( 10); dcl Fill fixed bin int static init( 12); dcl Align fixed bin int static init( 11); dcl Fold fixed bin int static init( 13); dcl Table fixed bin int static init( 15); dcl Tablev fixed bin int static init( 16); dcl Set fixed bin int static init( 17); dcl DecSpec fixed bin int static init( 18); dcl Tabled fixed bin int static init( 19); dcl kind_char(0:19) char(16)var int static init( "-default-", "bit", "char", "var char", "fixed bin", "float dec(20)", "picture", "varying char", " LEFT", " CENTER", " RIGHT", " ALIGN", " FILL", " FOLD", " EDIT", "TABLE", "TABLEV", "SET", "dec(20)float", "TABLED" ); /* operation codes */ dcl Add fixed bin int static init(1); dcl And fixed bin int static init(2); dcl Cat fixed bin int static init(3); dcl Div fixed bin int static init(4); dcl EQ fixed bin int static init(5); dcl GE fixed bin int static init(6); dcl GT fixed bin int static init(7); dcl LE fixed bin int static init(8); dcl LT fixed bin int static init(9); dcl Mul fixed bin int static init(10); dcl NE fixed bin int static init(11); dcl Not fixed bin int static init(12); dcl Or fixed bin int static init(13); dcl Paren fixed bin int static init(14); dcl Rpt fixed bin int static init(15); dcl Sub fixed bin int static init(16); dcl Func fixed bin int static init(17); dcl Pnum fixed bin int static init(18); dcl Level fixed bin int static init(19); dcl Beg fixed bin int static init(20); dcl End fixed bin int static init(21); dcl Cont fixed bin int static init(22); dcl Nbeg fixed bin int static init(23); dcl Nend fixed bin int static init(24); dcl Ncont fixed bin int static init(25); dcl Begw fixed bin int static init(26); dcl Endw fixed bin int static init(27); dcl Contw fixed bin int static init(28); dcl Nbegw fixed bin int static init(29); dcl Nendw fixed bin int static init(30); dcl Ncontw fixed bin int static init(31); dcl In fixed bin int static init(32); dcl Nin fixed bin int static init(33); dcl Skip fixed bin int static init(34); dcl Stop fixed bin int static init(35); dcl n_n fixed bin int static init(36); dcl n_s fixed bin int static init(37); dcl s_n fixed bin int static init(38); dcl s_s fixed bin int static init(39); dcl b_c fixed bin int static init(40); dcl b_d fixed bin int static init(41); dcl c_b fixed bin int static init(42); dcl c_d fixed bin int static init(43); dcl d_b fixed bin int static init(44); dcl d_c fixed bin int static init(45); dcl Tran fixed bin int static init(46); dcl Substr fixed bin int static init(47); dcl If fixed bin int static init(48); dcl op_char(0:48) char(8)var int static init( "-BAD-", "Add", "And", "Cat", "Div", "EQ", "GE", "GT", "LE", "LT", "Mul", "NE", "Not", "Or", "Paren", "Rpt", "Sub", "Func", "Pnum", "Level", "Beg", "End", "Cont", "Nbeg", "Nend", "Ncont", "Begw", "Endw", "Contw", "Nbegw", "Nendw", "Ncontw", "In", "Nin", "Skip", "Stop", "n_n", "n_s", "s_n", "s_s", "b_c", "b_d", "c_b", "c_d", "d_b", "d_c", "Tran", "Substr", "If" ); /* END INCLUDE FILE ..... rgl_tree.incl.pl1 ..... */ */ ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group Bull including Bull HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell Bull Inc., Groupe Bull and Bull HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, Bull or Bull HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by Bull HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved */