1 /* ***********************************************************
 2    *                                                         *
 3    * Copyright, (C) Honeywell Information Systems Inc., 1982 *
 4    *                                                         *
 5    *********************************************************** */
 6 %;
 7 /* ******************************************************
 8    *                                                    *
 9    *                                                    *
10    * Copyright (c) 1972 by Massachusetts Institute of   *
11    * Technology and Honeywell Information Systems, Inc. *
12    *                                                    *
13    *                                                    *
14    ****************************************************** */
15 
16 create_context:
17           proc(cblock,t) returns(ptr);
18 
19 /*        Modified on:        April 1977 by RHS for new allocation methods */
20 
21 dcl       (cblock, p, t) ptr;
22 dcl       pl1_stat_$node_uses(32) fixed bin ext;
23 
24 %include pl1_tree_areas;
25 %include context;
26 %include nodes;
27 %include block;
28           pl1_stat_$node_uses(7) = pl1_stat_$node_uses(7) + 1;
29 
30           allocate context in(tree_area) set(p);
31 
32           p->context.node_type=context_node;
33           string(p->context.bits)="0"b;
34           p->context.token=t;                     /* this points to the token table entry */
35           p->context.next=cblock->block.context;  /* push node onto context chain */
36           cblock->block.context=p;                /* . . . . */
37 
38           return(p);
39 end create_context;