1 /* BEGIN INCLUDE FILE mrds_dsm_parse_stack.incl.pl1 */
 2 
 3 /* These structures are used by mrds_dsm_parse, mrds_dsm_scanner, and
 4 mrds_dsm_semantics.  They are very similar to the
 5 mrds_rst_parse_stack.incl.pl1 structures, the difference being the
 6 semantics_ptr in the lex_stack in this include file.
 7 
 8 Written  12/19/79  by  Lindsey L. Spratt
 9 */
10      declare 1 lex_stack            (-5:50) based (lex_stack_ptr),
11                2 symptr             ptr,                    /* pointer to terminal symbol in source input */
12                2 symlen             fixed binary (24),      /* length of terminal symbol in input */
13                2 line               fixed binary (24),      /* line number in source for this symbol */
14                2 symbol             fixed binary (24),      /* parser's encoding value for the terminal symbol */
15                2 val                fixed binary (71),      /* conversion value for numbers */
16                2 float              float binary (63),      /* conversion value if floating point number */
17                2 semantics_ptr      ptr,                    /* Pointer to arbitrary data, not used by either parse or scan routines.*/
18                2 line_strt          ptr,                    /* pointer to start of current line */
19                2 line_size          fixed binary (24),      /* current length of line */
20                2 token_num          fixed binary (24);      /* number of this token in current line,
21                                                                0 if <error_symbol> for missing or wrong symbol */
22 
23      declare lex_stack_ptr          ptr;                    /* pointer to lexical stack */
24 
25 /* on => output debug messages */
26 
27      dcl     1 p_struct             (50) aligned based (p_struct_ptr),
28                2 parse_stack        fixed bin (24),         /* * parse stack */
29                2 parse_stack2       fixed bin (24);         /* * copy of parse stack used
30                                                                with local error recovery */
31 
32      dcl     p_struct_ptr           ptr;
33 
34 
35      dcl     cur_lex_top            (50) fixed bin (24) aligned based (cur_lex_top_ptr);
36                                                             /* current lex top stack (with parse_stack) */
37 
38      declare cur_lex_top_ptr        ptr;
39 
40 
41 /* END INCLUDE FILE mrds_rst_parse_stack.incl.pl1 */
42