1 /* Begin include file lalr_parser_tables.incl.pl1 */
 2 /* format: style4,indattr,idind30 */
 3 /* Standard tables for the parser procedure  PEP 11/82 */
 4 declare  1 terminals_table             based (lalr_parser_info.terminals_list_ptr),
 5            2 size                      fixed bin,
 6            2 terminals_list            (0 refer (terminals_table.size)),
 7              3 link                    fixed bin (18) unsigned unaligned,
 8              3 position                fixed bin (18) unsigned unaligned,
 9              3 length                  fixed bin (18) unsigned unaligned,
10              3 code                    fixed bin (18) unsigned unaligned;
11 declare  1 terminal_characters_table   based (lalr_parser_info.terminal_characters_ptr),
12            2 length                    fixed bin,
13            2 terminal_characters       char (0 refer (terminal_characters_table.length));
14 
15 declare  1 dpda_table                  based (lalr_parser_info.dpda_ptr),
16            2 size                      fixed bin,
17            2 dpda                      (0 refer (dpda_table.size)),
18              3 (v1, v2)                fixed bin (17) unaligned;
19 declare  1 skip_table                  based (lalr_parser_info.skip_ptr),
20            2 size                      fixed bin,
21            2 skip                      (0 refer (skip_table.size)),
22              3 (v1, v2)                fixed bin (17) unaligned;
23 
24 declare  1 standard_prelude_table      based (lalr_parser_info.standard_prelude_ptr),
25            2 length                    fixed bin,
26            2 standard_prelude          char (0 refer (standard_prelude_table.length));
27 
28 declare  1 production_names_table_1    based (lalr_parser_info.production_names_ptr),
29                                                             /* result (grammar) file format */
30            2 size                      fixed bin,
31            2 names                     (0 refer (production_names_table_1.size)) fixed bin (17) aligned;
32 declare  1 production_names_table_2    based (lalr_parser_info.production_names_ptr),
33                                                             /* object segment format */
34            2 size                      fixed bin,
35            2 names                     (0 refer (production_names_table_2.size)) fixed bin (17) unaligned;
36 
37 declare  1 variables_table_1           based (lalr_parser_info.variables_list_ptr),
38                                                             /* result file format */
39            2 size                      fixed bin,
40            2 variables                 (0 refer (variables_table_1.size)),
41              3 (link, position, length, code)
42                                        fixed bin (18) unsigned unaligned;
43 declare  1 variables_table_2           based (lalr_parser_info.variables_list_ptr),
44                                                             /* object segment format */
45            2 size                      fixed bin,
46            2 variables                 (0 refer (variables_table_2.size)),
47              3 (position, length)      fixed bin (18) unsigned unaligned;
48 declare  1 variable_characters_table   based (lalr_parser_info.variable_characters_ptr),
49            2 length                    fixed bin,
50            2 variable_characters       char (0 refer (variable_characters_table.length));
51 
52 /* The following data structures exist only in the result (grammar) file
53    format parser tables.  In the object segment format they are translated
54    into a transfer vector with the entry point name semantics_vector. */
55 
56 declare  actions_list_ptr              pointer;
57 declare  1 actions_list_table          aligned based (actions_list_ptr),
58            2 size                      fixed bin,
59            2 actions_list              (0 refer (actions_list_table.size)),
60              3 procedure               fixed bin (17) unaligned,
61              3 entry                   fixed bin (17) unaligned,
62              3 tag                     fixed bin aligned,
63              3 line_number             aligned,
64                4 file                  fixed bin (17) unaligned,
65                4 line                  fixed bin (17) unaligned;
66 
67 declare  names_list_ptr                pointer;
68 declare  1 names_list_table            aligned based (names_list_ptr),
69            2 size                      fixed bin,
70            2 names_list                (0 refer (names_list_table.size)),
71              3 position                fixed bin (17) unaligned,
72              3 length                  fixed bin (17) unaligned;
73 
74 declare  name_characters_ptr           pointer;
75 declare  1 name_characters_table       based (name_characters_ptr),
76            2 length                    fixed bin,
77            2 name_characters           char (0 refer (name_characters_table.length));
78 
79 /* End include file lalr_parser_tables.incl.pl1 */
80