/* BEGIN INCLUDE FILE mrds_expressions.incl.pl1 -- jaw 2/15/79 */ /* HISTORY: 81-06-01 Jim Gray : removed assn len and type elements since mu_covnert is now being used. */ dcl 1 expr aligned based (expr_ptr), /* internal representation of an expression, expression is stored in postfix polish form */ 2 nitems fixed bin, /* no. items in expression */ 2 item (nexp_items_init refer (expr.nitems)), 3 type fixed bin (3) unal, /* 1 => data item 2 => operator 3 => scalar function */ 3 op_code fixed bin (3) unal, /* 1 => add 2 => subtract 3 => multiply 4 => divide */ 3 data_type fixed bin (2) unal, /* 1 => literal 2 => database */ 3 reserved bit (25) unal, 3 desc bit (36), /* data descriptor of data item or fun. result */ 3 loc_index fixed bin (18), /* location index of data item or fun. result */ 3 bit_length fixed bin (18), /* bit length of data item or fun. result */ 3 assn_ptr ptr, /* pointer to item storage loc. */ 3 ai_ptr ptr, /* to attr info if database item */ 3 fn_ptr ptr; /* pointer to function structure if scalar function */ dcl expr_ptr ptr; dcl nexp_items_init fixed bin; dcl 1 scalfn aligned based (sfn_ptr), /* internal representation of a scalar function */ 2 entry_ptr ptr, /* pointer to entry to be called */ 2 arg_list_ptr ptr, /* pointer to arg list to be used for calling function */ 2 rslt_desc bit (36), /* descriptor for result */ 2 nargs fixed bin, /* number of input args */ 2 arg (nsf_args_init refer (scalfn.nargs)), /* arg info */ 3 type fixed bin (3) unal, /* 1 => literal 2 => database 3 => scalar function 4 => expression */ 3 must_convert bit (1) unal, /* on if arg must be converted to match requirements */ 3 reserved bit (31) unal, 3 desc bit (36), /* descriptor of data or result */ 3 loc_index fixed bin (18), /* location index of data item or result */ 3 bit_length fixed bin (18), /* bit length of data item or result */ 3 assn_ptr ptr, /* pointer to item storage loc. */ 3 arg_desc bit (36), /* descriptor for arg if must convert */ 3 arg_assn_ptr ptr, /* assign_ ptr for arg in must convert */ 3 ai_ptr ptr, /* to attr info if database item */ 3 ef_ptr ptr; /* pointer to expression or function structure, or null */ dcl sfn_ptr ptr; dcl nsf_args_init fixed bin; dcl ((DATA init (1)), (OPERATOR init (2)), (SCAL_FUN init (3)), (EXPR init (4)), (ADD init (1)), (SUBT init (2)), (MULT init (3)), (DIV init (4)), (LITERAL init (1)), (DATABASE init (2))) fixed bin int static options (constant); dcl CFLTD59 bit (36) aligned int static options (constant) init ("100110000000000000000000000000111011"b); dcl RFLTD59 bit (36) aligned int static options (constant) init ("100101000000000000000000000000111011"b); /* END INCLUDE FILE mrds_expressions.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 */