1 /* ====== BEGIN INCLUDE SEGMENT         apl_operator_bead.incl.pl1 ================================ */
 2 
 3 declare
 4           1 operator_bead               aligned based,
 5 
 6             2 type                      unaligned like general_bead.type,
 7 
 8             2 bits_for_lex              unaligned,
 9               3 allow_brackets          bit(1),             /* operator may have dimension info in brackets */
10               3 allow_product           bit(1),             /* operator may be used in inner and outer product */
11               3 allow_reduction         bit(1),             /* operator may be used in reduction and scan */
12               3 special_assignment      bit(1),             /* doesn't use standard assignment operator */
13               3 ignores_assignment      bit(1),             /* assignment has no effect */
14               3 allow_subscripted_assignment
15                                         bit(1),             /* system variable that can be subscripted assigned */
16               3 pad                     bit(12),
17 
18             2 bits_for_parse            unaligned,
19               3 stop_trace_control      bit(1),             /* next lexeme is function being stopped/traced
20                                                                (op1 tells which) */
21               3 quad                    bit(1),             /* this is a quad type */
22               3 system_variable         bit(1),             /* this is a system variable, not an op */
23               3 dyadic                  bit(1),             /* operator may be dyadic */
24               3 monadic                 bit(1),             /* operator may be monadic */
25               3 function                bit(1),             /* operator is a user defined function */
26               3 semantics_valid         bit(1),             /* if semantics has been set */
27               3 has_list                bit(1),             /* semantics is a list */
28               3 inner_product           bit(1),             /* op2 is valid */
29               3 semantics_on_stack      bit(1),             /* semantics points to value stack */
30               3 is_external_function    bit(1),             /* semantics points to function bead for ext function */
31               3 pad                     bit(7),
32               3 op2                     fixed bin(8) unaligned,       /* secondary operator code */
33               3 op1                     fixed bin(8) unaligned,       /* primary operator code */
34             2 type_code                 fixed bin;          /* for parse */
35 
36 /* ------ END INCLUDE SEGMENT           apl_operator_bead.incl.pl1 -------------------------------- */