GnuCOBOL  2.0
A free COBOL compiler
parser.c
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.0.2. */
2 
3 /* Bison implementation for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6 
7  This program is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 
20 /* As a special exception, you may create a larger work that contains
21  part or all of the Bison parser skeleton and distribute that work
22  under terms of your choice, so long as that work isn't itself a
23  parser generator using the skeleton or a modified version thereof
24  as a parser skeleton. Alternatively, if you modify or redistribute
25  the parser skeleton itself, you may (at your option) remove this
26  special exception, which will cause the skeleton and the resulting
27  Bison output files to be licensed under the GNU General Public
28  License without this special exception.
29 
30  This special exception was added by the Free Software Foundation in
31  version 2.2 of Bison. */
32 
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34  simplifying the original so-called "semantic" parser. */
35 
36 /* All symbols defined below should begin with yy or YY, to avoid
37  infringing on user name space. This should be done even for local
38  variables, as they might otherwise be expanded by user macros.
39  There are some unavoidable exceptions within include files to
40  define necessary library symbols; they are noted "INFRINGES ON
41  USER NAME SPACE" below. */
42 
43 /* Identify Bison output. */
44 #define YYBISON 1
45 
46 /* Bison version. */
47 #define YYBISON_VERSION "3.0.2"
48 
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
51 
52 /* Pure parsers. */
53 #define YYPURE 0
54 
55 /* Push parsers. */
56 #define YYPUSH 0
57 
58 /* Pull parsers. */
59 #define YYPULL 1
60 
61 
62 
63 
64 /* Copy the first part of user declarations. */
65 #line 27 "parser.y" /* yacc.c:339 */
66 
67 #define YYDEBUG 1
68 #include <stdio.h>
69 
70 #include "config.h"
71 
72 #include <stdlib.h>
73 #include <string.h>
74 
75 #define COB_IN_PARSER 1
76 #include "cobc.h"
77 #include "tree.h"
78 
79 #ifndef _STDLIB_H
80 #define _STDLIB_H 1
81 #endif
82 
83 #define YYSTYPE cb_tree
84 #define yyerror cb_error
85 
86 #define PENDING(x) cb_warning (_("'%s' not implemented"), x)
87 
88 #define emit_statement(x) \
89 do { \
90  if (!skip_statements) { \
91  CB_ADD_TO_CHAIN (x, current_program->exec_list); \
92  } \
93 } ONCE_COB
94 
95 #define push_expr(type, node) \
96  current_expr = cb_build_list (cb_int (type), node, current_expr)
97 
98 /* Statement terminator definitions */
99 #define TERM_NONE 0
100 #define TERM_ACCEPT 1U
101 #define TERM_ADD 2U
102 #define TERM_CALL 3U
103 #define TERM_COMPUTE 4U
104 #define TERM_DELETE 5U
105 #define TERM_DISPLAY 6U
106 #define TERM_DIVIDE 7U
107 #define TERM_EVALUATE 8U
108 #define TERM_IF 9U
109 #define TERM_MULTIPLY 10U
110 #define TERM_PERFORM 11U
111 #define TERM_READ 12U
112 #define TERM_RECEIVE 13U
113 #define TERM_RETURN 14U
114 #define TERM_REWRITE 15U
115 #define TERM_SEARCH 16U
116 #define TERM_START 17U
117 #define TERM_STRING 18U
118 #define TERM_SUBTRACT 19U
119 #define TERM_UNSTRING 20U
120 #define TERM_WRITE 21U
121 #define TERM_MAX 22U
122 
123 #define TERMINATOR_WARNING(x,z) terminator_warning (x, TERM_##z, #z)
124 #define TERMINATOR_ERROR(x,z) terminator_error (x, TERM_##z, #z)
125 #define TERMINATOR_CLEAR(x,z) terminator_clear (x, TERM_##z)
126 
127 /* Defines for duplicate checks */
128 /* Note - We use <= 16 for common item definitons and */
129 /* > 16 for non-common item definitions eg. REPORT and SCREEN */
130 #define SYN_CLAUSE_1 (1U << 0)
131 #define SYN_CLAUSE_2 (1U << 1)
132 #define SYN_CLAUSE_3 (1U << 2)
133 #define SYN_CLAUSE_4 (1U << 3)
134 #define SYN_CLAUSE_5 (1U << 4)
135 #define SYN_CLAUSE_6 (1U << 5)
136 #define SYN_CLAUSE_7 (1U << 6)
137 #define SYN_CLAUSE_8 (1U << 7)
138 #define SYN_CLAUSE_9 (1U << 8)
139 #define SYN_CLAUSE_10 (1U << 9)
140 #define SYN_CLAUSE_11 (1U << 10)
141 #define SYN_CLAUSE_12 (1U << 11)
142 #define SYN_CLAUSE_13 (1U << 12)
143 #define SYN_CLAUSE_14 (1U << 13)
144 #define SYN_CLAUSE_15 (1U << 14)
145 #define SYN_CLAUSE_16 (1U << 15)
146 #define SYN_CLAUSE_17 (1U << 16)
147 #define SYN_CLAUSE_18 (1U << 17)
148 #define SYN_CLAUSE_19 (1U << 18)
149 #define SYN_CLAUSE_20 (1U << 19)
150 #define SYN_CLAUSE_21 (1U << 20)
151 #define SYN_CLAUSE_22 (1U << 21)
152 #define SYN_CLAUSE_23 (1U << 22)
153 #define SYN_CLAUSE_24 (1U << 23)
154 #define SYN_CLAUSE_25 (1U << 24)
155 #define SYN_CLAUSE_26 (1U << 25)
156 #define SYN_CLAUSE_27 (1U << 26)
157 #define SYN_CLAUSE_28 (1U << 27)
158 #define SYN_CLAUSE_29 (1U << 28)
159 #define SYN_CLAUSE_30 (1U << 29)
160 #define SYN_CLAUSE_31 (1U << 30)
161 #define SYN_CLAUSE_32 (1U << 31)
162 
163 #define EVAL_DEPTH 32
164 #define PROG_DEPTH 16
165 
166 /* Global variables */
167 
174 int cb_exp_line = 0;
175 
179 unsigned int cobc_in_procedure = 0;
180 unsigned int cobc_in_repository = 0;
181 unsigned int cobc_force_literal = 0;
182 unsigned int cobc_cs_check = 0;
183 
184 /* Local variables */
185 
187 
189 static struct cb_field *current_field;
191 static struct cb_file *current_file;
192 static struct cb_report *current_report;
193 static struct cb_report *report_instance;
194 
195 static struct cb_file *linage_file;
197 
198 static char *stack_progid[PROG_DEPTH];
199 
201 
204 
207 
208 static unsigned int check_unreached;
209 static unsigned int in_declaratives;
210 static unsigned int in_debugging;
211 static unsigned int current_linage;
212 static unsigned int report_count;
213 static unsigned int prog_end;
214 static unsigned int use_global_ind;
215 static unsigned int samearea;
216 static unsigned int inspect_keyword;
217 static unsigned int main_flag_set;
218 static int next_label_id;
219 static int eval_level;
220 static int eval_inc;
221 static int eval_inc2;
222 static int depth;
224 static int call_mode;
225 static int size_mode;
226 static int setattr_val_on;
227 static int setattr_val_off;
228 static unsigned int check_duplicate;
229 static unsigned int check_on_off_duplicate;
230 static unsigned int check_pic_duplicate;
231 static unsigned int check_comp_duplicate;
233 static unsigned int skip_statements;
234 static unsigned int start_debug;
235 static unsigned int save_debug;
236 static unsigned int needs_field_debug;
237 static unsigned int needs_debug_item;
238 static unsigned int env_div_seen;
239 static unsigned int header_check;
240 static unsigned int call_nothing;
241 
245 
246 static int term_array[TERM_MAX];
248 
249 /* Defines for header presence */
250 
251 #define COBC_HD_ENVIRONMENT_DIVISION (1U << 0)
252 #define COBC_HD_CONFIGURATION_SECTION (1U << 1)
253 #define COBC_HD_SPECIAL_NAMES (1U << 2)
254 #define COBC_HD_INPUT_OUTPUT_SECTION (1U << 3)
255 #define COBC_HD_FILE_CONTROL (1U << 4)
256 #define COBC_HD_I_O_CONTROL (1U << 5)
257 #define COBC_HD_DATA_DIVISION (1U << 6)
258 #define COBC_HD_FILE_SECTION (1U << 7)
259 #define COBC_HD_WORKING_STORAGE_SECTION (1U << 8)
260 #define COBC_HD_LOCAL_STORAGE_SECTION (1U << 9)
261 #define COBC_HD_LINKAGE_SECTION (1U << 10)
262 #define COBC_HD_COMMUNICATIONS_SECTION (1U << 11)
263 #define COBC_HD_REPORT_SECTION (1U << 12)
264 #define COBC_HD_SCREEN_SECTION (1U << 13)
265 #define COBC_HD_PROCEDURE_DIVISION (1U << 14)
266 #define COBC_HD_PROGRAM_ID (1U << 15)
267 
268 /* Static functions */
269 
270 static void
271 begin_statement (const char *name, const unsigned int term)
272 {
273  if (cb_warn_unreachable && check_unreached) {
274  cb_warning (_("Unreachable statement '%s'"), name);
275  }
276  current_paragraph->flag_statement = 1;
277  current_statement = cb_build_statement (name);
278  CB_TREE (current_statement)->source_file = cb_source_file;
279  CB_TREE (current_statement)->source_line = cb_source_line;
280  current_statement->statement = cobc_glob_line;
281  current_statement->flag_in_debug = in_debugging;
282  emit_statement (CB_TREE (current_statement));
283  if (term) {
284  term_array[term]++;
285  }
286  main_statement = current_statement;
287 }
288 
289 static void
291 {
292  current_statement = cb_build_statement (NULL);
293  current_statement->flag_in_debug = !!in_debugging;
294  main_statement->body = cb_list_add (main_statement->body,
295  CB_TREE (current_statement));
296 }
297 
298 # if 0 /* activate only for debugging purposes for attribs */
299 static
300 void printBits(unsigned int num){
301  unsigned int size = sizeof(unsigned int);
302  unsigned int maxPow = 1<<(size*8-1);
303  int i=0;
304 
305  for(;i<size*8;++i){
306  // print last bit and shift left.
307  fprintf(stderr, "%u ",num&maxPow ? 1 : 0);
308  num = num<<1;
309  }
310  fprintf(stderr, "\n");
311 }
312 #endif
313 
314 static void
315 emit_entry (const char *name, const int encode, cb_tree using_list)
316 {
317  cb_tree l;
318  cb_tree label;
319  cb_tree x;
320  struct cb_field *f;
321  int parmnum;
322  char buff[COB_MINI_BUFF];
323 
324  snprintf (buff, (size_t)COB_MINI_MAX, "E$%s", name);
325  label = cb_build_label (cb_build_reference (buff), NULL);
326  if (encode) {
327  CB_LABEL (label)->name = cb_encode_program_id (name);
328  CB_LABEL (label)->orig_name = name;
329  } else {
330  CB_LABEL (label)->name = name;
331  CB_LABEL (label)->orig_name = current_program->orig_program_id;
332  }
333  CB_LABEL (label)->flag_begin = 1;
334  CB_LABEL (label)->flag_entry = 1;
335  label->source_file = cb_source_file;
336  label->source_line = cb_source_line;
337  emit_statement (label);
338 
339  if (current_program->flag_debugging) {
341  "START PROGRAM", NULL));
342  }
343 
344  parmnum = 1;
345  for (l = using_list; l; l = CB_CHAIN (l)) {
346  x = CB_VALUE (l);
347  if (CB_VALID_TREE (x) && cb_ref (x) != cb_error_node) {
348  f = CB_FIELD (cb_ref (x));
349  if (f->level != 01 && f->level != 77) {
350  cb_error_x (x, _("'%s' not level 01 or 77"), cb_name (x));
351  }
352  if (!current_program->flag_chained) {
353  if (f->storage != CB_STORAGE_LINKAGE) {
354  cb_error_x (x, _("'%s' is not in LINKAGE SECTION"), cb_name (x));
355  }
356  if (f->flag_item_based || f->flag_external) {
357  cb_error_x (x, _("'%s' can not be BASED/EXTERNAL"), cb_name (x));
358  }
359  f->flag_is_pdiv_parm = 1;
360  } else {
361  if (f->storage != CB_STORAGE_WORKING) {
362  cb_error_x (x, _("'%s' is not in WORKING-STORAGE SECTION"), cb_name (x));
363  }
364  f->flag_chained = 1;
365  f->param_num = parmnum;
366  parmnum++;
367  }
368  if (f->redefines) {
369  cb_error_x (x, _("'%s' REDEFINES field not allowed here"), cb_name (x));
370  }
371  }
372  }
373 
374  /* Check dangling LINKAGE items */
375  if (cb_warn_linkage) {
376  for (f = current_program->linkage_storage; f; f = f->sister) {
377  if (current_program->returning) {
378  if (cb_ref (current_program->returning) != cb_error_node) {
379  if (f == CB_FIELD (cb_ref (current_program->returning))) {
380  continue;
381  }
382  }
383  }
384  for (l = using_list; l; l = CB_CHAIN (l)) {
385  x = CB_VALUE (l);
386  if (CB_VALID_TREE (x) && cb_ref (x) != cb_error_node) {
387  if (f == CB_FIELD (cb_ref (x))) {
388  break;
389  }
390  }
391  }
392  if (!l && !f->redefines) {
393  cb_warning (_("LINKAGE item '%s' is not a PROCEDURE USING parameter"), f->name);
394  }
395  }
396  }
397 
398  /* Check returning item against using items when FUNCTION */
399  if (current_program->prog_type == CB_FUNCTION_TYPE) {
400  for (l = using_list; l; l = CB_CHAIN (l)) {
401  x = CB_VALUE (l);
402  if (CB_VALID_TREE (x) && current_program->returning &&
403  cb_ref (x) == cb_ref (current_program->returning)) {
404  cb_error_x (x, _("'%s' USING item duplicates RETURNING item"), cb_name (x));
405  }
406  }
407  }
408 
409  for (l = current_program->entry_list; l; l = CB_CHAIN (l)) {
410  if (strcmp ((const char *)name,
411  (const char *)(CB_LABEL(CB_PURPOSE(l))->name)) == 0) {
412  cb_error_x (CB_TREE (current_statement),
413  _("ENTRY '%s' duplicated"), name);
414  }
415  }
416 
417  current_program->entry_list =
418  cb_list_append (current_program->entry_list,
419  CB_BUILD_PAIR (label, using_list));
420 }
421 
422 static size_t
424 {
425  if (++depth >= PROG_DEPTH) {
426  cb_error (_("Maximum nested program depth exceeded (%d)"),
427  PROG_DEPTH);
428  return 1;
429  }
430  return 0;
431 }
432 
433 static void
434 terminator_warning (cb_tree stmt, const unsigned int termid,
435  const char *name)
436 {
437  check_unreached = 0;
438  if (term_array[termid]) {
439  term_array[termid]--;
440  if (cb_warn_terminator) {
441  cb_warning_x (stmt,
442  _("%s statement not terminated by END-%s"),
443  name, name);
444  }
445  }
446  /* Free tree assocated with terminator */
447  cobc_parse_free (stmt);
448 }
449 
450 static void
451 terminator_error (cb_tree stmt, const unsigned int termid, const char *name)
452 {
453  check_unreached = 0;
454  cb_error_x (CB_TREE (current_statement),
455  _("%s statement not terminated by END-%s"),
456  name, name);
457  if (term_array[termid]) {
458  term_array[termid]--;
459  }
460  /* Free tree assocated with terminator */
461  cobc_parse_free (stmt);
462 }
463 
464 static void
465 terminator_clear (cb_tree stmt, const unsigned int termid)
466 {
467  check_unreached = 0;
468  if (term_array[termid]) {
469  term_array[termid]--;
470  }
471  /* Free tree assocated with terminator */
472  cobc_parse_free (stmt);
473 }
474 
475 static int
477 {
478  if (x == cb_space) {
479  return ' ';
480  } else if (x == cb_zero) {
481  return '0';
482  } else if (x == cb_quote) {
483  return cb_flag_apostrophe ? '\'' : '"';
484  } else if (x == cb_null) {
485  return 0;
486  } else if (x == cb_low) {
487  return 0;
488  } else if (x == cb_high) {
489  return 255;
490  } else if (CB_TREE_CLASS (x) == CB_CLASS_NUMERIC) {
491  return cb_get_int (x);
492  } else {
493  return CB_LITERAL (x)->data[0];
494  }
495 }
496 
497 static void
498 set_up_use_file (struct cb_file *fileptr)
499 {
500  struct cb_file *newptr;
501 
502  if (fileptr->organization == COB_ORG_SORT) {
503  cb_error (_("USE statement invalid for SORT file"));
504  }
505  if (fileptr->flag_global) {
506  newptr = cobc_parse_malloc (sizeof(struct cb_file));
507  *newptr = *fileptr;
508  newptr->handler = current_section;
509  newptr->handler_prog = current_program;
510  if (!use_global_ind) {
511  current_program->local_file_list =
512  cb_list_add (current_program->local_file_list,
513  CB_TREE (newptr));
514  } else {
515  current_program->global_file_list =
516  cb_list_add (current_program->global_file_list,
517  CB_TREE (newptr));
518  }
519  } else {
520  fileptr->handler = current_section;
521  }
522 }
523 
524 static void
525 check_relaxed_syntax (const unsigned int lev)
526 {
527  const char *s;
528 
529  switch (lev) {
531  s = "ENVIRONMENT DIVISION";
532  break;
534  s = "CONFIGURATION SECTION";
535  break;
537  s = "SPECIAL-NAMES";
538  break;
540  s = "INPUT-OUTPUT SECTION";
541  break;
543  s = "FILE-CONTROL";
544  break;
545  case COBC_HD_I_O_CONTROL:
546  s = "I-O-CONTROL";
547  break;
549  s = "DATA DIVISION";
550  break;
552  s = "FILE SECTION";
553  break;
555  s = "WORKING-STORAGE SECTION";
556  break;
558  s = "LOCAL-STORAGE SECTION";
559  break;
561  s = "LINKAGE SECTION";
562  break;
564  s = "COMMUNICATIONS SECTION";
565  break;
567  s = "REPORT SECTION";
568  break;
570  s = "SCREEN SECTION";
571  break;
573  s = "PROCEDURE DIVISION";
574  break;
575  case COBC_HD_PROGRAM_ID:
576  s = "PROGRAM-ID";
577  break;
578  default:
579  s = "Unknown";
580  break;
581  }
582  if (cb_relaxed_syntax_check) {
583  cb_warning (_("%s header missing - assumed"), s);
584  } else {
585  cb_error (_("%s header missing"), s);
586  }
587 }
588 
589 static void
590 check_headers_present (const unsigned int lev1, const unsigned int lev2,
591  const unsigned int lev3, const unsigned int lev4)
592 {
593  /* Lev1 is always present and checked */
594  /* Lev2/3/4, if non-zero (forced) may be present */
595  if (!(header_check & lev1)) {
596  header_check |= lev1;
597  check_relaxed_syntax (lev1);
598  }
599  if (lev2) {
600  if (!(header_check & lev2)) {
601  header_check |= lev2;
602  check_relaxed_syntax (lev2);
603  }
604  }
605  if (lev3) {
606  if (!(header_check & lev3)) {
607  header_check |= lev3;
608  check_relaxed_syntax (lev3);
609  }
610  }
611  if (lev4) {
612  if (!(header_check & lev4)) {
613  header_check |= lev4;
614  check_relaxed_syntax (lev4);
615  }
616  }
617 }
618 
619 static void
620 build_nested_special (const int ndepth)
621 {
622  cb_tree x;
623  cb_tree y;
624 
625  if (!ndepth) {
626  return;
627  }
628 
629  /* Inherit special name mnemonics from parent */
630  for (x = current_program->mnemonic_spec_list; x; x = CB_CHAIN (x)) {
632  if (CB_SYSTEM_NAME_P (CB_VALUE(x))) {
633  cb_define (y, CB_VALUE(x));
634  } else {
635  cb_build_constant (y, CB_VALUE(x));
636  }
637  }
638 }
639 
640 static void
642 {
643  perform_stack = NULL;
644  current_statement = NULL;
645  main_statement = NULL;
646  qualifier = NULL;
647  in_declaratives = 0;
648  in_debugging = 0;
649  use_global_ind = 0;
650  check_duplicate = 0;
653  skip_statements = 0;
654  start_debug = 0;
655  save_debug = 0;
656  needs_field_debug = 0;
657  needs_debug_item = 0;
658  env_div_seen = 0;
659  header_check = 0;
660  next_label_id = 0;
661  current_linage = 0;
662  setattr_val_on = 0;
663  setattr_val_off = 0;
664  report_count = 0;
666  eval_level = 0;
667  eval_inc = 0;
668  eval_inc2 = 0;
669  inspect_keyword = 0;
670  check_unreached = 0;
671  cobc_in_procedure = 0;
672  cobc_in_repository = 0;
673  cobc_force_literal = 0;
674  non_const_word = 0;
675  samearea = 1;
676  memset ((void *)eval_check, 0, sizeof(eval_check));
677  memset ((void *)term_array, 0, sizeof(term_array));
678  linage_file = NULL;
679  current_file = NULL;
680  current_report = NULL;
681  report_instance = NULL;
682  next_label_list = NULL;
683  if (cobc_glob_line) {
686  }
687 }
688 
689 /*
690  We must check for redefinitions of program-names and external program names
691  outside of the usual reference/word_list methods as it may have to be done in
692  a case-sensitive way.
693 */
694 static void
696 {
697  const char *prog_name = program->program_name;
698  const char *prog_id = program->orig_program_id;
699  const char *elt_name;
700  const char *elt_id;
701  cb_tree l;
702 
703  /* Error if a program with the same name has been defined. */
704  for (l = defined_prog_list; l; l = CB_CHAIN (l)) {
705  elt_name = ((struct cb_program *) CB_VALUE (l))->program_name;
706  elt_id = ((struct cb_program *) CB_VALUE (l))->orig_program_id;
707  if (cb_fold_call && strcasecmp (prog_name, elt_name) == 0) {
708  cb_error_x ((cb_tree) program,
709  _("Redefinition of program name '%s'"),
710  elt_name);
711  } else if (strcmp (prog_id, elt_id) == 0) {
712  cb_error_x ((cb_tree) program,
713  _("Redefinition of program ID '%s'"),
714  elt_id);
715  return;
716  }
717  }
718 
719  /* Otherwise, add the program to the list. */
720  defined_prog_list = cb_list_add (defined_prog_list,
721  (cb_tree) program);
722 }
723 
724 static void
725 remove_program_name (struct cb_list *l, struct cb_list *prev)
726 {
727  if (prev == NULL) {
728  defined_prog_list = l->chain;
729  } else {
730  prev->chain = l->chain;
731  }
732  cobc_parse_free (l);
733 }
734 
735 /* Remove the program from defined_prog_list, if necessary. */
736 static void
738 {
739  struct cb_list *prev = NULL;
740  struct cb_list *l = (struct cb_list *) defined_prog_list;
741 
742  if (program->nested_level == 0) {
743  return;
744  }
745 
746  /* Remove any subprograms */
747  l = CB_LIST (defined_prog_list);
748  while (l) {
749  if (CB_PROGRAM (l->value)->nested_level > program->nested_level) {
750  remove_program_name (l, prev);
751  l = CB_LIST (prev->chain);
752  } else {
753  prev = l;
754  l = CB_LIST (l->chain);
755  }
756  }
757 
758  /* Remove the specified program, if it is not COMMON */
759  if (!program->flag_common) {
760  l = (struct cb_list *) defined_prog_list;
761  while (l) {
762  if (strcmp (program->orig_program_id,
763  CB_PROGRAM (l->value)->orig_program_id)
764  == 0) {
765  remove_program_name (l, prev);
766  l = CB_LIST (prev->chain);
767  break;
768  } else {
769  prev = l;
770  l = CB_LIST (l->chain);
771  }
772  }
773  }
774 }
775 
776 static int
777 set_up_program (cb_tree id, cb_tree as_literal, const unsigned char type)
778 {
779  current_section = NULL;
780  current_paragraph = NULL;
781 
782  if (CB_LITERAL_P (id)) {
783  stack_progid[depth] = (char *)(CB_LITERAL (id)->data);
784  } else {
785  stack_progid[depth] = (char *)(CB_NAME (id));
786  }
787 
788  if (depth > 0 && first_nested_program) {
790  }
792 
793  if (prog_end) {
794  if (!current_program->flag_validated) {
795  current_program->flag_validated = 1;
796  cb_validate_program_body (current_program);
797  }
798 
800  current_program = cb_build_program (current_program, depth);
803  } else {
804  prog_end = 1;
805  }
806 
807  if (increment_depth ()) {
808  return 1;
809  }
810 
811  current_program->program_id = cb_build_program_id (id, as_literal, type == CB_FUNCTION_TYPE);
812  current_program->prog_type = type;
813 
814  if (type == CB_PROGRAM_TYPE) {
815  if (!main_flag_set) {
816  main_flag_set = 1;
817  current_program->flag_main = !!cobc_flag_main;
818  }
819  } else { /* CB_FUNCTION_TYPE */
820  current_program->flag_recursive = 1;
821  }
822 
823  if (CB_REFERENCE_P (id)) {
824  cb_define (id, CB_TREE (current_program));
825  }
826 
827  begin_scope_of_program_name (current_program);
828 
829  return 0;
830 }
831 
832 static void
833 decrement_depth (const char *name, const unsigned char type)
834 {
835  int d;
836 
837  if (depth) {
838  depth--;
839  }
840 
841  if (!strcmp (stack_progid[depth], name)) {
842  return;
843  }
844 
845  if (type == CB_FUNCTION_TYPE) {
846  cb_error (_("END FUNCTION '%s' is different to FUNCTION-ID '%s'"),
847  name, stack_progid[depth]);
848  return;
849  }
850 
851  /* Set depth to that of whatever program we just ended, if it exists. */
852  for (d = depth; d >= 0; --d) {
853  if (!strcmp (stack_progid[d], name)) {
854  depth = d;
855  return;
856  }
857  }
858 
859  if (depth != d) {
860  cb_error (_("END PROGRAM '%s' is different to PROGRAM-ID '%s'"),
861  name, stack_progid[depth]);
862  }
863 }
864 
865 static void
866 clean_up_program (cb_tree name, const unsigned char type)
867 {
868  char *s;
869 
870  end_scope_of_program_name (current_program);
871 
872  if (CB_LITERAL_P (name)) {
873  s = (char *)(CB_LITERAL (name)->data);
874  } else {
875  s = (char *)(CB_NAME (name));
876  }
877 
878  decrement_depth (s, type);
879 
880  if (!current_program->flag_validated) {
881  current_program->flag_validated = 1;
882  cb_validate_program_body (current_program);
883  }
884 }
885 
886 static const char *
888 {
889  if (CB_LITERAL_P (x)) {
890  return (const char *) CB_LITERAL (x)->data;
891  } else { /* CB_REFERENCE_P (x) */
892  return (const char *) CB_NAME (x);
893  }
894 }
895 
896 /* Return 1 if the prototype name is the same as the current function's. */
897 static int
899 {
900  const char *name = get_literal_or_word_name (prototype_name);
901 
902  if (strcasecmp (name, current_program->program_name) == 0) {
903  cb_warning_x (prototype_name, _("Prototype has same name as current function and will be ignored"));
904  return 1;
905  }
906 
907  return 0;
908 }
909 
910 /* Returns 1 if the prototype has been duplicated. */
911 static int
913  const cb_tree func_prototype)
914 {
915  cb_tree dup;
916 
917  if (CB_WORD_COUNT (prototype_name) > 0) {
918  /* Make sure the duplicate is a prototype */
919  dup = cb_ref (prototype_name);
920  if (!CB_FUNC_PROTOTYPE_P (dup)) {
921  redefinition_error (prototype_name);
922  return 1;
923  }
924 
925  /* Check the duplicate prototypes match */
926  if (strcmp (CB_FUNC_PROTOTYPE (func_prototype)->ext_name,
927  CB_FUNC_PROTOTYPE (dup)->ext_name)) {
928  cb_error_x (prototype_name,
929  _("Duplicate REPOSITORY entries for '%s' do not match"),
930  get_literal_or_word_name (prototype_name));
931  } else {
932  cb_warning_x (prototype_name,
933  _("Duplicate REPOSITORY entry for '%s'"),
934  get_literal_or_word_name (prototype_name));
935  }
936  return 1;
937  }
938 
939  return 0;
940 }
941 
942 static void
943 set_up_func_prototype (cb_tree prototype_name, cb_tree ext_name, const int is_current_func)
944 {
945  cb_tree func_prototype;
946 
947  if (!is_current_func
948  && check_prototype_redefines_current_func (prototype_name)) {
949  return;
950  }
951 
952  func_prototype = cb_build_func_prototype (prototype_name, ext_name);
953 
954  if (!is_current_func
955  && check_for_duplicate_prototype (prototype_name, func_prototype)) {
956  return;
957  }
958 
959  if (CB_REFERENCE_P (prototype_name)) {
960  cb_define (prototype_name, func_prototype);
961  } else { /* CB_LITERAL_P (prototype_name) */
962  cb_define (cb_build_reference ((const char *) CB_LITERAL (prototype_name)->data),
963  func_prototype);
964  }
965  current_program->user_spec_list =
966  cb_list_add (current_program->user_spec_list, func_prototype);
967 }
968 
969 static void
970 emit_duplicate_clause_message (const char *clause)
971 {
972  if (cb_relaxed_syntax_check) {
973  cb_warning (_("Duplicate %s clause"), clause);
974  } else {
975  cb_error (_("Duplicate %s clause"), clause);
976  }
977 }
978 
979 static void
980 check_repeated (const char *clause, const unsigned int bitval, unsigned int *already_seen)
981 {
982  if (*already_seen & bitval) {
984  } else {
985  *already_seen |= bitval;
986  }
987 }
988 
989 static void
990 check_not_both (const int flag1, const int flag2,
991  const char *flag1_name, const char *flag2_name,
992  const int flags, const int flag_to_set)
993 {
994  if (flag_to_set == flag1 && (flags & flag2)) {
995  cb_error (_("Cannot specify both %s and %s"),
996  flag1_name, flag2_name);
997  } else if (flag_to_set == flag2 && (flags & flag1)) {
998  cb_error (_("Cannot specify both %s and %s"),
999  flag1_name, flag2_name);
1000 
1001  }
1002 }
1003 
1004 static COB_INLINE COB_A_INLINE void
1005 check_not_highlight_and_lowlight (const int flags, const int flag_to_set)
1006 {
1008  "HIGHLIGHT", "LOWLIGHT", flags, flag_to_set);
1009 }
1010 
1011 static void
1012 check_screen_attr (const char *clause, const int bitval)
1013 {
1014  if (current_field->screen_flag & bitval) {
1016  } else {
1017  current_field->screen_flag |= bitval;
1018  }
1019 }
1020 
1021 static void
1022 emit_conflicting_clause_message (const char *clause, const char *conflicting)
1023 {
1024  if (cb_relaxed_syntax_check) {
1025  cb_warning (_("Cannot specify both %s and %s, %s ignored"),
1026  clause, conflicting, clause);
1027  } else {
1028  cb_error (_("Cannot specify both %s and %s"),
1029  clause, conflicting);
1030  }
1031 
1032 }
1033 
1034 static void
1035 check_attr_with_conflict (const char *clause, const int bitval,
1036  const char *confl_clause, const int confl_bit,
1037  int *flags)
1038 {
1039  if (*flags & bitval) {
1041  } else if (*flags & confl_bit) {
1042  emit_conflicting_clause_message (clause, confl_clause);
1043  } else {
1044  *flags |= bitval;
1045  }
1046 }
1047 
1048 static COB_INLINE COB_A_INLINE void
1049 check_screen_attr_with_conflict (const char *clause, const int bitval,
1050  const char *confl_clause, const int confl_bit)
1051 {
1052  check_attr_with_conflict (clause, bitval, confl_clause, confl_bit,
1053  &current_field->screen_flag);
1054 }
1055 
1056 static COB_INLINE COB_A_INLINE void
1057 check_dispattr_with_conflict (const char *attrib_name, const int attrib,
1058  const char *confl_name, const int confl_attrib)
1059 {
1060  check_attr_with_conflict (attrib_name, attrib, confl_name, confl_attrib,
1061  &current_statement->attr_ptr->dispattrs);
1062 }
1063 
1064 static void
1065 bit_set_attr (const cb_tree onoff, const int attrval)
1066 {
1067  if (onoff == cb_int1) {
1068  setattr_val_on |= attrval;
1069  } else {
1070  setattr_val_off |= attrval;
1071  }
1072 }
1073 
1074 static void
1076 {
1077  if (!current_statement->attr_ptr) {
1078  current_statement->attr_ptr =
1079  cobc_parse_malloc (sizeof(struct cb_attr_struct));
1080  }
1081 }
1082 
1083 static void
1085  cb_tree timeout, cb_tree prompt, cb_tree size_is)
1086 {
1087  /* [WITH] FOREGROUND-COLOR [IS] */
1088  if (fgc) {
1089  current_statement->attr_ptr->fgc = fgc;
1090  }
1091  /* [WITH] BACKGROUND-COLOR [IS] */
1092  if (bgc) {
1093  current_statement->attr_ptr->bgc = bgc;
1094  }
1095  /* [WITH] SCROLL UP | DOWN */
1096  if (scroll) {
1097  current_statement->attr_ptr->scroll = scroll;
1098  }
1099  /* [WITH] TIMEOUT [AFTER] */
1100  if (timeout) {
1101  current_statement->attr_ptr->timeout = timeout;
1102  }
1103  /* [WITH] PROMPT CHARACTER [IS] */
1104  if (prompt) {
1105  current_statement->attr_ptr->prompt = prompt;
1106  }
1107  /* [WITH] SIZE [IS] */
1108  if (size_is) {
1109  current_statement->attr_ptr->size_is = size_is;
1110  }
1111 }
1112 
1113 static void
1115  cb_tree timeout, cb_tree prompt, cb_tree size_is,
1116  const int attrib)
1117 {
1119  check_field_attribs (fgc, bgc, scroll, timeout, prompt, size_is);
1120 
1121  current_statement->attr_ptr->dispattrs |= attrib;
1122 }
1123 
1124 static void
1126  cb_tree timeout, cb_tree prompt, cb_tree size_is,
1127  const char *attrib_name, const int attrib,
1128  const char *confl_name, const int confl_attrib)
1129 {
1131  check_field_attribs (fgc, bgc, scroll, timeout, prompt, size_is);
1132 
1133  check_dispattr_with_conflict (attrib_name, attrib, confl_name,
1134  confl_attrib);
1135 }
1136 
1137 static int
1138 zero_conflicting_flag (const int screen_flag, int parent_flag, const int flag1, const int flag2)
1139 {
1140  if (screen_flag & flag1) {
1141  parent_flag &= ~flag2;
1142  } else if (screen_flag & flag2) {
1143  parent_flag &= ~flag1;
1144  }
1145 
1146  return parent_flag;
1147 }
1148 
1149 static int
1150 zero_conflicting_flags (const int screen_flag, int parent_flag)
1151 {
1152  parent_flag = zero_conflicting_flag (screen_flag, parent_flag,
1155  parent_flag = zero_conflicting_flag (screen_flag, parent_flag,
1158  parent_flag = zero_conflicting_flag (screen_flag, parent_flag,
1161 
1162  return parent_flag;
1163 }
1164 
1165 static void
1166 remove_attrib (int attrib)
1167 {
1168  /* Remove attribute from current_statement */
1169  if (!current_statement->attr_ptr) {
1170  return;
1171  }
1172  current_statement->attr_ptr->dispattrs ^= attrib;
1173 }
1174 
1175 static void
1176 check_set_usage (const enum cb_usage usage)
1177 {
1179  current_field->usage = usage;
1180 }
1181 
1182 static int
1183 has_relative_pos (struct cb_field const *field)
1184 {
1185  return !!(field->screen_flag
1188 }
1189 
1190 static void
1192 {
1193  struct cb_field *f;
1194 
1195  if (x == cb_error_node || x->tag != CB_TAG_REFERENCE) {
1196  return;
1197  }
1198 
1199  f = CB_FIELD (cb_ref (x));
1200 
1201  if (f != (struct cb_field *) cb_error_node && f->level == 88) {
1202  cb_error (_("88-level cannot be used here"));
1203  }
1204 }
1205 
1206 static int
1208 {
1209  if (CB_FIELD_P (x)) {
1210  return (CB_FIELD (x))->storage == CB_STORAGE_SCREEN;
1211  } else if (CB_REFERENCE_P (x)) {
1212  return is_screen_field (cb_ref (x));
1213  } else {
1214  return 0;
1215  }
1216 }
1217 
1218 static /* COB_INLINE COB_A_INLINE */ int
1220 {
1221  return (cb_tree) x_list != cb_null
1222  && cb_list_length ((cb_tree) x_list) == 1
1223  && is_screen_field (x_list->value);
1224 }
1225 
1226 static COB_INLINE COB_A_INLINE void
1228 {
1229  cb_emit_display (x_list, cb_null, cb_int1, NULL, NULL);
1230 }
1231 
1232 static cb_tree
1234 {
1235  if (current_program->flag_console_is_crt) {
1236  return cb_null;
1237  } else {
1238  return cb_int0;
1239  }
1240 }
1241 
1242 static void
1244 {
1246  NULL);
1247 }
1248 
1249 static void
1251 {
1252  struct cb_list *elt;
1253  cb_tree value;
1254  cb_tree device_display_x_list = NULL;
1255  int display_on_crt = current_program->flag_console_is_crt;
1256 
1257  for (elt = x_list; elt; elt = (struct cb_list *) elt->chain) {
1258  /* Get the list element value */
1259  if (CB_REFERENCE_P (elt->value)) {
1260  value = cb_ref (elt->value);
1261  } else {
1262  value = elt->value;
1263  }
1264 
1265  if (is_screen_field (value)) {
1266  /*
1267  Emit DISPLAY for previous values before emitting
1268  screen DISPLAY
1269  */
1270  if (device_display_x_list != NULL) {
1271  emit_default_device_display (device_display_x_list);
1273 
1274  device_display_x_list = NULL;
1275  }
1276 
1279  } else {
1280  if (display_on_crt) {
1281  cb_error ("Cannot display item upon CRT without LINE or COLUMN");
1282  return;
1283  }
1284 
1285  /* Add value to list for screen DISPLAY */
1286  if (device_display_x_list == NULL) {
1287  device_display_x_list = CB_LIST_INIT (elt->value);
1288  } else {
1289  cb_list_add (device_display_x_list, elt->value);
1290  }
1291  }
1292  }
1293 
1294  /* Emit screen DISPLAY for remaining values */
1295  if (device_display_x_list != NULL) {
1296  emit_default_device_display (device_display_x_list);
1298  }
1299 }
1300 
1301 static void
1303 {
1304  if (advancing_value != cb_int1) {
1305  cb_error (_("Cannot specify NO ADVANCING in screen DISPLAY"));
1306  }
1307 }
1308 
1309 
1310 #line 1308 "parser.c" /* yacc.c:339 */
1311 
1312 # ifndef YY_NULLPTR
1313 # if defined __cplusplus && 201103L <= __cplusplus
1314 # define YY_NULLPTR nullptr
1315 # else
1316 # define YY_NULLPTR 0
1317 # endif
1318 # endif
1319 
1320 /* Enabling verbose error messages. */
1321 #ifdef YYERROR_VERBOSE
1322 # undef YYERROR_VERBOSE
1323 # define YYERROR_VERBOSE 1
1324 #else
1325 # define YYERROR_VERBOSE 1
1326 #endif
1327 
1328 /* In a future release of Bison, this section will be replaced
1329  by #include "parser.h". */
1330 #ifndef YY_YY_PARSER_H_INCLUDED
1331 # define YY_YY_PARSER_H_INCLUDED
1332 /* Debug traces. */
1333 #ifndef YYDEBUG
1334 # define YYDEBUG 0
1335 #endif
1336 #if YYDEBUG
1337 extern int yydebug;
1338 #endif
1339 
1340 /* Token type. */
1341 #ifndef YYTOKENTYPE
1342 # define YYTOKENTYPE
1344  {
1346  ACCEPT = 258,
1347  ACCESS = 259,
1348  ADD = 260,
1349  ADDRESS = 261,
1350  ADVANCING = 262,
1351  AFTER = 263,
1352  ALL = 264,
1353  ALLOCATE = 265,
1354  ALPHABET = 266,
1355  ALPHABETIC = 267,
1360  ALSO = 272,
1361  ALTER = 273,
1362  ALTERNATE = 274,
1363  AND = 275,
1364  ANY = 276,
1365  ARE = 277,
1366  AREA = 278,
1369  AS = 281,
1370  ASCENDING = 282,
1371  ASCII = 283,
1372  ASSIGN = 284,
1373  AT = 285,
1374  ATTRIBUTE = 286,
1375  AUTO = 287,
1376  AUTOMATIC = 288,
1379  BASED = 291,
1380  BEFORE = 292,
1381  BELL = 293,
1382  BINARY = 294,
1388  BLANK = 300,
1389  BLINK = 301,
1390  BLOCK = 302,
1391  BOTTOM = 303,
1392  BY = 304,
1394  CALL = 306,
1395  CANCEL = 307,
1396  CAPACITY = 308,
1397  CF = 309,
1398  CH = 310,
1399  CHAINING = 311,
1400  CHARACTER = 312,
1401  CHARACTERS = 313,
1402  CLASS = 314,
1404  CLOSE = 316,
1405  CODE = 317,
1406  CODE_SET = 318,
1407  COLLATING = 319,
1408  COL = 320,
1409  COLS = 321,
1410  COLUMN = 322,
1411  COLUMNS = 323,
1412  COMMA = 324,
1415  COMMIT = 327,
1416  COMMON = 328,
1417  COMP = 329,
1418  COMPUTE = 330,
1419  COMP_1 = 331,
1420  COMP_2 = 332,
1421  COMP_3 = 333,
1422  COMP_4 = 334,
1423  COMP_5 = 335,
1424  COMP_6 = 336,
1425  COMP_X = 337,
1427  CONDITION = 339,
1429  CONSTANT = 341,
1430  CONTAINS = 342,
1431  CONTENT = 343,
1432  CONTINUE = 344,
1433  CONTROL = 345,
1434  CONTROLS = 346,
1435  CONVERSION = 347,
1436  CONVERTING = 348,
1437  COPY = 349,
1439  COUNT = 351,
1440  CRT = 352,
1441  CRT_UNDER = 353,
1442  CURRENCY = 354,
1444  CURSOR = 356,
1445  CYCLE = 357,
1446  DATA = 358,
1447  DATE = 359,
1448  DAY = 360,
1450  DE = 362,
1451  DEBUGGING = 363,
1454  DEFAULT = 366,
1455  DELETE = 367,
1456  DELIMITED = 368,
1457  DELIMITER = 369,
1458  DEPENDING = 370,
1459  DESCENDING = 371,
1460  DETAIL = 372,
1461  DISC = 373,
1462  DISK = 374,
1463  DISPLAY = 375,
1465  DIVIDE = 377,
1466  DIVISION = 378,
1467  DOWN = 379,
1468  DUPLICATES = 380,
1469  DYNAMIC = 381,
1470  EBCDIC = 382,
1471  EC = 383,
1472  ELSE = 384,
1473  END = 385,
1474  END_ACCEPT = 386,
1475  END_ADD = 387,
1476  END_CALL = 388,
1478  END_DELETE = 390,
1480  END_DIVIDE = 392,
1483  END_IF = 395,
1487  END_READ = 399,
1488  END_RETURN = 400,
1490  END_SEARCH = 402,
1491  END_START = 403,
1492  END_STRING = 404,
1495  END_WRITE = 407,
1496  ENTRY = 408,
1500  EOL = 412,
1501  EOP = 413,
1502  EOS = 414,
1503  EQUAL = 415,
1504  ERASE = 416,
1505  ERROR = 417,
1506  ESCAPE = 418,
1507  EVALUATE = 419,
1509  EXCEPTION = 421,
1511  EXCLUSIVE = 423,
1512  EXIT = 424,
1514  EXTEND = 426,
1515  EXTERNAL = 427,
1516  FD = 428,
1518  FILE_ID = 430,
1519  FILLER = 431,
1520  FINAL = 432,
1521  FIRST = 433,
1529  FLOAT_LONG = 441,
1531  FOOTING = 443,
1532  FOR = 444,
1534  FOREVER = 446,
1538  FREE = 450,
1539  FROM = 451,
1540  FROM_CRT = 452,
1541  FULL = 453,
1542  FUNCTION = 454,
1545  GENERATE = 457,
1546  GIVING = 458,
1547  GLOBAL = 459,
1548  GO = 460,
1549  GOBACK = 461,
1550  GREATER = 462,
1552  GRID = 464,
1553  GROUP = 465,
1554  HEADING = 466,
1555  HIGHLIGHT = 467,
1556  HIGH_VALUE = 468,
1557  ID = 469,
1559  IF = 471,
1560  IGNORE = 472,
1561  IGNORING = 473,
1562  IN = 474,
1563  INDEX = 475,
1564  INDEXED = 476,
1565  INDICATE = 477,
1566  INITIALIZE = 478,
1568  INITIATE = 480,
1569  INPUT = 481,
1571  INSPECT = 483,
1572  INTO = 484,
1573  INTRINSIC = 485,
1574  INVALID = 486,
1576  IS = 488,
1577  I_O = 489,
1579  JUSTIFIED = 491,
1580  KEPT = 492,
1581  KEY = 493,
1582  KEYBOARD = 494,
1583  LABEL = 495,
1584  LAST = 496,
1585  LEADING = 497,
1586  LEFT = 498,
1587  LEFTLINE = 499,
1588  LENGTH = 500,
1589  LENGTH_OF = 501,
1590  LESS = 502,
1592  LIMIT = 504,
1593  LIMITS = 505,
1594  LINAGE = 506,
1596  LINE = 508,
1598  LINES = 510,
1599  LINKAGE = 511,
1600  LITERAL = 512,
1601  LOCALE = 513,
1606  LOCK = 518,
1607  LOWER = 519,
1609  LOWLIGHT = 521,
1610  LOW_VALUE = 522,
1611  MANUAL = 523,
1612  MEMORY = 524,
1613  MERGE = 525,
1614  MINUS = 526,
1616  MODE = 528,
1617  MOVE = 529,
1618  MULTIPLE = 530,
1619  MULTIPLY = 531,
1620  NAME = 532,
1621  NATIONAL = 533,
1624  NATIVE = 536,
1628  NEGATIVE = 540,
1629  NEXT = 541,
1630  NEXT_PAGE = 542,
1631  NO = 543,
1632  NO_ECHO = 544,
1633  NORMAL = 545,
1634  NOT = 546,
1635  NOTHING = 547,
1636  NOT_END = 548,
1637  NOT_EOP = 549,
1638  NOT_ESCAPE = 550,
1639  NOT_EQUAL = 551,
1645  NUMBER = 557,
1646  NUMBERS = 558,
1647  NUMERIC = 559,
1651  OCCURS = 563,
1652  OF = 564,
1653  OFF = 565,
1654  OMITTED = 566,
1655  ON = 567,
1656  ONLY = 568,
1657  OPEN = 569,
1658  OPTIONAL = 570,
1659  OR = 571,
1660  ORDER = 572,
1662  OTHER = 574,
1663  OUTPUT = 575,
1664  OVERLINE = 576,
1666  PADDING = 578,
1667  PAGE = 579,
1669  PARAGRAPH = 581,
1670  PERFORM = 582,
1671  PH = 583,
1672  PF = 584,
1673  PICTURE = 585,
1675  PLUS = 587,
1676  POINTER = 588,
1677  POSITION = 589,
1678  POSITIVE = 590,
1679  PRESENT = 591,
1680  PREVIOUS = 592,
1681  PRINT = 593,
1682  PRINTER = 594,
1683  PRINTER_1 = 595,
1684  PRINTING = 596,
1685  PROCEDURE = 597,
1686  PROCEDURES = 598,
1687  PROCEED = 599,
1688  PROGRAM = 600,
1689  PROGRAM_ID = 601,
1692  PROHIBITED = 604,
1693  PROMPT = 605,
1694  PROTECTED = 606,
1695  QUOTE = 607,
1696  RANDOM = 608,
1697  RD = 609,
1698  READ = 610,
1700  RECORD = 612,
1701  RECORDING = 613,
1702  RECORDS = 614,
1703  RECURSIVE = 615,
1704  REDEFINES = 616,
1705  REEL = 617,
1706  REFERENCE = 618,
1707  REFERENCES = 619,
1708  RELATIVE = 620,
1709  RELEASE = 621,
1710  REMAINDER = 622,
1711  REMOVAL = 623,
1712  RENAMES = 624,
1713  REPLACE = 625,
1714  REPLACING = 626,
1715  REPORT = 627,
1716  REPORTING = 628,
1717  REPORTS = 629,
1718  REPOSITORY = 630,
1719  REQUIRED = 631,
1720  RESERVE = 632,
1721  RESET = 633,
1723  RETURN = 635,
1724  RETURNING = 636,
1727  REVERSED = 639,
1728  REWIND = 640,
1729  REWRITE = 641,
1730  RF = 642,
1731  RH = 643,
1732  RIGHT = 644,
1733  ROLLBACK = 645,
1734  ROUNDED = 646,
1735  RUN = 647,
1736  SAME = 648,
1737  SCREEN = 649,
1739  SCROLL = 651,
1740  SD = 652,
1741  SEARCH = 653,
1742  SECTION = 654,
1743  SECURE = 655,
1745  SELECT = 657,
1746  SEMI_COLON = 658,
1747  SENTENCE = 659,
1748  SEPARATE = 660,
1749  SEQUENCE = 661,
1750  SEQUENTIAL = 662,
1751  SET = 663,
1752  SHARING = 664,
1753  SIGN = 665,
1754  SIGNED = 666,
1755  SIGNED_INT = 667,
1758  SIZE = 670,
1759  SIZE_ERROR = 671,
1760  SORT = 672,
1761  SORT_MERGE = 673,
1762  SOURCE = 674,
1764  SPACE = 676,
1766  STANDARD = 678,
1767  STANDARD_1 = 679,
1768  STANDARD_2 = 680,
1769  START = 681,
1770  STATIC = 682,
1771  STATUS = 683,
1772  STDCALL = 684,
1773  STEP = 685,
1774  STOP = 686,
1775  STRING = 687,
1778  SUBTRACT = 690,
1779  SUM = 691,
1780  SUPPRESS = 692,
1781  SYMBOLIC = 693,
1785  TAB = 697,
1786  TALLYING = 698,
1787  TAPE = 699,
1788  TERMINATE = 700,
1789  TEST = 701,
1790  THAN = 702,
1791  THEN = 703,
1792  THRU = 704,
1793  TIME = 705,
1794  TIMEOUT = 706,
1795  TIMES = 707,
1796  TO = 708,
1797  TOK_AMPER = 709,
1799  TOK_COLON = 711,
1800  TOK_DIV = 712,
1801  TOK_DOT = 713,
1802  TOK_EQUAL = 714,
1803  TOK_FALSE = 715,
1804  TOK_FILE = 716,
1807  TOK_LESS = 719,
1808  TOK_MINUS = 720,
1809  TOK_MUL = 721,
1810  TOK_NULL = 722,
1813  TOK_PLUS = 725,
1814  TOK_TRUE = 726,
1815  TOP = 727,
1818  TRAILING = 730,
1819  TRANSFORM = 731,
1820  TRIM_FUNC = 732,
1821  TRUNCATION = 733,
1822  TYPE = 734,
1823  UNDERLINE = 735,
1824  UNIT = 736,
1825  UNLOCK = 737,
1826  UNSIGNED = 738,
1830  UNSTRING = 742,
1831  UNTIL = 743,
1832  UP = 744,
1833  UPDATE = 745,
1834  UPON = 746,
1839  UPPER = 751,
1841  USAGE = 753,
1842  USE = 754,
1843  USER = 755,
1846  USING = 758,
1847  VALUE = 759,
1848  VARYING = 760,
1849  WAIT = 761,
1850  WHEN = 762,
1852  WITH = 764,
1853  WORD = 765,
1854  WORDS = 766,
1856  WRITE = 768,
1857  YYYYDDD = 769,
1858  YYYYMMDD = 770,
1859  ZERO = 771,
1861  };
1862 #endif
1863 
1864 /* Value type. */
1865 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1866 typedef int YYSTYPE;
1867 # define YYSTYPE_IS_TRIVIAL 1
1868 # define YYSTYPE_IS_DECLARED 1
1869 #endif
1870 
1871 
1872 extern YYSTYPE yylval;
1873 
1874 int yyparse (void);
1875 
1876 #endif /* !YY_YY_PARSER_H_INCLUDED */
1877 
1878 /* Copy the second part of user declarations. */
1879 
1880 #line 1878 "parser.c" /* yacc.c:358 */
1881 
1882 #ifdef short
1883 # undef short
1884 #endif
1885 
1886 #ifdef YYTYPE_UINT8
1887 typedef YYTYPE_UINT8 yytype_uint8;
1888 #else
1889 typedef unsigned char yytype_uint8;
1890 #endif
1891 
1892 #ifdef YYTYPE_INT8
1893 typedef YYTYPE_INT8 yytype_int8;
1894 #else
1895 typedef signed char yytype_int8;
1896 #endif
1897 
1898 #ifdef YYTYPE_UINT16
1899 typedef YYTYPE_UINT16 yytype_uint16;
1900 #else
1901 typedef unsigned short int yytype_uint16;
1902 #endif
1903 
1904 #ifdef YYTYPE_INT16
1905 typedef YYTYPE_INT16 yytype_int16;
1906 #else
1907 typedef short int yytype_int16;
1908 #endif
1909 
1910 #ifndef YYSIZE_T
1911 # ifdef __SIZE_TYPE__
1912 # define YYSIZE_T __SIZE_TYPE__
1913 # elif defined size_t
1914 # define YYSIZE_T size_t
1915 # elif ! defined YYSIZE_T
1916 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1917 # define YYSIZE_T size_t
1918 # else
1919 # define YYSIZE_T unsigned int
1920 # endif
1921 #endif
1922 
1923 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1924 
1925 #ifndef YY_
1926 # if defined YYENABLE_NLS && YYENABLE_NLS
1927 # if ENABLE_NLS
1928 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
1929 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
1930 # endif
1931 # endif
1932 # ifndef YY_
1933 # define YY_(Msgid) Msgid
1934 # endif
1935 #endif
1936 
1937 #ifndef YY_ATTRIBUTE
1938 # if (defined __GNUC__ \
1939  && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
1940  || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
1941 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
1942 # else
1943 # define YY_ATTRIBUTE(Spec) /* empty */
1944 # endif
1945 #endif
1946 
1947 #ifndef YY_ATTRIBUTE_PURE
1948 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
1949 #endif
1950 
1951 #ifndef YY_ATTRIBUTE_UNUSED
1952 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
1953 #endif
1954 
1955 #if !defined _Noreturn \
1956  && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
1957 # if defined _MSC_VER && 1200 <= _MSC_VER
1958 # define _Noreturn __declspec (noreturn)
1959 # else
1960 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
1961 # endif
1962 #endif
1963 
1964 /* Suppress unused-variable warnings by "using" E. */
1965 #if ! defined lint || defined __GNUC__
1966 # define YYUSE(E) ((void) (E))
1967 #else
1968 # define YYUSE(E) /* empty */
1969 #endif
1970 
1971 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
1972 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
1973 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
1974  _Pragma ("GCC diagnostic push") \
1975  _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
1976  _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
1977 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
1978  _Pragma ("GCC diagnostic pop")
1979 #else
1980 # define YY_INITIAL_VALUE(Value) Value
1981 #endif
1982 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1983 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1984 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
1985 #endif
1986 #ifndef YY_INITIAL_VALUE
1987 # define YY_INITIAL_VALUE(Value) /* Nothing. */
1988 #endif
1989 
1990 
1991 #if ! defined yyoverflow || YYERROR_VERBOSE
1992 
1993 /* The parser invokes alloca or malloc; define the necessary symbols. */
1994 
1995 # ifdef YYSTACK_USE_ALLOCA
1996 # if YYSTACK_USE_ALLOCA
1997 # ifdef __GNUC__
1998 # define YYSTACK_ALLOC __builtin_alloca
1999 # elif defined __BUILTIN_VA_ARG_INCR
2000 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
2001 # elif defined _AIX
2002 # define YYSTACK_ALLOC __alloca
2003 # elif defined _MSC_VER
2004 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
2005 # define alloca _alloca
2006 # else
2007 # define YYSTACK_ALLOC alloca
2008 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
2009 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
2010  /* Use EXIT_SUCCESS as a witness for stdlib.h. */
2011 # ifndef EXIT_SUCCESS
2012 # define EXIT_SUCCESS 0
2013 # endif
2014 # endif
2015 # endif
2016 # endif
2017 # endif
2018 
2019 # ifdef YYSTACK_ALLOC
2020  /* Pacify GCC's 'empty if-body' warning. */
2021 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
2022 # ifndef YYSTACK_ALLOC_MAXIMUM
2023  /* The OS might guarantee only one guard page at the bottom of the stack,
2024  and a page size can be as small as 4096 bytes. So we cannot safely
2025  invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
2026  to allow for a few compiler-allocated temporary stack slots. */
2027 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
2028 # endif
2029 # else
2030 # define YYSTACK_ALLOC YYMALLOC
2031 # define YYSTACK_FREE YYFREE
2032 # ifndef YYSTACK_ALLOC_MAXIMUM
2033 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
2034 # endif
2035 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
2036  && ! ((defined YYMALLOC || defined malloc) \
2037  && (defined YYFREE || defined free)))
2038 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
2039 # ifndef EXIT_SUCCESS
2040 # define EXIT_SUCCESS 0
2041 # endif
2042 # endif
2043 # ifndef YYMALLOC
2044 # define YYMALLOC malloc
2045 # if ! defined malloc && ! defined EXIT_SUCCESS
2046 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
2047 # endif
2048 # endif
2049 # ifndef YYFREE
2050 # define YYFREE free
2051 # if ! defined free && ! defined EXIT_SUCCESS
2052 void free (void *); /* INFRINGES ON USER NAME SPACE */
2053 # endif
2054 # endif
2055 # endif
2056 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
2057 
2058 
2059 #if (! defined yyoverflow \
2060  && (! defined __cplusplus \
2061  || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
2062 
2063 /* A type that is properly aligned for any stack member. */
2064 union yyalloc
2065 {
2066  yytype_int16 yyss_alloc;
2067  YYSTYPE yyvs_alloc;
2068 };
2069 
2070 /* The size of the maximum gap between one aligned stack and the next. */
2071 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
2072 
2073 /* The size of an array large to enough to hold all stacks, each with
2074  N elements. */
2075 # define YYSTACK_BYTES(N) \
2076  ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
2077  + YYSTACK_GAP_MAXIMUM)
2078 
2079 # define YYCOPY_NEEDED 1
2080 
2081 /* Relocate STACK from its old location to the new one. The
2082  local variables YYSIZE and YYSTACKSIZE give the old and new number of
2083  elements in the stack, and YYPTR gives the new location of the
2084  stack. Advance YYPTR to a properly aligned location for the next
2085  stack. */
2086 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
2087  do \
2088  { \
2089  YYSIZE_T yynewbytes; \
2090  YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
2091  Stack = &yyptr->Stack_alloc; \
2092  yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
2093  yyptr += yynewbytes / sizeof (*yyptr); \
2094  } \
2095  while (0)
2096 
2097 #endif
2098 
2099 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
2100 /* Copy COUNT objects from SRC to DST. The source and destination do
2101  not overlap. */
2102 # ifndef YYCOPY
2103 # if defined __GNUC__ && 1 < __GNUC__
2104 # define YYCOPY(Dst, Src, Count) \
2105  __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
2106 # else
2107 # define YYCOPY(Dst, Src, Count) \
2108  do \
2109  { \
2110  YYSIZE_T yyi; \
2111  for (yyi = 0; yyi < (Count); yyi++) \
2112  (Dst)[yyi] = (Src)[yyi]; \
2113  } \
2114  while (0)
2115 # endif
2116 # endif
2117 #endif /* !YYCOPY_NEEDED */
2118 
2119 /* YYFINAL -- State number of the termination state. */
2120 #define YYFINAL 3
2121 /* YYLAST -- Last index in YYTABLE. */
2122 #define YYLAST 8985
2123 
2124 /* YYNTOKENS -- Number of terminals. */
2125 #define YYNTOKENS 518
2126 /* YYNNTS -- Number of nonterminals. */
2127 #define YYNNTS 828
2128 /* YYNRULES -- Number of rules. */
2129 #define YYNRULES 1932
2130 /* YYNSTATES -- Number of states. */
2131 #define YYNSTATES 2767
2132 
2133 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
2134  by yylex, with out-of-bounds checking. */
2135 #define YYUNDEFTOK 2
2136 #define YYMAXUTOK 772
2137 
2138 #define YYTRANSLATE(YYX) \
2139  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
2140 
2141 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
2142  as returned by yylex, without out-of-bounds checking. */
2143 static const yytype_uint16 yytranslate[] =
2144 {
2145  0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2146  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2147  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2148  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2149  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2150  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2151  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2152  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2153  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2154  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2155  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2156  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2157  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2158  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2159  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2160  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2161  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2162  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2163  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2164  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2165  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2166  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2167  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2168  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2169  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2170  2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
2171  5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2172  15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2173  25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2174  35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2175  45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2176  55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2177  65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2178  75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2179  85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2180  95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2181  105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2182  115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2183  125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2184  135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2185  145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2186  155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2187  165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2188  175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2189  185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2190  195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2191  205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2192  215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2193  225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2194  235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2195  245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2196  255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2197  265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2198  275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2199  285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2200  295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2201  305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2202  315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2203  325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2204  335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2205  345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2206  355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2207  365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2208  375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2209  385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
2210  395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
2211  405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
2212  415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
2213  425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
2214  435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
2215  445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2216  455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2217  465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
2218  475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
2219  485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
2220  495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
2221  505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
2222  515, 516, 517
2223 };
2224 
2225 #if YYDEBUG
2226  /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
2227 static const yytype_uint16 yyrline[] =
2228 {
2229  0, 1893, 1893, 1893, 1926, 1927, 1931, 1932, 1936, 1937,
2230  1941, 1941, 1964, 1975, 1981, 1982, 1986, 1987, 1991, 1999,
2231  2008, 2016, 2017, 2022, 2021, 2034, 2045, 2056, 2060, 2061,
2232  2065, 2066, 2069, 2070, 2074, 2083, 2092, 2093, 2097, 2101,
2233  2111, 2116, 2117, 2126, 2133, 2134, 2144, 2145, 2146, 2147,
2234  2148, 2161, 2160, 2170, 2171, 2174, 2175, 2189, 2188, 2198,
2235  2199, 2200, 2201, 2205, 2206, 2210, 2211, 2212, 2213, 2217,
2236  2225, 2232, 2239, 2250, 2254, 2258, 2262, 2269, 2270, 2275,
2237  2277, 2276, 2287, 2288, 2289, 2296, 2297, 2301, 2305, 2311,
2238  2316, 2319, 2326, 2331, 2341, 2342, 2354, 2355, 2359, 2360,
2239  2364, 2365, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376,
2240  2377, 2378, 2379, 2380, 2388, 2387, 2415, 2425, 2438, 2446,
2241  2449, 2450, 2454, 2461, 2476, 2497, 2496, 2520, 2526, 2532,
2242  2538, 2544, 2550, 2560, 2564, 2571, 2575, 2580, 2579, 2590,
2243  2594, 2601, 2602, 2603, 2604, 2605, 2606, 2610, 2611, 2618,
2244  2633, 2636, 2643, 2651, 2655, 2666, 2686, 2694, 2705, 2706,
2245  2712, 2733, 2734, 2738, 2742, 2763, 2786, 2868, 2871, 2880,
2246  2899, 2915, 2933, 2951, 2968, 2985, 2995, 2996, 3003, 3004,
2247  3012, 3013, 3023, 3024, 3029, 3028, 3058, 3059, 3063, 3064,
2248  3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074,
2249  3075, 3082, 3088, 3098, 3111, 3124, 3151, 3152, 3153, 3157,
2250  3158, 3159, 3160, 3163, 3164, 3170, 3171, 3175, 3179, 3180,
2251  3185, 3188, 3189, 3196, 3204, 3205, 3206, 3213, 3237, 3239,
2252  3244, 3254, 3265, 3272, 3274, 3275, 3281, 3281, 3288, 3293,
2253  3298, 3305, 3306, 3307, 3311, 3322, 3323, 3327, 3332, 3337,
2254  3342, 3353, 3364, 3374, 3382, 3383, 3384, 3390, 3401, 3408,
2255  3409, 3415, 3423, 3424, 3425, 3431, 3432, 3433, 3440, 3441,
2256  3445, 3446, 3452, 3480, 3481, 3482, 3483, 3490, 3489, 3505,
2257  3506, 3510, 3513, 3514, 3524, 3521, 3537, 3538, 3546, 3547,
2258  3555, 3556, 3560, 3581, 3580, 3597, 3604, 3608, 3614, 3615,
2259  3619, 3629, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651,
2260  3652, 3659, 3666, 3666, 3666, 3672, 3692, 3726, 3757, 3758,
2261  3765, 3766, 3770, 3771, 3778, 3789, 3794, 3805, 3806, 3810,
2262  3811, 3817, 3828, 3846, 3847, 3851, 3852, 3853, 3857, 3864,
2263  3871, 3880, 3892, 3944, 3959, 3960, 3964, 3974, 3988, 3990,
2264  3989, 4005, 4008, 4008, 4025, 4026, 4028, 4032, 4034, 4033,
2265  4068, 4081, 4089, 4094, 4100, 4109, 4119, 4122, 4134, 4135,
2266  4136, 4137, 4141, 4145, 4149, 4153, 4157, 4161, 4165, 4169,
2267  4173, 4177, 4181, 4185, 4189, 4200, 4201, 4205, 4206, 4210,
2268  4211, 4212, 4216, 4217, 4221, 4247, 4251, 4260, 4264, 4273,
2269  4274, 4275, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283,
2270  4284, 4285, 4286, 4293, 4317, 4345, 4348, 4357, 4382, 4393,
2271  4394, 4398, 4402, 4406, 4410, 4414, 4418, 4422, 4426, 4430,
2272  4434, 4438, 4442, 4446, 4451, 4456, 4460, 4464, 4472, 4476,
2273  4480, 4488, 4492, 4496, 4500, 4504, 4508, 4512, 4516, 4520,
2274  4528, 4536, 4540, 4544, 4548, 4552, 4556, 4564, 4565, 4569,
2275  4570, 4576, 4582, 4594, 4612, 4613, 4622, 4654, 4684, 4685,
2276  4689, 4690, 4693, 4694, 4700, 4701, 4708, 4709, 4716, 4740,
2277  4741, 4758, 4759, 4762, 4763, 4770, 4771, 4776, 4787, 4798,
2278  4809, 4820, 4849, 4848, 4857, 4858, 4862, 4863, 4866, 4867,
2279  4880, 4893, 4914, 4923, 4937, 4939, 4938, 4958, 4960, 4959,
2280  4975, 4977, 4976, 4985, 4986, 4993, 4992, 5005, 5006, 5007,
2281  5014, 5019, 5023, 5024, 5030, 5037, 5041, 5042, 5048, 5085,
2282  5089, 5094, 5100, 5101, 5106, 5107, 5108, 5109, 5110, 5114,
2283  5121, 5128, 5135, 5142, 5148, 5149, 5154, 5153, 5160, 5161,
2284  5165, 5166, 5167, 5168, 5169, 5170, 5171, 5172, 5173, 5174,
2285  5175, 5176, 5177, 5178, 5179, 5180, 5184, 5191, 5192, 5193,
2286  5194, 5195, 5196, 5197, 5200, 5201, 5202, 5205, 5206, 5210,
2287  5217, 5223, 5224, 5228, 5229, 5233, 5240, 5244, 5251, 5252,
2288  5256, 5263, 5264, 5268, 5269, 5273, 5274, 5275, 5279, 5280,
2289  5284, 5285, 5289, 5296, 5303, 5311, 5313, 5312, 5333, 5334,
2290  5338, 5339, 5343, 5345, 5344, 5415, 5433, 5434, 5438, 5443,
2291  5448, 5452, 5456, 5461, 5466, 5471, 5476, 5480, 5484, 5489,
2292  5494, 5499, 5503, 5507, 5511, 5515, 5520, 5524, 5528, 5533,
2293  5538, 5543, 5548, 5549, 5550, 5551, 5552, 5553, 5554, 5555,
2294  5556, 5565, 5570, 5581, 5582, 5586, 5587, 5591, 5592, 5596,
2295  5597, 5602, 5605, 5609, 5617, 5620, 5624, 5632, 5643, 5651,
2296  5653, 5663, 5652, 5690, 5690, 5723, 5727, 5726, 5740, 5739,
2297  5759, 5760, 5765, 5787, 5789, 5793, 5804, 5806, 5814, 5822,
2298  5830, 5859, 5892, 5895, 5908, 5913, 5923, 5954, 5956, 5955,
2299  5992, 5993, 5997, 5998, 5999, 6016, 6017, 6028, 6027, 6077,
2300  6078, 6082, 6130, 6143, 6146, 6165, 6170, 6164, 6183, 6183,
2301  6213, 6220, 6221, 6222, 6223, 6224, 6225, 6226, 6227, 6228,
2302  6229, 6230, 6231, 6232, 6233, 6234, 6235, 6236, 6237, 6238,
2303  6239, 6240, 6241, 6242, 6243, 6244, 6245, 6246, 6247, 6248,
2304  6249, 6250, 6251, 6252, 6253, 6254, 6255, 6256, 6257, 6258,
2305  6259, 6260, 6261, 6262, 6263, 6264, 6265, 6266, 6267, 6268,
2306  6269, 6283, 6295, 6294, 6310, 6309, 6320, 6324, 6328, 6333,
2307  6338, 6343, 6348, 6352, 6356, 6360, 6364, 6369, 6373, 6377,
2308  6381, 6385, 6389, 6393, 6400, 6401, 6407, 6409, 6413, 6414,
2309  6418, 6419, 6423, 6427, 6431, 6432, 6436, 6448, 6460, 6471,
2310  6475, 6476, 6480, 6487, 6491, 6497, 6501, 6505, 6509, 6513,
2311  6519, 6523, 6527, 6533, 6537, 6541, 6545, 6549, 6553, 6557,
2312  6561, 6565, 6569, 6573, 6579, 6583, 6587, 6591, 6595, 6599,
2313  6603, 6610, 6611, 6615, 6619, 6637, 6636, 6645, 6649, 6653,
2314  6659, 6660, 6667, 6671, 6682, 6681, 6690, 6694, 6706, 6707,
2315  6715, 6714, 6723, 6724, 6728, 6734, 6734, 6741, 6740, 6751,
2316  6779, 6783, 6788, 6793, 6814, 6818, 6817, 6834, 6835, 6840,
2317  6848, 6872, 6874, 6878, 6887, 6900, 6903, 6907, 6911, 6916,
2318  6939, 6940, 6944, 6945, 6950, 6953, 6958, 6967, 6971, 6979,
2319  6983, 6994, 6993, 7001, 7005, 7016, 7015, 7023, 7028, 7036,
2320  7037, 7038, 7039, 7040, 7048, 7047, 7056, 7063, 7067, 7077,
2321  7088, 7106, 7105, 7114, 7118, 7122, 7127, 7135, 7139, 7150,
2322  7149, 7159, 7163, 7167, 7171, 7175, 7179, 7184, 7191, 7192,
2323  7197, 7196, 7261, 7265, 7273, 7274, 7278, 7282, 7287, 7291,
2324  7292, 7296, 7300, 7304, 7308, 7312, 7313, 7317, 7321, 7327,
2325  7333, 7337, 7341, 7347, 7353, 7359, 7365, 7369, 7373, 7377,
2326  7381, 7385, 7389, 7393, 7400, 7404, 7415, 7414, 7423, 7427,
2327  7431, 7435, 7439, 7446, 7450, 7461, 7460, 7469, 7488, 7487,
2328  7511, 7519, 7520, 7525, 7536, 7547, 7561, 7565, 7572, 7573,
2329  7578, 7587, 7596, 7601, 7610, 7611, 7616, 7678, 7679, 7680,
2330  7684, 7685, 7689, 7693, 7704, 7703, 7715, 7716, 7737, 7751,
2331  7773, 7795, 7815, 7838, 7839, 7847, 7846, 7855, 7866, 7865,
2332  7875, 7882, 7881, 7894, 7903, 7907, 7918, 7934, 7933, 7942,
2333  7946, 7950, 7957, 7961, 7972, 7971, 7979, 7987, 7988, 7992,
2334  7993, 7994, 7999, 8002, 8009, 8013, 8021, 8028, 8029, 8030,
2335  8031, 8032, 8033, 8034, 8039, 8042, 8052, 8051, 8060, 8066,
2336  8078, 8077, 8086, 8090, 8094, 8098, 8105, 8106, 8107, 8108,
2337  8115, 8114, 8128, 8138, 8147, 8148, 8152, 8153, 8154, 8155,
2338  8156, 8157, 8161, 8162, 8166, 8171, 8178, 8179, 8180, 8181,
2339  8182, 8186, 8214, 8217, 8224, 8228, 8238, 8237, 8250, 8249,
2340  8257, 8261, 8272, 8271, 8280, 8284, 8291, 8295, 8306, 8305,
2341  8313, 8334, 8358, 8359, 8360, 8361, 8365, 8366, 8370, 8371,
2342  8372, 8373, 8385, 8384, 8395, 8401, 8400, 8411, 8419, 8427,
2343  8434, 8438, 8451, 8458, 8470, 8473, 8478, 8482, 8493, 8500,
2344  8501, 8505, 8506, 8509, 8510, 8515, 8526, 8525, 8534, 8561,
2345  8562, 8567, 8570, 8574, 8578, 8582, 8586, 8590, 8597, 8598,
2346  8602, 8603, 8607, 8611, 8621, 8632, 8631, 8639, 8649, 8660,
2347  8659, 8668, 8675, 8679, 8690, 8689, 8701, 8710, 8713, 8717,
2348  8724, 8728, 8738, 8750, 8749, 8758, 8762, 8771, 8772, 8777,
2349  8780, 8788, 8792, 8799, 8807, 8811, 8822, 8821, 8835, 8836,
2350  8837, 8838, 8839, 8840, 8841, 8845, 8846, 8850, 8851, 8857,
2351  8866, 8873, 8874, 8878, 8882, 8886, 8892, 8898, 8902, 8906,
2352  8910, 8919, 8923, 8932, 8941, 8942, 8946, 8955, 8956, 8960,
2353  8964, 8973, 8983, 8982, 8991, 8990, 9021, 9024, 9044, 9045,
2354  9048, 9049, 9057, 9058, 9063, 9068, 9078, 9094, 9099, 9109,
2355  9126, 9125, 9135, 9148, 9151, 9159, 9162, 9167, 9172, 9180,
2356  9181, 9182, 9183, 9184, 9185, 9189, 9197, 9198, 9202, 9206,
2357  9217, 9216, 9226, 9239, 9242, 9246, 9254, 9266, 9269, 9276,
2358  9277, 9278, 9279, 9286, 9285, 9294, 9301, 9302, 9306, 9307,
2359  9308, 9312, 9313, 9317, 9321, 9332, 9331, 9340, 9344, 9348,
2360  9355, 9359, 9369, 9380, 9381, 9388, 9387, 9396, 9402, 9414,
2361  9413, 9421, 9435, 9434, 9442, 9459, 9458, 9467, 9475, 9476,
2362  9481, 9482, 9487, 9494, 9495, 9500, 9507, 9508, 9512, 9513,
2363  9517, 9518, 9522, 9526, 9537, 9536, 9545, 9546, 9547, 9548,
2364  9549, 9553, 9580, 9583, 9595, 9605, 9610, 9615, 9620, 9628,
2365  9666, 9667, 9671, 9711, 9721, 9744, 9745, 9746, 9747, 9751,
2366  9760, 9766, 9776, 9785, 9794, 9795, 9802, 9801, 9813, 9823,
2367  9824, 9829, 9832, 9836, 9840, 9847, 9848, 9852, 9853, 9857,
2368  9861, 9873, 9876, 9877, 9886, 9887, 9891, 9892, 9901, 9902,
2369  9906, 9909, 9910, 9919, 9920, 9931, 9934, 9935, 9944, 9945,
2370  9957, 9960, 9962, 9972, 9973, 9985, 9986, 9990, 9991, 9992,
2371  9996, 10005, 10016, 10017, 10018, 10022, 10031, 10042, 10047, 10048,
2372  10057, 10058, 10069, 10073, 10083, 10090, 10097, 10097, 10108, 10109,
2373  10110, 10114, 10123, 10124, 10126, 10127, 10128, 10129, 10130, 10132,
2374  10133, 10134, 10135, 10136, 10137, 10139, 10140, 10141, 10143, 10144,
2375  10145, 10146, 10147, 10150, 10151, 10155, 10156, 10160, 10161, 10165,
2376  10166, 10170, 10174, 10180, 10184, 10190, 10191, 10192, 10196, 10197,
2377  10198, 10202, 10203, 10204, 10208, 10212, 10216, 10217, 10218, 10221,
2378  10222, 10232, 10244, 10253, 10265, 10274, 10286, 10301, 10302, 10307,
2379  10316, 10322, 10342, 10346, 10367, 10408, 10422, 10423, 10428, 10434,
2380  10435, 10440, 10452, 10453, 10454, 10461, 10472, 10473, 10477, 10485,
2381  10493, 10497, 10504, 10513, 10514, 10520, 10529, 10540, 10557, 10561,
2382  10568, 10569, 10570, 10577, 10578, 10582, 10586, 10593, 10594, 10595,
2383  10596, 10597, 10601, 10605, 10609, 10613, 10617, 10638, 10642, 10649,
2384  10650, 10651, 10655, 10656, 10657, 10658, 10659, 10663, 10667, 10674,
2385  10675, 10679, 10680, 10684, 10685, 10689, 10690, 10701, 10705, 10709,
2386  10713, 10714, 10718, 10722, 10723, 10730, 10734, 10738, 10742, 10746,
2387  10750, 10751, 10757, 10761, 10765, 10766, 10770, 10774, 10781, 10788,
2388  10795, 10805, 10812, 10822, 10832, 10842, 10855, 10859, 10867, 10875,
2389  10879, 10889, 10903, 10926, 10948, 10964, 10965, 10966, 10967, 10968,
2390  10969, 10973, 10977, 10994, 10998, 11005, 11006, 11007, 11008, 11009,
2391  11010, 11011, 11017, 11021, 11025, 11029, 11033, 11037, 11041, 11045,
2392  11049, 11053, 11057, 11061, 11068, 11069, 11073, 11074, 11075, 11079,
2393  11080, 11081, 11082, 11086, 11090, 11094, 11101, 11105, 11109, 11116,
2394  11123, 11130, 11140, 11147, 11157, 11164, 11174, 11178, 11191, 11195,
2395  11210, 11218, 11219, 11223, 11224, 11228, 11229, 11234, 11237, 11245,
2396  11248, 11255, 11257, 11258, 11262, 11263, 11267, 11268, 11269, 11274,
2397  11277, 11290, 11294, 11302, 11306, 11310, 11314, 11318, 11322, 11326,
2398  11330, 11337, 11338, 11344, 11345, 11346, 11347, 11348, 11349, 11350,
2399  11351, 11352, 11353, 11354, 11355, 11356, 11357, 11358, 11359, 11360,
2400  11361, 11362, 11363, 11364, 11365, 11366, 11367, 11368, 11369, 11370,
2401  11371, 11372, 11373, 11374, 11375, 11376, 11377, 11378, 11379, 11380,
2402  11381, 11382, 11383, 11384, 11385, 11386, 11387, 11388, 11389, 11390,
2403  11391, 11392, 11393, 11394, 11395, 11396, 11397, 11398, 11399, 11400,
2404  11401, 11402, 11403, 11404, 11405, 11406, 11407, 11408, 11409, 11410,
2405  11411, 11412, 11413, 11420, 11420, 11421, 11421, 11422, 11422, 11423,
2406  11423, 11424, 11424, 11425, 11425, 11426, 11426, 11427, 11427, 11428,
2407  11428, 11429, 11429, 11430, 11430, 11431, 11431, 11432, 11432, 11433,
2408  11433, 11434, 11434, 11435, 11435, 11436, 11436, 11437, 11437, 11438,
2409  11438, 11438, 11439, 11439, 11440, 11440, 11441, 11441, 11442, 11442,
2410  11443, 11443, 11443, 11444, 11444, 11445, 11445, 11445, 11446, 11446,
2411  11446, 11447, 11447, 11447, 11448, 11448, 11449, 11449, 11450, 11450,
2412  11451, 11451, 11451, 11452, 11452, 11453, 11453, 11454, 11454, 11454,
2413  11454, 11455, 11455, 11456, 11456, 11457, 11457, 11458, 11458, 11459,
2414  11459, 11459, 11460, 11460, 11461, 11461, 11462, 11462, 11463, 11463,
2415  11463, 11464, 11464, 11465, 11465, 11466, 11466, 11467, 11467, 11468,
2416  11468, 11469, 11469, 11470, 11470, 11471, 11471, 11471, 11472, 11472,
2417  11473, 11473, 11474, 11474, 11478, 11478, 11479, 11479, 11480, 11480,
2418  11481, 11481, 11482, 11482, 11483, 11483, 11484, 11484, 11485, 11485,
2419  11486, 11486, 11487, 11487, 11488, 11488, 11489, 11489, 11490, 11490,
2420  11491, 11491, 11492, 11492, 11495, 11496, 11497, 11501, 11501, 11502,
2421  11502, 11503, 11503, 11504, 11504, 11505, 11505, 11506, 11506, 11507,
2422  11507, 11508, 11508
2423 };
2424 #endif
2425 
2426 #if YYDEBUG || YYERROR_VERBOSE || 1
2427 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
2428  First, the terminals, then, starting at YYNTOKENS, nonterminals. */
2429 static const char *const yytname[] =
2430 {
2431  "\"end of file\"", "error", "$undefined", "ACCEPT", "ACCESS", "ADD",
2432  "ADDRESS", "ADVANCING", "AFTER", "ALL", "ALLOCATE", "ALPHABET",
2433  "ALPHABETIC", "\"ALPHABETIC-LOWER\"", "\"ALPHABETIC-UPPER\"",
2434  "ALPHANUMERIC", "\"ALPHANUMERIC-EDITED\"", "ALSO", "ALTER", "ALTERNATE",
2435  "AND", "ANY", "ARE", "AREA", "\"ARGUMENT-NUMBER\"", "\"ARGUMENT-VALUE\"",
2436  "AS", "ASCENDING", "ASCII", "ASSIGN", "AT", "ATTRIBUTE", "AUTO",
2437  "AUTOMATIC", "\"AWAY-FROM-ZERO\"", "\"BACKGROUND-COLOR\"", "BASED",
2438  "BEFORE", "BELL", "BINARY", "\"BINARY-C-LONG\"", "\"BINARY-CHAR\"",
2439  "\"BINARY-DOUBLE\"", "\"BINARY-LONG\"", "\"BINARY-SHORT\"", "BLANK",
2440  "BLINK", "BLOCK", "BOTTOM", "BY", "\"BYTE-LENGTH\"", "CALL", "CANCEL",
2441  "CAPACITY", "CF", "CH", "CHAINING", "CHARACTER", "CHARACTERS", "CLASS",
2442  "CLASSIFICATION", "CLOSE", "CODE", "\"CODE-SET\"", "COLLATING", "COL",
2443  "COLS", "COLUMN", "COLUMNS", "COMMA", "\"COMMAND-LINE\"",
2444  "\"comma delimiter\"", "COMMIT", "COMMON", "COMP", "COMPUTE",
2445  "\"COMP-1\"", "\"COMP-2\"", "\"COMP-3\"", "\"COMP-4\"", "\"COMP-5\"",
2446  "\"COMP-6\"", "\"COMP-X\"", "\"FUNCTION CONCATENATE\"", "CONDITION",
2447  "CONFIGURATION", "CONSTANT", "CONTAINS", "CONTENT", "CONTINUE",
2448  "CONTROL", "CONTROLS", "CONVERSION", "CONVERTING", "COPY",
2449  "CORRESPONDING", "COUNT", "CRT", "\"CRT-UNDER\"", "CURRENCY",
2450  "\"FUNCTION CURRENT-DATE\"", "CURSOR", "CYCLE", "DATA", "DATE", "DAY",
2451  "\"DAY-OF-WEEK\"", "DE", "DEBUGGING", "\"DECIMAL-POINT\"",
2452  "DECLARATIVES", "DEFAULT", "DELETE", "DELIMITED", "DELIMITER",
2453  "DEPENDING", "DESCENDING", "DETAIL", "DISC", "DISK", "DISPLAY",
2454  "\"FUNCTION DISPLAY-OF\"", "DIVIDE", "DIVISION", "DOWN", "DUPLICATES",
2455  "DYNAMIC", "EBCDIC", "EC", "ELSE", "END", "\"END-ACCEPT\"",
2456  "\"END-ADD\"", "\"END-CALL\"", "\"END-COMPUTE\"", "\"END-DELETE\"",
2457  "\"END-DISPLAY\"", "\"END-DIVIDE\"", "\"END-EVALUATE\"",
2458  "\"END FUNCTION\"", "\"END-IF\"", "\"END-MULTIPLY\"", "\"END-PERFORM\"",
2459  "\"END PROGRAM\"", "\"END-READ\"", "\"END-RETURN\"", "\"END-REWRITE\"",
2460  "\"END-SEARCH\"", "\"END-START\"", "\"END-STRING\"", "\"END-SUBTRACT\"",
2461  "\"END-UNSTRING\"", "\"END-WRITE\"", "ENTRY", "ENVIRONMENT",
2462  "\"ENVIRONMENT-NAME\"", "\"ENVIRONMENT-VALUE\"", "EOL", "EOP", "EOS",
2463  "EQUAL", "ERASE", "ERROR", "ESCAPE", "EVALUATE", "\"EVENT STATUS\"",
2464  "EXCEPTION", "\"EXCEPTION CONDITION\"", "EXCLUSIVE", "EXIT",
2465  "\"Exponentiation operator\"", "EXTEND", "EXTERNAL", "FD",
2466  "\"FILE-CONTROL\"", "\"FILE-ID\"", "FILLER", "FINAL", "FIRST",
2467  "\"FLOAT-BINARY-128\"", "\"FLOAT-BINARY-32\"", "\"FLOAT-BINARY-64\"",
2468  "\"FLOAT-DECIMAL-16\"", "\"FLOAT-DECIMAL-34\"", "\"FLOAT-DECIMAL-7\"",
2469  "\"FLOAT-EXTENDED\"", "\"FLOAT-LONG\"", "\"FLOAT-SHORT\"", "FOOTING",
2470  "FOR", "\"FOREGROUND-COLOR\"", "FOREVER", "\"FUNCTION FORMATTED-DATE\"",
2471  "\"FUNCTION FORMATTED-DATETIME\"", "\"FUNCTION FORMATTED-TIME\"", "FREE",
2472  "FROM", "\"FROM CRT\"", "FULL", "FUNCTION", "\"FUNCTION-ID\"",
2473  "\"Intrinsic function name\"", "GENERATE", "GIVING", "GLOBAL", "GO",
2474  "GOBACK", "GREATER", "\"GREATER OR EQUAL\"", "GRID", "GROUP", "HEADING",
2475  "HIGHLIGHT", "\"HIGH-VALUE\"", "ID", "IDENTIFICATION", "IF", "IGNORE",
2476  "IGNORING", "IN", "INDEX", "INDEXED", "INDICATE", "INITIALIZE",
2477  "INITIALIZED", "INITIATE", "INPUT", "\"INPUT-OUTPUT\"", "INSPECT",
2478  "INTO", "INTRINSIC", "INVALID", "\"INVALID KEY\"", "IS", "\"I-O\"",
2479  "\"I-O-CONTROL\"", "JUSTIFIED", "KEPT", "KEY", "KEYBOARD", "LABEL",
2480  "LAST", "LEADING", "LEFT", "LEFTLINE", "LENGTH", "\"LENGTH OF\"", "LESS",
2481  "\"LESS OR EQUAL\"", "LIMIT", "LIMITS", "LINAGE", "\"LINAGE-COUNTER\"",
2482  "LINE", "\"LINE-COUNTER\"", "LINES", "LINKAGE", "\"Literal\"", "LOCALE",
2483  "\"FUNCTION LOCALE-DATE\"", "\"FUNCTION LOCALE-TIME\"",
2484  "\"FUNCTION LOCALE-TIME-FROM-SECONDS\"", "\"LOCAL-STORAGE\"", "LOCK",
2485  "LOWER", "\"FUNCTION LOWER-CASE\"", "LOWLIGHT", "\"LOW-VALUE\"",
2486  "MANUAL", "MEMORY", "MERGE", "MINUS", "\"MNEMONIC NAME\"", "MODE",
2487  "MOVE", "MULTIPLE", "MULTIPLY", "NAME", "NATIONAL",
2488  "\"NATIONAL-EDITED\"", "\"FUNCTION NATIONAL-OF\"", "NATIVE",
2489  "\"NEAREST-AWAY-FROM-ZERO\"", "\"NEAREST-EVEN\"",
2490  "\"NEAREST-TOWARD-ZERO\"", "NEGATIVE", "NEXT", "\"NEXT PAGE\"", "NO",
2491  "\"NO-ECHO\"", "NORMAL", "NOT", "NOTHING", "\"NOT END\"", "\"NOT EOP\"",
2492  "\"NOT ESCAPE\"", "\"NOT EQUAL\"", "\"NOT EXCEPTION\"",
2493  "\"NOT INVALID KEY\"", "\"NOT OVERFLOW\"", "\"NOT SIZE ERROR\"",
2494  "\"NO ADVANCING\"", "NUMBER", "NUMBERS", "NUMERIC", "\"NUMERIC-EDITED\"",
2495  "\"FUNCTION NUMVAL-C\"", "\"OBJECT-COMPUTER\"", "OCCURS", "OF", "OFF",
2496  "OMITTED", "ON", "ONLY", "OPEN", "OPTIONAL", "OR", "ORDER",
2497  "ORGANIZATION", "OTHER", "OUTPUT", "OVERLINE", "\"PACKED-DECIMAL\"",
2498  "PADDING", "PAGE", "\"PAGE-COUNTER\"", "PARAGRAPH", "PERFORM", "PH",
2499  "PF", "PICTURE", "\"PICTURE SYMBOL\"", "PLUS", "POINTER", "POSITION",
2500  "POSITIVE", "PRESENT", "PREVIOUS", "PRINT", "PRINTER", "PRINTER_1",
2501  "PRINTING", "PROCEDURE", "PROCEDURES", "PROCEED", "PROGRAM",
2502  "\"PROGRAM-ID\"", "\"Program name\"", "\"PROGRAM-POINTER\"",
2503  "PROHIBITED", "PROMPT", "\"PROTECTED\"", "QUOTE", "RANDOM", "RD", "READ",
2504  "\"READY TRACE\"", "RECORD", "RECORDING", "RECORDS", "RECURSIVE",
2505  "REDEFINES", "REEL", "REFERENCE", "REFERENCES", "RELATIVE", "RELEASE",
2506  "REMAINDER", "REMOVAL", "RENAMES", "REPLACE", "REPLACING", "REPORT",
2507  "REPORTING", "REPORTS", "REPOSITORY", "REQUIRED", "RESERVE", "RESET",
2508  "\"RESET TRACE\"", "RETURN", "RETURNING", "\"FUNCTION REVERSE\"",
2509  "\"REVERSE-VIDEO\"", "REVERSED", "REWIND", "REWRITE", "RF", "RH",
2510  "RIGHT", "ROLLBACK", "ROUNDED", "RUN", "SAME", "SCREEN",
2511  "\"SCREEN-CONTROL\"", "SCROLL", "SD", "SEARCH", "SECTION", "SECURE",
2512  "\"SEGMENT-LIMIT\"", "SELECT", "\"semi-colon\"", "SENTENCE", "SEPARATE",
2513  "SEQUENCE", "SEQUENTIAL", "SET", "SHARING", "SIGN", "SIGNED",
2514  "\"SIGNED-INT\"", "\"SIGNED-LONG\"", "\"SIGNED-SHORT\"", "SIZE",
2515  "\"SIZE ERROR\"", "SORT", "\"SORT-MERGE\"", "SOURCE",
2516  "\"SOURCE-COMPUTER\"", "SPACE", "\"SPECIAL-NAMES\"", "STANDARD",
2517  "\"STANDARD-1\"", "\"STANDARD-2\"", "START", "STATIC", "STATUS",
2518  "STDCALL", "STEP", "STOP", "STRING", "\"FUNCTION SUBSTITUTE\"",
2519  "\"FUNCTION SUBSTITUTE-CASE\"", "SUBTRACT", "SUM", "SUPPRESS",
2520  "SYMBOLIC", "SYNCHRONIZED", "\"SYSTEM-DEFAULT\"", "\"SYSTEM-OFFSET\"",
2521  "TAB", "TALLYING", "TAPE", "TERMINATE", "TEST", "THAN", "THEN", "THRU",
2522  "TIME", "TIMEOUT", "TIMES", "TO", "\"&\"", "\")\"", "\":\"", "\"/\"",
2523  "\".\"", "\"=\"", "\"FALSE\"", "\"FILE\"", "\">\"", "\"INITIAL\"",
2524  "\"<\"", "\"-\"", "\"*\"", "\"NULL\"", "\"OVERFLOW\"", "\"(\"", "\"+\"",
2525  "\"TRUE\"", "TOP", "\"TOWARD-GREATER\"", "\"TOWARD-LESSER\"", "TRAILING",
2526  "TRANSFORM", "\"FUNCTION TRIM\"", "TRUNCATION", "TYPE", "UNDERLINE",
2527  "UNIT", "UNLOCK", "UNSIGNED", "\"UNSIGNED-INT\"", "\"UNSIGNED-LONG\"",
2528  "\"UNSIGNED-SHORT\"", "UNSTRING", "UNTIL", "UP", "UPDATE", "UPON",
2529  "\"UPON ARGUMENT-NUMBER\"", "\"UPON COMMAND-LINE\"",
2530  "\"UPON ENVIRONMENT-NAME\"", "\"UPON ENVIRONMENT-VALUE\"", "UPPER",
2531  "\"FUNCTION UPPER-CASE\"", "USAGE", "USE", "USER", "\"USER-DEFAULT\"",
2532  "\"User function name\"", "USING", "VALUE", "VARYING", "WAIT", "WHEN",
2533  "\"FUNCTION WHEN-COMPILED\"", "WITH", "\"Identifier\"", "WORDS",
2534  "\"WORKING-STORAGE\"", "WRITE", "YYYYDDD", "YYYYMMDD", "ZERO",
2535  "SHIFT_PREFER", "$accept", "start", "$@1", "nested_list",
2536  "source_element_list", "source_element", "simple_prog", "$@2",
2537  "program_definition", "function_definition", "_end_program_list",
2538  "end_program_list", "end_program", "end_function", "_program_body",
2539  "_identification_header", "program_id_paragraph", "$@3",
2540  "function_id_paragraph", "program_id_name", "end_program_name",
2541  "_as_literal", "_program_type", "program_type_clause", "_init_or_recurs",
2542  "_environment_division", "_environment_header", "_configuration_section",
2543  "_configuration_header", "_source_object_computer_paragraphs",
2544  "source_computer_paragraph", "$@4", "_source_computer_entry",
2545  "_with_debugging_mode", "object_computer_paragraph", "$@5",
2546  "_object_computer_entry", "object_clauses_list", "object_clauses",
2547  "object_computer_memory", "object_computer_sequence",
2548  "object_computer_segment", "object_computer_class", "locale_class",
2549  "computer_words", "_repository_paragraph", "$@6", "_repository_entry",
2550  "repository_list", "repository_name", "_as_literal_intrinsic",
2551  "repository_name_list", "_special_names_paragraph",
2552  "_special_names_sentence_list", "special_names_sentence_list",
2553  "special_name_list", "special_name", "mnemonic_name_clause", "$@7",
2554  "mnemonic_choices", "_special_name_mnemonic_on_off", "on_off_clauses",
2555  "on_off_clauses_1", "alphabet_name_clause", "@8", "alphabet_definition",
2556  "alphabet_literal_list", "alphabet_literal", "@9",
2557  "alphabet_also_sequence", "alphabet_lits", "space_or_zero",
2558  "symbolic_characters_clause", "_sym_in_word", "_symbolic_collection",
2559  "symbolic_chars_list", "symbolic_chars_phrase", "char_list",
2560  "integer_list", "class_name_clause", "class_item_list", "class_item",
2561  "locale_clause", "currency_sign_clause", "_with_pic_symbol",
2562  "decimal_point_clause", "numeric_sign_clause", "cursor_clause",
2563  "crt_status_clause", "screen_control", "event_status",
2564  "_input_output_section", "_input_output_header", "_file_control_header",
2565  "_i_o_control_header", "_file_control_sequence", "file_control_entry",
2566  "$@10", "_select_clause_sequence", "select_clause", "assign_clause",
2567  "printer_name", "device_name", "_line_adv_file", "_ext_clause",
2568  "assignment_name", "_assignment_name", "access_mode_clause",
2569  "access_mode", "alternative_record_key_clause", "_suppress_clause",
2570  "collating_sequence_clause", "file_status_clause", "_file_or_sort",
2571  "lock_mode_clause", "$@11", "lock_mode", "_lock_with",
2572  "organization_clause", "organization", "padding_character_clause",
2573  "record_delimiter_clause", "record_key_clause", "key_or_split_keys",
2574  "relative_key_clause", "reserve_clause", "no_or_integer",
2575  "sharing_clause", "sharing_option", "_i_o_control", "i_o_control_list",
2576  "i_o_control_clause", "same_clause", "_same_option",
2577  "multiple_file_tape_clause", "$@12", "multiple_file_list",
2578  "multiple_file", "_multiple_file_position", "_data_division", "$@13",
2579  "_data_division_header", "_file_section_header",
2580  "_file_description_sequence", "file_description",
2581  "file_description_entry", "$@14", "file_type",
2582  "_file_description_clause_sequence", "file_description_clause",
2583  "block_contains_clause", "_records_or_characters", "record_clause",
2584  "_record_depending", "_from_integer", "_to_integer",
2585  "label_records_clause", "value_of_clause", "file_id", "valueof_name",
2586  "data_records_clause", "linage_clause", "_linage_sequence",
2587  "linage_lines", "linage_footing", "linage_top", "linage_bottom",
2588  "recording_mode_clause", "code_set_clause", "report_clause",
2589  "report_keyword", "rep_name_list", "_working_storage_section", "$@15",
2590  "_record_description_list", "$@16", "record_description_list_2",
2591  "data_description", "$@17", "level_number", "_entry_name", "const_name",
2592  "const_global", "lit_or_length", "con_identifier", "fp32_usage",
2593  "fp64_usage", "fp128_usage", "pointer_len", "constant_entry",
2594  "constant_source", "_data_description_clause_sequence",
2595  "data_description_clause", "redefines_clause", "external_clause",
2596  "_as_extname", "global_clause", "picture_clause", "usage_clause",
2597  "usage", "float_usage", "double_usage", "sign_clause",
2598  "report_occurs_clause", "_occurs_step", "occurs_clause",
2599  "_occurs_to_integer", "_occurs_from_integer", "_occurs_depending",
2600  "_capacity_in", "_occurs_initialized", "occurs_keys", "_occurs_key_list",
2601  "ascending_or_descending", "_occurs_indexed", "occurs_index_list",
2602  "occurs_index", "justified_clause", "synchronized_clause",
2603  "blank_clause", "based_clause", "value_clause", "$@18",
2604  "value_item_list", "value_item", "_false_is", "renames_clause",
2605  "any_length_clause", "_local_storage_section", "$@19",
2606  "_linkage_section", "$@20", "_report_section", "$@21",
2607  "_report_description_sequence", "report_description", "$@22",
2608  "_report_description_options", "report_description_option",
2609  "control_clause", "control_field_list", "identifier_list",
2610  "page_limit_clause", "page_line_column", "_page_heading_list",
2611  "page_detail", "heading_clause", "first_detail", "last_heading",
2612  "last_detail", "footing_clause", "_report_group_description_list",
2613  "report_group_description_entry", "$@23", "_report_group_options",
2614  "report_group_option", "type_clause", "type_option", "_control_final",
2615  "_or_page", "next_group_clause", "sum_clause_list", "_reset_clause",
2616  "data_or_final", "present_when_condition", "varying_clause",
2617  "line_clause", "line_keyword_clause", "column_clause",
2618  "col_keyword_clause", "report_line_integer_list", "line_or_plus",
2619  "report_col_integer_list", "col_or_plus", "source_clause",
2620  "group_indicate_clause", "report_usage_clause", "_screen_section",
2621  "$@24", "_screen_description_list", "screen_description_list",
2622  "screen_description", "$@25", "_screen_options", "screen_option", "eol",
2623  "eos", "plus_plus", "minus_minus", "_screen_line_plus_minus",
2624  "_screen_col_plus_minus", "screen_occurs_clause", "global_screen_opt",
2625  "_procedure_division", "$@26", "$@27", "$@28",
2626  "_procedure_using_chaining", "$@29", "$@30", "procedure_param_list",
2627  "procedure_param", "_procedure_type", "_size_optional",
2628  "_procedure_optional", "_procedure_returning", "_procedure_declaratives",
2629  "$@31", "_procedure_list", "procedure", "section_header", "$@32",
2630  "_use_statement", "paragraph_header", "invalid_statement", "_segment",
2631  "statement_list", "@33", "@34", "statements", "$@35", "statement",
2632  "accept_statement", "$@36", "accept_body", "$@37", "accp_identifier",
2633  "_accept_clauses", "accept_clauses", "accept_clause", "lines_or_number",
2634  "at_line_column", "line_number", "column_number", "mode_is_block",
2635  "accp_attr", "update_default", "end_accept", "add_statement", "$@38",
2636  "add_body", "_add_to", "end_add", "allocate_statement", "$@39",
2637  "allocate_body", "allocate_returning", "alter_statement", "$@40",
2638  "alter_body", "alter_entry", "_proceed_to", "call_statement", "$@41",
2639  "call_body", "mnemonic_conv", "call_using", "$@42", "call_param_list",
2640  "call_param", "call_type", "call_returning", "return_give",
2641  "null_or_omitted", "call_on_exception", "call_not_on_exception",
2642  "end_call", "cancel_statement", "$@43", "cancel_body", "close_statement",
2643  "$@44", "close_body", "close_option", "compute_statement", "$@45",
2644  "compute_body", "end_compute", "commit_statement", "continue_statement",
2645  "delete_statement", "$@46", "delete_body", "delete_file_list",
2646  "end_delete", "display_statement", "$@47", "display_body",
2647  "screen_or_device_display", "display_list", "display_atom", "$@48",
2648  "disp_list", "display_clauses", "display_clause", "display_upon",
2649  "crt_under", "disp_attr", "end_display", "divide_statement", "$@49",
2650  "divide_body", "end_divide", "entry_statement", "$@50", "entry_body",
2651  "evaluate_statement", "$@51", "evaluate_body", "evaluate_subject_list",
2652  "evaluate_subject", "evaluate_condition_list", "evaluate_case_list",
2653  "evaluate_case", "evaluate_other", "evaluate_when_list",
2654  "evaluate_object_list", "evaluate_object", "_evaluate_thru_expr",
2655  "end_evaluate", "exit_statement", "$@52", "exit_body",
2656  "exit_program_returning", "free_statement", "$@53", "free_body",
2657  "generate_statement", "$@54", "generate_body", "goto_statement", "$@55",
2658  "go_body", "goto_depending", "goback_statement", "if_statement", "$@56",
2659  "if_else_statements", "end_if", "initialize_statement", "$@57",
2660  "initialize_body", "initialize_filler", "initialize_value",
2661  "initialize_replacing", "initialize_replacing_list",
2662  "initialize_replacing_item", "initialize_category", "initialize_default",
2663  "initiate_statement", "$@58", "initiate_body", "inspect_statement",
2664  "$@59", "inspect_body", "send_identifier", "inspect_list",
2665  "inspect_tallying", "$@60", "inspect_replacing", "inspect_converting",
2666  "tallying_list", "tallying_item", "replacing_list", "replacing_item",
2667  "rep_keyword", "replacing_region", "inspect_region",
2668  "inspect_before_after", "merge_statement", "$@61", "move_statement",
2669  "$@62", "move_body", "multiply_statement", "$@63", "multiply_body",
2670  "end_multiply", "open_statement", "$@64", "open_body", "open_mode",
2671  "open_sharing", "open_option", "perform_statement", "$@65",
2672  "perform_body", "$@66", "end_perform", "term_or_dot",
2673  "perform_procedure", "perform_option", "perform_test", "cond_or_exit",
2674  "perform_varying_list", "perform_varying", "read_statement", "$@67",
2675  "read_body", "read_into", "with_lock", "read_key", "read_handler",
2676  "end_read", "ready_statement", "release_statement", "$@68",
2677  "release_body", "reset_statement", "return_statement", "$@69",
2678  "return_body", "end_return", "rewrite_statement", "$@70", "rewrite_body",
2679  "write_lock", "end_rewrite", "rollback_statement", "search_statement",
2680  "$@71", "search_body", "search_varying", "search_at_end", "search_whens",
2681  "search_when", "end_search", "set_statement", "$@72", "set_body",
2682  "on_or_off", "up_or_down", "set_environment", "set_attr",
2683  "set_attr_clause", "set_attr_one", "set_to", "set_up_down",
2684  "set_to_on_off_sequence", "set_to_on_off", "set_to_true_false_sequence",
2685  "set_to_true_false", "set_last_exception_to_off", "sort_statement",
2686  "$@73", "sort_body", "@74", "sort_key_list", "_key_list",
2687  "_sort_duplicates", "sort_collating", "sort_input", "sort_output",
2688  "start_statement", "$@75", "start_body", "sizelen_clause", "start_key",
2689  "start_op", "disallowed_op", "not_equal_op", "end_start",
2690  "stop_statement", "$@76", "stop_returning", "_status_x", "stop_literal",
2691  "string_statement", "$@77", "string_body", "string_item_list",
2692  "string_item", "_with_pointer", "end_string", "subtract_statement",
2693  "$@78", "subtract_body", "end_subtract", "suppress_statement",
2694  "_printing", "terminate_statement", "$@79", "terminate_body",
2695  "transform_statement", "$@80", "transform_body", "unlock_statement",
2696  "$@81", "unlock_body", "unstring_statement", "$@82", "unstring_body",
2697  "unstring_delimited", "unstring_delimited_list",
2698  "unstring_delimited_item", "unstring_into", "unstring_into_item",
2699  "unstring_into_delimiter", "unstring_into_count", "unstring_tallying",
2700  "end_unstring", "use_statement", "$@83", "use_phrase",
2701  "use_file_exception", "use_global", "use_file_exception_target",
2702  "use_debugging", "debugging_list", "debugging_target", "_all_refs",
2703  "use_start_end", "program_start_end", "use_reporting", "use_exception",
2704  "use_ex_keyw", "write_statement", "$@84", "write_body", "from_option",
2705  "write_option", "before_or_after", "write_handler", "end_write",
2706  "on_accp_exception", "_on_accp_exception", "escape_or_exception",
2707  "_not_on_accp_exception", "not_escape_or_not_exception",
2708  "on_disp_exception", "_on_disp_exception", "_not_on_disp_exception",
2709  "on_size_error", "_on_size_error", "_not_on_size_error", "on_overflow",
2710  "_on_overflow", "_not_on_overflow", "return_at_end", "at_end",
2711  "at_end_clause", "not_at_end_clause", "at_eop", "at_eop_clause",
2712  "not_at_eop_clause", "invalid_key", "_invalid_key_sentence",
2713  "_not_invalid_key_sentence", "_scroll_lines", "condition", "expr",
2714  "partial_expr", "$@85", "expr_tokens", "expr_token", "eq", "gt", "lt",
2715  "ge", "le", "exp_list", "_e_sep", "exp", "exp_term", "exp_factor",
2716  "exp_unary", "exp_atom", "line_linage_page_counter", "arithmetic_x_list",
2717  "arithmetic_x", "record_name", "table_name", "file_name_list",
2718  "file_name", "report_name", "mnemonic_name_list", "mnemonic_name",
2719  "procedure_name_list", "procedure_name", "label", "integer_label",
2720  "reference_list", "reference", "single_reference",
2721  "optional_reference_list", "optional_reference", "reference_or_literal",
2722  "undefined_word", "unique_word", "target_x_list", "target_x", "_x_list",
2723  "x_list", "x", "report_x_list", "expr_x", "arith_x", "prog_or_entry",
2724  "alnum_or_id", "simple_value", "simple_all_value", "id_or_lit",
2725  "id_or_lit_or_func", "num_id_or_lit", "positive_id_or_lit",
2726  "pos_num_id_or_lit", "from_parameter", "sub_identifier",
2727  "sort_identifier", "sub_identifier_1", "identifier", "identifier_1",
2728  "target_identifier", "target_identifier_1", "qualified_word", "subref",
2729  "refmod", "integer", "symbolic_integer", "report_integer", "class_value",
2730  "literal", "basic_literal", "basic_value", "function", "func_no_parm",
2731  "func_one_parm", "func_multi_parm", "func_refmod", "func_args",
2732  "trim_args", "numvalc_args", "locale_dt_args", "formatted_datetime_args",
2733  "formatted_time_args", "not_const_word", "flag_all", "flag_duplicates",
2734  "flag_initialized", "flag_initialized_to", "to_init_val", "_flag_next",
2735  "_flag_not", "flag_optional", "flag_rounded", "round_mode",
2736  "round_choice", "flag_separate", "error_stmt_recover", "_advancing",
2737  "_after", "_are", "_area", "_as", "_at", "_binary", "_by", "_character",
2738  "_characters", "_contains", "_data", "_end_of", "_file", "_final",
2739  "_for", "_from", "_in", "_in_order", "_indicate", "_initial", "_into",
2740  "_is", "_is_are", "_key", "_left_or_right", "_line_or_lines", "_limits",
2741  "_lines", "_mode", "_number", "_numbers", "_of", "_on", "_onoff_status",
2742  "_other", "_procedure", "_program", "_record", "_records", "_right",
2743  "_sign", "_signed", "_sign_is", "_size", "_standard", "_status", "_tape",
2744  "_then", "_times", "_to", "_to_using", "_when", "_when_set_to", "_with",
2745  "coll_sequence", "column_or_col", "columns_or_cols", "comp_equal",
2746  "exception_or_error", "in_of", "label_option", "line_or_lines",
2747  "lock_records", "object_char_or_word", "records", "reel_or_unit",
2748  "scroll_line_or_lines", "size_or_length", "with_dups",
2749  "prog_coll_sequence", "detail_keyword", "ch_keyword", "cf_keyword",
2750  "ph_keyword", "pf_keyword", "rh_keyword", "rf_keyword",
2751  "control_keyword", YY_NULLPTR
2752 };
2753 #endif
2754 
2755 # ifdef YYPRINT
2756 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
2757  (internal) symbol number NUM (which must be that of a token). */
2758 static const yytype_uint16 yytoknum[] =
2759 {
2760  0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2761  265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2762  275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2763  285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2764  295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2765  305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2766  315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2767  325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2768  335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2769  345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2770  355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2771  365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2772  375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2773  385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
2774  395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
2775  405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
2776  415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
2777  425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
2778  435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
2779  445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2780  455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2781  465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
2782  475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
2783  485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
2784  495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
2785  505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
2786  515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
2787  525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
2788  535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2789  545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2790  555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
2791  565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
2792  575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2793  585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
2794  595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
2795  605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
2796  615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
2797  625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
2798  635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
2799  645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
2800  655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
2801  665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2802  675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
2803  685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
2804  695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
2805  705, 706, 707, 708, 709, 710, 711, 712, 713, 714,
2806  715, 716, 717, 718, 719, 720, 721, 722, 723, 724,
2807  725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
2808  735, 736, 737, 738, 739, 740, 741, 742, 743, 744,
2809  745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
2810  755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
2811  765, 766, 767, 768, 769, 770, 771, 772
2812 };
2813 # endif
2814 
2815 #define YYPACT_NINF -2264
2816 
2817 #define yypact_value_is_default(Yystate) \
2818  (!!((Yystate) == (-2264)))
2819 
2820 #define YYTABLE_NINF -1883
2821 
2822 #define yytable_value_is_error(Yytable_value) \
2823  0
2824 
2825  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2826  STATE-NUM. */
2827 static const yytype_int16 yypact[] =
2828 {
2829  -2264, 265, -1, -2264, 504, -2264, 153, -2264, -2264, 543,
2830  -2264, -2264, 588, 327, -2264, 678, -2264, 722, 832, 501,
2831  548, 543, 543, -2264, 596, 937, 1373, 612, 731, 881,
2832  -84, 743, 743, 1076, 1159, -2264, 853, 1219, -2264, -2264,
2833  948, -2264, 897, 1006, -2264, 1210, 963, 970, 1019, 1145,
2834  1036, -2264, -2264, 1433, 1433, 778, -2264, 1076, -2264, 778,
2835  -2264, -2264, 15, 2892, 3426, 1016, 0, -2264, 1024, 1041,
2836  -2264, -2264, -2264, 1044, 1446, -2264, -2264, 1231, 1057, -2264,
2837  -2264, -2264, 1066, -2264, 1078, -2264, -2264, 1113, 3747, -2264,
2838  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2839  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -23, -2264,
2840  -2264, -2264, -2264, -2264, -2264, -2264, 1126, -2264, -2264, -2264,
2841  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2842  461, -2264, -2264, 1213, -2264, -2264, -2264, -2264, -2264, -2264,
2843  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2844  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2845  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2846  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2847  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2848  -2264, -2264, -2264, -2264, 1049, -2264, 1087, 38, -2264, -2264,
2849  5, 1064, 1094, -2264, 47, 47, 1152, 1202, 1394, 1394,
2850  1394, 47, 1222, 1394, 1585, -2264, 1270, 1446, 988, -2264,
2851  -2264, -2264, -2264, 1428, -2264, -2264, -2264, -2264, -2264, -2264,
2852  -2264, -2264, -2264, -2264, -2264, -56, -2264, -2264, 36, 36,
2853  320, 1192, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2854  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2855  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2856  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2857  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2858  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2859  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2860  -2264, -2264, -2264, 383, 4790, 8010, 113, 494, 159, 1138,
2861  474, -207, 4897, 5785, 1398, -196, 835, 474, 1141, 1204,
2862  -2264, -2264, 5785, -2264, -2264, 474, 1146, 6512, 1141, 5050,
2863  5785, -2264, 900, 8440, 1138, 1141, 1138, 1141, 61, 192,
2864  1141, 1138, -2264, -2264, -2264, -2264, -2264, -2264, 5169, 5185,
2865  -2264, -2264, 1146, 45, 1141, 1138, 1141, 1141, 1265, 1404,
2866  -2264, -2264, 1212, -2264, -2264, 1214, -34, 563, -2264, -2264,
2867  1273, 1267, 1616, 1394, -2264, -2264, -2264, 750, -2264, -2264,
2868  -2264, -2264, -2264, 748, 1624, 1394, -2264, 88, -2264, -2264,
2869  -2264, 1394, 1394, -2264, 1394, -2264, 1141, 1617, 1141, 1394,
2870  1394, 1141, -2264, 1177, 1070, 1233, -2264, 1388, -2264, -2264,
2871  1179, -2264, 1235, 65, -2264, 366, -2264, -172, -166, 369,
2872  -2264, -2264, -2264, -2264, 9, 1563, -2264, 1502, -2264, 1234,
2873  1391, 1333, -2264, 1141, -2264, -2264, 1243, 1248, 1249, -2264,
2874  6697, 9, 9, -2264, 1251, 1253, 1256, -2264, -2264, -2264,
2875  1258, 9, -2264, -2264, -2264, -2264, -2264, -2264, 1259, -2264,
2876  1249, -2264, -2264, 1581, -2264, 5378, -2264, -2264, -2264, 1277,
2877  -2264, -2264, 1263, 1274, 1279, 6697, 8254, 8010, 8254, -2264,
2878  22, 718, -2264, 1571, -2264, -2264, -2264, 1244, 1277, -2264,
2879  -2264, 113, -2264, 1296, -2264, 9, -2264, -2264, -2264, -2264,
2880  1620, 2964, -2264, 159, -2264, -2264, 1138, 894, 1391, 1631,
2881  229, -2264, 1360, -2264, -2264, 1234, 1277, 1138, 1623, 1411,
2882  1182, -2264, 1633, 1607, 5497, -2264, -2264, 4591, 1245, 1268,
2883  1638, 154, 1278, -2264, -2264, -2264, 1642, 20, -2264, -2264,
2884  -2264, 4303, -2264, -2264, 1680, -23, -2264, -2264, -2264, 474,
2885  -2264, -2264, -2264, -2264, -2264, -2264, -2264, 1336, -2264, -2264,
2886  243, -2264, 1146, -2264, -2264, 23, -2264, -2264, -2264, -2264,
2887  -2264, -2264, 1319, 5785, -2264, 1337, 1650, 1745, -2264, -2264,
2888  -2264, -2264, 900, 1386, -2264, 1344, -2264, -2264, 8475, -13,
2889  587, 1349, 1347, -2264, 961, -2264, 1358, 1668, 709, -2264,
2890  1622, -2264, 1675, 1411, 1677, 1622, 1141, 1678, 1322, -2264,
2891  1262, 1662, -2264, -2264, -2264, -2264, -2264, -2264, 1565, -2264,
2892  474, -2264, -2264, -89, -2264, 907, 1808, -2264, 56, -2264,
2893  1694, 992, 559, 1794, 1695, 3735, -2264, -2264, 1141, 1697,
2894  5513, 1146, -2264, -2264, -165, -2264, -2264, -2264, -2264, 3284,
2895  -2264, 1652, -2264, 868, 1699, 1740, 1703, 1622, 1399, 1460,
2896  1604, 309, 1403, 6490, -2264, 1352, -2264, -2264, -2264, 1548,
2897  -2264, 47, -2264, 687, -2264, 59, -2264, -2264, -2264, -2264,
2898  1394, 1458, 1608, -2264, -2264, -2264, -2264, 1150, 1394, 1357,
2899  1410, 1762, 1394, 1520, 1141, 1614, -2264, -2264, -2264, -2264,
2900  1625, 1400, -2264, -2264, 1177, -2264, 43, -2264, -2264, -2264,
2901  -2264, -2264, -2264, 941, -55, 1394, 46, -2264, -2264, -2264,
2902  -2264, -147, -2264, -2264, -2264, 1529, -2264, -2264, 1394, 1464,
2903  1566, -2264, -2264, 1773, -2264, -2264, 1141, -2264, -2264, 6904,
2904  1601, 8010, 1416, -2264, -2264, -57, -2264, 1434, 8010, 8010,
2905  7539, -2264, -2264, 1277, -2264, 1376, 1378, 8010, 8010, 8010,
2906  6697, 1380, 6697, -2264, -2264, -2264, 5884, 1688, -2264, 1333,
2907  8010, -2264, 6697, 8010, -2264, 1277, -2264, -2264, -2264, 985,
2908  -2264, 1670, 8010, 8010, 8010, 8010, 8010, -2264, 1511, -2264,
2909  1549, 1639, -2264, -2264, -2264, 1278, -2264, 894, -2264, -2264,
2910  -2264, 521, 1, 1141, -2264, -2264, -2264, -2264, -2264, 8010,
2911  1626, -2264, 1416, -2264, 1138, -2264, -2264, -2264, -2264, 1663,
2912  -2264, -2264, -2264, -2264, 1600, -2264, -2264, 4591, 735, 1607,
2913  1607, 1607, 1607, -2264, -2264, 5785, 5884, -2264, -2264, -2264,
2914  -2264, -196, 133, -2264, 1393, -2264, 1395, -2264, -2264, -2264,
2915  -2264, 1204, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2916  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2917  -2264, -2264, -2264, 4023, -2264, -2264, -2264, -2264, -2264, -2264,
2918  -2264, -2264, -2264, -2264, -37, -2264, 1772, 1254, 1728, -2264,
2919  1262, 121, -2264, -2264, 1534, -2264, -2264, 94, 8010, -2264,
2920  1453, 474, -2264, -2264, 5884, 1386, 1401, 1138, -2264, -2264,
2921  -2264, -2264, -2264, 1743, 1141, 113, -2264, 1203, -2264, -2264,
2922  -2264, -2264, 1411, 6512, -2264, -2264, -2264, 1685, -2264, -2264,
2923  488, 1779, -2264, -2264, 1141, 1779, 1467, -2264, 1277, 1468,
2924  -2264, -2264, 476, 941, -2264, -2264, 4688, -2264, 1868, 777,
2925  78, -2264, -2264, -2264, 1394, -2264, -30, 5785, -2264, 70,
2926  5650, -2264, -2264, 1141, -2264, 1726, -2264, -2264, 5884, -2264,
2927  1608, -2264, -2264, 1262, -2264, -2264, -2264, -2264, -2264, 1794,
2928  1696, -2264, -2264, 1203, -2264, 1465, 1525, 1554, -2264, 1469,
2929  -2264, 1471, -2264, 1844, -2264, 1845, -2264, 1618, -2264, -2264,
2930  1472, -2264, -2264, -2264, 1913, 1490, -2264, -2264, 1608, -2264,
2931  -2264, -2264, 532, -2264, -2264, -2264, 1676, 1144, -2264, -2264,
2932  -2264, -2264, -2264, -2264, -2264, 1520, -2264, 1503, -2264, 396,
2933  -2264, 1553, -2264, -2264, -2264, -2264, 1705, -55, -2264, 1720,
2934  47, 47, -2264, 941, 1764, -2264, -2264, -2264, 728, 1394,
2935  -2264, 1454, 1508, -2264, -2264, 273, -2264, 1394, 1190, 6904,
2936  -2264, -2264, -2264, 171, 7286, -2264, 1190, -2264, -2264, -2264,
2937  1456, 1455, -2264, 1262, 1190, 1734, 1550, 1679, -2264, -2264,
2938  1702, -2264, -2264, -2264, -2264, 28, 959, 8010, -2264, -2264,
2939  -2264, 350, -2264, 1141, 29, -198, 1527, 151, 1528, -2264,
2940  177, -2264, -2264, 317, 1530, 1531, 1533, 281, -2264, 1277,
2941  -2264, 1536, -2264, 282, 1541, 1391, 815, -2264, -59, -58,
2942  474, -2264, 1072, 1544, 313, -2264, 1547, 1511, 718, 718,
2943  -2264, -2264, -2264, 474, -2264, 1551, 113, -2264, -23, -2264,
2944  -2264, 1599, -2264, 1621, -2264, -169, 1394, -2264, -2264, -2264,
2945  -2264, -2264, 1704, -2264, -2264, -2264, -2264, -6, -2264, -2264,
2946  1873, -2264, -2264, 2186, -2264, -2264, -2264, -2264, 1798, 815,
2947  1804, 87, -2264, -2264, -2264, -2264, 1991, -2264, 1560, 264,
2948  -2264, -2264, 133, -2264, -2264, -2264, -2264, 1698, -2264, -2264,
2949  -2264, 1882, 1872, 1204, -2264, -2264, -2264, -2264, -2264, -2264,
2950  -2264, 1643, 1204, -2264, 1562, -2264, 1967, -2264, -2264, -2264,
2951  1082, -2264, 1262, 706, -2264, -2264, -2264, 1892, 49, 206,
2952  -2, 474, 474, 815, 1815, 1138, 93, 974, -2264, 1877,
2953  -2264, -2264, -2264, 2012, -2264, 1827, -2264, -2264, -2264, -2264,
2954  1685, -2264, -2264, -2264, -2264, 1141, 1894, 1663, 1005, -2264,
2955  1519, -2264, 1521, 1262, 1717, 801, -2264, 350, -2264, -2264,
2956  -2264, 5785, 941, 941, 941, 941, 941, 941, 941, 941,
2957  777, -2264, 508, 1663, -43, -2264, 1603, 1603, -2264, -2264,
2958  428, 1141, 815, 1826, 1575, -2264, 1582, 2028, 1141, 603,
2959  488, 2031, 1087, -2264, 1586, 1640, 1646, -2264, -2264, -2264,
2960  1017, 1958, 1394, 1030, 1030, 1394, -3, 1774, 1394, 2024,
2961  -2264, 1739, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2962  -2264, -2264, 47, 86, -2264, -2264, 1605, -2264, 1861, -2264,
2963  4, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2964  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 631,
2965  -2264, 71, -2264, 1520, -2264, 1721, -2264, -2264, 1705, -2264,
2966  47, -2264, -2264, -2264, -2264, -2264, 55, -2264, 54, -2264,
2967  -2264, -2264, -2264, 598, -2264, -2264, -2264, -2264, -2264, -2264,
2968  -2264, 2006, -2264, -2264, -2264, 1105, -2264, -2264, -2264, -2264,
2969  1752, 1752, -2264, -2264, 1752, -2264, 1394, -2264, -2264, -2264,
2970  -2264, 1394, -2264, -2264, -2264, -2264, -2264, -22, -2264, -2264,
2971  2001, 1644, -2264, -2264, -29, -2264, 1394, -2264, 2052, -2264,
2972  -2264, -2264, -2264, -2264, -2264, -2264, -2264, 1190, -2264, -2264,
2973  -2264, -2264, -2264, -2264, -2264, -2264, 8010, 7609, 959, -2264,
2974  -2264, -2264, 1360, 7625, 1263, 7869, 1263, -2264, 1141, 1263,
2975  1263, 1263, 6697, -2264, -85, 1263, -57, -2264, -2264, 1761,
2976  -40, 1859, 815, 7968, 1263, 1263, 57, -2264, -2264, -2264,
2977  -2264, -2264, -38, 69, -2264, -2264, -2264, 374, -2264, -2264,
2978  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2979  1394, -2264, 401, -2264, -2264, 1191, 1394, -2264, -2264, -2264,
2980  -2264, -2264, -26, 1394, -2264, -2264, 474, -2264, 474, 2114,
2981  -2264, 663, -16, 133, -2264, -2264, -2264, 1991, 1141, -2264,
2982  -2264, -2264, -2264, 1561, 864, -10, 1569, 57, 1262, -2264,
2983  -2264, 2017, -2264, -2264, -2264, -2264, 706, -2264, 1878, -2264,
2984  1664, -2264, -2264, 1394, -2264, -2264, 1831, 1757, -2264, -2264,
2985  474, -2264, 474, 974, 1756, 1756, 1765, -2264, -2264, -2264,
2986  -2264, 1134, -2264, -2264, 1141, 5785, 574, -2264, -2264, -2264,
2987  1784, -2264, -2264, 1816, -2264, -2264, -2264, -2264, 1521, -2264,
2988  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
2989  -2264, -2264, 146, -2264, 1141, -2264, -2264, -2264, 638, -2264,
2990  -2264, -2264, 8010, -2264, 5785, 5785, 1612, 1748, 1360, -2264,
2991  474, -2264, 57, -2264, 1766, -2264, 1262, -2264, 1972, 1647,
2992  -2264, 847, -2264, 824, -2264, 1087, -2264, 1629, 1690, -2264,
2993  6804, 178, 1889, -2264, 1608, 1584, 1394, 2024, 1587, 354,
2994  444, 1608, 1590, -2264, 1394, -2264, -2264, -2264, -53, 1457,
2995  -2264, -2264, -2264, 1707, -2264, 1958, 1138, -2264, -2264, -2264,
2996  -2264, -2264, 631, -2264, 1839, -2264, -2264, 1869, -2264, 2072,
2997  1106, 1645, -2264, -2264, -2264, -2264, -2264, 68, -2264, -2264,
2998  -2264, -2264, -2264, -2264, -2264, 273, 273, 273, 273, 273,
2999  -2264, 1394, 1394, 447, 447, 273, -2264, 468, -2264, -198,
3000  -2264, 1052, 1686, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3001  -2264, -2264, -2264, -2264, -2264, 1902, -2264, -2264, -2264, 1903,
3002  -2264, -2264, 1053, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3003  1812, 1391, -2264, -2264, -2264, -2264, -2264, 1141, -2264, -2264,
3004  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 2631, 273,
3005  -2264, -2264, 1391, -2264, -2264, -2264, -2264, 437, 273, 447,
3006  447, 273, 815, 1747, 815, 1750, -2264, -2264, 5785, -2264,
3007  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 864, -2264,
3008  2007, -2264, 1204, -2264, -2264, -2264, 57, 1275, -2264, -2264,
3009  1275, -2264, -103, 1141, -2264, -2264, -2264, 815, -2264, -2264,
3010  -2264, -2264, -2264, -2264, 1727, -2264, 2066, 1858, 1890, 670,
3011  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3012  -2264, -2264, -2264, -198, -2264, -2264, -2264, -2264, -2264, 1828,
3013  1394, 1686, 815, 1630, -2264, 2028, -2264, 1911, 2035, 1911,
3014  1612, -2264, -2264, -2264, -2264, 1840, -2264, -2264, -2264, -2264,
3015  1218, -2264, 1087, -2264, 1683, 6, -2264, -2264, -170, -148,
3016  650, 653, 683, 1635, -2264, -2264, -2264, -2264, -2264, -2264,
3017  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3018  -2264, 1744, -2264, 522, -2264, -2264, -2264, -2264, 1141, 1141,
3019  1905, -2264, -2264, -2264, 622, -2264, -2264, -2264, 1394, 252,
3020  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3021  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 90, -72,
3022  -2264, 1634, -2264, 74, -2264, 1692, -2264, -2264, -2264, -2264,
3023  1587, -2264, -2264, -2264, -2264, -2264, -2264, 1881, 19, 1911,
3024  1637, 1394, -2264, -2264, 1394, -2264, 1774, 1411, 365, -2264,
3025  1736, 1394, 2091, 605, -74, 862, 1401, -2264, -2264, -2264,
3026  -2264, -2264, -2264, -2264, -2264, -2264, 1722, -2264, 1886, -2264,
3027  -2264, -2264, -2264, -2264, -2264, -2264, -2264, 2112, 1394, 1138,
3028  1138, 631, -2264, -2264, -2264, 1895, -2264, -2264, -2264, -2264,
3029  -19, -2264, -2264, -2264, -2264, -2264, -2264, 159, 273, -2264,
3030  1272, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3031  -2264, -2264, -2264, -2264, -2264, -2264, -2264, 1141, -2264, -2264,
3032  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 474, -2264,
3033  474, -2264, -2264, -2264, 2104, 2046, 1275, 1275, -2264, 1701,
3034  1701, -2264, 1817, 1138, 3, -2264, 1141, -2264, -2264, 5785,
3035  -2264, 1394, 920, 1897, 1898, -2264, 1899, -2264, -2264, -2264,
3036  -2264, -2264, -2264, -2264, 1141, -2264, -2264, -2264, -2264, 1700,
3037  -2264, -2264, 1141, 1911, -2264, 1141, -2264, -2264, -2264, -2264,
3038  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3039  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3040  1651, -2264, -2264, 2117, 1718, -2264, 1723, -2264, -2264, -2264,
3041  -2264, 7346, 529, 2149, -2264, 1771, 1771, -2264, 1391, 1437,
3042  1437, -2264, -2264, 1608, 75, -2264, -2264, -2264, 1608, -2264,
3043  1763, -2264, 471, 471, 1394, 1831, -2264, -2264, 648, -2264,
3044  878, 1394, 1394, 1394, 1394, -2264, 1913, -2264, 93, 1394,
3045  1774, -2264, 1770, 1671, 1138, -2264, 1846, 2162, -2264, -2264,
3046  2073, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 1686, 1686,
3047  5785, -2264, 1275, -2264, 5785, 5785, 1394, 1138, 1138, 1842,
3048  -2264, -2264, 1708, 1141, -2264, -2264, 1784, -2264, -2264, -2264,
3049  -2264, -2264, -2264, -2264, 665, -2264, -2264, 1141, -2264, 1833,
3050  1672, -2264, 1911, 1989, 1608, 1738, 1141, -2264, 529, -2264,
3051  1746, 1931, -2264, 2091, -2264, -2264, 1437, 1735, -2264, -2264,
3052  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3053  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3054  -2264, -2264, -2264, -2264, -2264, 117, 1585, -2264, 831, -2264,
3055  -2264, -2264, -2264, 13, 1394, -2264, -2264, 1463, -2264, -2264,
3056  444, 1768, 1141, 1141, -2264, -2264, 1141, 1394, -2264, -2264,
3057  -2264, 1608, -2264, 631, 1742, -2264, -2264, -2264, -2264, -2264,
3058  113, 1138, 1394, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3059  -2264, -2264, 1327, -2264, -2264, -2264, -2264, -2264, 1856, 2095,
3060  -2264, 1146, -2264, 6232, -2264, -2264, 1672, 1751, 1706, 1608,
3061  1718, -2264, -2264, 2089, -2264, -216, -2264, 529, -2264, -2264,
3062  -2264, -2264, 444, 444, -2264, -2264, -2264, -2264, 2018, -2264,
3063  -2264, 1692, 1608, -2264, -2264, -2264, -2264, 1141, -2264, -2264,
3064  497, 497, 2198, -2264, -2264, -2264, -2264, -2264, 497, 497,
3065  506, -2264, -2264, -2264, 736, -2264, -2264, 114, -2264, -2264,
3066  -2264, -2264, 113, -2264, 1835, 1787, 2, 1698, -2264, 1753,
3067  -2264, 1754, -2264, -2264, -2264, 1993, 1698, -2264, 1805, -2264,
3068  1758, -2264, -2264, -2264, 2189, 1585, -2264, -44, -2264, -2264,
3069  -2264, -2264, 1472, -2264, -2264, -2264, -2264, -2264, 1394, 1141,
3070  1711, -2264, 1711, -2264, -2264, 1141, -2264, 1025, -2264, -2264,
3071  -2264, 60, 1048, -2264, -2264, -2264, -2264, -2264, 1141, 2004,
3072  206, 1775, 1394, 444, 2111, 1790, -2264, -2264, 1141, 1141,
3073  -2264, 554, -2264, -2264, -2264, -2264, -2264, 1887, 977, 60,
3074  -2264, -2264, 1776, 841, 7271, 2004, -2264, 1794, -2264, 1831,
3075  -2264, 529, -2264, 1698, -2264, 1729, -2264, 1141, -2264, 1918,
3076  -2264, -2264, 1698, -2264, -2264, 1924, 1141, -2264, -2264, 1394,
3077  1394, 2024, 1346, -2264, -2264, -2264, -2264, 2033, 2061, -2264,
3078  1394, -2264, 409, -2264, 1191, 1394, 6512, -2264, -2264, -2264,
3079  -2264, 1752, -2264, 1608, -2264, 2182, -2264, -2264, -2264, 1141,
3080  -2264, -2264, 1141, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3081  -2264, -2264, 2036, 1752, -2264, 1731, 1394, -2264, 1141, 50,
3082  700, 131, -2264, -2264, 159, -2264, -2264, 1394, 2024, 1985,
3083  1672, -2264, -2264, -2264, 1141, 273, -2264, -2264, -2264, -2264,
3084  273, -2264, 1394, 1738, 1394, -2264, -2264, -2264, 1394, -2264,
3085  1731, -2264, 1141, -2264, 1333, -2264, -2264, -2264, 1227, -2264,
3086  -2264, -2264, -2264, -2264, -2264, -2264, -2264, 1138, -2264, -2264,
3087  -2264, -2264, 1295, -66, -2264, 1141, -2264, -2264, -2264, 402,
3088  -2264, 159, 402, -2264, 1141, -2264, -2264, 1228, -2264, -2264,
3089  1985, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3090  273, -2264, -2264, -2264, 273, 934, 1394, 1394, 1486, -2264,
3091  -2264, -2264, -2264, -2264, -2264, 1509, -2264, -2264, -2264, -2264,
3092  -2264, 1394, 1985, 1985, -2264, 2032, 1394, 1394, -2264, 2586,
3093  1985, -2264, -2264, -2264, 1985, 1985, 2027, 1304, 2024, 2040,
3094  1608, 1755, 1394, 1391, -2264, 1394, 1394, 1141, -2264, -2264,
3095  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3096  -2264, 779, -2264, 744, -2264, -2264, -2264, 1304, 2024, -2264,
3097  -2264, -2264, -2264, -2264, -2264, -2264, 252, -2264, 1394, 1718,
3098  -2264, 8356, 8356, 1669, 2126, 2056, -2264, 1608, 779, -2264,
3099  -2264, 1608, 744, -2264, -2264, 252, -2264, -2264, 779, 1738,
3100  -2264, 1360, 8270, -2264, -2264, 1157, 1158, -2264, -2264, 1197,
3101  -2264, -2264, -2264, -2264, -69, -69, -2264, -2264, -2264, -2264,
3102  -2264, 8356, -2264, -2264, -2264, -2264, -2264, -2264, 2089, -2264,
3103  1698, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 1937, -2264,
3104  1937, -2264, 2205, 1825, -9, 1933, -2264, -2264, 8356, 1608,
3105  -2264, -2264, -2264, -2264, -2264, -2264, -2264
3106 };
3107 
3108  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
3109  Performed when YYTABLE does not specify something else to do. Zero
3110  means the default is an error. */
3111 static const yytype_uint16 yydefact[] =
3112 {
3113  2, 0, 10, 1, 0, 3, 21, 6, 4, 41,
3114  8, 9, 0, 0, 7, 0, 11, 286, 44, 0,
3115  0, 41, 41, 22, 0, 0, 673, 288, 0, 176,
3116  46, 0, 0, 14, 0, 42, 0, 0, 20, 718,
3117  0, 290, 0, 0, 40, 178, 0, 0, 94, 47,
3118  48, 27, 26, 30, 30, 0, 12, 15, 16, 0,
3119  13, 287, 675, 0, 0, 0, 284, 45, 0, 0,
3120  182, 57, 51, 0, 96, 49, 50, 0, 0, 23,
3121  29, 28, 0, 17, 0, 678, 676, 694, 0, 772,
3122  845, 854, 860, 867, 901, 905, 919, 914, 920, 921,
3123  929, 976, 985, 988, 1014, 1025, 1028, 1031, 1023, 1037,
3124  1044, 1066, 1070, 1106, 1108, 1112, 0, 1118, 1132, 1156,
3125  1174, 1175, 1178, 1179, 1184, 1192, 1193, 1206, 1242, 1260,
3126  0, 1293, 1305, 1313, 1315, 700, 1319, 1322, 1325, 1376,
3127  720, 721, 722, 723, 724, 725, 726, 727, 729, 728,
3128  730, 731, 732, 733, 734, 735, 736, 737, 738, 739,
3129  740, 741, 742, 743, 744, 745, 746, 747, 748, 749,
3130  750, 751, 752, 753, 754, 755, 756, 757, 758, 759,
3131  760, 761, 762, 763, 764, 765, 766, 767, 768, 769,
3132  719, 289, 296, 297, 348, 291, 351, 0, 177, 179,
3133  180, 59, 53, 95, 0, 0, 0, 1854, 1808, 1808,
3134  1808, 0, 0, 1808, 1781, 114, 79, 97, 0, 100,
3135  102, 103, 104, 150, 106, 105, 107, 108, 109, 110,
3136  111, 112, 113, 31, 25, 1808, 18, 19, 683, 683,
3137  0, 0, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701,
3138  1702, 1703, 1704, 1705, 1706, 1707, 1743, 1744, 1745, 1746,
3139  1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756,
3140  1757, 1758, 1759, 1760, 1761, 1762, 1708, 1709, 1710, 1711,
3141  1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721,
3142  1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731,
3143  1732, 1733, 1734, 1735, 1736, 1737, 1738, 1693, 1739, 1740,
3144  1741, 1742, 771, 0, 0, 0, 0, 870, 0, 0,
3145  0, 0, 0, 0, 0, 1436, 1016, 0, 0, 1873,
3146  891, 890, 0, 1036, 1436, 0, 0, 0, 0, 0,
3147  0, 770, 0, 1144, 0, 0, 0, 0, 0, 0,
3148  0, 0, 1289, 1292, 1280, 1290, 1291, 1282, 0, 0,
3149  1314, 1312, 0, 718, 0, 0, 0, 0, 0, 504,
3150  292, 1660, 0, 1504, 293, 0, 1676, 265, 183, 1780,
3151  0, 0, 0, 1808, 1916, 77, 58, 1779, 63, 65,
3152  66, 67, 68, 1779, 0, 1808, 52, 55, 1526, 1525,
3153  125, 1808, 1808, 1855, 1808, 1809, 0, 0, 0, 1808,
3154  1808, 0, 1782, 0, 1808, 0, 43, 0, 98, 101,
3155  0, 149, 0, 0, 1778, 683, 680, 686, 0, 683,
3156  695, 696, 670, 795, 1596, 843, 774, 794, 1586, 1590,
3157  1833, 0, 1639, 0, 1634, 1640, 0, 0, 1646, 1619,
3158  0, 1491, 1493, 1615, 0, 0, 0, 1637, 1620, 1546,
3159  0, 1495, 1618, 1638, 1616, 1641, 1642, 1621, 0, 1636,
3160  1646, 1635, 1617, 852, 1540, 850, 1535, 1537, 1538, 1611,
3161  1613, 1539, 1643, 0, 0, 0, 0, 0, 0, 855,
3162  0, 1480, 1483, 1485, 1488, 1555, 1490, 1665, 1553, 1554,
3163  1515, 861, 862, 0, 1511, 1513, 1512, 873, 871, 872,
3164  899, 0, 1568, 902, 903, 1567, 906, 909, 1833, 917,
3165  0, 1497, 1679, 1530, 1591, 1595, 1531, 0, 927, 1847,
3166  1615, 943, 974, 1401, 1533, 938, 940, 937, 0, 1537,
3167  983, 0, 874, 986, 995, 994, 1012, 0, 991, 993,
3168  1435, 0, 1018, 1022, 1020, 1023, 1021, 1015, 1026, 1027,
3169  1528, 1029, 1030, 1874, 1032, 1509, 1024, 1869, 1434, 1045,
3170  1047, 1505, 1067, 1068, 1071, 0, 1073, 1074, 1075, 1107,
3171  1246, 1583, 1584, 0, 1109, 0, 1116, 0, 1125, 1122,
3172  1124, 1123, 1119, 1126, 1146, 1515, 1883, 1133, 1144, 1135,
3173  0, 1142, 0, 1569, 1512, 1571, 0, 1172, 1671, 1176,
3174  1379, 1500, 1182, 1847, 1190, 1379, 0, 1204, 1197, 1501,
3175  0, 0, 1508, 1207, 1208, 1209, 1210, 1211, 1212, 1234,
3176  1213, 1237, 1214, 0, 1506, 0, 0, 1582, 1595, 1243,
3177  1278, 1265, 1283, 1777, 1303, 0, 1296, 1298, 0, 1310,
3178  0, 1316, 1317, 706, 712, 701, 702, 703, 705, 0,
3179  1320, 0, 1323, 1849, 1342, 1328, 1389, 1379, 0, 0,
3180  507, 353, 0, 0, 357, 0, 295, 298, 181, 0,
3181  1677, 0, 277, 273, 175, 0, 268, 270, 271, 1915,
3182  1808, 0, 0, 62, 64, 60, 78, 1779, 1808, 0,
3183  0, 0, 1808, 0, 0, 0, 171, 1518, 169, 174,
3184  0, 0, 173, 1527, 152, 153, 1810, 156, 1601, 1216,
3185  1215, 115, 119, 122, 1837, 1808, 0, 80, 99, 151,
3186  24, 34, 37, 39, 38, 1845, 36, 681, 1808, 0,
3187  692, 684, 685, 697, 1894, 1895, 0, 844, 773, 796,
3188  0, 0, 1588, 1589, 1834, 0, 1612, 0, 0, 0,
3189  0, 1632, 1541, 1542, 1543, 0, 0, 0, 0, 0,
3190  0, 0, 0, 1633, 853, 846, 0, 0, 1536, 0,
3191  0, 1622, 0, 0, 1556, 1557, 1558, 1487, 1552, 0,
3192  1486, 1667, 0, 0, 0, 0, 0, 1666, 858, 863,
3193  865, 0, 900, 868, 1570, 874, 904, 909, 1906, 1907,
3194  907, 0, 910, 0, 918, 915, 1891, 1890, 1498, 0,
3195  1681, 1499, 1593, 1594, 924, 925, 928, 922, 1848, 1428,
3196  975, 930, 715, 935, 1403, 939, 936, 1534, 1882, 1401,
3197  1401, 1401, 1401, 984, 977, 0, 0, 875, 987, 1013,
3198  989, 1436, 1436, 990, 997, 998, 715, 1460, 1461, 1462,
3199  1456, 1873, 1448, 1468, 1471, 1470, 1472, 1464, 1455, 1454,
3200  1459, 1458, 1457, 1463, 1443, 1447, 1465, 1467, 1469, 1445,
3201  1446, 1442, 1444, 1437, 1438, 1449, 1450, 1451, 1452, 1453,
3202  1441, 1019, 1017, 1529, 1034, 1870, 715, 1049, 0, 1069,
3203  0, 1096, 1080, 1072, 1077, 1078, 1079, 1250, 0, 1585,
3204  0, 0, 1117, 1113, 0, 1126, 1882, 0, 1134, 1140,
3205  1141, 715, 1137, 1436, 0, 0, 1145, 0, 1173, 1157,
3206  1672, 1673, 1847, 0, 1177, 1183, 1180, 1159, 1191, 1185,
3207  1187, 1199, 1205, 1194, 0, 1199, 0, 1563, 1564, 0,
3208  1235, 1238, 0, 0, 1507, 1218, 0, 1217, 0, 0,
3209  1593, 1279, 1261, 1267, 1808, 1268, 1263, 0, 1281, 0,
3210  0, 1304, 1294, 0, 1297, 0, 1311, 1306, 0, 1318,
3211  713, 711, 704, 0, 1850, 1851, 1324, 1343, 1326, 1777,
3212  0, 1390, 1377, 1381, 349, 0, 0, 510, 356, 0,
3213  354, 0, 363, 364, 358, 0, 361, 1808, 1678, 184,
3214  1789, 274, 275, 276, 1769, 0, 266, 269, 0, 1914,
3215  71, 61, 0, 1519, 70, 54, 0, 0, 1608, 1604,
3216  1609, 1607, 1605, 1610, 1606, 160, 161, 163, 172, 167,
3217  165, 0, 154, 1812, 1811, 157, 0, 1837, 1840, 1839,
3218  0, 0, 116, 120, 82, 35, 1846, 33, 0, 1808,
3219  693, 0, 0, 671, 1597, 1774, 801, 1808, 1392, 797,
3220  798, 800, 802, 0, 0, 790, 1392, 1889, 1888, 787,
3221  779, 781, 782, 0, 1392, 0, 0, 0, 804, 785,
3222  0, 793, 776, 792, 777, 1475, 1473, 0, 1587, 1560,
3223  1559, 0, 1545, 0, 1475, 1473, 0, 1475, 0, 1648,
3224  1475, 1492, 1494, 1475, 0, 0, 0, 1475, 1549, 1550,
3225  1551, 0, 1496, 1475, 0, 1833, 1406, 851, 1595, 1531,
3226  0, 1614, 0, 0, 1475, 1489, 1669, 858, 1479, 1478,
3227  1482, 1481, 1484, 0, 856, 0, 0, 1514, 885, 908,
3228  913, 0, 1794, 0, 1532, 1406, 1808, 1680, 1592, 926,
3229  715, 923, 1430, 1402, 716, 715, 1400, 0, 949, 948,
3230  941, 944, 946, 0, 933, 934, 931, 932, 0, 1406,
3231  0, 881, 992, 1007, 1009, 1008, 1002, 1004, 1010, 1436,
3232  999, 996, 1436, 1000, 1466, 1439, 1440, 1835, 1033, 1510,
3233  715, 1041, 1042, 1873, 1057, 1058, 1060, 1062, 1063, 1059,
3234  1061, 1052, 1873, 1048, 0, 1097, 0, 1099, 1098, 1100,
3235  1082, 1092, 0, 0, 1076, 1913, 1836, 0, 1252, 0,
3236  1799, 0, 1110, 1406, 0, 0, 0, 1128, 1502, 1138,
3237  1151, 1147, 1152, 1148, 1153, 0, 1143, 1386, 1385, 1150,
3238  1159, 1380, 1579, 1580, 1581, 0, 0, 1428, 0, 715,
3239  0, 1198, 0, 0, 0, 0, 1236, 0, 1240, 1239,
3240  1232, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3241  1220, 1221, 1674, 1428, 0, 1284, 1865, 1865, 1299, 1300,
3242  1301, 0, 1406, 0, 0, 714, 0, 1661, 0, 1301,
3243  1187, 1763, 351, 505, 0, 0, 605, 355, 360, 397,
3244  366, 1783, 1808, 0, 0, 1808, 1783, 1826, 1808, 1767,
3245  294, 0, 299, 302, 303, 304, 305, 306, 307, 308,
3246  309, 310, 0, 0, 186, 1790, 1867, 1770, 1793, 267,
3247  0, 74, 76, 75, 72, 73, 56, 131, 130, 145,
3248  141, 146, 127, 144, 142, 128, 129, 143, 126, 132,
3249  133, 135, 162, 0, 166, 0, 170, 1602, 155, 158,
3250  0, 1838, 123, 117, 118, 121, 0, 81, 0, 85,
3251  687, 688, 691, 0, 682, 698, 700, 1574, 808, 1572,
3252  1573, 0, 1394, 1395, 775, 1396, 715, 799, 1887, 1886,
3253  1828, 1828, 806, 807, 1828, 813, 1808, 815, 816, 817,
3254  842, 1808, 818, 819, 820, 821, 822, 0, 823, 824,
3255  826, 0, 827, 828, 0, 829, 1808, 814, 1765, 832,
3256  841, 835, 803, 834, 791, 778, 780, 1392, 788, 783,
3257  784, 805, 786, 1476, 1477, 1598, 0, 0, 0, 1562,
3258  1544, 1561, 1679, 0, 1643, 0, 1643, 1647, 0, 1643,
3259  1643, 1643, 0, 1626, 0, 1643, 0, 715, 847, 1408,
3260  1593, 1594, 1406, 0, 1643, 1643, 0, 1668, 857, 859,
3261  866, 864, 894, 1806, 912, 911, 916, 0, 1429, 715,
3262  1427, 718, 1404, 955, 956, 953, 952, 954, 951, 945,
3263  1808, 957, 0, 960, 961, 1787, 1808, 964, 965, 947,
3264  966, 967, 0, 1808, 969, 950, 0, 978, 0, 876,
3265  877, 686, 0, 1436, 1436, 1006, 715, 1003, 0, 1040,
3266  715, 1043, 1038, 0, 0, 1064, 0, 0, 0, 1093,
3267  1095, 0, 1088, 1102, 1089, 1090, 1081, 1084, 1102, 1912,
3268  0, 1885, 1244, 1808, 481, 482, 1813, 0, 1800, 1251,
3269  1111, 1114, 0, 1128, 1841, 1841, 0, 1127, 1131, 1120,
3270  1503, 0, 1139, 1136, 0, 0, 1161, 1160, 715, 1181,
3271  1416, 1186, 1188, 0, 1200, 1436, 1436, 1195, 1201, 1219,
3272  1241, 1231, 1233, 1223, 1224, 1225, 1229, 1226, 1230, 1227,
3273  1228, 1222, 1675, 1277, 0, 1274, 1275, 1269, 0, 1262,
3274  1911, 1910, 0, 1866, 1287, 1287, 1411, 0, 1679, 1307,
3275  0, 707, 0, 1662, 1329, 1330, 0, 1333, 1336, 1340,
3276  1334, 1428, 1764, 0, 350, 351, 508, 0, 0, 285,
3277  1808, 1771, 0, 1784, 0, 0, 1808, 1767, 0, 0,
3278  0, 0, 0, 1827, 1808, 344, 1768, 345, 0, 0,
3279  346, 300, 301, 1847, 1868, 1783, 0, 1902, 1903, 69,
3280  134, 137, 0, 164, 0, 159, 124, 0, 92, 90,
3281  0, 0, 83, 86, 689, 690, 700, 718, 812, 1398,
3282  1399, 1391, 715, 1393, 1829, 0, 0, 0, 0, 0,
3283  833, 1808, 1808, 1432, 1432, 0, 1766, 0, 789, 1474,
3284  1599, 0, 1406, 1657, 1630, 1659, 1631, 1655, 1627, 1628,
3285  1629, 1653, 1650, 1651, 1625, 1532, 1407, 715, 1405, 1592,
3286  848, 1644, 0, 1623, 1624, 1670, 1565, 1566, 715, 715,
3287  897, 1833, 1807, 888, 893, 892, 887, 0, 1683, 1684,
3288  1685, 1686, 1687, 1688, 1689, 1690, 1682, 1431, 0, 0,
3289  958, 959, 1833, 653, 655, 962, 963, 0, 0, 1432,
3290  1432, 0, 1406, 1497, 1406, 1497, 878, 879, 0, 883,
3291  882, 884, 1005, 1011, 1001, 1035, 1039, 1050, 1053, 1054,
3292  1785, 1046, 1873, 1051, 1102, 1102, 0, 1087, 1085, 1086,
3293  1091, 1884, 1254, 0, 1814, 1248, 1801, 1406, 1121, 1842,
3294  262, 263, 264, 1130, 0, 1154, 0, 0, 1168, 0,
3295  1420, 715, 1415, 1189, 715, 715, 1202, 1276, 1266, 1270,
3296  1271, 1272, 1273, 1264, 1285, 1288, 1286, 715, 1295, 1413,
3297  1808, 1406, 1406, 709, 1321, 1661, 1332, 1797, 1338, 1797,
3298  1411, 715, 715, 1378, 1388, 1423, 1424, 1387, 1384, 1383,
3299  1818, 506, 351, 511, 0, 0, 491, 421, 1856, 1856,
3300  1856, 1856, 1856, 1878, 422, 457, 459, 425, 426, 427,
3301  428, 429, 430, 453, 451, 452, 454, 455, 460, 458,
3302  431, 1852, 456, 0, 432, 418, 433, 434, 0, 0,
3303  1859, 436, 437, 435, 1815, 439, 440, 438, 1808, 1810,
3304  398, 399, 400, 401, 402, 403, 419, 423, 424, 404,
3305  405, 406, 407, 408, 409, 410, 411, 412, 0, 0,
3306  1772, 0, 394, 0, 367, 322, 342, 1904, 1905, 1522,
3307  331, 1520, 1897, 1896, 324, 1524, 1523, 1824, 1781, 1797,
3308  0, 1808, 328, 327, 1808, 347, 1826, 1847, 1875, 247,
3309  0, 1808, 1779, 1813, 249, 0, 1882, 235, 185, 234,
3310  187, 188, 189, 190, 191, 192, 0, 193, 0, 194,
3311  246, 195, 196, 197, 198, 199, 200, 1775, 1808, 0,
3312  272, 0, 136, 168, 87, 0, 88, 93, 89, 84,
3313  718, 1397, 809, 811, 810, 837, 836, 0, 0, 839,
3314  0, 1577, 1578, 838, 831, 1603, 840, 1575, 1576, 1600,
3315  849, 1409, 1645, 895, 896, 715, 869, 0, 886, 971,
3316  1788, 654, 656, 970, 973, 972, 968, 980, 0, 979,
3317  0, 880, 1055, 1786, 0, 0, 1083, 1094, 1102, 1804,
3318  1804, 1103, 0, 0, 1257, 1253, 1247, 1115, 1129, 0,
3319  1162, 1808, 1428, 0, 0, 1163, 0, 1167, 1421, 1196,
3320  1203, 1412, 715, 1410, 0, 1309, 1308, 1344, 708, 0,
3321  1331, 1798, 0, 1797, 1335, 0, 1327, 1425, 1426, 1422,
3322  1819, 1820, 1382, 509, 513, 606, 502, 503, 1857, 450,
3323  449, 442, 441, 448, 447, 446, 445, 444, 443, 1879,
3324  0, 1853, 488, 474, 468, 413, 500, 1860, 1816, 1817,
3325  489, 0, 0, 415, 417, 1691, 1691, 396, 1833, 0,
3326  0, 395, 368, 0, 312, 1521, 1825, 333, 0, 315,
3327  1861, 341, 0, 0, 1808, 1813, 1876, 1877, 215, 250,
3328  1847, 1808, 1808, 1808, 1808, 259, 1769, 260, 0, 1808,
3329  1826, 1776, 0, 0, 278, 279, 282, 138, 139, 91,
3330  0, 825, 830, 1908, 1909, 1433, 898, 889, 1406, 1406,
3331  0, 1065, 1101, 1805, 0, 0, 1808, 1255, 0, 0,
3332  1245, 1249, 0, 0, 1158, 1171, 1418, 1419, 1170, 1166,
3333  1164, 1165, 1414, 1302, 1352, 710, 1337, 0, 1341, 512,
3334  608, 490, 1797, 470, 0, 1871, 0, 420, 492, 494,
3335  496, 0, 414, 1779, 461, 462, 0, 0, 377, 373,
3336  376, 375, 374, 389, 385, 387, 388, 390, 386, 391,
3337  392, 393, 370, 381, 382, 383, 378, 379, 380, 372,
3338  369, 323, 314, 313, 311, 332, 1781, 1862, 320, 329,
3339  326, 330, 325, 0, 1808, 217, 216, 213, 249, 245,
3340  0, 0, 0, 0, 258, 261, 0, 1808, 248, 231,
3341  280, 0, 281, 0, 0, 982, 981, 1056, 1105, 1104,
3342  0, 1258, 1808, 1436, 1169, 1417, 1774, 1375, 1374, 1353,
3343  1345, 1346, 1765, 1347, 1348, 1349, 1350, 1373, 0, 0,
3344  1339, 0, 514, 0, 612, 607, 609, 0, 0, 0,
3345  468, 469, 1872, 472, 501, 498, 495, 0, 416, 1692,
3346  371, 384, 0, 0, 334, 335, 336, 337, 0, 316,
3347  1796, 322, 0, 225, 226, 224, 223, 0, 209, 210,
3348  220, 220, 0, 208, 206, 207, 212, 211, 220, 220,
3349  0, 251, 252, 253, 254, 257, 232, 0, 283, 140,
3350  699, 1256, 0, 1155, 0, 1863, 0, 1835, 515, 0,
3351  613, 0, 610, 475, 471, 476, 1835, 479, 0, 493,
3352  0, 497, 340, 339, 1773, 1781, 321, 1663, 221, 203,
3353  222, 204, 1789, 205, 202, 218, 201, 219, 1808, 0,
3354  241, 240, 241, 237, 1259, 0, 1864, 0, 1371, 1370,
3355  1369, 0, 0, 615, 616, 611, 477, 479, 0, 483,
3356  478, 0, 1808, 0, 318, 228, 1664, 214, 0, 255,
3357  1516, 0, 239, 238, 1372, 1893, 1892, 1843, 1365, 1359,
3358  1360, 1362, 0, 1808, 1858, 483, 473, 1777, 466, 1813,
3359  1881, 0, 338, 1835, 317, 0, 227, 256, 1517, 0,
3360  244, 1844, 1835, 1368, 1363, 1366, 0, 1361, 519, 1808,
3361  1808, 1767, 1821, 544, 518, 522, 523, 0, 1791, 631,
3362  1808, 620, 1878, 621, 1787, 1808, 0, 634, 629, 624,
3363  630, 1828, 625, 0, 628, 636, 633, 626, 632, 0,
3364  637, 627, 0, 648, 642, 646, 645, 643, 647, 617,
3365  649, 644, 0, 1828, 467, 0, 1808, 499, 0, 0,
3366  0, 0, 1367, 1364, 0, 1931, 1932, 1808, 1767, 0,
3367  516, 520, 1792, 524, 0, 0, 618, 619, 622, 623,
3368  0, 651, 1808, 1871, 1808, 652, 650, 668, 1808, 487,
3369  484, 485, 0, 319, 0, 147, 148, 230, 0, 1900,
3370  1901, 242, 1358, 1355, 1357, 1356, 1351, 1354, 521, 1822,
3371  1823, 532, 529, 362, 545, 525, 526, 641, 640, 661,
3372  667, 0, 664, 486, 480, 229, 243, 528, 1898, 1899,
3373  531, 364, 546, 527, 659, 657, 660, 658, 662, 663,
3374  0, 635, 665, 666, 0, 0, 1808, 1808, 0, 533,
3375  534, 535, 536, 537, 538, 0, 548, 638, 639, 1918,
3376  1917, 1808, 0, 0, 1920, 0, 1808, 1808, 530, 1858,
3377  0, 543, 539, 1919, 0, 0, 1802, 1830, 1767, 0,
3378  0, 0, 1808, 1833, 547, 1808, 1808, 0, 553, 555,
3379  564, 556, 558, 561, 549, 550, 551, 560, 562, 565,
3380  552, 0, 557, 0, 559, 563, 554, 1830, 1767, 540,
3381  542, 541, 1803, 603, 1831, 1832, 1810, 589, 1808, 468,
3382  1436, 0, 0, 0, 0, 0, 597, 0, 587, 593,
3383  596, 0, 590, 598, 601, 1810, 592, 588, 0, 1871,
3384  585, 1679, 581, 1547, 1922, 0, 0, 1924, 1926, 0,
3385  1930, 1928, 566, 570, 574, 574, 568, 572, 567, 573,
3386  604, 0, 595, 594, 600, 599, 591, 579, 472, 602,
3387  1835, 580, 1548, 1921, 1925, 1923, 1929, 1927, 577, 569,
3388  577, 571, 0, 464, 0, 0, 576, 575, 0, 0,
3389  463, 584, 582, 583, 578, 586, 465
3390 };
3391 
3392  /* YYPGOTO[NTERM-NUM]. */
3393 static const yytype_int16 yypgoto[] =
3394 {
3395  -2264, -2264, -2264, -2264, -2264, 2252, -2264, -2264, -2264, -2264,
3396  -2264, -2264, 2202, -2264, 1588, -2264, -2264, -2264, -2264, 2228,
3397  2204, 2207, -2264, -2264, 1535, -2264, -2264, -2264, -2264, -2264,
3398  2214, -2264, -2264, -2264, 2216, -2264, -2264, 1874, -95, -2264,
3399  -2264, -2264, -2264, -2264, 2075, -2264, -2264, -2264, -2264, 890,
3400  -2264, -2264, -2264, -2264, -2264, 2062, 553, -2264, -2264, -2264,
3401  -2264, 1229, -2264, -2264, -2264, -2264, -2264, 921, -2264, -2264,
3402  -1641, -2264, -2264, -2264, -2264, -2264, 1570, -2264, -2264, -2264,
3403  -2264, 1250, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3404  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3405  -2264, -2264, -2264, -2264, -2264, -2264, -820, -2264, -2264, -2264,
3406  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -125, -2264, 139,
3407  -2264, -2264, -2264, -54, -2264, -2264, -2264, -2264, 137, -2264,
3408  -2264, 1606, -2264, -2264, -2264, -2264, -2264, 126, -2264, -2264,
3409  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3410  -2264, -2264, -2264, -2264, -2264, -45, -2264, -2264, -2264, 156,
3411  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3412  -2264, -2264, -2264, -2264, -1268, -2264, -2264, 1632, -2264, -1924,
3413  -2182, -2264, -2264, -2264, -1110, -2264, -2264, -2264, -2264, -1184,
3414  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2263, -157, 180,
3415  -971, -920, -1783, -2264, -2264, -2264, -2227, -2264, -438, -2264,
3416  -2264, -123, -2264, -128, -150, -2264, -251, -1768, -2264, -1660,
3417  -2264, -1657, -2264, -2264, 92, -2264, -2264, -2264, -2264, -2264,
3418  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3419  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3420  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -414, -437,
3421  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3422  -2264, -1265, -2264, -390, -2264, -2264, -2264, -2264, -2264, -2264,
3423  -2264, 7, -2264, -2264, -2264, -180, -178, -274, -273, -2264,
3424  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3425  2081, 880, -2264, 800, -2264, -2264, -2264, -2264, -1246, -2264,
3426  -2264, -2264, -2264, -2264, -2264, -2264, 267, -2264, -2264, -25,
3427  -2264, 2258, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 1257,
3428  -2264, -712, -2264, -2264, -696, -2264, 908, -2264, -2264, -2264,
3429  -2264, -2264, -2264, -2264, -2264, -2264, 1194, -2264, -2264, -2264,
3430  1832, -2264, -2264, -2264, -2264, -2264, 1524, -2264, -2264, 813,
3431  -2264, -2264, -599, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3432  -2264, -2264, -2264, 1537, -2264, -2264, -2264, -2264, -2264, -2264,
3433  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3434  1800, -2264, -2264, -2264, 1166, -2264, -2264, -2264, -2264, -2264,
3435  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3436  1487, -2264, -2264, 1483, -2264, -2264, 1148, 818, -2264, -2264,
3437  -2264, -2264, -2264, 1791, -2264, -2264, -2264, -2264, -2264, -2264,
3438  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3439  -2264, -2264, -2264, -2264, -2264, -2264, 560, 1445, -2264, -2264,
3440  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 1447,
3441  -2264, -2264, 804, -2264, 1132, -2264, -2264, -1469, -2264, -2264,
3442  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3443  -2264, 1767, 1439, 792, -2264, -2264, -2264, -2264, -2264, -2264,
3444  -2072, 1759, -2264, -2264, -2264, 784, -2264, -2264, -2264, 1111,
3445  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3446  -2264, -2264, -2264, -2264, -2264, -2264, 1062, -2264, -2264, -2264,
3447  -2264, -2264, -2264, 1418, 781, -2264, -2264, -2264, -2264, -2264,
3448  -598, -2264, -2264, -2264, -2264, 1085, -2264, -2264, -2264, 1749,
3449  -2264, 1737, -2264, -2264, -2264, 2020, -2264, -2264, -2264, -2264,
3450  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3451  -2264, -2264, -2264, -2264, -2264, 757, -2264, -2264, -2264, -2264,
3452  -2264, 1733, 1081, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3453  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3454  -2264, -2264, -2264, -2264, 538, -2264, 1086, -2264, -2264, -2264,
3455  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -65,
3456  -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, -2264, 462,
3457  -2264, 1396, -2264, -2264, -970, -2264, -2264, -2264, -2264, 968,
3458  -2264, -2264, -1061, -2264, -2264, 537, -2264, -2264, -2264, -2264,
3459  326, -1854, -2264, -2264, 535, -1227, -2264, -2264, -480, -916,
3460  -306, -814, -2264, -2264, 1512, -1165, 783, 786, 789, 791,
3461  751, 545, -11, 844, 776, -2264, 1103, -159, -607, -200,
3462  856, 1785, -1212, -184, -356, -2264, -604, -2264, -272, -1543,
3463  1591, -2253, -396, 1381, -2264, 460, -1155, -187, 1689, -282,
3464  -286, -2264, -113, 359, -2264, -736, -1191, -2264, 1135, -570,
3465  -1361, -319, 1893, -1547, -2264, -2264, -90, -309, -2264, -79,
3466  -261, -434, -2264, -2264, 1043, -467, -483, -403, 1042, -1680,
3467  1046, -305, -208, -439, 132, -2264, -2264, -2264, 179, 1941,
3468  -2264, -2264, 873, -2264, -2264, -2264, -2264, -2264, -2264, -2264,
3469  -2264, -2264, -2264, -2264, -1431, -2264, -2264, 286, -2264, -2264,
3470  111, -1630, 258, -2264, -2038, -2264, -635, -1828, -1858, -1219,
3471  -2264, -2264, 14, -2264, -1310, -2264, -1335, -2264, -2264, 367,
3472  -2264, -209, -1876, -1890, -2264, -2264, -2264, -2264, -1767, -1379,
3473  -262, -513, -1188, 1372, 858, -2264, -2264, -509, -2264, -2264,
3474  -2264, -36, -2264, -2264, -2264, 1137, -2264, 886, -1848, -826,
3475  -2264, -2264, -2264, -100, 763, -1648, -1446, -2264, -2264, 871,
3476  -2264, -2264, -139, -2264, 1118, -2264, -2264, -2264, 37, -2264,
3477  -1579, -260, -2264, -2264, -2264, -2264, -2264, -2264
3478 };
3479 
3480  /* YYDEFGOTO[NTERM-NUM]. */
3481 static const yytype_int16 yydefgoto[] =
3482 {
3483  -1, 1, 2, 5, 6, 7, 8, 9, 10, 11,
3484  56, 57, 58, 60, 16, 12, 21, 235, 22, 53,
3485  82, 78, 422, 735, 736, 17, 18, 29, 30, 48,
3486  49, 202, 396, 700, 50, 201, 386, 387, 388, 389,
3487  390, 391, 392, 1344, 393, 416, 1054, 1377, 1378, 1379,
3488  1996, 1680, 74, 216, 217, 218, 219, 220, 414, 721,
3489  1374, 722, 723, 221, 702, 1358, 1359, 1360, 1991, 2167,
3490  1361, 2567, 222, 421, 223, 714, 715, 716, 1368, 224,
3491  1035, 1036, 225, 226, 1364, 227, 228, 229, 230, 231,
3492  232, 44, 45, 70, 377, 200, 378, 1334, 1663, 1970,
3493  1971, 2358, 2359, 2360, 2267, 2406, 2399, 1972, 2346, 1973,
3494  2466, 1974, 1975, 1976, 1977, 1978, 2413, 2442, 1979, 1980,
3495  1981, 1982, 1983, 2363, 1984, 1985, 2156, 1986, 1567, 684,
3496  685, 686, 687, 1014, 688, 1010, 2164, 2165, 2282, 26,
3497  194, 27, 41, 66, 195, 196, 677, 197, 1007, 1322,
3498  1323, 2254, 1324, 2464, 2341, 2134, 1325, 1326, 1954, 2260,
3499  1327, 1328, 2255, 2334, 2335, 2336, 2337, 1329, 1330, 1331,
3500  1332, 1659, 369, 1302, 370, 371, 671, 672, 1309, 673,
3501  1004, 1005, 1641, 2131, 2242, 2243, 2244, 2245, 2246, 674,
3502  1932, 1640, 1910, 1911, 1912, 2222, 1913, 1914, 1915, 1916,
3503  1917, 1918, 1919, 2660, 2760, 1920, 2215, 2320, 2387, 2213,
3504  2427, 2429, 2430, 1556, 2458, 2560, 2561, 1921, 1922, 1923,
3505  1924, 1925, 2325, 2218, 2219, 2389, 1926, 1927, 670, 1635,
3506  997, 1862, 1306, 2094, 2209, 2312, 2422, 2453, 2484, 2485,
3507  2543, 2585, 2486, 2581, 2597, 2619, 2620, 2621, 2622, 2623,
3508  2624, 2540, 2584, 2626, 2639, 2664, 2665, 2722, 2749, 2756,
3509  2666, 2667, 2741, 2762, 2668, 2669, 2670, 2671, 2672, 2673,
3510  2698, 2699, 2702, 2703, 2674, 2675, 2676, 1639, 2210, 2315,
3511  2316, 2317, 2424, 2454, 2519, 1765, 1766, 2608, 2609, 2610,
3512  2614, 2520, 2521, 38, 743, 1386, 39, 87, 239, 238,
3513  425, 426, 427, 740, 1061, 241, 1063, 1686, 363, 655,
3514  656, 1843, 2078, 657, 658, 1294, 1163, 1164, 1491, 659,
3515  64, 140, 141, 313, 435, 749, 436, 1068, 1069, 1070,
3516  1092, 1071, 1402, 1403, 1072, 1432, 1433, 748, 142, 314,
3517  473, 777, 775, 143, 315, 489, 1144, 144, 316, 501,
3518  502, 1146, 145, 317, 510, 511, 848, 1181, 1519, 1520,
3519  1521, 1482, 332, 1746, 1740, 2026, 803, 146, 318, 513,
3520  147, 319, 516, 810, 148, 320, 519, 815, 149, 150,
3521  151, 321, 528, 824, 827, 152, 322, 532, 533, 534,
3522  535, 838, 536, 1170, 1171, 1172, 1497, 1515, 831, 153,
3523  323, 540, 844, 154, 324, 543, 155, 325, 546, 547,
3524  548, 853, 854, 855, 1191, 856, 1186, 1187, 1525, 850,
3525  156, 326, 557, 333, 157, 327, 558, 158, 328, 561,
3526  159, 329, 564, 1198, 160, 161, 334, 1202, 1532, 162,
3527  335, 569, 897, 1211, 1535, 1788, 1789, 1790, 1791, 163,
3528  336, 572, 164, 337, 574, 575, 903, 904, 1223, 905,
3529  906, 1546, 1547, 1220, 1221, 1222, 1540, 1797, 2051, 165,
3530  338, 166, 339, 584, 167, 340, 586, 913, 168, 342,
3531  592, 593, 917, 1569, 169, 343, 597, 921, 1573, 922,
3532  598, 599, 600, 1241, 1243, 1244, 170, 344, 607, 1256,
3533  1818, 2062, 2194, 929, 171, 172, 345, 609, 173, 174,
3534  346, 612, 936, 175, 347, 614, 1257, 939, 176, 177,
3535  348, 617, 945, 1260, 1587, 1588, 943, 178, 349, 623,
3536  724, 958, 624, 625, 1280, 1281, 626, 627, 628, 629,
3537  630, 631, 632, 179, 350, 579, 1802, 907, 2056, 1228,
3538  1552, 2054, 2190, 180, 351, 640, 1283, 966, 1604, 1605,
3539  1606, 962, 181, 642, 968, 1834, 357, 182, 358, 644,
3540  645, 646, 1616, 972, 183, 359, 649, 977, 184, 361,
3541  185, 362, 651, 186, 364, 660, 187, 365, 662, 188,
3542  366, 664, 990, 1624, 1625, 1299, 1627, 1848, 2084, 1850,
3543  988, 2079, 2204, 2300, 2301, 2302, 2576, 2303, 2449, 2450,
3544  2476, 2304, 2420, 2305, 2306, 2307, 189, 367, 666, 934,
3545  1300, 1249, 1853, 992, 1394, 1395, 1396, 1691, 1692, 833,
3546  834, 1166, 1468, 1469, 1728, 1838, 1839, 2073, 1579, 2195,
3547  1580, 1822, 1854, 1855, 1856, 1161, 1162, 1490, 2009, 567,
3548  568, 550, 551, 883, 884, 885, 886, 887, 888, 889,
3549  1095, 1446, 1105, 491, 492, 493, 494, 474, 520, 818,
3550  610, 618, 1237, 1238, 573, 633, 634, 894, 601, 504,
3551  505, 2439, 1946, 1024, 1940, 1941, 1947, 400, 717, 559,
3552  522, 836, 475, 476, 2712, 1117, 496, 1101, 1450, 1548,
3553  1735, 514, 602, 1388, 2016, 2010, 1251, 1389, 580, 637,
3554  477, 438, 523, 524, 439, 752, 753, 1390, 1369, 2700,
3555  1037, 478, 479, 480, 481, 482, 483, 484, 781, 761,
3556  1124, 1121, 1114, 1106, 1108, 675, 1626, 2435, 798, 1137,
3557  1477, 932, 1608, 681, 821, 1157, 1756, 2224, 312, 1633,
3558  1707, 1657, 1338, 1933, 1073, 2162, 428, 394, 413, 1644,
3559  2044, 1767, 1336, 2544, 1153, 2342, 2082, 1559, 2683, 2184,
3560  1747, 406, 1046, 1805, 2120, 2092, 2539, 2137, 1654, 1695,
3561  2686, 755, 1229, 1050, 1810, 2472, 1057, 1987, 986, 2112,
3562  404, 2100, 1929, 2258, 2417, 1614, 1665, 896, 2323, 565,
3563  2148, 2110, 2390, 606, 1553, 1404, 1094, 819, 2447, 746,
3564  1944, 2600, 2571, 1669, 1648, 812, 2175, 1612, 1230, 395,
3565  2631, 2637, 2725, 2726, 2727, 2728, 2729, 2488
3566 };
3567 
3568  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
3569  positive, shift that token. If negative, reduce the rule whose
3570  number is the opposite. If YYTABLE_NINF, syntax error. */
3571 static const yytype_int16 yytable[] =
3572 {
3573  407, 408, 756, 538, 411, 813, 652, 1242, 970, 1528,
3574  706, 725, 709, 374, 63, 712, 762, 1938, 401, 549,
3575  829, 1712, 1696, 1563, 409, 1697, 423, 2018, 1666, 954,
3576  1581, 1992, 577, 2122, 1634, 1194, 1123, 851, 1188, 372,
3577  636, 560, 823, 967, 503, -674, 1133, 398, 398, 560,
3578  946, 784, 437, 570, 497, 1681, 1609, 515, 822, 2564,
3579  1015, 539, 1667, 560, 1677, 1043, 441, 635, -672, 2448,
3580  616, 85, 1779, 2153, 2154, 1741, 576, 412, 1197, 1800,
3581  791, 1225, 603, 441, 1643, 424, 1860, -1584, 1671, 1410,
3582  2139, 1493, 1494, 2385, 1486, 1703, 1099, 1651, 1769, 1443,
3583  1443, -1869, 1564, 661, 937, 665, 1434, 498, 2748, -1585,
3584  1002, 2170, 526, 1550, 1438, 909, 900, 1607, 1517, 526,
3585  521, -1835, 1951, 2052, 2128, 1047, 1168, 526, 1738, 919,
3586  1215, 2380, 2418, 2252, 2151, 517, 424, 529, 731, 2343,
3587  1687, 526, 1169, 1052, -1590, -1611, 1093, 2410, 2002, 2003,
3588  2004, 2005, 2006, -5, 1183, 823, 495, 1722, 2014, -1813,
3589  608, 1952, 613, -1588, 1804, 2332, 2308, 641, 2761, 1126,
3590  2125, 960, 1561, 192, 692, -1777, 1794, 405, 1048, 1216,
3591  330, 663, 757, 622, -674, 2467, 699, 1841, -674, 2144,
3592  1152, 2513, 703, 704, 806, 705, -1882, 741, 518, -21,
3593  710, 711, 1610, 845, 1930, 726, 2188, -672, 2197, 537,
3594  -1835, -672, 2029, 733, 4, -1882, 899, 1557, 2371, 1225,
3595  500, 2033, 1443, 46, 2036, 788, 788, 788, 744, 503,
3596  405, 1619, 1286, 1554, 980, 518, 1398, 732, 1399, 1179,
3597  375, 2098, 763, 738, -1880, -674, 650, 1467, 1443, 518,
3598  603, 2096, 515, 1376, 527, 2264, 1678, 679, 1661, 581,
3599  -674, 1844, 2123, 2098, 544, 3, 622, 792, -672, 1098,
3600  449, 581, 793, 893, 1043, 545, 1044, 785, 498, 498,
3601  498, 680, 2411, -672, 893, 1183, 2313, 449, 1100, 1020,
3602  1662, 2388, 694, 981, 2124, 979, 792, 701, 1742, 1217,
3603  2414, 793, 2572, 373, 490, -1882, 861, 1233, 1038, 2594,
3604  2097, 739, 526, 2099, 453, 1558, 734, 500, 745, 2129,
3605  2130, 1102, 1555, 2189, 458, 2046, 2047, 495, 495, 495,
3606  1214, 453, 807, 1495, 682, 2101, 47, 603, 742, 1158,
3607  1131, 458, 2295, 825, 560, -21, 620, 1780, 952, 893,
3608  2168, 526, 1443, 1443, 1297, 1266, 2433, 2573, 331, 947,
3609  1287, 1743, 526, 1218, 953, 2574, 2344, 1861, 4, -1793,
3610  500, 1292, 1611, 1049, 1931, 1188, 2658, 1533, 1188, 1154,
3611  1744, 1565, 2412, 846, 1443, -1882, 1536, 975, 1443, 816,
3612  1723, -674, 2313, 2277, 901, 2329, 779, 193, 2339, -1777,
3613  2053, 2602, -32, 2126, 1857, 449, 1226, 376, 1748, 462,
3614  751, 1730, 948, 1296, -672, 424, 512, 811, 424, -1882,
3615  2345, 837, 526, 1250, 1400, 733, 462, 526, 2419, 1097,
3616  1739, 1444, 1444, 621, 2253, 2048, -1813, 1827, 895, 653,
3617  2000, 434, 449, -1869, 2601, 920, 1989, 499, 1566, 453,
3618  -1777, 2575, 683, 434, 1990, 1551, 449, 1953, 1168, 458,
3619  1704, 2172, 2709, 1770, 622, 1227, 902, 1708, 1430, 578,
3620  898, 2565, 2138, 434, 1169, 605, 789, 1158, 464, 596,
3621  518, 1018, 518, 1445, -1656, 1044, 453, 792, 1781, 1022,
3622  788, 654, 793, 1027, 1009, 464, 458, 788, 788, 788,
3623  453, 434, -1808, 653, 1496, 1401, 788, 788, 788, 1118,
3624  458, 1118, 1682, 1437, 2085, 1668, 1051, 1016, 86, 788,
3625  1672, 1118, 788, 1472, 467, 751, 653, 852, 734, 1058,
3626  718, 788, 788, 788, 788, 788, 1745, 2434, 441, 1053,
3627  -1777, 467, 969, 498, 462, 549, 1522, 1097, 373, 1483,
3628  498, 498, 498, 713, 1444, 654, 399, 399, 788, 498,
3629  498, 498, 1119, 1498, 1119, 1679, 2566, 434, 1129, 2526,
3630  434, 434, 498, 472, 1119, 498, 521, 1295, 654, 2182,
3631  1444, 462, 764, 1526, 498, 498, 498, 498, 498, 2333,
3632  472, -1777, 495, 1184, 2093, 462, 1219, 596, 696, 495,
3633  495, 495, 694, 1227, 1185, 876, -1658, 1449, 495, 495,
3634  495, 498, 1466, 464, 2140, 1340, 2583, 786, 499, 499,
3635  499, 495, 1199, 434, 495, 560, 596, 13, 1253, 1232,
3636  1684, 430, 1457, 495, 495, 495, 495, 495, 1129, 947,
3637  1159, 373, 2369, 605, -1848, 1471, 521, 788, 2113, 1074,
3638  464, 2020, 1541, 1246, 1760, 1382, 1749, 1750, 1751, 467,
3639  495, 1470, 2546, 1245, 464, 1942, 893, 1451, 861, 434,
3640  1825, 2515, 1252, 2604, 1593, 1594, 1595, 1596, 1597, 1598,
3641  1599, 1600, 541, 1261, 1444, 1444, 2516, 449, 817, 449,
3642  2031, 566, 948, 1589, 433, 2296, 467, 15, 585, 587,
3643  498, 1945, 434, 526, 718, 2590, 1129, 811, 472, 1188,
3644  467, 2037, 1290, 2039, 521, 1542, 1444, 647, 352, 2152,
3645  1444, -1882, 947, 1752, 1184, 2015, 1721, -1882, 2259, -1777,
3646  605, 453, -1777, 453, 2605, 1185, -1652, -1649, 1173, 434,
3647  1096, 458, 449, 458, 526, 472, 2057, -679, 2207, 495,
3648  -677, -1882, 596, 434, 2398, 1282, 1113, 1113, 1113, 472,
3649  1380, -1882, 330, 2405, 1543, 1065, 507, 998, 1475, 1132,
3650  1129, 419, -1654, -1793, 2265, 948, -1882, 1943, 521, 718,
3651  2075, 2076, 792, 434, 1150, 23, 453, 793, 19, 1387,
3652  1341, -1882, 1817, 2297, 2517, 1761, 458, 2518, 1333, 1602,
3653  -1773, 24, -1773, 2547, 1603, 379, 2523, 379, 1155, 1151,
3654  2707, -1882, 380, 353, 380, 1272, 1236, 2469, 2146, -1660,
3655  2266, 518, 947, 1273, -679, 25, 462, -677, 462, 2736,
3656  431, 2032, 2298, 1451, 778, 2198, 788, -1882, 682, 1381,
3657  1258, 2187, 1452, 1804, 1349, 863, 864, 1753, 1754, -1882,
3658  1383, 2536, 1755, 354, 1152, 718, 2659, 1479, 1391, 2582,
3659  434, 2738, -1882, 1372, 1373, 2118, 1284, 2606, 2147, 2299,
3660  -1777, 2661, 2607, -1777, 1481, 948, 1204, 2318, 2451, 1205,
3661  1206, 462, 355, 499, 1522, 865, 866, 2063, 1350, 498,
3662  499, 499, 499, 434, 2309, 464, 778, 464, 1351, 499,
3663  499, 499, 1120, 2479, 1120, 596, 2451, 2064, 2580, 1772,
3664  890, 1774, 499, 518, 1120, 499, 2109, 28, 526, 449,
3665  2625, 508, 526, 509, 499, 499, 499, 499, 499, 1265,
3666  521, 2480, 2481, 2065, 20, 526, -1882, 596, 495, 1365,
3667  331, 467, 910, 467, 2470, 560, 893, 1487, 1544, 1560,
3668  464, 499, 2641, 2642, 434, 1807, 683, 434, 2066, 31,
3669  2679, 947, 947, 453, 2680, 2681, 2045, 876, 1795, 1074,
3670  419, 526, 1342, 458, 1777, 2568, 2291, 356, 434, 2662,
3671  1685, 434, 2663, 1353, 434, 718, 434, 1729, -1773, 1274,
3672  472, 2677, 472, 2704, 1577, 930, 467, 596, 2587, 204,
3673  51, 2015, 947, 2588, 647, 1851, 32, 434, 1067, 778,
3674  -1773, 2119, -1848, 1842, 948, 948, 434, 381, 2687, 381,
3675  2250, 1275, 2704, 526, 526, 526, 2314, 2340, 449, 1859,
3676  1618, 955, 1725, 1343, 552, 80, 2015, 1628, 1628, 2636,
3677  499, 2629, 1023, 1276, 1011, 472, 931, 205, 2706, 2452,
3678  1578, 2630, 1354, 1570, 35, 948, 1846, 2569, 462, 2570,
3679  36, 2098, 1717, 2627, 2098, 1254, 2696, 2628, 596, -1773,
3680  1173, 588, 453, 40, 405, 923, 2701, 940, 738, 1160,
3681  -1882, 718, 458, 596, 526, 206, 1448, 207, -1795, 208,
3682  52, 1215, 924, 382, 2098, 382, 622, 209, 1277, 1959,
3683  877, 1642, 878, 1645, 1012, 1013, 1650, 1652, 43, 1655,
3684  -517, 2697, 596, 434, 2723, 2361, 2330, 2285, 2286, 718,
3685  449, 379, 2552, 1193, -1779, 81, 589, 464, 380, 993,
3686  42, 1960, 2314, 2103, 590, 1127, 2105, 1571, -517, -517,
3687  1216, 1852, 1207, 1208, 2558, 1660, 739, 1357, 1858, 383,
3688  2155, 383, 1160, 210, 384, 2408, 384, -1882, 2247, 2247,
3689  1278, 553, 554, 1201, 453, 2482, 2107, 462, 1209, 1210,
3690  963, 1737, 1347, 467, 458, 794, 2067, 2392, 2393, 2638,
3691  555, 1545, -1882, 1676, 795, 788, 788, 2445, 1239, 2421,
3692  1617, 2446, 788, 2678, 788, 2409, 778, 1698, 2428, 1617,
3693  1258, 1118, 1699, 615, 1178, 1180, 695, 379, 693, 2248,
3694  2248, 1247, 788, 1821, 380, 1736, 434, 1705, 1783, 55,
3695  591, -1808, 472, 667, 2013, 984, 1167, 985, 2027, 499,
3696  964, 1467, 1737, 965, 556, 828, 464, -1882, 498, 498,
3697  1248, 1935, 890, 2268, 596, 498, 211, 498, 1948, 2030,
3698  405, 719, -517, 720, 1119, 2247, 808, 1279, 696, 462,
3699  1217, 1268, -1882, 1203, 526, 498, 1204, 1785, 1582, 1205,
3700  1206, 1348, 1269, 1234, 893, 2528, 1736, 947, 2462, 1824,
3701  2739, -517, 467, 2049, 2531, 947, 2473, 495, 495, 2034,
3702  2035, 1759, 212, 1583, 495, -1096, 495, 1768, 59, 2483,
3703  2012, 2012, -1552, 405, 1771, 737, 2248, 1997, 526, 737,
3704  526, 61, 2050, 1245, 495, 1270, 1773, 1737, 1775, 2577,
3705  2474, 1762, 765, 766, 1218, 434, 1285, 718, 464, 1289,
3706  948, 472, 771, 381, 434, 1706, 1998, 1293, 948, -1096,
3707  1387, 2475, 62, 1828, 1803, 2743, 2744, 65, 1763, -1096,
3708  1764, 788, 526, 1392, 526, 67, 1393, 1349, 1568, 506,
3709  956, 1736, 521, 525, 2374, 947, 2012, 2012, 2643, 2745,
3710  525, 562, -517, -669, 467, 809, 801, 2373, 525, 1570,
3711  719, 582, 720, 213, 69, 2746, 604, 1646, 611, 1647,
3712  611, 619, 638, 582, 2011, 2011, 957, 1813, 2017, 204,
3713  1689, 1350, 1690, 596, 498, 68, 2615, 2055, 2747, 382,
3714  611, 1351, 526, -1590, -1552, 1447, 2616, 434, 948, 381,
3715  521, 71, 1814, 472, 792, 1352, 214, 1488, 72, 793,
3716  751, 1928, 1492, 2733, -1096, 1709, 1711, 1937, 2227, 2617,
3717  1135, 73, 1709, 2737, 1709, 1950, 418, 205, 2145, 707,
3718  792, 707, 46, 495, 707, 793, 47, 204, 398, 77,
3719  2011, 2011, 1732, 1571, 2115, 383, 1758, 1529, 797, 2618,
3720  384, 2090, 1955, 2091, 191, 449, 1819, 2228, 2229, 2230,
3721  2231, 2232, 198, 596, 373, 206, 2028, 207, 233, 208,
3722  2114, 1737, 2007, 2008, 240, 382, 1353, 209, 215, 199,
3723  2711, 2713, 203, -1096, -343, 205, -517, 2019, 2022, 1104,
3724  1107, 1110, -669, 1875, 1876, 234, -669, 792, 792, 453,
3725  -343, 2742, 793, 793, 236, 2173, 1584, 2174, 1473, 458,
3726  341, 2401, 1207, 1208, 1134, 1736, 237, 792, 2403, 2404,
3727  2752, 2634, 793, 206, 506, 207, 449, 208, 2598, -1096,
3728  2599, 383, 2754, 210, 360, 209, 384, 1219, 1209, 1210,
3729  -343, 368, 2157, 525, 526, 1354, 526, 2765, 1355, 1356,
3730  1140, 1141, 1142, -669, 385, 1077, 2635, 1078, 499, 499,
3731  402, 2348, 2349, 2350, 2569, 499, 2570, 499, -669, 787,
3732  453, 790, -1096, 2629, 1120, 2537, 2538, -352, -1096, 526,
3733  458, 1833, 525, 2630, 385, 499, 2684, 2685, 1021, 33,
3734  34, 210, 403, 525, 462, 2226, 2233, 2234, 2235, 2236,
3735  2237, 2238, 2239, 1888, 1889, 1075, 1076, 405, 2132, -343,
3736  1592, 2074, 410, 1714, 526, 1716, 1138, 1139, 1718, 1719,
3737  1720, 1115, 1116, 412, 1724, 415, 211, 420, 373, 1453,
3738  432, 434, 1455, 1733, 1734, 542, 571, 563, 1458, 619,
3739  1357, -343, 1462, 1693, 668, 1311, 669, 1077, 1464, 1078,
3740  676, 1079, 678, 525, -1568, -1568, -1568, -1568, 525, 689,
3741  691, 1312, 690, 464, 698, 462, 708, 713, 2171, 729,
3742  -343, 727, 212, 730, 747, 2249, 2249, -343, 750, 2121,
3743  754, -1552, 2351, 751, 211, 1080, 1081, 1082, -343, -1552,
3744  -1552, 1956, 758, 774, -1552, 37, 2352, 759, 760, -669,
3745  767, 1313, 768, 2714, 2634, 769, 1957, 770, 772, 467,
3746  2251, 779, 780, 1028, 1726, 2256, 1958, 839, 840, 841,
3747  842, 796, 2142, 782, 499, 2143, 515, 707, 783, 800,
3748  212, 820, 2150, 802, 464, 1083, 1757, 1084, 826, 2715,
3749  -1567, -1567, -1567, -1567, 1085, 814, 2177, 1086, 828, 830,
3750  2240, 1550, 434, 832, 2710, 843, 2629, 1029, 472, 2163,
3751  849, 847, 891, 213, 895, 2241, 2630, 1030, 908, 1064,
3752  911, 912, 2249, 1784, 914, 916, -1570, 1786, 925, 926,
3753  467, 2353, 2354, 2355, 927, 2166, 1570, 1174, 1175, 1176,
3754  1177, 2321, 928, 2203, -343, -343, 2356, 2220, 933, 1128,
3755  935, 2206, 2525, 938, 2208, 942, 214, 944, 949, -343,
3756  526, -343, 526, 2102, 2104, 2106, 2108, 622, 2178, 959,
3757  2179, 213, 961, 424, 971, 1820, 728, 976, 983, 472,
3758  987, 405, 2193, 989, 1087, 991, 1088, 994, 1314, 995,
3759  996, 1000, 1006, 1008, 1019, 718, 2158, 1023, 1025, 1315,
3760  1026, 1039, 1031, 622, 1056, 1041, 2364, 2365, 2368, 1059,
3761  2366, 1060, 1040, 1062, 214, 1097, 1111, 1103, 1112, 1128,
3762  1122, 1130, 1143, 1145, 1136, 1160, 500, 1165, 215, 1156,
3763  1189, 1200, 1192, 1065, 1213, 901, 1231, 2357, -1882, 1259,
3764  596, -1882, 1240, 2220, 1255, -343, 2384, 1271, -1882, -1882,
3765  1263, 1264, 1291, 1303, 1304, 1298, 1305, 1307, 1959, 1308,
3766  -365, 1310, 2294, 1335, 1816, 2263, 1337, 506, -1773, 2396,
3767  -1773, 1032, 2270, 2271, 2272, 2273, 2310, 434, 1339, 1346,
3768  2276, 2364, 1363, 1371, 525, 2378, 215, 1128, 1366, 2001,
3769  1960, -343, 1367, 1376, 1384, -1882, 1385, 399, 506, 1436,
3770  -236, 1435, 1439, 1835, 1835, 1316, 1317, 2290, 1440, 1442,
3771  2166, 1441, 1454, 1456, 1484, 1459, 1460, 1033, 1461, 1485,
3772  1318, 1463, 1319, 2716, 2021, 525, 1465, 2717, 2718, 1474,
3773  1476, 1516, 1489, 1570, 1480, 2023, 2024, 1518, 1523, 1524,
3774  1226, 1530, 1531, 2440, 1534, 1537, 1538, 1549, 1562, 1572,
3775  1574, 1128, 2391, 1575, 1578, 1961, 1585, 1590, 1586, 1620,
3776  1962, 1613, 2456, 1621, -1882, 1622, 1034, 1623, 1632, 1637,
3777  1638, 2719, 2440, 2468, 1636, 1643, 1656, 1653, 1658, 1664,
3778  1152, 1089, 1674, 1688, 1694, 2347, 2720, 2721, 1701, 1702,
3779  1706, 1727, -1589, -1882, 1963, 1787, 1796, 1799, 2367, 1804,
3780  1801, 2468, 1964, 1793, 1806, 1809, 1320, 1821, 1812, 1823,
3781  1837, 1840, 1845, 2372, 1965, -1882, 1847, 1863, 2068, 1864,
3782  1849, 2069, 2070, 1934, 1936, 1949, 1993, 1939, 1995, 1994,
3783  2553, 1090, 1467, 1999, 2071, -1545, -1587, 1570, 582, 2025,
3784  2043, 1091, 2058, 1551, 2038, 2059, 1966, 2040, 2087, 2088,
3785  -881, 2060, 1321, -881, 1967, 2595, -1773, 2072, 2061, 2077,
3786  2081, 2083, 2563, 2111, 1852, -233, 2136, 2041, 2117, -1882,
3787  2692, 2095, 2109, 2149, 2127, 2133, 1067, 2141, 379, 2160,
3788  2159, 2161, 2169, 2180, 2444, 2338, 2527, 2181, 2205, 2186,
3789  2199, 2200, 2201, 424, 2183, 1968, 2440, 2211, 1969, 525,
3790  2212, 2214, 2216, 525, -1882, 2221, 2223, 2278, 2257, 2283,
3791  2281, 2279, -1660, 2284, 2292, 2319, 525, 2311, 2328, 506,
3792  2322, 1253, 2362, 2331, -1882, 2327, 2293, -881, 2468, 2438,
3793  2370, 2376, -1777, 2377, 2386, 2402, 2394, -1773, 2415, 2382,
3794  2416, 2423, 2425, 2431, -881, 2578, 2383, 2426, 2432, 2296,
3795  2441, 1500, 525, 2461, 1501, 2457, 2463, 2465, 2460, 2471,
3796  2530, 1502, 1503, 2532, 2478, 1252, 2529, 2541, 2542, 2554,
3797  2557, 2559, 2015, 2643, 2487, 2522, 2730, 2689, 2555, 2682,
3798  2688, 2556, 2731, 2755, 2758, 2759, -1882, 2764, 14, 83,
3799  54, 79, 2690, 84, 76, 75, 1055, 697, 1683, -1882,
3800  2534, 2535, 2611, 515, 525, 525, 525, 397, 1504, 417,
3801  1670, 2545, 1375, 2586, 1042, 1362, 2550, 2443, -1882, 2269,
3802  2280, 1017, 2176, 2397, 2732, 2275, 2395, 2514, 2734, 2262,
3803  2753, 2217, 2459, 999, 2455, 2524, -881, -881, -881, 2593,
3804  2326, 2751, 2735, 2757, 2548, -881, 2549, 2562, 2612, 2613,
3805  429, 1778, 190, 2381, 2603, 1700, 1397, -881, 2579, 1148,
3806  515, 1478, 1776, 799, 835, 525, 1499, 1190, 1182, 2202,
3807  1527, 1782, 1212, 2589, 1149, 2591, 892, 1505, 2042, 2592,
3808  1798, 1224, 1539, -1882, 1235, 1808, 2766, 918, 1815, 915,
3809  -881, 1576, 1631, 1262, 1167, 1601, -881, 951, -881, 1826,
3810  639, -881, 1836, -881, -881, -881, 1506, 950, 974, -881,
3811  1629, -881, 596, 2080, 2477, 1630, -881, 2086, 2196, 1301,
3812  2089, 1829, 1147, 1570, 1830, 1196, 2695, 1831, 1507, 1832,
3813  2135, 941, 1591, 1345, 805, 1045, 2551, 2632, 2633, 1673,
3814  1675, 773, 2225, 2375, 2274, 2705, 2437, 2185, 2192, 1370,
3815  -881, 1792, 2640, 1811, 1615, -881, 1988, 2644, 2645, 2596,
3816  788, 788, 1649, 2724, 2436, 0, 0, 0, 0, -881,
3817  0, 0, 0, 2691, 0, 0, 2693, 2694, 0, 0,
3818  0, 788, 1508, 0, 0, 0, 0, 0, 0, 0,
3819  0, 0, 0, 2750, 2750, 0, -881, 0, 0, 0,
3820  788, 0, 0, 0, 0, 0, 0, -1777, 0, 2708,
3821  0, 0, 0, 498, 498, 0, 0, 1509, 0, 0,
3822  0, 0, 0, 2763, 0, 0, -881, 788, 0, 0,
3823  0, 707, 0, 0, 498, 0, 0, 1510, 0, 0,
3824  0, 0, 0, 0, 0, 525, 0, 0, 0, 0,
3825  0, 0, 0, 498, 0, 0, 0, 0, 0, -881,
3826  0, 0, 495, 495, 0, -881, 0, 0, 0, 2287,
3827  0, 0, 0, 2288, 2289, 0, 0, -881, -881, 0,
3828  498, 0, 0, 495, 0, 0, 0, 0, 0, 525,
3829  0, 525, 0, 0, 0, 0, 0, 0, 0, 1511,
3830  0, 0, 495, 0, 0, 0, 0, 0, 0, 0,
3831  0, -881, 1512, 0, 0, 0, 0, 0, 0, 0,
3832  0, -881, 0, 0, 0, 0, 0, -881, 0, 495,
3833  0, 1513, 0, 525, 0, 525, 0, 0, 0, 0,
3834  0, -881, 0, 0, 0, 0, -881, 0, -1777, 0,
3835  0, 0, -881, 0, -881, 0, 0, 0, 1254, 0,
3836  -881, 1873, 88, 0, 89, 0, 90, 0, 0, 0,
3837  0, 91, 0, 0, 0, 0, 0, 0, 0, 92,
3838  0, 1398, 1077, 1399, 1078, 0, 0, 0, 0, 0,
3839  0, 0, 0, 525, 0, 0, 1514, 0, 0, 0,
3840  0, 0, 0, 0, 0, 0, 582, 0, 0, 0,
3841  0, 0, 93, 94, 0, 0, 0, 0, 0, 0,
3842  0, 0, 95, 707, 0, 0, 0, 0, 0, 0,
3843  0, 0, 0, 96, 0, 0, 97, 0, 0, 0,
3844  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3845  98, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3846  0, 0, 0, 0, 0, 0, 0, 0, 582, 582,
3847  582, 582, 582, 99, 0, 0, 582, 582, 582, 0,
3848  582, 100, 0, 101, 0, 0, 0, 0, 0, 0,
3849  -717, 0, -717, -717, -717, -717, -717, -717, -717, -717,
3850  0, -717, -717, -717, 0, -717, -717, -717, -717, -717,
3851  -717, -717, -717, -717, 102, 0, 0, 0, 0, 0,
3852  0, 0, 0, 0, 0, 103, 2646, 0, 0, 0,
3853  104, 0, 582, 0, 0, 0, 0, 0, 0, 0,
3854  0, 582, 582, 582, 582, 525, 0, 525, 0, 0,
3855  0, 0, 1891, 499, 499, 0, 105, 0, 0, 0,
3856  0, 0, 0, 106, 0, 0, 107, 108, 0, 2647,
3857  0, 2648, 0, 0, 499, 0, 707, 109, 0, 0,
3858  525, 0, 0, 0, 110, 0, 111, 0, 0, 112,
3859  0, 0, 0, 499, 0, 0, 0, 0, 0, 0,
3860  0, 0, 2649, 0, 0, 0, 0, 0, 0, 0,
3861  0, 0, 0, 0, 0, 525, 0, 0, 0, 0,
3862  499, 0, 0, 88, 2650, 89, 0, 90, 0, 0,
3863  0, 113, 91, 0, 0, 114, 0, 115, 0, 0,
3864  92, 0, 0, 0, 0, 0, 1895, 116, 0, 0,
3865  0, 0, 2651, 0, -717, -717, -717, 0, -717, -717,
3866  -717, -717, 0, 0, 0, 0, 0, 0, 0, 0,
3867  0, 0, 2116, 93, 94, 117, 0, 0, 0, 0,
3868  0, 0, 0, 95, 0, 0, 0, 0, 118, 0,
3869  0, 0, 0, 0, 96, 0, 0, 97, 0, 0,
3870  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3871  0, 98, 0, 0, 0, 0, 119, 120, 0, 0,
3872  0, 0, 0, 0, 0, 0, 1900, 121, 0, 0,
3873  0, 0, 0, 0, 99, 2652, 0, 0, 0, 0,
3874  122, 123, 100, 0, 101, 0, 0, 124, 0, 0,
3875  0, 125, 2653, 0, 0, 0, 0, 0, 0, 126,
3876  0, 0, 0, 0, 0, 0, 0, 0, 0, 127,
3877  0, 0, 0, 0, 2654, 102, 0, 442, 128, 0,
3878  0, 582, 0, 0, 0, 0, 103, 129, 0, 0,
3879  0, 104, 130, 131, 444, 2655, 132, 0, 133, 0,
3880  0, 0, 0, 0, 0, 0, 134, 0, 0, 0,
3881  0, 525, 0, 525, 2656, 0, 0, 105, 0, -717,
3882  1909, 2657, 0, 0, 106, 0, 0, 107, 108, 2191,
3883  0, 0, 0, 0, 0, 0, 0, 136, 109, 0,
3884  0, 0, 0, 137, 0, 110, 0, 111, 138, 0,
3885  112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3886  0, 0, 0, 0, 0, 0, 0, 0, -717, 0,
3887  0, 0, 0, 0, 139, 0, 0, 0, 0, 0,
3888  0, 0, 0, 0, 0, 0, 445, 446, 447, 0,
3889  0, 0, 113, 0, 0, 448, 114, 0, 115, 0,
3890  0, 0, 0, 0, 0, 0, 0, 0, 116, 0,
3891  0, 0, 0, 0, 0, 2261, 2261, 0, 0, 0,
3892  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3893  0, 0, 0, 0, 0, 0, 117, 0, 0, 0,
3894  0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
3895  0, 804, 0, 454, 455, 456, 0, 0, 0, 457,
3896  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3897  0, 0, 0, 0, 0, 0, 0, 119, 120, 0,
3898  0, 0, 0, 0, 0, 0, 0, 0, 121, 2324,
3899  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3900  460, 122, 123, 0, 0, 0, 0, 0, 124, 0,
3901  0, 0, 125, 0, 0, 88, 0, 89, 0, 90,
3902  126, 0, 0, 0, 91, 0, 0, 0, 0, 0,
3903  127, 0, 92, 0, 0, 0, 0, 0, 0, 128,
3904  0, 0, 0, 707, 0, 707, 707, 0, 129, 707,
3905  0, 0, 0, 130, 131, 0, 0, 132, 0, 133,
3906  0, 0, 0, 506, 0, 93, 94, 134, 0, 0,
3907  0, 0, 0, 0, 0, 95, 463, 0, 0, 0,
3908  135, 0, 0, 0, 0, 0, 96, 0, 0, 97,
3909  0, 0, 0, 0, 0, 0, 0, 0, 136, 0,
3910  0, 0, 0, 98, 137, 707, 707, 0, 0, 138,
3911  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3912  707, 0, 0, 2400, 2400, 0, 99, 465, 466, 0,
3913  0, 2400, 2400, 2407, 100, 139, 101, 0, 0, 0,
3914  0, 0, 0, 0, 0, 506, 0, 0, 0, 0,
3915  0, 0, 0, 0, 0, 0, 0, 88, 0, 89,
3916  0, 90, 0, 0, 0, 0, 91, 102, 0, 0,
3917  0, 468, 0, 0, 92, 0, 0, 0, 103, 0,
3918  0, 0, 707, 104, 0, 0, 0, 0, 0, 0,
3919  0, 469, 0, 0, 506, 0, 470, 0, 0, 0,
3920  0, 707, 471, 0, 434, 0, 707, 93, 94, 105,
3921  0, 707, 707, 0, 0, 0, 106, 95, 0, 107,
3922  108, 0, 506, 0, 0, 0, 0, 0, 96, 0,
3923  109, 97, 0, 0, 0, 0, 0, 110, 0, 111,
3924  707, 0, 112, 0, 0, 98, 0, 0, 0, 2533,
3925  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3926  0, 0, 0, 0, 0, 0, 0, 0, 99, 0,
3927  0, 0, 0, 0, 0, 0, 100, 0, 101, 0,
3928  0, 0, 0, 0, 113, 0, 0, 0, 114, 0,
3929  115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3930  116, 707, 0, 0, 0, 0, 0, 0, 0, 102,
3931  0, 0, 0, 0, 0, 0, 0, 0, 582, 0,
3932  103, 0, 0, 582, 0, 104, 0, 0, 117, 0,
3933  0, 0, 0, 0, 0, 707, 0, 0, 0, 0,
3934  0, 118, 0, 0, 0, 0, 0, 0, 0, 0,
3935  0, 105, 0, 0, 0, 0, 0, 0, 106, 0,
3936  0, 107, 108, 0, 0, 0, 0, 707, 0, 119,
3937  120, 0, 109, 0, 0, 0, 0, 0, 0, 110,
3938  121, 111, 0, 582, 112, 0, 0, 582, 0, 0,
3939  0, 0, 0, 122, 123, 0, 0, 0, 0, 0,
3940  124, 0, 0, 0, 125, 0, 0, 0, 0, 0,
3941  0, 0, 126, 0, 0, 0, 0, 0, 0, 0,
3942  0, 0, 127, 0, 0, 0, 113, 0, 0, 0,
3943  114, 128, 115, 0, 0, 0, 0, 0, 0, 0,
3944  129, 0, 116, 0, 0, 130, 131, 0, 0, 132,
3945  0, 133, 0, 0, 0, 0, 0, 0, 0, 134,
3946  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3947  117, 440, 982, 0, 441, 0, 0, 0, 0, 0,
3948  242, 0, 243, 118, 0, 0, 0, 244, 0, 0,
3949  136, 0, 0, 0, 0, 245, 137, 0, 0, 0,
3950  0, 138, 0, 0, 0, 0, 0, 0, 0, 0,
3951  0, 119, 120, 0, 0, 0, 0, 0, 0, 0,
3952  0, 0, 121, 0, 0, 0, 0, 139, 246, 247,
3953  0, 0, 0, 0, 0, 122, 123, 0, 248, 0,
3954  0, 0, 124, 0, 0, 0, 125, 0, 442, 249,
3955  0, 0, 250, 0, 126, 0, 0, 0, 0, 0,
3956  0, 0, 0, 0, 127, 444, 251, 0, 0, 0,
3957  0, 0, 0, 128, 0, 0, 0, 0, 643, 0,
3958  0, 0, 129, 0, 0, 0, 0, 130, 131, 252,
3959  0, 132, 0, 133, 0, 0, 0, 253, 0, 254,
3960  0, 134, 0, 0, 0, 0, 255, 0, 256, 257,
3961  258, 259, 260, 261, 262, 263, 0, 264, 265, 266,
3962  0, 267, 268, 269, 270, 271, 272, 273, 274, 275,
3963  276, 0, 136, 0, 0, 0, 0, 0, 137, 0,
3964  0, 277, 0, 138, 0, 0, 278, 0, 0, 0,
3965  0, 0, 0, 0, 0, 0, 0, 445, 446, 447,
3966  0, 0, 0, 0, 0, 0, 448, 0, 0, 139,
3967  0, 0, 279, 0, 0, 0, 0, 0, 449, 280,
3968  0, 0, 281, 282, 0, 0, 0, 0, 0, 0,
3969  0, 0, 0, 283, 973, 0, 0, 0, 0, 0,
3970  284, 0, 285, 0, 0, 286, 0, 0, 0, 0,
3971  0, 450, 0, 0, 0, 0, 0, 451, 0, 452,
3972  0, 0, 453, 0, 454, 455, 456, 0, 0, 0,
3973  457, 0, 458, 0, 0, 0, 0, 459, 0, 0,
3974  0, 0, 0, 0, 0, 0, 0, 287, 0, 0,
3975  0, 288, 0, 289, 0, 0, 0, 0, 0, 440,
3976  0, 0, 441, 290, 0, 857, 858, 859, 0, 0,
3977  0, 460, 0, 860, 0, 0, 0, 0, 0, 0,
3978  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3979  461, 291, 0, 0, 0, 0, 0, 0, 0, 0,
3980  0, 0, 0, 0, 292, 0, 0, 0, 0, 0,
3981  0, 0, 0, 0, 0, 0, 0, 462, 0, 0,
3982  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3983  0, 0, 293, 0, 0, 0, 442, 0, 0, 0,
3984  0, 0, 0, 294, 0, 0, 0, 463, 0, 0,
3985  0, 0, 0, 444, 0, 0, 0, 295, 0, 0,
3986  0, 0, 0, 296, 0, 0, 0, 297, 0, 0,
3987  0, 0, 0, 0, 0, 298, 0, 0, 0, 0,
3988  0, 0, 0, 0, 0, 299, 464, 0, 0, 0,
3989  0, 0, 0, 0, 300, 0, 0, 0, 465, 466,
3990  0, 0, 0, 301, 0, 0, 0, 0, 302, 303,
3991  0, 0, 304, 861, 305, 0, 0, 0, 0, 0,
3992  0, 0, 306, 862, 0, 0, 0, 0, 0, 0,
3993  0, 0, 467, 0, 0, 307, 0, 0, 0, 0,
3994  0, 0, 468, 0, 0, 445, 446, 447, 0, 0,
3995  0, 0, 0, 308, 448, 0, 0, 0, 0, 309,
3996  863, 864, 469, 0, 310, 0, 449, 470, 0, 0,
3997  0, 0, 0, 471, 0, 434, 0, 0, 0, 0,
3998  0, 472, 0, 0, 0, 0, 1195, 0, 0, 0,
3999  311, 0, 0, 0, 0, 0, 0, 0, 0, 450,
4000  865, 866, 0, 0, 0, 451, 0, 452, 0, 0,
4001  453, 0, 454, 455, 456, 0, 0, 0, 457, 0,
4002  458, 0, 0, 0, 0, 459, 0, 0, 0, 0,
4003  0, 0, 0, 0, 0, 0, 0, 0, 867, 440,
4004  0, 0, 441, 0, 868, 857, 858, 859, 0, 869,
4005  0, 0, 0, 860, 0, 0, 0, 870, 0, 460,
4006  0, 0, 0, 0, 871, 0, 0, 0, 0, 872,
4007  0, 0, 0, 0, 0, 0, 0, 0, 461, 0,
4008  0, 0, 0, 0, 0, 0, 0, 0, 873, 0,
4009  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4010  0, 0, 0, 0, 0, 462, 0, 0, 0, 0,
4011  0, 0, 0, 0, 0, 0, 442, 0, 0, 0,
4012  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4013  0, 0, 0, 444, 0, 463, 0, 0, 0, 0,
4014  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4015  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4016  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4017  0, 0, 0, 0, 464, 0, 0, 0, 0, 0,
4018  0, 0, 0, 0, 0, 0, 465, 466, 0, 0,
4019  0, 0, 0, 861, 0, 0, 0, 0, 0, 0,
4020  0, 0, 0, 862, 0, 0, 0, 0, 874, 0,
4021  875, 0, 876, 0, 0, 877, 0, 878, 879, 880,
4022  467, 0, 881, 882, 0, 445, 446, 447, 0, 0,
4023  468, 0, 0, 0, 448, 0, 0, 0, 0, 0,
4024  863, 864, 0, 0, 0, 0, 449, 0, 0, 0,
4025  469, 0, 0, 0, 0, 470, 0, 0, 0, 0,
4026  0, 471, 0, 434, 0, 0, 0, 0, 0, 472,
4027  0, 0, 0, 0, 0, 0, 0, 0, 0, 450,
4028  865, 866, 0, 0, 0, 451, 0, 452, 0, 0,
4029  453, 0, 454, 455, 456, 0, 0, 0, 457, 0,
4030  458, 0, 0, 0, 0, 459, 0, 0, 0, 0,
4031  0, 0, 0, 0, 0, 0, 0, 0, 867, 0,
4032  0, 0, 0, 0, 868, 0, 0, 440, 0, 869,
4033  441, 0, 0, 0, 0, 0, 0, 870, 0, 460,
4034  0, 0, 0, 0, 871, 0, 0, 0, 0, 872,
4035  0, -942, 0, 0, 0, 0, -942, 0, 461, -942,
4036  0, 0, 0, 0, 0, 0, -942, -942, 873, 0,
4037  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4038  0, 0, 0, 0, 0, 462, -942, 0, -942, 0,
4039  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4040  0, 0, 0, 0, 442, 0, 0, 0, 0, 0,
4041  0, 0, 0, -942, 0, 463, 0, 0, 0, 0,
4042  0, 444, 0, 0, 440, 0, 0, 441, 0, 0,
4043  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4044  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4045  0, 0, 0, 0, 464, 0, 0, 0, 0, 0,
4046  0, 0, 0, 0, 0, 0, 465, 466, 0, 0,
4047  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4048  0, 0, -942, 0, 0, 0, 0, 0, 874, 0,
4049  875, 0, 876, 0, 0, 877, 0, 878, 879, 880,
4050  467, 442, 881, 882, 0, 0, 0, 0, 0, 0,
4051  468, -942, 0, 445, 446, 447, 0, 0, 444, 0,
4052  0, 0, 448, 0, 0, 0, 440, 0, 0, 441,
4053  469, 0, 0, -942, 449, 470, 0, 0, 0, 0,
4054  0, 471, 0, 434, 0, 0, 0, 0, 0, 472,
4055  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4056  0, 0, 0, 0, 0, 0, 0, 450, 0, 0,
4057  0, 1267, 0, 451, -942, 452, 0, 0, 453, 0,
4058  454, 455, 456, 0, 0, 0, 457, -942, 458, 0,
4059  0, 0, 0, 459, -942, 0, 0, 0, 0, 0,
4060  0, 0, 0, 442, 0, 0, 0, 0, 0, 0,
4061  445, 446, 447, 0, 0, 443, 0, 0, 0, 448,
4062  444, 0, -942, 0, 0, 0, 0, 460, 0, 0,
4063  0, 449, 0, 440, 0, 0, 441, 0, 0, 0,
4064  0, 0, -942, 0, 0, 0, 461, 0, 0, 0,
4065  0, 0, 0, 0, 0, -942, 0, 0, 0, 0,
4066  0, 0, 0, 0, 450, 0, 0, 0, 0, 0,
4067  451, 0, 452, 462, 0, 453, 0, 454, 455, 456,
4068  0, 0, 0, 457, 0, 458, 0, 0, 0, 0,
4069  459, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4070  0, 0, 0, 463, -942, 0, 0, 0, 0, 0,
4071  442, 0, 445, 446, 447, 0, 0, -942, 0, 0,
4072  0, 448, 0, 0, 460, 0, 0, 444, 0, 0,
4073  0, 0, 0, 449, 0, 0, -942, 0, 0, 0,
4074  0, 0, 464, 461, 0, 0, 0, 0, 0, 0,
4075  0, 0, 0, 0, 465, 466, 0, 0, 0, 0,
4076  0, 0, 0, 0, 0, 0, 450, 0, 0, 0,
4077  462, 0, 451, 0, 452, 0, 0, 453, 0, 454,
4078  455, 456, 0, 0, 0, 457, 440, 458, 467, 441,
4079  0, 0, 459, 0, 0, 0, 0, 0, 468, 0,
4080  463, -942, 0, 0, 0, 0, 0, 0, 0, 0,
4081  0, 0, -942, 0, 0, 0, 0, 0, 469, 445,
4082  446, 447, 0, 470, 0, 0, 460, 0, 448, 471,
4083  -942, 434, 0, 0, 0, 0, 0, 472, 0, 464,
4084  449, 0, 0, 0, 0, 461, 0, 0, 0, 0,
4085  0, 465, 466, 0, 0, 0, 0, 0, 0, 0,
4086  0, 0, 0, 442, 0, 0, 0, 0, 0, 0,
4087  0, 0, 462, 450, 0, 583, 0, 0, 1268, 451,
4088  444, 452, 0, 0, 530, 467, 454, 455, 456, 1269,
4089  0, 0, 457, 0, 458, 468, 0, 0, 0, 459,
4090  0, 0, 463, 0, 0, 440, 0, 0, 441, 0,
4091  0, 0, 0, 0, 0, 469, 0, 0, 0, 0,
4092  470, 440, 0, 0, 441, 0, 471, 0, 434, 0,
4093  0, 0, 0, 460, 472, 0, 0, 0, 531, 0,
4094  0, 464, 0, 0, 0, 0, 0, 0, 0, 0,
4095  0, 0, 461, 465, 466, 0, 0, 0, 0, 0,
4096  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4097  0, 0, 445, 446, 447, 0, 0, 0, 0, 462,
4098  0, 448, 442, 0, 0, 0, 0, 467, 0, 0,
4099  0, 0, 0, 449, 0, 0, 0, 468, 442, 444,
4100  0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
4101  648, 0, 643, 0, 0, 444, 0, 469, 0, 0,
4102  0, 0, 470, 0, 0, 0, 450, 0, 471, 0,
4103  434, 0, 451, 0, 452, 0, 472, 453, 0, 454,
4104  455, 456, 0, 0, 0, 457, 0, 458, 464, 0,
4105  0, 0, 459, 0, 0, 0, 0, 0, 0, 0,
4106  465, 466, 0, 0, 0, 0, 0, 0, 0, 0,
4107  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4108  0, 0, 0, 0, 0, 0, 460, 0, 0, 0,
4109  0, 445, 446, 447, 467, 0, 0, 0, 0, 0,
4110  448, 0, 0, 0, 468, 461, 0, 445, 446, 447,
4111  0, 0, 449, 0, 440, 0, 448, 441, 0, 0,
4112  0, 0, 0, 0, 469, 0, 0, 0, 449, 470,
4113  0, 0, 462, 0, 0, 471, 0, 434, 0, 0,
4114  0, 0, 0, 472, 0, 450, 0, 0, 0, 0,
4115  0, 451, 0, 452, 0, 0, 453, 0, 454, 455,
4116  456, 450, 463, 0, 457, 0, 458, 451, 0, 452,
4117  0, 459, 453, 0, 454, 455, 456, 0, 0, 0,
4118  457, 0, 458, 0, 0, 0, 0, 459, 0, 0,
4119  0, 442, 0, 0, 0, 0, 0, 0, 0, 0,
4120  0, 464, 0, 0, 0, 460, 0, 0, 444, 0,
4121  0, 0, 0, 465, 466, 0, 0, 0, 0, 0,
4122  0, 460, 0, 0, 461, 0, 0, 0, 0, 0,
4123  0, 0, 0, 440, 0, 0, 441, 0, 0, 0,
4124  461, 0, 0, 0, 0, 0, 0, 467, 0, 440,
4125  0, 462, 441, 0, 0, 0, 0, 468, 0, 0,
4126  0, 0, 0, 0, 0, 0, 0, 462, 0, 0,
4127  0, 0, 0, 0, 0, 0, 0, 469, 0, 0,
4128  0, 463, 470, 0, 0, 0, 0, 0, 471, 0,
4129  434, 0, 0, 0, 0, 0, 472, 463, 0, 0,
4130  445, 446, 447, 0, 0, 0, 0, 0, 0, 448,
4131  442, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4132  464, 449, 0, 0, 0, 0, 442, 444, 0, 0,
4133  0, 0, 465, 466, 0, 0, 464, 0, 0, 0,
4134  0, 0, 0, 444, 0, 0, 0, 0, 465, 466,
4135  0, 0, 0, 0, 450, 0, 0, 0, 0, 0,
4136  451, 0, 452, 0, 0, 453, 467, 454, 455, 456,
4137  0, 0, 0, 457, 0, 458, 468, 0, 0, 0,
4138  459, 0, 467, 0, 0, 0, 440, 0, 0, 441,
4139  0, 0, 468, 0, 0, 0, 469, 0, 0, 0,
4140  0, 470, 0, 0, 0, 0, 0, 471, 0, 434,
4141  0, 0, 469, 0, 460, 472, 0, 470, 0, 445,
4142  446, 447, 0, 471, 0, 434, 0, 0, 448, 0,
4143  0, 472, 0, 461, 0, 445, 446, 447, 0, 978,
4144  449, 0, 0, 0, 448, 0, 0, 0, 0, 0,
4145  0, 0, 0, 0, 0, 0, 449, 0, 0, 0,
4146  462, 0, 0, 442, 0, 0, 0, 0, 0, 0,
4147  0, 0, 0, 450, 0, 0, 0, 0, 0, 451,
4148  444, 452, 0, 0, 453, 0, 454, 455, 456, 450,
4149  463, 0, 457, 0, 458, 451, 0, 452, 0, 459,
4150  453, 0, 454, 455, 456, 0, 0, 0, 457, 0,
4151  458, 0, 0, 0, 0, 459, 0, 0, 0, 0,
4152  0, 440, 0, 0, 441, 0, 0, 0, 0, 464,
4153  0, 0, 0, 460, 0, 0, 0, 0, 531, 0,
4154  0, 465, 466, 0, 0, 0, 0, 0, 0, 460,
4155  0, 0, 461, 0, 0, 0, 0, 0, 0, 0,
4156  0, 776, 0, 0, 0, 0, 0, 0, 461, 0,
4157  0, 0, 445, 446, 447, 467, 0, 0, 0, 462,
4158  0, 448, 0, 0, 0, 468, 0, 0, 0, 0,
4159  0, 0, 0, 449, 0, 462, 0, 0, 442, 0,
4160  0, 0, 0, 0, 0, 469, 0, 0, 0, 463,
4161  470, 0, 0, 0, 0, 444, 471, 0, 434, 0,
4162  1125, 0, 0, 441, 472, 463, 450, 0, 0, 0,
4163  0, 0, 451, 0, 452, 0, 0, 453, 0, 454,
4164  455, 456, 0, 0, 0, 457, 0, 458, 464, 0,
4165  0, 0, 459, 0, 0, 0, 0, 0, 0, 0,
4166  465, 466, 0, 0, 464, 0, 0, 0, 0, 0,
4167  0, 0, 0, 0, 0, 0, 465, 466, 0, 0,
4168  0, 0, 0, 0, 0, 0, 460, 0, 0, 0,
4169  0, 0, 0, 0, 467, 0, 0, 442, 0, 0,
4170  0, 0, 0, 0, 468, 461, 0, 445, 446, 447,
4171  467, 0, 0, 0, 444, 0, 448, 0, 0, 0,
4172  468, 0, 0, 0, 469, 0, 0, 0, 449, 470,
4173  0, 0, 462, 0, 0, 471, 0, 434, 0, 0,
4174  469, 0, 0, 472, 0, 470, 0, 0, 0, 0,
4175  0, 471, 0, 434, 0, 0, 0, 0, 0, 472,
4176  0, 450, 463, 0, 0, 0, 0, 451, 0, 452,
4177  0, 0, 453, 0, 454, 455, 456, 0, 0, 0,
4178  457, 0, 458, 0, 0, 0, 0, 459, 0, 0,
4179  0, 0, 0, 0, 0, 1288, 0, 0, 0, 0,
4180  0, 464, 0, 0, 0, 0, 445, 446, 447, 0,
4181  0, 0, 0, 465, 466, 448, 0, 0, 0, 0,
4182  0, 460, 0, 0, 0, 0, 0, 449, 0, 0,
4183  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4184  461, 0, 0, 0, 0, 0, 0, 467, 0, 0,
4185  0, 0, 0, 0, 0, 0, 0, 468, 0, 0,
4186  450, 0, 0, 0, 0, 0, 451, 462, 452, 0,
4187  0, 453, 0, 454, 455, 456, 0, 469, 0, 457,
4188  0, 458, 470, 0, 0, 0, 459, 0, 471, 0,
4189  434, 0, 0, 0, 0, 0, 472, 463, 0, 0,
4190  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4191  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4192  460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4193  0, 0, 0, 0, 0, 0, 464, 0, 0, 461,
4194  0, 0, 0, 0, 0, 0, 0, 0, 465, 466,
4195  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4196  0, 0, 0, 2379, 0, 0, 462, 0, 0, 0,
4197  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4198  0, 0, 467, 0, 0, 0, 0, 0, 0, 0,
4199  0, 0, 468, 0, -362, 0, 463, -362, 0, 0,
4200  -362, -362, -362, -362, -362, -362, -362, -362, -362, 0,
4201  0, 0, 469, 0, 0, 0, 0, 470, 0, 0,
4202  0, 0, 0, 471, 0, 434, 0, -362, 0, -362,
4203  0, 472, 0, 0, 0, 464, -362, 0, -362, -362,
4204  -362, -362, -362, -362, -362, 0, 0, 465, 466, 0,
4205  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4206  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4207  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4208  0, 467, -362, 0, 0, 0, 0, 0, 0, 0,
4209  0, 468, 0, 0, 0, 0, 0, 0, 0, 0,
4210  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4211  0, 469, 0, 0, 0, 0, 470, 0, 0, 0,
4212  0, 0, 471, -362, 434, 0, 0, 0, 0, 0,
4213  472, 0, 0, 0, 0, 0, 0, 0, 1002, 0,
4214  0, -362, -362, -362, -362, -362, 0, 0, -362, -362,
4215  0, 0, -362, 0, 0, 0, 0, 0, -362, 0,
4216  -362, 0, 0, 0, 0, 0, -362, 0, 0, 0,
4217  0, -362, 0, 0, -362, 0, 0, 0, 0, 0,
4218  0, 0, -362, 0, 0, 0, 0, 0, 0, 0,
4219  0, 0, 0, 0, 0, -362, 0, 0, -362, 0,
4220  0, 0, 0, 0, -362, 0, -362, 0, 0, 0,
4221  0, 0, 0, 0, 0, -362, 0, 0, 0, 0,
4222  0, 1001, 0, 0, 0, 0, 0, 0, -362, 0,
4223  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4224  -362, -362, 0, 0, 0, 0, 0, 0, 0, 0,
4225  0, 441, 0, 0, 0, 0, -362, 0, 0, -362,
4226  -362, -362, -362, -362, -362, -362, 0, 0, 0, 0,
4227  -362, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4228  0, 0, 0, -362, -362, 0, 0, 0, 0, 0,
4229  0, 0, -362, 0, -362, -362, -362, -362, -362, -362,
4230  -362, -362, -362, 0, 0, 0, 0, 0, 0, 0,
4231  -362, 0, -362, 0, 0, 0, 0, 0, 0, 0,
4232  0, 0, 0, 0, 0, 442, 0, 0, 0, 0,
4233  0, 0, 0, 0, 0, 0, 0, 0, -362, 0,
4234  -362, 0, 444, 0, 0, -362, 0, 0, 0, 0,
4235  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4236  0, 0, -362, 0, 0, 0, 0, 0, 0, 0,
4237  0, 0, -362, 0, -362, -362, -362, 0, 0, 0,
4238  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4239  0, 0, -362, 0, 0, 0, 1002, 0, 0, -362,
4240  -362, -362, -362, -362, 0, 0, -362, -362, 0, 0,
4241  0, 0, 0, 0, 0, -362, 0, 0, 0, 0,
4242  -362, 0, 0, 0, -362, -362, 0, 0, 0, 0,
4243  0, 0, 0, 0, 445, 446, 447, -362, 0, 0,
4244  -362, 0, -362, 448, 0, 0, -362, -362, -362, 0,
4245  0, 0, 0, -362, 0, 449, -362, 0, 0, 0,
4246  -362, 0, -362, 0, 0, -362, -362, 0, 0, 0,
4247  0, 0, 1003, 0, 0, 0, 0, 0, 0, 0,
4248  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4249  0, 0, 0, 0, 0, 0, 0, 0, -362, 453,
4250  0, 454, 455, 456, 0, 0, 0, 457, 0, 458,
4251  442, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4252  0, 0, 0, 0, 0, 0, 0, 444, -362, 0,
4253  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4254  0, 0, -362, 0, 0, 0, 0, 0, 460, 0,
4255  -362, 0, 0, -362, 0, 1865, 0, 0, 0, 0,
4256  0, 0, 0, 0, 0, 0, 0, 0, -362, 0,
4257  1866, 0, 0, 1867, 1868, 1869, 1870, 1871, 1872, 1873,
4258  0, -362, 0, 0, 0, 0, 0, 0, 0, -362,
4259  0, 0, 0, 0, 462, 0, 0, 0, 0, 0,
4260  0, 0, 0, 0, 0, 0, 0, 0, 1874, 0,
4261  1875, 1876, 1877, 1878, 1879, 1880, 1881, 0, 0, 445,
4262  446, 447, 0, 0, 463, 0, 0, 0, 448, 0,
4263  -362, 0, -362, -362, -362, 0, 0, 0, 0, 0,
4264  449, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4265  0, 0, 0, 0, 1882, 0, 0, 0, 0, -362,
4266  0, 0, 0, 464, 1065, 0, -1882, 0, 0, -1882,
4267  0, 0, -1882, 0, 0, 465, 466, 0, -362, 0,
4268  -1882, 0, 0, 0, 453, 0, 454, 455, 456, 0,
4269  0, 0, 457, 0, 458, -362, 0, 0, 0, -1773,
4270  0, -1773, 0, 0, -362, -362, -362, 0, 0, 467,
4271  0, 0, 0, 1883, 1884, 1885, 1886, 1887, -362, 468,
4272  1888, 1889, 0, 0, -362, 0, -1882, 0, 0, 0,
4273  1003, 0, 0, 460, 0, 0, 0, 0, 0, 469,
4274  0, 0, 0, 0, 470, -1882, 0, 0, 0, 0,
4275  471, 0, 434, 0, 1890, 0, 0, 0, 472, 0,
4276  0, 0, 0, 0, 0, 0, 0, 405, 0, 0,
4277  1891, 0, 0, 0, 0, 0, -1858, 0, 0, 462,
4278  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4279  0, 0, 0, 0, 0, 0, 0, 1711, 0, 441,
4280  0, 0, 0, 0, 462, 0, 0, 485, 0, 466,
4281  0, 486, 487, 0, 0, 0, 443, 0, 0, 467,
4282  0, 0, 0, 0, 0, 0, 0, 0, 444, 445,
4283  446, 0, 0, 0, 0, 0, 0, 447, 0, 468,
4284  0, 0, 0, 463, 469, 0, 0, 0, 0, 448,
4285  470, 0, 433, 0, 0, 464, 465, 0, 471, 0,
4286  0, 0, 0, 1714, 0, 0, 0, 0, 0, 0,
4287  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4288  0, 0, 0, 0, 0, 0, 0, 0, 0, 463,
4289  0, 0, 1892, 0, 0, 0, 0, 0, 0, 0,
4290  0, 0, 0, 0, -1882, 0, 0, 0, 0, 0,
4291  0, 1066, -1882, 0, 0, 0, 0, 0, 0, 0,
4292  0, 0, 1893, 0, 0, 0, -1882, 0, 464, 0,
4293  0, 0, 0, 0, 0, 0, 1894, 0, 0, 0,
4294  465, 466, 0, 0, 1895, 0, 0, 1896, 0, 0,
4295  0, 0, 0, 0, 0, 0, 0, 0, -1882, 0,
4296  0, 0, 1897, 0, 0, 0, 0, -1773, 0, 0,
4297  0, 0, 0, 0, 467, 1898, 0, 0, -1882, 0,
4298  -1882, 0, 0, 1899, 468, 0, 0, 1067, 0, 0,
4299  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4300  0, 0, -1882, -1882, 469, 0, 0, 0, 0, 470,
4301  0, 0, 0, 0, 0, 471, 0, 434, 0, 0,
4302  0, 0, 0, 472, 1900, 0, 1901, 1902, 1903, 0,
4303  0, 0, 0, 0, 0, -1882, 0, 0, 0, 0,
4304  0, 0, 0, 0, 0, 0, 0, 0, -1773, 0,
4305  0, 0, 0, 1904, 0, 0, 0, 0, 0, 0,
4306  0, 0, 0, 0, -1882, -1882, 0, 0, 0, 0,
4307  0, 0, -359, 0, 0, 0, 0, 0, 0, 0,
4308  0, 0, 0, 0, 0, 0, 0, 0, 0, -1858,
4309  -1882, 0, 0, 0, 0, 0, 0, -1882, 1905, 1906,
4310  1907, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4311  -1882, 0, 1908, 2489, -1882, 0, 2490, 0, 1909, 2491,
4312  1867, 1868, 1869, 1870, 1871, 1872, 2492, 2493, 1405, -1882,
4313  0, 1406, 0, 0, 1407, 0, 0, 0, 0, 0,
4314  0, 0, 1408, 0, 0, 0, 1398, 0, 1399, 0,
4315  0, 0, 0, 0, 0, 1874, -1882, 1875, 1876, 1877,
4316  1878, 1879, 1880, 1881, 0, -1882, 0, 0, 0, 0,
4317  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4318  0, 0, 0, 0, 0, 0, 0, 0, 1409, 0,
4319  0, 0, 0, 0, -1882, 1867, 1868, 1869, 1870, 1871,
4320  1872, 1882, 0, 0, -1882, 0, 0, 1410, 0, 0,
4321  -1882, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4322  0, 0, 0, 596, 0, 0, 0, 0, 0, 0,
4323  1874, 0, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 0,
4324  0, 0, 2494, 0, 0, 0, 0, 0, 0, 0,
4325  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4326  1883, 1884, 1885, 1886, 1887, 0, 0, 1888, 1889, 0,
4327  0, 2495, 0, 0, 0, 0, 1882, 2496, 0, 2497,
4328  0, 0, 0, 0, 0, -1808, 1411, 0, 0, 0,
4329  2498, 0, 0, 2499, 1412, 0, 0, 0, 0, 0,
4330  0, 1890, 0, 0, 0, 0, 0, 0, 1413, 0,
4331  0, 0, 0, 0, 405, 0, 0, 1891, 0, 0,
4332  0, 0, 0, 0, 0, 2500, 0, 0, 0, 0,
4333  0, 0, 0, 0, 2501, 1883, 1884, 1885, 1886, 1887,
4334  1414, 0, 1888, 1889, 0, 0, 0, 2502, 0, 0,
4335  0, 0, 0, 0, 0, 0, 0, 0, 0, 1892,
4336  1415, 0, 1416, 0, 0, 0, 0, 0, 0, 0,
4337  0, 0, 0, 0, 0, 0, 1890, 0, 0, 0,
4338  0, 0, 0, 0, 1417, 1418, 0, 0, 0, 2503,
4339  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4340  0, 0, 2504, 1894, 0, 0, 0, 0, 0, 0,
4341  0, 1895, 0, 0, 1896, 0, 0, 1419, 0, 0,
4342  0, 0, 0, 0, 0, 0, 0, 0, 0, 1897,
4343  0, 2505, 442, 0, 1892, 0, 0, 0, 0, 0,
4344  0, 0, 0, 0, 0, 0, 1420, 1421, 0, 444,
4345  0, 0, 0, 0, 0, 0, 0, 2506, 0, 0,
4346  0, 0, 0, 0, 2507, 0, 0, 0, 0, 0,
4347  0, 0, 1422, 0, 0, 0, 0, 0, 1894, 1423,
4348  0, 2508, 0, 0, 0, 0, 0, 0, 0, 1896,
4349  0, 1900, 1424, 1901, 1902, 1903, 1425, 0, 0, 0,
4350  0, 0, 442, 0, 1897, 0, 0, 0, 0, 0,
4351  0, 1426, 0, 0, 0, 0, 0, 0, 442, 444,
4352  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4353  0, 0, 0, 0, 2509, 444, 0, 0, 1427, -614,
4354  0, 445, 446, 447, 2510, 0, 0, 1428, 0, 0,
4355  448, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4356  0, 2511, 449, 0, 0, 1905, 1906, 1907, 1901, 1902,
4357  1903, 0, 0, 0, 0, 0, 1429, 0, 0, 1908,
4358  0, 0, 0, 0, 2512, 1909, 1430, 0, 0, 0,
4359  0, 0, 1431, 0, 0, 485, 0, 0, 0, 0,
4360  0, 451, 0, 452, 0, 0, 453, 0, 454, 455,
4361  456, 445, 446, 447, 457, 0, 458, 0, 0, 0,
4362  448, 0, 0, 0, 0, 0, 0, 445, 446, 447,
4363  0, 0, 449, 0, 0, 0, 448, 0, 0, 0,
4364  1905, 1906, 1907, 0, 0, 0, 0, 0, 449, 0,
4365  0, 0, 0, 0, 0, 460, 0, 0, 0, 0,
4366  0, 0, 0, 0, 0, 485, 0, 0, 0, 0,
4367  0, 451, 0, 452, 461, 0, 453, 0, 454, 455,
4368  456, 485, 0, 0, 457, 0, 458, 451, 0, 452,
4369  0, 0, 453, 0, 454, 455, 456, 0, 0, 0,
4370  457, 462, 458, 0, 0, 0, 0, 0, 0, 0,
4371  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4372  0, 0, 0, 0, 0, 460, 0, 0, 0, 0,
4373  0, 463, 0, 0, 0, 0, 0, 0, 0, 0,
4374  0, 460, 0, 0, 461, 0, 0, 0, 0, 0,
4375  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4376  461, 0, 442, 0, 0, 0, 0, 0, 0, 0,
4377  464, 462, 0, 0, 0, 0, 0, 0, 0, 444,
4378  0, 0, 465, 466, 0, 0, 0, 462, 0, 0,
4379  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4380  0, 463, 0, 0, 1109, 0, 0, 0, 0, 0,
4381  0, 0, 0, 0, 486, 0, 467, 463, 487, 488,
4382  0, 0, 0, 0, 0, 0, 468, 0, 0, 0,
4383  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4384  464, 0, 0, 0, 0, 0, 469, 0, 0, 0,
4385  0, 470, 465, 466, 0, 0, 464, 471, 0, 434,
4386  0, 442, 0, 0, 0, 472, 0, 0, 465, 466,
4387  0, 445, 446, 447, 1710, 0, 1713, 0, 444, 0,
4388  448, 0, 0, 0, 486, 0, 467, 0, 487, 488,
4389  0, 0, 449, 0, 0, 0, 468, 0, 0, 0,
4390  486, 0, 467, 442, 487, 488, 0, 0, 0, 0,
4391  0, 0, 468, 0, 0, 0, 469, 0, 0, 0,
4392  444, 470, 0, 0, 0, 485, 0, 471, 0, 434,
4393  0, 451, 469, 452, 0, 472, 453, 470, 454, 455,
4394  456, 0, 0, 471, 457, 434, 458, 0, 0, 0,
4395  0, 472, 0, 0, 0, 0, 0, 0, 0, 0,
4396  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4397  445, 446, 447, 0, 0, 0, 0, 0, 0, 448,
4398  0, 0, 0, 0, 0, 460, 0, 0, 0, 0,
4399  0, 449, 0, 0, 0, 0, 0, 0, 0, 0,
4400  0, 0, 0, 0, 461, 0, 0, 0, 0, 0,
4401  0, 0, 445, 446, 447, 0, 0, 0, 0, 0,
4402  0, 448, 0, 0, 485, 0, 0, 0, 0, 0,
4403  451, 462, 452, 449, 0, 453, 0, 454, 455, 456,
4404  0, 0, 0, 457, 0, 458, 0, 0, 0, 0,
4405  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4406  0, 463, 0, 0, 0, 0, 485, 0, 0, 0,
4407  0, 0, 451, 0, 452, 0, 0, 453, 0, 454,
4408  455, 456, 0, 0, 460, 457, 0, 458, 0, 0,
4409  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4410  464, 0, 0, 461, 0, 0, 0, 0, 0, 0,
4411  0, 0, 465, 466, 0, 0, 0, 0, 0, 0,
4412  1715, 0, 0, 0, 0, 0, 460, 0, 0, 0,
4413  462, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4414  0, 0, 0, 0, 486, 461, 467, 442, 487, 488,
4415  0, 0, 0, 0, 0, 0, 468, 0, 0, 0,
4416  463, 0, 0, 442, 444, 0, 0, 0, 0, 0,
4417  0, 0, 462, 0, 0, 0, 469, 0, 0, 0,
4418  444, 470, 0, 0, 0, 0, 0, 471, 0, 434,
4419  0, 0, 0, 0, 0, 472, 0, 0, 0, 464,
4420  0, 0, 463, 0, 0, 0, 0, 0, 0, 0,
4421  0, 465, 466, 0, 0, 0, 0, 0, 0, 0,
4422  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4423  0, 0, 0, 1731, 0, 0, 0, 0, 0, 0,
4424  0, 464, 0, 486, 0, 467, 0, 487, 488, 442,
4425  0, 0, 0, 465, 466, 468, 445, 446, 447, 0,
4426  0, 0, 0, 0, 0, 448, 444, 0, 0, 0,
4427  0, 0, 445, 446, 447, 469, 0, 449, 0, 0,
4428  470, 448, 0, 0, 0, 486, 471, 467, 434, 487,
4429  488, 0, 0, 449, 472, 0, 0, 468, 0, 0,
4430  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4431  485, 0, 0, 0, 0, 0, 451, 469, 452, 0,
4432  0, 453, 470, 454, 455, 456, 485, 0, 471, 457,
4433  434, 458, 451, 442, 452, 0, 472, 453, 0, 454,
4434  455, 456, 0, 0, 0, 457, 0, 458, 0, 0,
4435  444, 0, 0, 0, 0, 0, 0, 0, 445, 446,
4436  447, 0, 0, 0, 0, 0, 0, 448, 442, 0,
4437  460, 0, 0, 0, 0, 0, 0, 0, 0, 449,
4438  0, 0, 0, 0, 0, 444, 460, 0, 0, 461,
4439  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4440  0, 0, 0, 0, 0, 461, 0, 0, 0, 0,
4441  0, 0, 485, 0, 0, 0, 462, 0, 451, 0,
4442  452, 0, 0, 453, 0, 454, 455, 456, 0, 0,
4443  0, 457, 462, 458, 0, 0, 0, 0, 0, 0,
4444  0, 594, 445, 446, 447, 0, 463, 0, 0, 0,
4445  0, 448, 0, 0, 0, 0, 0, 0, 2740, 0,
4446  0, 0, 463, 0, 0, 0, 0, 0, 0, 0,
4447  0, 0, 460, 0, 0, 0, 594, 445, 446, 447,
4448  0, 0, 0, 0, 0, 464, 448, 0, 0, 0,
4449  0, 461, 0, 0, 0, 0, 0, 465, 466, 0,
4450  0, 464, 0, 0, 0, 0, 0, 595, 0, 454,
4451  455, 456, 0, 465, 466, 457, 0, 0, 462, 0,
4452  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4453  0, 467, 0, 487, 0, 0, 0, 0, 0, 0,
4454  0, 468, 804, 0, 454, 455, 456, 467, 463, 0,
4455  457, 0, 0, 0, 0, 0, 460, 468, 0, 0,
4456  0, 469, 0, 0, 0, 0, 470, 0, 0, 0,
4457  0, 0, 471, 0, 434, 0, 0, 469, 0, 0,
4458  472, 0, 470, 0, 0, 0, 0, 464, 471, 0,
4459  434, 460, 0, 0, 0, 0, 472, 0, 0, 465,
4460  466, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4461  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4462  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4463  0, 0, 463, 467, 0, 0, 0, 0, 0, 0,
4464  0, 0, 0, 468, 0, 0, 0, 0, 0, 0,
4465  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4466  0, 0, 0, 469, 0, 0, 0, 463, 470, 0,
4467  0, 0, 0, 0, 471, 0, 434, 0, 0, 0,
4468  0, 0, 472, 465, 466, 0, 0, 0, 0, 0,
4469  0, 0, 0, 0, 0, 0, -1882, 0, 0, 0,
4470  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4471  0, 0, 0, 0, 0, 0, 0, 0, 465, 466,
4472  0, 0, 0, 0, 0, 0, 0, 468, 0, 0,
4473  0, -1882, 0, 0, 0, 0, 0, 0, -1149, 0,
4474  0, 0, 0, 0, 0, 0, 0, 469, 0, 0,
4475  0, 0, 470, 0, 0, -1149, 0, 0, 471, 596,
4476  434, 0, 468, 0, 0, 0, 0, 0, 0, 0,
4477  0, 0, 0, -1149, 0, 0, 0, 0, 0, 0,
4478  0, 0, 469, 0, 0, 0, 0, 470, 0, 0,
4479  -1149, 0, 0, 471, 596, 434
4480 };
4481 
4482 static const yytype_int16 yycheck[] =
4483 {
4484  209, 210, 441, 322, 213, 518, 362, 923, 643, 1197,
4485  406, 414, 408, 197, 39, 411, 450, 1647, 205, 325,
4486  529, 1452, 1401, 1235, 211, 1404, 235, 1707, 1338, 633,
4487  1257, 1672, 337, 1909, 1302, 861, 772, 17, 852, 1,
4488  349, 327, 525, 642, 316, 0, 782, 1, 1, 335,
4489  620, 485, 313, 335, 315, 1, 1283, 318, 525, 9,
4490  1, 322, 58, 349, 9, 22, 9, 349, 0, 9,
4491  9, 56, 88, 1963, 1964, 6, 337, 58, 115, 1548,
4492  58, 125, 343, 9, 87, 49, 1633, 31, 17, 111,
4493  1948, 97, 98, 2320, 1155, 124, 153, 1316, 124, 71,
4494  71, 111, 9, 364, 613, 366, 1076, 315, 177, 31,
4495  176, 130, 320, 64, 1084, 582, 93, 1282, 1179, 327,
4496  320, 27, 175, 226, 50, 723, 838, 335, 166, 142,
4497  9, 2313, 130, 58, 1962, 319, 49, 321, 73, 126,
4498  1386, 349, 838, 97, 203, 203, 750, 33, 1695, 1696,
4499  1697, 1698, 1699, 0, 21, 638, 315, 242, 1705, 233,
4500  344, 214, 346, 203, 238, 48, 2204, 351, 177, 776,
4501  242, 638, 1233, 173, 383, 88, 1537, 233, 233, 58,
4502  203, 365, 443, 272, 139, 2438, 395, 1618, 143, 1956,
4503  189, 2454, 401, 402, 513, 404, 108, 363, 6, 200,
4504  409, 410, 245, 49, 26, 414, 203, 139, 2062, 322,
4505  116, 143, 1759, 360, 215, 245, 572, 219, 2290, 125,
4506  257, 1768, 71, 307, 1771, 486, 487, 488, 219, 501,
4507  233, 1292, 162, 27, 399, 6, 65, 172, 67, 846,
4508  235, 411, 450, 415, 460, 200, 359, 416, 71, 6,
4509  511, 245, 513, 199, 461, 2145, 201, 291, 172, 338,
4510  215, 1622, 172, 411, 460, 0, 272, 465, 200, 752,
4511  213, 350, 470, 559, 22, 471, 233, 485, 486, 487,
4512  488, 315, 168, 215, 570, 21, 2210, 213, 345, 692,
4513  204, 507, 387, 458, 204, 651, 465, 397, 229, 178,
4514  2372, 470, 171, 510, 315, 188, 160, 914, 704, 2562,
4515  304, 483, 520, 483, 257, 317, 463, 257, 309, 245,
4516  246, 755, 116, 320, 267, 1794, 1795, 486, 487, 488,
4517  900, 257, 516, 339, 275, 483, 420, 598, 504, 822,
4518  779, 267, 2196, 527, 630, 346, 154, 363, 630, 635,
4519  1991, 559, 71, 71, 989, 953, 2394, 226, 381, 620,
4520  290, 292, 570, 242, 453, 234, 353, 1635, 215, 368,
4521  257, 978, 415, 428, 196, 1189, 2639, 1203, 1192, 813,
4522  311, 288, 268, 229, 71, 415, 1212, 648, 71, 160,
4523  475, 346, 2316, 2160, 371, 2223, 454, 397, 2256, 363,
4524  503, 2583, 458, 475, 1631, 213, 312, 402, 34, 352,
4525  469, 1472, 620, 983, 346, 49, 257, 517, 49, 176,
4526  407, 534, 630, 932, 253, 360, 352, 635, 426, 469,
4527  468, 403, 403, 241, 359, 1796, 510, 1602, 448, 458,
4528  1686, 510, 213, 453, 510, 458, 1665, 315, 355, 257,
4529  363, 320, 393, 510, 1666, 406, 213, 510, 1170, 267,
4530  489, 2008, 2689, 489, 272, 509, 443, 1437, 490, 337,
4531  570, 421, 453, 510, 1170, 343, 487, 960, 421, 509,
4532  6, 690, 6, 455, 455, 233, 257, 465, 504, 698,
4533  751, 510, 470, 702, 681, 421, 267, 758, 759, 760,
4534  257, 510, 505, 458, 510, 334, 767, 768, 769, 770,
4535  267, 772, 458, 1083, 1849, 511, 725, 458, 503, 780,
4536  449, 782, 783, 1130, 467, 469, 458, 507, 463, 738,
4537  257, 792, 793, 794, 795, 796, 467, 2395, 9, 726,
4538  504, 467, 642, 751, 352, 851, 1181, 469, 510, 1148,
4539  758, 759, 760, 510, 403, 510, 510, 510, 819, 767,
4540  768, 769, 770, 1167, 772, 510, 516, 510, 776, 2459,
4541  510, 510, 780, 516, 782, 783, 776, 980, 510, 2048,
4542  403, 352, 450, 319, 792, 793, 794, 795, 796, 472,
4543  516, 504, 751, 460, 1862, 352, 475, 509, 510, 758,
4544  759, 760, 697, 509, 471, 459, 455, 257, 767, 768,
4545  769, 819, 1125, 421, 1949, 1018, 2540, 485, 486, 487,
4546  488, 780, 894, 510, 783, 911, 509, 123, 933, 911,
4547  32, 311, 455, 792, 793, 794, 795, 796, 846, 900,
4548  824, 510, 2283, 511, 39, 1128, 846, 908, 126, 749,
4549  421, 1712, 1222, 925, 253, 1058, 282, 283, 284, 467,
4550  819, 1128, 253, 924, 421, 311, 952, 1101, 160, 510,
4551  1586, 2454, 933, 271, 1272, 1273, 1274, 1275, 1276, 1277,
4552  1278, 1279, 323, 944, 403, 403, 2454, 213, 459, 213,
4553  253, 332, 900, 1263, 311, 30, 467, 154, 339, 340,
4554  908, 257, 510, 911, 257, 2553, 914, 807, 516, 1523,
4555  467, 1772, 973, 1774, 914, 9, 403, 358, 257, 114,
4556  403, 162, 983, 349, 460, 257, 1462, 331, 257, 363,
4557  598, 257, 363, 257, 332, 471, 455, 455, 838, 510,
4558  751, 267, 213, 267, 952, 516, 1807, 381, 2083, 908,
4559  381, 263, 509, 510, 257, 964, 767, 768, 769, 516,
4560  32, 333, 203, 257, 58, 30, 272, 458, 455, 780,
4561  978, 218, 455, 108, 126, 983, 288, 423, 978, 257,
4562  1841, 1842, 465, 510, 263, 458, 257, 470, 200, 516,
4563  258, 217, 218, 128, 2454, 394, 267, 2454, 1007, 291,
4564  65, 123, 67, 394, 296, 57, 2454, 57, 819, 288,
4565  2686, 237, 64, 352, 64, 38, 916, 263, 453, 510,
4566  172, 6, 1083, 46, 458, 103, 352, 458, 352, 2705,
4567  510, 394, 167, 1267, 475, 2062, 1097, 263, 275, 111,
4568  940, 2053, 1103, 238, 213, 207, 208, 473, 474, 290,
4569  1059, 2481, 478, 392, 189, 257, 2639, 1143, 1067, 2539,
4570  510, 2709, 288, 1050, 1051, 243, 966, 465, 503, 204,
4571  504, 2639, 470, 504, 1146, 1083, 12, 2212, 2421, 15,
4572  16, 352, 421, 751, 1519, 247, 248, 217, 257, 1097,
4573  758, 759, 760, 510, 2204, 421, 537, 421, 267, 767,
4574  768, 769, 770, 62, 772, 509, 2449, 237, 2538, 1516,
4575  551, 1518, 780, 6, 782, 783, 507, 85, 1126, 213,
4576  2600, 427, 1130, 429, 792, 793, 794, 795, 796, 453,
4577  1130, 90, 91, 263, 346, 1143, 333, 509, 1097, 1039,
4578  381, 467, 583, 467, 390, 1231, 1232, 1156, 242, 1231,
4579  421, 819, 2632, 2633, 510, 1562, 393, 510, 288, 458,
4580  2640, 1222, 1223, 257, 2644, 2645, 1792, 459, 1538, 1069,
4581  417, 1179, 440, 267, 311, 275, 2188, 516, 510, 2639,
4582  1383, 510, 2639, 352, 510, 257, 510, 1470, 253, 212,
4583  516, 2639, 516, 2673, 1255, 286, 467, 509, 2545, 11,
4584  257, 257, 1263, 2550, 645, 158, 458, 510, 273, 650,
4585  345, 389, 407, 1620, 1222, 1223, 510, 269, 2648, 269,
4586  2130, 244, 2702, 1231, 1232, 1233, 2210, 196, 213, 1633,
4587  1291, 124, 1466, 501, 199, 257, 257, 1298, 1299, 2618,
4588  908, 107, 510, 266, 357, 516, 337, 59, 2678, 1,
4589  130, 117, 421, 1237, 458, 1263, 1626, 357, 352, 359,
4590  123, 411, 1458, 2610, 411, 933, 287, 2614, 509, 334,
4591  1170, 171, 257, 461, 233, 488, 332, 615, 415, 232,
4592  506, 257, 267, 509, 1292, 97, 1097, 99, 257, 101,
4593  347, 9, 505, 345, 411, 345, 272, 109, 321, 221,
4594  462, 1310, 464, 1312, 417, 418, 1315, 1316, 227, 1318,
4595  62, 332, 509, 510, 2693, 2270, 2226, 2178, 2179, 257,
4596  213, 57, 2501, 856, 60, 347, 226, 421, 64, 667,
4597  399, 253, 2316, 483, 234, 776, 483, 1237, 90, 91,
4598  58, 294, 278, 279, 2523, 1332, 483, 516, 324, 401,
4599  288, 401, 232, 165, 406, 419, 406, 263, 2129, 2130,
4600  383, 326, 327, 896, 257, 324, 483, 352, 304, 305,
4601  178, 1476, 28, 467, 267, 457, 506, 2332, 2333, 2625,
4602  345, 475, 288, 1370, 466, 1446, 1447, 162, 921, 2377,
4603  1290, 166, 1453, 2639, 1455, 459, 837, 1406, 2386, 1299,
4604  1300, 1462, 1411, 347, 845, 846, 458, 57, 458, 2129,
4605  2130, 8, 1473, 293, 64, 1476, 510, 1426, 1524, 143,
4606  320, 204, 516, 367, 1704, 357, 491, 359, 1741, 1097,
4607  238, 416, 1537, 241, 399, 357, 421, 263, 1446, 1447,
4608  37, 1644, 883, 365, 509, 1453, 258, 1455, 1651, 1762,
4609  233, 310, 204, 312, 1462, 2226, 362, 480, 510, 352,
4610  178, 460, 288, 9, 1472, 1473, 12, 1528, 263, 15,
4611  16, 127, 471, 914, 1560, 2463, 1537, 1538, 2433, 1585,
4612  2711, 233, 467, 8, 2472, 1546, 309, 1446, 1447, 1769,
4613  1770, 1500, 304, 288, 1453, 213, 1455, 1506, 139, 458,
4614  1703, 1704, 58, 233, 1513, 425, 2226, 201, 1516, 429,
4615  1518, 458, 37, 1574, 1473, 956, 1516, 1622, 1518, 2531,
4616  343, 130, 451, 452, 242, 510, 967, 257, 421, 970,
4617  1538, 516, 461, 269, 510, 8, 230, 978, 1546, 257,
4618  516, 364, 123, 1604, 1553, 188, 188, 399, 157, 267,
4619  159, 1612, 1560, 163, 1562, 458, 166, 213, 384, 316,
4620  453, 1622, 1562, 320, 37, 1626, 1769, 1770, 211, 211,
4621  327, 328, 324, 0, 467, 481, 505, 2293, 335, 1563,
4622  310, 338, 312, 395, 174, 188, 343, 357, 345, 359,
4623  347, 348, 349, 350, 1703, 1704, 489, 263, 1707, 11,
4624  295, 257, 297, 509, 1612, 399, 178, 1803, 211, 345,
4625  367, 267, 1620, 452, 170, 456, 188, 510, 1626, 269,
4626  1620, 458, 288, 516, 465, 281, 438, 1160, 458, 470,
4627  469, 1640, 1165, 2698, 352, 1446, 1447, 1646, 1, 211,
4628  455, 422, 1453, 2708, 1455, 1654, 458, 59, 1957, 406,
4629  465, 408, 307, 1612, 411, 470, 420, 11, 1, 26,
4630  1769, 1770, 1473, 1563, 1898, 401, 1491, 1200, 224, 241,
4631  406, 253, 1659, 255, 458, 213, 1576, 40, 41, 42,
4632  43, 44, 458, 509, 510, 97, 1747, 99, 257, 101,
4633  1893, 1796, 1701, 1702, 381, 345, 352, 109, 510, 458,
4634  2691, 2692, 458, 421, 47, 59, 458, 455, 455, 758,
4635  759, 760, 139, 76, 77, 458, 143, 465, 465, 257,
4636  63, 2712, 470, 470, 458, 253, 1259, 255, 456, 267,
4637  404, 2351, 278, 279, 783, 1796, 458, 465, 2358, 2359,
4638  2731, 55, 470, 97, 501, 99, 213, 101, 253, 467,
4639  255, 401, 2740, 165, 341, 109, 406, 475, 304, 305,
4640  103, 512, 1965, 520, 1772, 421, 1774, 2758, 424, 425,
4641  794, 795, 796, 200, 510, 66, 90, 68, 1446, 1447,
4642  428, 118, 119, 120, 357, 1453, 359, 1455, 215, 486,
4643  257, 488, 510, 107, 1462, 249, 250, 510, 516, 1807,
4644  267, 1612, 559, 117, 510, 1473, 302, 303, 458, 21,
4645  22, 165, 410, 570, 352, 2128, 179, 180, 181, 182,
4646  183, 184, 185, 186, 187, 24, 25, 233, 1933, 172,
4647  1271, 1840, 410, 1454, 1842, 1456, 792, 793, 1459, 1460,
4648  1461, 768, 769, 58, 1465, 375, 258, 219, 510, 1104,
4649  458, 510, 1107, 1474, 1475, 257, 510, 453, 1113, 616,
4650  516, 204, 1117, 1396, 399, 47, 262, 66, 1123, 68,
4651  458, 70, 458, 630, 492, 493, 494, 495, 635, 406,
4652  64, 63, 415, 421, 60, 352, 69, 510, 2007, 510,
4653  233, 458, 304, 458, 131, 2129, 2130, 240, 196, 1908,
4654  309, 457, 239, 469, 258, 104, 105, 106, 251, 465,
4655  466, 4, 469, 132, 470, 342, 253, 469, 469, 346,
4656  469, 103, 469, 54, 55, 469, 19, 469, 469, 467,
4657  2133, 454, 469, 213, 1467, 2138, 29, 492, 493, 494,
4658  495, 170, 1951, 469, 1612, 1954, 2007, 704, 469, 453,
4659  304, 391, 1961, 133, 421, 154, 1489, 156, 135, 90,
4660  492, 493, 494, 495, 163, 134, 2027, 166, 357, 136,
4661  333, 64, 510, 166, 2690, 137, 107, 257, 516, 1988,
4662  138, 503, 102, 395, 448, 348, 117, 267, 469, 746,
4663  453, 141, 2226, 1526, 49, 409, 452, 1530, 449, 452,
4664  467, 338, 339, 340, 446, 1989, 1990, 839, 840, 841,
4665  842, 2214, 144, 2074, 357, 358, 353, 2122, 196, 776,
4666  145, 2082, 2457, 146, 2085, 147, 438, 505, 166, 372,
4667  2038, 374, 2040, 1869, 1870, 1871, 1872, 272, 2038, 31,
4668  2040, 395, 148, 49, 149, 1578, 458, 150, 196, 516,
4669  151, 233, 2061, 113, 253, 152, 255, 458, 240, 399,
4670  256, 458, 510, 315, 406, 257, 1966, 510, 458, 251,
4671  108, 257, 352, 272, 345, 475, 2272, 2273, 2281, 415,
4672  2276, 315, 257, 110, 438, 469, 510, 453, 510, 846,
4673  510, 203, 381, 344, 224, 232, 257, 297, 510, 273,
4674  507, 129, 507, 30, 176, 371, 453, 444, 35, 130,
4675  509, 38, 169, 2218, 229, 458, 2319, 49, 45, 46,
4676  453, 453, 196, 458, 399, 229, 372, 458, 221, 458,
4677  86, 86, 2193, 461, 1575, 2144, 23, 894, 65, 2342,
4678  67, 421, 2151, 2152, 2153, 2154, 2207, 510, 458, 273,
4679  2159, 2347, 449, 233, 911, 2311, 510, 914, 405, 1692,
4680  253, 504, 257, 199, 510, 92, 458, 510, 925, 514,
4681  263, 515, 238, 1614, 1615, 357, 358, 2186, 428, 277,
4682  2164, 302, 455, 455, 385, 455, 455, 467, 455, 368,
4683  372, 455, 374, 324, 1727, 952, 455, 328, 329, 455,
4684  453, 203, 298, 2187, 453, 1738, 1739, 203, 17, 449,
4685  312, 129, 140, 2409, 371, 453, 49, 125, 203, 142,
4686  8, 978, 2327, 196, 130, 318, 507, 310, 507, 203,
4687  323, 428, 2428, 458, 161, 453, 516, 9, 7, 399,
4688  394, 372, 2438, 2439, 458, 87, 22, 273, 309, 444,
4689  189, 450, 331, 47, 302, 2264, 387, 388, 57, 415,
4690  8, 300, 203, 190, 357, 504, 49, 189, 2277, 238,
4691  406, 2467, 365, 504, 317, 319, 458, 293, 313, 263,
4692  468, 333, 316, 2292, 377, 212, 114, 458, 1821, 399,
4693  443, 1824, 1825, 204, 510, 505, 257, 510, 26, 230,
4694  2503, 500, 416, 458, 1837, 203, 203, 2291, 1065, 297,
4695  103, 510, 385, 406, 367, 49, 409, 367, 1851, 1852,
4696  6, 263, 504, 9, 417, 2564, 253, 299, 238, 499,
4697  219, 96, 2528, 389, 294, 428, 255, 1778, 233, 266,
4698  2653, 458, 507, 407, 510, 453, 273, 510, 57, 263,
4699  428, 39, 257, 49, 2415, 2255, 2461, 111, 458, 342,
4700  263, 263, 263, 49, 463, 458, 2562, 516, 461, 1126,
4701  53, 453, 449, 1130, 301, 26, 405, 407, 415, 17,
4702  334, 510, 510, 110, 342, 196, 1143, 354, 257, 1146,
4703  452, 2496, 424, 458, 321, 449, 488, 83, 2594, 2408,
4704  458, 345, 88, 108, 115, 7, 188, 334, 373, 458,
4705  423, 458, 458, 408, 100, 2534, 510, 224, 460, 30,
4706  509, 35, 1179, 2432, 38, 221, 115, 437, 453, 342,
4707  312, 45, 46, 309, 458, 2496, 507, 204, 177, 57,
4708  204, 510, 257, 211, 2453, 2454, 120, 2650, 2509, 222,
4709  210, 2512, 196, 316, 49, 430, 383, 324, 6, 57,
4710  32, 54, 507, 59, 50, 49, 731, 393, 1378, 396,
4711  2479, 2480, 2591, 2534, 1231, 1232, 1233, 202, 92, 217,
4712  1359, 2490, 1053, 2544, 714, 1035, 2495, 2412, 415, 2150,
4713  2164, 685, 2025, 2347, 2697, 2158, 2341, 2454, 2701, 2143,
4714  2738, 2121, 2430, 671, 2427, 2455, 192, 193, 194, 2560,
4715  2218, 2725, 2702, 2750, 2494, 201, 2494, 2526, 2592, 2592,
4716  239, 1521, 64, 2316, 2585, 1417, 1069, 213, 2537, 805,
4717  2591, 1137, 1519, 501, 534, 1292, 1170, 854, 851, 2072,
4718  1192, 1523, 897, 2552, 807, 2554, 555, 161, 1788, 2558,
4719  1546, 904, 1220, 480, 915, 1563, 2759, 598, 1574, 592,
4720  246, 1250, 1300, 945, 491, 1280, 252, 630, 254, 1588,
4721  350, 257, 1615, 259, 260, 261, 190, 628, 645, 265,
4722  1299, 267, 509, 1845, 2449, 1299, 272, 1850, 2062, 993,
4723  1855, 1608, 801, 2577, 1608, 883, 2657, 1608, 212, 1608,
4724  1940, 616, 1267, 1022, 511, 716, 2496, 2616, 2617, 1363,
4725  1368, 470, 2126, 2302, 2156, 2677, 2402, 2050, 2059, 1047,
4726  306, 1535, 2631, 1565, 1287, 311, 1663, 2636, 2637, 2568,
4727  2691, 2692, 1314, 2693, 2397, -1, -1, -1, -1, 325,
4728  -1, -1, -1, 2652, -1, -1, 2655, 2656, -1, -1,
4729  -1, 2712, 266, -1, -1, -1, -1, -1, -1, -1,
4730  -1, -1, -1, 2724, 2725, -1, 352, -1, -1, -1,
4731  2731, -1, -1, -1, -1, -1, -1, 363, -1, 2688,
4732  -1, -1, -1, 2691, 2692, -1, -1, 301, -1, -1,
4733  -1, -1, -1, 2754, -1, -1, 382, 2758, -1, -1,
4734  -1, 1458, -1, -1, 2712, -1, -1, 321, -1, -1,
4735  -1, -1, -1, -1, -1, 1472, -1, -1, -1, -1,
4736  -1, -1, -1, 2731, -1, -1, -1, -1, -1, 415,
4737  -1, -1, 2691, 2692, -1, 421, -1, -1, -1, 2180,
4738  -1, -1, -1, 2184, 2185, -1, -1, 433, 434, -1,
4739  2758, -1, -1, 2712, -1, -1, -1, -1, -1, 1516,
4740  -1, 1518, -1, -1, -1, -1, -1, -1, -1, 383,
4741  -1, -1, 2731, -1, -1, -1, -1, -1, -1, -1,
4742  -1, 467, 396, -1, -1, -1, -1, -1, -1, -1,
4743  -1, 477, -1, -1, -1, -1, -1, 483, -1, 2758,
4744  -1, 415, -1, 1560, -1, 1562, -1, -1, -1, -1,
4745  -1, 497, -1, -1, -1, -1, 502, -1, 504, -1,
4746  -1, -1, 508, -1, 510, -1, -1, -1, 2496, -1,
4747  516, 45, 1, -1, 3, -1, 5, -1, -1, -1,
4748  -1, 10, -1, -1, -1, -1, -1, -1, -1, 18,
4749  -1, 65, 66, 67, 68, -1, -1, -1, -1, -1,
4750  -1, -1, -1, 1620, -1, -1, 480, -1, -1, -1,
4751  -1, -1, -1, -1, -1, -1, 1633, -1, -1, -1,
4752  -1, -1, 51, 52, -1, -1, -1, -1, -1, -1,
4753  -1, -1, 61, 1650, -1, -1, -1, -1, -1, -1,
4754  -1, -1, -1, 72, -1, -1, 75, -1, -1, -1,
4755  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4756  89, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4757  -1, -1, -1, -1, -1, -1, -1, -1, 1695, 1696,
4758  1697, 1698, 1699, 112, -1, -1, 1703, 1704, 1705, -1,
4759  1707, 120, -1, 122, -1, -1, -1, -1, -1, -1,
4760  129, -1, 131, 132, 133, 134, 135, 136, 137, 138,
4761  -1, 140, 141, 142, -1, 144, 145, 146, 147, 148,
4762  149, 150, 151, 152, 153, -1, -1, -1, -1, -1,
4763  -1, -1, -1, -1, -1, 164, 210, -1, -1, -1,
4764  169, -1, 1759, -1, -1, -1, -1, -1, -1, -1,
4765  -1, 1768, 1769, 1770, 1771, 1772, -1, 1774, -1, -1,
4766  -1, -1, 236, 2691, 2692, -1, 195, -1, -1, -1,
4767  -1, -1, -1, 202, -1, -1, 205, 206, -1, 253,
4768  -1, 255, -1, -1, 2712, -1, 1803, 216, -1, -1,
4769  1807, -1, -1, -1, 223, -1, 225, -1, -1, 228,
4770  -1, -1, -1, 2731, -1, -1, -1, -1, -1, -1,
4771  -1, -1, 286, -1, -1, -1, -1, -1, -1, -1,
4772  -1, -1, -1, -1, -1, 1842, -1, -1, -1, -1,
4773  2758, -1, -1, 1, 308, 3, -1, 5, -1, -1,
4774  -1, 270, 10, -1, -1, 274, -1, 276, -1, -1,
4775  18, -1, -1, -1, -1, -1, 330, 286, -1, -1,
4776  -1, -1, 336, -1, 293, 294, 295, -1, 297, 298,
4777  299, 300, -1, -1, -1, -1, -1, -1, -1, -1,
4778  -1, -1, 1899, 51, 52, 314, -1, -1, -1, -1,
4779  -1, -1, -1, 61, -1, -1, -1, -1, 327, -1,
4780  -1, -1, -1, -1, 72, -1, -1, 75, -1, -1,
4781  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4782  -1, 89, -1, -1, -1, -1, 355, 356, -1, -1,
4783  -1, -1, -1, -1, -1, -1, 410, 366, -1, -1,
4784  -1, -1, -1, -1, 112, 419, -1, -1, -1, -1,
4785  379, 380, 120, -1, 122, -1, -1, 386, -1, -1,
4786  -1, 390, 436, -1, -1, -1, -1, -1, -1, 398,
4787  -1, -1, -1, -1, -1, -1, -1, -1, -1, 408,
4788  -1, -1, -1, -1, 458, 153, -1, 83, 417, -1,
4789  -1, 2008, -1, -1, -1, -1, 164, 426, -1, -1,
4790  -1, 169, 431, 432, 100, 479, 435, -1, 437, -1,
4791  -1, -1, -1, -1, -1, -1, 445, -1, -1, -1,
4792  -1, 2038, -1, 2040, 498, -1, -1, 195, -1, 458,
4793  504, 505, -1, -1, 202, -1, -1, 205, 206, 2056,
4794  -1, -1, -1, -1, -1, -1, -1, 476, 216, -1,
4795  -1, -1, -1, 482, -1, 223, -1, 225, 487, -1,
4796  228, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4797  -1, -1, -1, -1, -1, -1, -1, -1, 507, -1,
4798  -1, -1, -1, -1, 513, -1, -1, -1, -1, -1,
4799  -1, -1, -1, -1, -1, -1, 192, 193, 194, -1,
4800  -1, -1, 270, -1, -1, 201, 274, -1, 276, -1,
4801  -1, -1, -1, -1, -1, -1, -1, -1, 286, -1,
4802  -1, -1, -1, -1, -1, 2142, 2143, -1, -1, -1,
4803  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4804  -1, -1, -1, -1, -1, -1, 314, -1, -1, -1,
4805  -1, -1, -1, -1, -1, -1, -1, -1, -1, 327,
4806  -1, 257, -1, 259, 260, 261, -1, -1, -1, 265,
4807  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4808  -1, -1, -1, -1, -1, -1, -1, 355, 356, -1,
4809  -1, -1, -1, -1, -1, -1, -1, -1, 366, 2216,
4810  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4811  306, 379, 380, -1, -1, -1, -1, -1, 386, -1,
4812  -1, -1, 390, -1, -1, 1, -1, 3, -1, 5,
4813  398, -1, -1, -1, 10, -1, -1, -1, -1, -1,
4814  408, -1, 18, -1, -1, -1, -1, -1, -1, 417,
4815  -1, -1, -1, 2270, -1, 2272, 2273, -1, 426, 2276,
4816  -1, -1, -1, 431, 432, -1, -1, 435, -1, 437,
4817  -1, -1, -1, 2290, -1, 51, 52, 445, -1, -1,
4818  -1, -1, -1, -1, -1, 61, 382, -1, -1, -1,
4819  458, -1, -1, -1, -1, -1, 72, -1, -1, 75,
4820  -1, -1, -1, -1, -1, -1, -1, -1, 476, -1,
4821  -1, -1, -1, 89, 482, 2332, 2333, -1, -1, 487,
4822  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4823  2347, -1, -1, 2350, 2351, -1, 112, 433, 434, -1,
4824  -1, 2358, 2359, 2360, 120, 513, 122, -1, -1, -1,
4825  -1, -1, -1, -1, -1, 2372, -1, -1, -1, -1,
4826  -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
4827  -1, 5, -1, -1, -1, -1, 10, 153, -1, -1,
4828  -1, 477, -1, -1, 18, -1, -1, -1, 164, -1,
4829  -1, -1, 2409, 169, -1, -1, -1, -1, -1, -1,
4830  -1, 497, -1, -1, 2421, -1, 502, -1, -1, -1,
4831  -1, 2428, 508, -1, 510, -1, 2433, 51, 52, 195,
4832  -1, 2438, 2439, -1, -1, -1, 202, 61, -1, 205,
4833  206, -1, 2449, -1, -1, -1, -1, -1, 72, -1,
4834  216, 75, -1, -1, -1, -1, -1, 223, -1, 225,
4835  2467, -1, 228, -1, -1, 89, -1, -1, -1, 2476,
4836  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4837  -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
4838  -1, -1, -1, -1, -1, -1, 120, -1, 122, -1,
4839  -1, -1, -1, -1, 270, -1, -1, -1, 274, -1,
4840  276, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4841  286, 2528, -1, -1, -1, -1, -1, -1, -1, 153,
4842  -1, -1, -1, -1, -1, -1, -1, -1, 2545, -1,
4843  164, -1, -1, 2550, -1, 169, -1, -1, 314, -1,
4844  -1, -1, -1, -1, -1, 2562, -1, -1, -1, -1,
4845  -1, 327, -1, -1, -1, -1, -1, -1, -1, -1,
4846  -1, 195, -1, -1, -1, -1, -1, -1, 202, -1,
4847  -1, 205, 206, -1, -1, -1, -1, 2594, -1, 355,
4848  356, -1, 216, -1, -1, -1, -1, -1, -1, 223,
4849  366, 225, -1, 2610, 228, -1, -1, 2614, -1, -1,
4850  -1, -1, -1, 379, 380, -1, -1, -1, -1, -1,
4851  386, -1, -1, -1, 390, -1, -1, -1, -1, -1,
4852  -1, -1, 398, -1, -1, -1, -1, -1, -1, -1,
4853  -1, -1, 408, -1, -1, -1, 270, -1, -1, -1,
4854  274, 417, 276, -1, -1, -1, -1, -1, -1, -1,
4855  426, -1, 286, -1, -1, 431, 432, -1, -1, 435,
4856  -1, 437, -1, -1, -1, -1, -1, -1, -1, 445,
4857  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4858  314, 6, 458, -1, 9, -1, -1, -1, -1, -1,
4859  3, -1, 5, 327, -1, -1, -1, 10, -1, -1,
4860  476, -1, -1, -1, -1, 18, 482, -1, -1, -1,
4861  -1, 487, -1, -1, -1, -1, -1, -1, -1, -1,
4862  -1, 355, 356, -1, -1, -1, -1, -1, -1, -1,
4863  -1, -1, 366, -1, -1, -1, -1, 513, 51, 52,
4864  -1, -1, -1, -1, -1, 379, 380, -1, 61, -1,
4865  -1, -1, 386, -1, -1, -1, 390, -1, 83, 72,
4866  -1, -1, 75, -1, 398, -1, -1, -1, -1, -1,
4867  -1, -1, -1, -1, 408, 100, 89, -1, -1, -1,
4868  -1, -1, -1, 417, -1, -1, -1, -1, 113, -1,
4869  -1, -1, 426, -1, -1, -1, -1, 431, 432, 112,
4870  -1, 435, -1, 437, -1, -1, -1, 120, -1, 122,
4871  -1, 445, -1, -1, -1, -1, 129, -1, 131, 132,
4872  133, 134, 135, 136, 137, 138, -1, 140, 141, 142,
4873  -1, 144, 145, 146, 147, 148, 149, 150, 151, 152,
4874  153, -1, 476, -1, -1, -1, -1, -1, 482, -1,
4875  -1, 164, -1, 487, -1, -1, 169, -1, -1, -1,
4876  -1, -1, -1, -1, -1, -1, -1, 192, 193, 194,
4877  -1, -1, -1, -1, -1, -1, 201, -1, -1, 513,
4878  -1, -1, 195, -1, -1, -1, -1, -1, 213, 202,
4879  -1, -1, 205, 206, -1, -1, -1, -1, -1, -1,
4880  -1, -1, -1, 216, 229, -1, -1, -1, -1, -1,
4881  223, -1, 225, -1, -1, 228, -1, -1, -1, -1,
4882  -1, 246, -1, -1, -1, -1, -1, 252, -1, 254,
4883  -1, -1, 257, -1, 259, 260, 261, -1, -1, -1,
4884  265, -1, 267, -1, -1, -1, -1, 272, -1, -1,
4885  -1, -1, -1, -1, -1, -1, -1, 270, -1, -1,
4886  -1, 274, -1, 276, -1, -1, -1, -1, -1, 6,
4887  -1, -1, 9, 286, -1, 12, 13, 14, -1, -1,
4888  -1, 306, -1, 20, -1, -1, -1, -1, -1, -1,
4889  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4890  325, 314, -1, -1, -1, -1, -1, -1, -1, -1,
4891  -1, -1, -1, -1, 327, -1, -1, -1, -1, -1,
4892  -1, -1, -1, -1, -1, -1, -1, 352, -1, -1,
4893  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4894  -1, -1, 355, -1, -1, -1, 83, -1, -1, -1,
4895  -1, -1, -1, 366, -1, -1, -1, 382, -1, -1,
4896  -1, -1, -1, 100, -1, -1, -1, 380, -1, -1,
4897  -1, -1, -1, 386, -1, -1, -1, 390, -1, -1,
4898  -1, -1, -1, -1, -1, 398, -1, -1, -1, -1,
4899  -1, -1, -1, -1, -1, 408, 421, -1, -1, -1,
4900  -1, -1, -1, -1, 417, -1, -1, -1, 433, 434,
4901  -1, -1, -1, 426, -1, -1, -1, -1, 431, 432,
4902  -1, -1, 435, 160, 437, -1, -1, -1, -1, -1,
4903  -1, -1, 445, 170, -1, -1, -1, -1, -1, -1,
4904  -1, -1, 467, -1, -1, 458, -1, -1, -1, -1,
4905  -1, -1, 477, -1, -1, 192, 193, 194, -1, -1,
4906  -1, -1, -1, 476, 201, -1, -1, -1, -1, 482,
4907  207, 208, 497, -1, 487, -1, 213, 502, -1, -1,
4908  -1, -1, -1, 508, -1, 510, -1, -1, -1, -1,
4909  -1, 516, -1, -1, -1, -1, 233, -1, -1, -1,
4910  513, -1, -1, -1, -1, -1, -1, -1, -1, 246,
4911  247, 248, -1, -1, -1, 252, -1, 254, -1, -1,
4912  257, -1, 259, 260, 261, -1, -1, -1, 265, -1,
4913  267, -1, -1, -1, -1, 272, -1, -1, -1, -1,
4914  -1, -1, -1, -1, -1, -1, -1, -1, 285, 6,
4915  -1, -1, 9, -1, 291, 12, 13, 14, -1, 296,
4916  -1, -1, -1, 20, -1, -1, -1, 304, -1, 306,
4917  -1, -1, -1, -1, 311, -1, -1, -1, -1, 316,
4918  -1, -1, -1, -1, -1, -1, -1, -1, 325, -1,
4919  -1, -1, -1, -1, -1, -1, -1, -1, 335, -1,
4920  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4921  -1, -1, -1, -1, -1, 352, -1, -1, -1, -1,
4922  -1, -1, -1, -1, -1, -1, 83, -1, -1, -1,
4923  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4924  -1, -1, -1, 100, -1, 382, -1, -1, -1, -1,
4925  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4926  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4927  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4928  -1, -1, -1, -1, 421, -1, -1, -1, -1, -1,
4929  -1, -1, -1, -1, -1, -1, 433, 434, -1, -1,
4930  -1, -1, -1, 160, -1, -1, -1, -1, -1, -1,
4931  -1, -1, -1, 170, -1, -1, -1, -1, 455, -1,
4932  457, -1, 459, -1, -1, 462, -1, 464, 465, 466,
4933  467, -1, 469, 470, -1, 192, 193, 194, -1, -1,
4934  477, -1, -1, -1, 201, -1, -1, -1, -1, -1,
4935  207, 208, -1, -1, -1, -1, 213, -1, -1, -1,
4936  497, -1, -1, -1, -1, 502, -1, -1, -1, -1,
4937  -1, 508, -1, 510, -1, -1, -1, -1, -1, 516,
4938  -1, -1, -1, -1, -1, -1, -1, -1, -1, 246,
4939  247, 248, -1, -1, -1, 252, -1, 254, -1, -1,
4940  257, -1, 259, 260, 261, -1, -1, -1, 265, -1,
4941  267, -1, -1, -1, -1, 272, -1, -1, -1, -1,
4942  -1, -1, -1, -1, -1, -1, -1, -1, 285, -1,
4943  -1, -1, -1, -1, 291, -1, -1, 6, -1, 296,
4944  9, -1, -1, -1, -1, -1, -1, 304, -1, 306,
4945  -1, -1, -1, -1, 311, -1, -1, -1, -1, 316,
4946  -1, 30, -1, -1, -1, -1, 35, -1, 325, 38,
4947  -1, -1, -1, -1, -1, -1, 45, 46, 335, -1,
4948  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4949  -1, -1, -1, -1, -1, 352, 65, -1, 67, -1,
4950  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4951  -1, -1, -1, -1, 83, -1, -1, -1, -1, -1,
4952  -1, -1, -1, 92, -1, 382, -1, -1, -1, -1,
4953  -1, 100, -1, -1, 6, -1, -1, 9, -1, -1,
4954  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4955  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4956  -1, -1, -1, -1, 421, -1, -1, -1, -1, -1,
4957  -1, -1, -1, -1, -1, -1, 433, 434, -1, -1,
4958  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4959  -1, -1, 161, -1, -1, -1, -1, -1, 455, -1,
4960  457, -1, 459, -1, -1, 462, -1, 464, 465, 466,
4961  467, 83, 469, 470, -1, -1, -1, -1, -1, -1,
4962  477, 190, -1, 192, 193, 194, -1, -1, 100, -1,
4963  -1, -1, 201, -1, -1, -1, 6, -1, -1, 9,
4964  497, -1, -1, 212, 213, 502, -1, -1, -1, -1,
4965  -1, 508, -1, 510, -1, -1, -1, -1, -1, 516,
4966  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4967  -1, -1, -1, -1, -1, -1, -1, 246, -1, -1,
4968  -1, 153, -1, 252, 253, 254, -1, -1, 257, -1,
4969  259, 260, 261, -1, -1, -1, 265, 266, 267, -1,
4970  -1, -1, -1, 272, 273, -1, -1, -1, -1, -1,
4971  -1, -1, -1, 83, -1, -1, -1, -1, -1, -1,
4972  192, 193, 194, -1, -1, 95, -1, -1, -1, 201,
4973  100, -1, 301, -1, -1, -1, -1, 306, -1, -1,
4974  -1, 213, -1, 6, -1, -1, 9, -1, -1, -1,
4975  -1, -1, 321, -1, -1, -1, 325, -1, -1, -1,
4976  -1, -1, -1, -1, -1, 334, -1, -1, -1, -1,
4977  -1, -1, -1, -1, 246, -1, -1, -1, -1, -1,
4978  252, -1, 254, 352, -1, 257, -1, 259, 260, 261,
4979  -1, -1, -1, 265, -1, 267, -1, -1, -1, -1,
4980  272, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4981  -1, -1, -1, 382, 383, -1, -1, -1, -1, -1,
4982  83, -1, 192, 193, 194, -1, -1, 396, -1, -1,
4983  -1, 201, -1, -1, 306, -1, -1, 100, -1, -1,
4984  -1, -1, -1, 213, -1, -1, 415, -1, -1, -1,
4985  -1, -1, 421, 325, -1, -1, -1, -1, -1, -1,
4986  -1, -1, -1, -1, 433, 434, -1, -1, -1, -1,
4987  -1, -1, -1, -1, -1, -1, 246, -1, -1, -1,
4988  352, -1, 252, -1, 254, -1, -1, 257, -1, 259,
4989  260, 261, -1, -1, -1, 265, 6, 267, 467, 9,
4990  -1, -1, 272, -1, -1, -1, -1, -1, 477, -1,
4991  382, 480, -1, -1, -1, -1, -1, -1, -1, -1,
4992  -1, -1, 491, -1, -1, -1, -1, -1, 497, 192,
4993  193, 194, -1, 502, -1, -1, 306, -1, 201, 508,
4994  509, 510, -1, -1, -1, -1, -1, 516, -1, 421,
4995  213, -1, -1, -1, -1, 325, -1, -1, -1, -1,
4996  -1, 433, 434, -1, -1, -1, -1, -1, -1, -1,
4997  -1, -1, -1, 83, -1, -1, -1, -1, -1, -1,
4998  -1, -1, 352, 246, -1, 95, -1, -1, 460, 252,
4999  100, 254, -1, -1, 257, 467, 259, 260, 261, 471,
5000  -1, -1, 265, -1, 267, 477, -1, -1, -1, 272,
5001  -1, -1, 382, -1, -1, 6, -1, -1, 9, -1,
5002  -1, -1, -1, -1, -1, 497, -1, -1, -1, -1,
5003  502, 6, -1, -1, 9, -1, 508, -1, 510, -1,
5004  -1, -1, -1, 306, 516, -1, -1, -1, 311, -1,
5005  -1, 421, -1, -1, -1, -1, -1, -1, -1, -1,
5006  -1, -1, 325, 433, 434, -1, -1, -1, -1, -1,
5007  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5008  -1, -1, 192, 193, 194, -1, -1, -1, -1, 352,
5009  -1, 201, 83, -1, -1, -1, -1, 467, -1, -1,
5010  -1, -1, -1, 213, -1, -1, -1, 477, 83, 100,
5011  -1, -1, -1, -1, -1, -1, -1, -1, -1, 382,
5012  95, -1, 113, -1, -1, 100, -1, 497, -1, -1,
5013  -1, -1, 502, -1, -1, -1, 246, -1, 508, -1,
5014  510, -1, 252, -1, 254, -1, 516, 257, -1, 259,
5015  260, 261, -1, -1, -1, 265, -1, 267, 421, -1,
5016  -1, -1, 272, -1, -1, -1, -1, -1, -1, -1,
5017  433, 434, -1, -1, -1, -1, -1, -1, -1, -1,
5018  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5019  -1, -1, -1, -1, -1, -1, 306, -1, -1, -1,
5020  -1, 192, 193, 194, 467, -1, -1, -1, -1, -1,
5021  201, -1, -1, -1, 477, 325, -1, 192, 193, 194,
5022  -1, -1, 213, -1, 6, -1, 201, 9, -1, -1,
5023  -1, -1, -1, -1, 497, -1, -1, -1, 213, 502,
5024  -1, -1, 352, -1, -1, 508, -1, 510, -1, -1,
5025  -1, -1, -1, 516, -1, 246, -1, -1, -1, -1,
5026  -1, 252, -1, 254, -1, -1, 257, -1, 259, 260,
5027  261, 246, 382, -1, 265, -1, 267, 252, -1, 254,
5028  -1, 272, 257, -1, 259, 260, 261, -1, -1, -1,
5029  265, -1, 267, -1, -1, -1, -1, 272, -1, -1,
5030  -1, 83, -1, -1, -1, -1, -1, -1, -1, -1,
5031  -1, 421, -1, -1, -1, 306, -1, -1, 100, -1,
5032  -1, -1, -1, 433, 434, -1, -1, -1, -1, -1,
5033  -1, 306, -1, -1, 325, -1, -1, -1, -1, -1,
5034  -1, -1, -1, 6, -1, -1, 9, -1, -1, -1,
5035  325, -1, -1, -1, -1, -1, -1, 467, -1, 6,
5036  -1, 352, 9, -1, -1, -1, -1, 477, -1, -1,
5037  -1, -1, -1, -1, -1, -1, -1, 352, -1, -1,
5038  -1, -1, -1, -1, -1, -1, -1, 497, -1, -1,
5039  -1, 382, 502, -1, -1, -1, -1, -1, 508, -1,
5040  510, -1, -1, -1, -1, -1, 516, 382, -1, -1,
5041  192, 193, 194, -1, -1, -1, -1, -1, -1, 201,
5042  83, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5043  421, 213, -1, -1, -1, -1, 83, 100, -1, -1,
5044  -1, -1, 433, 434, -1, -1, 421, -1, -1, -1,
5045  -1, -1, -1, 100, -1, -1, -1, -1, 433, 434,
5046  -1, -1, -1, -1, 246, -1, -1, -1, -1, -1,
5047  252, -1, 254, -1, -1, 257, 467, 259, 260, 261,
5048  -1, -1, -1, 265, -1, 267, 477, -1, -1, -1,
5049  272, -1, 467, -1, -1, -1, 6, -1, -1, 9,
5050  -1, -1, 477, -1, -1, -1, 497, -1, -1, -1,
5051  -1, 502, -1, -1, -1, -1, -1, 508, -1, 510,
5052  -1, -1, 497, -1, 306, 516, -1, 502, -1, 192,
5053  193, 194, -1, 508, -1, 510, -1, -1, 201, -1,
5054  -1, 516, -1, 325, -1, 192, 193, 194, -1, 196,
5055  213, -1, -1, -1, 201, -1, -1, -1, -1, -1,
5056  -1, -1, -1, -1, -1, -1, 213, -1, -1, -1,
5057  352, -1, -1, 83, -1, -1, -1, -1, -1, -1,
5058  -1, -1, -1, 246, -1, -1, -1, -1, -1, 252,
5059  100, 254, -1, -1, 257, -1, 259, 260, 261, 246,
5060  382, -1, 265, -1, 267, 252, -1, 254, -1, 272,
5061  257, -1, 259, 260, 261, -1, -1, -1, 265, -1,
5062  267, -1, -1, -1, -1, 272, -1, -1, -1, -1,
5063  -1, 6, -1, -1, 9, -1, -1, -1, -1, 421,
5064  -1, -1, -1, 306, -1, -1, -1, -1, 311, -1,
5065  -1, 433, 434, -1, -1, -1, -1, -1, -1, 306,
5066  -1, -1, 325, -1, -1, -1, -1, -1, -1, -1,
5067  -1, 453, -1, -1, -1, -1, -1, -1, 325, -1,
5068  -1, -1, 192, 193, 194, 467, -1, -1, -1, 352,
5069  -1, 201, -1, -1, -1, 477, -1, -1, -1, -1,
5070  -1, -1, -1, 213, -1, 352, -1, -1, 83, -1,
5071  -1, -1, -1, -1, -1, 497, -1, -1, -1, 382,
5072  502, -1, -1, -1, -1, 100, 508, -1, 510, -1,
5073  6, -1, -1, 9, 516, 382, 246, -1, -1, -1,
5074  -1, -1, 252, -1, 254, -1, -1, 257, -1, 259,
5075  260, 261, -1, -1, -1, 265, -1, 267, 421, -1,
5076  -1, -1, 272, -1, -1, -1, -1, -1, -1, -1,
5077  433, 434, -1, -1, 421, -1, -1, -1, -1, -1,
5078  -1, -1, -1, -1, -1, -1, 433, 434, -1, -1,
5079  -1, -1, -1, -1, -1, -1, 306, -1, -1, -1,
5080  -1, -1, -1, -1, 467, -1, -1, 83, -1, -1,
5081  -1, -1, -1, -1, 477, 325, -1, 192, 193, 194,
5082  467, -1, -1, -1, 100, -1, 201, -1, -1, -1,
5083  477, -1, -1, -1, 497, -1, -1, -1, 213, 502,
5084  -1, -1, 352, -1, -1, 508, -1, 510, -1, -1,
5085  497, -1, -1, 516, -1, 502, -1, -1, -1, -1,
5086  -1, 508, -1, 510, -1, -1, -1, -1, -1, 516,
5087  -1, 246, 382, -1, -1, -1, -1, 252, -1, 254,
5088  -1, -1, 257, -1, 259, 260, 261, -1, -1, -1,
5089  265, -1, 267, -1, -1, -1, -1, 272, -1, -1,
5090  -1, -1, -1, -1, -1, 415, -1, -1, -1, -1,
5091  -1, 421, -1, -1, -1, -1, 192, 193, 194, -1,
5092  -1, -1, -1, 433, 434, 201, -1, -1, -1, -1,
5093  -1, 306, -1, -1, -1, -1, -1, 213, -1, -1,
5094  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5095  325, -1, -1, -1, -1, -1, -1, 467, -1, -1,
5096  -1, -1, -1, -1, -1, -1, -1, 477, -1, -1,
5097  246, -1, -1, -1, -1, -1, 252, 352, 254, -1,
5098  -1, 257, -1, 259, 260, 261, -1, 497, -1, 265,
5099  -1, 267, 502, -1, -1, -1, 272, -1, 508, -1,
5100  510, -1, -1, -1, -1, -1, 516, 382, -1, -1,
5101  382, -1, -1, -1, 192, 193, 194, -1, -1, -1,
5102  -1, 433, 434, 201, -1, -1, -1, -1, -1, -1,
5103  -1, 306, -1, -1, -1, 213, -1, -1, -1, -1,
5104  -1, -1, -1, 415, -1, -1, -1, -1, -1, 421,
5105  325, -1, -1, -1, -1, 467, -1, -1, -1, -1,
5106  -1, 433, 434, -1, -1, 477, -1, -1, 246, -1,
5107  -1, -1, -1, -1, 252, -1, 254, 352, -1, 257,
5108  -1, 259, 260, 261, -1, 497, -1, 265, -1, 267,
5109  502, -1, -1, -1, 272, 467, 508, -1, 510, -1,
5110  -1, -1, -1, -1, 516, 477, -1, 382, -1, -1,
5111  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5112  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5113  306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5114  -1, -1, -1, -1, -1, -1, 421, -1, -1, 325,
5115  -1, -1, -1, -1, -1, -1, -1, -1, 433, 434,
5116  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5117  -1, -1, -1, 1, -1, -1, 352, -1, -1, -1,
5118  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5119  -1, -1, 467, -1, -1, -1, -1, -1, -1, -1,
5120  -1, -1, 477, -1, 32, -1, 382, 35, -1, -1,
5121  38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
5122  -1, -1, 497, -1, -1, -1, -1, 502, -1, -1,
5123  -1, -1, -1, 508, -1, 510, -1, 65, -1, 67,
5124  -1, 516, -1, -1, -1, 421, 74, -1, 76, 77,
5125  78, 79, 80, 81, 82, -1, -1, 433, 434, -1,
5126  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5127  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5128  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5129  -1, 467, 120, -1, -1, -1, -1, -1, -1, -1,
5130  -1, 477, -1, -1, -1, -1, -1, -1, -1, -1,
5131  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5132  -1, 497, -1, -1, -1, -1, 502, -1, -1, -1,
5133  -1, -1, 508, 161, 510, -1, -1, -1, -1, -1,
5134  516, -1, -1, -1, -1, -1, -1, -1, 176, -1,
5135  -1, 179, 180, 181, 182, 183, -1, -1, 186, 187,
5136  -1, -1, 190, -1, -1, -1, -1, -1, 196, -1,
5137  198, -1, -1, -1, -1, -1, 204, -1, -1, -1,
5138  -1, 209, -1, -1, 212, -1, -1, -1, -1, -1,
5139  -1, -1, 220, -1, -1, -1, -1, -1, -1, -1,
5140  -1, -1, -1, -1, -1, 233, -1, -1, 236, -1,
5141  -1, -1, -1, -1, 242, -1, 244, -1, -1, -1,
5142  -1, -1, -1, -1, -1, 253, -1, -1, -1, -1,
5143  -1, 1, -1, -1, -1, -1, -1, -1, 266, -1,
5144  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5145  278, 21, -1, -1, -1, -1, -1, -1, -1, -1,
5146  -1, 9, -1, -1, -1, -1, 36, -1, -1, 39,
5147  40, 41, 42, 43, 44, 45, -1, -1, -1, -1,
5148  308, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5149  -1, -1, -1, 321, 322, -1, -1, -1, -1, -1,
5150  -1, -1, 330, -1, 74, 333, 76, 77, 78, 79,
5151  80, 81, 82, -1, -1, -1, -1, -1, -1, -1,
5152  348, -1, 350, -1, -1, -1, -1, -1, -1, -1,
5153  -1, -1, -1, -1, -1, 83, -1, -1, -1, -1,
5154  -1, -1, -1, -1, -1, -1, -1, -1, 376, -1,
5155  120, -1, 100, -1, -1, 383, -1, -1, -1, -1,
5156  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5157  -1, -1, 400, -1, -1, -1, -1, -1, -1, -1,
5158  -1, -1, 410, -1, 412, 413, 414, -1, -1, -1,
5159  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5160  -1, -1, 172, -1, -1, -1, 176, -1, -1, 179,
5161  180, 181, 182, 183, -1, -1, 186, 187, -1, -1,
5162  -1, -1, -1, -1, -1, 453, -1, -1, -1, -1,
5163  458, -1, -1, -1, 204, 463, -1, -1, -1, -1,
5164  -1, -1, -1, -1, 192, 193, 194, 475, -1, -1,
5165  220, -1, 480, 201, -1, -1, 484, 485, 486, -1,
5166  -1, -1, -1, 233, -1, 213, 236, -1, -1, -1,
5167  498, -1, 242, -1, -1, 503, 504, -1, -1, -1,
5168  -1, -1, 510, -1, -1, -1, -1, -1, -1, -1,
5169  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5170  -1, -1, -1, -1, -1, -1, -1, -1, 278, 257,
5171  -1, 259, 260, 261, -1, -1, -1, 265, -1, 267,
5172  83, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5173  -1, -1, -1, -1, -1, -1, -1, 100, 308, -1,
5174  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5175  -1, -1, 322, -1, -1, -1, -1, -1, 306, -1,
5176  330, -1, -1, 333, -1, 21, -1, -1, -1, -1,
5177  -1, -1, -1, -1, -1, -1, -1, -1, 348, -1,
5178  36, -1, -1, 39, 40, 41, 42, 43, 44, 45,
5179  -1, 361, -1, -1, -1, -1, -1, -1, -1, 369,
5180  -1, -1, -1, -1, 352, -1, -1, -1, -1, -1,
5181  -1, -1, -1, -1, -1, -1, -1, -1, 74, -1,
5182  76, 77, 78, 79, 80, 81, 82, -1, -1, 192,
5183  193, 194, -1, -1, 382, -1, -1, -1, 201, -1,
5184  410, -1, 412, 413, 414, -1, -1, -1, -1, -1,
5185  213, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5186  -1, -1, -1, -1, 120, -1, -1, -1, -1, 439,
5187  -1, -1, -1, 421, 30, -1, 32, -1, -1, 35,
5188  -1, -1, 38, -1, -1, 433, 434, -1, 458, -1,
5189  46, -1, -1, -1, 257, -1, 259, 260, 261, -1,
5190  -1, -1, 265, -1, 267, 475, -1, -1, -1, 65,
5191  -1, 67, -1, -1, 484, 485, 486, -1, -1, 467,
5192  -1, -1, -1, 179, 180, 181, 182, 183, 498, 477,
5193  186, 187, -1, -1, 504, -1, 92, -1, -1, -1,
5194  510, -1, -1, 306, -1, -1, -1, -1, -1, 497,
5195  -1, -1, -1, -1, 502, 111, -1, -1, -1, -1,
5196  508, -1, 510, -1, 220, -1, -1, -1, 516, -1,
5197  -1, -1, -1, -1, -1, -1, -1, 233, -1, -1,
5198  236, -1, -1, -1, -1, -1, 242, -1, -1, 352,
5199  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5200  233, -1, -1, 236, -1, -1, -1, -1, -1, -1,
5201  352, 244, -1, -1, -1, -1, -1, -1, -1, -1,
5202  253, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5203  -1, -1, -1, 266, -1, 83, -1, -1, -1, -1,
5204  382, -1, -1, -1, -1, 278, -1, -1, -1, -1,
5205  -1, -1, 100, -1, -1, -1, -1, -1, -1, -1,
5206  -1, -1, -1, -1, 192, 193, 194, -1, -1, -1,
5207  -1, -1, -1, 201, -1, 308, -1, -1, -1, 421,
5208  -1, -1, -1, -1, -1, 213, -1, -1, 321, 322,
5209  -1, 433, 434, -1, -1, -1, -1, 330, -1, -1,
5210  333, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5211  -1, -1, -1, 455, -1, 348, -1, 350, 246, -1,
5212  -1, -1, -1, 465, 252, 467, 254, 469, 470, 257,
5213  -1, 259, 260, 261, -1, 477, -1, 265, -1, 267,
5214  -1, -1, -1, 376, 192, 193, 194, -1, -1, -1,
5215  383, -1, -1, 201, -1, 497, -1, -1, -1, -1,
5216  502, -1, -1, -1, -1, 213, 508, 400, 510, -1,
5217  -1, -1, -1, -1, 516, -1, -1, 410, 306, 412,
5218  413, 414, -1, -1, -1, -1, -1, -1, -1, -1,
5219  -1, -1, -1, -1, -1, -1, -1, 325, 246, -1,
5220  -1, -1, -1, -1, 252, -1, 254, -1, -1, 257,
5221  -1, 259, 260, 261, -1, -1, -1, 265, -1, 267,
5222  453, -1, -1, -1, 352, 458, -1, -1, -1, -1,
5223  463, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5224  -1, -1, -1, -1, -1, -1, -1, 480, -1, 83,
5225  -1, 484, 485, 486, 382, -1, -1, -1, 306, -1,
5226  -1, -1, -1, -1, -1, 498, 100, -1, -1, -1,
5227  503, 504, -1, -1, -1, -1, -1, 325, -1, -1,
5228  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5229  -1, -1, -1, -1, -1, -1, -1, -1, -1, 382,
5230  -1, -1, 278, -1, -1, -1, -1, -1, -1, -1,
5231  -1, -1, -1, -1, 190, -1, -1, -1, -1, -1,
5232  -1, 197, 198, -1, -1, -1, -1, -1, -1, -1,
5233  -1, -1, 308, -1, -1, -1, 212, -1, 421, -1,
5234  -1, -1, -1, -1, -1, -1, 322, -1, -1, -1,
5235  433, 434, -1, -1, 330, -1, -1, 333, -1, -1,
5236  -1, -1, -1, -1, -1, -1, -1, -1, 244, -1,
5237  -1, -1, 348, -1, -1, -1, -1, 253, -1, -1,
5238  -1, -1, -1, -1, 467, 361, -1, -1, 264, -1,
5239  266, -1, -1, 369, 477, -1, -1, 273, -1, -1,
5240  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5241  -1, -1, 288, 289, 497, -1, -1, -1, -1, 502,
5242  -1, -1, -1, -1, -1, 508, -1, 510, -1, -1,
5243  -1, -1, -1, 516, 410, -1, 412, 413, 414, -1,
5244  -1, -1, -1, -1, -1, 321, -1, -1, -1, -1,
5245  -1, -1, -1, -1, -1, -1, -1, -1, 334, -1,
5246  -1, -1, -1, 439, -1, -1, -1, -1, -1, -1,
5247  -1, -1, -1, -1, 350, 351, -1, -1, -1, -1,
5248  -1, -1, 458, -1, -1, -1, -1, -1, -1, -1,
5249  -1, -1, -1, -1, -1, -1, -1, -1, -1, 475,
5250  376, -1, -1, -1, -1, -1, -1, 383, 484, 485,
5251  486, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5252  396, -1, 498, 32, 400, -1, 35, -1, 504, 38,
5253  39, 40, 41, 42, 43, 44, 45, 46, 32, 415,
5254  -1, 35, -1, -1, 38, -1, -1, -1, -1, -1,
5255  -1, -1, 46, -1, -1, -1, 65, -1, 67, -1,
5256  -1, -1, -1, -1, -1, 74, 442, 76, 77, 78,
5257  79, 80, 81, 82, -1, 451, -1, -1, -1, -1,
5258  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5259  -1, -1, -1, -1, -1, -1, -1, -1, 92, -1,
5260  -1, -1, -1, -1, 480, 39, 40, 41, 42, 43,
5261  44, 120, -1, -1, 490, -1, -1, 111, -1, -1,
5262  496, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5263  -1, -1, -1, 509, -1, -1, -1, -1, -1, -1,
5264  74, -1, 76, 77, 78, 79, 80, 81, 82, -1,
5265  -1, -1, 161, -1, -1, -1, -1, -1, -1, -1,
5266  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5267  179, 180, 181, 182, 183, -1, -1, 186, 187, -1,
5268  -1, 190, -1, -1, -1, -1, 120, 196, -1, 198,
5269  -1, -1, -1, -1, -1, 204, 190, -1, -1, -1,
5270  209, -1, -1, 212, 198, -1, -1, -1, -1, -1,
5271  -1, 220, -1, -1, -1, -1, -1, -1, 212, -1,
5272  -1, -1, -1, -1, 233, -1, -1, 236, -1, -1,
5273  -1, -1, -1, -1, -1, 244, -1, -1, -1, -1,
5274  -1, -1, -1, -1, 253, 179, 180, 181, 182, 183,
5275  244, -1, 186, 187, -1, -1, -1, 266, -1, -1,
5276  -1, -1, -1, -1, -1, -1, -1, -1, -1, 278,
5277  264, -1, 266, -1, -1, -1, -1, -1, -1, -1,
5278  -1, -1, -1, -1, -1, -1, 220, -1, -1, -1,
5279  -1, -1, -1, -1, 288, 289, -1, -1, -1, 308,
5280  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5281  -1, -1, 321, 322, -1, -1, -1, -1, -1, -1,
5282  -1, 330, -1, -1, 333, -1, -1, 321, -1, -1,
5283  -1, -1, -1, -1, -1, -1, -1, -1, -1, 348,
5284  -1, 350, 83, -1, 278, -1, -1, -1, -1, -1,
5285  -1, -1, -1, -1, -1, -1, 350, 351, -1, 100,
5286  -1, -1, -1, -1, -1, -1, -1, 376, -1, -1,
5287  -1, -1, -1, -1, 383, -1, -1, -1, -1, -1,
5288  -1, -1, 376, -1, -1, -1, -1, -1, 322, 383,
5289  -1, 400, -1, -1, -1, -1, -1, -1, -1, 333,
5290  -1, 410, 396, 412, 413, 414, 400, -1, -1, -1,
5291  -1, -1, 83, -1, 348, -1, -1, -1, -1, -1,
5292  -1, 415, -1, -1, -1, -1, -1, -1, 83, 100,
5293  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5294  -1, -1, -1, -1, 453, 100, -1, -1, 442, 458,
5295  -1, 192, 193, 194, 463, -1, -1, 451, -1, -1,
5296  201, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5297  -1, 480, 213, -1, -1, 484, 485, 486, 412, 413,
5298  414, -1, -1, -1, -1, -1, 480, -1, -1, 498,
5299  -1, -1, -1, -1, 503, 504, 490, -1, -1, -1,
5300  -1, -1, 496, -1, -1, 246, -1, -1, -1, -1,
5301  -1, 252, -1, 254, -1, -1, 257, -1, 259, 260,
5302  261, 192, 193, 194, 265, -1, 267, -1, -1, -1,
5303  201, -1, -1, -1, -1, -1, -1, 192, 193, 194,
5304  -1, -1, 213, -1, -1, -1, 201, -1, -1, -1,
5305  484, 485, 486, -1, -1, -1, -1, -1, 213, -1,
5306  -1, -1, -1, -1, -1, 306, -1, -1, -1, -1,
5307  -1, -1, -1, -1, -1, 246, -1, -1, -1, -1,
5308  -1, 252, -1, 254, 325, -1, 257, -1, 259, 260,
5309  261, 246, -1, -1, 265, -1, 267, 252, -1, 254,
5310  -1, -1, 257, -1, 259, 260, 261, -1, -1, -1,
5311  265, 352, 267, -1, -1, -1, -1, -1, -1, -1,
5312  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5313  -1, -1, -1, -1, -1, 306, -1, -1, -1, -1,
5314  -1, 382, -1, -1, -1, -1, -1, -1, -1, -1,
5315  -1, 306, -1, -1, 325, -1, -1, -1, -1, -1,
5316  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5317  325, -1, 83, -1, -1, -1, -1, -1, -1, -1,
5318  421, 352, -1, -1, -1, -1, -1, -1, -1, 100,
5319  -1, -1, 433, 434, -1, -1, -1, 352, -1, -1,
5320  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5321  -1, 382, -1, -1, 455, -1, -1, -1, -1, -1,
5322  -1, -1, -1, -1, 465, -1, 467, 382, 469, 470,
5323  -1, -1, -1, -1, -1, -1, 477, -1, -1, -1,
5324  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5325  421, -1, -1, -1, -1, -1, 497, -1, -1, -1,
5326  -1, 502, 433, 434, -1, -1, 421, 508, -1, 510,
5327  -1, 83, -1, -1, -1, 516, -1, -1, 433, 434,
5328  -1, 192, 193, 194, 455, -1, 441, -1, 100, -1,
5329  201, -1, -1, -1, 465, -1, 467, -1, 469, 470,
5330  -1, -1, 213, -1, -1, -1, 477, -1, -1, -1,
5331  465, -1, 467, 83, 469, 470, -1, -1, -1, -1,
5332  -1, -1, 477, -1, -1, -1, 497, -1, -1, -1,
5333  100, 502, -1, -1, -1, 246, -1, 508, -1, 510,
5334  -1, 252, 497, 254, -1, 516, 257, 502, 259, 260,
5335  261, -1, -1, 508, 265, 510, 267, -1, -1, -1,
5336  -1, 516, -1, -1, -1, -1, -1, -1, -1, -1,
5337  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5338  192, 193, 194, -1, -1, -1, -1, -1, -1, 201,
5339  -1, -1, -1, -1, -1, 306, -1, -1, -1, -1,
5340  -1, 213, -1, -1, -1, -1, -1, -1, -1, -1,
5341  -1, -1, -1, -1, 325, -1, -1, -1, -1, -1,
5342  -1, -1, 192, 193, 194, -1, -1, -1, -1, -1,
5343  -1, 201, -1, -1, 246, -1, -1, -1, -1, -1,
5344  252, 352, 254, 213, -1, 257, -1, 259, 260, 261,
5345  -1, -1, -1, 265, -1, 267, -1, -1, -1, -1,
5346  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5347  -1, 382, -1, -1, -1, -1, 246, -1, -1, -1,
5348  -1, -1, 252, -1, 254, -1, -1, 257, -1, 259,
5349  260, 261, -1, -1, 306, 265, -1, 267, -1, -1,
5350  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5351  421, -1, -1, 325, -1, -1, -1, -1, -1, -1,
5352  -1, -1, 433, 434, -1, -1, -1, -1, -1, -1,
5353  441, -1, -1, -1, -1, -1, 306, -1, -1, -1,
5354  352, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5355  -1, -1, -1, -1, 465, 325, 467, 83, 469, 470,
5356  -1, -1, -1, -1, -1, -1, 477, -1, -1, -1,
5357  382, -1, -1, 83, 100, -1, -1, -1, -1, -1,
5358  -1, -1, 352, -1, -1, -1, 497, -1, -1, -1,
5359  100, 502, -1, -1, -1, -1, -1, 508, -1, 510,
5360  -1, -1, -1, -1, -1, 516, -1, -1, -1, 421,
5361  -1, -1, 382, -1, -1, -1, -1, -1, -1, -1,
5362  -1, 433, 434, -1, -1, -1, -1, -1, -1, -1,
5363  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5364  -1, -1, -1, 455, -1, -1, -1, -1, -1, -1,
5365  -1, 421, -1, 465, -1, 467, -1, 469, 470, 83,
5366  -1, -1, -1, 433, 434, 477, 192, 193, 194, -1,
5367  -1, -1, -1, -1, -1, 201, 100, -1, -1, -1,
5368  -1, -1, 192, 193, 194, 497, -1, 213, -1, -1,
5369  502, 201, -1, -1, -1, 465, 508, 467, 510, 469,
5370  470, -1, -1, 213, 516, -1, -1, 477, -1, -1,
5371  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5372  246, -1, -1, -1, -1, -1, 252, 497, 254, -1,
5373  -1, 257, 502, 259, 260, 261, 246, -1, 508, 265,
5374  510, 267, 252, 83, 254, -1, 516, 257, -1, 259,
5375  260, 261, -1, -1, -1, 265, -1, 267, -1, -1,
5376  100, -1, -1, -1, -1, -1, -1, -1, 192, 193,
5377  194, -1, -1, -1, -1, -1, -1, 201, 83, -1,
5378  306, -1, -1, -1, -1, -1, -1, -1, -1, 213,
5379  -1, -1, -1, -1, -1, 100, 306, -1, -1, 325,
5380  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5381  -1, -1, -1, -1, -1, 325, -1, -1, -1, -1,
5382  -1, -1, 246, -1, -1, -1, 352, -1, 252, -1,
5383  254, -1, -1, 257, -1, 259, 260, 261, -1, -1,
5384  -1, 265, 352, 267, -1, -1, -1, -1, -1, -1,
5385  -1, 191, 192, 193, 194, -1, 382, -1, -1, -1,
5386  -1, 201, -1, -1, -1, -1, -1, -1, 378, -1,
5387  -1, -1, 382, -1, -1, -1, -1, -1, -1, -1,
5388  -1, -1, 306, -1, -1, -1, 191, 192, 193, 194,
5389  -1, -1, -1, -1, -1, 421, 201, -1, -1, -1,
5390  -1, 325, -1, -1, -1, -1, -1, 433, 434, -1,
5391  -1, 421, -1, -1, -1, -1, -1, 257, -1, 259,
5392  260, 261, -1, 433, 434, 265, -1, -1, 352, -1,
5393  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5394  -1, 467, -1, 469, -1, -1, -1, -1, -1, -1,
5395  -1, 477, 257, -1, 259, 260, 261, 467, 382, -1,
5396  265, -1, -1, -1, -1, -1, 306, 477, -1, -1,
5397  -1, 497, -1, -1, -1, -1, 502, -1, -1, -1,
5398  -1, -1, 508, -1, 510, -1, -1, 497, -1, -1,
5399  516, -1, 502, -1, -1, -1, -1, 421, 508, -1,
5400  510, 306, -1, -1, -1, -1, 516, -1, -1, 433,
5401  434, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5402  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5403  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5404  -1, -1, 382, 467, -1, -1, -1, -1, -1, -1,
5405  -1, -1, -1, 477, -1, -1, -1, -1, -1, -1,
5406  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5407  -1, -1, -1, 497, -1, -1, -1, 382, 502, -1,
5408  -1, -1, -1, -1, 508, -1, 510, -1, -1, -1,
5409  -1, -1, 516, 433, 434, -1, -1, -1, -1, -1,
5410  -1, -1, -1, -1, -1, -1, 446, -1, -1, -1,
5411  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5412  -1, -1, -1, -1, -1, -1, -1, -1, 433, 434,
5413  -1, -1, -1, -1, -1, -1, -1, 477, -1, -1,
5414  -1, 446, -1, -1, -1, -1, -1, -1, 488, -1,
5415  -1, -1, -1, -1, -1, -1, -1, 497, -1, -1,
5416  -1, -1, 502, -1, -1, 505, -1, -1, 508, 509,
5417  510, -1, 477, -1, -1, -1, -1, -1, -1, -1,
5418  -1, -1, -1, 488, -1, -1, -1, -1, -1, -1,
5419  -1, -1, 497, -1, -1, -1, -1, 502, -1, -1,
5420  505, -1, -1, 508, 509, 510
5421 };
5422 
5423  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
5424  symbol of state STATE-NUM. */
5425 static const yytype_uint16 yystos[] =
5426 {
5427  0, 519, 520, 0, 215, 521, 522, 523, 524, 525,
5428  526, 527, 533, 123, 523, 154, 532, 543, 544, 200,
5429  346, 534, 536, 458, 123, 103, 657, 659, 85, 545,
5430  546, 458, 458, 532, 532, 458, 123, 342, 811, 814,
5431  461, 660, 399, 227, 609, 610, 307, 420, 547, 548,
5432  552, 257, 347, 537, 537, 143, 528, 529, 530, 139,
5433  531, 458, 123, 837, 838, 399, 661, 458, 399, 174,
5434  611, 458, 458, 422, 570, 552, 548, 26, 539, 539,
5435  257, 347, 538, 530, 538, 56, 503, 815, 1, 3,
5436  5, 10, 18, 51, 52, 61, 72, 75, 89, 112,
5437  120, 122, 153, 164, 169, 195, 202, 205, 206, 216,
5438  223, 225, 228, 270, 274, 276, 286, 314, 327, 355,
5439  356, 366, 379, 380, 386, 390, 398, 408, 417, 426,
5440  431, 432, 435, 437, 445, 458, 476, 482, 487, 513,
5441  839, 840, 856, 861, 865, 870, 885, 888, 892, 896,
5442  897, 898, 903, 917, 921, 924, 938, 942, 945, 948,
5443  952, 953, 957, 967, 970, 987, 989, 992, 996, 1002,
5444  1014, 1022, 1023, 1026, 1027, 1031, 1036, 1037, 1045, 1061,
5445  1071, 1080, 1085, 1092, 1096, 1098, 1101, 1104, 1107, 1134,
5446  839, 458, 173, 397, 658, 662, 663, 665, 458, 458,
5447  613, 553, 549, 458, 11, 59, 97, 99, 101, 109,
5448  165, 258, 304, 395, 438, 510, 571, 572, 573, 574,
5449  575, 581, 590, 592, 597, 600, 601, 603, 604, 605,
5450  606, 607, 608, 257, 458, 535, 458, 458, 817, 816,
5451  381, 823, 3, 5, 10, 18, 51, 52, 61, 72,
5452  75, 89, 112, 120, 122, 129, 131, 132, 133, 134,
5453  135, 136, 137, 138, 140, 141, 142, 144, 145, 146,
5454  147, 148, 149, 150, 151, 152, 153, 164, 169, 195,
5455  202, 205, 206, 216, 223, 225, 228, 270, 274, 276,
5456  286, 314, 327, 355, 366, 380, 386, 390, 398, 408,
5457  417, 426, 431, 432, 435, 437, 445, 458, 476, 482,
5458  487, 513, 1266, 841, 857, 862, 866, 871, 886, 889,
5459  893, 899, 904, 918, 922, 925, 939, 943, 946, 949,
5460  203, 381, 880, 941, 954, 958, 968, 971, 988, 990,
5461  993, 404, 997, 1003, 1015, 1024, 1028, 1032, 1038, 1046,
5462  1062, 1072, 257, 352, 392, 421, 516, 1084, 1086, 1093,
5463  341, 1097, 1099, 826, 1102, 1105, 1108, 1135, 512, 690,
5464  692, 693, 1, 510, 1191, 235, 402, 612, 614, 57,
5465  64, 269, 345, 401, 406, 510, 554, 555, 556, 557,
5466  558, 559, 560, 562, 1275, 1337, 550, 562, 1, 510,
5467  1205, 1205, 428, 410, 1308, 233, 1289, 1289, 1289, 1205,
5468  410, 1289, 58, 1276, 576, 375, 563, 573, 458, 574,
5469  219, 591, 540, 1289, 49, 818, 819, 820, 1274, 818,
5470  311, 510, 458, 311, 510, 842, 844, 1228, 1229, 1232,
5471  6, 9, 83, 95, 100, 192, 193, 194, 201, 213,
5472  246, 252, 254, 257, 259, 260, 261, 265, 267, 272,
5473  306, 325, 352, 382, 421, 433, 434, 467, 477, 497,
5474  502, 508, 516, 858, 1185, 1210, 1211, 1228, 1239, 1240,
5475  1241, 1242, 1243, 1244, 1245, 246, 465, 469, 470, 863,
5476  1180, 1181, 1182, 1183, 1184, 1185, 1214, 1228, 1240, 1242,
5477  257, 867, 868, 1196, 1197, 1198, 1232, 272, 427, 429,
5478  872, 873, 257, 887, 1219, 1228, 890, 1191, 6, 894,
5479  1186, 1187, 1208, 1230, 1231, 1232, 1240, 461, 900, 1191,
5480  257, 311, 905, 906, 907, 908, 910, 1210, 1219, 1228,
5481  919, 1211, 257, 923, 460, 471, 926, 927, 928, 1168,
5482  1169, 1170, 199, 326, 327, 345, 399, 940, 944, 1207,
5483  1208, 947, 1232, 453, 950, 1317, 1211, 1167, 1168, 959,
5484  1207, 510, 969, 1192, 972, 973, 1228, 1239, 1242, 1063,
5485  1226, 1227, 1232, 95, 991, 1211, 994, 1211, 171, 226,
5486  234, 320, 998, 999, 191, 257, 509, 1004, 1008, 1009,
5487  1010, 1196, 1220, 1228, 1232, 1242, 1321, 1016, 1191, 1025,
5488  1188, 1232, 1029, 1191, 1033, 1188, 9, 1039, 1189, 1232,
5489  154, 241, 272, 1047, 1050, 1051, 1054, 1055, 1056, 1057,
5490  1058, 1059, 1060, 1193, 1194, 1207, 1225, 1227, 1232, 1063,
5491  1073, 1191, 1081, 113, 1087, 1088, 1089, 1211, 95, 1094,
5492  1210, 1100, 1192, 458, 510, 827, 828, 831, 832, 837,
5493  1103, 1228, 1106, 1191, 1109, 1228, 1136, 1188, 399, 262,
5494  746, 694, 695, 697, 707, 1253, 458, 664, 458, 291,
5495  315, 1261, 275, 393, 647, 648, 649, 650, 652, 406,
5496  415, 64, 1289, 458, 556, 458, 510, 555, 60, 1289,
5497  551, 1321, 582, 1289, 1289, 1289, 1200, 1232, 69, 1200,
5498  1289, 1289, 1200, 510, 593, 594, 595, 1206, 257, 310,
5499  312, 577, 579, 580, 1048, 1235, 1289, 458, 458, 510,
5500  458, 73, 172, 360, 463, 541, 542, 819, 415, 483,
5501  821, 363, 504, 812, 219, 309, 1327, 131, 855, 843,
5502  196, 469, 1233, 1234, 309, 1299, 1241, 1228, 469, 469,
5503  469, 1247, 1229, 1240, 1242, 1327, 1327, 469, 469, 469,
5504  469, 1327, 469, 1247, 132, 860, 453, 859, 1211, 454,
5505  469, 1246, 469, 469, 1229, 1240, 1242, 1184, 1228, 1180,
5506  1184, 58, 465, 470, 457, 466, 170, 224, 1256, 868,
5507  453, 1327, 133, 884, 257, 1220, 1219, 1191, 362, 481,
5508  891, 1321, 1333, 1299, 134, 895, 160, 459, 1187, 1325,
5509  391, 1262, 1233, 1234, 901, 1191, 135, 902, 357, 1305,
5510  136, 916, 166, 1147, 1148, 908, 1209, 1210, 909, 492,
5511  493, 494, 495, 137, 920, 49, 229, 503, 874, 138,
5512  937, 17, 507, 929, 930, 931, 933, 12, 13, 14,
5513  20, 160, 170, 207, 208, 247, 248, 285, 291, 296,
5514  304, 311, 316, 335, 455, 457, 459, 462, 464, 465,
5515  466, 469, 470, 1171, 1172, 1173, 1174, 1175, 1176, 1177,
5516  1211, 102, 941, 1208, 1195, 448, 1315, 960, 1321, 1192,
5517  93, 371, 443, 974, 975, 977, 978, 1065, 469, 1233,
5518  1211, 453, 141, 995, 49, 999, 409, 1000, 1009, 142,
5519  458, 1005, 1007, 488, 505, 449, 452, 446, 144, 1021,
5520  286, 337, 1259, 196, 1137, 145, 1030, 1305, 146, 1035,
5521  1137, 1189, 147, 1044, 505, 1040, 1217, 1228, 1240, 166,
5522  1057, 1059, 1207, 453, 1194, 124, 453, 489, 1049, 31,
5523  1233, 148, 1079, 178, 238, 241, 1075, 880, 1082, 1321,
5524  1274, 149, 1091, 229, 1089, 1228, 150, 1095, 196, 1192,
5525  399, 458, 458, 196, 357, 359, 1306, 151, 1118, 113,
5526  1110, 152, 1141, 1137, 458, 399, 256, 748, 458, 695,
5527  458, 1, 176, 510, 698, 699, 510, 666, 315, 1205,
5528  653, 357, 417, 418, 651, 1, 458, 649, 1289, 406,
5529  1235, 458, 1289, 510, 1201, 458, 108, 1289, 213, 257,
5530  267, 352, 421, 467, 516, 598, 599, 1238, 1200, 257,
5531  257, 475, 594, 22, 233, 1206, 1290, 1048, 233, 428,
5532  1301, 1289, 97, 1205, 564, 542, 345, 1304, 1289, 415,
5533  315, 822, 110, 824, 1232, 30, 197, 273, 845, 846,
5534  847, 849, 852, 1272, 1321, 24, 25, 66, 68, 70,
5535  104, 105, 106, 154, 156, 163, 166, 253, 255, 450,
5536  500, 510, 848, 1194, 1324, 1178, 1180, 469, 1234, 153,
5537  345, 1215, 1229, 453, 1178, 1180, 1251, 1178, 1252, 455,
5538  1178, 510, 510, 1180, 1250, 1250, 1250, 1213, 1228, 1240,
5539  1242, 1249, 510, 1213, 1248, 6, 1186, 1211, 1232, 1240,
5540  203, 1241, 1180, 1213, 1178, 455, 224, 1257, 1181, 1181,
5541  1182, 1182, 1182, 381, 864, 344, 869, 1198, 874, 891,
5542  263, 288, 189, 1282, 1229, 1180, 273, 1263, 1234, 1191,
5543  232, 1163, 1164, 834, 835, 297, 1149, 491, 849, 852,
5544  911, 912, 913, 1321, 1147, 1147, 1147, 1147, 1211, 1186,
5545  1211, 875, 928, 21, 460, 471, 934, 935, 1169, 507,
5546  931, 932, 507, 834, 1317, 233, 1172, 115, 951, 1196,
5547  129, 834, 955, 9, 12, 15, 16, 278, 279, 304,
5548  305, 961, 965, 176, 1217, 9, 58, 178, 242, 475,
5549  981, 982, 983, 976, 977, 125, 312, 509, 1067, 1300,
5550  1336, 453, 1207, 1186, 1211, 1000, 1321, 1190, 1191, 834,
5551  169, 1011, 1167, 1012, 1013, 1228, 1196, 8, 37, 1139,
5552  1305, 1224, 1228, 1239, 1242, 229, 1017, 1034, 1321, 130,
5553  1041, 1228, 1041, 453, 453, 453, 1048, 153, 460, 471,
5554  1211, 49, 38, 46, 212, 244, 266, 321, 383, 480,
5555  1052, 1053, 1289, 1074, 1321, 1211, 162, 290, 415, 1211,
5556  1228, 196, 1186, 1211, 833, 1235, 1217, 1274, 229, 1113,
5557  1138, 1139, 691, 458, 399, 372, 750, 458, 458, 696,
5558  86, 47, 63, 103, 240, 251, 357, 358, 372, 374,
5559  458, 504, 667, 668, 670, 674, 675, 678, 679, 685,
5560  686, 687, 688, 1289, 615, 461, 1280, 23, 1270, 458,
5561  1235, 258, 440, 501, 561, 1201, 273, 28, 127, 213,
5562  257, 267, 281, 352, 421, 424, 425, 516, 583, 584,
5563  585, 588, 599, 449, 602, 1321, 405, 257, 596, 1236,
5564  1301, 233, 1205, 1205, 578, 579, 199, 565, 566, 567,
5565  32, 111, 1235, 1289, 510, 458, 813, 516, 1221, 1225,
5566  1235, 1289, 163, 166, 1142, 1143, 1144, 847, 65, 67,
5567  253, 334, 850, 851, 1323, 32, 35, 38, 46, 92,
5568  111, 190, 198, 212, 244, 264, 266, 288, 289, 321,
5569  350, 351, 376, 383, 396, 400, 415, 442, 451, 480,
5570  490, 496, 853, 854, 1142, 515, 514, 1217, 1142, 238,
5571  428, 302, 277, 71, 403, 455, 1179, 456, 1180, 257,
5572  1216, 1229, 1228, 1179, 455, 1179, 455, 455, 1179, 455,
5573  455, 455, 1179, 455, 1179, 455, 1299, 416, 1150, 1151,
5574  1233, 1234, 1186, 456, 455, 455, 453, 1258, 864, 1208,
5575  453, 1196, 879, 880, 385, 368, 1150, 1289, 834, 298,
5576  1165, 836, 834, 97, 98, 339, 510, 914, 1194, 912,
5577  35, 38, 45, 46, 92, 161, 190, 212, 266, 301,
5578  321, 383, 396, 415, 480, 915, 203, 1150, 203, 876,
5579  877, 878, 1274, 17, 449, 936, 319, 934, 1300, 834,
5580  129, 140, 956, 1317, 371, 962, 1317, 453, 49, 982,
5581  984, 1217, 9, 58, 242, 475, 979, 980, 1217, 125,
5582  64, 406, 1068, 1322, 27, 116, 731, 219, 317, 1285,
5583  1207, 1150, 203, 1190, 9, 288, 355, 646, 384, 1001,
5584  1191, 1321, 142, 1006, 8, 196, 1017, 1228, 130, 1156,
5585  1158, 1163, 263, 288, 834, 507, 507, 1042, 1043, 1217,
5586  310, 1216, 1211, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
5587  1048, 1053, 291, 296, 1076, 1077, 1078, 1173, 1260, 1163,
5588  245, 415, 1335, 428, 1313, 1313, 1090, 1321, 1228, 1150,
5589  203, 458, 453, 9, 1111, 1112, 1254, 1114, 1228, 1090,
5590  1114, 1034, 7, 1267, 692, 747, 458, 399, 394, 795,
5591  709, 700, 1289, 87, 1277, 1289, 357, 359, 1332, 1332,
5592  1289, 1277, 1289, 273, 1296, 1289, 22, 1269, 309, 689,
5593  1205, 172, 204, 616, 444, 1314, 1282, 58, 511, 1331,
5594  585, 17, 449, 1238, 331, 1236, 1205, 9, 201, 510,
5595  569, 1, 458, 567, 32, 1235, 825, 826, 47, 295,
5596  297, 1145, 1146, 834, 302, 1297, 1297, 1297, 1289, 1289,
5597  854, 57, 415, 124, 489, 1289, 8, 1268, 1142, 1180,
5598  455, 1180, 1262, 441, 1246, 441, 1246, 1200, 1246, 1246,
5599  1246, 1213, 242, 475, 1246, 1229, 834, 300, 1152, 1234,
5600  1150, 455, 1180, 1246, 1246, 1218, 1228, 1239, 166, 468,
5601  882, 6, 229, 292, 311, 467, 881, 1288, 34, 282,
5602  283, 284, 349, 473, 474, 478, 1264, 834, 837, 1289,
5603  253, 394, 130, 157, 159, 803, 804, 1279, 1289, 124,
5604  489, 1289, 1186, 1187, 1186, 1187, 877, 311, 821, 88,
5605  363, 504, 935, 1168, 834, 1228, 834, 504, 963, 964,
5606  965, 966, 1315, 504, 1218, 1217, 49, 985, 980, 189,
5607  985, 406, 1064, 1289, 238, 1291, 317, 1186, 1001, 319,
5608  1302, 1302, 313, 263, 288, 1013, 1211, 218, 1018, 1321,
5609  834, 293, 1159, 263, 1168, 1167, 1042, 1173, 1228, 1174,
5610  1175, 1176, 1177, 1180, 1083, 1211, 1083, 468, 1153, 1154,
5611  333, 1262, 1186, 829, 1218, 316, 1217, 114, 1115, 443,
5612  1117, 158, 294, 1140, 1160, 1161, 1162, 1163, 324, 1194,
5613  1221, 692, 749, 458, 399, 21, 36, 39, 40, 41,
5614  42, 43, 44, 45, 74, 76, 77, 78, 79, 80,
5615  81, 82, 120, 179, 180, 181, 182, 183, 186, 187,
5616  220, 236, 278, 308, 322, 330, 333, 348, 361, 369,
5617  410, 412, 413, 414, 439, 484, 485, 486, 498, 504,
5618  710, 711, 712, 714, 715, 716, 717, 718, 719, 720,
5619  723, 735, 736, 737, 738, 739, 744, 745, 1289, 1310,
5620  26, 196, 708, 1271, 204, 1235, 510, 1289, 1269, 510,
5621  1202, 1203, 311, 423, 1328, 257, 1200, 1204, 1235, 505,
5622  1289, 175, 214, 510, 676, 1205, 4, 19, 29, 221,
5623  253, 318, 323, 357, 365, 377, 409, 417, 458, 461,
5624  617, 618, 625, 627, 629, 630, 631, 632, 633, 636,
5625  637, 638, 639, 640, 642, 643, 645, 1305, 1322, 1277,
5626  1190, 586, 588, 257, 230, 26, 568, 201, 230, 458,
5627  826, 834, 1221, 1221, 1221, 1221, 1221, 1289, 1289, 1166,
5628  1223, 1225, 1235, 1166, 1221, 257, 1222, 1225, 1237, 455,
5629  1150, 834, 455, 834, 834, 297, 883, 1299, 1228, 1221,
5630  1299, 253, 394, 1221, 1166, 1166, 1221, 1150, 367, 1150,
5631  367, 1211, 964, 103, 1278, 1317, 985, 985, 1218, 8,
5632  37, 986, 226, 503, 1069, 1200, 1066, 1150, 385, 49,
5633  263, 238, 1019, 217, 237, 263, 288, 506, 834, 834,
5634  834, 834, 299, 1155, 1289, 1150, 1150, 499, 830, 1119,
5635  1112, 219, 1284, 96, 1116, 1284, 1153, 834, 834, 1162,
5636  253, 255, 1293, 692, 751, 458, 245, 304, 411, 483,
5637  1309, 483, 1309, 483, 1309, 483, 1309, 483, 1309, 507,
5638  1319, 389, 1307, 126, 1235, 1229, 1232, 233, 243, 389,
5639  1292, 1289, 1290, 172, 204, 242, 475, 510, 50, 245,
5640  246, 701, 1239, 453, 673, 1203, 255, 1295, 453, 1276,
5641  1284, 510, 1289, 1289, 1296, 1305, 453, 503, 1318, 407,
5642  1289, 1275, 114, 1291, 1291, 288, 644, 1235, 1321, 428,
5643  263, 39, 1273, 1289, 654, 655, 1191, 587, 588, 257,
5644  130, 1219, 1221, 253, 255, 1334, 834, 1228, 1187, 1187,
5645  49, 111, 985, 463, 1287, 1287, 342, 1190, 203, 320,
5646  1070, 1232, 1211, 1289, 1020, 1157, 1158, 1159, 1163, 263,
5647  263, 263, 834, 1228, 1120, 458, 1228, 1284, 1228, 752,
5648  796, 516, 53, 727, 453, 724, 449, 717, 741, 742,
5649  1239, 26, 713, 405, 1265, 1265, 1299, 1, 40, 41,
5650  42, 43, 44, 179, 180, 181, 182, 183, 184, 185,
5651  333, 348, 702, 703, 704, 705, 706, 718, 719, 1229,
5652  702, 1235, 58, 359, 669, 680, 1235, 415, 1311, 257,
5653  677, 1232, 677, 1289, 1291, 126, 172, 622, 365, 637,
5654  1289, 1289, 1289, 1289, 1270, 646, 1289, 1296, 407, 510,
5655  655, 334, 656, 17, 110, 1150, 1150, 1211, 1211, 1211,
5656  1289, 1190, 342, 488, 1228, 1159, 30, 128, 167, 204,
5657  1121, 1122, 1123, 1125, 1129, 1131, 1132, 1133, 1272, 1282,
5658  1228, 354, 753, 697, 707, 797, 798, 799, 1284, 196,
5659  725, 1235, 452, 1316, 1232, 740, 742, 449, 257, 1275,
5660  702, 458, 48, 472, 681, 682, 683, 684, 1321, 1276,
5661  196, 672, 1283, 126, 353, 407, 626, 1289, 118, 119,
5662  120, 239, 253, 338, 339, 340, 353, 444, 619, 620,
5663  621, 1204, 424, 641, 1200, 1200, 1200, 1289, 1235, 588,
5664  458, 1008, 1289, 1167, 37, 1268, 345, 108, 1192, 1,
5665  698, 799, 458, 510, 1235, 724, 115, 726, 507, 743,
5666  1320, 1239, 1204, 1204, 188, 673, 1235, 641, 257, 624,
5667  1232, 624, 7, 624, 624, 257, 623, 1232, 419, 459,
5668  33, 168, 268, 634, 1008, 373, 423, 1312, 130, 426,
5669  1130, 1300, 754, 458, 800, 458, 224, 728, 1300, 729,
5670  730, 408, 460, 1272, 1276, 1255, 1336, 1280, 1289, 1199,
5671  1200, 509, 635, 635, 1228, 162, 166, 1326, 9, 1126,
5672  1127, 1197, 1, 755, 801, 729, 1200, 221, 732, 731,
5673  453, 1289, 1204, 115, 671, 437, 628, 1199, 1200, 263,
5674  390, 342, 1303, 309, 343, 364, 1128, 1127, 458, 62,
5675  90, 91, 324, 458, 756, 757, 760, 1289, 1345, 32,
5676  35, 38, 45, 46, 161, 190, 196, 198, 209, 212,
5677  244, 253, 266, 308, 321, 350, 376, 383, 400, 453,
5678  463, 480, 503, 715, 716, 720, 735, 737, 739, 802,
5679  809, 810, 1289, 1323, 732, 1274, 1291, 1239, 1300, 507,
5680  312, 1300, 309, 1232, 1289, 1289, 1269, 249, 250, 1294,
5681  769, 204, 177, 758, 1281, 1289, 253, 394, 803, 804,
5682  1289, 1224, 1297, 1235, 57, 1228, 1228, 204, 1297, 510,
5683  733, 734, 1289, 1200, 9, 421, 516, 589, 275, 357,
5684  359, 1330, 171, 226, 234, 320, 1124, 1190, 1219, 1289,
5685  1269, 761, 1237, 697, 770, 759, 1228, 1221, 1221, 1289,
5686  1316, 1289, 1289, 734, 1199, 1241, 1330, 762, 253, 255,
5687  1329, 510, 698, 1228, 271, 332, 465, 470, 805, 806,
5688  807, 1219, 805, 806, 808, 178, 188, 211, 241, 763,
5689  764, 765, 766, 767, 768, 1237, 771, 1221, 1221, 107,
5690  117, 1338, 1289, 1289, 55, 90, 1338, 1339, 1324, 772,
5691  1289, 1237, 1237, 211, 1289, 1289, 210, 253, 255, 286,
5692  308, 336, 419, 436, 458, 479, 498, 505, 715, 720,
5693  721, 735, 737, 739, 773, 774, 778, 779, 782, 783,
5694  784, 785, 786, 787, 792, 793, 794, 1323, 1324, 1237,
5695  1237, 1237, 222, 1286, 302, 303, 1298, 1269, 210, 1235,
5696  507, 1289, 1299, 1289, 1289, 1228, 287, 332, 788, 789,
5697  1237, 332, 790, 791, 1237, 1298, 1269, 1290, 1289, 724,
5698  1167, 1214, 1212, 1214, 54, 90, 324, 328, 329, 372,
5699  387, 388, 775, 1338, 1339, 1340, 1341, 1342, 1343, 1344,
5700  120, 196, 1235, 789, 1235, 791, 1290, 789, 1316, 1262,
5701  378, 780, 1214, 188, 188, 211, 188, 211, 177, 776,
5702  1228, 776, 1214, 726, 1300, 316, 777, 777, 49, 430,
5703  722, 177, 781, 1228, 324, 1214, 1235
5704 };
5705 
5706  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
5707 static const yytype_uint16 yyr1[] =
5708 {
5709  0, 518, 520, 519, 521, 521, 522, 522, 523, 523,
5710  525, 524, 526, 527, 528, 528, 529, 529, 530, 531,
5711  532, 533, 533, 535, 534, 536, 537, 537, 538, 538,
5712  539, 539, 540, 540, 541, 541, 541, 541, 542, 542,
5713  543, 544, 544, 545, 546, 546, 547, 547, 547, 547,
5714  547, 549, 548, 550, 550, 551, 551, 553, 552, 554,
5715  554, 554, 554, 555, 555, 556, 556, 556, 556, 557,
5716  558, 559, 560, 561, 561, 561, 561, 562, 562, 563,
5717  564, 563, 565, 565, 565, 566, 566, 567, 567, 567,
5718  568, 568, 569, 569, 570, 570, 571, 571, 572, 572,
5719  573, 573, 574, 574, 574, 574, 574, 574, 574, 574,
5720  574, 574, 574, 574, 576, 575, 577, 577, 577, 577,
5721  578, 578, 579, 580, 580, 582, 581, 583, 583, 583,
5722  583, 583, 583, 584, 584, 585, 585, 586, 585, 587,
5723  587, 588, 588, 588, 588, 588, 588, 589, 589, 590,
5724  591, 591, 592, 593, 593, 594, 595, 595, 596, 596,
5725  597, 598, 598, 599, 599, 600, 601, 602, 602, 603,
5726  604, 605, 606, 607, 608, 609, 610, 610, 611, 611,
5727  612, 612, 613, 613, 615, 614, 616, 616, 617, 617,
5728  617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
5729  617, 618, 618, 618, 618, 618, 619, 619, 619, 620,
5730  620, 620, 620, 621, 621, 622, 622, 622, 623, 623,
5731  624, 624, 624, 625, 626, 626, 626, 627, 628, 628,
5732  628, 629, 630, 631, 631, 631, 633, 632, 634, 634,
5733  634, 635, 635, 635, 635, 636, 636, 637, 637, 637,
5734  637, 638, 639, 640, 641, 641, 641, 642, 643, 644,
5735  644, 645, 646, 646, 646, 647, 647, 647, 648, 648,
5736  649, 649, 650, 651, 651, 651, 651, 653, 652, 654,
5737  654, 655, 656, 656, 658, 657, 659, 659, 660, 660,
5738  661, 661, 662, 664, 663, 663, 665, 665, 666, 666,
5739  667, 667, 667, 667, 667, 667, 667, 667, 667, 667,
5740  667, 668, 669, 669, 669, 670, 670, 670, 671, 671,
5741  672, 672, 673, 673, 674, 675, 675, 676, 676, 677,
5742  677, 678, 679, 680, 680, 681, 681, 681, 682, 683,
5743  684, 685, 686, 687, 688, 688, 689, 689, 690, 691,
5744  690, 692, 693, 692, 694, 694, 694, 695, 696, 695,
5745  695, 697, 698, 698, 698, 699, 700, 700, 701, 701,
5746  701, 701, 702, 702, 702, 702, 702, 702, 702, 702,
5747  702, 702, 702, 702, 702, 703, 703, 704, 704, 705,
5748  705, 705, 706, 706, 707, 708, 708, 709, 709, 710,
5749  710, 710, 710, 710, 710, 710, 710, 710, 710, 710,
5750  710, 710, 710, 711, 712, 713, 713, 714, 715, 716,
5751  716, 717, 717, 717, 717, 717, 717, 717, 717, 717,
5752  717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
5753  717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
5754  717, 717, 717, 717, 717, 717, 717, 718, 718, 719,
5755  719, 720, 720, 721, 722, 722, 723, 723, 724, 724,
5756  725, 725, 726, 726, 727, 727, 728, 728, 729, 730,
5757  730, 731, 731, 732, 732, 733, 733, 734, 735, 736,
5758  737, 738, 740, 739, 741, 741, 742, 742, 743, 743,
5759  744, 744, 745, 745, 746, 747, 746, 748, 749, 748,
5760  750, 751, 750, 752, 752, 754, 753, 755, 755, 755,
5761  756, 756, 756, 756, 757, 758, 759, 759, 760, 761,
5762  761, 761, 762, 762, 763, 763, 763, 763, 763, 764,
5763  765, 766, 767, 768, 769, 769, 771, 770, 772, 772,
5764  773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
5765  773, 773, 773, 773, 773, 773, 774, 775, 775, 775,
5766  775, 775, 775, 775, 776, 776, 776, 777, 777, 778,
5767  779, 780, 780, 781, 781, 782, 783, 784, 785, 785,
5768  786, 787, 787, 788, 788, 789, 789, 789, 790, 790,
5769  791, 791, 792, 793, 794, 795, 796, 795, 797, 797,
5770  798, 798, 799, 800, 799, 799, 801, 801, 802, 802,
5771  802, 802, 802, 802, 802, 802, 802, 802, 802, 802,
5772  802, 802, 802, 802, 802, 802, 802, 802, 802, 802,
5773  802, 802, 802, 802, 802, 802, 802, 802, 802, 802,
5774  802, 802, 802, 803, 803, 804, 804, 805, 805, 806,
5775  806, 807, 807, 807, 808, 808, 808, 809, 810, 811,
5776  812, 813, 811, 814, 811, 815, 816, 815, 817, 815,
5777  818, 818, 819, 820, 820, 820, 821, 821, 821, 821,
5778  821, 821, 822, 822, 823, 823, 823, 824, 825, 824,
5779  826, 826, 827, 827, 827, 827, 827, 829, 828, 830,
5780  830, 831, 832, 833, 833, 835, 836, 834, 838, 837,
5781  837, 839, 839, 839, 839, 839, 839, 839, 839, 839,
5782  839, 839, 839, 839, 839, 839, 839, 839, 839, 839,
5783  839, 839, 839, 839, 839, 839, 839, 839, 839, 839,
5784  839, 839, 839, 839, 839, 839, 839, 839, 839, 839,
5785  839, 839, 839, 839, 839, 839, 839, 839, 839, 839,
5786  839, 839, 841, 840, 843, 842, 842, 842, 842, 842,
5787  842, 842, 842, 842, 842, 842, 842, 842, 842, 842,
5788  842, 842, 842, 842, 844, 844, 845, 845, 846, 846,
5789  847, 847, 847, 847, 848, 848, 849, 849, 849, 850,
5790  851, 851, 852, 853, 853, 853, 853, 853, 853, 853,
5791  853, 853, 853, 853, 853, 853, 853, 853, 853, 853,
5792  853, 853, 853, 853, 853, 853, 853, 853, 853, 853,
5793  853, 854, 854, 855, 855, 857, 856, 858, 858, 858,
5794  859, 859, 860, 860, 862, 861, 863, 863, 864, 864,
5795  866, 865, 867, 867, 868, 869, 869, 871, 870, 872,
5796  873, 873, 873, 873, 874, 875, 874, 876, 876, 877,
5797  877, 878, 878, 878, 878, 879, 879, 879, 879, 879,
5798  880, 880, 881, 881, 882, 882, 882, 883, 883, 884,
5799  884, 886, 885, 887, 887, 889, 888, 890, 890, 891,
5800  891, 891, 891, 891, 893, 892, 894, 895, 895, 896,
5801  897, 899, 898, 900, 900, 901, 901, 902, 902, 904,
5802  903, 905, 905, 905, 905, 905, 906, 906, 907, 907,
5803  909, 908, 910, 910, 911, 911, 912, 912, 912, 912,
5804  912, 913, 913, 913, 913, 914, 914, 915, 915, 915,
5805  915, 915, 915, 915, 915, 915, 915, 915, 915, 915,
5806  915, 915, 915, 915, 916, 916, 918, 917, 919, 919,
5807  919, 919, 919, 920, 920, 922, 921, 923, 925, 924,
5808  926, 927, 927, 928, 928, 928, 929, 929, 930, 930,
5809  931, 932, 933, 933, 934, 934, 935, 935, 935, 935,
5810  936, 936, 937, 937, 939, 938, 940, 940, 940, 940,
5811  940, 940, 940, 941, 941, 943, 942, 944, 946, 945,
5812  947, 949, 948, 950, 951, 951, 952, 954, 953, 955,
5813  955, 955, 956, 956, 958, 957, 959, 960, 960, 961,
5814  961, 961, 962, 962, 963, 963, 964, 965, 965, 965,
5815  965, 965, 965, 965, 966, 966, 968, 967, 969, 969,
5816  971, 970, 972, 973, 973, 973, 974, 974, 974, 974,
5817  976, 975, 977, 978, 979, 979, 980, 980, 980, 980,
5818  980, 980, 981, 981, 982, 982, 983, 983, 983, 983,
5819  983, 984, 985, 985, 986, 986, 988, 987, 990, 989,
5820  991, 991, 993, 992, 994, 994, 995, 995, 997, 996,
5821  998, 998, 999, 999, 999, 999, 1000, 1000, 1001, 1001,
5822  1001, 1001, 1003, 1002, 1004, 1005, 1004, 1004, 1006, 1006,
5823  1007, 1007, 1008, 1008, 1009, 1009, 1009, 1009, 1009, 1010,
5824  1010, 1011, 1011, 1012, 1012, 1013, 1015, 1014, 1016, 1017,
5825  1017, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1019, 1019,
5826  1020, 1020, 1021, 1021, 1022, 1024, 1023, 1025, 1026, 1028,
5827  1027, 1029, 1030, 1030, 1032, 1031, 1033, 1034, 1034, 1034,
5828  1035, 1035, 1036, 1038, 1037, 1039, 1039, 1040, 1040, 1041,
5829  1041, 1042, 1042, 1043, 1044, 1044, 1046, 1045, 1047, 1047,
5830  1047, 1047, 1047, 1047, 1047, 1048, 1048, 1049, 1049, 1050,
5831  1051, 1052, 1052, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
5832  1053, 1054, 1054, 1055, 1056, 1056, 1057, 1058, 1058, 1059,
5833  1059, 1060, 1062, 1061, 1064, 1063, 1065, 1065, 1066, 1066,
5834  1067, 1067, 1068, 1068, 1069, 1069, 1069, 1070, 1070, 1070,
5835  1072, 1071, 1073, 1074, 1074, 1075, 1075, 1075, 1075, 1076,
5836  1076, 1076, 1076, 1076, 1076, 1077, 1078, 1078, 1079, 1079,
5837  1081, 1080, 1080, 1082, 1082, 1082, 1082, 1083, 1083, 1084,
5838  1084, 1084, 1084, 1086, 1085, 1087, 1088, 1088, 1089, 1089,
5839  1089, 1090, 1090, 1091, 1091, 1093, 1092, 1094, 1094, 1094,
5840  1095, 1095, 1096, 1097, 1097, 1099, 1098, 1100, 1100, 1102,
5841  1101, 1103, 1105, 1104, 1106, 1108, 1107, 1109, 1110, 1110,
5842  1111, 1111, 1112, 1113, 1113, 1114, 1115, 1115, 1116, 1116,
5843  1117, 1117, 1118, 1118, 1120, 1119, 1121, 1121, 1121, 1121,
5844  1121, 1122, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1125,
5845  1126, 1126, 1127, 1127, 1127, 1128, 1128, 1128, 1128, 1129,
5846  1130, 1130, 1131, 1132, 1133, 1133, 1135, 1134, 1136, 1137,
5847  1137, 1138, 1138, 1138, 1138, 1139, 1139, 1140, 1140, 1141,
5848  1141, 1142, 1143, 1143, 1144, 1144, 1145, 1145, 1146, 1146,
5849  1147, 1148, 1148, 1149, 1149, 1150, 1151, 1151, 1152, 1152,
5850  1153, 1154, 1154, 1155, 1155, 1156, 1156, 1157, 1157, 1157,
5851  1158, 1159, 1160, 1160, 1160, 1161, 1162, 1163, 1164, 1164,
5852  1165, 1165, 1166, 1166, 1167, 1168, 1170, 1169, 1171, 1171,
5853  1171, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
5854  1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
5855  1172, 1172, 1172, 1172, 1172, 1173, 1173, 1174, 1174, 1175,
5856  1175, 1176, 1177, 1178, 1178, 1179, 1179, 1179, 1180, 1180,
5857  1180, 1181, 1181, 1181, 1182, 1182, 1183, 1183, 1183, 1184,
5858  1184, 1185, 1185, 1185, 1185, 1185, 1185, 1186, 1186, 1187,
5859  1188, 1189, 1190, 1190, 1191, 1192, 1193, 1193, 1194, 1195,
5860  1195, 1196, 1197, 1197, 1197, 1198, 1199, 1199, 1200, 1201,
5861  1202, 1202, 1203, 1204, 1204, 1205, 1205, 1206, 1207, 1207,
5862  1208, 1208, 1208, 1209, 1209, 1210, 1210, 1211, 1211, 1211,
5863  1211, 1211, 1211, 1211, 1211, 1211, 1211, 1212, 1212, 1213,
5864  1213, 1213, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1215,
5865  1215, 1216, 1216, 1217, 1217, 1218, 1218, 1219, 1219, 1220,
5866  1220, 1220, 1221, 1221, 1221, 1222, 1222, 1223, 1223, 1224,
5867  1224, 1224, 1225, 1226, 1227, 1227, 1228, 1229, 1229, 1229,
5868  1229, 1230, 1231, 1231, 1231, 1231, 1232, 1232, 1233, 1234,
5869  1234, 1235, 1236, 1237, 1238, 1238, 1238, 1238, 1238, 1238,
5870  1238, 1239, 1239, 1240, 1240, 1241, 1241, 1241, 1241, 1241,
5871  1241, 1241, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
5872  1242, 1242, 1242, 1242, 1243, 1243, 1244, 1244, 1244, 1245,
5873  1245, 1245, 1245, 1246, 1246, 1246, 1247, 1247, 1247, 1248,
5874  1248, 1248, 1249, 1249, 1250, 1250, 1251, 1251, 1252, 1252,
5875  1253, 1254, 1254, 1255, 1255, 1256, 1256, 1257, 1257, 1258,
5876  1258, 1259, 1259, 1259, 1260, 1260, 1261, 1261, 1261, 1262,
5877  1262, 1263, 1263, 1264, 1264, 1264, 1264, 1264, 1264, 1264,
5878  1264, 1265, 1265, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
5879  1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
5880  1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
5881  1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
5882  1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
5883  1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
5884  1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
5885  1266, 1266, 1266, 1267, 1267, 1268, 1268, 1269, 1269, 1270,
5886  1270, 1271, 1271, 1272, 1272, 1273, 1273, 1274, 1274, 1275,
5887  1275, 1276, 1276, 1277, 1277, 1278, 1278, 1279, 1279, 1280,
5888  1280, 1281, 1281, 1282, 1282, 1283, 1283, 1284, 1284, 1285,
5889  1285, 1285, 1286, 1286, 1287, 1287, 1288, 1288, 1289, 1289,
5890  1290, 1290, 1290, 1291, 1291, 1292, 1292, 1292, 1293, 1293,
5891  1293, 1294, 1294, 1294, 1295, 1295, 1296, 1296, 1297, 1297,
5892  1298, 1298, 1298, 1299, 1299, 1300, 1300, 1301, 1301, 1301,
5893  1301, 1302, 1302, 1303, 1303, 1304, 1304, 1305, 1305, 1306,
5894  1306, 1306, 1307, 1307, 1308, 1308, 1309, 1309, 1310, 1310,
5895  1310, 1311, 1311, 1312, 1312, 1313, 1313, 1314, 1314, 1315,
5896  1315, 1316, 1316, 1317, 1317, 1318, 1318, 1318, 1319, 1319,
5897  1320, 1320, 1321, 1321, 1322, 1322, 1323, 1323, 1324, 1324,
5898  1325, 1325, 1326, 1326, 1327, 1327, 1328, 1328, 1329, 1329,
5899  1330, 1330, 1331, 1331, 1332, 1332, 1333, 1333, 1334, 1334,
5900  1335, 1335, 1336, 1336, 1337, 1337, 1337, 1338, 1338, 1339,
5901  1339, 1340, 1340, 1341, 1341, 1342, 1342, 1343, 1343, 1344,
5902  1344, 1345, 1345
5903 };
5904 
5905  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
5906 static const yytype_uint8 yyr2[] =
5907 {
5908  0, 2, 0, 2, 1, 1, 1, 2, 1, 1,
5909  0, 2, 4, 4, 0, 1, 1, 2, 3, 3,
5910  3, 0, 3, 0, 7, 5, 1, 1, 1, 1,
5911  0, 2, 0, 3, 1, 2, 1, 1, 1, 1,
5912  3, 0, 3, 5, 0, 3, 0, 1, 1, 2,
5913  2, 0, 4, 0, 3, 0, 3, 0, 4, 0,
5914  2, 3, 2, 1, 2, 1, 1, 1, 1, 5,
5915  3, 3, 4, 1, 1, 1, 1, 1, 2, 0,
5916  0, 4, 0, 2, 3, 1, 2, 3, 3, 3,
5917  0, 2, 1, 2, 0, 2, 0, 1, 2, 3,
5918  1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
5919  1, 1, 1, 1, 0, 3, 2, 3, 3, 1,
5920  0, 1, 1, 3, 4, 0, 5, 1, 1, 1,
5921  1, 1, 1, 1, 2, 1, 3, 0, 4, 1,
5922  3, 1, 1, 1, 1, 1, 1, 1, 1, 2,
5923  0, 2, 3, 1, 2, 3, 1, 2, 1, 2,
5924  4, 1, 2, 1, 3, 4, 5, 0, 3, 3,
5925  5, 3, 4, 3, 3, 5, 0, 3, 0, 2,
5926  0, 2, 0, 2, 0, 6, 0, 2, 1, 1,
5927  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5928  1, 5, 5, 5, 5, 5, 1, 1, 1, 1,
5929  1, 1, 1, 0, 3, 0, 1, 1, 1, 1,
5930  0, 1, 1, 4, 1, 1, 1, 7, 0, 4,
5931  3, 3, 4, 0, 1, 1, 0, 5, 2, 2,
5932  1, 0, 4, 5, 2, 3, 1, 1, 3, 1,
5933  2, 4, 4, 4, 1, 3, 4, 4, 3, 1,
5934  1, 3, 2, 2, 2, 0, 2, 3, 1, 2,
5935  1, 1, 5, 0, 1, 1, 1, 0, 6, 1,
5936  2, 2, 0, 2, 0, 9, 0, 3, 0, 3,
5937  0, 2, 2, 0, 5, 3, 1, 1, 0, 2,
5938  2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
5939  1, 5, 0, 1, 1, 4, 6, 9, 0, 3,
5940  0, 2, 0, 2, 3, 5, 5, 1, 1, 1,
5941  1, 3, 5, 0, 2, 1, 1, 1, 4, 2,
5942  2, 4, 3, 2, 2, 2, 1, 2, 0, 0,
5943  5, 0, 0, 2, 2, 3, 2, 1, 0, 4,
5944  3, 2, 0, 1, 1, 1, 0, 2, 1, 2,
5945  2, 3, 1, 1, 1, 1, 1, 1, 1, 1,
5946  1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
5947  1, 1, 1, 1, 5, 2, 2, 0, 2, 1,
5948  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5949  1, 1, 1, 2, 3, 0, 2, 2, 1, 1,
5950  3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5951  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5952  1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5953  2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5954  1, 3, 3, 6, 0, 2, 7, 8, 0, 2,
5955  0, 2, 0, 3, 0, 3, 0, 1, 1, 0,
5956  5, 1, 1, 0, 3, 1, 2, 1, 2, 2,
5957  3, 1, 0, 5, 1, 2, 1, 3, 0, 4,
5958  2, 4, 2, 2, 0, 0, 5, 0, 0, 5,
5959  0, 0, 5, 0, 2, 0, 6, 0, 2, 2,
5960  2, 3, 1, 1, 2, 2, 1, 2, 4, 1,
5961  4, 2, 0, 2, 1, 1, 1, 1, 1, 3,
5962  4, 4, 4, 3, 0, 2, 0, 5, 0, 2,
5963  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5964  1, 1, 1, 1, 1, 1, 3, 1, 1, 2,
5965  1, 2, 1, 1, 0, 2, 2, 0, 2, 4,
5966  4, 0, 3, 1, 1, 3, 6, 2, 3, 2,
5967  2, 3, 2, 1, 2, 2, 1, 1, 1, 2,
5968  2, 1, 4, 2, 3, 0, 0, 5, 0, 1,
5969  2, 3, 1, 0, 4, 3, 0, 2, 2, 2,
5970  1, 1, 2, 2, 1, 1, 1, 1, 1, 1,
5971  1, 1, 1, 1, 1, 4, 1, 1, 5, 5,
5972  3, 3, 1, 1, 1, 1, 1, 1, 1, 1,
5973  2, 2, 2, 1, 2, 1, 2, 1, 1, 1,
5974  1, 0, 1, 1, 0, 1, 1, 3, 2, 0,
5975  0, 0, 9, 0, 4, 0, 0, 3, 0, 3,
5976  1, 2, 4, 0, 2, 2, 0, 3, 3, 4,
5977  4, 3, 0, 1, 0, 2, 2, 0, 0, 7,
5978  0, 2, 1, 1, 2, 1, 1, 0, 6, 0,
5979  2, 2, 1, 0, 1, 0, 0, 3, 0, 2,
5980  2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5981  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5982  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5983  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5984  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5985  2, 2, 0, 4, 0, 4, 3, 3, 4, 3,
5986  4, 3, 3, 4, 4, 3, 4, 3, 4, 5,
5987  3, 4, 3, 3, 1, 1, 0, 1, 1, 2,
5988  1, 1, 1, 2, 1, 2, 2, 2, 2, 3,
5989  3, 3, 3, 1, 1, 1, 1, 1, 1, 1,
5990  1, 1, 1, 1, 1, 4, 1, 1, 1, 1,
5991  4, 3, 1, 2, 1, 1, 3, 3, 3, 3,
5992  3, 1, 1, 0, 1, 0, 4, 4, 5, 6,
5993  0, 2, 0, 1, 0, 3, 3, 4, 0, 2,
5994  0, 3, 1, 2, 4, 0, 2, 0, 4, 6,
5995  0, 1, 1, 1, 0, 0, 3, 1, 2, 2,
5996  3, 0, 2, 2, 2, 0, 3, 2, 2, 4,
5997  1, 1, 1, 1, 0, 2, 2, 0, 2, 0,
5998  1, 0, 3, 1, 2, 0, 3, 2, 3, 0,
5999  1, 3, 3, 2, 0, 4, 4, 0, 1, 1,
6000  1, 0, 4, 3, 2, 1, 2, 0, 1, 0,
6001  4, 3, 3, 3, 3, 2, 2, 1, 1, 2,
6002  0, 3, 1, 1, 1, 2, 1, 2, 1, 1,
6003  2, 2, 2, 2, 2, 1, 1, 1, 2, 2,
6004  1, 1, 2, 2, 1, 1, 1, 1, 3, 1,
6005  3, 3, 3, 3, 0, 1, 0, 4, 4, 6,
6006  6, 8, 8, 0, 1, 0, 3, 2, 0, 4,
6007  2, 1, 3, 1, 1, 1, 2, 1, 1, 2,
6008  2, 3, 2, 3, 1, 3, 2, 1, 1, 1,
6009  0, 2, 0, 1, 0, 3, 0, 2, 1, 2,
6010  1, 1, 1, 0, 2, 0, 3, 1, 0, 3,
6011  1, 0, 3, 3, 0, 3, 2, 0, 6, 3,
6012  2, 1, 0, 1, 0, 3, 5, 0, 2, 0,
6013  3, 3, 0, 2, 1, 2, 4, 1, 1, 1,
6014  1, 1, 1, 1, 0, 3, 0, 3, 1, 2,
6015  0, 3, 2, 1, 1, 1, 2, 1, 1, 1,
6016  0, 3, 2, 5, 1, 2, 2, 2, 1, 1,
6017  1, 2, 1, 2, 4, 2, 0, 1, 1, 1,
6018  1, 4, 0, 2, 3, 3, 0, 3, 0, 3,
6019  3, 4, 0, 4, 4, 6, 0, 1, 0, 3,
6020  4, 5, 1, 1, 1, 1, 0, 3, 0, 3,
6021  2, 1, 0, 3, 2, 0, 4, 2, 0, 1,
6022  1, 1, 1, 3, 0, 2, 1, 3, 3, 0,
6023  3, 1, 1, 1, 3, 7, 0, 4, 7, 0,
6024  2, 0, 2, 2, 3, 3, 3, 2, 0, 3,
6025  1, 1, 0, 1, 1, 0, 3, 2, 1, 0,
6026  4, 4, 0, 1, 0, 4, 4, 0, 2, 3,
6027  0, 1, 1, 0, 4, 4, 6, 0, 2, 0,
6028  2, 1, 2, 3, 0, 1, 0, 3, 1, 1,
6029  1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
6030  3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
6031  2, 4, 3, 4, 1, 2, 3, 1, 2, 3,
6032  3, 4, 0, 3, 0, 7, 0, 5, 0, 2,
6033  0, 2, 0, 3, 0, 2, 4, 0, 2, 4,
6034  0, 4, 4, 0, 3, 0, 4, 1, 1, 1,
6035  2, 2, 2, 2, 1, 1, 2, 1, 0, 1,
6036  0, 4, 2, 0, 2, 4, 4, 0, 1, 1,
6037  1, 1, 1, 0, 4, 5, 1, 2, 1, 3,
6038  3, 0, 4, 0, 1, 0, 4, 4, 6, 6,
6039  0, 1, 2, 0, 1, 0, 3, 1, 2, 0,
6040  3, 5, 0, 3, 2, 0, 4, 6, 0, 3,
6041  1, 3, 2, 2, 2, 3, 0, 3, 0, 3,
6042  0, 3, 0, 1, 0, 3, 1, 1, 1, 1,
6043  1, 7, 0, 1, 1, 1, 1, 1, 1, 4,
6044  1, 2, 1, 2, 3, 0, 1, 2, 1, 3,
6045  1, 1, 4, 1, 1, 1, 0, 4, 5, 0,
6046  2, 0, 4, 3, 3, 1, 1, 1, 1, 0,
6047  1, 2, 0, 2, 1, 1, 0, 2, 1, 1,
6048  2, 0, 2, 0, 2, 2, 0, 2, 0, 2,
6049  2, 0, 2, 0, 2, 2, 1, 2, 1, 1,
6050  2, 2, 2, 1, 1, 2, 2, 2, 0, 2,
6051  0, 2, 0, 2, 1, 1, 0, 2, 1, 2,
6052  2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6053  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6054  1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
6055  1, 1, 1, 1, 3, 0, 1, 1, 3, 3,
6056  1, 3, 3, 1, 3, 1, 2, 2, 1, 3,
6057  1, 1, 3, 1, 3, 1, 3, 1, 2, 2,
6058  1, 1, 1, 2, 1, 1, 1, 2, 1, 0,
6059  2, 1, 1, 1, 3, 1, 1, 2, 1, 1,
6060  1, 2, 1, 1, 1, 1, 1, 1, 1, 2,
6061  1, 1, 3, 0, 1, 1, 2, 1, 1, 1,
6062  1, 2, 2, 2, 4, 3, 1, 1, 2, 1,
6063  1, 1, 1, 1, 1, 1, 2, 2, 2, 1,
6064  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6065  1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
6066  1, 1, 1, 1, 1, 3, 0, 1, 1, 3,
6067  3, 1, 3, 3, 1, 3, 1, 2, 2, 1,
6068  3, 1, 1, 3, 1, 3, 1, 3, 1, 2,
6069  2, 1, 1, 1, 2, 1, 1, 1, 2, 1,
6070  0, 2, 1, 1, 1, 3, 1, 1, 2, 1,
6071  1, 1, 2, 1, 1, 1, 1, 1, 1, 2,
6072  1, 1, 3, 0, 1, 1, 2, 1, 1, 1,
6073  1, 2, 2, 2, 4, 3, 1, 1, 2, 1,
6074  1, 1, 1, 1, 1, 1, 2, 2, 2, 1,
6075  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6076  1, 1, 1, 1, 1, 2, 1, 3, 2, 2,
6077  1, 1, 3, 2, 2, 1, 1, 3, 3, 4,
6078  5, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6079  1, 1, 2, 1, 3, 1, 1, 1, 1, 1,
6080  1, 1, 2, 5, 5, 5, 4, 5, 5, 5,
6081  5, 5, 2, 2, 1, 1, 1, 1, 1, 1,
6082  1, 1, 1, 0, 4, 5, 0, 3, 2, 1,
6083  3, 3, 1, 3, 1, 3, 1, 3, 1, 3,
6084  0, 0, 1, 0, 1, 0, 1, 0, 2, 0,
6085  2, 0, 1, 1, 0, 1, 0, 1, 2, 0,
6086  2, 0, 3, 1, 1, 1, 1, 1, 1, 1,
6087  1, 0, 2, 1, 1, 1, 1, 1, 1, 1,
6088  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6089  1, 1, 1, 1, 1, 2, 1, 3, 2, 2,
6090  1, 1, 3, 2, 2, 1, 1, 3, 3, 4,
6091  5, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6092  1, 1, 2, 1, 3, 1, 1, 1, 1, 1,
6093  1, 1, 2, 5, 5, 5, 4, 5, 5, 5,
6094  5, 5, 2, 2, 1, 1, 1, 1, 1, 1,
6095  1, 1, 1, 0, 4, 5, 0, 3, 2, 1,
6096  3, 3, 1, 3, 1, 3, 1, 3, 1, 3,
6097  0, 0, 1, 0, 1, 0, 1, 0, 2, 0,
6098  2, 0, 1, 1, 0, 1, 0, 1, 2, 0,
6099  2, 0, 3, 1, 1, 1, 1, 1, 1, 1,
6100  1, 0, 2, 1, 1, 1, 1, 1, 1, 1,
6101  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6102  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6103  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6104  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6105  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6106  1, 1, 1, 0, 1, 0, 1, 0, 1, 0,
6107  1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
6108  1, 0, 1, 0, 1, 0, 1, 0, 2, 0,
6109  1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
6110  1, 2, 0, 1, 0, 1, 0, 1, 0, 1,
6111  0, 1, 1, 0, 1, 0, 1, 1, 0, 1,
6112  1, 0, 2, 2, 0, 1, 0, 1, 0, 1,
6113  0, 1, 1, 0, 1, 0, 1, 0, 2, 1,
6114  1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
6115  1, 1, 0, 1, 0, 1, 0, 1, 0, 1,
6116  2, 0, 1, 0, 1, 0, 1, 0, 1, 0,
6117  1, 0, 1, 0, 1, 0, 1, 1, 0, 1,
6118  0, 3, 0, 1, 2, 1, 1, 1, 1, 1,
6119  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6120  1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
6121  1, 1, 2, 1, 3, 2, 1, 1, 1, 2,
6122  1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
6123  1, 2, 2
6124 };
6125 
6126 
6127 #define yyerrok (yyerrstatus = 0)
6128 #define yyclearin (yychar = YYEMPTY)
6129 #define YYEMPTY (-2)
6130 #define YYEOF 0
6131 
6132 #define YYACCEPT goto yyacceptlab
6133 #define YYABORT goto yyabortlab
6134 #define YYERROR goto yyerrorlab
6135 
6136 
6137 #define YYRECOVERING() (!!yyerrstatus)
6138 
6139 #define YYBACKUP(Token, Value) \
6140 do \
6141  if (yychar == YYEMPTY) \
6142  { \
6143  yychar = (Token); \
6144  yylval = (Value); \
6145  YYPOPSTACK (yylen); \
6146  yystate = *yyssp; \
6147  goto yybackup; \
6148  } \
6149  else \
6150  { \
6151  yyerror (YY_("syntax error: cannot back up")); \
6152  YYERROR; \
6153  } \
6154 while (0)
6155 
6156 /* Error token number */
6157 #define YYTERROR 1
6158 #define YYERRCODE 256
6159 
6160 
6161 
6162 /* Enable debugging if requested. */
6163 #if YYDEBUG
6164 
6165 # ifndef YYFPRINTF
6166 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
6167 # define YYFPRINTF fprintf
6168 # endif
6169 
6170 # define YYDPRINTF(Args) \
6171 do { \
6172  if (yydebug) \
6173  YYFPRINTF Args; \
6174 } while (0)
6175 
6176 /* This macro is provided for backward compatibility. */
6177 #ifndef YY_LOCATION_PRINT
6178 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
6179 #endif
6180 
6181 
6182 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
6183 do { \
6184  if (yydebug) \
6185  { \
6186  YYFPRINTF (stderr, "%s ", Title); \
6187  yy_symbol_print (stderr, \
6188  Type, Value); \
6189  YYFPRINTF (stderr, "\n"); \
6190  } \
6191 } while (0)
6192 
6193 
6194 /*----------------------------------------.
6195 | Print this symbol's value on YYOUTPUT. |
6196 `----------------------------------------*/
6197 
6198 static void
6199 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
6200 {
6201  FILE *yyo = yyoutput;
6202  YYUSE (yyo);
6203  if (!yyvaluep)
6204  return;
6205 # ifdef YYPRINT
6206  if (yytype < YYNTOKENS)
6207  YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
6208 # endif
6209  YYUSE (yytype);
6210 }
6211 
6212 
6213 /*--------------------------------.
6214 | Print this symbol on YYOUTPUT. |
6215 `--------------------------------*/
6216 
6217 static void
6218 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
6219 {
6220  YYFPRINTF (yyoutput, "%s %s (",
6221  yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
6222 
6223  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
6224  YYFPRINTF (yyoutput, ")");
6225 }
6226 
6227 /*------------------------------------------------------------------.
6228 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
6229 | TOP (included). |
6230 `------------------------------------------------------------------*/
6231 
6232 static void
6233 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
6234 {
6235  YYFPRINTF (stderr, "Stack now");
6236  for (; yybottom <= yytop; yybottom++)
6237  {
6238  int yybot = *yybottom;
6239  YYFPRINTF (stderr, " %d", yybot);
6240  }
6241  YYFPRINTF (stderr, "\n");
6242 }
6243 
6244 # define YY_STACK_PRINT(Bottom, Top) \
6245 do { \
6246  if (yydebug) \
6247  yy_stack_print ((Bottom), (Top)); \
6248 } while (0)
6249 
6250 
6251 /*------------------------------------------------.
6252 | Report that the YYRULE is going to be reduced. |
6253 `------------------------------------------------*/
6254 
6255 static void
6256 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
6257 {
6258  unsigned long int yylno = yyrline[yyrule];
6259  int yynrhs = yyr2[yyrule];
6260  int yyi;
6261  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
6262  yyrule - 1, yylno);
6263  /* The symbols being reduced. */
6264  for (yyi = 0; yyi < yynrhs; yyi++)
6265  {
6266  YYFPRINTF (stderr, " $%d = ", yyi + 1);
6267  yy_symbol_print (stderr,
6268  yystos[yyssp[yyi + 1 - yynrhs]],
6269  &(yyvsp[(yyi + 1) - (yynrhs)])
6270  );
6271  YYFPRINTF (stderr, "\n");
6272  }
6273 }
6274 
6275 # define YY_REDUCE_PRINT(Rule) \
6276 do { \
6277  if (yydebug) \
6278  yy_reduce_print (yyssp, yyvsp, Rule); \
6279 } while (0)
6280 
6281 /* Nonzero means print parse trace. It is left uninitialized so that
6282  multiple parsers can coexist. */
6284 #else /* !YYDEBUG */
6285 # define YYDPRINTF(Args)
6286 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
6287 # define YY_STACK_PRINT(Bottom, Top)
6288 # define YY_REDUCE_PRINT(Rule)
6289 #endif /* !YYDEBUG */
6290 
6291 
6292 /* YYINITDEPTH -- initial size of the parser's stacks. */
6293 #ifndef YYINITDEPTH
6294 # define YYINITDEPTH 200
6295 #endif
6296 
6297 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
6298  if the built-in stack extension method is used).
6299 
6300  Do not make this value too large; the results are undefined if
6301  YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
6302  evaluated with infinite-precision integer arithmetic. */
6303 
6304 #ifndef YYMAXDEPTH
6305 # define YYMAXDEPTH 10000
6306 #endif
6307 
6308 
6309 #if YYERROR_VERBOSE
6310 
6311 # ifndef yystrlen
6312 # if defined __GLIBC__ && defined _STRING_H
6313 # define yystrlen strlen
6314 # else
6315 /* Return the length of YYSTR. */
6316 static YYSIZE_T
6317 yystrlen (const char *yystr)
6318 {
6319  YYSIZE_T yylen;
6320  for (yylen = 0; yystr[yylen]; yylen++)
6321  continue;
6322  return yylen;
6323 }
6324 # endif
6325 # endif
6326 
6327 # ifndef yystpcpy
6328 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
6329 # define yystpcpy stpcpy
6330 # else
6331 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
6332  YYDEST. */
6333 static char *
6334 yystpcpy (char *yydest, const char *yysrc)
6335 {
6336  char *yyd = yydest;
6337  const char *yys = yysrc;
6338 
6339  while ((*yyd++ = *yys++) != '\0')
6340  continue;
6341 
6342  return yyd - 1;
6343 }
6344 # endif
6345 # endif
6346 
6347 # ifndef yytnamerr
6348 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
6349  quotes and backslashes, so that it's suitable for yyerror. The
6350  heuristic is that double-quoting is unnecessary unless the string
6351  contains an apostrophe, a comma, or backslash (other than
6352  backslash-backslash). YYSTR is taken from yytname. If YYRES is
6353  null, do not copy; instead, return the length of what the result
6354  would have been. */
6355 static YYSIZE_T
6356 yytnamerr (char *yyres, const char *yystr)
6357 {
6358  if (*yystr == '"')
6359  {
6360  YYSIZE_T yyn = 0;
6361  char const *yyp = yystr;
6362 
6363  for (;;)
6364  switch (*++yyp)
6365  {
6366  case '\'':
6367  case ',':
6368  goto do_not_strip_quotes;
6369 
6370  case '\\':
6371  if (*++yyp != '\\')
6372  goto do_not_strip_quotes;
6373  /* Fall through. */
6374  default:
6375  if (yyres)
6376  yyres[yyn] = *yyp;
6377  yyn++;
6378  break;
6379 
6380  case '"':
6381  if (yyres)
6382  yyres[yyn] = '\0';
6383  return yyn;
6384  }
6385  do_not_strip_quotes: ;
6386  }
6387 
6388  if (! yyres)
6389  return yystrlen (yystr);
6390 
6391  return yystpcpy (yyres, yystr) - yyres;
6392 }
6393 # endif
6394 
6395 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
6396  about the unexpected token YYTOKEN for the state stack whose top is
6397  YYSSP.
6398 
6399  Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
6400  not large enough to hold the message. In that case, also set
6401  *YYMSG_ALLOC to the required number of bytes. Return 2 if the
6402  required number of bytes is too large to store. */
6403 static int
6404 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
6405  yytype_int16 *yyssp, int yytoken)
6406 {
6407  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
6408  YYSIZE_T yysize = yysize0;
6409  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
6410  /* Internationalized format string. */
6411  const char *yyformat = YY_NULLPTR;
6412  /* Arguments of yyformat. */
6413  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
6414  /* Number of reported tokens (one for the "unexpected", one per
6415  "expected"). */
6416  int yycount = 0;
6417 
6418  /* There are many possibilities here to consider:
6419  - If this state is a consistent state with a default action, then
6420  the only way this function was invoked is if the default action
6421  is an error action. In that case, don't check for expected
6422  tokens because there are none.
6423  - The only way there can be no lookahead present (in yychar) is if
6424  this state is a consistent state with a default action. Thus,
6425  detecting the absence of a lookahead is sufficient to determine
6426  that there is no unexpected or expected token to report. In that
6427  case, just report a simple "syntax error".
6428  - Don't assume there isn't a lookahead just because this state is a
6429  consistent state with a default action. There might have been a
6430  previous inconsistent state, consistent state with a non-default
6431  action, or user semantic action that manipulated yychar.
6432  - Of course, the expected token list depends on states to have
6433  correct lookahead information, and it depends on the parser not
6434  to perform extra reductions after fetching a lookahead from the
6435  scanner and before detecting a syntax error. Thus, state merging
6436  (from LALR or IELR) and default reductions corrupt the expected
6437  token list. However, the list is correct for canonical LR with
6438  one exception: it will still contain any token that will not be
6439  accepted due to an error action in a later state.
6440  */
6441  if (yytoken != YYEMPTY)
6442  {
6443  int yyn = yypact[*yyssp];
6444  yyarg[yycount++] = yytname[yytoken];
6445  if (!yypact_value_is_default (yyn))
6446  {
6447  /* Start YYX at -YYN if negative to avoid negative indexes in
6448  YYCHECK. In other words, skip the first -YYN actions for
6449  this state because they are default actions. */
6450  int yyxbegin = yyn < 0 ? -yyn : 0;
6451  /* Stay within bounds of both yycheck and yytname. */
6452  int yychecklim = YYLAST - yyn + 1;
6453  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
6454  int yyx;
6455 
6456  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
6457  if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
6458  && !yytable_value_is_error (yytable[yyx + yyn]))
6459  {
6460  if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
6461  {
6462  yycount = 1;
6463  yysize = yysize0;
6464  break;
6465  }
6466  yyarg[yycount++] = yytname[yyx];
6467  {
6468  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
6469  if (! (yysize <= yysize1
6470  && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
6471  return 2;
6472  yysize = yysize1;
6473  }
6474  }
6475  }
6476  }
6477 
6478  switch (yycount)
6479  {
6480 # define YYCASE_(N, S) \
6481  case N: \
6482  yyformat = S; \
6483  break
6484  YYCASE_(0, YY_("syntax error"));
6485  YYCASE_(1, YY_("syntax error, unexpected %s"));
6486  YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
6487  YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
6488  YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
6489  YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
6490 # undef YYCASE_
6491  }
6492 
6493  {
6494  YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
6495  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
6496  return 2;
6497  yysize = yysize1;
6498  }
6499 
6500  if (*yymsg_alloc < yysize)
6501  {
6502  *yymsg_alloc = 2 * yysize;
6503  if (! (yysize <= *yymsg_alloc
6504  && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
6505  *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
6506  return 1;
6507  }
6508 
6509  /* Avoid sprintf, as that infringes on the user's name space.
6510  Don't have undefined behavior even if the translation
6511  produced a string with the wrong number of "%s"s. */
6512  {
6513  char *yyp = *yymsg;
6514  int yyi = 0;
6515  while ((*yyp = *yyformat) != '\0')
6516  if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
6517  {
6518  yyp += yytnamerr (yyp, yyarg[yyi++]);
6519  yyformat += 2;
6520  }
6521  else
6522  {
6523  yyp++;
6524  yyformat++;
6525  }
6526  }
6527  return 0;
6528 }
6529 #endif /* YYERROR_VERBOSE */
6530 
6531 /*-----------------------------------------------.
6532 | Release the memory associated to this symbol. |
6533 `-----------------------------------------------*/
6534 
6535 static void
6536 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
6537 {
6538  YYUSE (yyvaluep);
6539  if (!yymsg)
6540  yymsg = "Deleting";
6541  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
6542 
6544  YYUSE (yytype);
6546 }
6547 
6548 
6549 
6550 
6551 /* The lookahead symbol. */
6553 
6554 /* The semantic value of the lookahead symbol. */
6555 YYSTYPE yylval;
6556 /* Number of syntax errors so far. */
6558 
6559 
6560 /*----------.
6561 | yyparse. |
6562 `----------*/
6563 
6564 int
6565 yyparse (void)
6566 {
6567  int yystate;
6568  /* Number of tokens to shift before error messages enabled. */
6569  int yyerrstatus;
6570 
6571  /* The stacks and their tools:
6572  'yyss': related to states.
6573  'yyvs': related to semantic values.
6574 
6575  Refer to the stacks through separate pointers, to allow yyoverflow
6576  to reallocate them elsewhere. */
6577 
6578  /* The state stack. */
6579  yytype_int16 yyssa[YYINITDEPTH];
6580  yytype_int16 *yyss;
6581  yytype_int16 *yyssp;
6582 
6583  /* The semantic value stack. */
6584  YYSTYPE yyvsa[YYINITDEPTH];
6585  YYSTYPE *yyvs;
6586  YYSTYPE *yyvsp;
6587 
6588  YYSIZE_T yystacksize;
6589 
6590  int yyn;
6591  int yyresult;
6592  /* Lookahead token as an internal (translated) token number. */
6593  int yytoken = 0;
6594  /* The variables used to return semantic value and location from the
6595  action routines. */
6596  YYSTYPE yyval;
6597 
6598 #if YYERROR_VERBOSE
6599  /* Buffer for error messages, and its allocated size. */
6600  char yymsgbuf[128];
6601  char *yymsg = yymsgbuf;
6602  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
6603 #endif
6604 
6605 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
6606 
6607  /* The number of symbols on the RHS of the reduced rule.
6608  Keep to zero when no symbol should be popped. */
6609  int yylen = 0;
6610 
6611  yyssp = yyss = yyssa;
6612  yyvsp = yyvs = yyvsa;
6613  yystacksize = YYINITDEPTH;
6614 
6615  YYDPRINTF ((stderr, "Starting parse\n"));
6616 
6617  yystate = 0;
6618  yyerrstatus = 0;
6619  yynerrs = 0;
6620  yychar = YYEMPTY; /* Cause a token to be read. */
6621  goto yysetstate;
6622 
6623 /*------------------------------------------------------------.
6624 | yynewstate -- Push a new state, which is found in yystate. |
6625 `------------------------------------------------------------*/
6626  yynewstate:
6627  /* In all cases, when you get here, the value and location stacks
6628  have just been pushed. So pushing a state here evens the stacks. */
6629  yyssp++;
6630 
6631  yysetstate:
6632  *yyssp = yystate;
6633 
6634  if (yyss + yystacksize - 1 <= yyssp)
6635  {
6636  /* Get the current used size of the three stacks, in elements. */
6637  YYSIZE_T yysize = yyssp - yyss + 1;
6638 
6639 #ifdef yyoverflow
6640  {
6641  /* Give user a chance to reallocate the stack. Use copies of
6642  these so that the &'s don't force the real ones into
6643  memory. */
6644  YYSTYPE *yyvs1 = yyvs;
6645  yytype_int16 *yyss1 = yyss;
6646 
6647  /* Each stack pointer address is followed by the size of the
6648  data in use in that stack, in bytes. This used to be a
6649  conditional around just the two extra args, but that might
6650  be undefined if yyoverflow is a macro. */
6651  yyoverflow (YY_("memory exhausted"),
6652  &yyss1, yysize * sizeof (*yyssp),
6653  &yyvs1, yysize * sizeof (*yyvsp),
6654  &yystacksize);
6655 
6656  yyss = yyss1;
6657  yyvs = yyvs1;
6658  }
6659 #else /* no yyoverflow */
6660 # ifndef YYSTACK_RELOCATE
6661  goto yyexhaustedlab;
6662 # else
6663  /* Extend the stack our own way. */
6664  if (YYMAXDEPTH <= yystacksize)
6665  goto yyexhaustedlab;
6666  yystacksize *= 2;
6667  if (YYMAXDEPTH < yystacksize)
6668  yystacksize = YYMAXDEPTH;
6669 
6670  {
6671  yytype_int16 *yyss1 = yyss;
6672  union yyalloc *yyptr =
6673  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
6674  if (! yyptr)
6675  goto yyexhaustedlab;
6676  YYSTACK_RELOCATE (yyss_alloc, yyss);
6677  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
6678 # undef YYSTACK_RELOCATE
6679  if (yyss1 != yyssa)
6680  YYSTACK_FREE (yyss1);
6681  }
6682 # endif
6683 #endif /* no yyoverflow */
6684 
6685  yyssp = yyss + yysize - 1;
6686  yyvsp = yyvs + yysize - 1;
6687 
6688  YYDPRINTF ((stderr, "Stack size increased to %lu\n",
6689  (unsigned long int) yystacksize));
6690 
6691  if (yyss + yystacksize - 1 <= yyssp)
6692  YYABORT;
6693  }
6694 
6695  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
6696 
6697  if (yystate == YYFINAL)
6698  YYACCEPT;
6699 
6700  goto yybackup;
6701 
6702 /*-----------.
6703 | yybackup. |
6704 `-----------*/
6705 yybackup:
6706 
6707  /* Do appropriate processing given the current state. Read a
6708  lookahead token if we need one and don't already have one. */
6709 
6710  /* First try to decide what to do without reference to lookahead token. */
6711  yyn = yypact[yystate];
6712  if (yypact_value_is_default (yyn))
6713  goto yydefault;
6714 
6715  /* Not known => get a lookahead token if don't already have one. */
6716 
6717  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
6718  if (yychar == YYEMPTY)
6719  {
6720  YYDPRINTF ((stderr, "Reading a token: "));
6721  yychar = yylex ();
6722  }
6723 
6724  if (yychar <= YYEOF)
6725  {
6726  yychar = yytoken = YYEOF;
6727  YYDPRINTF ((stderr, "Now at end of input.\n"));
6728  }
6729  else
6730  {
6731  yytoken = YYTRANSLATE (yychar);
6732  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
6733  }
6734 
6735  /* If the proper action on seeing token YYTOKEN is to reduce or to
6736  detect an error, take that action. */
6737  yyn += yytoken;
6738  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
6739  goto yydefault;
6740  yyn = yytable[yyn];
6741  if (yyn <= 0)
6742  {
6743  if (yytable_value_is_error (yyn))
6744  goto yyerrlab;
6745  yyn = -yyn;
6746  goto yyreduce;
6747  }
6748 
6749  /* Count tokens shifted since error; after three, turn off error
6750  status. */
6751  if (yyerrstatus)
6752  yyerrstatus--;
6753 
6754  /* Shift the lookahead token. */
6755  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
6756 
6757  /* Discard the shifted token. */
6758  yychar = YYEMPTY;
6759 
6760  yystate = yyn;
6762  *++yyvsp = yylval;
6764 
6765  goto yynewstate;
6766 
6767 
6768 /*-----------------------------------------------------------.
6769 | yydefault -- do the default action for the current state. |
6770 `-----------------------------------------------------------*/
6771 yydefault:
6772  yyn = yydefact[yystate];
6773  if (yyn == 0)
6774  goto yyerrlab;
6775  goto yyreduce;
6776 
6777 
6778 /*-----------------------------.
6779 | yyreduce -- Do a reduction. |
6780 `-----------------------------*/
6781 yyreduce:
6782  /* yyn is the number of a rule to reduce with. */
6783  yylen = yyr2[yyn];
6784 
6785  /* If YYLEN is nonzero, implement the default value of the action:
6786  '$$ = $1'.
6787 
6788  Otherwise, the following line sets YYVAL to garbage.
6789  This behavior is undocumented and Bison
6790  users should not rely upon it. Assigning to YYVAL
6791  unconditionally makes the parser a bit smaller, and it avoids a
6792  GCC warning that YYVAL may be used uninitialized. */
6793  yyval = yyvsp[1-yylen];
6794 
6795 
6796  YY_REDUCE_PRINT (yyn);
6797  switch (yyn)
6798  {
6799  case 2:
6800 #line 1893 "parser.y" /* yacc.c:1646 */
6801  {
6803  current_program = NULL;
6804  defined_prog_list = NULL;
6805  cobc_cs_check = 0;
6806  prog_end = 0;
6807  depth = 0;
6808  main_flag_set = 0;
6809  current_program = cb_build_program (NULL, 0);
6810  cb_build_registers ();
6811  }
6812 #line 6742 "parser.c" /* yacc.c:1646 */
6813  break;
6814 
6815  case 3:
6816 #line 1905 "parser.y" /* yacc.c:1646 */
6817  {
6818  if (!current_program->flag_validated) {
6819  current_program->flag_validated = 1;
6820  cb_validate_program_body (current_program);
6821  }
6822  if (depth > 1) {
6823  cb_error (_("Multiple PROGRAM-ID's without matching END PROGRAM"));
6824  }
6825  if (cobc_flag_main && !main_flag_set) {
6826  cb_error (_("Executable requested but no program found"));
6827  }
6828  if (errorcount > 0) {
6829  YYABORT;
6830  }
6831  if (!current_program->entry_list) {
6832  emit_entry (current_program->program_id, 0, NULL);
6833  }
6834  }
6835 #line 6765 "parser.c" /* yacc.c:1646 */
6836  break;
6837 
6838  case 10:
6839 #line 1941 "parser.y" /* yacc.c:1646 */
6840  {
6841  cb_tree l;
6842 
6843  current_section = NULL;
6844  current_paragraph = NULL;
6845  prog_end = 1;
6846  if (increment_depth ()) {
6847  YYABORT;
6848  }
6850  strlen (demangle_name));
6851  current_program->program_id = cb_build_program_id (l, NULL, 0);
6852  current_program->prog_type = CB_PROGRAM_TYPE;
6853  if (!main_flag_set) {
6854  main_flag_set = 1;
6855  current_program->flag_main = cobc_flag_main;
6856  }
6858  }
6859 #line 6789 "parser.c" /* yacc.c:1646 */
6860  break;
6861 
6862  case 18:
6863 #line 1992 "parser.y" /* yacc.c:1646 */
6864  {
6866  clean_up_program ((yyvsp[-1]), CB_PROGRAM_TYPE);
6867  }
6868 #line 6798 "parser.c" /* yacc.c:1646 */
6869  break;
6870 
6871  case 19:
6872 #line 2000 "parser.y" /* yacc.c:1646 */
6873  {
6874  clean_up_program ((yyvsp[-1]), CB_FUNCTION_TYPE);
6875  }
6876 #line 6806 "parser.c" /* yacc.c:1646 */
6877  break;
6878 
6879  case 23:
6880 #line 2022 "parser.y" /* yacc.c:1646 */
6881  {
6882  if (set_up_program ((yyvsp[-1]), (yyvsp[0]), CB_PROGRAM_TYPE)) {
6883  YYABORT;
6884  }
6885  }
6886 #line 6816 "parser.c" /* yacc.c:1646 */
6887  break;
6888 
6889  case 24:
6890 #line 2028 "parser.y" /* yacc.c:1646 */
6891  {
6892  cobc_cs_check = 0;
6893  }
6894 #line 6824 "parser.c" /* yacc.c:1646 */
6895  break;
6896 
6897  case 25:
6898 #line 2035 "parser.y" /* yacc.c:1646 */
6899  {
6900  if (set_up_program ((yyvsp[-2]), (yyvsp[-1]), CB_FUNCTION_TYPE)) {
6901  YYABORT;
6902  }
6903  set_up_func_prototype ((yyvsp[-2]), (yyvsp[-1]), 1);
6904  cobc_cs_check = 0;
6905  }
6906 #line 6836 "parser.c" /* yacc.c:1646 */
6907  break;
6908 
6909  case 26:
6910 #line 2046 "parser.y" /* yacc.c:1646 */
6911  {
6912  if (CB_REFERENCE_P ((yyvsp[0])) && CB_WORD_COUNT ((yyvsp[0])) > 0) {
6913  redefinition_error ((yyvsp[0]));
6914  }
6915  /*
6916  The program name is a key part of defining the current_program, so we
6917  mustn't lose it (unlike in undefined_word).
6918  */
6919  (yyval) = (yyvsp[0]);
6920  }
6921 #line 6851 "parser.c" /* yacc.c:1646 */
6922  break;
6923 
6924  case 30:
6925 #line 2065 "parser.y" /* yacc.c:1646 */
6926  { (yyval) = NULL; }
6927 #line 6857 "parser.c" /* yacc.c:1646 */
6928  break;
6929 
6930  case 31:
6931 #line 2066 "parser.y" /* yacc.c:1646 */
6932  { (yyval) = (yyvsp[0]); }
6933 #line 6863 "parser.c" /* yacc.c:1646 */
6934  break;
6935 
6936  case 34:
6937 #line 2075 "parser.y" /* yacc.c:1646 */
6938  {
6939  if (!current_program->nested_level) {
6940  cb_error (_("COMMON may only be used in a contained program"));
6941  } else {
6942  current_program->flag_common = 1;
6943  cb_add_common_prog (current_program);
6944  }
6945  }
6946 #line 6876 "parser.c" /* yacc.c:1646 */
6947  break;
6948 
6949  case 35:
6950 #line 2084 "parser.y" /* yacc.c:1646 */
6951  {
6952  if (!current_program->nested_level) {
6953  cb_error (_("COMMON may only be used in a contained program"));
6954  } else {
6955  current_program->flag_common = 1;
6956  cb_add_common_prog (current_program);
6957  }
6958  }
6959 #line 6889 "parser.c" /* yacc.c:1646 */
6960  break;
6961 
6962  case 38:
6963 #line 2098 "parser.y" /* yacc.c:1646 */
6964  {
6965  current_program->flag_initial = 1;
6966  }
6967 #line 6897 "parser.c" /* yacc.c:1646 */
6968  break;
6969 
6970  case 39:
6971 #line 2102 "parser.y" /* yacc.c:1646 */
6972  {
6973  current_program->flag_recursive = 1;
6974  }
6975 #line 6905 "parser.c" /* yacc.c:1646 */
6976  break;
6977 
6978  case 42:
6979 #line 2118 "parser.y" /* yacc.c:1646 */
6980  {
6982  }
6983 #line 6913 "parser.c" /* yacc.c:1646 */
6984  break;
6985 
6986  case 45:
6987 #line 2135 "parser.y" /* yacc.c:1646 */
6988  {
6991  if (current_program->nested_level) {
6992  cb_error (_("%s not allowed in nested programs"), "CONFIGURATION SECTION");
6993  }
6994  }
6995 #line 6925 "parser.c" /* yacc.c:1646 */
6996  break;
6997 
6998  case 50:
6999 #line 2149 "parser.y" /* yacc.c:1646 */
7000  {
7002  cb_warning (_("Phrases in non-standard order"));
7003  }
7004  }
7005 #line 6935 "parser.c" /* yacc.c:1646 */
7006  break;
7007 
7008  case 51:
7009 #line 2161 "parser.y" /* yacc.c:1646 */
7010  {
7013  check_repeated ("SOURCE-COMPUTER", SYN_CLAUSE_1, &check_comp_duplicate);
7014  }
7015 #line 6945 "parser.c" /* yacc.c:1646 */
7016  break;
7017 
7018  case 56:
7019 #line 2176 "parser.y" /* yacc.c:1646 */
7020  {
7021  cb_verify (cb_debugging_line, "DEBUGGING MODE");
7022  current_program->flag_debugging = 1;
7023  needs_debug_item = 1;
7024  cobc_cs_check = 0;
7026  }
7027 #line 6957 "parser.c" /* yacc.c:1646 */
7028  break;
7029 
7030  case 57:
7031 #line 2189 "parser.y" /* yacc.c:1646 */
7032  {
7035  check_repeated ("OBJECT-COMPUTER", SYN_CLAUSE_2, &check_comp_duplicate);
7036  }
7037 #line 6967 "parser.c" /* yacc.c:1646 */
7038  break;
7039 
7040  case 69:
7041 #line 2218 "parser.y" /* yacc.c:1646 */
7042  {
7043  cb_verify (cb_memory_size_clause, "MEMORY SIZE");
7044  }
7045 #line 6975 "parser.c" /* yacc.c:1646 */
7046  break;
7047 
7048  case 70:
7049 #line 2226 "parser.y" /* yacc.c:1646 */
7050  {
7051  current_program->collating_sequence = (yyvsp[0]);
7052  }
7053 #line 6983 "parser.c" /* yacc.c:1646 */
7054  break;
7055 
7056  case 71:
7057 #line 2233 "parser.y" /* yacc.c:1646 */
7058  {
7059  /* Ignore */
7060  }
7061 #line 6991 "parser.c" /* yacc.c:1646 */
7062  break;
7063 
7064  case 72:
7065 #line 2240 "parser.y" /* yacc.c:1646 */
7066  {
7067  if (current_program->classification) {
7068  cb_error (_("Duplicate CLASSIFICATION clause"));
7069  } else {
7070  current_program->classification = (yyvsp[0]);
7071  }
7072  }
7073 #line 7003 "parser.c" /* yacc.c:1646 */
7074  break;
7075 
7076  case 73:
7077 #line 2251 "parser.y" /* yacc.c:1646 */
7078  {
7079  (yyval) = (yyvsp[0]);
7080  }
7081 #line 7011 "parser.c" /* yacc.c:1646 */
7082  break;
7083 
7084  case 74:
7085 #line 2255 "parser.y" /* yacc.c:1646 */
7086  {
7087  (yyval) = NULL;
7088  }
7089 #line 7019 "parser.c" /* yacc.c:1646 */
7090  break;
7091 
7092  case 75:
7093 #line 2259 "parser.y" /* yacc.c:1646 */
7094  {
7095  (yyval) = cb_int1;
7096  }
7097 #line 7027 "parser.c" /* yacc.c:1646 */
7098  break;
7099 
7100  case 76:
7101 #line 2263 "parser.y" /* yacc.c:1646 */
7102  {
7103  (yyval) = cb_int1;
7104  }
7105 #line 7035 "parser.c" /* yacc.c:1646 */
7106  break;
7107 
7108  case 80:
7109 #line 2277 "parser.y" /* yacc.c:1646 */
7110  {
7113  }
7114 #line 7044 "parser.c" /* yacc.c:1646 */
7115  break;
7116 
7117  case 81:
7118 #line 2282 "parser.y" /* yacc.c:1646 */
7119  {
7120  cobc_in_repository = 0;
7121  }
7122 #line 7052 "parser.c" /* yacc.c:1646 */
7123  break;
7124 
7125  case 84:
7126 #line 2290 "parser.y" /* yacc.c:1646 */
7127  {
7128  yyerrok;
7129  }
7130 #line 7060 "parser.c" /* yacc.c:1646 */
7131  break;
7132 
7133  case 87:
7134 #line 2302 "parser.y" /* yacc.c:1646 */
7135  {
7136  functions_are_all = 1;
7137  }
7138 #line 7068 "parser.c" /* yacc.c:1646 */
7139  break;
7140 
7141  case 88:
7142 #line 2306 "parser.y" /* yacc.c:1646 */
7143  {
7144  if ((yyvsp[-1]) != cb_error_node) {
7145  set_up_func_prototype ((yyvsp[-1]), (yyvsp[0]), 0);
7146  }
7147  }
7148 #line 7078 "parser.c" /* yacc.c:1646 */
7149  break;
7150 
7151  case 90:
7152 #line 2316 "parser.y" /* yacc.c:1646 */
7153  {
7154  (yyval) = NULL;
7155  }
7156 #line 7086 "parser.c" /* yacc.c:1646 */
7157  break;
7158 
7159  case 91:
7160 #line 2320 "parser.y" /* yacc.c:1646 */
7161  {
7162  (yyval) = (yyvsp[0]);
7163  }
7164 #line 7094 "parser.c" /* yacc.c:1646 */
7165  break;
7166 
7167  case 92:
7168 #line 2327 "parser.y" /* yacc.c:1646 */
7169  {
7170  current_program->function_spec_list =
7171  cb_list_add (current_program->function_spec_list, (yyvsp[0]));
7172  }
7173 #line 7103 "parser.c" /* yacc.c:1646 */
7174  break;
7175 
7176  case 93:
7177 #line 2332 "parser.y" /* yacc.c:1646 */
7178  {
7179  current_program->function_spec_list =
7180  cb_list_add (current_program->function_spec_list, (yyvsp[0]));
7181  }
7182 #line 7112 "parser.c" /* yacc.c:1646 */
7183  break;
7184 
7185  case 95:
7186 #line 2343 "parser.y" /* yacc.c:1646 */
7187  {
7188  check_duplicate = 0;
7192  if (current_program->nested_level) {
7193  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7194  }
7195  }
7196 #line 7126 "parser.c" /* yacc.c:1646 */
7197  break;
7198 
7199  case 114:
7200 #line 2388 "parser.y" /* yacc.c:1646 */
7201  {
7202  char system_name[16];
7206  check_duplicate = 0;
7207  if (current_program->nested_level) {
7208  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7209  save_tree = NULL;
7210  } else {
7211  /* get system name and revert word-combination of scanner.l,
7212  if necessary (e.g. SWITCH A <--> SWITCH_A) */
7213  strncpy(system_name, CB_NAME ((yyvsp[0])), 15);
7214  if (system_name [6] == '_') {
7215  system_name [6] = ' ';
7216  }
7217  /* lookup system name */
7218  save_tree = lookup_system_name (system_name);
7219  if (!save_tree) {
7220  cb_error_x ((yyvsp[0]), _("Invalid system-name '%s'"), system_name);
7221  }
7222  }
7223  }
7224 #line 7154 "parser.c" /* yacc.c:1646 */
7225  break;
7226 
7227  case 116:
7228 #line 2416 "parser.y" /* yacc.c:1646 */
7229  {
7230  if (save_tree) {
7231  if (CB_SYSTEM_NAME(save_tree)->token != CB_DEVICE_CONSOLE) {
7232  cb_error_x (save_tree, _("Invalid CRT clause"));
7233  } else {
7234  current_program->flag_console_is_crt = 1;
7235  }
7236  }
7237  }
7238 #line 7168 "parser.c" /* yacc.c:1646 */
7239  break;
7240 
7241  case 117:
7242 #line 2426 "parser.y" /* yacc.c:1646 */
7243  {
7244  if (save_tree) {
7245  if (CB_SYSTEM_NAME(save_tree)->token != CB_FEATURE_CONVENTION) {
7246  cb_error_x (save_tree, _("Invalid special names clause"));
7247  } else if (CB_VALID_TREE ((yyvsp[0]))) {
7248  CB_SYSTEM_NAME(save_tree)->value = (yyvsp[-2]);
7249  cb_define ((yyvsp[0]), save_tree);
7250  CB_CHAIN_PAIR (current_program->mnemonic_spec_list,
7251  (yyvsp[0]), save_tree);
7252  }
7253  }
7254  }
7255 #line 7185 "parser.c" /* yacc.c:1646 */
7256  break;
7257 
7258  case 118:
7259 #line 2439 "parser.y" /* yacc.c:1646 */
7260  {
7261  if (save_tree && CB_VALID_TREE ((yyvsp[-1]))) {
7262  cb_define ((yyvsp[-1]), save_tree);
7263  CB_CHAIN_PAIR (current_program->mnemonic_spec_list,
7264  (yyvsp[-1]), save_tree);
7265  }
7266  }
7267 #line 7197 "parser.c" /* yacc.c:1646 */
7268  break;
7269 
7270  case 122:
7271 #line 2455 "parser.y" /* yacc.c:1646 */
7272  {
7274  }
7275 #line 7205 "parser.c" /* yacc.c:1646 */
7276  break;
7277 
7278  case 123:
7279 #line 2462 "parser.y" /* yacc.c:1646 */
7280  {
7281  cb_tree x;
7282 
7283  /* cb_define_switch_name checks param validity */
7284  x = cb_define_switch_name ((yyvsp[0]), save_tree, (yyvsp[-2]) == cb_int1);
7285  if (x) {
7286  if ((yyvsp[-2]) == cb_int1) {
7288  } else {
7290  }
7291  CB_CHAIN_PAIR (current_program->mnemonic_spec_list, (yyvsp[0]), x);
7292  }
7293  }
7294 #line 7224 "parser.c" /* yacc.c:1646 */
7295  break;
7296 
7297  case 124:
7298 #line 2477 "parser.y" /* yacc.c:1646 */
7299  {
7300  cb_tree x;
7301 
7302  /* cb_define_switch_name checks param validity */
7303  x = cb_define_switch_name ((yyvsp[0]), save_tree, (yyvsp[-2]) == cb_int1);
7304  if (x) {
7305  if ((yyvsp[-2]) == cb_int1) {
7307  } else {
7309  }
7310  CB_CHAIN_PAIR (current_program->mnemonic_spec_list, (yyvsp[0]), x);
7311  }
7312  }
7313 #line 7243 "parser.c" /* yacc.c:1646 */
7314  break;
7315 
7316  case 125:
7317 #line 2497 "parser.y" /* yacc.c:1646 */
7318  {
7322  if (current_program->nested_level) {
7323  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7324  (yyval) = NULL;
7325  } else {
7326  /* Returns null on error */
7327  (yyval) = cb_build_alphabet_name ((yyvsp[0]));
7328  }
7329  }
7330 #line 7260 "parser.c" /* yacc.c:1646 */
7331  break;
7332 
7333  case 126:
7334 #line 2510 "parser.y" /* yacc.c:1646 */
7335  {
7336  if ((yyvsp[-2])) {
7337  current_program->alphabet_name_list =
7338  cb_list_add (current_program->alphabet_name_list, (yyvsp[-2]));
7339  }
7340  cobc_cs_check = 0;
7341  }
7342 #line 7272 "parser.c" /* yacc.c:1646 */
7343  break;
7344 
7345  case 127:
7346 #line 2521 "parser.y" /* yacc.c:1646 */
7347  {
7348  if ((yyvsp[(-1) - (1)])) {
7349  CB_ALPHABET_NAME ((yyvsp[(-1) - (1)]))->alphabet_type = CB_ALPHABET_NATIVE;
7350  }
7351  }
7352 #line 7282 "parser.c" /* yacc.c:1646 */
7353  break;
7354 
7355  case 128:
7356 #line 2527 "parser.y" /* yacc.c:1646 */
7357  {
7358  if ((yyvsp[(-1) - (1)])) {
7359  CB_ALPHABET_NAME ((yyvsp[(-1) - (1)]))->alphabet_type = CB_ALPHABET_ASCII;
7360  }
7361  }
7362 #line 7292 "parser.c" /* yacc.c:1646 */
7363  break;
7364 
7365  case 129:
7366 #line 2533 "parser.y" /* yacc.c:1646 */
7367  {
7368  if ((yyvsp[(-1) - (1)])) {
7369  CB_ALPHABET_NAME ((yyvsp[(-1) - (1)]))->alphabet_type = CB_ALPHABET_ASCII;
7370  }
7371  }
7372 #line 7302 "parser.c" /* yacc.c:1646 */
7373  break;
7374 
7375  case 130:
7376 #line 2539 "parser.y" /* yacc.c:1646 */
7377  {
7378  if ((yyvsp[(-1) - (1)])) {
7379  CB_ALPHABET_NAME ((yyvsp[(-1) - (1)]))->alphabet_type = CB_ALPHABET_EBCDIC;
7380  }
7381  }
7382 #line 7312 "parser.c" /* yacc.c:1646 */
7383  break;
7384 
7385  case 131:
7386 #line 2545 "parser.y" /* yacc.c:1646 */
7387  {
7388  if ((yyvsp[(-1) - (1)])) {
7389  CB_ALPHABET_NAME ((yyvsp[(-1) - (1)]))->alphabet_type = CB_ALPHABET_ASCII;
7390  }
7391  }
7392 #line 7322 "parser.c" /* yacc.c:1646 */
7393  break;
7394 
7395  case 132:
7396 #line 2551 "parser.y" /* yacc.c:1646 */
7397  {
7398  if ((yyvsp[(-1) - (1)])) {
7399  CB_ALPHABET_NAME ((yyvsp[(-1) - (1)]))->alphabet_type = CB_ALPHABET_CUSTOM;
7400  CB_ALPHABET_NAME ((yyvsp[(-1) - (1)]))->custom_list = (yyvsp[0]);
7401  }
7402  }
7403 #line 7333 "parser.c" /* yacc.c:1646 */
7404  break;
7405 
7406  case 133:
7407 #line 2561 "parser.y" /* yacc.c:1646 */
7408  {
7409  (yyval) = CB_LIST_INIT ((yyvsp[0]));
7410  }
7411 #line 7341 "parser.c" /* yacc.c:1646 */
7412  break;
7413 
7414  case 134:
7415 #line 2565 "parser.y" /* yacc.c:1646 */
7416  {
7417  (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0]));
7418  }
7419 #line 7349 "parser.c" /* yacc.c:1646 */
7420  break;
7421 
7422  case 135:
7423 #line 2572 "parser.y" /* yacc.c:1646 */
7424  {
7425  (yyval) = (yyvsp[0]);
7426  }
7427 #line 7357 "parser.c" /* yacc.c:1646 */
7428  break;
7429 
7430  case 136:
7431 #line 2576 "parser.y" /* yacc.c:1646 */
7432  {
7433  (yyval) = CB_BUILD_PAIR ((yyvsp[-2]), (yyvsp[0]));
7434  }
7435 #line 7365 "parser.c" /* yacc.c:1646 */
7436  break;
7437 
7438  case 137:
7439 #line 2580 "parser.y" /* yacc.c:1646 */
7440  {
7441  (yyval) = CB_LIST_INIT ((yyvsp[-1]));
7442  }
7443 #line 7373 "parser.c" /* yacc.c:1646 */
7444  break;
7445 
7446  case 138:
7447 #line 2584 "parser.y" /* yacc.c:1646 */
7448  {
7449  (yyval) = (yyvsp[-1]);
7450  }
7451 #line 7381 "parser.c" /* yacc.c:1646 */
7452  break;
7453 
7454  case 139:
7455 #line 2591 "parser.y" /* yacc.c:1646 */
7456  {
7457  cb_list_add ((yyvsp[-1]), (yyvsp[0]));
7458  }
7459 #line 7389 "parser.c" /* yacc.c:1646 */
7460  break;
7461 
7462  case 140:
7463 #line 2595 "parser.y" /* yacc.c:1646 */
7464  {
7465  cb_list_add ((yyvsp[-3]), (yyvsp[0]));
7466  }
7467 #line 7397 "parser.c" /* yacc.c:1646 */
7468  break;
7469 
7470  case 141:
7471 #line 2601 "parser.y" /* yacc.c:1646 */
7472  { (yyval) = (yyvsp[0]); }
7473 #line 7403 "parser.c" /* yacc.c:1646 */
7474  break;
7475 
7476  case 142:
7477 #line 2602 "parser.y" /* yacc.c:1646 */
7478  { (yyval) = cb_space; }
7479 #line 7409 "parser.c" /* yacc.c:1646 */
7480  break;
7481 
7482  case 143:
7483 #line 2603 "parser.y" /* yacc.c:1646 */
7484  { (yyval) = cb_zero; }
7485 #line 7415 "parser.c" /* yacc.c:1646 */
7486  break;
7487 
7488  case 144:
7489 #line 2604 "parser.y" /* yacc.c:1646 */
7490  { (yyval) = cb_quote; }
7491 #line 7421 "parser.c" /* yacc.c:1646 */
7492  break;
7493 
7494  case 145:
7495 #line 2605 "parser.y" /* yacc.c:1646 */
7496  { (yyval) = cb_norm_high; }
7497 #line 7427 "parser.c" /* yacc.c:1646 */
7498  break;
7499 
7500  case 146:
7501 #line 2606 "parser.y" /* yacc.c:1646 */
7502  { (yyval) = cb_norm_low; }
7503 #line 7433 "parser.c" /* yacc.c:1646 */
7504  break;
7505 
7506  case 147:
7507 #line 2610 "parser.y" /* yacc.c:1646 */
7508  { (yyval) = cb_space; }
7509 #line 7439 "parser.c" /* yacc.c:1646 */
7510  break;
7511 
7512  case 148:
7513 #line 2611 "parser.y" /* yacc.c:1646 */
7514  { (yyval) = cb_zero; }
7515 #line 7445 "parser.c" /* yacc.c:1646 */
7516  break;
7517 
7518  case 149:
7519 #line 2619 "parser.y" /* yacc.c:1646 */
7520  {
7524  if (current_program->nested_level) {
7525  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7526  } else if ((yyvsp[-1])) {
7527  CB_CHAIN_PAIR (current_program->symbolic_char_list, (yyvsp[-1]), (yyvsp[0]));
7528  }
7529  }
7530 #line 7460 "parser.c" /* yacc.c:1646 */
7531  break;
7532 
7533  case 150:
7534 #line 2633 "parser.y" /* yacc.c:1646 */
7535  {
7536  (yyval) = NULL;
7537  }
7538 #line 7468 "parser.c" /* yacc.c:1646 */
7539  break;
7540 
7541  case 151:
7542 #line 2637 "parser.y" /* yacc.c:1646 */
7543  {
7544  (yyval) = (yyvsp[0]);
7545  }
7546 #line 7476 "parser.c" /* yacc.c:1646 */
7547  break;
7548 
7549  case 152:
7550 #line 2645 "parser.y" /* yacc.c:1646 */
7551  {
7552  (yyval) = (yyvsp[0]);
7553  }
7554 #line 7484 "parser.c" /* yacc.c:1646 */
7555  break;
7556 
7557  case 153:
7558 #line 2652 "parser.y" /* yacc.c:1646 */
7559  {
7560  (yyval) = (yyvsp[0]);
7561  }
7562 #line 7492 "parser.c" /* yacc.c:1646 */
7563  break;
7564 
7565  case 154:
7566 #line 2656 "parser.y" /* yacc.c:1646 */
7567  {
7568  if ((yyvsp[0])) {
7569  (yyval) = cb_list_append ((yyvsp[-1]), (yyvsp[0]));
7570  } else {
7571  (yyval) = (yyvsp[-1]);
7572  }
7573  }
7574 #line 7504 "parser.c" /* yacc.c:1646 */
7575  break;
7576 
7577  case 155:
7578 #line 2667 "parser.y" /* yacc.c:1646 */
7579  {
7580  cb_tree l1;
7581  cb_tree l2;
7582 
7583  if (cb_list_length ((yyvsp[-2])) != cb_list_length ((yyvsp[0]))) {
7584  cb_error (_("Invalid SYMBOLIC clause"));
7585  (yyval) = NULL;
7586  } else {
7587  l1 = (yyvsp[-2]);
7588  l2 = (yyvsp[0]);
7589  for (; l1; l1 = CB_CHAIN (l1), l2 = CB_CHAIN (l2)) {
7590  CB_PURPOSE (l1) = CB_VALUE (l2);
7591  }
7592  (yyval) = (yyvsp[-2]);
7593  }
7594  }
7595 #line 7525 "parser.c" /* yacc.c:1646 */
7596  break;
7597 
7598  case 156:
7599 #line 2687 "parser.y" /* yacc.c:1646 */
7600  {
7601  if ((yyvsp[0]) == NULL) {
7602  (yyval) = NULL;
7603  } else {
7604  (yyval) = CB_LIST_INIT ((yyvsp[0]));
7605  }
7606  }
7607 #line 7537 "parser.c" /* yacc.c:1646 */
7608  break;
7609 
7610  case 157:
7611 #line 2695 "parser.y" /* yacc.c:1646 */
7612  {
7613  if ((yyvsp[0]) == NULL) {
7614  (yyval) = (yyvsp[-1]);
7615  } else {
7616  (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0]));
7617  }
7618  }
7619 #line 7549 "parser.c" /* yacc.c:1646 */
7620  break;
7621 
7622  case 158:
7623 #line 2705 "parser.y" /* yacc.c:1646 */
7624  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
7625 #line 7555 "parser.c" /* yacc.c:1646 */
7626  break;
7627 
7628  case 159:
7629 #line 2706 "parser.y" /* yacc.c:1646 */
7630  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
7631 #line 7561 "parser.c" /* yacc.c:1646 */
7632  break;
7633 
7634  case 160:
7635 #line 2713 "parser.y" /* yacc.c:1646 */
7636  {
7637  cb_tree x;
7638 
7642  if (current_program->nested_level) {
7643  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7644  } else {
7645  /* Returns null on error */
7646  x = cb_build_class_name ((yyvsp[-2]), (yyvsp[0]));
7647  if (x) {
7648  current_program->class_name_list =
7649  cb_list_add (current_program->class_name_list, x);
7650  }
7651  }
7652  }
7653 #line 7583 "parser.c" /* yacc.c:1646 */
7654  break;
7655 
7656  case 161:
7657 #line 2733 "parser.y" /* yacc.c:1646 */
7658  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
7659 #line 7589 "parser.c" /* yacc.c:1646 */
7660  break;
7661 
7662  case 162:
7663 #line 2734 "parser.y" /* yacc.c:1646 */
7664  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
7665 #line 7595 "parser.c" /* yacc.c:1646 */
7666  break;
7667 
7668  case 163:
7669 #line 2739 "parser.y" /* yacc.c:1646 */
7670  {
7671  (yyval) = (yyvsp[0]);
7672  }
7673 #line 7603 "parser.c" /* yacc.c:1646 */
7674  break;
7675 
7676  case 164:
7677 #line 2743 "parser.y" /* yacc.c:1646 */
7678  {
7679  if (CB_TREE_CLASS ((yyvsp[-2])) != CB_CLASS_NUMERIC &&
7680  CB_LITERAL_P ((yyvsp[-2])) && CB_LITERAL ((yyvsp[-2]))->size != 1) {
7681  cb_error (_("CLASS literal with THRU must have size 1"));
7682  }
7683  if (CB_TREE_CLASS ((yyvsp[0])) != CB_CLASS_NUMERIC &&
7684  CB_LITERAL_P ((yyvsp[0])) && CB_LITERAL ((yyvsp[0]))->size != 1) {
7685  cb_error (_("CLASS literal with THRU must have size 1"));
7686  }
7687  if (literal_value ((yyvsp[-2])) <= literal_value ((yyvsp[0]))) {
7688  (yyval) = CB_BUILD_PAIR ((yyvsp[-2]), (yyvsp[0]));
7689  } else {
7690  (yyval) = CB_BUILD_PAIR ((yyvsp[0]), (yyvsp[-2]));
7691  }
7692  }
7693 #line 7623 "parser.c" /* yacc.c:1646 */
7694  break;
7695 
7696  case 165:
7697 #line 2764 "parser.y" /* yacc.c:1646 */
7698  {
7699  cb_tree l;
7700 
7704  if (current_program->nested_level) {
7705  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7706  } else {
7707  /* Returns null on error */
7708  l = cb_build_locale_name ((yyvsp[-2]), (yyvsp[0]));
7709  if (l) {
7710  current_program->locale_list =
7711  cb_list_add (current_program->locale_list, l);
7712  }
7713  }
7714  }
7715 #line 7645 "parser.c" /* yacc.c:1646 */
7716  break;
7717 
7718  case 166:
7719 #line 2787 "parser.y" /* yacc.c:1646 */
7720  {
7721  unsigned char *s = CB_LITERAL ((yyvsp[-1]))->data;
7722  unsigned int error_ind = 0;
7723 
7727  if (current_program->nested_level) {
7728  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7729  error_ind = 1;
7730  }
7732  if ((yyvsp[0])) {
7733  PENDING ("PICTURE SYMBOL");
7734  }
7735  if (CB_LITERAL ((yyvsp[-1]))->size != 1) {
7736  cb_error_x ((yyvsp[-1]), _("Invalid currency sign '%s'"), (char *)s);
7737  error_ind = 1;
7738  }
7739  switch (*s) {
7740  case '0':
7741  case '1':
7742  case '2':
7743  case '3':
7744  case '4':
7745  case '5':
7746  case '6':
7747  case '7':
7748  case '8':
7749  case '9':
7750  case 'A':
7751  case 'B':
7752  case 'C':
7753  case 'D':
7754  case 'E':
7755  case 'N':
7756  case 'P':
7757  case 'R':
7758  case 'S':
7759  case 'V':
7760  case 'X':
7761  case 'Z':
7762  case 'a':
7763  case 'b':
7764  case 'c':
7765  case 'd':
7766  case 'e':
7767  case 'n':
7768  case 'p':
7769  case 'r':
7770  case 's':
7771  case 'v':
7772  case 'x':
7773  case 'z':
7774  case '+':
7775  case '-':
7776  case ',':
7777  case '.':
7778  case '*':
7779  case '/':
7780  case ';':
7781  case '(':
7782  case ')':
7783  case '=':
7784  case '\'':
7785  case '"':
7786  case ' ':
7787  cb_error_x ((yyvsp[-1]), _("Invalid currency sign '%s'"), (char *)s);
7788  break;
7789  default:
7790  if (!error_ind) {
7791  current_program->currency_symbol = s[0];
7792  }
7793  break;
7794  }
7795  }
7796 #line 7726 "parser.c" /* yacc.c:1646 */
7797  break;
7798 
7799  case 167:
7800 #line 2868 "parser.y" /* yacc.c:1646 */
7801  {
7802  (yyval) = NULL;
7803  }
7804 #line 7734 "parser.c" /* yacc.c:1646 */
7805  break;
7806 
7807  case 168:
7808 #line 2872 "parser.y" /* yacc.c:1646 */
7809  {
7810  (yyval) = (yyvsp[0]);
7811  }
7812 #line 7742 "parser.c" /* yacc.c:1646 */
7813  break;
7814 
7815  case 169:
7816 #line 2881 "parser.y" /* yacc.c:1646 */
7817  {
7821  if (current_program->nested_level) {
7822  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7823  } else {
7824  check_repeated ("DECIMAL-POINT", SYN_CLAUSE_2, &check_duplicate);
7825  current_program->decimal_point = ',';
7826  current_program->numeric_separator = '.';
7827  }
7828  }
7829 #line 7759 "parser.c" /* yacc.c:1646 */
7830  break;
7831 
7832  case 170:
7833 #line 2900 "parser.y" /* yacc.c:1646 */
7834  {
7838  if (current_program->nested_level) {
7839  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7840  } else {
7841  current_program->flag_trailing_separate = 1;
7842  }
7843  }
7844 #line 7774 "parser.c" /* yacc.c:1646 */
7845  break;
7846 
7847  case 171:
7848 #line 2916 "parser.y" /* yacc.c:1646 */
7849  {
7853  if (current_program->nested_level) {
7854  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7855  } else {
7857  current_program->cursor_pos = (yyvsp[0]);
7858  }
7859  }
7860 #line 7790 "parser.c" /* yacc.c:1646 */
7861  break;
7862 
7863  case 172:
7864 #line 2934 "parser.y" /* yacc.c:1646 */
7865  {
7869  if (current_program->nested_level) {
7870  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7871  } else {
7872  check_repeated ("CRT STATUS", SYN_CLAUSE_4, &check_duplicate);
7873  current_program->crt_status = (yyvsp[0]);
7874  }
7875  }
7876 #line 7806 "parser.c" /* yacc.c:1646 */
7877  break;
7878 
7879  case 173:
7880 #line 2952 "parser.y" /* yacc.c:1646 */
7881  {
7885  if (current_program->nested_level) {
7886  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7887  } else {
7888  check_repeated ("SCREEN CONTROL", SYN_CLAUSE_5, &check_duplicate);
7889  PENDING ("SCREEN CONTROL");
7890  }
7891  }
7892 #line 7822 "parser.c" /* yacc.c:1646 */
7893  break;
7894 
7895  case 174:
7896 #line 2969 "parser.y" /* yacc.c:1646 */
7897  {
7901  if (current_program->nested_level) {
7902  cb_error (_("%s not allowed in nested programs"), "SPECIAL-NAMES");
7903  } else {
7904  check_repeated ("EVENT STATUS", SYN_CLAUSE_6, &check_duplicate);
7905  PENDING ("EVENT STATUS");
7906  }
7907  }
7908 #line 7838 "parser.c" /* yacc.c:1646 */
7909  break;
7910 
7911  case 175:
7912 #line 2990 "parser.y" /* yacc.c:1646 */
7913  {
7914  cb_validate_program_environment (current_program);
7915  }
7916 #line 7846 "parser.c" /* yacc.c:1646 */
7917  break;
7918 
7919  case 177:
7920 #line 2997 "parser.y" /* yacc.c:1646 */
7921  {
7924  }
7925 #line 7855 "parser.c" /* yacc.c:1646 */
7926  break;
7927 
7928  case 179:
7929 #line 3005 "parser.y" /* yacc.c:1646 */
7930  {
7934  }
7935 #line 7865 "parser.c" /* yacc.c:1646 */
7936  break;
7937 
7938  case 181:
7939 #line 3014 "parser.y" /* yacc.c:1646 */
7940  {
7944  }
7945 #line 7875 "parser.c" /* yacc.c:1646 */
7946  break;
7947 
7948  case 184:
7949 #line 3029 "parser.y" /* yacc.c:1646 */
7950  {
7954  check_duplicate = 0;
7955  if (CB_VALID_TREE ((yyvsp[0]))) {
7956  /* Build new file */
7957  current_file = build_file ((yyvsp[0]));
7958  current_file->optional = CB_INTEGER ((yyvsp[-1]))->val;
7959 
7960  /* Add file to current program list */
7961  CB_ADD_TO_CHAIN (CB_TREE (current_file),
7962  current_program->file_list);
7963  } else {
7964  current_file = NULL;
7965  if (current_program->file_list) {
7966  current_program->file_list
7967  = CB_CHAIN (current_program->file_list);
7968  }
7969  }
7970  }
7971 #line 7901 "parser.c" /* yacc.c:1646 */
7972  break;
7973 
7974  case 185:
7975 #line 3051 "parser.y" /* yacc.c:1646 */
7976  {
7977  if (CB_VALID_TREE ((yyvsp[-3]))) {
7978  validate_file (current_file, (yyvsp[-3]));
7979  }
7980  }
7981 #line 7911 "parser.c" /* yacc.c:1646 */
7982  break;
7983 
7984  case 201:
7985 #line 3083 "parser.y" /* yacc.c:1646 */
7986  {
7988  cobc_cs_check = 0;
7989  current_file->assign = cb_build_assignment_name (current_file, (yyvsp[0]));
7990  }
7991 #line 7921 "parser.c" /* yacc.c:1646 */
7992  break;
7993 
7994  case 202:
7995 #line 3089 "parser.y" /* yacc.c:1646 */
7996  {
7998  cobc_cs_check = 0;
7999  if ((yyvsp[0])) {
8000  current_file->assign = cb_build_assignment_name (current_file, (yyvsp[0]));
8001  } else {
8002  current_file->flag_fileid = 1;
8003  }
8004  }
8005 #line 7935 "parser.c" /* yacc.c:1646 */
8006  break;
8007 
8008  case 203:
8009 #line 3099 "parser.y" /* yacc.c:1646 */
8010  {
8012  cobc_cs_check = 0;
8013  if ((yyvsp[0])) {
8014  current_file->assign = cb_build_assignment_name (current_file, (yyvsp[0]));
8015  } else {
8016  current_file->flag_ext_assign = 0;
8017  current_file->assign =
8018  cb_build_alphanumeric_literal ("stdout", (size_t)6);
8019  current_file->special = COB_SELECT_STDOUT;
8020  }
8021  }
8022 #line 7952 "parser.c" /* yacc.c:1646 */
8023  break;
8024 
8025  case 204:
8026 #line 3112 "parser.y" /* yacc.c:1646 */
8027  {
8029  cobc_cs_check = 0;
8030  if ((yyvsp[0])) {
8031  current_file->assign = cb_build_assignment_name (current_file, (yyvsp[0]));
8032  } else {
8033  current_file->flag_ext_assign = 0;
8034  current_file->assign =
8035  cb_build_alphanumeric_literal ("stdin", (size_t)5);
8036  current_file->special = COB_SELECT_STDIN;
8037  }
8038  }
8039 #line 7969 "parser.c" /* yacc.c:1646 */
8040  break;
8041 
8042  case 205:
8043 #line 3125 "parser.y" /* yacc.c:1646 */
8044  {
8046  cobc_cs_check = 0;
8047  current_file->organization = COB_ORG_LINE_SEQUENTIAL;
8048  if ((yyvsp[0])) {
8049  current_file->assign = cb_build_assignment_name (current_file, (yyvsp[0]));
8050  } else {
8051  /* RM/COBOL always expects an assignment name here - we ignore this
8052  for PRINTER + PRINTER-1 as ACUCOBOL allows this for using as alias */
8053  current_file->flag_ext_assign = 0;
8054  if ((yyvsp[-1]) == cb_int0) {
8055  current_file->assign =
8056  cb_build_alphanumeric_literal ("PRINTER", (size_t)7);
8057  } else if ((yyvsp[-1]) == cb_int1) {
8058  current_file->assign =
8059  cb_build_alphanumeric_literal ("PRINTER-1", (size_t)9);
8060  } else {
8061  current_file->assign =
8062  cb_build_alphanumeric_literal ("LPT1", (size_t)4);
8063  }
8064 
8065  }
8066  }
8067 #line 7997 "parser.c" /* yacc.c:1646 */
8068  break;
8069 
8070  case 206:
8071 #line 3151 "parser.y" /* yacc.c:1646 */
8072  { (yyval) = cb_int0; }
8073 #line 8003 "parser.c" /* yacc.c:1646 */
8074  break;
8075 
8076  case 207:
8077 #line 3152 "parser.y" /* yacc.c:1646 */
8078  { (yyval) = cb_int1; }
8079 #line 8009 "parser.c" /* yacc.c:1646 */
8080  break;
8081 
8082  case 208:
8083 #line 3153 "parser.y" /* yacc.c:1646 */
8084  { (yyval) = cb_int4; }
8085 #line 8015 "parser.c" /* yacc.c:1646 */
8086  break;
8087 
8088  case 214:
8089 #line 3165 "parser.y" /* yacc.c:1646 */
8090  {
8091  current_file->flag_line_adv = 1;
8092  }
8093 #line 8023 "parser.c" /* yacc.c:1646 */
8094  break;
8095 
8096  case 216:
8097 #line 3172 "parser.y" /* yacc.c:1646 */
8098  {
8099  current_file->flag_ext_assign = 1;
8100  }
8101 #line 8031 "parser.c" /* yacc.c:1646 */
8102  break;
8103 
8104  case 220:
8105 #line 3185 "parser.y" /* yacc.c:1646 */
8106  {
8107  (yyval) = NULL;
8108  }
8109 #line 8039 "parser.c" /* yacc.c:1646 */
8110  break;
8111 
8112  case 223:
8113 #line 3197 "parser.y" /* yacc.c:1646 */
8114  {
8115  cobc_cs_check = 0;
8117  }
8118 #line 8048 "parser.c" /* yacc.c:1646 */
8119  break;
8120 
8121  case 224:
8122 #line 3204 "parser.y" /* yacc.c:1646 */
8123  { current_file->access_mode = COB_ACCESS_SEQUENTIAL; }
8124 #line 8054 "parser.c" /* yacc.c:1646 */
8125  break;
8126 
8127  case 225:
8128 #line 3205 "parser.y" /* yacc.c:1646 */
8129  { current_file->access_mode = COB_ACCESS_DYNAMIC; }
8130 #line 8060 "parser.c" /* yacc.c:1646 */
8131  break;
8132 
8133  case 226:
8134 #line 3206 "parser.y" /* yacc.c:1646 */
8135  { current_file->access_mode = COB_ACCESS_RANDOM; }
8136 #line 8066 "parser.c" /* yacc.c:1646 */
8137  break;
8138 
8139  case 227:
8140 #line 3214 "parser.y" /* yacc.c:1646 */
8141  {
8142  struct cb_alt_key *p;
8143  struct cb_alt_key *l;
8144 
8145  p = cobc_parse_malloc (sizeof (struct cb_alt_key));
8146  p->key = (yyvsp[-2]);
8147  p->duplicates = CB_INTEGER ((yyvsp[-1]))->val;
8148  p->next = NULL;
8149 
8150  /* Add to the end of list */
8151  if (current_file->alt_key_list == NULL) {
8152  current_file->alt_key_list = p;
8153  } else {
8154  l = current_file->alt_key_list;
8155  for (; l->next; l = l->next) {
8156  ;
8157  }
8158  l->next = p;
8159  }
8160  }
8161 #line 8091 "parser.c" /* yacc.c:1646 */
8162  break;
8163 
8164  case 228:
8165 #line 3237 "parser.y" /* yacc.c:1646 */
8166  { }
8167 #line 8097 "parser.c" /* yacc.c:1646 */
8168  break;
8169 
8170  case 229:
8171 #line 3240 "parser.y" /* yacc.c:1646 */
8172  {
8173  PENDING ("SUPPRESS WHEN ALL");
8174  }
8175 #line 8105 "parser.c" /* yacc.c:1646 */
8176  break;
8177 
8178  case 230:
8179 #line 3245 "parser.y" /* yacc.c:1646 */
8180  {
8181  PENDING ("SUPPRESS WHEN SPACE/ZERO");
8182  }
8183 #line 8113 "parser.c" /* yacc.c:1646 */
8184  break;
8185 
8186  case 231:
8187 #line 3255 "parser.y" /* yacc.c:1646 */
8188  {
8189  check_repeated ("COLLATING", SYN_CLAUSE_3, &check_duplicate);
8190  PENDING ("COLLATING SEQUENCE");
8191  }
8192 #line 8122 "parser.c" /* yacc.c:1646 */
8193  break;
8194 
8195  case 232:
8196 #line 3266 "parser.y" /* yacc.c:1646 */
8197  {
8199  current_file->file_status = (yyvsp[0]);
8200  }
8201 #line 8131 "parser.c" /* yacc.c:1646 */
8202  break;
8203 
8204  case 236:
8205 #line 3281 "parser.y" /* yacc.c:1646 */
8206  {
8208  }
8209 #line 8139 "parser.c" /* yacc.c:1646 */
8210  break;
8211 
8212  case 238:
8213 #line 3289 "parser.y" /* yacc.c:1646 */
8214  {
8215  current_file->lock_mode = COB_LOCK_MANUAL;
8216  cobc_cs_check = 0;
8217  }
8218 #line 8148 "parser.c" /* yacc.c:1646 */
8219  break;
8220 
8221  case 239:
8222 #line 3294 "parser.y" /* yacc.c:1646 */
8223  {
8224  current_file->lock_mode = COB_LOCK_AUTOMATIC;
8225  cobc_cs_check = 0;
8226  }
8227 #line 8157 "parser.c" /* yacc.c:1646 */
8228  break;
8229 
8230  case 240:
8231 #line 3299 "parser.y" /* yacc.c:1646 */
8232  {
8233  current_file->lock_mode = COB_LOCK_EXCLUSIVE;
8234  cobc_cs_check = 0;
8235  }
8236 #line 8166 "parser.c" /* yacc.c:1646 */
8237  break;
8238 
8239  case 243:
8240 #line 3308 "parser.y" /* yacc.c:1646 */
8241  {
8242  current_file->lock_mode |= COB_LOCK_MULTIPLE;
8243  }
8244 #line 8174 "parser.c" /* yacc.c:1646 */
8245  break;
8246 
8247  case 244:
8248 #line 3312 "parser.y" /* yacc.c:1646 */
8249  {
8250  current_file->lock_mode |= COB_LOCK_MULTIPLE;
8251  PENDING ("WITH ROLLBACK");
8252  }
8253 #line 8183 "parser.c" /* yacc.c:1646 */
8254  break;
8255 
8256  case 247:
8257 #line 3328 "parser.y" /* yacc.c:1646 */
8258  {
8259  check_repeated ("ORGANIZATION", SYN_CLAUSE_6, &check_duplicate);
8260  current_file->organization = COB_ORG_INDEXED;
8261  }
8262 #line 8192 "parser.c" /* yacc.c:1646 */
8263  break;
8264 
8265  case 248:
8266 #line 3333 "parser.y" /* yacc.c:1646 */
8267  {
8268  check_repeated ("ORGANIZATION", SYN_CLAUSE_6, &check_duplicate);
8269  current_file->organization = COB_ORG_SEQUENTIAL;
8270  }
8271 #line 8201 "parser.c" /* yacc.c:1646 */
8272  break;
8273 
8274  case 249:
8275 #line 3338 "parser.y" /* yacc.c:1646 */
8276  {
8277  check_repeated ("ORGANIZATION", SYN_CLAUSE_6, &check_duplicate);
8278  current_file->organization = COB_ORG_RELATIVE;
8279  }
8280 #line 8210 "parser.c" /* yacc.c:1646 */
8281  break;
8282 
8283  case 250:
8284 #line 3343 "parser.y" /* yacc.c:1646 */
8285  {
8286  check_repeated ("ORGANIZATION", SYN_CLAUSE_6, &check_duplicate);
8287  current_file->organization = COB_ORG_LINE_SEQUENTIAL;
8288  }
8289 #line 8219 "parser.c" /* yacc.c:1646 */
8290  break;
8291 
8292  case 251:
8293 #line 3354 "parser.y" /* yacc.c:1646 */
8294  {
8296  cb_verify (cb_padding_character_clause, "PADDING CHARACTER");
8297  }
8298 #line 8228 "parser.c" /* yacc.c:1646 */
8299  break;
8300 
8301  case 252:
8302 #line 3365 "parser.y" /* yacc.c:1646 */
8303  {
8304  check_repeated ("RECORD DELIMITER", SYN_CLAUSE_8, &check_duplicate);
8305  }
8306 #line 8236 "parser.c" /* yacc.c:1646 */
8307  break;
8308 
8309  case 253:
8310 #line 3375 "parser.y" /* yacc.c:1646 */
8311  {
8312  check_repeated ("RECORD KEY", SYN_CLAUSE_9, &check_duplicate);
8313  current_file->key = (yyvsp[0]);
8314  }
8315 #line 8245 "parser.c" /* yacc.c:1646 */
8316  break;
8317 
8318  case 254:
8319 #line 3382 "parser.y" /* yacc.c:1646 */
8320  { (yyval) = (yyvsp[0]); }
8321 #line 8251 "parser.c" /* yacc.c:1646 */
8322  break;
8323 
8324  case 255:
8325 #line 3383 "parser.y" /* yacc.c:1646 */
8326  { PENDING ("SPLIT KEYS"); }
8327 #line 8257 "parser.c" /* yacc.c:1646 */
8328  break;
8329 
8330  case 256:
8331 #line 3384 "parser.y" /* yacc.c:1646 */
8332  { PENDING ("SPLIT KEYS"); }
8333 #line 8263 "parser.c" /* yacc.c:1646 */
8334  break;
8335 
8336  case 257:
8337 #line 3391 "parser.y" /* yacc.c:1646 */
8338  {
8339  check_repeated ("RELATIVE KEY", SYN_CLAUSE_10, &check_duplicate);
8340  current_file->key = (yyvsp[0]);
8341  }
8342 #line 8272 "parser.c" /* yacc.c:1646 */
8343  break;
8344 
8345  case 258:
8346 #line 3402 "parser.y" /* yacc.c:1646 */
8347  {
8349  }
8350 #line 8280 "parser.c" /* yacc.c:1646 */
8351  break;
8352 
8353  case 261:
8354 #line 3416 "parser.y" /* yacc.c:1646 */
8355  {
8357  current_file->sharing = (yyvsp[0]);
8358  }
8359 #line 8289 "parser.c" /* yacc.c:1646 */
8360  break;
8361 
8362  case 262:
8363 #line 3423 "parser.y" /* yacc.c:1646 */
8364  { (yyval) = NULL; }
8365 #line 8295 "parser.c" /* yacc.c:1646 */
8366  break;
8367 
8368  case 263:
8369 #line 3424 "parser.y" /* yacc.c:1646 */
8370  { (yyval) = cb_int (COB_LOCK_OPEN_EXCLUSIVE); }
8371 #line 8301 "parser.c" /* yacc.c:1646 */
8372  break;
8373 
8374  case 264:
8375 #line 3425 "parser.y" /* yacc.c:1646 */
8376  { (yyval) = NULL; }
8377 #line 8307 "parser.c" /* yacc.c:1646 */
8378  break;
8379 
8380  case 267:
8381 #line 3434 "parser.y" /* yacc.c:1646 */
8382  {
8383  yyerrok;
8384  }
8385 #line 8315 "parser.c" /* yacc.c:1646 */
8386  break;
8387 
8388  case 272:
8389 #line 3453 "parser.y" /* yacc.c:1646 */
8390  {
8391  cb_tree l;
8392 
8395  COBC_HD_I_O_CONTROL, 0);
8396  switch (CB_INTEGER ((yyvsp[-3]))->val) {
8397  case 0:
8398  /* SAME AREA */
8399  break;
8400  case 1:
8401  /* SAME RECORD */
8402  for (l = (yyvsp[0]); l; l = CB_CHAIN (l)) {
8403  if (CB_VALID_TREE (CB_VALUE (l))) {
8404  CB_FILE (cb_ref (CB_VALUE (l)))->same_clause = samearea;
8405  }
8406  }
8407  samearea++;
8408  break;
8409  case 2:
8410  /* SAME SORT-MERGE */
8411  break;
8412  }
8413  }
8414 #line 8344 "parser.c" /* yacc.c:1646 */
8415  break;
8416 
8417  case 273:
8418 #line 3480 "parser.y" /* yacc.c:1646 */
8419  { (yyval) = cb_int0; }
8420 #line 8350 "parser.c" /* yacc.c:1646 */
8421  break;
8422 
8423  case 274:
8424 #line 3481 "parser.y" /* yacc.c:1646 */
8425  { (yyval) = cb_int1; }
8426 #line 8356 "parser.c" /* yacc.c:1646 */
8427  break;
8428 
8429  case 275:
8430 #line 3482 "parser.y" /* yacc.c:1646 */
8431  { (yyval) = cb_int2; }
8432 #line 8362 "parser.c" /* yacc.c:1646 */
8433  break;
8434 
8435  case 276:
8436 #line 3483 "parser.y" /* yacc.c:1646 */
8437  { (yyval) = cb_int2; }
8438 #line 8368 "parser.c" /* yacc.c:1646 */
8439  break;
8440 
8441  case 277:
8442 #line 3490 "parser.y" /* yacc.c:1646 */
8443  {
8444  /* Fake for TAPE */
8446  }
8447 #line 8377 "parser.c" /* yacc.c:1646 */
8448  break;
8449 
8450  case 278:
8451 #line 3495 "parser.y" /* yacc.c:1646 */
8452  {
8455  COBC_HD_I_O_CONTROL, 0);
8456  cb_verify (cb_multiple_file_tape_clause, "MULTIPLE FILE TAPE");
8457  cobc_cs_check = 0;
8458  }
8459 #line 8389 "parser.c" /* yacc.c:1646 */
8460  break;
8461 
8462  case 284:
8463 #line 3524 "parser.y" /* yacc.c:1646 */
8464  {
8466  }
8467 #line 8397 "parser.c" /* yacc.c:1646 */
8468  break;
8469 
8470  case 285:
8471 #line 3532 "parser.y" /* yacc.c:1646 */
8472  {
8473  cb_validate_program_data (current_program);
8474  }
8475 #line 8405 "parser.c" /* yacc.c:1646 */
8476  break;
8477 
8478  case 287:
8479 #line 3539 "parser.y" /* yacc.c:1646 */
8480  {
8482  }
8483 #line 8413 "parser.c" /* yacc.c:1646 */
8484  break;
8485 
8486  case 289:
8487 #line 3548 "parser.y" /* yacc.c:1646 */
8488  {
8490  }
8491 #line 8365 "parser.c" /* yacc.c:1646 */
8492  break;
8493 
8494  case 290:
8495 #line 3552 "parser.y" /* yacc.c:1646 */
8496  {
8500  }
8501 #line 8423 "parser.c" /* yacc.c:1646 */
8502  break;
8503 
8504  case 292:
8505 #line 3562 "parser.y" /* yacc.c:1646 */
8506  {
8507  if (CB_VALID_TREE (current_file)) {
8508  if (CB_VALID_TREE ((yyvsp[0]))) {
8509  if (current_file->reports) {
8510  cb_error (_("RECORD description invalid with REPORT"));
8511  } else {
8512  finalize_file (current_file, CB_FIELD ((yyvsp[0])));
8513  }
8514  } else if (!current_file->reports) {
8515  cb_error (_("RECORD description missing or invalid"));
8516  }
8517  }
8518  }
8519 #line 8441 "parser.c" /* yacc.c:1646 */
8520  break;
8521 
8522  case 293:
8523 #line 3581 "parser.y" /* yacc.c:1646 */
8524  {
8527  COBC_HD_FILE_SECTION, 0, 0);
8528  check_duplicate = 0;
8529  if (CB_INVALID_TREE ((yyvsp[0])) || cb_ref ((yyvsp[0])) == cb_error_node) {
8530  YYERROR;
8531  }
8532  current_file = CB_FILE (cb_ref ((yyvsp[0])));
8533  if (CB_VALID_TREE (current_file)) {
8534  if ((yyvsp[-1])) {
8535  current_file->organization = COB_ORG_SORT;
8536  }
8537  }
8538  }
8539 #line 8461 "parser.c" /* yacc.c:1646 */
8540  break;
8541 
8542  case 295:
8543 #line 3598 "parser.y" /* yacc.c:1646 */
8544  {
8545  yyerrok;
8546  }
8547 #line 8469 "parser.c" /* yacc.c:1646 */
8548  break;
8549 
8550  case 296:
8551 #line 3605 "parser.y" /* yacc.c:1646 */
8552  {
8553  (yyval) = NULL;
8554  }
8555 #line 8477 "parser.c" /* yacc.c:1646 */
8556  break;
8557 
8558  case 297:
8559 #line 3609 "parser.y" /* yacc.c:1646 */
8560  {
8561  (yyval) = cb_int1;
8562  }
8563 #line 8485 "parser.c" /* yacc.c:1646 */
8564  break;
8565 
8566  case 300:
8567 #line 3620 "parser.y" /* yacc.c:1646 */
8568  {
8570 #if 0 /* RXWRXW - Global/External */
8571  if (current_file->flag_global) {
8572  cb_error (_("File cannot have both EXTERNAL and GLOBAL clauses"));
8573  }
8574 #endif
8575  current_file->flag_external = 1;
8576  }
8577 #line 8499 "parser.c" /* yacc.c:1646 */
8578  break;
8579 
8580  case 301:
8581 #line 3630 "parser.y" /* yacc.c:1646 */
8582  {
8584 #if 0 /* RXWRXW - Global/External */
8585  if (current_file->flag_external) {
8586  cb_error (_("File cannot have both EXTERNAL and GLOBAL clauses"));
8587  }
8588 #endif
8589  if (current_program->prog_type == CB_FUNCTION_TYPE) {
8590  cb_error (_("%s is invalid in a user FUNCTION"), "GLOBAL");
8591  } else {
8592  current_file->flag_global = 1;
8593  current_program->flag_file_global = 1;
8594  }
8595  }
8596 #line 8518 "parser.c" /* yacc.c:1646 */
8597  break;
8598 
8599  case 311:
8600 #line 3660 "parser.y" /* yacc.c:1646 */
8601  {
8603  /* ignore */
8604  }
8605 #line 8527 "parser.c" /* yacc.c:1646 */
8606  break;
8607 
8608  case 315:
8609 #line 3673 "parser.y" /* yacc.c:1646 */
8610  {
8612  if (current_file->organization == COB_ORG_LINE_SEQUENTIAL) {
8613  if (warningopt) {
8614  cb_warning (_("RECORD clause ignored for LINE SEQUENTIAL"));
8615  }
8616  } else {
8617  current_file->record_max = cb_get_int ((yyvsp[-1]));
8618  if (current_file->record_max < 1) {
8619  current_file->record_max = 1;
8620  cb_error (_("RECORD clause invalid"));
8621  }
8622  if (current_file->record_max > MAX_FD_RECORD) {
8623  current_file->record_max = MAX_FD_RECORD;
8624  cb_error (_("RECORD size exceeds maximum allowed (%d)"),
8625  MAX_FD_RECORD);
8626  }
8627  }
8628  }
8629 #line 8551 "parser.c" /* yacc.c:1646 */
8630  break;
8631 
8632  case 316:
8633 #line 3693 "parser.y" /* yacc.c:1646 */
8634  {
8635  int error_ind = 0;
8636 
8638  if (current_file->organization == COB_ORG_LINE_SEQUENTIAL) {
8639  if (warningopt) {
8640  cb_warning (_("RECORD clause ignored for LINE SEQUENTIAL"));
8641  }
8642  } else {
8643  current_file->record_min = cb_get_int ((yyvsp[-3]));
8644  current_file->record_max = cb_get_int ((yyvsp[-1]));
8645  if (current_file->record_min < 0) {
8646  current_file->record_min = 0;
8647  error_ind = 1;
8648  }
8649  if (current_file->record_max < 1) {
8650  current_file->record_max = 1;
8651  error_ind = 1;
8652  }
8653  if (current_file->record_max > MAX_FD_RECORD) {
8654  current_file->record_max = MAX_FD_RECORD;
8655  cb_error (_("RECORD size exceeds maximum allowed (%d)"),
8656  MAX_FD_RECORD);
8657  error_ind = 1;
8658  }
8659  if (current_file->record_max <= current_file->record_min) {
8660  error_ind = 1;
8661  }
8662  if (error_ind) {
8663  cb_error (_("RECORD clause invalid"));
8664  }
8665  }
8666  }
8667 #line 8589 "parser.c" /* yacc.c:1646 */
8668  break;
8669 
8670  case 317:
8671 #line 3728 "parser.y" /* yacc.c:1646 */
8672  {
8673  int error_ind = 0;
8674 
8676  current_file->record_min = (yyvsp[-3]) ? cb_get_int ((yyvsp[-3])) : 0;
8677  current_file->record_max = (yyvsp[-2]) ? cb_get_int ((yyvsp[-2])) : 0;
8678  if ((yyvsp[-3]) && current_file->record_min < 0) {
8679  current_file->record_min = 0;
8680  error_ind = 1;
8681  }
8682  if ((yyvsp[-2]) && current_file->record_max < 1) {
8683  current_file->record_max = 1;
8684  error_ind = 1;
8685  }
8686  if ((yyvsp[-2]) && current_file->record_max > MAX_FD_RECORD) {
8687  current_file->record_max = MAX_FD_RECORD;
8688  cb_error (_("RECORD size exceeds maximum allowed (%d)"),
8689  MAX_FD_RECORD);
8690  error_ind = 1;
8691  }
8692  if (((yyvsp[-3]) || (yyvsp[-2])) && current_file->record_max <= current_file->record_min) {
8693  error_ind = 1;
8694  }
8695  if (error_ind) {
8696  cb_error (_("RECORD clause invalid"));
8697  }
8698  }
8699 #line 8621 "parser.c" /* yacc.c:1646 */
8700  break;
8701 
8702  case 319:
8703 #line 3759 "parser.y" /* yacc.c:1646 */
8704  {
8705  current_file->record_depending = (yyvsp[0]);
8706  }
8707 #line 8629 "parser.c" /* yacc.c:1646 */
8708  break;
8709 
8710  case 320:
8711 #line 3765 "parser.y" /* yacc.c:1646 */
8712  { (yyval) = NULL; }
8713 #line 8635 "parser.c" /* yacc.c:1646 */
8714  break;
8715 
8716  case 321:
8717 #line 3766 "parser.y" /* yacc.c:1646 */
8718  { (yyval) = (yyvsp[0]); }
8719 #line 8641 "parser.c" /* yacc.c:1646 */
8720  break;
8721 
8722  case 322:
8723 #line 3770 "parser.y" /* yacc.c:1646 */
8724  { (yyval) = NULL; }
8725 #line 8647 "parser.c" /* yacc.c:1646 */
8726  break;
8727 
8728  case 323:
8729 #line 3771 "parser.y" /* yacc.c:1646 */
8730  { (yyval) = (yyvsp[0]); }
8731 #line 8653 "parser.c" /* yacc.c:1646 */
8732  break;
8733 
8734  case 324:
8735 #line 3779 "parser.y" /* yacc.c:1646 */
8736  {
8738  cb_verify (cb_label_records_clause, "LABEL RECORDS");
8739  }
8740 #line 8662 "parser.c" /* yacc.c:1646 */
8741  break;
8742 
8743  case 325:
8744 #line 3790 "parser.y" /* yacc.c:1646 */
8745  {
8747  cb_verify (cb_value_of_clause, "VALUE OF");
8748  }
8749 #line 8671 "parser.c" /* yacc.c:1646 */
8750  break;
8751 
8752  case 326:
8753 #line 3795 "parser.y" /* yacc.c:1646 */
8754  {
8756  cb_verify (cb_value_of_clause, "VALUE OF");
8757  if (!current_file->assign) {
8758  current_file->assign = cb_build_assignment_name (current_file, (yyvsp[0]));
8759  }
8760  }
8761 #line 8683 "parser.c" /* yacc.c:1646 */
8762  break;
8763 
8764  case 331:
8765 #line 3818 "parser.y" /* yacc.c:1646 */
8766  {
8768  cb_verify (cb_data_records_clause, "DATA RECORDS");
8769  }
8770 #line 8692 "parser.c" /* yacc.c:1646 */
8771  break;
8772 
8773  case 332:
8774 #line 3830 "parser.y" /* yacc.c:1646 */
8775  {
8777  if (current_file->organization != COB_ORG_LINE_SEQUENTIAL &&
8778  current_file->organization != COB_ORG_SEQUENTIAL) {
8779  cb_error (_("LINAGE clause with wrong file type"));
8780  } else {
8781  current_file->linage = (yyvsp[-2]);
8782  current_file->organization = COB_ORG_LINE_SEQUENTIAL;
8783  if (current_linage == 0) {
8784  linage_file = current_file;
8785  }
8786  current_linage++;
8787  }
8788  }
8789 #line 8711 "parser.c" /* yacc.c:1646 */
8790  break;
8791 
8792  case 338:
8793 #line 3858 "parser.y" /* yacc.c:1646 */
8794  {
8795  current_file->latfoot = (yyvsp[0]);
8796  }
8797 #line 8719 "parser.c" /* yacc.c:1646 */
8798  break;
8799 
8800  case 339:
8801 #line 3865 "parser.y" /* yacc.c:1646 */
8802  {
8803  current_file->lattop = (yyvsp[0]);
8804  }
8805 #line 8727 "parser.c" /* yacc.c:1646 */
8806  break;
8807 
8808  case 340:
8809 #line 3872 "parser.y" /* yacc.c:1646 */
8810  {
8811  current_file->latbot = (yyvsp[0]);
8812  }
8813 #line 8735 "parser.c" /* yacc.c:1646 */
8814  break;
8815 
8816  case 341:
8817 #line 3881 "parser.y" /* yacc.c:1646 */
8818  {
8819  cobc_cs_check = 0;
8820  check_repeated ("RECORDING", SYN_CLAUSE_9, &check_duplicate);
8821  /* ignore */
8822  }
8823 #line 8745 "parser.c" /* yacc.c:1646 */
8824  break;
8825 
8826  case 342:
8827 #line 3893 "parser.y" /* yacc.c:1646 */
8828  {
8830  if (CB_VALID_TREE ((yyvsp[0]))) {
8831  cb_tree x;
8832  struct cb_alphabet_name *al;
8833 
8834  x = cb_ref ((yyvsp[0]));
8835  if (current_file->organization != COB_ORG_LINE_SEQUENTIAL &&
8836  current_file->organization != COB_ORG_SEQUENTIAL) {
8837  cb_error (_("CODE-SET clause invalid for file type"));
8838  }
8839  if (!CB_ALPHABET_NAME_P (x)) {
8840  cb_error_x ((yyvsp[0]), _("Alphabet-name is expected '%s'"), cb_name ((yyvsp[0])));
8841  } else {
8842  al = CB_ALPHABET_NAME (x);
8843  switch (al->alphabet_type) {
8844 #ifdef COB_EBCDIC_MACHINE
8845  case CB_ALPHABET_ASCII:
8846  case CB_ALPHABET_CUSTOM:
8847  current_file->code_set = al;
8848  break;
8849  default:
8850  if (warningopt) {
8851  cb_warning_x ((yyvsp[0]), _("Ignoring CODE-SET '%s'"),
8852  cb_name ((yyvsp[0])));
8853  }
8854  break;
8855 #else
8856  case CB_ALPHABET_EBCDIC:
8857  case CB_ALPHABET_CUSTOM:
8858  current_file->code_set = al;
8859  break;
8860  default:
8861  if (warningopt) {
8862  cb_warning_x ((yyvsp[0]), _("Ignoring CODE-SET '%s'"),
8863  cb_name ((yyvsp[0])));
8864  }
8865  break;
8866 #endif
8867  }
8868  if (warningopt) {
8869  PENDING ("CODE-SET");
8870  }
8871  }
8872  }
8873  }
8874 #line 8796 "parser.c" /* yacc.c:1646 */
8875  break;
8876 
8877  case 343:
8878 #line 3945 "parser.y" /* yacc.c:1646 */
8879  {
8881  PENDING("REPORT WRITER");
8882  if (current_file->organization != COB_ORG_LINE_SEQUENTIAL &&
8883  current_file->organization != COB_ORG_SEQUENTIAL) {
8884  cb_error (_("REPORT clause with wrong file type"));
8885  } else {
8886  current_file->reports = (yyvsp[0]);
8887  current_file->organization = COB_ORG_LINE_SEQUENTIAL;
8888  }
8889  }
8890 #line 8812 "parser.c" /* yacc.c:1646 */
8891  break;
8892 
8893  case 346:
8894 #line 3965 "parser.y" /* yacc.c:1646 */
8895  {
8896  current_report = build_report ((yyvsp[0]));
8897  current_report->file = current_file;
8898  CB_ADD_TO_CHAIN (CB_TREE (current_report), current_program->report_list);
8899  if (report_count == 0) {
8900  report_instance = current_report;
8901  }
8902  report_count++;
8903  }
8904 #line 8826 "parser.c" /* yacc.c:1646 */
8905  break;
8906 
8907  case 347:
8908 #line 3975 "parser.y" /* yacc.c:1646 */
8909  {
8910  current_report = build_report ((yyvsp[0]));
8911  CB_ADD_TO_CHAIN (CB_TREE (current_report), current_program->report_list);
8912  if (report_count == 0) {
8913  report_instance = current_report;
8914  }
8915  report_count++;
8916  }
8917 #line 8839 "parser.c" /* yacc.c:1646 */
8918  break;
8919 
8920  case 349:
8921 #line 3990 "parser.y" /* yacc.c:1646 */
8922  {
8926  }
8927 #line 8849 "parser.c" /* yacc.c:1646 */
8928  break;
8929 
8930  case 350:
8931 #line 3996 "parser.y" /* yacc.c:1646 */
8932  {
8933  if ((yyvsp[0])) {
8934  CB_FIELD_ADD (current_program->working_storage, CB_FIELD ((yyvsp[0])));
8935  }
8936  }
8937 #line 8859 "parser.c" /* yacc.c:1646 */
8938  break;
8939 
8940  case 351:
8941 #line 4005 "parser.y" /* yacc.c:1646 */
8942  {
8943  (yyval) = NULL;
8944  }
8945 #line 8867 "parser.c" /* yacc.c:1646 */
8946  break;
8947 
8948  case 352:
8949 #line 4008 "parser.y" /* yacc.c:1646 */
8950  {
8951  current_field = NULL;
8952  description_field = NULL;
8954  }
8955 #line 8877 "parser.c" /* yacc.c:1646 */
8956  break;
8957 
8958  case 353:
8959 #line 4014 "parser.y" /* yacc.c:1646 */
8960  {
8961  struct cb_field *p;
8962 
8963  for (p = description_field; p; p = p->sister) {
8964  cb_validate_field (p);
8965  }
8966  (yyval) = CB_TREE (description_field);
8967  }
8968 #line 8890 "parser.c" /* yacc.c:1646 */
8969  break;
8970 
8971  case 358:
8972 #line 4034 "parser.y" /* yacc.c:1646 */
8973  {
8974  cb_tree x;
8975 
8976  x = cb_build_field_tree ((yyvsp[-1]), (yyvsp[0]), current_field, current_storage,
8977  current_file, 0);
8978  /* Free tree associated with level number */
8979  cobc_parse_free ((yyvsp[-1]));
8980  if (CB_INVALID_TREE (x)) {
8981  YYERROR;
8982  } else {
8983  current_field = CB_FIELD (x);
8984  check_pic_duplicate = 0;
8985  }
8986  }
8987 #line 8909 "parser.c" /* yacc.c:1646 */
8988  break;
8989 
8990  case 359:
8991 #line 4049 "parser.y" /* yacc.c:1646 */
8992  {
8993  if (!qualifier && (current_field->level == 88 ||
8994  current_field->level == 66 || current_field->flag_item_78)) {
8995  cb_error (_("Item requires a data name"));
8996  }
8997  if (!qualifier) {
8998  current_field->flag_filler = 1;
8999  }
9000  if (current_field->level == 88) {
9001  cb_validate_88_item (current_field);
9002  }
9003  if (current_field->flag_item_78) {
9004  /* Reset to last non-78 item */
9005  current_field = cb_validate_78_item (current_field, 0);
9006  }
9007  if (!description_field) {
9008  description_field = current_field;
9009  }
9010  }
9011 #line 8933 "parser.c" /* yacc.c:1646 */
9012  break;
9013 
9014  case 360:
9015 #line 4069 "parser.y" /* yacc.c:1646 */
9016  {
9017  /* Free tree assocated with level number */
9018  cobc_parse_free ((yyvsp[-2]));
9019  yyerrok;
9020  cb_unput_dot ();
9021  check_pic_duplicate = 0;
9022  check_duplicate = 0;
9023  current_field = cb_get_real_field ();
9024  }
9025 #line 8947 "parser.c" /* yacc.c:1646 */
9026  break;
9027 
9028  case 361:
9029 #line 4082 "parser.y" /* yacc.c:1646 */
9030  {
9031  (yyval) = (yyvsp[0]);
9032  }
9033 #line 8955 "parser.c" /* yacc.c:1646 */
9034  break;
9035 
9036  case 362:
9037 #line 4089 "parser.y" /* yacc.c:1646 */
9038  {
9039  (yyval) = cb_build_filler ();
9040  qualifier = NULL;
9041  non_const_word = 0;
9042  }
9043 #line 8965 "parser.c" /* yacc.c:1646 */
9044  break;
9045 
9046  case 363:
9047 #line 4095 "parser.y" /* yacc.c:1646 */
9048  {
9049  (yyval) = cb_build_filler ();
9050  qualifier = NULL;
9051  non_const_word = 0;
9052  }
9053 #line 8975 "parser.c" /* yacc.c:1646 */
9054  break;
9055 
9056  case 364:
9057 #line 4101 "parser.y" /* yacc.c:1646 */
9058  {
9059  (yyval) = (yyvsp[0]);
9060  qualifier = (yyvsp[0]);
9061  non_const_word = 0;
9062  }
9063 #line 8985 "parser.c" /* yacc.c:1646 */
9064  break;
9065 
9066  case 365:
9067 #line 4110 "parser.y" /* yacc.c:1646 */
9068  {
9069  (yyval) = (yyvsp[0]);
9070  qualifier = (yyvsp[0]);
9071  non_const_word = 0;
9072  }
9073 #line 8995 "parser.c" /* yacc.c:1646 */
9074  break;
9075 
9076  case 366:
9077 #line 4119 "parser.y" /* yacc.c:1646 */
9078  {
9079  (yyval)= NULL;
9080  }
9081 #line 9003 "parser.c" /* yacc.c:1646 */
9082  break;
9083 
9084  case 367:
9085 #line 4123 "parser.y" /* yacc.c:1646 */
9086  {
9087  if (current_program->prog_type == CB_FUNCTION_TYPE) {
9088  cb_error (_("%s is invalid in a user FUNCTION"), "GLOBAL");
9089  (yyval)= NULL;
9090  } else {
9091  (yyval) = cb_null;
9092  }
9093  }
9094 #line 9016 "parser.c" /* yacc.c:1646 */
9095  break;
9096 
9097  case 368:
9098 #line 4134 "parser.y" /* yacc.c:1646 */
9099  { (yyval) = (yyvsp[0]); }
9100 #line 9022 "parser.c" /* yacc.c:1646 */
9101  break;
9102 
9103  case 369:
9104 #line 4135 "parser.y" /* yacc.c:1646 */
9105  { (yyval) = cb_build_const_length ((yyvsp[0])); }
9106 #line 9028 "parser.c" /* yacc.c:1646 */
9107  break;
9108 
9109  case 370:
9110 #line 4136 "parser.y" /* yacc.c:1646 */
9111  { (yyval) = cb_build_const_length ((yyvsp[0])); }
9112 #line 9034 "parser.c" /* yacc.c:1646 */
9113  break;
9114 
9115  case 371:
9116 #line 4137 "parser.y" /* yacc.c:1646 */
9117  { (yyval) = cb_build_const_length ((yyvsp[0])); }
9118 #line 9040 "parser.c" /* yacc.c:1646 */
9119  break;
9120 
9121  case 372:
9122 #line 4142 "parser.y" /* yacc.c:1646 */
9123  {
9124  (yyval) = (yyvsp[0]);
9125  }
9126 #line 9048 "parser.c" /* yacc.c:1646 */
9127  break;
9128 
9129  case 373:
9130 #line 4146 "parser.y" /* yacc.c:1646 */
9131  {
9132  (yyval) = cb_int1;
9133  }
9134 #line 9056 "parser.c" /* yacc.c:1646 */
9135  break;
9136 
9137  case 374:
9138 #line 4150 "parser.y" /* yacc.c:1646 */
9139  {
9140  (yyval) = cb_int2;
9141  }
9142 #line 9064 "parser.c" /* yacc.c:1646 */
9143  break;
9144 
9145  case 375:
9146 #line 4154 "parser.y" /* yacc.c:1646 */
9147  {
9148  (yyval) = cb_int4;
9149  }
9150 #line 9072 "parser.c" /* yacc.c:1646 */
9151  break;
9152 
9153  case 376:
9154 #line 4158 "parser.y" /* yacc.c:1646 */
9155  {
9156  (yyval) = cb_int (8);
9157  }
9158 #line 9080 "parser.c" /* yacc.c:1646 */
9159  break;
9160 
9161  case 377:
9162 #line 4162 "parser.y" /* yacc.c:1646 */
9163  {
9164  (yyval) = cb_int ((int)sizeof(long));
9165  }
9166 #line 9088 "parser.c" /* yacc.c:1646 */
9167  break;
9168 
9169  case 378:
9170 #line 4166 "parser.y" /* yacc.c:1646 */
9171  {
9172  (yyval) = cb_int ((int)sizeof(void *));
9173  }
9174 #line 9096 "parser.c" /* yacc.c:1646 */
9175  break;
9176 
9177  case 379:
9178 #line 4170 "parser.y" /* yacc.c:1646 */
9179  {
9180  (yyval) = cb_int ((int)sizeof(float));
9181  }
9182 #line 9104 "parser.c" /* yacc.c:1646 */
9183  break;
9184 
9185  case 380:
9186 #line 4174 "parser.y" /* yacc.c:1646 */
9187  {
9188  (yyval) = cb_int ((int)sizeof(double));
9189  }
9190 #line 9112 "parser.c" /* yacc.c:1646 */
9191  break;
9192 
9193  case 381:
9194 #line 4178 "parser.y" /* yacc.c:1646 */
9195  {
9196  (yyval) = cb_int (4);
9197  }
9198 #line 9120 "parser.c" /* yacc.c:1646 */
9199  break;
9200 
9201  case 382:
9202 #line 4182 "parser.y" /* yacc.c:1646 */
9203  {
9204  (yyval) = cb_int (8);
9205  }
9206 #line 9128 "parser.c" /* yacc.c:1646 */
9207  break;
9208 
9209  case 383:
9210 #line 4186 "parser.y" /* yacc.c:1646 */
9211  {
9212  (yyval) = cb_int (16);
9213  }
9214 #line 9136 "parser.c" /* yacc.c:1646 */
9215  break;
9216 
9217  case 384:
9218 #line 4190 "parser.y" /* yacc.c:1646 */
9219  {
9220  yyerrok;
9221  cb_unput_dot ();
9222  check_pic_duplicate = 0;
9223  check_duplicate = 0;
9224  current_field = cb_get_real_field ();
9225  }
9226 #line 9148 "parser.c" /* yacc.c:1646 */
9227  break;
9228 
9229  case 394:
9230 #line 4222 "parser.y" /* yacc.c:1646 */
9231  {
9232  cb_tree x;
9233  int level;
9234 
9235  cobc_cs_check = 0;
9236  level = cb_get_level ((yyvsp[-4]));
9237  /* Free tree assocated with level number */
9238  cobc_parse_free ((yyvsp[-4]));
9239  if (level != 1) {
9240  cb_error (_("CONSTANT item not at 01 level"));
9241  } else if ((yyvsp[0])) {
9242  x = cb_build_constant ((yyvsp[-3]), (yyvsp[0]));
9243  CB_FIELD (x)->flag_item_78 = 1;
9244  CB_FIELD (x)->level = 1;
9245  cb_needs_01 = 1;
9246  if ((yyvsp[-1])) {
9247  CB_FIELD (x)->flag_is_global = 1;
9248  }
9249  /* Ignore return value */
9250  (void)cb_validate_78_item (CB_FIELD (x), 0);
9251  }
9252  }
9253 #line 9175 "parser.c" /* yacc.c:1646 */
9254  break;
9255 
9256  case 395:
9257 #line 4248 "parser.y" /* yacc.c:1646 */
9258  {
9259  (yyval) = (yyvsp[0]);
9260  }
9261 #line 9183 "parser.c" /* yacc.c:1646 */
9262  break;
9263 
9264  case 396:
9265 #line 4252 "parser.y" /* yacc.c:1646 */
9266  {
9267  PENDING ("CONSTANT FROM clause");
9268  (yyval) = NULL;
9269  }
9270 #line 9192 "parser.c" /* yacc.c:1646 */
9271  break;
9272 
9273  case 397:
9274 #line 4260 "parser.y" /* yacc.c:1646 */
9275  {
9276  /* Required to check redefines */
9277  (yyval) = NULL;
9278  }
9279 #line 9201 "parser.c" /* yacc.c:1646 */
9280  break;
9281 
9282  case 398:
9283 #line 4266 "parser.y" /* yacc.c:1646 */
9284  {
9285  /* Required to check redefines */
9286  (yyval) = cb_true;
9287  }
9288 #line 9210 "parser.c" /* yacc.c:1646 */
9289  break;
9290 
9291  case 413:
9292 #line 4294 "parser.y" /* yacc.c:1646 */
9293  {
9295  if ((yyvsp[-2]) != NULL) {
9296  if (cb_relaxed_syntax_check) {
9297  cb_warning_x ((yyvsp[0]), _("REDEFINES clause should follow entry-name"));
9298  } else {
9299  cb_error_x ((yyvsp[0]), _("REDEFINES clause must follow entry-name"));
9300  }
9301  }
9302 
9303  current_field->redefines = cb_resolve_redefines (current_field, (yyvsp[0]));
9304  if (current_field->redefines == NULL) {
9305  current_field->flag_is_verified = 1;
9306  current_field->flag_invalid = 1;
9307  YYERROR;
9308  }
9309  }
9310 #line 9232 "parser.c" /* yacc.c:1646 */
9311  break;
9312 
9313  case 414:
9314 #line 4318 "parser.y" /* yacc.c:1646 */
9315  {
9318  cb_error (_("%s not allowed here"), "EXTERNAL");
9319  } else if (current_field->level != 1 && current_field->level != 77) {
9320  cb_error (_("%s only allowed at 01/77 level"), "EXTERNAL");
9321  } else if (!qualifier) {
9322  cb_error (_("%s requires a data name"), "EXTERNAL");
9323 #if 0 /* RXWRXW - Global/External */
9324  } else if (current_field->flag_is_global) {
9325  cb_error (_("%s and %s are mutually exclusive"), "GLOBAL", "EXTERNAL");
9326 #endif
9327  } else if (current_field->flag_item_based) {
9328  cb_error (_("%s and %s are mutually exclusive"), "BASED", "EXTERNAL");
9329  } else if (current_field->redefines) {
9330  cb_error (_("%s and %s are mutually exclusive"), "EXTERNAL", "REDEFINES");
9331  } else if (current_field->flag_occurs) {
9332  cb_error (_("%s and %s are mutually exclusive"), "EXTERNAL", "OCCURS");
9333  } else {
9334  current_field->flag_external = 1;
9335  current_program->flag_has_external = 1;
9336  }
9337  }
9338 #line 9260 "parser.c" /* yacc.c:1646 */
9339  break;
9340 
9341  case 415:
9342 #line 4345 "parser.y" /* yacc.c:1646 */
9343  {
9344  current_field->ename = cb_to_cname (current_field->name);
9345  }
9346 #line 9268 "parser.c" /* yacc.c:1646 */
9347  break;
9348 
9349  case 416:
9350 #line 4349 "parser.y" /* yacc.c:1646 */
9351  {
9352  current_field->ename = cb_to_cname ((const char *)CB_LITERAL ((yyvsp[0]))->data);
9353  }
9354 #line 9276 "parser.c" /* yacc.c:1646 */
9355  break;
9356 
9357  case 417:
9358 #line 4358 "parser.y" /* yacc.c:1646 */
9359  {
9361  if (current_field->level != 1 && current_field->level != 77) {
9362  cb_error (_("%s only allowed at 01/77 level"), "GLOBAL");
9363  } else if (!qualifier) {
9364  cb_error (_("%s requires a data name"), "GLOBAL");
9365 #if 0 /* RXWRXW - Global/External */
9366  } else if (current_field->flag_external) {
9367  cb_error (_("%s and %s are mutually exclusive"), "GLOBAL", "EXTERNAL");
9368 #endif
9369  } else if (current_program->prog_type == CB_FUNCTION_TYPE) {
9370  cb_error (_("%s is invalid in a user FUNCTION"), "GLOBAL");
9371  } else if (current_storage == CB_STORAGE_LOCAL) {
9372  cb_error (_("%s not allowed here"), "GLOBAL");
9373  } else {
9374  current_field->flag_is_global = 1;
9375  }
9376  }
9377 #line 9299 "parser.c" /* yacc.c:1646 */
9378  break;
9379 
9380  case 418:
9381 #line 4383 "parser.y" /* yacc.c:1646 */
9382  {
9384  current_field->pic = CB_PICTURE ((yyvsp[0]));
9385  }
9386 #line 9308 "parser.c" /* yacc.c:1646 */
9387  break;
9388 
9389  case 421:
9390 #line 4399 "parser.y" /* yacc.c:1646 */
9391  {
9393  }
9394 #line 9316 "parser.c" /* yacc.c:1646 */
9395  break;
9396 
9397  case 422:
9398 #line 4403 "parser.y" /* yacc.c:1646 */
9399  {
9401  }
9402 #line 9324 "parser.c" /* yacc.c:1646 */
9403  break;
9404 
9405  case 423:
9406 #line 4407 "parser.y" /* yacc.c:1646 */
9407  {
9409  }
9410 #line 9332 "parser.c" /* yacc.c:1646 */
9411  break;
9412 
9413  case 424:
9414 #line 4411 "parser.y" /* yacc.c:1646 */
9415  {
9417  }
9418 #line 9340 "parser.c" /* yacc.c:1646 */
9419  break;
9420 
9421  case 425:
9422 #line 4415 "parser.y" /* yacc.c:1646 */
9423  {
9425  }
9426 #line 9348 "parser.c" /* yacc.c:1646 */
9427  break;
9428 
9429  case 426:
9430 #line 4419 "parser.y" /* yacc.c:1646 */
9431  {
9433  }
9434 #line 9356 "parser.c" /* yacc.c:1646 */
9435  break;
9436 
9437  case 427:
9438 #line 4423 "parser.y" /* yacc.c:1646 */
9439  {
9441  }
9442 #line 9364 "parser.c" /* yacc.c:1646 */
9443  break;
9444 
9445  case 428:
9446 #line 4427 "parser.y" /* yacc.c:1646 */
9447  {
9449  }
9450 #line 9372 "parser.c" /* yacc.c:1646 */
9451  break;
9452 
9453  case 429:
9454 #line 4431 "parser.y" /* yacc.c:1646 */
9455  {
9457  }
9458 #line 9380 "parser.c" /* yacc.c:1646 */
9459  break;
9460 
9461  case 430:
9462 #line 4435 "parser.y" /* yacc.c:1646 */
9463  {
9465  }
9466 #line 9388 "parser.c" /* yacc.c:1646 */
9467  break;
9468 
9469  case 431:
9470 #line 4439 "parser.y" /* yacc.c:1646 */
9471  {
9473  }
9474 #line 9396 "parser.c" /* yacc.c:1646 */
9475  break;
9476 
9477  case 432:
9478 #line 4443 "parser.y" /* yacc.c:1646 */
9479  {
9481  }
9482 #line 9404 "parser.c" /* yacc.c:1646 */
9483  break;
9484 
9485  case 433:
9486 #line 4447 "parser.y" /* yacc.c:1646 */
9487  {
9489  current_field->flag_is_pointer = 1;
9490  }
9491 #line 9413 "parser.c" /* yacc.c:1646 */
9492  break;
9493 
9494  case 434:
9495 #line 4452 "parser.y" /* yacc.c:1646 */
9496  {
9498  current_field->flag_is_pointer = 1;
9499  }
9500 #line 9422 "parser.c" /* yacc.c:1646 */
9501  break;
9502 
9503  case 435:
9504 #line 4457 "parser.y" /* yacc.c:1646 */
9505  {
9507  }
9508 #line 9430 "parser.c" /* yacc.c:1646 */
9509  break;
9510 
9511  case 436:
9512 #line 4461 "parser.y" /* yacc.c:1646 */
9513  {
9515  }
9516 #line 9438 "parser.c" /* yacc.c:1646 */
9517  break;
9518 
9519  case 437:
9520 #line 4465 "parser.y" /* yacc.c:1646 */
9521  {
9522  if (sizeof(long) == 4) {
9524  } else {
9526  }
9527  }
9528 #line 9450 "parser.c" /* yacc.c:1646 */
9529  break;
9530 
9531  case 438:
9532 #line 4473 "parser.y" /* yacc.c:1646 */
9533  {
9535  }
9536 #line 9458 "parser.c" /* yacc.c:1646 */
9537  break;
9538 
9539  case 439:
9540 #line 4477 "parser.y" /* yacc.c:1646 */
9541  {
9543  }
9544 #line 9466 "parser.c" /* yacc.c:1646 */
9545  break;
9546 
9547  case 440:
9548 #line 4481 "parser.y" /* yacc.c:1646 */
9549  {
9550  if (sizeof(long) == 4) {
9552  } else {
9554  }
9555  }
9556 #line 9478 "parser.c" /* yacc.c:1646 */
9557  break;
9558 
9559  case 441:
9560 #line 4489 "parser.y" /* yacc.c:1646 */
9561  {
9563  }
9564 #line 9486 "parser.c" /* yacc.c:1646 */
9565  break;
9566 
9567  case 442:
9568 #line 4493 "parser.y" /* yacc.c:1646 */
9569  {
9571  }
9572 #line 9494 "parser.c" /* yacc.c:1646 */
9573  break;
9574 
9575  case 443:
9576 #line 4497 "parser.y" /* yacc.c:1646 */
9577  {
9579  }
9580 #line 9502 "parser.c" /* yacc.c:1646 */
9581  break;
9582 
9583  case 444:
9584 #line 4501 "parser.y" /* yacc.c:1646 */
9585  {
9587  }
9588 #line 9510 "parser.c" /* yacc.c:1646 */
9589  break;
9590 
9591  case 445:
9592 #line 4505 "parser.y" /* yacc.c:1646 */
9593  {
9595  }
9596 #line 9518 "parser.c" /* yacc.c:1646 */
9597  break;
9598 
9599  case 446:
9600 #line 4509 "parser.y" /* yacc.c:1646 */
9601  {
9603  }
9604 #line 9526 "parser.c" /* yacc.c:1646 */
9605  break;
9606 
9607  case 447:
9608 #line 4513 "parser.y" /* yacc.c:1646 */
9609  {
9611  }
9612 #line 9534 "parser.c" /* yacc.c:1646 */
9613  break;
9614 
9615  case 448:
9616 #line 4517 "parser.y" /* yacc.c:1646 */
9617  {
9619  }
9620 #line 9542 "parser.c" /* yacc.c:1646 */
9621  break;
9622 
9623  case 449:
9624 #line 4521 "parser.y" /* yacc.c:1646 */
9625  {
9626  if (sizeof(long) == 4) {
9628  } else {
9630  }
9631  }
9632 #line 9554 "parser.c" /* yacc.c:1646 */
9633  break;
9634 
9635  case 450:
9636 #line 4529 "parser.y" /* yacc.c:1646 */
9637  {
9638  if (sizeof(long) == 4) {
9640  } else {
9642  }
9643  }
9644 #line 9566 "parser.c" /* yacc.c:1646 */
9645  break;
9646 
9647  case 451:
9648 #line 4537 "parser.y" /* yacc.c:1646 */
9649  {
9651  }
9652 #line 9574 "parser.c" /* yacc.c:1646 */
9653  break;
9654 
9655  case 452:
9656 #line 4541 "parser.y" /* yacc.c:1646 */
9657  {
9659  }
9660 #line 9582 "parser.c" /* yacc.c:1646 */
9661  break;
9662 
9663  case 453:
9664 #line 4545 "parser.y" /* yacc.c:1646 */
9665  {
9667  }
9668 #line 9590 "parser.c" /* yacc.c:1646 */
9669  break;
9670 
9671  case 454:
9672 #line 4549 "parser.y" /* yacc.c:1646 */
9673  {
9675  }
9676 #line 9598 "parser.c" /* yacc.c:1646 */
9677  break;
9678 
9679  case 455:
9680 #line 4553 "parser.y" /* yacc.c:1646 */
9681  {
9683  }
9684 #line 9606 "parser.c" /* yacc.c:1646 */
9685  break;
9686 
9687  case 456:
9688 #line 4557 "parser.y" /* yacc.c:1646 */
9689  {
9691  PENDING ("USAGE NATIONAL");
9692  }
9693 #line 9615 "parser.c" /* yacc.c:1646 */
9694  break;
9695 
9696  case 461:
9697 #line 4577 "parser.y" /* yacc.c:1646 */
9698  {
9700  current_field->flag_sign_separate = ((yyvsp[0]) ? 1 : 0);
9701  current_field->flag_sign_leading = 1;
9702  }
9703 #line 9625 "parser.c" /* yacc.c:1646 */
9704  break;
9705 
9706  case 462:
9707 #line 4583 "parser.y" /* yacc.c:1646 */
9708  {
9710  current_field->flag_sign_separate = ((yyvsp[0]) ? 1 : 0);
9711  current_field->flag_sign_leading = 0;
9712  }
9713 #line 9635 "parser.c" /* yacc.c:1646 */
9714  break;
9715 
9716  case 463:
9717 #line 4596 "parser.y" /* yacc.c:1646 */
9718  {
9720  if (current_field->depending && !((yyvsp[-3]))) {
9721  cb_verify (cb_odo_without_to, _("ODO without TO clause"));
9722  }
9723  current_field->occurs_min = (yyvsp[-3]) ? cb_get_int ((yyvsp[-4])) : 1;
9724  current_field->occurs_max = (yyvsp[-3]) ? cb_get_int ((yyvsp[-3])) : cb_get_int ((yyvsp[-4]));
9725  current_field->indexes++;
9726  if (current_field->indexes > COB_MAX_SUBSCRIPTS) {
9727  cb_error (_("Maximum OCCURS depth exceeded (%d)"),
9729  }
9730  current_field->flag_occurs = 1;
9731  }
9732 #line 9654 "parser.c" /* yacc.c:1646 */
9733  break;
9734 
9735  case 465:
9736 #line 4614 "parser.y" /* yacc.c:1646 */
9737  {
9738  current_field->step_count = cb_get_int ((yyvsp[0]));
9739  }
9740 #line 9662 "parser.c" /* yacc.c:1646 */
9741  break;
9742 
9743  case 466:
9744 #line 4624 "parser.y" /* yacc.c:1646 */
9745  {
9747  if (current_field->indexes == COB_MAX_SUBSCRIPTS) {
9748  cb_error (_("Maximum OCCURS depth exceeded (%d)"),
9750  } else {
9751  current_field->indexes++;
9752  }
9753  if (current_field->flag_item_based) {
9754  cb_error (_("%s and %s are mutually exclusive"), "BASED", "OCCURS");
9755  } else if (current_field->flag_external) {
9756  cb_error (_("%s and %s are mutually exclusive"), "EXTERNAL", "OCCURS");
9757  }
9758  if ((yyvsp[-4])) {
9759  current_field->occurs_min = cb_get_int ((yyvsp[-5]));
9760  current_field->occurs_max = cb_get_int ((yyvsp[-4]));
9761  if (current_field->depending &&
9762  current_field->occurs_max > 0 &&
9763  current_field->occurs_max <= current_field->occurs_min) {
9764  cb_error (_("OCCURS max. must be greater than OCCURS min."));
9765  }
9766  } else {
9767  current_field->occurs_min = 1;
9768  current_field->occurs_max = cb_get_int ((yyvsp[-5]));
9769  if (current_field->depending) {
9770  cb_verify (cb_odo_without_to, "ODO without TO clause");
9771  }
9772  }
9773  current_field->flag_occurs = 1;
9774  }
9775 #line 9697 "parser.c" /* yacc.c:1646 */
9776  break;
9777 
9778  case 467:
9779 #line 4656 "parser.y" /* yacc.c:1646 */
9780  {
9782  if (current_field->indexes == COB_MAX_SUBSCRIPTS) {
9783  cb_error (_("Maximum OCCURS depth exceeded (%d)"),
9785  } else {
9786  current_field->indexes++;
9787  }
9788  if (current_field->flag_item_based) {
9789  cb_error (_("%s and %s are mutually exclusive"), "BASED", "OCCURS");
9790  } else if (current_field->flag_external) {
9791  cb_error (_("%s and %s are mutually exclusive"), "EXTERNAL", "OCCURS");
9792  }
9793  current_field->occurs_min = (yyvsp[-4]) ? cb_get_int ((yyvsp[-4])) : 0;
9794  if ((yyvsp[-3])) {
9795  current_field->occurs_max = cb_get_int ((yyvsp[-3]));
9796  if (current_field->occurs_max <= current_field->occurs_min) {
9797  cb_error (_("OCCURS max. must be greater than OCCURS min."));
9798  }
9799  } else {
9800  current_field->occurs_max = 0;
9801  }
9802  PENDING("OCCURS with DYNAMIC capacity");
9803  current_field->flag_occurs = 1;
9804  }
9805 #line 9727 "parser.c" /* yacc.c:1646 */
9806  break;
9807 
9808  case 468:
9809 #line 4684 "parser.y" /* yacc.c:1646 */
9810  { (yyval) = NULL; }
9811 #line 9733 "parser.c" /* yacc.c:1646 */
9812  break;
9813 
9814  case 469:
9815 #line 4685 "parser.y" /* yacc.c:1646 */
9816  { (yyval) = (yyvsp[0]); }
9817 #line 9739 "parser.c" /* yacc.c:1646 */
9818  break;
9819 
9820  case 470:
9821 #line 4689 "parser.y" /* yacc.c:1646 */
9822  { (yyval) = NULL; }
9823 #line 9745 "parser.c" /* yacc.c:1646 */
9824  break;
9825 
9826  case 471:
9827 #line 4690 "parser.y" /* yacc.c:1646 */
9828  { (yyval) = (yyvsp[0]); }
9829 #line 9751 "parser.c" /* yacc.c:1646 */
9830  break;
9831 
9832  case 473:
9833 #line 4695 "parser.y" /* yacc.c:1646 */
9834  {
9835  current_field->depending = (yyvsp[0]);
9836  }
9837 #line 9759 "parser.c" /* yacc.c:1646 */
9838  break;
9839 
9840  case 475:
9841 #line 4702 "parser.y" /* yacc.c:1646 */
9842  {
9843  (yyval) = cb_build_index ((yyvsp[0]), cb_zero, 0, current_field);
9844  CB_FIELD_PTR ((yyval))->special_index = 1;
9845  }
9846 #line 9768 "parser.c" /* yacc.c:1646 */
9847  break;
9848 
9849  case 477:
9850 #line 4710 "parser.y" /* yacc.c:1646 */
9851  {
9852  /* current_field->initialized = 1; */
9853  }
9854 #line 9776 "parser.c" /* yacc.c:1646 */
9855  break;
9856 
9857  case 478:
9858 #line 4717 "parser.y" /* yacc.c:1646 */
9859  {
9860  if ((yyvsp[0])) {
9861  cb_tree l;
9862  struct cb_key *keys;
9863  int i;
9864  int nkeys;
9865 
9866  l = (yyvsp[0]);
9867  nkeys = cb_list_length ((yyvsp[0]));
9868  keys = cobc_parse_malloc (sizeof (struct cb_key) * nkeys);
9869 
9870  for (i = 0; i < nkeys; i++) {
9871  keys[i].dir = CB_PURPOSE_INT (l);
9872  keys[i].key = CB_VALUE (l);
9873  l = CB_CHAIN (l);
9874  }
9875  current_field->keys = keys;
9876  current_field->nkeys = nkeys;
9877  }
9878  }
9879 #line 9801 "parser.c" /* yacc.c:1646 */
9880  break;
9881 
9882  case 479:
9883 #line 4740 "parser.y" /* yacc.c:1646 */
9884  { (yyval) = NULL; }
9885 #line 9807 "parser.c" /* yacc.c:1646 */
9886  break;
9887 
9888  case 480:
9889 #line 4743 "parser.y" /* yacc.c:1646 */
9890  {
9891  cb_tree l;
9892 
9893  for (l = (yyvsp[0]); l; l = CB_CHAIN (l)) {
9894  CB_PURPOSE (l) = (yyvsp[-3]);
9895  if (qualifier && !CB_REFERENCE(CB_VALUE(l))->chain &&
9896  strcasecmp (CB_NAME(CB_VALUE(l)), CB_NAME(qualifier))) {
9897  CB_REFERENCE(CB_VALUE(l))->chain = qualifier;
9898  }
9899  }
9900  (yyval) = cb_list_append ((yyvsp[-4]), (yyvsp[0]));
9901  }
9902 #line 9824 "parser.c" /* yacc.c:1646 */
9903  break;
9904 
9905  case 481:
9906 #line 4758 "parser.y" /* yacc.c:1646 */
9907  { (yyval) = cb_int (COB_ASCENDING); }
9908 #line 9830 "parser.c" /* yacc.c:1646 */
9909  break;
9910 
9911  case 482:
9912 #line 4759 "parser.y" /* yacc.c:1646 */
9913  { (yyval) = cb_int (COB_DESCENDING); }
9914 #line 9836 "parser.c" /* yacc.c:1646 */
9915  break;
9916 
9917  case 484:
9918 #line 4764 "parser.y" /* yacc.c:1646 */
9919  {
9920  current_field->index_list = (yyvsp[0]);
9921  }
9922 #line 9844 "parser.c" /* yacc.c:1646 */
9923  break;
9924 
9925  case 485:
9926 #line 4770 "parser.y" /* yacc.c:1646 */
9927  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
9928 #line 9850 "parser.c" /* yacc.c:1646 */
9929  break;
9930 
9931  case 486:
9932 #line 4772 "parser.y" /* yacc.c:1646 */
9933  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
9934 #line 9856 "parser.c" /* yacc.c:1646 */
9935  break;
9936 
9937  case 487:
9938 #line 4777 "parser.y" /* yacc.c:1646 */
9939  {
9940  (yyval) = cb_build_index ((yyvsp[0]), cb_int1, 1U, current_field);
9941  CB_FIELD_PTR ((yyval))->special_index = 1;
9942  }
9943 #line 9865 "parser.c" /* yacc.c:1646 */
9944  break;
9945 
9946  case 488:
9947 #line 4788 "parser.y" /* yacc.c:1646 */
9948  {
9950  current_field->flag_justified = 1;
9951  }
9952 #line 9874 "parser.c" /* yacc.c:1646 */
9953  break;
9954 
9955  case 489:
9956 #line 4799 "parser.y" /* yacc.c:1646 */
9957  {
9958  check_repeated ("SYNCHRONIZED", SYN_CLAUSE_9, &check_pic_duplicate);
9959  current_field->flag_synchronized = 1;
9960  }
9961 #line 9883 "parser.c" /* yacc.c:1646 */
9962  break;
9963 
9964  case 490:
9965 #line 4810 "parser.y" /* yacc.c:1646 */
9966  {
9968  current_field->flag_blank_zero = 1;
9969  }
9970 #line 9892 "parser.c" /* yacc.c:1646 */
9971  break;
9972 
9973  case 491:
9974 #line 4821 "parser.y" /* yacc.c:1646 */
9975  {
9980  cb_error (_("%s not allowed here"), "BASED");
9981  } else if (current_field->level != 1 && current_field->level != 77) {
9982  cb_error (_("%s only allowed at 01/77 level"), "BASED");
9983  } else if (!qualifier) {
9984  cb_error (_("%s requires a data name"), "BASED");
9985  } else if (current_field->flag_external) {
9986  cb_error (_("%s and %s are mutually exclusive"), "BASED", "EXTERNAL");
9987  } else if (current_field->redefines) {
9988  cb_error (_("%s and %s are mutually exclusive"), "BASED", "REDEFINES");
9989  } else if (current_field->flag_any_length) {
9990  cb_error (_("%s and %s are mutually exclusive"), "BASED", "ANY LENGTH");
9991  } else if (current_field->flag_occurs) {
9992  cb_error (_("%s and %s are mutually exclusive"), "BASED", "OCCURS");
9993  } else {
9994  current_field->flag_item_based = 1;
9995  }
9996  }
9997 #line 9919 "parser.c" /* yacc.c:1646 */
9998  break;
9999 
10000  case 492:
10001 #line 4849 "parser.y" /* yacc.c:1646 */
10002  {
10004  current_field->values = (yyvsp[0]);
10005  }
10006 #line 9928 "parser.c" /* yacc.c:1646 */
10007  break;
10008 
10009  case 494:
10010 #line 4857 "parser.y" /* yacc.c:1646 */
10011  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
10012 #line 9934 "parser.c" /* yacc.c:1646 */
10013  break;
10014 
10015  case 495:
10016 #line 4858 "parser.y" /* yacc.c:1646 */
10017  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
10018 #line 9940 "parser.c" /* yacc.c:1646 */
10019  break;
10020 
10021  case 496:
10022 #line 4862 "parser.y" /* yacc.c:1646 */
10023  { (yyval) = (yyvsp[0]); }
10024 #line 9946 "parser.c" /* yacc.c:1646 */
10025  break;
10026 
10027  case 497:
10028 #line 4863 "parser.y" /* yacc.c:1646 */
10029  { (yyval) = CB_BUILD_PAIR ((yyvsp[-2]), (yyvsp[0])); }
10030 #line 9952 "parser.c" /* yacc.c:1646 */
10031  break;
10032 
10033  case 499:
10034 #line 4868 "parser.y" /* yacc.c:1646 */
10035  {
10036  if (current_field->level != 88) {
10037  cb_error (_("FALSE clause only allowed for 88 level"));
10038  }
10039  current_field->false_88 = CB_LIST_INIT ((yyvsp[0]));
10040  }
10041 #line 9963 "parser.c" /* yacc.c:1646 */
10042  break;
10043 
10044  case 500:
10045 #line 4881 "parser.y" /* yacc.c:1646 */
10046  {
10048  if (cb_ref ((yyvsp[0])) != cb_error_node) {
10049  if (CB_FIELD (cb_ref ((yyvsp[0])))->level == 01 ||
10050  CB_FIELD (cb_ref ((yyvsp[0])))->level > 50) {
10051  cb_error (_("RENAMES may not reference a level 01 or > 50"));
10052  } else {
10053  current_field->redefines = CB_FIELD (cb_ref ((yyvsp[0])));
10054  current_field->pic = current_field->redefines->pic;
10055  }
10056  }
10057  }
10058 #line 9980 "parser.c" /* yacc.c:1646 */
10059  break;
10060 
10061  case 501:
10062 #line 4894 "parser.y" /* yacc.c:1646 */
10063  {
10065  if (cb_ref ((yyvsp[-2])) != cb_error_node && cb_ref ((yyvsp[0])) != cb_error_node) {
10066  if (CB_FIELD (cb_ref ((yyvsp[-2])))->level == 01 ||
10067  CB_FIELD (cb_ref ((yyvsp[-2])))->level > 50) {
10068  cb_error (_("RENAMES may not reference a level 01 or > 50"));
10069  } else if (CB_FIELD (cb_ref ((yyvsp[0])))->level == 01 ||
10070  CB_FIELD (cb_ref ((yyvsp[0])))->level > 50) {
10071  cb_error (_("RENAMES may not reference a level 01 or > 50"));
10072  } else {
10073  current_field->redefines = CB_FIELD (cb_ref ((yyvsp[-2])));
10074  current_field->rename_thru = CB_FIELD (cb_ref ((yyvsp[0])));
10075  }
10076  }
10077  }
10078 #line 10000 "parser.c" /* yacc.c:1646 */
10079  break;
10080 
10081  case 502:
10082 #line 4915 "parser.y" /* yacc.c:1646 */
10083  {
10085  if (current_field->flag_item_based) {
10086  cb_error (_("%s and %s are mutually exclusive"), "BASED", "ANY clause");
10087  } else {
10088  current_field->flag_any_length = 1;
10089  }
10090  }
10091 #line 10013 "parser.c" /* yacc.c:1646 */
10092  break;
10093 
10094  case 503:
10095 #line 4924 "parser.y" /* yacc.c:1646 */
10096  {
10098  if (current_field->flag_item_based) {
10099  cb_error (_("%s and %s are mutually exclusive"), "BASED", "ANY clause");
10100  } else {
10101  current_field->flag_any_length = 1;
10102  current_field->flag_any_numeric = 1;
10103  }
10104  }
10105 #line 10027 "parser.c" /* yacc.c:1646 */
10106  break;
10107 
10108  case 505:
10109 #line 4939 "parser.y" /* yacc.c:1646 */
10110  {
10114  if (current_program->nested_level) {
10115  cb_error (_("%s not allowed in nested programs"), "LOCAL-STORAGE");
10116  }
10117  }
10118 #line 10040 "parser.c" /* yacc.c:1646 */
10119  break;
10120 
10121  case 506:
10122 #line 4948 "parser.y" /* yacc.c:1646 */
10123  {
10124  if ((yyvsp[0])) {
10125  current_program->local_storage = CB_FIELD ((yyvsp[0]));
10126  }
10127  }
10128 #line 10050 "parser.c" /* yacc.c:1646 */
10129  break;
10130 
10131  case 508:
10132 #line 4960 "parser.y" /* yacc.c:1646 */
10133  {
10137  }
10138 #line 10060 "parser.c" /* yacc.c:1646 */
10139  break;
10140 
10141  case 509:
10142 #line 4966 "parser.y" /* yacc.c:1646 */
10143  {
10144  if ((yyvsp[0])) {
10145  current_program->linkage_storage = CB_FIELD ((yyvsp[0]));
10146  }
10147  }
10148 #line 10070 "parser.c" /* yacc.c:1646 */
10149  break;
10150 
10151  case 511:
10152 #line 4977 "parser.y" /* yacc.c:1646 */
10153  {
10154  PENDING("REPORT SECTION");
10157  }
10158 #line 10080 "parser.c" /* yacc.c:1646 */
10159  break;
10160 
10161  case 515:
10162 #line 4993 "parser.y" /* yacc.c:1646 */
10163  {
10164  if (CB_INVALID_TREE ((yyvsp[0]))) {
10165  YYERROR;
10166  } else {
10167  current_report = CB_REPORT (cb_ref ((yyvsp[0])));
10168  }
10169  check_duplicate = 0;
10170  }
10171 #line 10093 "parser.c" /* yacc.c:1646 */
10172  break;
10173 
10174  case 519:
10175 #line 5008 "parser.y" /* yacc.c:1646 */
10176  {
10177  yyerrok;
10178  }
10179 #line 10101 "parser.c" /* yacc.c:1646 */
10180  break;
10181 
10182  case 520:
10183 #line 5015 "parser.y" /* yacc.c:1646 */
10184  {
10186  cb_error (_("GLOBAL is not allowed with RD"));
10187  }
10188 #line 10110 "parser.c" /* yacc.c:1646 */
10189  break;
10190 
10191  case 521:
10192 #line 5020 "parser.y" /* yacc.c:1646 */
10193  {
10195  }
10196 #line 10118 "parser.c" /* yacc.c:1646 */
10197  break;
10198 
10199  case 524:
10200 #line 5031 "parser.y" /* yacc.c:1646 */
10201  {
10203  }
10204 #line 10126 "parser.c" /* yacc.c:1646 */
10205  break;
10206 
10207  case 528:
10208 #line 5050 "parser.y" /* yacc.c:1646 */
10209  {
10211  if (!current_report->heading) {
10212  current_report->heading = 1;
10213  }
10214  if (!current_report->first_detail) {
10215  current_report->first_detail = current_report->heading;
10216  }
10217  if (!current_report->last_control) {
10218  if (current_report->last_detail) {
10219  current_report->last_control = current_report->last_detail;
10220  } else if (current_report->footing) {
10221  current_report->last_control = current_report->footing;
10222  } else {
10223  current_report->last_control = current_report->lines;
10224  }
10225  }
10226  if (!current_report->last_detail && !current_report->footing) {
10227  current_report->last_detail = current_report->lines;
10228  current_report->footing = current_report->lines;
10229  } else if (!current_report->last_detail) {
10230  current_report->last_detail = current_report->footing;
10231  } else if (!current_report->footing) {
10232  current_report->footing = current_report->last_detail;
10233  }
10234  if (current_report->heading > current_report->first_detail ||
10235  current_report->first_detail > current_report->last_control ||
10236  current_report->last_control > current_report->last_detail ||
10237  current_report->last_detail > current_report->footing) {
10238  cb_error (_("Invalid PAGE clause"));
10239  }
10240  }
10241 #line 10163 "parser.c" /* yacc.c:1646 */
10242  break;
10243 
10244  case 529:
10245 #line 5086 "parser.y" /* yacc.c:1646 */
10246  {
10247  current_report->lines = cb_get_int ((yyvsp[0]));
10248  }
10249 #line 10171 "parser.c" /* yacc.c:1646 */
10250  break;
10251 
10252  case 530:
10253 #line 5090 "parser.y" /* yacc.c:1646 */
10254  {
10255  current_report->lines = cb_get_int ((yyvsp[-3]));
10256  current_report->columns = cb_get_int ((yyvsp[-1]));
10257  }
10258 #line 10180 "parser.c" /* yacc.c:1646 */
10259  break;
10260 
10261  case 531:
10262 #line 5095 "parser.y" /* yacc.c:1646 */
10263  {
10264  current_report->lines = cb_get_int ((yyvsp[-1]));
10265  }
10266 #line 10188 "parser.c" /* yacc.c:1646 */
10267  break;
10268 
10269  case 539:
10270 #line 5115 "parser.y" /* yacc.c:1646 */
10271  {
10272  current_report->heading = cb_get_int ((yyvsp[0]));
10273  }
10274 #line 10196 "parser.c" /* yacc.c:1646 */
10275  break;
10276 
10277  case 540:
10278 #line 5122 "parser.y" /* yacc.c:1646 */
10279  {
10280  current_report->first_detail = cb_get_int ((yyvsp[0]));
10281  }
10282 #line 10204 "parser.c" /* yacc.c:1646 */
10283  break;
10284 
10285  case 541:
10286 #line 5129 "parser.y" /* yacc.c:1646 */
10287  {
10288  current_report->last_control = cb_get_int ((yyvsp[0]));
10289  }
10290 #line 10212 "parser.c" /* yacc.c:1646 */
10291  break;
10292 
10293  case 542:
10294 #line 5136 "parser.y" /* yacc.c:1646 */
10295  {
10296  current_report->last_detail = cb_get_int ((yyvsp[0]));
10297  }
10298 #line 10220 "parser.c" /* yacc.c:1646 */
10299  break;
10300 
10301  case 543:
10302 #line 5143 "parser.y" /* yacc.c:1646 */
10303  {
10304  current_report->footing = cb_get_int ((yyvsp[0]));
10305  }
10306 #line 10228 "parser.c" /* yacc.c:1646 */
10307  break;
10308 
10309  case 546:
10310 #line 5154 "parser.y" /* yacc.c:1646 */
10311  {
10312  check_pic_duplicate = 0;
10313  }
10314 #line 10236 "parser.c" /* yacc.c:1646 */
10315  break;
10316 
10317  case 566:
10318 #line 5185 "parser.y" /* yacc.c:1646 */
10319  {
10321  }
10322 #line 10244 "parser.c" /* yacc.c:1646 */
10323  break;
10324 
10325  case 579:
10326 #line 5211 "parser.y" /* yacc.c:1646 */
10327  {
10329  }
10330 #line 10252 "parser.c" /* yacc.c:1646 */
10331  break;
10332 
10333  case 580:
10334 #line 5218 "parser.y" /* yacc.c:1646 */
10335  {
10337  }
10338 #line 10260 "parser.c" /* yacc.c:1646 */
10339  break;
10340 
10341  case 585:
10342 #line 5234 "parser.y" /* yacc.c:1646 */
10343  {
10345  }
10346 #line 10268 "parser.c" /* yacc.c:1646 */
10347  break;
10348 
10349  case 587:
10350 #line 5245 "parser.y" /* yacc.c:1646 */
10351  {
10353  }
10354 #line 10276 "parser.c" /* yacc.c:1646 */
10355  break;
10356 
10357  case 590:
10358 #line 5257 "parser.y" /* yacc.c:1646 */
10359  {
10361  }
10362 #line 10284 "parser.c" /* yacc.c:1646 */
10363  break;
10364 
10365  case 602:
10366 #line 5290 "parser.y" /* yacc.c:1646 */
10367  {
10369  }
10370 #line 10292 "parser.c" /* yacc.c:1646 */
10371  break;
10372 
10373  case 603:
10374 #line 5297 "parser.y" /* yacc.c:1646 */
10375  {
10377  }
10378 #line 10300 "parser.c" /* yacc.c:1646 */
10379  break;
10380 
10381  case 604:
10382 #line 5304 "parser.y" /* yacc.c:1646 */
10383  {
10385  }
10386 #line 10308 "parser.c" /* yacc.c:1646 */
10387  break;
10388 
10389  case 606:
10390 #line 5313 "parser.y" /* yacc.c:1646 */
10391  {
10393  current_field = NULL;
10394  description_field = NULL;
10396  }
10397 #line 10319 "parser.c" /* yacc.c:1646 */
10398  break;
10399 
10400  case 607:
10401 #line 5320 "parser.y" /* yacc.c:1646 */
10402  {
10403  struct cb_field *p;
10404 
10405  if (description_field) {
10406  for (p = description_field; p; p = p->sister) {
10407  cb_validate_field (p);
10408  }
10409  current_program->screen_storage = description_field;
10410  current_program->flag_screen = 1;
10411  }
10412  }
10413 #line 10335 "parser.c" /* yacc.c:1646 */
10414  break;
10415 
10416  case 613:
10417 #line 5345 "parser.y" /* yacc.c:1646 */
10418  {
10419  cb_tree x;
10420 
10421  x = cb_build_field_tree ((yyvsp[-1]), (yyvsp[0]), current_field, current_storage,
10422  current_file, 0);
10423  /* Free tree assocated with level number */
10424  cobc_parse_free ((yyvsp[-1]));
10425  check_pic_duplicate = 0;
10426  if (CB_INVALID_TREE (x)) {
10427  YYERROR;
10428  }
10429 
10430  current_field = CB_FIELD (x);
10431  if (current_field->parent) {
10432  current_field->screen_foreg = current_field->parent->screen_foreg;
10433  current_field->screen_backg = current_field->parent->screen_backg;
10434  current_field->screen_prompt = current_field->parent->screen_prompt;
10435  }
10436  }
10437 #line 10359 "parser.c" /* yacc.c:1646 */
10438  break;
10439 
10440  case 614:
10441 #line 5365 "parser.y" /* yacc.c:1646 */
10442  {
10443  int flags;
10444 
10445  if (current_field->parent) {
10446  flags = current_field->parent->screen_flag;
10447  flags &= ~COB_SCREEN_BLANK_LINE;
10448  flags &= ~COB_SCREEN_BLANK_SCREEN;
10449  flags &= ~COB_SCREEN_ERASE_EOL;
10450  flags &= ~COB_SCREEN_ERASE_EOS;
10451  flags &= ~COB_SCREEN_LINE_PLUS;
10452  flags &= ~COB_SCREEN_LINE_MINUS;
10453  flags &= ~COB_SCREEN_COLUMN_PLUS;
10454  flags &= ~COB_SCREEN_COLUMN_MINUS;
10455 
10456  flags = zero_conflicting_flags (current_field->screen_flag,
10457  flags);
10458 
10459  current_field->screen_flag |= flags;
10460  }
10461 
10462  if (!qualifier && (current_field->level == 88 ||
10463  current_field->level == 66 ||
10464  current_field->flag_item_78)) {
10465  cb_error (_("Item requires a data name"));
10466  }
10467  if (current_field->screen_flag & COB_SCREEN_INITIAL) {
10468  if (!(current_field->screen_flag & COB_SCREEN_INPUT)) {
10469  cb_error (_("INITIAL specified on non-input field"));
10470  }
10471  }
10472  if (!qualifier) {
10473  current_field->flag_filler = 1;
10474  }
10475  if (current_field->level == 88) {
10476  cb_validate_88_item (current_field);
10477  }
10478  if (current_field->flag_item_78) {
10479  /* Reset to last non-78 item - may set current_field to NULL */
10480  current_field = cb_validate_78_item (current_field, 0);
10481  }
10482  if (likely (current_field)) {
10483  if (!description_field) {
10484  description_field = current_field;
10485  }
10486  if (current_field->flag_occurs
10487  && !has_relative_pos (current_field)) {
10488  cb_error (_("Relative LINE/COLUMN clause required with OCCURS"));
10489  }
10490  }
10491  }
10492 #line 10414 "parser.c" /* yacc.c:1646 */
10493  break;
10494 
10495  case 615:
10496 #line 5416 "parser.y" /* yacc.c:1646 */
10497  {
10498  /* Free tree associated with level number */
10499  cobc_parse_free ((yyvsp[-2]));
10500  yyerrok;
10501  cb_unput_dot ();
10502  check_pic_duplicate = 0;
10503  check_duplicate = 0;
10504 #if 1 /* RXWRXW Screen field */
10505  if (current_field) {
10506  current_field->flag_is_verified = 1;
10507  current_field->flag_invalid = 1;
10508  }
10509 #endif
10510  current_field = cb_get_real_field ();
10511  }
10512 #line 10434 "parser.c" /* yacc.c:1646 */
10513  break;
10514 
10515  case 618:
10516 #line 5439 "parser.y" /* yacc.c:1646 */
10517  {
10519  "BLANK SCREEN", COB_SCREEN_BLANK_SCREEN);
10520  }
10521 #line 10443 "parser.c" /* yacc.c:1646 */
10522  break;
10523 
10524  case 619:
10525 #line 5444 "parser.y" /* yacc.c:1646 */
10526  {
10528  "BLANK LINE", COB_SCREEN_BLANK_LINE);
10529  }
10530 #line 10452 "parser.c" /* yacc.c:1646 */
10531  break;
10532 
10533  case 620:
10534 #line 5449 "parser.y" /* yacc.c:1646 */
10535  {
10537  }
10538 #line 10460 "parser.c" /* yacc.c:1646 */
10539  break;
10540 
10541  case 621:
10542 #line 5453 "parser.y" /* yacc.c:1646 */
10543  {
10545  }
10546 #line 10468 "parser.c" /* yacc.c:1646 */
10547  break;
10548 
10549  case 622:
10550 #line 5457 "parser.y" /* yacc.c:1646 */
10551  {
10553  "ERASE EOS", COB_SCREEN_ERASE_EOS);
10554  }
10555 #line 10477 "parser.c" /* yacc.c:1646 */
10556  break;
10557 
10558  case 623:
10559 #line 5462 "parser.y" /* yacc.c:1646 */
10560  {
10562  "ERASE EOL", COB_SCREEN_ERASE_EOL);
10563  }
10564 #line 10486 "parser.c" /* yacc.c:1646 */
10565  break;
10566 
10567  case 624:
10568 #line 5467 "parser.y" /* yacc.c:1646 */
10569  {
10571  "LOWLIGHT", COB_SCREEN_LOWLIGHT);
10572  }
10573 #line 10495 "parser.c" /* yacc.c:1646 */
10574  break;
10575 
10576  case 625:
10577 #line 5472 "parser.y" /* yacc.c:1646 */
10578  {
10580  "HIGHLIGHT", COB_SCREEN_HIGHLIGHT);
10581  }
10582 #line 10504 "parser.c" /* yacc.c:1646 */
10583  break;
10584 
10585  case 626:
10586 #line 5477 "parser.y" /* yacc.c:1646 */
10587  {
10588  check_screen_attr ("REVERSE-VIDEO", COB_SCREEN_REVERSE);
10589  }
10590 #line 10512 "parser.c" /* yacc.c:1646 */
10591  break;
10592 
10593  case 627:
10594 #line 5481 "parser.y" /* yacc.c:1646 */
10595  {
10596  check_screen_attr ("UNDERLINE", COB_SCREEN_UNDERLINE);
10597  }
10598 #line 10520 "parser.c" /* yacc.c:1646 */
10599  break;
10600 
10601  case 628:
10602 #line 5485 "parser.y" /* yacc.c:1646 */
10603  {
10604  check_screen_attr ("OVERLINE", COB_SCREEN_OVERLINE);
10605  PENDING ("OVERLINE");
10606  }
10607 #line 10529 "parser.c" /* yacc.c:1646 */
10608  break;
10609 
10610  case 629:
10611 #line 5490 "parser.y" /* yacc.c:1646 */
10612  {
10614  PENDING ("GRID");
10615  }
10616 #line 10538 "parser.c" /* yacc.c:1646 */
10617  break;
10618 
10619  case 630:
10620 #line 5495 "parser.y" /* yacc.c:1646 */
10621  {
10622  check_screen_attr ("LEFTLINE", COB_SCREEN_LEFTLINE);
10623  PENDING ("LEFTLINE");
10624  }
10625 #line 10547 "parser.c" /* yacc.c:1646 */
10626  break;
10627 
10628  case 631:
10629 #line 5500 "parser.y" /* yacc.c:1646 */
10630  {
10632  }
10633 #line 10555 "parser.c" /* yacc.c:1646 */
10634  break;
10635 
10636  case 632:
10637 #line 5504 "parser.y" /* yacc.c:1646 */
10638  {
10640  }
10641 #line 10563 "parser.c" /* yacc.c:1646 */
10642  break;
10643 
10644  case 633:
10645 #line 5508 "parser.y" /* yacc.c:1646 */
10646  {
10647  check_screen_attr ("REQUIRED", COB_SCREEN_REQUIRED);
10648  }
10649 #line 10571 "parser.c" /* yacc.c:1646 */
10650  break;
10651 
10652  case 634:
10653 #line 5512 "parser.y" /* yacc.c:1646 */
10654  {
10656  }
10657 #line 10579 "parser.c" /* yacc.c:1646 */
10658  break;
10659 
10660  case 635:
10661 #line 5516 "parser.y" /* yacc.c:1646 */
10662  {
10664  current_field->screen_prompt = (yyvsp[0]);
10665  }
10666 #line 10588 "parser.c" /* yacc.c:1646 */
10667  break;
10668 
10669  case 636:
10670 #line 5521 "parser.y" /* yacc.c:1646 */
10671  {
10673  }
10674 #line 10596 "parser.c" /* yacc.c:1646 */
10675  break;
10676 
10677  case 637:
10678 #line 5525 "parser.y" /* yacc.c:1646 */
10679  {
10681  }
10682 #line 10604 "parser.c" /* yacc.c:1646 */
10683  break;
10684 
10685  case 638:
10686 #line 5529 "parser.y" /* yacc.c:1646 */
10687  {
10689  current_field->screen_line = (yyvsp[0]);
10690  }
10691 #line 10613 "parser.c" /* yacc.c:1646 */
10692  break;
10693 
10694  case 639:
10695 #line 5534 "parser.y" /* yacc.c:1646 */
10696  {
10698  current_field->screen_column = (yyvsp[0]);
10699  }
10700 #line 10622 "parser.c" /* yacc.c:1646 */
10701  break;
10702 
10703  case 640:
10704 #line 5539 "parser.y" /* yacc.c:1646 */
10705  {
10706  check_repeated ("FOREGROUND-COLOR", SYN_CLAUSE_18, &check_pic_duplicate);
10707  current_field->screen_foreg = (yyvsp[0]);
10708  }
10709 #line 10631 "parser.c" /* yacc.c:1646 */
10710  break;
10711 
10712  case 641:
10713 #line 5544 "parser.y" /* yacc.c:1646 */
10714  {
10715  check_repeated ("BACKGROUND-COLOR", SYN_CLAUSE_19, &check_pic_duplicate);
10716  current_field->screen_backg = (yyvsp[0]);
10717  }
10718 #line 10640 "parser.c" /* yacc.c:1646 */
10719  break;
10720 
10721  case 650:
10722 #line 5557 "parser.y" /* yacc.c:1646 */
10723  {
10724  check_not_88_level ((yyvsp[0]));
10725 
10727  current_field->screen_from = (yyvsp[0]);
10728  current_field->screen_to = (yyvsp[0]);
10729  current_field->screen_flag |= COB_SCREEN_INPUT;
10730  }
10731 #line 10653 "parser.c" /* yacc.c:1646 */
10732  break;
10733 
10734  case 651:
10735 #line 5566 "parser.y" /* yacc.c:1646 */
10736  {
10738  current_field->screen_from = (yyvsp[0]);
10739  }
10740 #line 10662 "parser.c" /* yacc.c:1646 */
10741  break;
10742 
10743  case 652:
10744 #line 5571 "parser.y" /* yacc.c:1646 */
10745  {
10746  check_not_88_level ((yyvsp[0]));
10747 
10749  current_field->screen_to = (yyvsp[0]);
10750  current_field->screen_flag |= COB_SCREEN_INPUT;
10751  }
10752 #line 10674 "parser.c" /* yacc.c:1646 */
10753  break;
10754 
10755  case 661:
10756 #line 5602 "parser.y" /* yacc.c:1646 */
10757  {
10758  /* Nothing */
10759  }
10760 #line 10682 "parser.c" /* yacc.c:1646 */
10761  break;
10762 
10763  case 662:
10764 #line 5606 "parser.y" /* yacc.c:1646 */
10765  {
10766  current_field->screen_flag |= COB_SCREEN_LINE_PLUS;
10767  }
10768 #line 10690 "parser.c" /* yacc.c:1646 */
10769  break;
10770 
10771  case 663:
10772 #line 5610 "parser.y" /* yacc.c:1646 */
10773  {
10774  current_field->screen_flag |= COB_SCREEN_LINE_MINUS;
10775  }
10776 #line 10698 "parser.c" /* yacc.c:1646 */
10777  break;
10778 
10779  case 664:
10780 #line 5617 "parser.y" /* yacc.c:1646 */
10781  {
10782  /* Nothing */
10783  }
10784 #line 10706 "parser.c" /* yacc.c:1646 */
10785  break;
10786 
10787  case 665:
10788 #line 5621 "parser.y" /* yacc.c:1646 */
10789  {
10790  current_field->screen_flag |= COB_SCREEN_COLUMN_PLUS;
10791  }
10792 #line 10714 "parser.c" /* yacc.c:1646 */
10793  break;
10794 
10795  case 666:
10796 #line 5625 "parser.y" /* yacc.c:1646 */
10797  {
10798  current_field->screen_flag |= COB_SCREEN_COLUMN_MINUS;
10799  }
10800 #line 10722 "parser.c" /* yacc.c:1646 */
10801  break;
10802 
10803  case 667:
10804 #line 5633 "parser.y" /* yacc.c:1646 */
10805  {
10807  current_field->occurs_max = cb_get_int ((yyvsp[-1]));
10808  current_field->occurs_min = current_field->occurs_max;
10809  current_field->indexes++;
10810  current_field->flag_occurs = 1;
10811  }
10812 #line 10734 "parser.c" /* yacc.c:1646 */
10813  break;
10814 
10815  case 668:
10816 #line 5644 "parser.y" /* yacc.c:1646 */
10817  {
10818  cb_error (_("GLOBAL is not allowed with screen items"));
10819  }
10820 #line 10742 "parser.c" /* yacc.c:1646 */
10821  break;
10822 
10823  case 670:
10824 #line 5653 "parser.y" /* yacc.c:1646 */
10825  {
10826  current_section = NULL;
10827  current_paragraph = NULL;
10828  check_pic_duplicate = 0;
10829  check_duplicate = 0;
10830  cobc_in_procedure = 1U;
10833  }
10834 #line 10756 "parser.c" /* yacc.c:1646 */
10835  break;
10836 
10837  case 671:
10838 #line 5663 "parser.y" /* yacc.c:1646 */
10839  {
10840  if (current_program->flag_main && !current_program->flag_chained && (yyvsp[-4])) {
10841  cb_error (_("Executable program requested but PROCEDURE/ENTRY has USING clause"));
10842  }
10843  /* Main entry point */
10844  emit_entry (current_program->program_id, 0, (yyvsp[-4]));
10845  current_program->num_proc_params = cb_list_length ((yyvsp[-4]));
10846  if (current_program->source_name) {
10847  emit_entry (current_program->source_name, 1, (yyvsp[-4]));
10848  }
10849  }
10850 #line 10772 "parser.c" /* yacc.c:1646 */
10851  break;
10852 
10853  case 672:
10854 #line 5675 "parser.y" /* yacc.c:1646 */
10855  {
10856  if (current_paragraph) {
10857  if (current_paragraph->exit_label) {
10858  emit_statement (current_paragraph->exit_label);
10859  }
10860  emit_statement (cb_build_perform_exit (current_paragraph));
10861  }
10862  if (current_section) {
10863  if (current_section->exit_label) {
10864  emit_statement (current_section->exit_label);
10865  }
10866  emit_statement (cb_build_perform_exit (current_section));
10867  }
10868  }
10869 #line 10791 "parser.c" /* yacc.c:1646 */
10870  break;
10871 
10872  case 673:
10873 #line 5690 "parser.y" /* yacc.c:1646 */
10874  {
10875  cb_tree label;
10876 
10877  /* No PROCEDURE DIVISION header ! */
10878  /* Only a statement is allowed as first element */
10879  /* Thereafter, sections/paragraphs may be used */
10880  check_pic_duplicate = 0;
10881  check_duplicate = 0;
10882  cobc_in_procedure = 1U;
10883  label = cb_build_reference ("MAIN SECTION");
10884  current_section = CB_LABEL (cb_build_label (label, NULL));
10885  current_section->flag_section = 1;
10886  current_section->flag_dummy_section = 1;
10887  current_section->flag_skip_label = !!skip_statements;
10888  current_section->flag_declaratives = !!in_declaratives;
10889  CB_TREE (current_section)->source_file = cb_source_file;
10890  CB_TREE (current_section)->source_line = cb_source_line;
10891  emit_statement (CB_TREE (current_section));
10892  label = cb_build_reference ("MAIN PARAGRAPH");
10893  current_paragraph = CB_LABEL (cb_build_label (label, NULL));
10894  current_paragraph->flag_declaratives = !!in_declaratives;
10895  current_paragraph->flag_skip_label = !!skip_statements;
10896  current_paragraph->flag_dummy_paragraph = 1;
10897  CB_TREE (current_paragraph)->source_file = cb_source_file;
10898  CB_TREE (current_paragraph)->source_line = cb_source_line;
10899  emit_statement (CB_TREE (current_paragraph));
10901  }
10902 #line 10824 "parser.c" /* yacc.c:1646 */
10903  break;
10904 
10905  case 675:
10906 #line 5723 "parser.y" /* yacc.c:1646 */
10907  {
10908  (yyval) = NULL;
10909  }
10910 #line 10832 "parser.c" /* yacc.c:1646 */
10911  break;
10912 
10913  case 676:
10914 #line 5727 "parser.y" /* yacc.c:1646 */
10915  {
10917  size_mode = CB_SIZE_4;
10918  }
10919 #line 10841 "parser.c" /* yacc.c:1646 */
10920  break;
10921 
10922  case 677:
10923 #line 5732 "parser.y" /* yacc.c:1646 */
10924  {
10925  if (cb_list_length ((yyvsp[0])) > COB_MAX_FIELD_PARAMS) {
10926  cb_error (_("Number of parameters exceeds maximum %d"),
10928  }
10929  (yyval) = (yyvsp[0]);
10930  }
10931 #line 10853 "parser.c" /* yacc.c:1646 */
10932  break;
10933 
10934  case 678:
10935 #line 5740 "parser.y" /* yacc.c:1646 */
10936  {
10938  if (current_program->prog_type == CB_FUNCTION_TYPE) {
10939  cb_error (_("CHAINING invalid in user FUNCTION"));
10940  } else {
10941  current_program->flag_chained = 1;
10942  }
10943  }
10944 #line 10866 "parser.c" /* yacc.c:1646 */
10945  break;
10946 
10947  case 679:
10948 #line 5749 "parser.y" /* yacc.c:1646 */
10949  {
10950  if (cb_list_length ((yyvsp[0])) > COB_MAX_FIELD_PARAMS) {
10951  cb_error (_("Number of parameters exceeds maximum %d"),
10953  }
10954  (yyval) = (yyvsp[0]);
10955  }
10956 #line 10878 "parser.c" /* yacc.c:1646 */
10957  break;
10958 
10959  case 680:
10960 #line 5759 "parser.y" /* yacc.c:1646 */
10961  { (yyval) = (yyvsp[0]); }
10962 #line 10884 "parser.c" /* yacc.c:1646 */
10963  break;
10964 
10965  case 681:
10966 #line 5761 "parser.y" /* yacc.c:1646 */
10967  { (yyval) = cb_list_append ((yyvsp[-1]), (yyvsp[0])); }
10968 #line 10890 "parser.c" /* yacc.c:1646 */
10969  break;
10970 
10971  case 682:
10972 #line 5766 "parser.y" /* yacc.c:1646 */
10973  {
10974  cb_tree x;
10975  struct cb_field *f;
10976 
10977  x = cb_build_identifier ((yyvsp[0]), 0);
10978  if ((yyvsp[-1]) == cb_int1 && CB_VALID_TREE (x) && cb_ref (x) != cb_error_node) {
10979  f = CB_FIELD (cb_ref (x));
10980  f->flag_is_pdiv_opt = 1;
10981  }
10982 
10984  && CB_REFERENCE_P ((yyvsp[0]))
10985  && CB_FIELD (cb_ref ((yyvsp[0])))->flag_any_length) {
10986  cb_error_x ((yyvsp[0]), _("ANY LENGTH items may only be BY REFERENCE formal parameters"));
10987  }
10988 
10989  (yyval) = CB_BUILD_PAIR (cb_int (call_mode), x);
10990  CB_SIZES ((yyval)) = size_mode;
10991  }
10992 #line 10914 "parser.c" /* yacc.c:1646 */
10993  break;
10994 
10995  case 684:
10996 #line 5790 "parser.y" /* yacc.c:1646 */
10997  {
10999  }
11000 #line 10922 "parser.c" /* yacc.c:1646 */
11001  break;
11002 
11003  case 685:
11004 #line 5794 "parser.y" /* yacc.c:1646 */
11005  {
11006  if (current_program->flag_chained) {
11007  cb_error (_("%s not allowed in CHAINED programs"), "BY VALUE");
11008  } else {
11009  PENDING (_("BY VALUE parameters"));
11011  }
11012  }
11013 #line 10935 "parser.c" /* yacc.c:1646 */
11014  break;
11015 
11016  case 687:
11017 #line 5807 "parser.y" /* yacc.c:1646 */
11018  {
11019  if (call_mode != CB_CALL_BY_VALUE) {
11020  cb_error (_("SIZE only allowed for BY VALUE items"));
11021  } else {
11023  }
11024  }
11025 #line 10947 "parser.c" /* yacc.c:1646 */
11026  break;
11027 
11028  case 688:
11029 #line 5815 "parser.y" /* yacc.c:1646 */
11030  {
11031  if (call_mode != CB_CALL_BY_VALUE) {
11032  cb_error (_("SIZE only allowed for BY VALUE items"));
11033  } else {
11034  size_mode = CB_SIZE_4;
11035  }
11036  }
11037 #line 10959 "parser.c" /* yacc.c:1646 */
11038  break;
11039 
11040  case 689:
11041 #line 5823 "parser.y" /* yacc.c:1646 */
11042  {
11043  if (call_mode != CB_CALL_BY_VALUE) {
11044  cb_error (_("SIZE only allowed for BY VALUE items"));
11045  } else {
11047  }
11048  }
11049 #line 10971 "parser.c" /* yacc.c:1646 */
11050  break;
11051 
11052  case 690:
11053 #line 5831 "parser.y" /* yacc.c:1646 */
11054  {
11055  unsigned char *s = CB_LITERAL ((yyvsp[0]))->data;
11056 
11057  if (call_mode != CB_CALL_BY_VALUE) {
11058  cb_error (_("SIZE only allowed for BY VALUE items"));
11059  } else if (CB_LITERAL ((yyvsp[0]))->size != 1) {
11060  cb_error_x ((yyvsp[0]), _("Invalid value for SIZE"));
11061  } else {
11063  switch (*s) {
11064  case '1':
11065  size_mode |= CB_SIZE_1;
11066  break;
11067  case '2':
11068  size_mode |= CB_SIZE_2;
11069  break;
11070  case '4':
11071  size_mode |= CB_SIZE_4;
11072  break;
11073  case '8':
11074  size_mode |= CB_SIZE_8;
11075  break;
11076  default:
11077  cb_error_x ((yyvsp[0]), _("Invalid value for SIZE"));
11078  break;
11079  }
11080  }
11081  }
11082 #line 11004 "parser.c" /* yacc.c:1646 */
11083  break;
11084 
11085  case 691:
11086 #line 5860 "parser.y" /* yacc.c:1646 */
11087  {
11088  unsigned char *s = CB_LITERAL ((yyvsp[0]))->data;
11089 
11090  if (call_mode != CB_CALL_BY_VALUE) {
11091  cb_error (_("SIZE only allowed for BY VALUE items"));
11092  } else if (CB_LITERAL ((yyvsp[0]))->size != 1) {
11093  cb_error_x ((yyvsp[0]), _("Invalid value for SIZE"));
11094  } else {
11095  size_mode = 0;
11096  switch (*s) {
11097  case '1':
11098  size_mode = CB_SIZE_1;
11099  break;
11100  case '2':
11101  size_mode = CB_SIZE_2;
11102  break;
11103  case '4':
11104  size_mode = CB_SIZE_4;
11105  break;
11106  case '8':
11107  size_mode = CB_SIZE_8;
11108  break;
11109  default:
11110  cb_error_x ((yyvsp[0]), _("Invalid value for SIZE"));
11111  break;
11112  }
11113  }
11114  }
11115 #line 11037 "parser.c" /* yacc.c:1646 */
11116  break;
11117 
11118  case 692:
11119 #line 5892 "parser.y" /* yacc.c:1646 */
11120  {
11121  (yyval) = cb_int0;
11122  }
11123 #line 11045 "parser.c" /* yacc.c:1646 */
11124  break;
11125 
11126  case 693:
11127 #line 5896 "parser.y" /* yacc.c:1646 */
11128  {
11130  cb_error (_("OPTIONAL only allowed for BY REFERENCE items"));
11131  (yyval) = cb_int0;
11132  } else {
11133  (yyval) = cb_int1;
11134  }
11135  }
11136 #line 11058 "parser.c" /* yacc.c:1646 */
11137  break;
11138 
11139  case 694:
11140 #line 5908 "parser.y" /* yacc.c:1646 */
11141  {
11142  if (current_program->prog_type == CB_FUNCTION_TYPE) {
11143  cb_error (_("RETURNING clause is required for a FUNCTION"));
11144  }
11145  }
11146 #line 11068 "parser.c" /* yacc.c:1646 */
11147  break;
11148 
11149  case 695:
11150 #line 5914 "parser.y" /* yacc.c:1646 */
11151  {
11152  if (current_program->flag_main) {
11153  cb_error (_("RETURNING clause cannot be OMITTED for main program"));
11154  }
11155  if (current_program->prog_type == CB_FUNCTION_TYPE) {
11156  cb_error (_("RETURNING clause cannot be OMITTED for a FUNCTION"));
11157  }
11158  current_program->flag_void = 1;
11159  }
11160 #line 11082 "parser.c" /* yacc.c:1646 */
11161  break;
11162 
11163  case 696:
11164 #line 5924 "parser.y" /* yacc.c:1646 */
11165  {
11166  struct cb_field *f;
11167 
11168  if (cb_ref ((yyvsp[0])) != cb_error_node) {
11169  f = CB_FIELD_PTR ((yyvsp[0]));
11170 /* RXWRXW
11171  if (f->storage != CB_STORAGE_LINKAGE) {
11172  cb_error (_("RETURNING item is not defined in LINKAGE SECTION"));
11173  } else if (f->level != 1 && f->level != 77) {
11174 */
11175  if (f->level != 1 && f->level != 77) {
11176  cb_error (_("RETURNING item must have level 01"));
11177  } else if(f->flag_occurs) {
11178  cb_error(_("RETURNING item should not have OCCURS"));
11179  } else if(f->storage == CB_STORAGE_LOCAL) {
11180  cb_error (_("RETURNING item should not be in LOCAL-STORAGE"));
11181  } else {
11182  if (current_program->prog_type == CB_FUNCTION_TYPE) {
11183  if (f->flag_any_length) {
11184  cb_error (_("Function RETURNING item may not be ANY LENGTH"));
11185  }
11186 
11187  f->flag_is_returning = 1;
11188  }
11189  current_program->returning = (yyvsp[0]);
11190  }
11191  }
11192  }
11193 #line 11115 "parser.c" /* yacc.c:1646 */
11194  break;
11195 
11196  case 698:
11197 #line 5956 "parser.y" /* yacc.c:1646 */
11198  {
11199  in_declaratives = 1;
11200  emit_statement (cb_build_comment ("DECLARATIVES"));
11201  }
11202 #line 11124 "parser.c" /* yacc.c:1646 */
11203  break;
11204 
11205  case 699:
11206 #line 5962 "parser.y" /* yacc.c:1646 */
11207  {
11208  if (needs_field_debug) {
11209  start_debug = 1;
11210  }
11211  in_declaratives = 0;
11212  in_debugging = 0;
11213  if (current_paragraph) {
11214  if (current_paragraph->exit_label) {
11215  emit_statement (current_paragraph->exit_label);
11216  }
11217  emit_statement (cb_build_perform_exit (current_paragraph));
11218  current_paragraph = NULL;
11219  }
11220  if (current_section) {
11221  if (current_section->exit_label) {
11222  emit_statement (current_section->exit_label);
11223  }
11224  current_section->flag_fatal_check = 1;
11225  emit_statement (cb_build_perform_exit (current_section));
11226  current_section = NULL;
11227  }
11228  skip_statements = 0;
11229  emit_statement (cb_build_comment ("END DECLARATIVES"));
11230  check_unreached = 0;
11231  }
11232 #line 11154 "parser.c" /* yacc.c:1646 */
11233  break;
11234 
11235  case 704:
11236 #line 6000 "parser.y" /* yacc.c:1646 */
11237  {
11238  if (next_label_list) {
11239  cb_tree plabel;
11240  char name[32];
11241 
11242  snprintf (name, sizeof(name), "L$%d", next_label_id);
11243  plabel = cb_build_label (cb_build_reference (name), NULL);
11244  CB_LABEL (plabel)->flag_next_sentence = 1;
11245  emit_statement (plabel);
11246  current_program->label_list =
11247  cb_list_append (current_program->label_list, next_label_list);
11248  next_label_list = NULL;
11249  next_label_id++;
11250  }
11251  /* check_unreached = 0; */
11252  }
11253 #line 11175 "parser.c" /* yacc.c:1646 */
11254  break;
11255 
11256  case 706:
11257 #line 6018 "parser.y" /* yacc.c:1646 */
11258  {
11259  /* check_unreached = 0; */
11260  }
11261 #line 11183 "parser.c" /* yacc.c:1646 */
11262  break;
11263 
11264  case 707:
11265 #line 6028 "parser.y" /* yacc.c:1646 */
11266  {
11267  non_const_word = 0;
11268  check_unreached = 0;
11269  if (cb_build_section_name ((yyvsp[-3]), 0) == cb_error_node) {
11270  YYERROR;
11271  }
11272 
11273  /* Exit the last paragraph/section */
11274  if (current_paragraph) {
11275  if (current_paragraph->exit_label) {
11276  emit_statement (current_paragraph->exit_label);
11277  }
11278  emit_statement (cb_build_perform_exit (current_paragraph));
11279  }
11280  if (current_section) {
11281  if (current_section->exit_label) {
11282  emit_statement (current_section->exit_label);
11283  }
11284  emit_statement (cb_build_perform_exit (current_section));
11285  }
11286  if (current_program->flag_debugging && !in_debugging) {
11287  if (current_paragraph || current_section) {
11289  "DEBUGGING - Fall through"));
11291  "FALL THROUGH", NULL));
11292  }
11293  }
11294 
11295  /* Begin a new section */
11296  current_section = CB_LABEL (cb_build_label ((yyvsp[-3]), NULL));
11297  if ((yyvsp[-1])) {
11298  current_section->segment = cb_get_int ((yyvsp[-1]));
11299  }
11300  current_section->flag_section = 1;
11301  /* Careful here, one negation */
11302  current_section->flag_real_label = !in_debugging;
11303  current_section->flag_declaratives = !!in_declaratives;
11304  current_section->flag_skip_label = !!skip_statements;
11305  CB_TREE (current_section)->source_file = cb_source_file;
11306  CB_TREE (current_section)->source_line = cb_source_line;
11307  current_paragraph = NULL;
11308  }
11309 #line 11231 "parser.c" /* yacc.c:1646 */
11310  break;
11311 
11312  case 708:
11313 #line 6072 "parser.y" /* yacc.c:1646 */
11314  {
11315  emit_statement (CB_TREE (current_section));
11316  }
11317 #line 11239 "parser.c" /* yacc.c:1646 */
11318  break;
11319 
11320  case 711:
11321 #line 6083 "parser.y" /* yacc.c:1646 */
11322  {
11323  cb_tree label;
11324 
11325  non_const_word = 0;
11326  check_unreached = 0;
11327  if (cb_build_section_name ((yyvsp[-1]), 1) == cb_error_node) {
11328  YYERROR;
11329  }
11330 
11331  /* Exit the last paragraph */
11332  if (current_paragraph) {
11333  if (current_paragraph->exit_label) {
11334  emit_statement (current_paragraph->exit_label);
11335  }
11336  emit_statement (cb_build_perform_exit (current_paragraph));
11337  if (current_program->flag_debugging && !in_debugging) {
11339  "DEBUGGING - Fall through"));
11341  "FALL THROUGH", NULL));
11342  }
11343  }
11344 
11345  /* Begin a new paragraph */
11346  if (!current_section) {
11347  label = cb_build_reference ("MAIN SECTION");
11348  current_section = CB_LABEL (cb_build_label (label, NULL));
11349  current_section->flag_section = 1;
11350  current_section->flag_dummy_section = 1;
11351  current_section->flag_declaratives = !!in_declaratives;
11352  current_section->flag_skip_label = !!skip_statements;
11353  CB_TREE (current_section)->source_file = cb_source_file;
11354  CB_TREE (current_section)->source_line = cb_source_line;
11355  emit_statement (CB_TREE (current_section));
11356  }
11357  current_paragraph = CB_LABEL (cb_build_label ((yyvsp[-1]), current_section));
11358  current_paragraph->flag_declaratives =!! in_declaratives;
11359  current_paragraph->flag_skip_label = !!skip_statements;
11360  current_paragraph->flag_real_label = !in_debugging;
11361  current_paragraph->segment = current_section->segment;
11362  CB_TREE (current_paragraph)->source_file = cb_source_file;
11363  CB_TREE (current_paragraph)->source_line = cb_source_line;
11364  emit_statement (CB_TREE (current_paragraph));
11365  }
11366 #line 11288 "parser.c" /* yacc.c:1646 */
11367  break;
11368 
11369  case 712:
11370 #line 6131 "parser.y" /* yacc.c:1646 */
11371  {
11372  non_const_word = 0;
11373  check_unreached = 0;
11374  if (cb_build_section_name ((yyvsp[0]), 0) != cb_error_node) {
11375  cb_error_x ((yyvsp[0]), _("Unknown statement '%s'"), CB_NAME ((yyvsp[0])));
11376  }
11377  YYERROR;
11378  }
11379 #line 11301 "parser.c" /* yacc.c:1646 */
11380  break;
11381 
11382  case 713:
11383 #line 6143 "parser.y" /* yacc.c:1646 */
11384  {
11385  (yyval) = NULL;
11386  }
11387 #line 11309 "parser.c" /* yacc.c:1646 */
11388  break;
11389 
11390  case 714:
11391 #line 6147 "parser.y" /* yacc.c:1646 */
11392  {
11393  if (in_declaratives) {
11394  cb_error (_("SECTION segment invalid within DECLARATIVE"));
11395  }
11396  if (cb_verify (cb_section_segments, "SECTION segment")) {
11397  current_program->flag_segments = 1;
11398  (yyval) = (yyvsp[0]);
11399  } else {
11400  (yyval) = NULL;
11401  }
11402  }
11403 #line 11325 "parser.c" /* yacc.c:1646 */
11404  break;
11405 
11406  case 715:
11407 #line 6165 "parser.y" /* yacc.c:1646 */
11408  {
11409  (yyval) = current_program->exec_list;
11410  current_program->exec_list = NULL;
11411  check_unreached = 0;
11412  }
11413 #line 11335 "parser.c" /* yacc.c:1646 */
11414  break;
11415 
11416  case 716:
11417 #line 6170 "parser.y" /* yacc.c:1646 */
11418  {
11419  (yyval) = CB_TREE (current_statement);
11420  current_statement = NULL;
11421  }
11422 #line 11344 "parser.c" /* yacc.c:1646 */
11423  break;
11424 
11425  case 717:
11426 #line 6175 "parser.y" /* yacc.c:1646 */
11427  {
11428  (yyval) = cb_list_reverse (current_program->exec_list);
11429  current_program->exec_list = (yyvsp[-2]);
11430  current_statement = CB_STATEMENT ((yyvsp[-1]));
11431  }
11432 #line 11354 "parser.c" /* yacc.c:1646 */
11433  break;
11434 
11435  case 718:
11436 #line 6183 "parser.y" /* yacc.c:1646 */
11437  {
11438  cb_tree label;
11439 
11440  if (!current_section) {
11441  label = cb_build_reference ("MAIN SECTION");
11442  current_section = CB_LABEL (cb_build_label (label, NULL));
11443  current_section->flag_section = 1;
11444  current_section->flag_dummy_section = 1;
11445  current_section->flag_skip_label = !!skip_statements;
11446  current_section->flag_declaratives = !!in_declaratives;
11447  CB_TREE (current_section)->source_file = cb_source_file;
11448  CB_TREE (current_section)->source_line = cb_source_line;
11449  emit_statement (CB_TREE (current_section));
11450  }
11451  if (!current_paragraph) {
11452  label = cb_build_reference ("MAIN PARAGRAPH");
11453  current_paragraph = CB_LABEL (cb_build_label (label, NULL));
11454  current_paragraph->flag_declaratives = !!in_declaratives;
11455  current_paragraph->flag_skip_label = !!skip_statements;
11456  current_paragraph->flag_dummy_paragraph = 1;
11457  CB_TREE (current_paragraph)->source_file = cb_source_file;
11458  CB_TREE (current_paragraph)->source_line = cb_source_line;
11459  emit_statement (CB_TREE (current_paragraph));
11460  }
11462  }
11463 #line 11385 "parser.c" /* yacc.c:1646 */
11464  break;
11465 
11466  case 719:
11467 #line 6210 "parser.y" /* yacc.c:1646 */
11468  {
11469  cobc_cs_check = 0;
11470  }
11471 #line 11393 "parser.c" /* yacc.c:1646 */
11472  break;
11473 
11474  case 720:
11475 #line 6214 "parser.y" /* yacc.c:1646 */
11476  {
11477  cobc_cs_check = 0;
11478  }
11479 #line 11401 "parser.c" /* yacc.c:1646 */
11480  break;
11481 
11482  case 770:
11483 #line 6270 "parser.y" /* yacc.c:1646 */
11484  {
11485  if (cb_verify (cb_next_sentence_phrase, "NEXT SENTENCE")) {
11486  cb_tree label;
11487  char name[32];
11488 
11489  begin_statement ("NEXT SENTENCE", 0);
11490  sprintf (name, "L$%d", next_label_id);
11491  label = cb_build_reference (name);
11492  next_label_list = cb_list_add (next_label_list, label);
11493  emit_statement (cb_build_goto (label, NULL));
11494  }
11495  check_unreached = 0;
11496  }
11497 #line 11419 "parser.c" /* yacc.c:1646 */
11498  break;
11499 
11500  case 771:
11501 #line 6284 "parser.y" /* yacc.c:1646 */
11502  {
11503  yyerrok;
11504  cobc_cs_check = 0;
11505  }
11506 #line 11428 "parser.c" /* yacc.c:1646 */
11507  break;
11508 
11509  case 772:
11510 #line 6295 "parser.y" /* yacc.c:1646 */
11511  {
11512  begin_statement ("ACCEPT", TERM_ACCEPT);
11513  if (cb_accept_update) {
11515  }
11516  if (cb_accept_auto) {
11518  }
11519  }
11520 #line 11442 "parser.c" /* yacc.c:1646 */
11521  break;
11522 
11523  case 774:
11524 #line 6310 "parser.y" /* yacc.c:1646 */
11525  {
11526  check_duplicate = 0;
11528  line_column = NULL;
11529  }
11530 #line 11452 "parser.c" /* yacc.c:1646 */
11531  break;
11532 
11533  case 775:
11534 #line 6316 "parser.y" /* yacc.c:1646 */
11535  {
11536  cobc_cs_check = 0;
11537  cb_emit_accept ((yyvsp[-3]), line_column, current_statement->attr_ptr);
11538  }
11539 #line 11461 "parser.c" /* yacc.c:1646 */
11540  break;
11541 
11542  case 776:
11543 #line 6321 "parser.y" /* yacc.c:1646 */
11544  {
11545  cb_emit_accept_line_or_col ((yyvsp[-2]), 0);
11546  }
11547 #line 11469 "parser.c" /* yacc.c:1646 */
11548  break;
11549 
11550  case 777:
11551 #line 6325 "parser.y" /* yacc.c:1646 */
11552  {
11553  cb_emit_accept_line_or_col ((yyvsp[-2]), 1);
11554  }
11555 #line 11477 "parser.c" /* yacc.c:1646 */
11556  break;
11557 
11558  case 778:
11559 #line 6329 "parser.y" /* yacc.c:1646 */
11560  {
11561  cobc_cs_check = 0;
11562  cb_emit_accept_date_yyyymmdd ((yyvsp[-3]));
11563  }
11564 #line 11486 "parser.c" /* yacc.c:1646 */
11565  break;
11566 
11567  case 779:
11568 #line 6334 "parser.y" /* yacc.c:1646 */
11569  {
11570  cobc_cs_check = 0;
11571  cb_emit_accept_date ((yyvsp[-2]));
11572  }
11573 #line 11495 "parser.c" /* yacc.c:1646 */
11574  break;
11575 
11576  case 780:
11577 #line 6339 "parser.y" /* yacc.c:1646 */
11578  {
11579  cobc_cs_check = 0;
11580  cb_emit_accept_day_yyyyddd ((yyvsp[-3]));
11581  }
11582 #line 11504 "parser.c" /* yacc.c:1646 */
11583  break;
11584 
11585  case 781:
11586 #line 6344 "parser.y" /* yacc.c:1646 */
11587  {
11588  cobc_cs_check = 0;
11589  cb_emit_accept_day ((yyvsp[-2]));
11590  }
11591 #line 11513 "parser.c" /* yacc.c:1646 */
11592  break;
11593 
11594  case 782:
11595 #line 6349 "parser.y" /* yacc.c:1646 */
11596  {
11597  cb_emit_accept_day_of_week ((yyvsp[-2]));
11598  }
11599 #line 11521 "parser.c" /* yacc.c:1646 */
11600  break;
11601 
11602  case 783:
11603 #line 6353 "parser.y" /* yacc.c:1646 */
11604  {
11605  cb_emit_accept_escape_key ((yyvsp[-3]));
11606  }
11607 #line 11529 "parser.c" /* yacc.c:1646 */
11608  break;
11609 
11610  case 784:
11611 #line 6357 "parser.y" /* yacc.c:1646 */
11612  {
11613  cb_emit_accept_exception_status ((yyvsp[-3]));
11614  }
11615 #line 11537 "parser.c" /* yacc.c:1646 */
11616  break;
11617 
11618  case 785:
11619 #line 6361 "parser.y" /* yacc.c:1646 */
11620  {
11621  cb_emit_accept_time ((yyvsp[-2]));
11622  }
11623 #line 11545 "parser.c" /* yacc.c:1646 */
11624  break;
11625 
11626  case 786:
11627 #line 6365 "parser.y" /* yacc.c:1646 */
11628  {
11629  cobc_cs_check = 0;
11630  cb_emit_accept_user_name ((yyvsp[-3]));
11631  }
11632 #line 11554 "parser.c" /* yacc.c:1646 */
11633  break;
11634 
11635  case 787:
11636 #line 6370 "parser.y" /* yacc.c:1646 */
11637  {
11638  cb_emit_accept_command_line ((yyvsp[-2]));
11639  }
11640 #line 11562 "parser.c" /* yacc.c:1646 */
11641  break;
11642 
11643  case 788:
11644 #line 6374 "parser.y" /* yacc.c:1646 */
11645  {
11646  cb_emit_accept_environment ((yyvsp[-3]));
11647  }
11648 #line 11570 "parser.c" /* yacc.c:1646 */
11649  break;
11650 
11651  case 789:
11652 #line 6378 "parser.y" /* yacc.c:1646 */
11653  {
11654  cb_emit_get_environment ((yyvsp[-1]), (yyvsp[-4]));
11655  }
11656 #line 11578 "parser.c" /* yacc.c:1646 */
11657  break;
11658 
11659  case 790:
11660 #line 6382 "parser.y" /* yacc.c:1646 */
11661  {
11662  cb_emit_accept_arg_number ((yyvsp[-2]));
11663  }
11664 #line 11586 "parser.c" /* yacc.c:1646 */
11665  break;
11666 
11667  case 791:
11668 #line 6386 "parser.y" /* yacc.c:1646 */
11669  {
11670  cb_emit_accept_arg_value ((yyvsp[-3]));
11671  }
11672 #line 11594 "parser.c" /* yacc.c:1646 */
11673  break;
11674 
11675  case 792:
11676 #line 6390 "parser.y" /* yacc.c:1646 */
11677  {
11678  cb_emit_accept_mnemonic ((yyvsp[-2]), (yyvsp[0]));
11679  }
11680 #line 11602 "parser.c" /* yacc.c:1646 */
11681  break;
11682 
11683  case 793:
11684 #line 6394 "parser.y" /* yacc.c:1646 */
11685  {
11686  cb_emit_accept_name ((yyvsp[-2]), (yyvsp[0]));
11687  }
11688 #line 11610 "parser.c" /* yacc.c:1646 */
11689  break;
11690 
11691  case 795:
11692 #line 6402 "parser.y" /* yacc.c:1646 */
11693  {
11694  (yyval) = cb_null;
11695  }
11696 #line 11618 "parser.c" /* yacc.c:1646 */
11697  break;
11698 
11699  case 801:
11700 #line 6420 "parser.y" /* yacc.c:1646 */
11701  {
11703  }
11704 #line 11626 "parser.c" /* yacc.c:1646 */
11705  break;
11706 
11707  case 802:
11708 #line 6424 "parser.y" /* yacc.c:1646 */
11709  {
11710  check_repeated ("MODE IS BLOCK", SYN_CLAUSE_2, &check_duplicate);
11711  }
11712 #line 11634 "parser.c" /* yacc.c:1646 */
11713  break;
11714 
11715  case 806:
11716 #line 6437 "parser.y" /* yacc.c:1646 */
11717  {
11719  _("AT screen-location"), SYN_CLAUSE_3,
11721 
11722  if (!line_column) {
11723  line_column = CB_BUILD_PAIR ((yyvsp[0]), cb_int0);
11724  } else {
11725  CB_PAIR_X (line_column) = (yyvsp[0]);
11726  }
11727  }
11728 #line 11650 "parser.c" /* yacc.c:1646 */
11729  break;
11730 
11731  case 807:
11732 #line 6449 "parser.y" /* yacc.c:1646 */
11733  {
11735  _("AT screen-location"), SYN_CLAUSE_3,
11737 
11738  if(!line_column) {
11739  line_column = CB_BUILD_PAIR (cb_int0, (yyvsp[0]));
11740  } else {
11741  CB_PAIR_Y (line_column) = (yyvsp[0]);
11742  }
11743  }
11744 #line 11666 "parser.c" /* yacc.c:1646 */
11745  break;
11746 
11747  case 808:
11748 #line 6461 "parser.y" /* yacc.c:1646 */
11749  {
11750  check_attr_with_conflict (_("AT screen-location"), SYN_CLAUSE_3,
11751  _("LINE or COLUMN"), SYN_CLAUSE_1 | SYN_CLAUSE_2,
11753 
11754  line_column = (yyvsp[0]);
11755  }
11756 #line 11678 "parser.c" /* yacc.c:1646 */
11757  break;
11758 
11759  case 809:
11760 #line 6471 "parser.y" /* yacc.c:1646 */
11761  { (yyval) = (yyvsp[0]); }
11762 #line 11684 "parser.c" /* yacc.c:1646 */
11763  break;
11764 
11765  case 810:
11766 #line 6475 "parser.y" /* yacc.c:1646 */
11767  { (yyval) = (yyvsp[0]); }
11768 #line 11690 "parser.c" /* yacc.c:1646 */
11769  break;
11770 
11771  case 811:
11772 #line 6476 "parser.y" /* yacc.c:1646 */
11773  { (yyval) = (yyvsp[0]); }
11774 #line 11696 "parser.c" /* yacc.c:1646 */
11775  break;
11776 
11777  case 812:
11778 #line 6481 "parser.y" /* yacc.c:1646 */
11779  {
11780  cobc_cs_check = 0;
11781  }
11782 #line 11704 "parser.c" /* yacc.c:1646 */
11783  break;
11784 
11785  case 813:
11786 #line 6488 "parser.y" /* yacc.c:1646 */
11787  {
11789  }
11790 #line 11712 "parser.c" /* yacc.c:1646 */
11791  break;
11792 
11793  case 814:
11794 #line 6492 "parser.y" /* yacc.c:1646 */
11795  {
11796  if (cb_accept_auto) {
11798  }
11799  }
11800 #line 11722 "parser.c" /* yacc.c:1646 */
11801  break;
11802 
11803  case 815:
11804 #line 6498 "parser.y" /* yacc.c:1646 */
11805  {
11807  }
11808 #line 11730 "parser.c" /* yacc.c:1646 */
11809  break;
11810 
11811  case 816:
11812 #line 6502 "parser.y" /* yacc.c:1646 */
11813  {
11815  }
11816 #line 11738 "parser.c" /* yacc.c:1646 */
11817  break;
11818 
11819  case 817:
11820 #line 6506 "parser.y" /* yacc.c:1646 */
11821  {
11822  cb_warning (_("Ignoring CONVERSION"));
11823  }
11824 #line 11746 "parser.c" /* yacc.c:1646 */
11825  break;
11826 
11827  case 818:
11828 #line 6510 "parser.y" /* yacc.c:1646 */
11829  {
11831  }
11832 #line 11754 "parser.c" /* yacc.c:1646 */
11833  break;
11834 
11835  case 819:
11836 #line 6514 "parser.y" /* yacc.c:1646 */
11837  {
11839  "HIGHLIGHT", COB_SCREEN_HIGHLIGHT,
11840  "LOWLIGHT", COB_SCREEN_LOWLIGHT);
11841  }
11842 #line 11764 "parser.c" /* yacc.c:1646 */
11843  break;
11844 
11845  case 820:
11846 #line 6520 "parser.y" /* yacc.c:1646 */
11847  {
11849  }
11850 #line 11772 "parser.c" /* yacc.c:1646 */
11851  break;
11852 
11853  case 821:
11854 #line 6524 "parser.y" /* yacc.c:1646 */
11855  {
11857  }
11858 #line 11780 "parser.c" /* yacc.c:1646 */
11859  break;
11860 
11861  case 822:
11862 #line 6528 "parser.y" /* yacc.c:1646 */
11863  {
11865  "LOWLIGHT", COB_SCREEN_LOWLIGHT,
11866  "HIGHLIGHT", COB_SCREEN_HIGHLIGHT);
11867  }
11868 #line 11790 "parser.c" /* yacc.c:1646 */
11869  break;
11870 
11871  case 823:
11872 #line 6534 "parser.y" /* yacc.c:1646 */
11873  {
11875  }
11876 #line 11798 "parser.c" /* yacc.c:1646 */
11877  break;
11878 
11879  case 824:
11880 #line 6538 "parser.y" /* yacc.c:1646 */
11881  {
11883  }
11884 #line 11806 "parser.c" /* yacc.c:1646 */
11885  break;
11886 
11887  case 825:
11888 #line 6542 "parser.y" /* yacc.c:1646 */
11889  {
11890  check_attribs (NULL, NULL, NULL, NULL, (yyvsp[0]), NULL, COB_SCREEN_PROMPT);
11891  }
11892 #line 11814 "parser.c" /* yacc.c:1646 */
11893  break;
11894 
11895  case 826:
11896 #line 6546 "parser.y" /* yacc.c:1646 */
11897  {
11899  }
11900 #line 11822 "parser.c" /* yacc.c:1646 */
11901  break;
11902 
11903  case 827:
11904 #line 6550 "parser.y" /* yacc.c:1646 */
11905  {
11907  }
11908 #line 11830 "parser.c" /* yacc.c:1646 */
11909  break;
11910 
11911  case 828:
11912 #line 6554 "parser.y" /* yacc.c:1646 */
11913  {
11915  }
11916 #line 11838 "parser.c" /* yacc.c:1646 */
11917  break;
11918 
11919  case 829:
11920 #line 6558 "parser.y" /* yacc.c:1646 */
11921  {
11923  }
11924 #line 11846 "parser.c" /* yacc.c:1646 */
11925  break;
11926 
11927  case 830:
11928 #line 6562 "parser.y" /* yacc.c:1646 */
11929  {
11930  check_attribs (NULL, NULL, NULL, NULL, NULL, (yyvsp[0]), 0);
11931  }
11932 #line 11854 "parser.c" /* yacc.c:1646 */
11933  break;
11934 
11935  case 831:
11936 #line 6566 "parser.y" /* yacc.c:1646 */
11937  {
11938  check_attribs (NULL, NULL, NULL, NULL, NULL, (yyvsp[0]), 0);
11939  }
11940 #line 11862 "parser.c" /* yacc.c:1646 */
11941  break;
11942 
11943  case 832:
11944 #line 6570 "parser.y" /* yacc.c:1646 */
11945  {
11947  }
11948 #line 11870 "parser.c" /* yacc.c:1646 */
11949  break;
11950 
11951  case 833:
11952 #line 6574 "parser.y" /* yacc.c:1646 */
11953  {
11954  if (cb_accept_update) {
11956  }
11957  }
11958 #line 11880 "parser.c" /* yacc.c:1646 */
11959  break;
11960 
11961  case 834:
11962 #line 6580 "parser.y" /* yacc.c:1646 */
11963  {
11965  }
11966 #line 11888 "parser.c" /* yacc.c:1646 */
11967  break;
11968 
11969  case 835:
11970 #line 6584 "parser.y" /* yacc.c:1646 */
11971  {
11973  }
11974 #line 11896 "parser.c" /* yacc.c:1646 */
11975  break;
11976 
11977  case 836:
11978 #line 6588 "parser.y" /* yacc.c:1646 */
11979  {
11980  check_attribs ((yyvsp[0]), NULL, NULL, NULL, NULL, NULL, 0);
11981  }
11982 #line 11904 "parser.c" /* yacc.c:1646 */
11983  break;
11984 
11985  case 837:
11986 #line 6592 "parser.y" /* yacc.c:1646 */
11987  {
11988  check_attribs (NULL, (yyvsp[0]), NULL, NULL, NULL, NULL, 0);
11989  }
11990 #line 11912 "parser.c" /* yacc.c:1646 */
11991  break;
11992 
11993  case 838:
11994 #line 6596 "parser.y" /* yacc.c:1646 */
11995  {
11996  check_attribs (NULL, NULL, (yyvsp[0]), NULL, NULL, NULL, 0);
11997  }
11998 #line 11920 "parser.c" /* yacc.c:1646 */
11999  break;
12000 
12001  case 839:
12002 #line 6600 "parser.y" /* yacc.c:1646 */
12003  {
12005  }
12006 #line 11928 "parser.c" /* yacc.c:1646 */
12007  break;
12008 
12009  case 840:
12010 #line 6604 "parser.y" /* yacc.c:1646 */
12011  {
12012  check_attribs (NULL, NULL, NULL, (yyvsp[0]), NULL, NULL, 0);
12013  }
12014 #line 11936 "parser.c" /* yacc.c:1646 */
12015  break;
12016 
12017  case 843:
12018 #line 6616 "parser.y" /* yacc.c:1646 */
12019  {
12020  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), ACCEPT);
12021  }
12022 #line 11944 "parser.c" /* yacc.c:1646 */
12023  break;
12024 
12025  case 844:
12026 #line 6620 "parser.y" /* yacc.c:1646 */
12027  {
12028  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), ACCEPT);
12029 # if 0 /* activate only for debugging purposes for attribs */
12030  if (current_statement->attr_ptr) {
12031  printBits (current_statement->attr_ptr->dispattrs);
12032  } else {
12033  fprintf(stderr, "No Attribs\n");
12034  }
12035 #endif
12036  }
12037 #line 11959 "parser.c" /* yacc.c:1646 */
12038  break;
12039 
12040  case 845:
12041 #line 6637 "parser.y" /* yacc.c:1646 */
12042  {
12043  begin_statement ("ADD", TERM_ADD);
12044  }
12045 #line 11967 "parser.c" /* yacc.c:1646 */
12046  break;
12047 
12048  case 847:
12049 #line 6646 "parser.y" /* yacc.c:1646 */
12050  {
12051  cb_emit_arithmetic ((yyvsp[-1]), '+', cb_build_binary_list ((yyvsp[-3]), '+'));
12052  }
12053 #line 11975 "parser.c" /* yacc.c:1646 */
12054  break;
12055 
12056  case 848:
12057 #line 6650 "parser.y" /* yacc.c:1646 */
12058  {
12059  cb_emit_arithmetic ((yyvsp[-1]), 0, cb_build_binary_list ((yyvsp[-4]), '+'));
12060  }
12061 #line 11983 "parser.c" /* yacc.c:1646 */
12062  break;
12063 
12064  case 849:
12065 #line 6654 "parser.y" /* yacc.c:1646 */
12066  {
12067  cb_emit_corresponding (cb_build_add, (yyvsp[-2]), (yyvsp[-4]), (yyvsp[-1]));
12068  }
12069 #line 11991 "parser.c" /* yacc.c:1646 */
12070  break;
12071 
12072  case 851:
12073 #line 6661 "parser.y" /* yacc.c:1646 */
12074  {
12075  cb_list_add ((yyvsp[-2]), (yyvsp[0]));
12076  }
12077 #line 11999 "parser.c" /* yacc.c:1646 */
12078  break;
12079 
12080  case 852:
12081 #line 6668 "parser.y" /* yacc.c:1646 */
12082  {
12083  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), ADD);
12084  }
12085 #line 12007 "parser.c" /* yacc.c:1646 */
12086  break;
12087 
12088  case 853:
12089 #line 6672 "parser.y" /* yacc.c:1646 */
12090  {
12091  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), ADD);
12092  }
12093 #line 12015 "parser.c" /* yacc.c:1646 */
12094  break;
12095 
12096  case 854:
12097 #line 6682 "parser.y" /* yacc.c:1646 */
12098  {
12099  begin_statement ("ALLOCATE", 0);
12100  current_statement->flag_no_based = 1;
12101  }
12102 #line 12024 "parser.c" /* yacc.c:1646 */
12103  break;
12104 
12105  case 856:
12106 #line 6691 "parser.y" /* yacc.c:1646 */
12107  {
12108  cb_emit_allocate ((yyvsp[-2]), (yyvsp[0]), NULL, (yyvsp[-1]));
12109  }
12110 #line 12032 "parser.c" /* yacc.c:1646 */
12111  break;
12112 
12113  case 857:
12114 #line 6695 "parser.y" /* yacc.c:1646 */
12115  {
12116  if ((yyvsp[0]) == NULL) {
12117  cb_error_x (CB_TREE (current_statement),
12118  _("ALLOCATE CHARACTERS requires RETURNING clause"));
12119  } else {
12120  cb_emit_allocate (NULL, (yyvsp[0]), (yyvsp[-3]), (yyvsp[-1]));
12121  }
12122  }
12123 #line 12045 "parser.c" /* yacc.c:1646 */
12124  break;
12125 
12126  case 858:
12127 #line 6706 "parser.y" /* yacc.c:1646 */
12128  { (yyval) = NULL; }
12129 #line 12051 "parser.c" /* yacc.c:1646 */
12130  break;
12131 
12132  case 859:
12133 #line 6707 "parser.y" /* yacc.c:1646 */
12134  { (yyval) = (yyvsp[0]); }
12135 #line 12057 "parser.c" /* yacc.c:1646 */
12136  break;
12137 
12138  case 860:
12139 #line 6715 "parser.y" /* yacc.c:1646 */
12140  {
12141  begin_statement ("ALTER", 0);
12142  cb_verify (cb_alter_statement, "ALTER statement");
12143  }
12144 #line 12066 "parser.c" /* yacc.c:1646 */
12145  break;
12146 
12147  case 864:
12148 #line 6729 "parser.y" /* yacc.c:1646 */
12149  {
12150  cb_emit_alter ((yyvsp[-3]), (yyvsp[0]));
12151  }
12152 #line 12074 "parser.c" /* yacc.c:1646 */
12153  break;
12154 
12155  case 867:
12156 #line 6741 "parser.y" /* yacc.c:1646 */
12157  {
12158  begin_statement ("CALL", TERM_CALL);
12160  call_nothing = 0;
12161  }
12162 #line 12084 "parser.c" /* yacc.c:1646 */
12163  break;
12164 
12165  case 869:
12166 #line 6757 "parser.y" /* yacc.c:1646 */
12167  {
12168  if (CB_LITERAL_P ((yyvsp[-4])) &&
12169  current_program->prog_type == CB_PROGRAM_TYPE &&
12170  !current_program->flag_recursive &&
12171  !strcmp ((const char *)(CB_LITERAL((yyvsp[-4]))->data), current_program->orig_program_id)) {
12172  cb_warning_x ((yyvsp[-4]), _("Recursive program call - assuming RECURSIVE attribute"));
12173  current_program->flag_recursive = 1;
12174  }
12175  /* For CALL ... RETURNING NOTHING, set the call convention bit */
12176  if (call_nothing) {
12177  if ((yyvsp[-5]) && CB_INTEGER_P ((yyvsp[-5]))) {
12178  (yyvsp[-5]) = cb_int ((CB_INTEGER ((yyvsp[-5]))->val) | CB_CONV_NO_RET_UPD);
12179  } else {
12180  (yyvsp[-5]) = cb_int (CB_CONV_NO_RET_UPD);
12181  }
12182  }
12183  cb_emit_call ((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), (yyvsp[-5]));
12184  }
12185 #line 12107 "parser.c" /* yacc.c:1646 */
12186  break;
12187 
12188  case 870:
12189 #line 6779 "parser.y" /* yacc.c:1646 */
12190  {
12191  (yyval) = NULL;
12192  cobc_cs_check = 0;
12193  }
12194 #line 12116 "parser.c" /* yacc.c:1646 */
12195  break;
12196 
12197  case 871:
12198 #line 6784 "parser.y" /* yacc.c:1646 */
12199  {
12200  (yyval) = cb_int (CB_CONV_STATIC_LINK);
12201  cobc_cs_check = 0;
12202  }
12203 #line 12125 "parser.c" /* yacc.c:1646 */
12204  break;
12205 
12206  case 872:
12207 #line 6789 "parser.y" /* yacc.c:1646 */
12208  {
12209  (yyval) = cb_int (CB_CONV_STDCALL);
12210  cobc_cs_check = 0;
12211  }
12212 #line 12134 "parser.c" /* yacc.c:1646 */
12213  break;
12214 
12215  case 873:
12216 #line 6794 "parser.y" /* yacc.c:1646 */
12217  {
12218  cb_tree x;
12219 
12220  x = cb_ref ((yyvsp[0]));
12221  if (CB_VALID_TREE (x)) {
12222  if (CB_SYSTEM_NAME(x)->token != CB_FEATURE_CONVENTION) {
12223  cb_error_x ((yyvsp[0]), _("Invalid mnemonic name"));
12224  (yyval) = NULL;
12225  } else {
12226  (yyval) = CB_SYSTEM_NAME(x)->value;
12227  }
12228  } else {
12229  (yyval) = NULL;
12230  }
12231  cobc_cs_check = 0;
12232  }
12233 #line 12155 "parser.c" /* yacc.c:1646 */
12234  break;
12235 
12236  case 874:
12237 #line 6814 "parser.y" /* yacc.c:1646 */
12238  {
12239  (yyval) = NULL;
12240  }
12241 #line 12163 "parser.c" /* yacc.c:1646 */
12242  break;
12243 
12244  case 875:
12245 #line 6818 "parser.y" /* yacc.c:1646 */
12246  {
12248  size_mode = CB_SIZE_4;
12249  }
12250 #line 12172 "parser.c" /* yacc.c:1646 */
12251  break;
12252 
12253  case 876:
12254 #line 6823 "parser.y" /* yacc.c:1646 */
12255  {
12256  if (cb_list_length ((yyvsp[0])) > COB_MAX_FIELD_PARAMS) {
12257  cb_error_x (CB_TREE (current_statement),
12258  _("Number of parameters exceeds maximum %d"),
12260  }
12261  (yyval) = (yyvsp[0]);
12262  }
12263 #line 12185 "parser.c" /* yacc.c:1646 */
12264  break;
12265 
12266  case 877:
12267 #line 6834 "parser.y" /* yacc.c:1646 */
12268  { (yyval) = (yyvsp[0]); }
12269 #line 12191 "parser.c" /* yacc.c:1646 */
12270  break;
12271 
12272  case 878:
12273 #line 6836 "parser.y" /* yacc.c:1646 */
12274  { (yyval) = cb_list_append ((yyvsp[-1]), (yyvsp[0])); }
12275 #line 12197 "parser.c" /* yacc.c:1646 */
12276  break;
12277 
12278  case 879:
12279 #line 6841 "parser.y" /* yacc.c:1646 */
12280  {
12282  cb_error_x (CB_TREE (current_statement),
12283  _("OMITTED only allowed with BY REFERENCE"));
12284  }
12285  (yyval) = CB_BUILD_PAIR (cb_int (call_mode), cb_null);
12286  }
12287 #line 12209 "parser.c" /* yacc.c:1646 */
12288  break;
12289 
12290  case 880:
12291 #line 6849 "parser.y" /* yacc.c:1646 */
12292  {
12293  int save_mode;
12294 
12295  save_mode = call_mode;
12297  if (CB_FILE_P ((yyvsp[0])) || (CB_REFERENCE_P ((yyvsp[0])) &&
12298  CB_FILE_P (CB_REFERENCE ((yyvsp[0]))->value))) {
12299  cb_error_x (CB_TREE (current_statement),
12300  _("Invalid file name reference"));
12301  } else if (call_mode == CB_CALL_BY_VALUE) {
12302  if (cb_category_is_alpha ((yyvsp[0]))) {
12303  cb_warning_x ((yyvsp[0]),
12304  _("BY CONTENT assumed for alphanumeric item"));
12305  save_mode = CB_CALL_BY_CONTENT;
12306  }
12307  }
12308  }
12309  (yyval) = CB_BUILD_PAIR (cb_int (save_mode), (yyvsp[0]));
12310  CB_SIZES ((yyval)) = size_mode;
12311  call_mode = save_mode;
12312  }
12313 #line 12235 "parser.c" /* yacc.c:1646 */
12314  break;
12315 
12316  case 882:
12317 #line 6875 "parser.y" /* yacc.c:1646 */
12318  {
12320  }
12321 #line 12243 "parser.c" /* yacc.c:1646 */
12322  break;
12323 
12324  case 883:
12325 #line 6879 "parser.y" /* yacc.c:1646 */
12326  {
12327  if (current_program->flag_chained) {
12328  cb_error_x (CB_TREE (current_statement),
12329  _("%s not allowed in CHAINED programs"), "BY CONTENT");
12330  } else {
12332  }
12333  }
12334 #line 12256 "parser.c" /* yacc.c:1646 */
12335  break;
12336 
12337  case 884:
12338 #line 6888 "parser.y" /* yacc.c:1646 */
12339  {
12340  if (current_program->flag_chained) {
12341  cb_error_x (CB_TREE (current_statement),
12342  _("%s not allowed in CHAINED programs"), "BY VALUE");
12343  } else {
12345  }
12346  }
12347 #line 12269 "parser.c" /* yacc.c:1646 */
12348  break;
12349 
12350  case 885:
12351 #line 6900 "parser.y" /* yacc.c:1646 */
12352  {
12353  (yyval) = NULL;
12354  }
12355 #line 12277 "parser.c" /* yacc.c:1646 */
12356  break;
12357 
12358  case 886:
12359 #line 6904 "parser.y" /* yacc.c:1646 */
12360  {
12361  (yyval) = (yyvsp[0]);
12362  }
12363 #line 12285 "parser.c" /* yacc.c:1646 */
12364  break;
12365 
12366  case 887:
12367 #line 6908 "parser.y" /* yacc.c:1646 */
12368  {
12369  (yyval) = cb_null;
12370  }
12371 #line 12293 "parser.c" /* yacc.c:1646 */
12372  break;
12373 
12374  case 888:
12375 #line 6912 "parser.y" /* yacc.c:1646 */
12376  {
12378  (yyval) = cb_null;
12379  }
12380 #line 12302 "parser.c" /* yacc.c:1646 */
12381  break;
12382 
12383  case 889:
12384 #line 6917 "parser.y" /* yacc.c:1646 */
12385  {
12386  struct cb_field *f;
12387 
12388  if (cb_ref ((yyvsp[0])) != cb_error_node) {
12389  f = CB_FIELD_PTR ((yyvsp[0]));
12390  if (f->level != 1 && f->level != 77) {
12391  cb_error (_("RETURNING item must have level 01 or 77"));
12392  (yyval) = NULL;
12393  } else if (f->storage != CB_STORAGE_LINKAGE &&
12394  !f->flag_item_based) {
12395  cb_error (_("RETURNING item is neither in LINKAGE SECTION nor is it BASED"));
12396  (yyval) = NULL;
12397  } else {
12398  (yyval) = cb_build_address ((yyvsp[0]));
12399  }
12400  } else {
12401  (yyval) = NULL;
12402  }
12403  }
12404 #line 12326 "parser.c" /* yacc.c:1646 */
12405  break;
12406 
12407  case 894:
12408 #line 6950 "parser.y" /* yacc.c:1646 */
12409  {
12410  (yyval) = NULL;
12411  }
12412 #line 12334 "parser.c" /* yacc.c:1646 */
12413  break;
12414 
12415  case 895:
12416 #line 6955 "parser.y" /* yacc.c:1646 */
12417  {
12418  (yyval) = (yyvsp[0]);
12419  }
12420 #line 12342 "parser.c" /* yacc.c:1646 */
12421  break;
12422 
12423  case 896:
12424 #line 6960 "parser.y" /* yacc.c:1646 */
12425  {
12426  cb_verify (cb_call_overflow, "ON OVERFLOW clause");
12427  (yyval) = (yyvsp[0]);
12428  }
12429 #line 12351 "parser.c" /* yacc.c:1646 */
12430  break;
12431 
12432  case 897:
12433 #line 6968 "parser.y" /* yacc.c:1646 */
12434  {
12435  (yyval) = NULL;
12436  }
12437 #line 12359 "parser.c" /* yacc.c:1646 */
12438  break;
12439 
12440  case 898:
12441 #line 6973 "parser.y" /* yacc.c:1646 */
12442  {
12443  (yyval) = (yyvsp[0]);
12444  }
12445 #line 12367 "parser.c" /* yacc.c:1646 */
12446  break;
12447 
12448  case 899:
12449 #line 6980 "parser.y" /* yacc.c:1646 */
12450  {
12451  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), CALL);
12452  }
12453 #line 12375 "parser.c" /* yacc.c:1646 */
12454  break;
12455 
12456  case 900:
12457 #line 6984 "parser.y" /* yacc.c:1646 */
12458  {
12459  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), CALL);
12460  }
12461 #line 12383 "parser.c" /* yacc.c:1646 */
12462  break;
12463 
12464  case 901:
12465 #line 6994 "parser.y" /* yacc.c:1646 */
12466  {
12467  begin_statement ("CANCEL", 0);
12468  }
12469 #line 12391 "parser.c" /* yacc.c:1646 */
12470  break;
12471 
12472  case 903:
12473 #line 7002 "parser.y" /* yacc.c:1646 */
12474  {
12475  cb_emit_cancel ((yyvsp[0]));
12476  }
12477 #line 12399 "parser.c" /* yacc.c:1646 */
12478  break;
12479 
12480  case 904:
12481 #line 7006 "parser.y" /* yacc.c:1646 */
12482  {
12483  cb_emit_cancel ((yyvsp[0]));
12484  }
12485 #line 12407 "parser.c" /* yacc.c:1646 */
12486  break;
12487 
12488  case 905:
12489 #line 7016 "parser.y" /* yacc.c:1646 */
12490  {
12491  begin_statement ("CLOSE", 0);
12492  }
12493 #line 12415 "parser.c" /* yacc.c:1646 */
12494  break;
12495 
12496  case 907:
12497 #line 7024 "parser.y" /* yacc.c:1646 */
12498  {
12500  cb_emit_close ((yyvsp[-1]), (yyvsp[0]));
12501  }
12502 #line 12424 "parser.c" /* yacc.c:1646 */
12503  break;
12504 
12505  case 908:
12506 #line 7029 "parser.y" /* yacc.c:1646 */
12507  {
12509  cb_emit_close ((yyvsp[-1]), (yyvsp[0]));
12510  }
12511 #line 12433 "parser.c" /* yacc.c:1646 */
12512  break;
12513 
12514  case 909:
12515 #line 7036 "parser.y" /* yacc.c:1646 */
12516  { (yyval) = cb_int (COB_CLOSE_NORMAL); }
12517 #line 12439 "parser.c" /* yacc.c:1646 */
12518  break;
12519 
12520  case 910:
12521 #line 7037 "parser.y" /* yacc.c:1646 */
12522  { (yyval) = cb_int (COB_CLOSE_UNIT); }
12523 #line 12445 "parser.c" /* yacc.c:1646 */
12524  break;
12525 
12526  case 911:
12527 #line 7038 "parser.y" /* yacc.c:1646 */
12528  { (yyval) = cb_int (COB_CLOSE_UNIT_REMOVAL); }
12529 #line 12451 "parser.c" /* yacc.c:1646 */
12530  break;
12531 
12532  case 912:
12533 #line 7039 "parser.y" /* yacc.c:1646 */
12534  { (yyval) = cb_int (COB_CLOSE_NO_REWIND); }
12535 #line 12457 "parser.c" /* yacc.c:1646 */
12536  break;
12537 
12538  case 913:
12539 #line 7040 "parser.y" /* yacc.c:1646 */
12540  { (yyval) = cb_int (COB_CLOSE_LOCK); }
12541 #line 12463 "parser.c" /* yacc.c:1646 */
12542  break;
12543 
12544  case 914:
12545 #line 7048 "parser.y" /* yacc.c:1646 */
12546  {
12547  begin_statement ("COMPUTE", TERM_COMPUTE);
12548  }
12549 #line 12471 "parser.c" /* yacc.c:1646 */
12550  break;
12551 
12552  case 916:
12553 #line 7057 "parser.y" /* yacc.c:1646 */
12554  {
12555  cb_emit_arithmetic ((yyvsp[-3]), 0, (yyvsp[-1]));
12556  }
12557 #line 12479 "parser.c" /* yacc.c:1646 */
12558  break;
12559 
12560  case 917:
12561 #line 7064 "parser.y" /* yacc.c:1646 */
12562  {
12563  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), COMPUTE);
12564  }
12565 #line 12487 "parser.c" /* yacc.c:1646 */
12566  break;
12567 
12568  case 918:
12569 #line 7068 "parser.y" /* yacc.c:1646 */
12570  {
12571  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), COMPUTE);
12572  }
12573 #line 12495 "parser.c" /* yacc.c:1646 */
12574  break;
12575 
12576  case 919:
12577 #line 7078 "parser.y" /* yacc.c:1646 */
12578  {
12579  begin_statement ("COMMIT", 0);
12580  cb_emit_commit ();
12581  }
12582 #line 12504 "parser.c" /* yacc.c:1646 */
12583  break;
12584 
12585  case 920:
12586 #line 7089 "parser.y" /* yacc.c:1646 */
12587  {
12588  size_t save_unreached;
12589 
12590  /* Do not check unreached for CONTINUE */
12591  save_unreached = check_unreached;
12592  check_unreached = 0;
12593  begin_statement ("CONTINUE", 0);
12594  cb_emit_continue ();
12595  check_unreached = (unsigned int) save_unreached;
12596  }
12597 #line 12519 "parser.c" /* yacc.c:1646 */
12598  break;
12599 
12600  case 921:
12601 #line 7106 "parser.y" /* yacc.c:1646 */
12602  {
12603  begin_statement ("DELETE", TERM_DELETE);
12604  }
12605 #line 12527 "parser.c" /* yacc.c:1646 */
12606  break;
12607 
12608  case 923:
12609 #line 7115 "parser.y" /* yacc.c:1646 */
12610  {
12611  cb_emit_delete ((yyvsp[-2]));
12612  }
12613 #line 12535 "parser.c" /* yacc.c:1646 */
12614  break;
12615 
12616  case 925:
12617 #line 7123 "parser.y" /* yacc.c:1646 */
12618  {
12620  cb_emit_delete_file ((yyvsp[0]));
12621  }
12622 #line 12544 "parser.c" /* yacc.c:1646 */
12623  break;
12624 
12625  case 926:
12626 #line 7128 "parser.y" /* yacc.c:1646 */
12627  {
12629  cb_emit_delete_file ((yyvsp[0]));
12630  }
12631 #line 12553 "parser.c" /* yacc.c:1646 */
12632  break;
12633 
12634  case 927:
12635 #line 7136 "parser.y" /* yacc.c:1646 */
12636  {
12637  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), DELETE);
12638  }
12639 #line 12561 "parser.c" /* yacc.c:1646 */
12640  break;
12641 
12642  case 928:
12643 #line 7140 "parser.y" /* yacc.c:1646 */
12644  {
12645  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), DELETE);
12646  }
12647 #line 12569 "parser.c" /* yacc.c:1646 */
12648  break;
12649 
12650  case 929:
12651 #line 7150 "parser.y" /* yacc.c:1646 */
12652  {
12653  begin_statement ("DISPLAY", TERM_DISPLAY);
12655  }
12656 #line 12578 "parser.c" /* yacc.c:1646 */
12657  break;
12658 
12659  case 931:
12660 #line 7160 "parser.y" /* yacc.c:1646 */
12661  {
12662  cb_emit_env_name ((yyvsp[-2]));
12663  }
12664 #line 12586 "parser.c" /* yacc.c:1646 */
12665  break;
12666 
12667  case 932:
12668 #line 7164 "parser.y" /* yacc.c:1646 */
12669  {
12670  cb_emit_env_value ((yyvsp[-2]));
12671  }
12672 #line 12594 "parser.c" /* yacc.c:1646 */
12673  break;
12674 
12675  case 933:
12676 #line 7168 "parser.y" /* yacc.c:1646 */
12677  {
12678  cb_emit_arg_number ((yyvsp[-2]));
12679  }
12680 #line 12602 "parser.c" /* yacc.c:1646 */
12681  break;
12682 
12683  case 934:
12684 #line 7172 "parser.y" /* yacc.c:1646 */
12685  {
12686  cb_emit_command_line ((yyvsp[-2]));
12687  }
12688 #line 12610 "parser.c" /* yacc.c:1646 */
12689  break;
12690 
12691  case 936:
12692 #line 7181 "parser.y" /* yacc.c:1646 */
12693  {
12694  emit_default_displays_for_x_list ((struct cb_list *) (yyvsp[0]));
12695  }
12696 #line 12618 "parser.c" /* yacc.c:1646 */
12697  break;
12698 
12699  case 937:
12700 #line 7185 "parser.y" /* yacc.c:1646 */
12701  {
12702  emit_default_displays_for_x_list ((struct cb_list *) (yyvsp[0]));
12703  }
12704 #line 12626 "parser.c" /* yacc.c:1646 */
12705  break;
12706 
12707  case 940:
12708 #line 7197 "parser.y" /* yacc.c:1646 */
12709  {
12710  check_duplicate = 0;
12712  advancing_value = cb_int1;
12713  upon_value = NULL;
12714  line_column = NULL;
12715  }
12716 #line 12638 "parser.c" /* yacc.c:1646 */
12717  break;
12718 
12719  case 941:
12720 #line 7205 "parser.y" /* yacc.c:1646 */
12721  {
12722  /* What if I want to allow implied LINE/COL? */
12723  int is_screen_field =
12724  contains_only_screen_field ((struct cb_list *) (yyvsp[-2]));
12725  int screen_display =
12726  is_screen_field
12727  || upon_value == cb_null
12728  || line_column
12729  || current_statement->attr_ptr;
12730 
12731  if ((yyvsp[-2]) == cb_null) {
12732  error_if_no_advancing_in_screen_display (advancing_value);
12733 
12734  cb_emit_display_omitted (line_column,
12735  current_statement->attr_ptr);
12736  } else {
12737  if (cb_list_length ((yyvsp[-2])) > 1 && screen_display) {
12738  cb_error (_("Ambiguous DISPLAY; put clauseless items at end or in separate DISPLAY"));
12739  }
12740 
12741  if (screen_display) {
12742  if (upon_value != NULL) {
12743  if (is_screen_field) {
12744  cb_error (_("Screens cannot be displayed on a device"));
12745  } else { /* line_column || current_statement->attr_ptr */
12746  cb_error (_("Cannot use screen clauses with device DISPLAY"));
12747  }
12748  } else {
12749  upon_value = cb_null;
12750  }
12751 
12752  error_if_no_advancing_in_screen_display (advancing_value);
12753 
12754  if (!line_column && !is_screen_field) {
12755  cb_error (_("Screen DISPLAY does not have a LINE or COL clause"));
12756  }
12757 
12758  cb_emit_display ((yyvsp[-2]), cb_null, cb_int1, line_column,
12759  current_statement->attr_ptr);
12760  } else { /* device display */
12761  if (upon_value == NULL) {
12762  upon_value = get_default_display_device ();
12763  }
12764  cb_emit_display ((yyvsp[-2]), upon_value, advancing_value, NULL, NULL);
12765  }
12766  }
12767 
12768  /*
12769  This should be placed after the display_list in the second case
12770  of display_list, but that causes a shift/reduce error.
12771  */
12773  }
12774 #line 12696 "parser.c" /* yacc.c:1646 */
12775  break;
12776 
12777  case 942:
12778 #line 7262 "parser.y" /* yacc.c:1646 */
12779  {
12780  (yyval) = (yyvsp[0]);
12781  }
12782 #line 12704 "parser.c" /* yacc.c:1646 */
12783  break;
12784 
12785  case 943:
12786 #line 7266 "parser.y" /* yacc.c:1646 */
12787  {
12788  PENDING ("DISPLAY OMITTED");
12789  (yyval) = cb_null;
12790  }
12791 #line 12713 "parser.c" /* yacc.c:1646 */
12792  break;
12793 
12794  case 946:
12795 #line 7279 "parser.y" /* yacc.c:1646 */
12796  {
12798  }
12799 #line 12721 "parser.c" /* yacc.c:1646 */
12800  break;
12801 
12802  case 947:
12803 #line 7283 "parser.y" /* yacc.c:1646 */
12804  {
12805  check_repeated ("NO ADVANCING", SYN_CLAUSE_2, &check_duplicate);
12806  advancing_value = cb_int0;
12807  }
12808 #line 12730 "parser.c" /* yacc.c:1646 */
12809  break;
12810 
12811  case 948:
12812 #line 7288 "parser.y" /* yacc.c:1646 */
12813  {
12814  check_repeated ("MODE IS BLOCK", SYN_CLAUSE_3, &check_duplicate);
12815  }
12816 #line 12738 "parser.c" /* yacc.c:1646 */
12817  break;
12818 
12819  case 951:
12820 #line 7297 "parser.y" /* yacc.c:1646 */
12821  {
12822  upon_value = cb_build_display_mnemonic ((yyvsp[0]));
12823  }
12824 #line 12746 "parser.c" /* yacc.c:1646 */
12825  break;
12826 
12827  case 952:
12828 #line 7301 "parser.y" /* yacc.c:1646 */
12829  {
12830  upon_value = cb_build_display_name ((yyvsp[0]));
12831  }
12832 #line 12754 "parser.c" /* yacc.c:1646 */
12833  break;
12834 
12835  case 953:
12836 #line 7305 "parser.y" /* yacc.c:1646 */
12837  {
12838  upon_value = cb_int0;
12839  }
12840 #line 12762 "parser.c" /* yacc.c:1646 */
12841  break;
12842 
12843  case 957:
12844 #line 7318 "parser.y" /* yacc.c:1646 */
12845  {
12847  }
12848 #line 12770 "parser.c" /* yacc.c:1646 */
12849  break;
12850 
12851  case 958:
12852 #line 7322 "parser.y" /* yacc.c:1646 */
12853  {
12855  "BLANK LINE", COB_SCREEN_BLANK_LINE,
12856  "BLANK SCREEN", COB_SCREEN_BLANK_SCREEN);
12857  }
12858 #line 12780 "parser.c" /* yacc.c:1646 */
12859  break;
12860 
12861  case 959:
12862 #line 7328 "parser.y" /* yacc.c:1646 */
12863  {
12865  "BLANK SCREEN", COB_SCREEN_BLANK_SCREEN,
12866  "BLANK LINE", COB_SCREEN_BLANK_LINE);
12867  }
12868 #line 12790 "parser.c" /* yacc.c:1646 */
12869  break;
12870 
12871  case 960:
12872 #line 7334 "parser.y" /* yacc.c:1646 */
12873  {
12875  }
12876 #line 12798 "parser.c" /* yacc.c:1646 */
12877  break;
12878 
12879  case 961:
12880 #line 7338 "parser.y" /* yacc.c:1646 */
12881  {
12882  cb_warning (_("Ignoring CONVERSION"));
12883  }
12884 #line 12806 "parser.c" /* yacc.c:1646 */
12885  break;
12886 
12887  case 962:
12888 #line 7342 "parser.y" /* yacc.c:1646 */
12889  {
12891  "ERASE EOL", COB_SCREEN_ERASE_EOL,
12892  "ERASE EOS", COB_SCREEN_ERASE_EOS);
12893  }
12894 #line 12816 "parser.c" /* yacc.c:1646 */
12895  break;
12896 
12897  case 963:
12898 #line 7348 "parser.y" /* yacc.c:1646 */
12899  {
12901  "ERASE EOS", COB_SCREEN_ERASE_EOS,
12902  "ERASE EOL", COB_SCREEN_ERASE_EOL);
12903  }
12904 #line 12826 "parser.c" /* yacc.c:1646 */
12905  break;
12906 
12907  case 964:
12908 #line 7354 "parser.y" /* yacc.c:1646 */
12909  {
12911  "HIGHLIGHT", COB_SCREEN_HIGHLIGHT,
12912  "LOWLIGHT", COB_SCREEN_LOWLIGHT);
12913  }
12914 #line 12836 "parser.c" /* yacc.c:1646 */
12915  break;
12916 
12917  case 965:
12918 #line 7360 "parser.y" /* yacc.c:1646 */
12919  {
12921  "LOWLIGHT", COB_SCREEN_LOWLIGHT,
12922  "HIGHLIGHT", COB_SCREEN_HIGHLIGHT);
12923  }
12924 #line 12846 "parser.c" /* yacc.c:1646 */
12925  break;
12926 
12927  case 966:
12928 #line 7366 "parser.y" /* yacc.c:1646 */
12929  {
12931  }
12932 #line 12854 "parser.c" /* yacc.c:1646 */
12933  break;
12934 
12935  case 967:
12936 #line 7370 "parser.y" /* yacc.c:1646 */
12937  {
12939  }
12940 #line 12862 "parser.c" /* yacc.c:1646 */
12941  break;
12942 
12943  case 968:
12944 #line 7374 "parser.y" /* yacc.c:1646 */
12945  {
12946  check_attribs (NULL, NULL, NULL, NULL, NULL, (yyvsp[0]), 0);
12947  }
12948 #line 12870 "parser.c" /* yacc.c:1646 */
12949  break;
12950 
12951  case 969:
12952 #line 7378 "parser.y" /* yacc.c:1646 */
12953  {
12955  }
12956 #line 12878 "parser.c" /* yacc.c:1646 */
12957  break;
12958 
12959  case 970:
12960 #line 7382 "parser.y" /* yacc.c:1646 */
12961  {
12962  check_attribs ((yyvsp[0]), NULL, NULL, NULL, NULL, NULL, 0);
12963  }
12964 #line 12886 "parser.c" /* yacc.c:1646 */
12965  break;
12966 
12967  case 971:
12968 #line 7386 "parser.y" /* yacc.c:1646 */
12969  {
12970  check_attribs (NULL, (yyvsp[0]), NULL, NULL, NULL, NULL, 0);
12971  }
12972 #line 12894 "parser.c" /* yacc.c:1646 */
12973  break;
12974 
12975  case 972:
12976 #line 7390 "parser.y" /* yacc.c:1646 */
12977  {
12978  check_attribs (NULL, NULL, (yyvsp[0]), NULL, NULL, NULL, 0);
12979  }
12980 #line 12902 "parser.c" /* yacc.c:1646 */
12981  break;
12982 
12983  case 973:
12984 #line 7394 "parser.y" /* yacc.c:1646 */
12985  {
12987  }
12988 #line 12910 "parser.c" /* yacc.c:1646 */
12989  break;
12990 
12991  case 974:
12992 #line 7401 "parser.y" /* yacc.c:1646 */
12993  {
12994  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), DISPLAY);
12995  }
12996 #line 12918 "parser.c" /* yacc.c:1646 */
12997  break;
12998 
12999  case 975:
13000 #line 7405 "parser.y" /* yacc.c:1646 */
13001  {
13002  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), DISPLAY);
13003  }
13004 #line 12926 "parser.c" /* yacc.c:1646 */
13005  break;
13006 
13007  case 976:
13008 #line 7415 "parser.y" /* yacc.c:1646 */
13009  {
13010  begin_statement ("DIVIDE", TERM_DIVIDE);
13011  }
13012 #line 12934 "parser.c" /* yacc.c:1646 */
13013  break;
13014 
13015  case 978:
13016 #line 7424 "parser.y" /* yacc.c:1646 */
13017  {
13018  cb_emit_arithmetic ((yyvsp[-1]), '/', (yyvsp[-3]));
13019  }
13020 #line 12942 "parser.c" /* yacc.c:1646 */
13021  break;
13022 
13023  case 979:
13024 #line 7428 "parser.y" /* yacc.c:1646 */
13025  {
13026  cb_emit_arithmetic ((yyvsp[-1]), 0, cb_build_binary_op ((yyvsp[-3]), '/', (yyvsp[-5])));
13027  }
13028 #line 12950 "parser.c" /* yacc.c:1646 */
13029  break;
13030 
13031  case 980:
13032 #line 7432 "parser.y" /* yacc.c:1646 */
13033  {
13034  cb_emit_arithmetic ((yyvsp[-1]), 0, cb_build_binary_op ((yyvsp[-5]), '/', (yyvsp[-3])));
13035  }
13036 #line 12958 "parser.c" /* yacc.c:1646 */
13037  break;
13038 
13039  case 981:
13040 #line 7436 "parser.y" /* yacc.c:1646 */
13041  {
13042  cb_emit_divide ((yyvsp[-5]), (yyvsp[-7]), (yyvsp[-3]), (yyvsp[-1]));
13043  }
13044 #line 12966 "parser.c" /* yacc.c:1646 */
13045  break;
13046 
13047  case 982:
13048 #line 7440 "parser.y" /* yacc.c:1646 */
13049  {
13050  cb_emit_divide ((yyvsp[-7]), (yyvsp[-5]), (yyvsp[-3]), (yyvsp[-1]));
13051  }
13052 #line 12974 "parser.c" /* yacc.c:1646 */
13053  break;
13054 
13055  case 983:
13056 #line 7447 "parser.y" /* yacc.c:1646 */
13057  {
13058  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), DIVIDE);
13059  }
13060 #line 12982 "parser.c" /* yacc.c:1646 */
13061  break;
13062 
13063  case 984:
13064 #line 7451 "parser.y" /* yacc.c:1646 */
13065  {
13066  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), DIVIDE);
13067  }
13068 #line 12990 "parser.c" /* yacc.c:1646 */
13069  break;
13070 
13071  case 985:
13072 #line 7461 "parser.y" /* yacc.c:1646 */
13073  {
13074  check_unreached = 0;
13075  begin_statement ("ENTRY", 0);
13076  }
13077 #line 12999 "parser.c" /* yacc.c:1646 */
13078  break;
13079 
13080  case 987:
13081 #line 7470 "parser.y" /* yacc.c:1646 */
13082  {
13083  if (current_program->nested_level) {
13084  cb_error (_("%s is invalid in nested program"), "ENTRY");
13085  } else if (current_program->prog_type == CB_FUNCTION_TYPE) {
13086  cb_error (_("%s is invalid in a user FUNCTION"), "ENTRY");
13087  } else if (cb_verify (cb_entry_statement, "ENTRY")) {
13088  if (!cobc_check_valid_name ((char *)(CB_LITERAL ((yyvsp[-1]))->data), 1U)) {
13089  emit_entry ((char *)(CB_LITERAL ((yyvsp[-1]))->data), 1, (yyvsp[0]));
13090  }
13091  }
13092  }
13093 #line 13015 "parser.c" /* yacc.c:1646 */
13094  break;
13095 
13096  case 988:
13097 #line 7488 "parser.y" /* yacc.c:1646 */
13098  {
13099  begin_statement ("EVALUATE", TERM_EVALUATE);
13100  eval_level++;
13101  if (eval_level >= EVAL_DEPTH) {
13102  cb_error (_("Maximum evaluate depth exceeded (%d)"),
13103  EVAL_DEPTH);
13104  eval_level = 0;
13105  eval_inc = 0;
13106  eval_inc2 = 0;
13107  YYERROR;
13108  } else {
13109  for (eval_inc = 0; eval_inc < EVAL_DEPTH; ++eval_inc) {
13110  eval_check[eval_level][eval_inc] = NULL;
13111  }
13112  eval_inc = 0;
13113  eval_inc2 = 0;
13114  }
13115  }
13116 #line 13038 "parser.c" /* yacc.c:1646 */
13117  break;
13118 
13119  case 990:
13120 #line 7512 "parser.y" /* yacc.c:1646 */
13121  {
13122  cb_emit_evaluate ((yyvsp[-1]), (yyvsp[0]));
13123  eval_level--;
13124  }
13125 #line 13047 "parser.c" /* yacc.c:1646 */
13126  break;
13127 
13128  case 991:
13129 #line 7519 "parser.y" /* yacc.c:1646 */
13130  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
13131 #line 13053 "parser.c" /* yacc.c:1646 */
13132  break;
13133 
13134  case 992:
13135 #line 7521 "parser.y" /* yacc.c:1646 */
13136  { (yyval) = cb_list_add ((yyvsp[-2]), (yyvsp[0])); }
13137 #line 13059 "parser.c" /* yacc.c:1646 */
13138  break;
13139 
13140  case 993:
13141 #line 7526 "parser.y" /* yacc.c:1646 */
13142  {
13143  (yyval) = (yyvsp[0]);
13144  eval_check[eval_level][eval_inc++] = (yyvsp[0]);
13145  if (eval_inc >= EVAL_DEPTH) {
13146  cb_error (_("Maximum evaluate depth exceeded (%d)"),
13147  EVAL_DEPTH);
13148  eval_inc = 0;
13149  YYERROR;
13150  }
13151  }
13152 #line 13074 "parser.c" /* yacc.c:1646 */
13153  break;
13154 
13155  case 994:
13156 #line 7537 "parser.y" /* yacc.c:1646 */
13157  {
13158  (yyval) = cb_true;
13159  eval_check[eval_level][eval_inc++] = NULL;
13160  if (eval_inc >= EVAL_DEPTH) {
13161  cb_error (_("Maximum evaluate depth exceeded (%d)"),
13162  EVAL_DEPTH);
13163  eval_inc = 0;
13164  YYERROR;
13165  }
13166  }
13167 #line 13089 "parser.c" /* yacc.c:1646 */
13168  break;
13169 
13170  case 995:
13171 #line 7548 "parser.y" /* yacc.c:1646 */
13172  {
13173  (yyval) = cb_false;
13174  eval_check[eval_level][eval_inc++] = NULL;
13175  if (eval_inc >= EVAL_DEPTH) {
13176  cb_error (_("Maximum evaluate depth exceeded (%d)"),
13177  EVAL_DEPTH);
13178  eval_inc = 0;
13179  YYERROR;
13180  }
13181  }
13182 #line 13104 "parser.c" /* yacc.c:1646 */
13183  break;
13184 
13185  case 996:
13186 #line 7562 "parser.y" /* yacc.c:1646 */
13187  {
13188  (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0]));
13189  }
13190 #line 13112 "parser.c" /* yacc.c:1646 */
13191  break;
13192 
13193  case 997:
13194 #line 7566 "parser.y" /* yacc.c:1646 */
13195  {
13196  (yyval) = (yyvsp[0]);
13197  }
13198 #line 13120 "parser.c" /* yacc.c:1646 */
13199  break;
13200 
13201  case 998:
13202 #line 7572 "parser.y" /* yacc.c:1646 */
13203  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
13204 #line 13126 "parser.c" /* yacc.c:1646 */
13205  break;
13206 
13207  case 999:
13208 #line 7574 "parser.y" /* yacc.c:1646 */
13209  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
13210 #line 13132 "parser.c" /* yacc.c:1646 */
13211  break;
13212 
13213  case 1000:
13214 #line 7580 "parser.y" /* yacc.c:1646 */
13215  {
13216  (yyval) = CB_BUILD_CHAIN ((yyvsp[0]), (yyvsp[-1]));
13217  eval_inc2 = 0;
13218  }
13219 #line 13141 "parser.c" /* yacc.c:1646 */
13220  break;
13221 
13222  case 1001:
13223 #line 7589 "parser.y" /* yacc.c:1646 */
13224  {
13225  (yyval) = CB_BUILD_CHAIN ((yyvsp[0]), NULL);
13226  eval_inc2 = 0;
13227  }
13228 #line 13150 "parser.c" /* yacc.c:1646 */
13229  break;
13230 
13231  case 1002:
13232 #line 7597 "parser.y" /* yacc.c:1646 */
13233  {
13234  (yyval) = CB_LIST_INIT ((yyvsp[0]));
13235  eval_inc2 = 0;
13236  }
13237 #line 13159 "parser.c" /* yacc.c:1646 */
13238  break;
13239 
13240  case 1003:
13241 #line 7603 "parser.y" /* yacc.c:1646 */
13242  {
13243  (yyval) = cb_list_add ((yyvsp[-2]), (yyvsp[0]));
13244  eval_inc2 = 0;
13245  }
13246 #line 13168 "parser.c" /* yacc.c:1646 */
13247  break;
13248 
13249  case 1004:
13250 #line 7610 "parser.y" /* yacc.c:1646 */
13251  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
13252 #line 13174 "parser.c" /* yacc.c:1646 */
13253  break;
13254 
13255  case 1005:
13256 #line 7612 "parser.y" /* yacc.c:1646 */
13257  { (yyval) = cb_list_add ((yyvsp[-2]), (yyvsp[0])); }
13258 #line 13180 "parser.c" /* yacc.c:1646 */
13259  break;
13260 
13261  case 1006:
13262 #line 7617 "parser.y" /* yacc.c:1646 */
13263  {
13264  cb_tree not0;
13265  cb_tree e1;
13266  cb_tree e2;
13267  cb_tree x;
13268  cb_tree parm1;
13269 
13270  not0 = cb_int0;
13271  e2 = (yyvsp[0]);
13272  x = NULL;
13273  parm1 = (yyvsp[-1]);
13274  if (eval_check[eval_level][eval_inc2]) {
13275  /* Check if the first token is NOT */
13276  /* It may belong to the EVALUATE, however see */
13277  /* below when it may be part of a partial expression */
13278  if (CB_PURPOSE_INT (parm1) == '!') {
13279  /* Pop stack if subject not TRUE / FALSE */
13280  not0 = cb_int1;
13281  x = parm1;
13282  parm1 = CB_CHAIN (parm1);
13283  }
13284  /* Partial expression handling */
13285  switch (CB_PURPOSE_INT (parm1)) {
13286  /* Relational conditions */
13287  case '<':
13288  case '>':
13289  case '[':
13290  case ']':
13291  case '~':
13292  case '=':
13293  /* Class conditions */
13294  case '9':
13295  case 'A':
13296  case 'L':
13297  case 'U':
13298  case 'P':
13299  case 'N':
13300  case 'O':
13301  case 'C':
13302  if (e2) {
13303  cb_error_x (e2, _("Invalid THROUGH usage"));
13304  e2 = NULL;
13305  }
13306  not0 = CB_PURPOSE (parm1);
13307  if (x) {
13308  /* Rebind the NOT to the partial expression */
13309  parm1 = cb_build_list (cb_int ('!'), NULL, parm1);
13310  }
13311  /* Insert subject at head of list */
13312  parm1 = cb_build_list (cb_int ('x'),
13313  eval_check[eval_level][eval_inc2], parm1);
13314  break;
13315  }
13316  }
13317 
13318  /* Build expr now */
13319  e1 = cb_build_expr (parm1);
13320 
13321  eval_inc2++;
13322  (yyval) = CB_BUILD_PAIR (not0, CB_BUILD_PAIR (e1, e2));
13323  }
13324 #line 13246 "parser.c" /* yacc.c:1646 */
13325  break;
13326 
13327  case 1007:
13328 #line 7678 "parser.y" /* yacc.c:1646 */
13329  { (yyval) = cb_any; eval_inc2++; }
13330 #line 13252 "parser.c" /* yacc.c:1646 */
13331  break;
13332 
13333  case 1008:
13334 #line 7679 "parser.y" /* yacc.c:1646 */
13335  { (yyval) = cb_true; eval_inc2++; }
13336 #line 13258 "parser.c" /* yacc.c:1646 */
13337  break;
13338 
13339  case 1009:
13340 #line 7680 "parser.y" /* yacc.c:1646 */
13341  { (yyval) = cb_false; eval_inc2++; }
13342 #line 13264 "parser.c" /* yacc.c:1646 */
13343  break;
13344 
13345  case 1010:
13346 #line 7684 "parser.y" /* yacc.c:1646 */
13347  { (yyval) = NULL; }
13348 #line 13270 "parser.c" /* yacc.c:1646 */
13349  break;
13350 
13351  case 1011:
13352 #line 7685 "parser.y" /* yacc.c:1646 */
13353  { (yyval) = (yyvsp[0]); }
13354 #line 13276 "parser.c" /* yacc.c:1646 */
13355  break;
13356 
13357  case 1012:
13358 #line 7690 "parser.y" /* yacc.c:1646 */
13359  {
13360  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), EVALUATE);
13361  }
13362 #line 13284 "parser.c" /* yacc.c:1646 */
13363  break;
13364 
13365  case 1013:
13366 #line 7694 "parser.y" /* yacc.c:1646 */
13367  {
13368  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), EVALUATE);
13369  }
13370 #line 13292 "parser.c" /* yacc.c:1646 */
13371  break;
13372 
13373  case 1014:
13374 #line 7704 "parser.y" /* yacc.c:1646 */
13375  {
13376  begin_statement ("EXIT", 0);
13378  }
13379 #line 13301 "parser.c" /* yacc.c:1646 */
13380  break;
13381 
13382  case 1015:
13383 #line 7709 "parser.y" /* yacc.c:1646 */
13384  {
13385  cobc_cs_check = 0;
13386  }
13387 #line 13309 "parser.c" /* yacc.c:1646 */
13388  break;
13389 
13390  case 1017:
13391 #line 7717 "parser.y" /* yacc.c:1646 */
13392  {
13394  cb_error_x (CB_TREE (current_statement),
13395  _("EXIT PROGRAM is not allowed within a USE GLOBAL procedure"));
13396  }
13397  if (current_program->prog_type != CB_PROGRAM_TYPE) {
13398  cb_error_x (CB_TREE (current_statement),
13399  _("EXIT PROGRAM only allowed within a PROGRAM type"));
13400  }
13401  if (current_program->flag_main) {
13402  check_unreached = 0;
13403  } else {
13404  check_unreached = 1;
13405  }
13406  if ((yyvsp[0]) != NULL) {
13407  cb_emit_move ((yyvsp[0]), CB_LIST_INIT (current_program->cb_return_code));
13408  }
13409  current_statement->name = (const char *)"EXIT PROGRAM";
13410  cb_emit_exit (0);
13411  }
13412 #line 13334 "parser.c" /* yacc.c:1646 */
13413  break;
13414 
13415  case 1018:
13416 #line 7738 "parser.y" /* yacc.c:1646 */
13417  {
13419  cb_error_x (CB_TREE (current_statement),
13420  _("EXIT FUNCTION is not allowed within a USE GLOBAL procedure"));
13421  }
13422  if (current_program->prog_type != CB_FUNCTION_TYPE) {
13423  cb_error_x (CB_TREE (current_statement),
13424  _("EXIT FUNCTION only allowed within a FUNCTION type"));
13425  }
13426  check_unreached = 1;
13427  current_statement->name = (const char *)"EXIT FUNCTION";
13428  cb_emit_exit (0);
13429  }
13430 #line 13352 "parser.c" /* yacc.c:1646 */
13431  break;
13432 
13433  case 1019:
13434 #line 7752 "parser.y" /* yacc.c:1646 */
13435  {
13436  struct cb_perform *p;
13437  cb_tree plabel;
13438  char name[64];
13439 
13440  if (!perform_stack) {
13441  cb_error_x (CB_TREE (current_statement),
13442  _("EXIT PERFORM is only valid with inline PERFORM"));
13443  } else if (CB_VALUE (perform_stack) != cb_error_node) {
13444  p = CB_PERFORM (CB_VALUE (perform_stack));
13445  if (!p->cycle_label) {
13446  sprintf (name, "EXIT PERFORM CYCLE %d", cb_id);
13447  p->cycle_label = cb_build_reference (name);
13448  plabel = cb_build_label (p->cycle_label, NULL);
13449  CB_LABEL (plabel)->flag_begin = 1;
13450  CB_LABEL (plabel)->flag_dummy_exit = 1;
13451  }
13452  current_statement->name = (const char *)"EXIT PERFORM CYCLE";
13454  }
13455  }
13456 #line 13378 "parser.c" /* yacc.c:1646 */
13457  break;
13458 
13459  case 1020:
13460 #line 7774 "parser.y" /* yacc.c:1646 */
13461  {
13462  struct cb_perform *p;
13463  cb_tree plabel;
13464  char name[64];
13465 
13466  if (!perform_stack) {
13467  cb_error_x (CB_TREE (current_statement),
13468  _("EXIT PERFORM is only valid with inline PERFORM"));
13469  } else if (CB_VALUE (perform_stack) != cb_error_node) {
13470  p = CB_PERFORM (CB_VALUE (perform_stack));
13471  if (!p->exit_label) {
13472  sprintf (name, "EXIT PERFORM %d", cb_id);
13473  p->exit_label = cb_build_reference (name);
13474  plabel = cb_build_label (p->exit_label, NULL);
13475  CB_LABEL (plabel)->flag_begin = 1;
13476  CB_LABEL (plabel)->flag_dummy_exit = 1;
13477  }
13478  current_statement->name = (const char *)"EXIT PERFORM";
13480  }
13481  }
13482 #line 13404 "parser.c" /* yacc.c:1646 */
13483  break;
13484 
13485  case 1021:
13486 #line 7796 "parser.y" /* yacc.c:1646 */
13487  {
13488  cb_tree plabel;
13489  char name[64];
13490 
13491  if (!current_section) {
13492  cb_error_x (CB_TREE (current_statement),
13493  _("EXIT SECTION is only valid with an active SECTION"));
13494  } else {
13495  if (!current_section->exit_label) {
13496  sprintf (name, "EXIT SECTION %d", cb_id);
13497  current_section->exit_label = cb_build_reference (name);
13498  plabel = cb_build_label (current_section->exit_label, NULL);
13499  CB_LABEL (plabel)->flag_begin = 1;
13500  CB_LABEL (plabel)->flag_dummy_exit = 1;
13501  }
13502  current_statement->name = (const char *)"EXIT SECTION";
13503  cb_emit_goto (CB_LIST_INIT (current_section->exit_label), NULL);
13504  }
13505  }
13506 #line 13428 "parser.c" /* yacc.c:1646 */
13507  break;
13508 
13509  case 1022:
13510 #line 7816 "parser.y" /* yacc.c:1646 */
13511  {
13512  cb_tree plabel;
13513  char name[64];
13514 
13515  if (!current_paragraph) {
13516  cb_error_x (CB_TREE (current_statement),
13517  _("EXIT PARAGRAPH is only valid with an active PARAGRAPH"));
13518  } else {
13519  if (!current_paragraph->exit_label) {
13520  sprintf (name, "EXIT PARAGRAPH %d", cb_id);
13521  current_paragraph->exit_label = cb_build_reference (name);
13522  plabel = cb_build_label (current_paragraph->exit_label, NULL);
13523  CB_LABEL (plabel)->flag_begin = 1;
13524  CB_LABEL (plabel)->flag_dummy_exit = 1;
13525  }
13526  current_statement->name = (const char *)"EXIT PARAGRAPH";
13527  cb_emit_goto (CB_LIST_INIT (current_paragraph->exit_label), NULL);
13528  }
13529  }
13530 #line 13452 "parser.c" /* yacc.c:1646 */
13531  break;
13532 
13533  case 1023:
13534 #line 7838 "parser.y" /* yacc.c:1646 */
13535  { (yyval) = NULL; }
13536 #line 13458 "parser.c" /* yacc.c:1646 */
13537  break;
13538 
13539  case 1024:
13540 #line 7839 "parser.y" /* yacc.c:1646 */
13541  { (yyval) = (yyvsp[0]); }
13542 #line 13464 "parser.c" /* yacc.c:1646 */
13543  break;
13544 
13545  case 1025:
13546 #line 7847 "parser.y" /* yacc.c:1646 */
13547  {
13548  begin_statement ("FREE", 0);
13549  current_statement->flag_no_based = 1;
13550  }
13551 #line 13473 "parser.c" /* yacc.c:1646 */
13552  break;
13553 
13554  case 1027:
13555 #line 7856 "parser.y" /* yacc.c:1646 */
13556  {
13557  cb_emit_free ((yyvsp[0]));
13558  }
13559 #line 13481 "parser.c" /* yacc.c:1646 */
13560  break;
13561 
13562  case 1028:
13563 #line 7866 "parser.y" /* yacc.c:1646 */
13564  {
13565  begin_statement ("GENERATE", 0);
13566  PENDING("GENERATE");
13567  }
13568 #line 13490 "parser.c" /* yacc.c:1646 */
13569  break;
13570 
13571  case 1031:
13572 #line 7882 "parser.y" /* yacc.c:1646 */
13573  {
13574  if (!current_paragraph->flag_statement) {
13575  current_paragraph->flag_first_is_goto = 1;
13576  }
13577  begin_statement ("GO TO", 0);
13579  start_debug = 0;
13580  }
13581 #line 13503 "parser.c" /* yacc.c:1646 */
13582  break;
13583 
13584  case 1033:
13585 #line 7895 "parser.y" /* yacc.c:1646 */
13586  {
13587  cb_emit_goto ((yyvsp[-1]), (yyvsp[0]));
13589  }
13590 #line 13512 "parser.c" /* yacc.c:1646 */
13591  break;
13592 
13593  case 1034:
13594 #line 7903 "parser.y" /* yacc.c:1646 */
13595  {
13596  check_unreached = 1;
13597  (yyval) = NULL;
13598  }
13599 #line 13521 "parser.c" /* yacc.c:1646 */
13600  break;
13601 
13602  case 1035:
13603 #line 7908 "parser.y" /* yacc.c:1646 */
13604  {
13605  check_unreached = 0;
13606  (yyval) = (yyvsp[0]);
13607  }
13608 #line 13530 "parser.c" /* yacc.c:1646 */
13609  break;
13610 
13611  case 1036:
13612 #line 7919 "parser.y" /* yacc.c:1646 */
13613  {
13614  begin_statement ("GOBACK", 0);
13615  check_unreached = 1;
13616  if ((yyvsp[0]) != NULL) {
13617  cb_emit_move ((yyvsp[0]), CB_LIST_INIT (current_program->cb_return_code));
13618  }
13619  cb_emit_exit (1U);
13620  }
13621 #line 13543 "parser.c" /* yacc.c:1646 */
13622  break;
13623 
13624  case 1037:
13625 #line 7934 "parser.y" /* yacc.c:1646 */
13626  {
13627  begin_statement ("IF", TERM_IF);
13628  }
13629 #line 13551 "parser.c" /* yacc.c:1646 */
13630  break;
13631 
13632  case 1039:
13633 #line 7943 "parser.y" /* yacc.c:1646 */
13634  {
13635  cb_emit_if ((yyvsp[(-1) - (3)]), (yyvsp[-2]), (yyvsp[0]));
13636  }
13637 #line 13559 "parser.c" /* yacc.c:1646 */
13638  break;
13639 
13640  case 1040:
13641 #line 7947 "parser.y" /* yacc.c:1646 */
13642  {
13643  cb_emit_if ((yyvsp[(-1) - (2)]), NULL, (yyvsp[0]));
13644  }
13645 #line 13567 "parser.c" /* yacc.c:1646 */
13646  break;
13647 
13648  case 1041:
13649 #line 7951 "parser.y" /* yacc.c:1646 */
13650  {
13651  cb_emit_if ((yyvsp[(-1) - (1)]), (yyvsp[0]), NULL);
13652  }
13653 #line 13575 "parser.c" /* yacc.c:1646 */
13654  break;
13655 
13656  case 1042:
13657 #line 7958 "parser.y" /* yacc.c:1646 */
13658  {
13659  TERMINATOR_WARNING ((yyvsp[(-4) - (0)]), IF);
13660  }
13661 #line 13583 "parser.c" /* yacc.c:1646 */
13662  break;
13663 
13664  case 1043:
13665 #line 7962 "parser.y" /* yacc.c:1646 */
13666  {
13667  TERMINATOR_CLEAR ((yyvsp[(-4) - (1)]), IF);
13668  }
13669 #line 13591 "parser.c" /* yacc.c:1646 */
13670  break;
13671 
13672  case 1044:
13673 #line 7972 "parser.y" /* yacc.c:1646 */
13674  {
13675  begin_statement ("INITIALIZE", 0);
13676  }
13677 #line 13599 "parser.c" /* yacc.c:1646 */
13678  break;
13679 
13680  case 1046:
13681 #line 7981 "parser.y" /* yacc.c:1646 */
13682  {
13683  cb_emit_initialize ((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]));
13684  }
13685 #line 13607 "parser.c" /* yacc.c:1646 */
13686  break;
13687 
13688  case 1047:
13689 #line 7987 "parser.y" /* yacc.c:1646 */
13690  { (yyval) = NULL; }
13691 #line 13613 "parser.c" /* yacc.c:1646 */
13692  break;
13693 
13694  case 1048:
13695 #line 7988 "parser.y" /* yacc.c:1646 */
13696  { (yyval) = cb_true; }
13697 #line 13619 "parser.c" /* yacc.c:1646 */
13698  break;
13699 
13700  case 1049:
13701 #line 7992 "parser.y" /* yacc.c:1646 */
13702  { (yyval) = NULL; }
13703 #line 13625 "parser.c" /* yacc.c:1646 */
13704  break;
13705 
13706  case 1050:
13707 #line 7993 "parser.y" /* yacc.c:1646 */
13708  { (yyval) = cb_true; }
13709 #line 13631 "parser.c" /* yacc.c:1646 */
13710  break;
13711 
13712  case 1051:
13713 #line 7994 "parser.y" /* yacc.c:1646 */
13714  { (yyval) = (yyvsp[-2]); }
13715 #line 13637 "parser.c" /* yacc.c:1646 */
13716  break;
13717 
13718  case 1052:
13719 #line 7999 "parser.y" /* yacc.c:1646 */
13720  {
13721  (yyval) = NULL;
13722  }
13723 #line 13645 "parser.c" /* yacc.c:1646 */
13724  break;
13725 
13726  case 1053:
13727 #line 8003 "parser.y" /* yacc.c:1646 */
13728  {
13729  (yyval) = (yyvsp[0]);
13730  }
13731 #line 13653 "parser.c" /* yacc.c:1646 */
13732  break;
13733 
13734  case 1054:
13735 #line 8010 "parser.y" /* yacc.c:1646 */
13736  {
13737  (yyval) = (yyvsp[0]);
13738  }
13739 #line 13661 "parser.c" /* yacc.c:1646 */
13740  break;
13741 
13742  case 1055:
13743 #line 8015 "parser.y" /* yacc.c:1646 */
13744  {
13745  (yyval) = cb_list_append ((yyvsp[-1]), (yyvsp[0]));
13746  }
13747 #line 13669 "parser.c" /* yacc.c:1646 */
13748  break;
13749 
13750  case 1056:
13751 #line 8022 "parser.y" /* yacc.c:1646 */
13752  {
13753  (yyval) = CB_BUILD_PAIR ((yyvsp[-3]), (yyvsp[0]));
13754  }
13755 #line 13677 "parser.c" /* yacc.c:1646 */
13756  break;
13757 
13758  case 1057:
13759 #line 8028 "parser.y" /* yacc.c:1646 */
13760  { (yyval) = cb_int (CB_CATEGORY_ALPHABETIC); }
13761 #line 13683 "parser.c" /* yacc.c:1646 */
13762  break;
13763 
13764  case 1058:
13765 #line 8029 "parser.y" /* yacc.c:1646 */
13766  { (yyval) = cb_int (CB_CATEGORY_ALPHANUMERIC); }
13767 #line 13689 "parser.c" /* yacc.c:1646 */
13768  break;
13769 
13770  case 1059:
13771 #line 8030 "parser.y" /* yacc.c:1646 */
13772  { (yyval) = cb_int (CB_CATEGORY_NUMERIC); }
13773 #line 13695 "parser.c" /* yacc.c:1646 */
13774  break;
13775 
13776  case 1060:
13777 #line 8031 "parser.y" /* yacc.c:1646 */
13778  { (yyval) = cb_int (CB_CATEGORY_ALPHANUMERIC_EDITED); }
13779 #line 13701 "parser.c" /* yacc.c:1646 */
13780  break;
13781 
13782  case 1061:
13783 #line 8032 "parser.y" /* yacc.c:1646 */
13784  { (yyval) = cb_int (CB_CATEGORY_NUMERIC_EDITED); }
13785 #line 13707 "parser.c" /* yacc.c:1646 */
13786  break;
13787 
13788  case 1062:
13789 #line 8033 "parser.y" /* yacc.c:1646 */
13790  { (yyval) = cb_int (CB_CATEGORY_NATIONAL); }
13791 #line 13713 "parser.c" /* yacc.c:1646 */
13792  break;
13793 
13794  case 1063:
13795 #line 8034 "parser.y" /* yacc.c:1646 */
13796  { (yyval) = cb_int (CB_CATEGORY_NATIONAL_EDITED); }
13797 #line 13719 "parser.c" /* yacc.c:1646 */
13798  break;
13799 
13800  case 1064:
13801 #line 8039 "parser.y" /* yacc.c:1646 */
13802  {
13803  (yyval) = NULL;
13804  }
13805 #line 13727 "parser.c" /* yacc.c:1646 */
13806  break;
13807 
13808  case 1065:
13809 #line 8043 "parser.y" /* yacc.c:1646 */
13810  {
13811  (yyval) = cb_true;
13812  }
13813 #line 13735 "parser.c" /* yacc.c:1646 */
13814  break;
13815 
13816  case 1066:
13817 #line 8052 "parser.y" /* yacc.c:1646 */
13818  {
13819  begin_statement ("INITIATE", 0);
13820  PENDING("INITIATE");
13821  }
13822 #line 13744 "parser.c" /* yacc.c:1646 */
13823  break;
13824 
13825  case 1068:
13826 #line 8061 "parser.y" /* yacc.c:1646 */
13827  {
13829  if ((yyvsp[0]) != cb_error_node) {
13830  }
13831  }
13832 #line 13754 "parser.c" /* yacc.c:1646 */
13833  break;
13834 
13835  case 1069:
13836 #line 8067 "parser.y" /* yacc.c:1646 */
13837  {
13839  if ((yyvsp[0]) != cb_error_node) {
13840  }
13841  }
13842 #line 13764 "parser.c" /* yacc.c:1646 */
13843  break;
13844 
13845  case 1070:
13846 #line 8078 "parser.y" /* yacc.c:1646 */
13847  {
13848  begin_statement ("INSPECT", 0);
13849  inspect_keyword = 0;
13850  }
13851 #line 13773 "parser.c" /* yacc.c:1646 */
13852  break;
13853 
13854  case 1073:
13855 #line 8091 "parser.y" /* yacc.c:1646 */
13856  {
13857  (yyval) = (yyvsp[0]);
13858  }
13859 #line 13781 "parser.c" /* yacc.c:1646 */
13860  break;
13861 
13862  case 1074:
13863 #line 8095 "parser.y" /* yacc.c:1646 */
13864  {
13865  (yyval) = (yyvsp[0]);
13866  }
13867 #line 13789 "parser.c" /* yacc.c:1646 */
13868  break;
13869 
13870  case 1075:
13871 #line 8099 "parser.y" /* yacc.c:1646 */
13872  {
13873  (yyval) = (yyvsp[0]);
13874  }
13875 #line 13797 "parser.c" /* yacc.c:1646 */
13876  break;
13877 
13878  case 1080:
13879 #line 8115 "parser.y" /* yacc.c:1646 */
13880  {
13881  cb_init_tallying ();
13882  }
13883 #line 13805 "parser.c" /* yacc.c:1646 */
13884  break;
13885 
13886  case 1081:
13887 #line 8119 "parser.y" /* yacc.c:1646 */
13888  {
13889  cb_emit_inspect ((yyvsp[-3]), (yyvsp[0]), cb_int0, 0);
13890  (yyval) = (yyvsp[-3]);
13891  }
13892 #line 13814 "parser.c" /* yacc.c:1646 */
13893  break;
13894 
13895  case 1082:
13896 #line 8129 "parser.y" /* yacc.c:1646 */
13897  {
13898  cb_emit_inspect ((yyvsp[-2]), (yyvsp[0]), cb_int1, 1);
13899  inspect_keyword = 0;
13900  }
13901 #line 13823 "parser.c" /* yacc.c:1646 */
13902  break;
13903 
13904  case 1083:
13905 #line 8139 "parser.y" /* yacc.c:1646 */
13906  {
13907  cb_tree x;
13908  x = cb_build_converting ((yyvsp[-3]), (yyvsp[-1]), (yyvsp[0]));
13909  cb_emit_inspect ((yyvsp[-5]), x, cb_int0, 2);
13910  }
13911 #line 13833 "parser.c" /* yacc.c:1646 */
13912  break;
13913 
13914  case 1084:
13915 #line 8147 "parser.y" /* yacc.c:1646 */
13916  { (yyval) = (yyvsp[0]); }
13917 #line 13839 "parser.c" /* yacc.c:1646 */
13918  break;
13919 
13920  case 1085:
13921 #line 8148 "parser.y" /* yacc.c:1646 */
13922  { (yyval) = cb_list_append ((yyvsp[-1]), (yyvsp[0])); }
13923 #line 13845 "parser.c" /* yacc.c:1646 */
13924  break;
13925 
13926  case 1086:
13927 #line 8152 "parser.y" /* yacc.c:1646 */
13928  { (yyval) = cb_build_tallying_data ((yyvsp[-1])); }
13929 #line 13851 "parser.c" /* yacc.c:1646 */
13930  break;
13931 
13932  case 1087:
13933 #line 8153 "parser.y" /* yacc.c:1646 */
13934  { (yyval) = cb_build_tallying_characters ((yyvsp[0])); }
13935 #line 13857 "parser.c" /* yacc.c:1646 */
13936  break;
13937 
13938  case 1088:
13939 #line 8154 "parser.y" /* yacc.c:1646 */
13940  { (yyval) = cb_build_tallying_all (); }
13941 #line 13863 "parser.c" /* yacc.c:1646 */
13942  break;
13943 
13944  case 1089:
13945 #line 8155 "parser.y" /* yacc.c:1646 */
13946  { (yyval) = cb_build_tallying_leading (); }
13947 #line 13869 "parser.c" /* yacc.c:1646 */
13948  break;
13949 
13950  case 1090:
13951 #line 8156 "parser.y" /* yacc.c:1646 */
13952  { (yyval) = cb_build_tallying_trailing (); }
13953 #line 13875 "parser.c" /* yacc.c:1646 */
13954  break;
13955 
13956  case 1091:
13957 #line 8157 "parser.y" /* yacc.c:1646 */
13958  { (yyval) = cb_build_tallying_value ((yyvsp[-1]), (yyvsp[0])); }
13959 #line 13881 "parser.c" /* yacc.c:1646 */
13960  break;
13961 
13962  case 1092:
13963 #line 8161 "parser.y" /* yacc.c:1646 */
13964  { (yyval) = (yyvsp[0]); }
13965 #line 13887 "parser.c" /* yacc.c:1646 */
13966  break;
13967 
13968  case 1093:
13969 #line 8162 "parser.y" /* yacc.c:1646 */
13970  { (yyval) = cb_list_append ((yyvsp[-1]), (yyvsp[0])); }
13971 #line 13893 "parser.c" /* yacc.c:1646 */
13972  break;
13973 
13974  case 1094:
13975 #line 8167 "parser.y" /* yacc.c:1646 */
13976  {
13977  (yyval) = cb_build_replacing_characters ((yyvsp[-1]), (yyvsp[0]));
13978  inspect_keyword = 0;
13979  }
13980 #line 13902 "parser.c" /* yacc.c:1646 */
13981  break;
13982 
13983  case 1095:
13984 #line 8172 "parser.y" /* yacc.c:1646 */
13985  {
13986  (yyval) = (yyvsp[0]);
13987  }
13988 #line 13910 "parser.c" /* yacc.c:1646 */
13989  break;
13990 
13991  case 1096:
13992 #line 8178 "parser.y" /* yacc.c:1646 */
13993  { /* Nothing */ }
13994 #line 13916 "parser.c" /* yacc.c:1646 */
13995  break;
13996 
13997  case 1097:
13998 #line 8179 "parser.y" /* yacc.c:1646 */
13999  { inspect_keyword = 1; }
14000 #line 13922 "parser.c" /* yacc.c:1646 */
14001  break;
14002 
14003  case 1098:
14004 #line 8180 "parser.y" /* yacc.c:1646 */
14005  { inspect_keyword = 2; }
14006 #line 13928 "parser.c" /* yacc.c:1646 */
14007  break;
14008 
14009  case 1099:
14010 #line 8181 "parser.y" /* yacc.c:1646 */
14011  { inspect_keyword = 3; }
14012 #line 13934 "parser.c" /* yacc.c:1646 */
14013  break;
14014 
14015  case 1100:
14016 #line 8182 "parser.y" /* yacc.c:1646 */
14017  { inspect_keyword = 4; }
14018 #line 13940 "parser.c" /* yacc.c:1646 */
14019  break;
14020 
14021  case 1101:
14022 #line 8187 "parser.y" /* yacc.c:1646 */
14023  {
14024  switch (inspect_keyword) {
14025  case 1:
14026  (yyval) = cb_build_replacing_all ((yyvsp[-3]), (yyvsp[-1]), (yyvsp[0]));
14027  break;
14028  case 2:
14029  (yyval) = cb_build_replacing_leading ((yyvsp[-3]), (yyvsp[-1]), (yyvsp[0]));
14030  break;
14031  case 3:
14032  (yyval) = cb_build_replacing_first ((yyvsp[-3]), (yyvsp[-1]), (yyvsp[0]));
14033  break;
14034  case 4:
14035  (yyval) = cb_build_replacing_trailing ((yyvsp[-3]), (yyvsp[-1]), (yyvsp[0]));
14036  break;
14037  default:
14038  cb_error_x (CB_TREE (current_statement),
14039  _("INSPECT missing a keyword"));
14040  (yyval) = cb_build_replacing_all ((yyvsp[-3]), (yyvsp[-1]), (yyvsp[0]));
14041  break;
14042  }
14043  }
14044 #line 13966 "parser.c" /* yacc.c:1646 */
14045  break;
14046 
14047  case 1102:
14048 #line 8214 "parser.y" /* yacc.c:1646 */
14049  {
14050  (yyval) = cb_build_inspect_region_start ();
14051  }
14052 #line 13974 "parser.c" /* yacc.c:1646 */
14053  break;
14054 
14055  case 1103:
14056 #line 8218 "parser.y" /* yacc.c:1646 */
14057  {
14058  (yyval) = (yyvsp[0]);
14059  }
14060 #line 13982 "parser.c" /* yacc.c:1646 */
14061  break;
14062 
14063  case 1104:
14064 #line 8225 "parser.y" /* yacc.c:1646 */
14065  {
14066  (yyval) = cb_list_add ((yyvsp[-3]), CB_BUILD_FUNCALL_1 ("cob_inspect_before", (yyvsp[0])));
14067  }
14068 #line 13990 "parser.c" /* yacc.c:1646 */
14069  break;
14070 
14071  case 1105:
14072 #line 8229 "parser.y" /* yacc.c:1646 */
14073  {
14074  (yyval) = cb_list_add ((yyvsp[-3]), CB_BUILD_FUNCALL_1 ("cob_inspect_after", (yyvsp[0])));
14075  }
14076 #line 13998 "parser.c" /* yacc.c:1646 */
14077  break;
14078 
14079  case 1106:
14080 #line 8238 "parser.y" /* yacc.c:1646 */
14081  {
14082  begin_statement ("MERGE", 0);
14083  current_statement->flag_merge = 1;
14084  }
14085 #line 14007 "parser.c" /* yacc.c:1646 */
14086  break;
14087 
14088  case 1108:
14089 #line 8250 "parser.y" /* yacc.c:1646 */
14090  {
14091  begin_statement ("MOVE", 0);
14092  }
14093 #line 14015 "parser.c" /* yacc.c:1646 */
14094  break;
14095 
14096  case 1110:
14097 #line 8258 "parser.y" /* yacc.c:1646 */
14098  {
14099  cb_emit_move ((yyvsp[-2]), (yyvsp[0]));
14100  }
14101 #line 14023 "parser.c" /* yacc.c:1646 */
14102  break;
14103 
14104  case 1111:
14105 #line 8262 "parser.y" /* yacc.c:1646 */
14106  {
14107  cb_emit_move_corresponding ((yyvsp[-2]), (yyvsp[0]));
14108  }
14109 #line 14031 "parser.c" /* yacc.c:1646 */
14110  break;
14111 
14112  case 1112:
14113 #line 8272 "parser.y" /* yacc.c:1646 */
14114  {
14115  begin_statement ("MULTIPLY", TERM_MULTIPLY);
14116  }
14117 #line 14039 "parser.c" /* yacc.c:1646 */
14118  break;
14119 
14120  case 1114:
14121 #line 8281 "parser.y" /* yacc.c:1646 */
14122  {
14123  cb_emit_arithmetic ((yyvsp[-1]), '*', (yyvsp[-3]));
14124  }
14125 #line 14047 "parser.c" /* yacc.c:1646 */
14126  break;
14127 
14128  case 1115:
14129 #line 8285 "parser.y" /* yacc.c:1646 */
14130  {
14131  cb_emit_arithmetic ((yyvsp[-1]), 0, cb_build_binary_op ((yyvsp[-5]), '*', (yyvsp[-3])));
14132  }
14133 #line 14055 "parser.c" /* yacc.c:1646 */
14134  break;
14135 
14136  case 1116:
14137 #line 8292 "parser.y" /* yacc.c:1646 */
14138  {
14139  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), MULTIPLY);
14140  }
14141 #line 14063 "parser.c" /* yacc.c:1646 */
14142  break;
14143 
14144  case 1117:
14145 #line 8296 "parser.y" /* yacc.c:1646 */
14146  {
14147  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), MULTIPLY);
14148  }
14149 #line 14071 "parser.c" /* yacc.c:1646 */
14150  break;
14151 
14152  case 1118:
14153 #line 8306 "parser.y" /* yacc.c:1646 */
14154  {
14155  begin_statement ("OPEN", 0);
14156  }
14157 #line 14079 "parser.c" /* yacc.c:1646 */
14158  break;
14159 
14160  case 1120:
14161 #line 8314 "parser.y" /* yacc.c:1646 */
14162  {
14163  cb_tree l;
14164  cb_tree x;
14165 
14166  if ((yyvsp[-2]) && (yyvsp[0])) {
14167  cb_error_x (CB_TREE (current_statement),
14168  _("%s and %s are mutually exclusive"), "SHARING", "LOCK clauses");
14169  }
14170  if ((yyvsp[0])) {
14171  x = (yyvsp[0]);
14172  } else {
14173  x = (yyvsp[-2]);
14174  }
14175  for (l = (yyvsp[-1]); l; l = CB_CHAIN (l)) {
14176  if (CB_VALID_TREE (CB_VALUE (l))) {
14178  cb_emit_open (CB_VALUE (l), (yyvsp[-3]), x);
14179  }
14180  }
14181  }
14182 #line 14104 "parser.c" /* yacc.c:1646 */
14183  break;
14184 
14185  case 1121:
14186 #line 8335 "parser.y" /* yacc.c:1646 */
14187  {
14188  cb_tree l;
14189  cb_tree x;
14190 
14191  if ((yyvsp[-2]) && (yyvsp[0])) {
14192  cb_error_x (CB_TREE (current_statement),
14193  _("%s and %s are mutually exclusive"), "SHARING", "LOCK clauses");
14194  }
14195  if ((yyvsp[0])) {
14196  x = (yyvsp[0]);
14197  } else {
14198  x = (yyvsp[-2]);
14199  }
14200  for (l = (yyvsp[-1]); l; l = CB_CHAIN (l)) {
14201  if (CB_VALID_TREE (CB_VALUE (l))) {
14203  cb_emit_open (CB_VALUE (l), (yyvsp[-3]), x);
14204  }
14205  }
14206  }
14207 #line 14129 "parser.c" /* yacc.c:1646 */
14208  break;
14209 
14210  case 1122:
14211 #line 8358 "parser.y" /* yacc.c:1646 */
14212  { (yyval) = cb_int (COB_OPEN_INPUT); }
14213 #line 14135 "parser.c" /* yacc.c:1646 */
14214  break;
14215 
14216  case 1123:
14217 #line 8359 "parser.y" /* yacc.c:1646 */
14218  { (yyval) = cb_int (COB_OPEN_OUTPUT); }
14219 #line 14141 "parser.c" /* yacc.c:1646 */
14220  break;
14221 
14222  case 1124:
14223 #line 8360 "parser.y" /* yacc.c:1646 */
14224  { (yyval) = cb_int (COB_OPEN_I_O); }
14225 #line 14147 "parser.c" /* yacc.c:1646 */
14226  break;
14227 
14228  case 1125:
14229 #line 8361 "parser.y" /* yacc.c:1646 */
14230  { (yyval) = cb_int (COB_OPEN_EXTEND); }
14231 #line 14153 "parser.c" /* yacc.c:1646 */
14232  break;
14233 
14234  case 1126:
14235 #line 8365 "parser.y" /* yacc.c:1646 */
14236  { (yyval) = NULL; }
14237 #line 14159 "parser.c" /* yacc.c:1646 */
14238  break;
14239 
14240  case 1127:
14241 #line 8366 "parser.y" /* yacc.c:1646 */
14242  { (yyval) = (yyvsp[0]); }
14243 #line 14165 "parser.c" /* yacc.c:1646 */
14244  break;
14245 
14246  case 1128:
14247 #line 8370 "parser.y" /* yacc.c:1646 */
14248  { (yyval) = NULL; }
14249 #line 14171 "parser.c" /* yacc.c:1646 */
14250  break;
14251 
14252  case 1129:
14253 #line 8371 "parser.y" /* yacc.c:1646 */
14254  { (yyval) = NULL; }
14255 #line 14177 "parser.c" /* yacc.c:1646 */
14256  break;
14257 
14258  case 1130:
14259 #line 8372 "parser.y" /* yacc.c:1646 */
14260  { (yyval) = cb_int (COB_LOCK_OPEN_EXCLUSIVE); }
14261 #line 14183 "parser.c" /* yacc.c:1646 */
14262  break;
14263 
14264  case 1131:
14265 #line 8374 "parser.y" /* yacc.c:1646 */
14266  {
14267  (void)cb_verify (CB_OBSOLETE, "REVERSED");
14268  (yyval) = NULL;
14269  }
14270 #line 14192 "parser.c" /* yacc.c:1646 */
14271  break;
14272 
14273  case 1132:
14274 #line 8385 "parser.y" /* yacc.c:1646 */
14275  {
14276  begin_statement ("PERFORM", TERM_PERFORM);
14277  /* Turn off field debug - PERFORM is special */
14279  start_debug = 0;
14280  }
14281 #line 14203 "parser.c" /* yacc.c:1646 */
14282  break;
14283 
14284  case 1134:
14285 #line 8396 "parser.y" /* yacc.c:1646 */
14286  {
14287  cb_emit_perform ((yyvsp[0]), (yyvsp[-1]));
14289  }
14290 #line 14212 "parser.c" /* yacc.c:1646 */
14291  break;
14292 
14293  case 1135:
14294 #line 8401 "parser.y" /* yacc.c:1646 */
14295  {
14296  CB_ADD_TO_CHAIN ((yyvsp[0]), perform_stack);
14297  /* Restore field debug before inline statements */
14299  }
14300 #line 14222 "parser.c" /* yacc.c:1646 */
14301  break;
14302 
14303  case 1136:
14304 #line 8407 "parser.y" /* yacc.c:1646 */
14305  {
14306  perform_stack = CB_CHAIN (perform_stack);
14307  cb_emit_perform ((yyvsp[-3]), (yyvsp[-1]));
14308  }
14309 #line 14231 "parser.c" /* yacc.c:1646 */
14310  break;
14311 
14312  case 1137:
14313 #line 8412 "parser.y" /* yacc.c:1646 */
14314  {
14315  cb_emit_perform ((yyvsp[-1]), NULL);
14317  }
14318 #line 14240 "parser.c" /* yacc.c:1646 */
14319  break;
14320 
14321  case 1138:
14322 #line 8420 "parser.y" /* yacc.c:1646 */
14323  {
14324  if (cb_relaxed_syntax_check) {
14325  TERMINATOR_WARNING ((yyvsp[(-4) - (0)]), PERFORM);
14326  } else {
14327  TERMINATOR_ERROR ((yyvsp[(-4) - (0)]), PERFORM);
14328  }
14329  }
14330 #line 14252 "parser.c" /* yacc.c:1646 */
14331  break;
14332 
14333  case 1139:
14334 #line 8428 "parser.y" /* yacc.c:1646 */
14335  {
14336  TERMINATOR_CLEAR ((yyvsp[(-4) - (1)]), PERFORM);
14337  }
14338 #line 14260 "parser.c" /* yacc.c:1646 */
14339  break;
14340 
14341  case 1140:
14342 #line 8435 "parser.y" /* yacc.c:1646 */
14343  {
14344  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), PERFORM);
14345  }
14346 #line 14268 "parser.c" /* yacc.c:1646 */
14347  break;
14348 
14349  case 1141:
14350 #line 8439 "parser.y" /* yacc.c:1646 */
14351  {
14352  if (cb_relaxed_syntax_check) {
14353  TERMINATOR_WARNING ((yyvsp[(-2) - (1)]), PERFORM);
14354  } else {
14355  TERMINATOR_ERROR ((yyvsp[(-2) - (1)]), PERFORM);
14356  }
14357  /* Put the dot token back into the stack for reparse */
14358  cb_unput_dot ();
14359  }
14360 #line 14282 "parser.c" /* yacc.c:1646 */
14361  break;
14362 
14363  case 1142:
14364 #line 8452 "parser.y" /* yacc.c:1646 */
14365  {
14366  /* Return from $1 */
14367  CB_REFERENCE ((yyvsp[0]))->length = cb_true;
14368  CB_REFERENCE ((yyvsp[0]))->flag_decl_ok = 1;
14369  (yyval) = CB_BUILD_PAIR ((yyvsp[0]), (yyvsp[0]));
14370  }
14371 #line 14293 "parser.c" /* yacc.c:1646 */
14372  break;
14373 
14374  case 1143:
14375 #line 8459 "parser.y" /* yacc.c:1646 */
14376  {
14377  /* Return from $3 */
14378  CB_REFERENCE ((yyvsp[0]))->length = cb_true;
14379  CB_REFERENCE ((yyvsp[-2]))->flag_decl_ok = 1;
14380  CB_REFERENCE ((yyvsp[0]))->flag_decl_ok = 1;
14381  (yyval) = CB_BUILD_PAIR ((yyvsp[-2]), (yyvsp[0]));
14382  }
14383 #line 14305 "parser.c" /* yacc.c:1646 */
14384  break;
14385 
14386  case 1144:
14387 #line 8470 "parser.y" /* yacc.c:1646 */
14388  {
14389  (yyval) = cb_build_perform_once (NULL);
14390  }
14391 #line 14313 "parser.c" /* yacc.c:1646 */
14392  break;
14393 
14394  case 1145:
14395 #line 8474 "parser.y" /* yacc.c:1646 */
14396  {
14397  (yyval) = cb_build_perform_times ((yyvsp[-1]));
14398  current_program->loop_counter++;
14399  }
14400 #line 14322 "parser.c" /* yacc.c:1646 */
14401  break;
14402 
14403  case 1146:
14404 #line 8479 "parser.y" /* yacc.c:1646 */
14405  {
14406  (yyval) = cb_build_perform_forever (NULL);
14407  }
14408 #line 14330 "parser.c" /* yacc.c:1646 */
14409  break;
14410 
14411  case 1147:
14412 #line 8483 "parser.y" /* yacc.c:1646 */
14413  {
14414  cb_tree varying;
14415 
14416  if (!(yyvsp[0])) {
14417  (yyval) = cb_build_perform_forever (NULL);
14418  } else {
14419  varying = CB_LIST_INIT (cb_build_perform_varying (NULL, NULL, NULL, (yyvsp[0])));
14420  (yyval) = cb_build_perform_until ((yyvsp[-2]), varying);
14421  }
14422  }
14423 #line 14345 "parser.c" /* yacc.c:1646 */
14424  break;
14425 
14426  case 1148:
14427 #line 8494 "parser.y" /* yacc.c:1646 */
14428  {
14429  (yyval) = cb_build_perform_until ((yyvsp[-2]), (yyvsp[0]));
14430  }
14431 #line 14353 "parser.c" /* yacc.c:1646 */
14432  break;
14433 
14434  case 1149:
14435 #line 8500 "parser.y" /* yacc.c:1646 */
14436  { (yyval) = CB_BEFORE; }
14437 #line 14359 "parser.c" /* yacc.c:1646 */
14438  break;
14439 
14440  case 1150:
14441 #line 8501 "parser.y" /* yacc.c:1646 */
14442  { (yyval) = (yyvsp[0]); }
14443 #line 14365 "parser.c" /* yacc.c:1646 */
14444  break;
14445 
14446  case 1151:
14447 #line 8505 "parser.y" /* yacc.c:1646 */
14448  { (yyval) = NULL; }
14449 #line 14371 "parser.c" /* yacc.c:1646 */
14450  break;
14451 
14452  case 1152:
14453 #line 8506 "parser.y" /* yacc.c:1646 */
14454  { (yyval) = (yyvsp[0]); }
14455 #line 14377 "parser.c" /* yacc.c:1646 */
14456  break;
14457 
14458  case 1153:
14459 #line 8509 "parser.y" /* yacc.c:1646 */
14460  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
14461 #line 14383 "parser.c" /* yacc.c:1646 */
14462  break;
14463 
14464  case 1154:
14465 #line 8511 "parser.y" /* yacc.c:1646 */
14466  { (yyval) = cb_list_add ((yyvsp[-2]), (yyvsp[0])); }
14467 #line 14389 "parser.c" /* yacc.c:1646 */
14468  break;
14469 
14470  case 1155:
14471 #line 8516 "parser.y" /* yacc.c:1646 */
14472  {
14473  (yyval) = cb_build_perform_varying ((yyvsp[-6]), (yyvsp[-4]), (yyvsp[-2]), (yyvsp[0]));
14474  }
14475 #line 14397 "parser.c" /* yacc.c:1646 */
14476  break;
14477 
14478  case 1156:
14479 #line 8526 "parser.y" /* yacc.c:1646 */
14480  {
14481  begin_statement ("READ", TERM_READ);
14482  }
14483 #line 14405 "parser.c" /* yacc.c:1646 */
14484  break;
14485 
14486  case 1158:
14487 #line 8535 "parser.y" /* yacc.c:1646 */
14488  {
14489  if (CB_VALID_TREE ((yyvsp[-6]))) {
14490  struct cb_file *cf;
14491 
14492  cf = CB_FILE(cb_ref ((yyvsp[-6])));
14493  if ((yyvsp[-2]) && (cf->lock_mode & COB_LOCK_AUTOMATIC)) {
14494  cb_error_x (CB_TREE (current_statement),
14495  _("LOCK clause invalid with file LOCK AUTOMATIC"));
14496  } else if ((yyvsp[-1]) &&
14497  (cf->organization != COB_ORG_RELATIVE &&
14498  cf->organization != COB_ORG_INDEXED)) {
14499  cb_error_x (CB_TREE (current_statement),
14500  _("KEY clause invalid with this file type"));
14501  } else if (current_statement->handler_id == COB_EC_I_O_INVALID_KEY &&
14502  (cf->organization != COB_ORG_RELATIVE &&
14503  cf->organization != COB_ORG_INDEXED)) {
14504  cb_error_x (CB_TREE (current_statement),
14505  _("INVALID KEY clause invalid with this file type"));
14506  } else {
14507  cb_emit_read ((yyvsp[-6]), (yyvsp[-5]), (yyvsp[-3]), (yyvsp[-1]), (yyvsp[-2]));
14508  }
14509  }
14510  }
14511 #line 14433 "parser.c" /* yacc.c:1646 */
14512  break;
14513 
14514  case 1159:
14515 #line 8561 "parser.y" /* yacc.c:1646 */
14516  { (yyval) = NULL; }
14517 #line 14439 "parser.c" /* yacc.c:1646 */
14518  break;
14519 
14520  case 1160:
14521 #line 8562 "parser.y" /* yacc.c:1646 */
14522  { (yyval) = (yyvsp[0]); }
14523 #line 14445 "parser.c" /* yacc.c:1646 */
14524  break;
14525 
14526  case 1161:
14527 #line 8567 "parser.y" /* yacc.c:1646 */
14528  {
14529  (yyval) = NULL;
14530  }
14531 #line 14453 "parser.c" /* yacc.c:1646 */
14532  break;
14533 
14534  case 1162:
14535 #line 8571 "parser.y" /* yacc.c:1646 */
14536  {
14537  (yyval) = cb_int3;
14538  }
14539 #line 14461 "parser.c" /* yacc.c:1646 */
14540  break;
14541 
14542  case 1163:
14543 #line 8575 "parser.y" /* yacc.c:1646 */
14544  {
14545  (yyval) = cb_int1;
14546  }
14547 #line 14469 "parser.c" /* yacc.c:1646 */
14548  break;
14549 
14550  case 1164:
14551 #line 8579 "parser.y" /* yacc.c:1646 */
14552  {
14553  (yyval) = cb_int1;
14554  }
14555 #line 14477 "parser.c" /* yacc.c:1646 */
14556  break;
14557 
14558  case 1165:
14559 #line 8583 "parser.y" /* yacc.c:1646 */
14560  {
14561  (yyval) = cb_int2;
14562  }
14563 #line 14485 "parser.c" /* yacc.c:1646 */
14564  break;
14565 
14566  case 1166:
14567 #line 8587 "parser.y" /* yacc.c:1646 */
14568  {
14569  (yyval) = cb_int3;
14570  }
14571 #line 14493 "parser.c" /* yacc.c:1646 */
14572  break;
14573 
14574  case 1167:
14575 #line 8591 "parser.y" /* yacc.c:1646 */
14576  {
14577  (yyval) = cb_int4;
14578  }
14579 #line 14501 "parser.c" /* yacc.c:1646 */
14580  break;
14581 
14582  case 1168:
14583 #line 8597 "parser.y" /* yacc.c:1646 */
14584  { (yyval) = NULL; }
14585 #line 14507 "parser.c" /* yacc.c:1646 */
14586  break;
14587 
14588  case 1169:
14589 #line 8598 "parser.y" /* yacc.c:1646 */
14590  { (yyval) = (yyvsp[0]); }
14591 #line 14513 "parser.c" /* yacc.c:1646 */
14592  break;
14593 
14594  case 1172:
14595 #line 8608 "parser.y" /* yacc.c:1646 */
14596  {
14597  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), READ);
14598  }
14599 #line 14521 "parser.c" /* yacc.c:1646 */
14600  break;
14601 
14602  case 1173:
14603 #line 8612 "parser.y" /* yacc.c:1646 */
14604  {
14605  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), READ);
14606  }
14607 #line 14529 "parser.c" /* yacc.c:1646 */
14608  break;
14609 
14610  case 1174:
14611 #line 8622 "parser.y" /* yacc.c:1646 */
14612  {
14613  begin_statement ("READY TRACE", 0);
14615  }
14616 #line 14538 "parser.c" /* yacc.c:1646 */
14617  break;
14618 
14619  case 1175:
14620 #line 8632 "parser.y" /* yacc.c:1646 */
14621  {
14622  begin_statement ("RELEASE", 0);
14623  }
14624 #line 14546 "parser.c" /* yacc.c:1646 */
14625  break;
14626 
14627  case 1177:
14628 #line 8640 "parser.y" /* yacc.c:1646 */
14629  {
14630  cb_emit_release ((yyvsp[-1]), (yyvsp[0]));
14631  }
14632 #line 14554 "parser.c" /* yacc.c:1646 */
14633  break;
14634 
14635  case 1178:
14636 #line 8650 "parser.y" /* yacc.c:1646 */
14637  {
14638  begin_statement ("RESET TRACE", 0);
14640  }
14641 #line 14563 "parser.c" /* yacc.c:1646 */
14642  break;
14643 
14644  case 1179:
14645 #line 8660 "parser.y" /* yacc.c:1646 */
14646  {
14647  begin_statement ("RETURN", TERM_RETURN);
14648  }
14649 #line 14571 "parser.c" /* yacc.c:1646 */
14650  break;
14651 
14652  case 1181:
14653 #line 8669 "parser.y" /* yacc.c:1646 */
14654  {
14655  cb_emit_return ((yyvsp[-3]), (yyvsp[-1]));
14656  }
14657 #line 14579 "parser.c" /* yacc.c:1646 */
14658  break;
14659 
14660  case 1182:
14661 #line 8676 "parser.y" /* yacc.c:1646 */
14662  {
14663  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), RETURN);
14664  }
14665 #line 14587 "parser.c" /* yacc.c:1646 */
14666  break;
14667 
14668  case 1183:
14669 #line 8680 "parser.y" /* yacc.c:1646 */
14670  {
14671  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), RETURN);
14672  }
14673 #line 14595 "parser.c" /* yacc.c:1646 */
14674  break;
14675 
14676  case 1184:
14677 #line 8690 "parser.y" /* yacc.c:1646 */
14678  {
14679  begin_statement ("REWRITE", TERM_REWRITE);
14680  /* Special in debugging mode */
14682  start_debug = 0;
14683  }
14684 #line 14606 "parser.c" /* yacc.c:1646 */
14685  break;
14686 
14687  case 1186:
14688 #line 8702 "parser.y" /* yacc.c:1646 */
14689  {
14690  cb_emit_rewrite ((yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]));
14692  }
14693 #line 14615 "parser.c" /* yacc.c:1646 */
14694  break;
14695 
14696  case 1187:
14697 #line 8710 "parser.y" /* yacc.c:1646 */
14698  {
14699  (yyval) = NULL;
14700  }
14701 #line 14623 "parser.c" /* yacc.c:1646 */
14702  break;
14703 
14704  case 1188:
14705 #line 8714 "parser.y" /* yacc.c:1646 */
14706  {
14707  (yyval) = cb_int1;
14708  }
14709 #line 14631 "parser.c" /* yacc.c:1646 */
14710  break;
14711 
14712  case 1189:
14713 #line 8718 "parser.y" /* yacc.c:1646 */
14714  {
14715  (yyval) = cb_int2;
14716  }
14717 #line 14639 "parser.c" /* yacc.c:1646 */
14718  break;
14719 
14720  case 1190:
14721 #line 8725 "parser.y" /* yacc.c:1646 */
14722  {
14723  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), REWRITE);
14724  }
14725 #line 14647 "parser.c" /* yacc.c:1646 */
14726  break;
14727 
14728  case 1191:
14729 #line 8729 "parser.y" /* yacc.c:1646 */
14730  {
14731  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), REWRITE);
14732  }
14733 #line 14655 "parser.c" /* yacc.c:1646 */
14734  break;
14735 
14736  case 1192:
14737 #line 8739 "parser.y" /* yacc.c:1646 */
14738  {
14739  begin_statement ("ROLLBACK", 0);
14740  cb_emit_rollback ();
14741  }
14742 #line 14664 "parser.c" /* yacc.c:1646 */
14743  break;
14744 
14745  case 1193:
14746 #line 8750 "parser.y" /* yacc.c:1646 */
14747  {
14748  begin_statement ("SEARCH", TERM_SEARCH);
14749  }
14750 #line 14672 "parser.c" /* yacc.c:1646 */
14751  break;
14752 
14753  case 1195:
14754 #line 8759 "parser.y" /* yacc.c:1646 */
14755  {
14756  cb_emit_search ((yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]));
14757  }
14758 #line 14680 "parser.c" /* yacc.c:1646 */
14759  break;
14760 
14761  case 1196:
14762 #line 8764 "parser.y" /* yacc.c:1646 */
14763  {
14764  current_statement->name = (const char *)"SEARCH ALL";
14765  cb_emit_search_all ((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-1]), (yyvsp[0]));
14766  }
14767 #line 14689 "parser.c" /* yacc.c:1646 */
14768  break;
14769 
14770  case 1197:
14771 #line 8771 "parser.y" /* yacc.c:1646 */
14772  { (yyval) = NULL; }
14773 #line 14695 "parser.c" /* yacc.c:1646 */
14774  break;
14775 
14776  case 1198:
14777 #line 8772 "parser.y" /* yacc.c:1646 */
14778  { (yyval) = (yyvsp[0]); }
14779 #line 14701 "parser.c" /* yacc.c:1646 */
14780  break;
14781 
14782  case 1199:
14783 #line 8777 "parser.y" /* yacc.c:1646 */
14784  {
14785  (yyval) = NULL;
14786  }
14787 #line 14709 "parser.c" /* yacc.c:1646 */
14788  break;
14789 
14790  case 1200:
14791 #line 8782 "parser.y" /* yacc.c:1646 */
14792  {
14793  (yyval) = (yyvsp[0]);
14794  }
14795 #line 14717 "parser.c" /* yacc.c:1646 */
14796  break;
14797 
14798  case 1201:
14799 #line 8789 "parser.y" /* yacc.c:1646 */
14800  {
14801  (yyval) = CB_LIST_INIT ((yyvsp[0]));
14802  }
14803 #line 14725 "parser.c" /* yacc.c:1646 */
14804  break;
14805 
14806  case 1202:
14807 #line 8793 "parser.y" /* yacc.c:1646 */
14808  {
14809  (yyval) = cb_list_add ((yyvsp[0]), (yyvsp[-1]));
14810  }
14811 #line 14733 "parser.c" /* yacc.c:1646 */
14812  break;
14813 
14814  case 1203:
14815 #line 8801 "parser.y" /* yacc.c:1646 */
14816  {
14817  (yyval) = cb_build_if_check_break ((yyvsp[-1]), (yyvsp[0]));
14818  }
14819 #line 14741 "parser.c" /* yacc.c:1646 */
14820  break;
14821 
14822  case 1204:
14823 #line 8808 "parser.y" /* yacc.c:1646 */
14824  {
14825  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), SEARCH);
14826  }
14827 #line 14749 "parser.c" /* yacc.c:1646 */
14828  break;
14829 
14830  case 1205:
14831 #line 8812 "parser.y" /* yacc.c:1646 */
14832  {
14833  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), SEARCH);
14834  }
14835 #line 14757 "parser.c" /* yacc.c:1646 */
14836  break;
14837 
14838  case 1206:
14839 #line 8822 "parser.y" /* yacc.c:1646 */
14840  {
14841  begin_statement ("SET", 0);
14842  setattr_val_on = 0;
14843  setattr_val_off = 0;
14845  }
14846 #line 14768 "parser.c" /* yacc.c:1646 */
14847  break;
14848 
14849  case 1207:
14850 #line 8829 "parser.y" /* yacc.c:1646 */
14851  {
14852  cobc_cs_check = 0;
14853  }
14854 #line 14776 "parser.c" /* yacc.c:1646 */
14855  break;
14856 
14857  case 1215:
14858 #line 8845 "parser.y" /* yacc.c:1646 */
14859  { (yyval) = cb_int1; }
14860 #line 14782 "parser.c" /* yacc.c:1646 */
14861  break;
14862 
14863  case 1216:
14864 #line 8846 "parser.y" /* yacc.c:1646 */
14865  { (yyval) = cb_int0; }
14866 #line 14788 "parser.c" /* yacc.c:1646 */
14867  break;
14868 
14869  case 1217:
14870 #line 8850 "parser.y" /* yacc.c:1646 */
14871  { (yyval) = cb_int0; }
14872 #line 14794 "parser.c" /* yacc.c:1646 */
14873  break;
14874 
14875  case 1218:
14876 #line 8851 "parser.y" /* yacc.c:1646 */
14877  { (yyval) = cb_int1; }
14878 #line 14800 "parser.c" /* yacc.c:1646 */
14879  break;
14880 
14881  case 1219:
14882 #line 8858 "parser.y" /* yacc.c:1646 */
14883  {
14884  cb_emit_setenv ((yyvsp[-2]), (yyvsp[0]));
14885  }
14886 #line 14808 "parser.c" /* yacc.c:1646 */
14887  break;
14888 
14889  case 1220:
14890 #line 8867 "parser.y" /* yacc.c:1646 */
14891  {
14893  }
14894 #line 14816 "parser.c" /* yacc.c:1646 */
14895  break;
14896 
14897  case 1223:
14898 #line 8879 "parser.y" /* yacc.c:1646 */
14899  {
14900  bit_set_attr ((yyvsp[0]), COB_SCREEN_BELL);
14901  }
14902 #line 14824 "parser.c" /* yacc.c:1646 */
14903  break;
14904 
14905  case 1224:
14906 #line 8883 "parser.y" /* yacc.c:1646 */
14907  {
14908  bit_set_attr ((yyvsp[0]), COB_SCREEN_BLINK);
14909  }
14910 #line 14832 "parser.c" /* yacc.c:1646 */
14911  break;
14912 
14913  case 1225:
14914 #line 8887 "parser.y" /* yacc.c:1646 */
14915  {
14916  bit_set_attr ((yyvsp[0]), COB_SCREEN_HIGHLIGHT);
14919  }
14920 #line 14842 "parser.c" /* yacc.c:1646 */
14921  break;
14922 
14923  case 1226:
14924 #line 8893 "parser.y" /* yacc.c:1646 */
14925  {
14926  bit_set_attr ((yyvsp[0]), COB_SCREEN_LOWLIGHT);
14929  }
14930 #line 14852 "parser.c" /* yacc.c:1646 */
14931  break;
14932 
14933  case 1227:
14934 #line 8899 "parser.y" /* yacc.c:1646 */
14935  {
14936  bit_set_attr ((yyvsp[0]), COB_SCREEN_REVERSE);
14937  }
14938 #line 14860 "parser.c" /* yacc.c:1646 */
14939  break;
14940 
14941  case 1228:
14942 #line 8903 "parser.y" /* yacc.c:1646 */
14943  {
14944  bit_set_attr ((yyvsp[0]), COB_SCREEN_UNDERLINE);
14945  }
14946 #line 14868 "parser.c" /* yacc.c:1646 */
14947  break;
14948 
14949  case 1229:
14950 #line 8907 "parser.y" /* yacc.c:1646 */
14951  {
14952  bit_set_attr ((yyvsp[0]), COB_SCREEN_LEFTLINE);
14953  }
14954 #line 14876 "parser.c" /* yacc.c:1646 */
14955  break;
14956 
14957  case 1230:
14958 #line 8911 "parser.y" /* yacc.c:1646 */
14959  {
14960  bit_set_attr ((yyvsp[0]), COB_SCREEN_OVERLINE);
14961  }
14962 #line 14884 "parser.c" /* yacc.c:1646 */
14963  break;
14964 
14965  case 1231:
14966 #line 8920 "parser.y" /* yacc.c:1646 */
14967  {
14968  cb_emit_set_to ((yyvsp[-3]), cb_build_ppointer ((yyvsp[0])));
14969  }
14970 #line 14892 "parser.c" /* yacc.c:1646 */
14971  break;
14972 
14973  case 1232:
14974 #line 8924 "parser.y" /* yacc.c:1646 */
14975  {
14976  cb_emit_set_to ((yyvsp[-2]), (yyvsp[0]));
14977  }
14978 #line 14900 "parser.c" /* yacc.c:1646 */
14979  break;
14980 
14981  case 1233:
14982 #line 8933 "parser.y" /* yacc.c:1646 */
14983  {
14984  cb_emit_set_up_down ((yyvsp[-3]), (yyvsp[-2]), (yyvsp[0]));
14985  }
14986 #line 14908 "parser.c" /* yacc.c:1646 */
14987  break;
14988 
14989  case 1236:
14990 #line 8947 "parser.y" /* yacc.c:1646 */
14991  {
14992  cb_emit_set_on_off ((yyvsp[-2]), (yyvsp[0]));
14993  }
14994 #line 14916 "parser.c" /* yacc.c:1646 */
14995  break;
14996 
14997  case 1239:
14998 #line 8961 "parser.y" /* yacc.c:1646 */
14999  {
15000  cb_emit_set_true ((yyvsp[-2]));
15001  }
15002 #line 14924 "parser.c" /* yacc.c:1646 */
15003  break;
15004 
15005  case 1240:
15006 #line 8965 "parser.y" /* yacc.c:1646 */
15007  {
15008  cb_emit_set_false ((yyvsp[-2]));
15009  }
15010 #line 14932 "parser.c" /* yacc.c:1646 */
15011  break;
15012 
15013  case 1241:
15014 #line 8974 "parser.y" /* yacc.c:1646 */
15015  {
15017  }
15018 #line 14940 "parser.c" /* yacc.c:1646 */
15019  break;
15020 
15021  case 1242:
15022 #line 8983 "parser.y" /* yacc.c:1646 */
15023  {
15024  begin_statement ("SORT", 0);
15025  }
15026 #line 14948 "parser.c" /* yacc.c:1646 */
15027  break;
15028 
15029  case 1244:
15030 #line 8991 "parser.y" /* yacc.c:1646 */
15031  {
15032  cb_tree x;
15033 
15034  x = cb_ref ((yyvsp[-3]));
15035  if (CB_VALID_TREE (x)) {
15036  if (CB_INVALID_TREE ((yyvsp[-2]))) {
15037  if (CB_FILE_P (x)) {
15038  cb_error (_("File sort requires KEY phrase"));
15039  } else {
15040  cb_error (_("Table sort without keys not implemented yet"));
15041  }
15042  (yyval) = NULL;
15043  } else {
15044  cb_emit_sort_init ((yyvsp[-3]), (yyvsp[-2]), (yyvsp[0]));
15045  (yyval)= (yyvsp[-3]);
15046  }
15047  } else {
15048  (yyval) = NULL;
15049  }
15050  }
15051 #line 14973 "parser.c" /* yacc.c:1646 */
15052  break;
15053 
15054  case 1245:
15055 #line 9012 "parser.y" /* yacc.c:1646 */
15056  {
15057  if ((yyvsp[-2]) && CB_VALID_TREE ((yyvsp[-6]))) {
15058  cb_emit_sort_finish ((yyvsp[-6]));
15059  }
15060  }
15061 #line 14983 "parser.c" /* yacc.c:1646 */
15062  break;
15063 
15064  case 1246:
15065 #line 9021 "parser.y" /* yacc.c:1646 */
15066  {
15067  (yyval) = NULL;
15068  }
15069 #line 14991 "parser.c" /* yacc.c:1646 */
15070  break;
15071 
15072  case 1247:
15073 #line 9026 "parser.y" /* yacc.c:1646 */
15074  {
15075  cb_tree l;
15076  cb_tree lparm;
15077 
15078  if ((yyvsp[0]) == NULL) {
15079  l = CB_LIST_INIT (NULL);
15080  } else {
15081  l = (yyvsp[0]);
15082  }
15083  lparm = l;
15084  for (; l; l = CB_CHAIN (l)) {
15085  CB_PURPOSE (l) = (yyvsp[-2]);
15086  }
15087  (yyval) = cb_list_append ((yyvsp[-4]), lparm);
15088  }
15089 #line 15011 "parser.c" /* yacc.c:1646 */
15090  break;
15091 
15092  case 1248:
15093 #line 9044 "parser.y" /* yacc.c:1646 */
15094  { (yyval) = NULL; }
15095 #line 15017 "parser.c" /* yacc.c:1646 */
15096  break;
15097 
15098  case 1249:
15099 #line 9045 "parser.y" /* yacc.c:1646 */
15100  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
15101 #line 15023 "parser.c" /* yacc.c:1646 */
15102  break;
15103 
15104  case 1251:
15105 #line 9050 "parser.y" /* yacc.c:1646 */
15106  {
15107  /* The OC sort is a stable sort. ie. Dups are per default in order */
15108  /* Therefore nothing to do here */
15109  }
15110 #line 15032 "parser.c" /* yacc.c:1646 */
15111  break;
15112 
15113  case 1252:
15114 #line 9057 "parser.y" /* yacc.c:1646 */
15115  { (yyval) = cb_null; }
15116 #line 15038 "parser.c" /* yacc.c:1646 */
15117  break;
15118 
15119  case 1253:
15120 #line 9058 "parser.y" /* yacc.c:1646 */
15121  { (yyval) = cb_ref ((yyvsp[0])); }
15122 #line 15044 "parser.c" /* yacc.c:1646 */
15123  break;
15124 
15125  case 1254:
15126 #line 9063 "parser.y" /* yacc.c:1646 */
15127  {
15128  if ((yyvsp[0]) && CB_FILE_P (cb_ref ((yyvsp[0])))) {
15129  cb_error (_("File sort requires USING or INPUT PROCEDURE"));
15130  }
15131  }
15132 #line 15054 "parser.c" /* yacc.c:1646 */
15133  break;
15134 
15135  case 1255:
15136 #line 9069 "parser.y" /* yacc.c:1646 */
15137  {
15138  if ((yyvsp[-2])) {
15139  if (!CB_FILE_P (cb_ref ((yyvsp[-2])))) {
15140  cb_error (_("USING invalid with table SORT"));
15141  } else {
15142  cb_emit_sort_using ((yyvsp[-2]), (yyvsp[0]));
15143  }
15144  }
15145  }
15146 #line 15068 "parser.c" /* yacc.c:1646 */
15147  break;
15148 
15149  case 1256:
15150 #line 9079 "parser.y" /* yacc.c:1646 */
15151  {
15152  if ((yyvsp[-4])) {
15153  if (!CB_FILE_P (cb_ref ((yyvsp[-4])))) {
15154  cb_error (_("INPUT PROCEDURE invalid with table SORT"));
15155  } else if (current_statement->flag_merge) {
15156  cb_error (_("INPUT PROCEDURE invalid with MERGE"));
15157  } else {
15158  cb_emit_sort_input ((yyvsp[0]));
15159  }
15160  }
15161  }
15162 #line 15084 "parser.c" /* yacc.c:1646 */
15163  break;
15164 
15165  case 1257:
15166 #line 9094 "parser.y" /* yacc.c:1646 */
15167  {
15168  if ((yyvsp[(-1) - (0)]) && CB_FILE_P (cb_ref ((yyvsp[(-1) - (0)])))) {
15169  cb_error (_("File sort requires GIVING or OUTPUT PROCEDURE"));
15170  }
15171  }
15172 #line 15094 "parser.c" /* yacc.c:1646 */
15173  break;
15174 
15175  case 1258:
15176 #line 9100 "parser.y" /* yacc.c:1646 */
15177  {
15178  if ((yyvsp[(-1) - (2)])) {
15179  if (!CB_FILE_P (cb_ref ((yyvsp[(-1) - (2)])))) {
15180  cb_error (_("GIVING invalid with table SORT"));
15181  } else {
15182  cb_emit_sort_giving ((yyvsp[(-1) - (2)]), (yyvsp[0]));
15183  }
15184  }
15185  }
15186 #line 15108 "parser.c" /* yacc.c:1646 */
15187  break;
15188 
15189  case 1259:
15190 #line 9110 "parser.y" /* yacc.c:1646 */
15191  {
15192  if ((yyvsp[(-1) - (4)])) {
15193  if (!CB_FILE_P (cb_ref ((yyvsp[(-1) - (4)])))) {
15194  cb_error (_("OUTPUT PROCEDURE invalid with table SORT"));
15195  } else {
15196  cb_emit_sort_output ((yyvsp[0]));
15197  }
15198  }
15199  }
15200 #line 15122 "parser.c" /* yacc.c:1646 */
15201  break;
15202 
15203  case 1260:
15204 #line 9126 "parser.y" /* yacc.c:1646 */
15205  {
15206  begin_statement ("START", TERM_START);
15207  start_tree = cb_int (COB_EQ);
15208  }
15209 #line 15131 "parser.c" /* yacc.c:1646 */
15210  break;
15211 
15212  case 1262:
15213 #line 9136 "parser.y" /* yacc.c:1646 */
15214  {
15215  if ((yyvsp[-1]) && !(yyvsp[-2])) {
15216  cb_error_x (CB_TREE (current_statement),
15217  _("SIZE/LENGTH invalid here"));
15218  } else {
15219  cb_emit_start ((yyvsp[-3]), start_tree, (yyvsp[-2]), (yyvsp[-1]));
15220  }
15221  }
15222 #line 15144 "parser.c" /* yacc.c:1646 */
15223  break;
15224 
15225  case 1263:
15226 #line 9148 "parser.y" /* yacc.c:1646 */
15227  {
15228  (yyval) = NULL;
15229  }
15230 #line 15152 "parser.c" /* yacc.c:1646 */
15231  break;
15232 
15233  case 1264:
15234 #line 9152 "parser.y" /* yacc.c:1646 */
15235  {
15236  (yyval) = (yyvsp[0]);
15237  }
15238 #line 15160 "parser.c" /* yacc.c:1646 */
15239  break;
15240 
15241  case 1265:
15242 #line 9159 "parser.y" /* yacc.c:1646 */
15243  {
15244  (yyval) = NULL;
15245  }
15246 #line 15168 "parser.c" /* yacc.c:1646 */
15247  break;
15248 
15249  case 1266:
15250 #line 9163 "parser.y" /* yacc.c:1646 */
15251  {
15252  start_tree = (yyvsp[-1]);
15253  (yyval) = (yyvsp[0]);
15254  }
15255 #line 15177 "parser.c" /* yacc.c:1646 */
15256  break;
15257 
15258  case 1267:
15259 #line 9168 "parser.y" /* yacc.c:1646 */
15260  {
15261  start_tree = cb_int (COB_FI);
15262  (yyval) = NULL;
15263  }
15264 #line 15186 "parser.c" /* yacc.c:1646 */
15265  break;
15266 
15267  case 1268:
15268 #line 9173 "parser.y" /* yacc.c:1646 */
15269  {
15270  start_tree = cb_int (COB_LA);
15271  (yyval) = NULL;
15272  }
15273 #line 15195 "parser.c" /* yacc.c:1646 */
15274  break;
15275 
15276  case 1269:
15277 #line 9180 "parser.y" /* yacc.c:1646 */
15278  { (yyval) = cb_int (COB_EQ); }
15279 #line 15201 "parser.c" /* yacc.c:1646 */
15280  break;
15281 
15282  case 1270:
15283 #line 9181 "parser.y" /* yacc.c:1646 */
15284  { (yyval) = cb_int ((yyvsp[-1]) ? COB_LE : COB_GT); }
15285 #line 15207 "parser.c" /* yacc.c:1646 */
15286  break;
15287 
15288  case 1271:
15289 #line 9182 "parser.y" /* yacc.c:1646 */
15290  { (yyval) = cb_int ((yyvsp[-1]) ? COB_GE : COB_LT); }
15291 #line 15213 "parser.c" /* yacc.c:1646 */
15292  break;
15293 
15294  case 1272:
15295 #line 9183 "parser.y" /* yacc.c:1646 */
15296  { (yyval) = cb_int ((yyvsp[-1]) ? COB_LT : COB_GE); }
15297 #line 15219 "parser.c" /* yacc.c:1646 */
15298  break;
15299 
15300  case 1273:
15301 #line 9184 "parser.y" /* yacc.c:1646 */
15302  { (yyval) = cb_int ((yyvsp[-1]) ? COB_GT : COB_LE); }
15303 #line 15225 "parser.c" /* yacc.c:1646 */
15304  break;
15305 
15306  case 1274:
15307 #line 9185 "parser.y" /* yacc.c:1646 */
15308  { (yyval) = cb_int (COB_NE); }
15309 #line 15231 "parser.c" /* yacc.c:1646 */
15310  break;
15311 
15312  case 1275:
15313 #line 9190 "parser.y" /* yacc.c:1646 */
15314  {
15315  cb_error_x (CB_TREE (current_statement),
15316  _("NOT EQUAL condition disallowed on START statement"));
15317  }
15318 #line 15240 "parser.c" /* yacc.c:1646 */
15319  break;
15320 
15321  case 1278:
15322 #line 9203 "parser.y" /* yacc.c:1646 */
15323  {
15324  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), START);
15325  }
15326 #line 15248 "parser.c" /* yacc.c:1646 */
15327  break;
15328 
15329  case 1279:
15330 #line 9207 "parser.y" /* yacc.c:1646 */
15331  {
15332  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), START);
15333  }
15334 #line 15256 "parser.c" /* yacc.c:1646 */
15335  break;
15336 
15337  case 1280:
15338 #line 9217 "parser.y" /* yacc.c:1646 */
15339  {
15340  begin_statement ("STOP RUN", 0);
15341  }
15342 #line 15264 "parser.c" /* yacc.c:1646 */
15343  break;
15344 
15345  case 1281:
15346 #line 9221 "parser.y" /* yacc.c:1646 */
15347  {
15348  cb_emit_stop_run ((yyvsp[0]));
15349  check_unreached = 1;
15350  cobc_cs_check = 0;
15351  }
15352 #line 15274 "parser.c" /* yacc.c:1646 */
15353  break;
15354 
15355  case 1282:
15356 #line 9227 "parser.y" /* yacc.c:1646 */
15357  {
15358  begin_statement ("STOP", 0);
15359  cb_verify (cb_stop_literal_statement, "STOP literal");
15360  cb_emit_display (CB_LIST_INIT ((yyvsp[0])), cb_int0, cb_int1, NULL,
15361  NULL);
15363  cobc_cs_check = 0;
15364  }
15365 #line 15287 "parser.c" /* yacc.c:1646 */
15366  break;
15367 
15368  case 1283:
15369 #line 9239 "parser.y" /* yacc.c:1646 */
15370  {
15371  (yyval) = current_program->cb_return_code;
15372  }
15373 #line 15295 "parser.c" /* yacc.c:1646 */
15374  break;
15375 
15376  case 1284:
15377 #line 9243 "parser.y" /* yacc.c:1646 */
15378  {
15379  (yyval) = (yyvsp[0]);
15380  }
15381 #line 15303 "parser.c" /* yacc.c:1646 */
15382  break;
15383 
15384  case 1285:
15385 #line 9247 "parser.y" /* yacc.c:1646 */
15386  {
15387  if ((yyvsp[0])) {
15388  (yyval) = (yyvsp[0]);
15389  } else {
15390  (yyval) = cb_int1;
15391  }
15392  }
15393 #line 15315 "parser.c" /* yacc.c:1646 */
15394  break;
15395 
15396  case 1286:
15397 #line 9255 "parser.y" /* yacc.c:1646 */
15398  {
15399  if ((yyvsp[0])) {
15400  (yyval) = (yyvsp[0]);
15401  } else {
15402  (yyval) = cb_int0;
15403  }
15404  }
15405 #line 15327 "parser.c" /* yacc.c:1646 */
15406  break;
15407 
15408  case 1287:
15409 #line 9266 "parser.y" /* yacc.c:1646 */
15410  {
15411  (yyval) = NULL;
15412  }
15413 #line 15335 "parser.c" /* yacc.c:1646 */
15414  break;
15415 
15416  case 1288:
15417 #line 9270 "parser.y" /* yacc.c:1646 */
15418  {
15419  (yyval) = (yyvsp[0]);
15420  }
15421 #line 15343 "parser.c" /* yacc.c:1646 */
15422  break;
15423 
15424  case 1289:
15425 #line 9276 "parser.y" /* yacc.c:1646 */
15426  { (yyval) = (yyvsp[0]); }
15427 #line 15349 "parser.c" /* yacc.c:1646 */
15428  break;
15429 
15430  case 1290:
15431 #line 9277 "parser.y" /* yacc.c:1646 */
15432  { (yyval) = cb_space; }
15433 #line 15355 "parser.c" /* yacc.c:1646 */
15434  break;
15435 
15436  case 1291:
15437 #line 9278 "parser.y" /* yacc.c:1646 */
15438  { (yyval) = cb_zero; }
15439 #line 15361 "parser.c" /* yacc.c:1646 */
15440  break;
15441 
15442  case 1292:
15443 #line 9279 "parser.y" /* yacc.c:1646 */
15444  { (yyval) = cb_quote; }
15445 #line 15367 "parser.c" /* yacc.c:1646 */
15446  break;
15447 
15448  case 1293:
15449 #line 9286 "parser.y" /* yacc.c:1646 */
15450  {
15451  begin_statement ("STRING", TERM_STRING);
15452  }
15453 #line 15375 "parser.c" /* yacc.c:1646 */
15454  break;
15455 
15456  case 1295:
15457 #line 9295 "parser.y" /* yacc.c:1646 */
15458  {
15459  cb_emit_string ((yyvsp[-4]), (yyvsp[-2]), (yyvsp[-1]));
15460  }
15461 #line 15383 "parser.c" /* yacc.c:1646 */
15462  break;
15463 
15464  case 1296:
15465 #line 9301 "parser.y" /* yacc.c:1646 */
15466  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
15467 #line 15389 "parser.c" /* yacc.c:1646 */
15468  break;
15469 
15470  case 1297:
15471 #line 9302 "parser.y" /* yacc.c:1646 */
15472  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
15473 #line 15395 "parser.c" /* yacc.c:1646 */
15474  break;
15475 
15476  case 1298:
15477 #line 9306 "parser.y" /* yacc.c:1646 */
15478  { (yyval) = (yyvsp[0]); }
15479 #line 15401 "parser.c" /* yacc.c:1646 */
15480  break;
15481 
15482  case 1299:
15483 #line 9307 "parser.y" /* yacc.c:1646 */
15484  { (yyval) = CB_BUILD_PAIR (cb_int0, NULL); }
15485 #line 15407 "parser.c" /* yacc.c:1646 */
15486  break;
15487 
15488  case 1300:
15489 #line 9308 "parser.y" /* yacc.c:1646 */
15490  { (yyval) = CB_BUILD_PAIR ((yyvsp[0]), NULL); }
15491 #line 15413 "parser.c" /* yacc.c:1646 */
15492  break;
15493 
15494  case 1301:
15495 #line 9312 "parser.y" /* yacc.c:1646 */
15496  { (yyval) = NULL; }
15497 #line 15419 "parser.c" /* yacc.c:1646 */
15498  break;
15499 
15500  case 1302:
15501 #line 9313 "parser.y" /* yacc.c:1646 */
15502  { (yyval) = (yyvsp[0]); }
15503 #line 15425 "parser.c" /* yacc.c:1646 */
15504  break;
15505 
15506  case 1303:
15507 #line 9318 "parser.y" /* yacc.c:1646 */
15508  {
15509  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), STRING);
15510  }
15511 #line 15433 "parser.c" /* yacc.c:1646 */
15512  break;
15513 
15514  case 1304:
15515 #line 9322 "parser.y" /* yacc.c:1646 */
15516  {
15517  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), STRING);
15518  }
15519 #line 15441 "parser.c" /* yacc.c:1646 */
15520  break;
15521 
15522  case 1305:
15523 #line 9332 "parser.y" /* yacc.c:1646 */
15524  {
15525  begin_statement ("SUBTRACT", TERM_SUBTRACT);
15526  }
15527 #line 15449 "parser.c" /* yacc.c:1646 */
15528  break;
15529 
15530  case 1307:
15531 #line 9341 "parser.y" /* yacc.c:1646 */
15532  {
15533  cb_emit_arithmetic ((yyvsp[-1]), '-', cb_build_binary_list ((yyvsp[-3]), '+'));
15534  }
15535 #line 15457 "parser.c" /* yacc.c:1646 */
15536  break;
15537 
15538  case 1308:
15539 #line 9345 "parser.y" /* yacc.c:1646 */
15540  {
15541  cb_emit_arithmetic ((yyvsp[-1]), 0, cb_build_binary_list (CB_BUILD_CHAIN ((yyvsp[-3]), (yyvsp[-5])), '-'));
15542  }
15543 #line 15465 "parser.c" /* yacc.c:1646 */
15544  break;
15545 
15546  case 1309:
15547 #line 9349 "parser.y" /* yacc.c:1646 */
15548  {
15549  cb_emit_corresponding (cb_build_sub, (yyvsp[-2]), (yyvsp[-4]), (yyvsp[-1]));
15550  }
15551 #line 15473 "parser.c" /* yacc.c:1646 */
15552  break;
15553 
15554  case 1310:
15555 #line 9356 "parser.y" /* yacc.c:1646 */
15556  {
15557  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), SUBTRACT);
15558  }
15559 #line 15481 "parser.c" /* yacc.c:1646 */
15560  break;
15561 
15562  case 1311:
15563 #line 9360 "parser.y" /* yacc.c:1646 */
15564  {
15565  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), SUBTRACT);
15566  }
15567 #line 15489 "parser.c" /* yacc.c:1646 */
15568  break;
15569 
15570  case 1312:
15571 #line 9370 "parser.y" /* yacc.c:1646 */
15572  {
15573  begin_statement ("SUPPRESS", 0);
15574  if (!in_declaratives) {
15575  cb_error_x (CB_TREE (current_statement),
15576  _("SUPPRESS statement must be within DECLARATIVES"));
15577  }
15578  PENDING("SUPPRESS");
15579  }
15580 #line 15502 "parser.c" /* yacc.c:1646 */
15581  break;
15582 
15583  case 1315:
15584 #line 9388 "parser.y" /* yacc.c:1646 */
15585  {
15586  begin_statement ("TERMINATE", 0);
15587  PENDING("TERMINATE");
15588  }
15589 #line 15511 "parser.c" /* yacc.c:1646 */
15590  break;
15591 
15592  case 1317:
15593 #line 9397 "parser.y" /* yacc.c:1646 */
15594  {
15596  if ((yyvsp[0]) != cb_error_node) {
15597  }
15598  }
15599 #line 15521 "parser.c" /* yacc.c:1646 */
15600  break;
15601 
15602  case 1318:
15603 #line 9403 "parser.y" /* yacc.c:1646 */
15604  {
15606  if ((yyvsp[0]) != cb_error_node) {
15607  }
15608  }
15609 #line 15531 "parser.c" /* yacc.c:1646 */
15610  break;
15611 
15612  case 1319:
15613 #line 9414 "parser.y" /* yacc.c:1646 */
15614  {
15615  begin_statement ("TRANSFORM", 0);
15616  }
15617 #line 15539 "parser.c" /* yacc.c:1646 */
15618  break;
15619 
15620  case 1321:
15621 #line 9422 "parser.y" /* yacc.c:1646 */
15622  {
15623  cb_tree x;
15624 
15625  x = cb_build_converting ((yyvsp[-2]), (yyvsp[0]), cb_build_inspect_region_start ());
15626  cb_emit_inspect ((yyvsp[-4]), x, cb_int0, 2);
15627  }
15628 #line 15550 "parser.c" /* yacc.c:1646 */
15629  break;
15630 
15631  case 1322:
15632 #line 9435 "parser.y" /* yacc.c:1646 */
15633  {
15634  begin_statement ("UNLOCK", 0);
15635  }
15636 #line 15558 "parser.c" /* yacc.c:1646 */
15637  break;
15638 
15639  case 1324:
15640 #line 9443 "parser.y" /* yacc.c:1646 */
15641  {
15642  if (CB_VALID_TREE ((yyvsp[-1]))) {
15643  if (CB_FILE (cb_ref ((yyvsp[-1])))->organization == COB_ORG_SORT) {
15644  cb_error_x (CB_TREE (current_statement),
15645  _("UNLOCK invalid for SORT files"));
15646  } else {
15647  cb_emit_unlock ((yyvsp[-1]));
15648  }
15649  }
15650  }
15651 #line 15573 "parser.c" /* yacc.c:1646 */
15652  break;
15653 
15654  case 1325:
15655 #line 9459 "parser.y" /* yacc.c:1646 */
15656  {
15657  begin_statement ("UNSTRING", TERM_UNSTRING);
15658  }
15659 #line 15581 "parser.c" /* yacc.c:1646 */
15660  break;
15661 
15662  case 1327:
15663 #line 9469 "parser.y" /* yacc.c:1646 */
15664  {
15665  cb_emit_unstring ((yyvsp[-5]), (yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]));
15666  }
15667 #line 15589 "parser.c" /* yacc.c:1646 */
15668  break;
15669 
15670  case 1328:
15671 #line 9475 "parser.y" /* yacc.c:1646 */
15672  { (yyval) = NULL; }
15673 #line 15595 "parser.c" /* yacc.c:1646 */
15674  break;
15675 
15676  case 1329:
15677 #line 9477 "parser.y" /* yacc.c:1646 */
15678  { (yyval) = (yyvsp[0]); }
15679 #line 15601 "parser.c" /* yacc.c:1646 */
15680  break;
15681 
15682  case 1330:
15683 #line 9481 "parser.y" /* yacc.c:1646 */
15684  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
15685 #line 15607 "parser.c" /* yacc.c:1646 */
15686  break;
15687 
15688  case 1331:
15689 #line 9483 "parser.y" /* yacc.c:1646 */
15690  { (yyval) = cb_list_add ((yyvsp[-2]), (yyvsp[0])); }
15691 #line 15613 "parser.c" /* yacc.c:1646 */
15692  break;
15693 
15694  case 1332:
15695 #line 9488 "parser.y" /* yacc.c:1646 */
15696  {
15697  (yyval) = cb_build_unstring_delimited ((yyvsp[-1]), (yyvsp[0]));
15698  }
15699 #line 15621 "parser.c" /* yacc.c:1646 */
15700  break;
15701 
15702  case 1333:
15703 #line 9494 "parser.y" /* yacc.c:1646 */
15704  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
15705 #line 15627 "parser.c" /* yacc.c:1646 */
15706  break;
15707 
15708  case 1334:
15709 #line 9496 "parser.y" /* yacc.c:1646 */
15710  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
15711 #line 15633 "parser.c" /* yacc.c:1646 */
15712  break;
15713 
15714  case 1335:
15715 #line 9501 "parser.y" /* yacc.c:1646 */
15716  {
15717  (yyval) = cb_build_unstring_into ((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]));
15718  }
15719 #line 15641 "parser.c" /* yacc.c:1646 */
15720  break;
15721 
15722  case 1336:
15723 #line 9507 "parser.y" /* yacc.c:1646 */
15724  { (yyval) = NULL; }
15725 #line 15647 "parser.c" /* yacc.c:1646 */
15726  break;
15727 
15728  case 1337:
15729 #line 9508 "parser.y" /* yacc.c:1646 */
15730  { (yyval) = (yyvsp[0]); }
15731 #line 15653 "parser.c" /* yacc.c:1646 */
15732  break;
15733 
15734  case 1338:
15735 #line 9512 "parser.y" /* yacc.c:1646 */
15736  { (yyval) = NULL; }
15737 #line 15659 "parser.c" /* yacc.c:1646 */
15738  break;
15739 
15740  case 1339:
15741 #line 9513 "parser.y" /* yacc.c:1646 */
15742  { (yyval) = (yyvsp[0]); }
15743 #line 15665 "parser.c" /* yacc.c:1646 */
15744  break;
15745 
15746  case 1340:
15747 #line 9517 "parser.y" /* yacc.c:1646 */
15748  { (yyval) = NULL; }
15749 #line 15671 "parser.c" /* yacc.c:1646 */
15750  break;
15751 
15752  case 1341:
15753 #line 9518 "parser.y" /* yacc.c:1646 */
15754  { (yyval) = (yyvsp[0]); }
15755 #line 15677 "parser.c" /* yacc.c:1646 */
15756  break;
15757 
15758  case 1342:
15759 #line 9523 "parser.y" /* yacc.c:1646 */
15760  {
15761  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), UNSTRING);
15762  }
15763 #line 15685 "parser.c" /* yacc.c:1646 */
15764  break;
15765 
15766  case 1343:
15767 #line 9527 "parser.y" /* yacc.c:1646 */
15768  {
15769  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), UNSTRING);
15770  }
15771 #line 15693 "parser.c" /* yacc.c:1646 */
15772  break;
15773 
15774  case 1344:
15775 #line 9537 "parser.y" /* yacc.c:1646 */
15776  {
15777  skip_statements = 0;
15778  in_debugging = 0;
15779  }
15780 #line 15702 "parser.c" /* yacc.c:1646 */
15781  break;
15782 
15783  case 1351:
15784 #line 9555 "parser.y" /* yacc.c:1646 */
15785  {
15786  if (!in_declaratives) {
15787  cb_error (_("USE statement must be within DECLARATIVES"));
15788  } else if (!current_section) {
15789  cb_error (_("SECTION header missing before USE statement"));
15790  } else {
15791  current_section->flag_begin = 1;
15792  current_section->flag_return = 1;
15793  current_section->flag_declarative_exit = 1;
15794  current_section->flag_real_label = 1;
15795  current_section->flag_skip_label = 0;
15797  if (use_global_ind) {
15798  current_section->flag_global = 1;
15799  current_program->global_list =
15800  cb_list_add (current_program->global_list,
15801  CB_TREE (current_section));
15802  }
15803  emit_statement (cb_build_comment ("USE AFTER ERROR"));
15804  }
15805  }
15806 #line 15728 "parser.c" /* yacc.c:1646 */
15807  break;
15808 
15809  case 1352:
15810 #line 9580 "parser.y" /* yacc.c:1646 */
15811  {
15812  use_global_ind = 0;
15813  }
15814 #line 15736 "parser.c" /* yacc.c:1646 */
15815  break;
15816 
15817  case 1353:
15818 #line 9584 "parser.y" /* yacc.c:1646 */
15819  {
15820  if (current_program->prog_type == CB_FUNCTION_TYPE) {
15821  cb_error (_("%s is invalid in a user FUNCTION"), "GLOBAL");
15822  } else {
15823  use_global_ind = 1;
15824  current_program->flag_global_use = 1;
15825  }
15826  }
15827 #line 15749 "parser.c" /* yacc.c:1646 */
15828  break;
15829 
15830  case 1354:
15831 #line 9596 "parser.y" /* yacc.c:1646 */
15832  {
15833  cb_tree l;
15834 
15835  for (l = (yyvsp[0]); l; l = CB_CHAIN (l)) {
15836  if (CB_VALID_TREE (CB_VALUE (l))) {
15838  }
15839  }
15840  }
15841 #line 15763 "parser.c" /* yacc.c:1646 */
15842  break;
15843 
15844  case 1355:
15845 #line 9606 "parser.y" /* yacc.c:1646 */
15846  {
15849  }
15850 #line 15772 "parser.c" /* yacc.c:1646 */
15851  break;
15852 
15853  case 1356:
15854 #line 9611 "parser.y" /* yacc.c:1646 */
15855  {
15858  }
15859 #line 15781 "parser.c" /* yacc.c:1646 */
15860  break;
15861 
15862  case 1357:
15863 #line 9616 "parser.y" /* yacc.c:1646 */
15864  {
15867  }
15868 #line 15790 "parser.c" /* yacc.c:1646 */
15869  break;
15870 
15871  case 1358:
15872 #line 9621 "parser.y" /* yacc.c:1646 */
15873  {
15876  }
15877 #line 15799 "parser.c" /* yacc.c:1646 */
15878  break;
15879 
15880  case 1359:
15881 #line 9629 "parser.y" /* yacc.c:1646 */
15882  {
15883  cb_tree plabel;
15884  char name[64];
15885 
15886  if (!in_declaratives) {
15887  cb_error (_("USE statement must be within DECLARATIVES"));
15888  } else if (current_program->nested_level) {
15889  cb_error (_("USE DEBUGGING not supported in contained program"));
15890  } else {
15891  in_debugging = 1;
15892  current_section->flag_begin = 1;
15893  current_section->flag_return = 1;
15894  current_section->flag_declarative_exit = 1;
15895  current_section->flag_real_label = 0;
15896  current_section->flag_is_debug_sect = 1;
15897  if (!needs_debug_item) {
15898  needs_debug_item = 1;
15900  }
15901  if (!current_program->flag_debugging) {
15902  skip_statements = 1;
15903  current_section->flag_skip_label = 1;
15904  } else {
15905  current_program->flag_gen_debug = 1;
15906  sprintf (name, "EXIT SECTION %d", cb_id);
15907  plabel = cb_build_reference (name);
15908  plabel = cb_build_label (plabel, NULL);
15909  CB_LABEL (plabel)->flag_begin = 1;
15910  CB_LABEL (plabel)->flag_dummy_exit = 1;
15911  current_section->exit_label = plabel;
15912  emit_statement (cb_build_comment ("USE FOR DEBUGGING"));
15913  }
15914  }
15915  }
15916 #line 15838 "parser.c" /* yacc.c:1646 */
15917  break;
15918 
15919  case 1362:
15920 #line 9672 "parser.y" /* yacc.c:1646 */
15921  {
15922  cb_tree l;
15923  cb_tree x;
15924  cb_tree z;
15925 
15926  if (current_program->flag_debugging) {
15927  CB_REFERENCE ((yyvsp[0]))->debug_section = current_section;
15928  CB_REFERENCE ((yyvsp[0]))->flag_debug_code = 1;
15929  CB_REFERENCE ((yyvsp[0]))->flag_all_debug = 0;
15930  z = CB_LIST_INIT ((yyvsp[0]));
15931  current_program->debug_list =
15932  cb_list_append (current_program->debug_list, z);
15933  /* Check backward refs to file/data names */
15934  /* Label refs will be checked later (forward/backward ref) */
15935  if (CB_WORD_COUNT ((yyvsp[0])) > 0) {
15936  l = CB_VALUE(CB_WORD_ITEMS ((yyvsp[0])));
15937  switch (CB_TREE_TAG (l)) {
15938  case CB_TAG_FILE:
15939  CB_FILE (l)->debug_section = current_section;
15940  CB_FILE (l)->flag_fl_debug = 1;
15941  break;
15942  case CB_TAG_FIELD:
15943  {
15944  x = cb_ref((yyvsp[0]));
15945  if(CB_INVALID_TREE(x)) {
15946  break;
15947  }
15948  needs_field_debug = 1;
15949  CB_FIELD(x)->debug_section = current_section;
15950  CB_FIELD(x)->flag_field_debug = 1;
15951  CB_PURPOSE(z) = x;
15952  break;
15953  }
15954  default:
15955  break;
15956  }
15957  }
15958  }
15959  }
15960 #line 15882 "parser.c" /* yacc.c:1646 */
15961  break;
15962 
15963  case 1363:
15964 #line 9712 "parser.y" /* yacc.c:1646 */
15965  {
15966  if (current_program->flag_debugging) {
15967  if (current_program->all_procedure) {
15968  cb_error (_("Duplicate USE DEBUGGING ON ALL PROCEDURES"));
15969  } else {
15970  current_program->all_procedure = current_section;
15971  }
15972  }
15973  }
15974 #line 15896 "parser.c" /* yacc.c:1646 */
15975  break;
15976 
15977  case 1364:
15978 #line 9722 "parser.y" /* yacc.c:1646 */
15979  {
15980  cb_tree x;
15981 
15982  if (current_program->flag_debugging) {
15983  /* Reference must be a data item */
15984  x = cb_ref ((yyvsp[0]));
15985  if (CB_INVALID_TREE (x) || !CB_FIELD_P (x)) {
15986  cb_error (_("Invalid target for DEBUGGING ALL"));
15987  } else {
15988  needs_field_debug = 1;
15989  CB_FIELD (x)->debug_section = current_section;
15990  CB_FIELD (x)->flag_field_debug = 1;
15991  CB_FIELD (x)->flag_all_debug = 1;
15992  CB_REFERENCE ((yyvsp[0]))->debug_section = current_section;
15993  CB_REFERENCE ((yyvsp[0]))->flag_debug_code = 1;
15994  CB_REFERENCE ((yyvsp[0]))->flag_all_debug = 1;
15995  CB_CHAIN_PAIR (current_program->debug_list, x, (yyvsp[0]));
15996  }
15997  }
15998  }
15999 #line 15921 "parser.c" /* yacc.c:1646 */
16000  break;
16001 
16002  case 1369:
16003 #line 9752 "parser.y" /* yacc.c:1646 */
16004  {
16005  if (current_program->nested_level) {
16006  cb_error (_("%s is invalid in nested program"), "USE AT");
16007  }
16008  }
16009 #line 15931 "parser.c" /* yacc.c:1646 */
16010  break;
16011 
16012  case 1370:
16013 #line 9761 "parser.y" /* yacc.c:1646 */
16014  {
16015  emit_statement (cb_build_comment ("USE AT PROGRAM START"));
16016  /* emit_entry ("_START", 0, NULL); */
16017  PENDING ("USE AT PROGRAM START");
16018  }
16019 #line 15941 "parser.c" /* yacc.c:1646 */
16020  break;
16021 
16022  case 1371:
16023 #line 9767 "parser.y" /* yacc.c:1646 */
16024  {
16025  emit_statement (cb_build_comment ("USE AT PROGRAM END"));
16026  /* emit_entry ("_END", 0, NULL); */
16027  PENDING ("USE AT PROGRAM END");
16028  }
16029 #line 15951 "parser.c" /* yacc.c:1646 */
16030  break;
16031 
16032  case 1372:
16033 #line 9777 "parser.y" /* yacc.c:1646 */
16034  {
16035  current_section->flag_real_label = 1;
16036  emit_statement (cb_build_comment ("USE BEFORE REPORTING"));
16037  PENDING ("USE BEFORE REPORTING");
16038  }
16039 #line 15961 "parser.c" /* yacc.c:1646 */
16040  break;
16041 
16042  case 1373:
16043 #line 9786 "parser.y" /* yacc.c:1646 */
16044  {
16045  current_section->flag_real_label = 1;
16046  emit_statement (cb_build_comment ("USE AFTER EXCEPTION CONDITION"));
16047  PENDING ("USE AFTER EXCEPTION CONDITION");
16048  }
16049 #line 15971 "parser.c" /* yacc.c:1646 */
16050  break;
16051 
16052  case 1376:
16053 #line 9802 "parser.y" /* yacc.c:1646 */
16054  {
16055  begin_statement ("WRITE", TERM_WRITE);
16056  /* Special in debugging mode */
16058  start_debug = 0;
16059  }
16060 #line 15982 "parser.c" /* yacc.c:1646 */
16061  break;
16062 
16063  case 1378:
16064 #line 9814 "parser.y" /* yacc.c:1646 */
16065  {
16066  if (CB_VALID_TREE ((yyvsp[-4]))) {
16067  cb_emit_write ((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]));
16068  }
16070  }
16071 #line 15993 "parser.c" /* yacc.c:1646 */
16072  break;
16073 
16074  case 1379:
16075 #line 9823 "parser.y" /* yacc.c:1646 */
16076  { (yyval) = NULL; }
16077 #line 15999 "parser.c" /* yacc.c:1646 */
16078  break;
16079 
16080  case 1380:
16081 #line 9824 "parser.y" /* yacc.c:1646 */
16082  { (yyval) = (yyvsp[0]); }
16083 #line 16005 "parser.c" /* yacc.c:1646 */
16084  break;
16085 
16086  case 1381:
16087 #line 9829 "parser.y" /* yacc.c:1646 */
16088  {
16089  (yyval) = cb_int0;
16090  }
16091 #line 16013 "parser.c" /* yacc.c:1646 */
16092  break;
16093 
16094  case 1382:
16095 #line 9833 "parser.y" /* yacc.c:1646 */
16096  {
16097  (yyval) = cb_build_write_advancing_lines ((yyvsp[-3]), (yyvsp[-1]));
16098  }
16099 #line 16021 "parser.c" /* yacc.c:1646 */
16100  break;
16101 
16102  case 1383:
16103 #line 9837 "parser.y" /* yacc.c:1646 */
16104  {
16105  (yyval) = cb_build_write_advancing_mnemonic ((yyvsp[-2]), (yyvsp[0]));
16106  }
16107 #line 16029 "parser.c" /* yacc.c:1646 */
16108  break;
16109 
16110  case 1384:
16111 #line 9841 "parser.y" /* yacc.c:1646 */
16112  {
16113  (yyval) = cb_build_write_advancing_page ((yyvsp[-2]));
16114  }
16115 #line 16037 "parser.c" /* yacc.c:1646 */
16116  break;
16117 
16118  case 1385:
16119 #line 9847 "parser.y" /* yacc.c:1646 */
16120  { (yyval) = CB_BEFORE; }
16121 #line 16043 "parser.c" /* yacc.c:1646 */
16122  break;
16123 
16124  case 1386:
16125 #line 9848 "parser.y" /* yacc.c:1646 */
16126  { (yyval) = CB_AFTER; }
16127 #line 16049 "parser.c" /* yacc.c:1646 */
16128  break;
16129 
16130  case 1389:
16131 #line 9858 "parser.y" /* yacc.c:1646 */
16132  {
16133  TERMINATOR_WARNING ((yyvsp[(-2) - (0)]), WRITE);
16134  }
16135 #line 16057 "parser.c" /* yacc.c:1646 */
16136  break;
16137 
16138  case 1390:
16139 #line 9862 "parser.y" /* yacc.c:1646 */
16140  {
16141  TERMINATOR_CLEAR ((yyvsp[(-2) - (1)]), WRITE);
16142  }
16143 #line 16065 "parser.c" /* yacc.c:1646 */
16144  break;
16145 
16146  case 1393:
16147 #line 9879 "parser.y" /* yacc.c:1646 */
16148  {
16149  current_statement->handler_id = COB_EC_IMP_ACCEPT;
16150  current_statement->handler1 = (yyvsp[0]);
16151  }
16152 #line 16074 "parser.c" /* yacc.c:1646 */
16153  break;
16154 
16155  case 1397:
16156 #line 9894 "parser.y" /* yacc.c:1646 */
16157  {
16158  current_statement->handler_id = COB_EC_IMP_ACCEPT;
16159  current_statement->handler2 = (yyvsp[0]);
16160  }
16161 #line 16083 "parser.c" /* yacc.c:1646 */
16162  break;
16163 
16164  case 1402:
16165 #line 9912 "parser.y" /* yacc.c:1646 */
16166  {
16167  current_statement->handler_id = COB_EC_IMP_DISPLAY;
16168  current_statement->handler1 = (yyvsp[0]);
16169  }
16170 #line 16092 "parser.c" /* yacc.c:1646 */
16171  break;
16172 
16173  case 1404:
16174 #line 9922 "parser.y" /* yacc.c:1646 */
16175  {
16176  current_statement->handler_id = COB_EC_IMP_DISPLAY;
16177  current_statement->handler2 = (yyvsp[0]);
16178  }
16179 #line 16101 "parser.c" /* yacc.c:1646 */
16180  break;
16181 
16182  case 1407:
16183 #line 9937 "parser.y" /* yacc.c:1646 */
16184  {
16185  current_statement->handler_id = COB_EC_SIZE;
16186  current_statement->handler1 = (yyvsp[0]);
16187  }
16188 #line 16110 "parser.c" /* yacc.c:1646 */
16189  break;
16190 
16191  case 1409:
16192 #line 9947 "parser.y" /* yacc.c:1646 */
16193  {
16194  current_statement->handler_id = COB_EC_SIZE;
16195  current_statement->handler2 = (yyvsp[0]);
16196  }
16197 #line 16119 "parser.c" /* yacc.c:1646 */
16198  break;
16199 
16200  case 1412:
16201 #line 9964 "parser.y" /* yacc.c:1646 */
16202  {
16203  current_statement->handler_id = COB_EC_OVERFLOW;
16204  current_statement->handler1 = (yyvsp[0]);
16205  }
16206 #line 16128 "parser.c" /* yacc.c:1646 */
16207  break;
16208 
16209  case 1414:
16210 #line 9975 "parser.y" /* yacc.c:1646 */
16211  {
16212  current_statement->handler_id = COB_EC_OVERFLOW;
16213  current_statement->handler2 = (yyvsp[0]);
16214  }
16215 #line 16137 "parser.c" /* yacc.c:1646 */
16216  break;
16217 
16218  case 1420:
16219 #line 9998 "parser.y" /* yacc.c:1646 */
16220  {
16221  current_statement->handler_id = COB_EC_I_O_AT_END;
16222  current_statement->handler1 = (yyvsp[0]);
16223  }
16224 #line 16146 "parser.c" /* yacc.c:1646 */
16225  break;
16226 
16227  case 1421:
16228 #line 10007 "parser.y" /* yacc.c:1646 */
16229  {
16230  current_statement->handler_id = COB_EC_I_O_AT_END;
16231  current_statement->handler2 = (yyvsp[0]);
16232  }
16233 #line 16155 "parser.c" /* yacc.c:1646 */
16234  break;
16235 
16236  case 1425:
16237 #line 10024 "parser.y" /* yacc.c:1646 */
16238  {
16239  current_statement->handler_id = COB_EC_I_O_EOP;
16240  current_statement->handler1 = (yyvsp[0]);
16241  }
16242 #line 16164 "parser.c" /* yacc.c:1646 */
16243  break;
16244 
16245  case 1426:
16246 #line 10033 "parser.y" /* yacc.c:1646 */
16247  {
16248  current_statement->handler_id = COB_EC_I_O_EOP;
16249  current_statement->handler2 = (yyvsp[0]);
16250  }
16251 #line 16173 "parser.c" /* yacc.c:1646 */
16252  break;
16253 
16254  case 1429:
16255 #line 10050 "parser.y" /* yacc.c:1646 */
16256  {
16257  current_statement->handler_id = COB_EC_I_O_INVALID_KEY;
16258  current_statement->handler1 = (yyvsp[0]);
16259  }
16260 #line 16182 "parser.c" /* yacc.c:1646 */
16261  break;
16262 
16263  case 1431:
16264 #line 10060 "parser.y" /* yacc.c:1646 */
16265  {
16266  current_statement->handler_id = COB_EC_I_O_INVALID_KEY;
16267  current_statement->handler2 = (yyvsp[0]);
16268  }
16269 #line 16191 "parser.c" /* yacc.c:1646 */
16270  break;
16271 
16272  case 1432:
16273 #line 10070 "parser.y" /* yacc.c:1646 */
16274  {
16275  (yyval) = cb_one;
16276  }
16277 #line 16199 "parser.c" /* yacc.c:1646 */
16278  break;
16279 
16280  case 1433:
16281 #line 10074 "parser.y" /* yacc.c:1646 */
16282  {
16283  (yyval) = (yyvsp[-1]);
16284  }
16285 #line 16207 "parser.c" /* yacc.c:1646 */
16286  break;
16287 
16288  case 1434:
16289 #line 10084 "parser.y" /* yacc.c:1646 */
16290  {
16291  (yyval) = cb_build_cond ((yyvsp[0]));
16292  }
16293 #line 16215 "parser.c" /* yacc.c:1646 */
16294  break;
16295 
16296  case 1435:
16297 #line 10091 "parser.y" /* yacc.c:1646 */
16298  {
16299  (yyval) = cb_build_expr ((yyvsp[0]));
16300  }
16301 #line 16223 "parser.c" /* yacc.c:1646 */
16302  break;
16303 
16304  case 1436:
16305 #line 10097 "parser.y" /* yacc.c:1646 */
16306  {
16307  current_expr = NULL;
16309  }
16310 #line 16232 "parser.c" /* yacc.c:1646 */
16311  break;
16312 
16313  case 1437:
16314 #line 10102 "parser.y" /* yacc.c:1646 */
16315  {
16316  (yyval) = cb_list_reverse (current_expr);
16317  }
16318 #line 16240 "parser.c" /* yacc.c:1646 */
16319  break;
16320 
16321  case 1441:
16322 #line 10115 "parser.y" /* yacc.c:1646 */
16323  {
16324  if (CB_REFERENCE_P ((yyvsp[0])) && CB_CLASS_NAME_P (cb_ref ((yyvsp[0])))) {
16325  push_expr ('C', (yyvsp[0]));
16326  } else {
16327  push_expr ('x', (yyvsp[0]));
16328  }
16329  }
16330 #line 16252 "parser.c" /* yacc.c:1646 */
16331  break;
16332 
16333  case 1442:
16334 #line 10123 "parser.y" /* yacc.c:1646 */
16335  { push_expr ('(', NULL); }
16336 #line 16258 "parser.c" /* yacc.c:1646 */
16337  break;
16338 
16339  case 1443:
16340 #line 10124 "parser.y" /* yacc.c:1646 */
16341  { push_expr (')', NULL); }
16342 #line 16264 "parser.c" /* yacc.c:1646 */
16343  break;
16344 
16345  case 1444:
16346 #line 10126 "parser.y" /* yacc.c:1646 */
16347  { push_expr ('+', NULL); }
16348 #line 16270 "parser.c" /* yacc.c:1646 */
16349  break;
16350 
16351  case 1445:
16352 #line 10127 "parser.y" /* yacc.c:1646 */
16353  { push_expr ('-', NULL); }
16354 #line 16276 "parser.c" /* yacc.c:1646 */
16355  break;
16356 
16357  case 1446:
16358 #line 10128 "parser.y" /* yacc.c:1646 */
16359  { push_expr ('*', NULL); }
16360 #line 16282 "parser.c" /* yacc.c:1646 */
16361  break;
16362 
16363  case 1447:
16364 #line 10129 "parser.y" /* yacc.c:1646 */
16365  { push_expr ('/', NULL); }
16366 #line 16288 "parser.c" /* yacc.c:1646 */
16367  break;
16368 
16369  case 1448:
16370 #line 10130 "parser.y" /* yacc.c:1646 */
16371  { push_expr ('^', NULL); }
16372 #line 16294 "parser.c" /* yacc.c:1646 */
16373  break;
16374 
16375  case 1449:
16376 #line 10132 "parser.y" /* yacc.c:1646 */
16377  { push_expr ('=', NULL); }
16378 #line 16300 "parser.c" /* yacc.c:1646 */
16379  break;
16380 
16381  case 1450:
16382 #line 10133 "parser.y" /* yacc.c:1646 */
16383  { push_expr ('>', NULL); }
16384 #line 16306 "parser.c" /* yacc.c:1646 */
16385  break;
16386 
16387  case 1451:
16388 #line 10134 "parser.y" /* yacc.c:1646 */
16389  { push_expr ('<', NULL); }
16390 #line 16312 "parser.c" /* yacc.c:1646 */
16391  break;
16392 
16393  case 1452:
16394 #line 10135 "parser.y" /* yacc.c:1646 */
16395  { push_expr (']', NULL); }
16396 #line 16318 "parser.c" /* yacc.c:1646 */
16397  break;
16398 
16399  case 1453:
16400 #line 10136 "parser.y" /* yacc.c:1646 */
16401  { push_expr ('[', NULL); }
16402 #line 16324 "parser.c" /* yacc.c:1646 */
16403  break;
16404 
16405  case 1454:
16406 #line 10137 "parser.y" /* yacc.c:1646 */
16407  { push_expr ('~', NULL); }
16408 #line 16330 "parser.c" /* yacc.c:1646 */
16409  break;
16410 
16411  case 1455:
16412 #line 10139 "parser.y" /* yacc.c:1646 */
16413  { push_expr ('!', NULL); }
16414 #line 16336 "parser.c" /* yacc.c:1646 */
16415  break;
16416 
16417  case 1456:
16418 #line 10140 "parser.y" /* yacc.c:1646 */
16419  { push_expr ('&', NULL); }
16420 #line 16342 "parser.c" /* yacc.c:1646 */
16421  break;
16422 
16423  case 1457:
16424 #line 10141 "parser.y" /* yacc.c:1646 */
16425  { push_expr ('|', NULL); }
16426 #line 16348 "parser.c" /* yacc.c:1646 */
16427  break;
16428 
16429  case 1458:
16430 #line 10143 "parser.y" /* yacc.c:1646 */
16431  { push_expr ('O', NULL); }
16432 #line 16354 "parser.c" /* yacc.c:1646 */
16433  break;
16434 
16435  case 1459:
16436 #line 10144 "parser.y" /* yacc.c:1646 */
16437  { push_expr ('9', NULL); }
16438 #line 16360 "parser.c" /* yacc.c:1646 */
16439  break;
16440 
16441  case 1460:
16442 #line 10145 "parser.y" /* yacc.c:1646 */
16443  { push_expr ('A', NULL); }
16444 #line 16366 "parser.c" /* yacc.c:1646 */
16445  break;
16446 
16447  case 1461:
16448 #line 10146 "parser.y" /* yacc.c:1646 */
16449  { push_expr ('L', NULL); }
16450 #line 16372 "parser.c" /* yacc.c:1646 */
16451  break;
16452 
16453  case 1462:
16454 #line 10147 "parser.y" /* yacc.c:1646 */
16455  { push_expr ('U', NULL); }
16456 #line 16378 "parser.c" /* yacc.c:1646 */
16457  break;
16458 
16459  case 1463:
16460 #line 10150 "parser.y" /* yacc.c:1646 */
16461  { push_expr ('P', NULL); }
16462 #line 16384 "parser.c" /* yacc.c:1646 */
16463  break;
16464 
16465  case 1464:
16466 #line 10151 "parser.y" /* yacc.c:1646 */
16467  { push_expr ('N', NULL); }
16468 #line 16390 "parser.c" /* yacc.c:1646 */
16469  break;
16470 
16471  case 1473:
16472 #line 10181 "parser.y" /* yacc.c:1646 */
16473  {
16474  (yyval) = CB_LIST_INIT ((yyvsp[0]));
16475  }
16476 #line 16398 "parser.c" /* yacc.c:1646 */
16477  break;
16478 
16479  case 1474:
16480 #line 10185 "parser.y" /* yacc.c:1646 */
16481  {
16482  (yyval) = cb_list_add ((yyvsp[-2]), (yyvsp[0]));
16483  }
16484 #line 16406 "parser.c" /* yacc.c:1646 */
16485  break;
16486 
16487  case 1478:
16488 #line 10196 "parser.y" /* yacc.c:1646 */
16489  { (yyval) = cb_build_binary_op ((yyvsp[-2]), '+', (yyvsp[0])); }
16490 #line 16412 "parser.c" /* yacc.c:1646 */
16491  break;
16492 
16493  case 1479:
16494 #line 10197 "parser.y" /* yacc.c:1646 */
16495  { (yyval) = cb_build_binary_op ((yyvsp[-2]), '-', (yyvsp[0])); }
16496 #line 16418 "parser.c" /* yacc.c:1646 */
16497  break;
16498 
16499  case 1480:
16500 #line 10198 "parser.y" /* yacc.c:1646 */
16501  { (yyval) = (yyvsp[0]); }
16502 #line 16424 "parser.c" /* yacc.c:1646 */
16503  break;
16504 
16505  case 1481:
16506 #line 10202 "parser.y" /* yacc.c:1646 */
16507  { (yyval) = cb_build_binary_op ((yyvsp[-2]), '*', (yyvsp[0])); }
16508 #line 16430 "parser.c" /* yacc.c:1646 */
16509  break;
16510 
16511  case 1482:
16512 #line 10203 "parser.y" /* yacc.c:1646 */
16513  { (yyval) = cb_build_binary_op ((yyvsp[-2]), '/', (yyvsp[0])); }
16514 #line 16436 "parser.c" /* yacc.c:1646 */
16515  break;
16516 
16517  case 1483:
16518 #line 10204 "parser.y" /* yacc.c:1646 */
16519  { (yyval) = (yyvsp[0]); }
16520 #line 16442 "parser.c" /* yacc.c:1646 */
16521  break;
16522 
16523  case 1484:
16524 #line 10209 "parser.y" /* yacc.c:1646 */
16525  {
16526  (yyval) = cb_build_binary_op ((yyvsp[-2]), '^', (yyvsp[0]));
16527  }
16528 #line 16450 "parser.c" /* yacc.c:1646 */
16529  break;
16530 
16531  case 1485:
16532 #line 10212 "parser.y" /* yacc.c:1646 */
16533  { (yyval) = (yyvsp[0]); }
16534 #line 16456 "parser.c" /* yacc.c:1646 */
16535  break;
16536 
16537  case 1486:
16538 #line 10216 "parser.y" /* yacc.c:1646 */
16539  { (yyval) = (yyvsp[0]); }
16540 #line 16462 "parser.c" /* yacc.c:1646 */
16541  break;
16542 
16543  case 1487:
16544 #line 10217 "parser.y" /* yacc.c:1646 */
16545  { (yyval) = cb_build_binary_op (cb_zero, '-', (yyvsp[0])); }
16546 #line 16468 "parser.c" /* yacc.c:1646 */
16547  break;
16548 
16549  case 1488:
16550 #line 10218 "parser.y" /* yacc.c:1646 */
16551  { (yyval) = (yyvsp[0]); }
16552 #line 16474 "parser.c" /* yacc.c:1646 */
16553  break;
16554 
16555  case 1489:
16556 #line 10221 "parser.y" /* yacc.c:1646 */
16557  { (yyval) = (yyvsp[-1]); }
16558 #line 16480 "parser.c" /* yacc.c:1646 */
16559  break;
16560 
16561  case 1490:
16562 #line 10222 "parser.y" /* yacc.c:1646 */
16563  { (yyval) = (yyvsp[0]); }
16564 #line 16486 "parser.c" /* yacc.c:1646 */
16565  break;
16566 
16567  case 1491:
16568 #line 10233 "parser.y" /* yacc.c:1646 */
16569  {
16570  if (current_linage > 1) {
16571  cb_error (_("LINAGE-COUNTER must be qualified here"));
16572  (yyval) = cb_error_node;
16573  } else if (current_linage == 0) {
16574  cb_error (_("Invalid LINAGE-COUNTER usage"));
16575  (yyval) = cb_error_node;
16576  } else {
16577  (yyval) = linage_file->linage_ctr;
16578  }
16579  }
16580 #line 16502 "parser.c" /* yacc.c:1646 */
16581  break;
16582 
16583  case 1492:
16584 #line 10245 "parser.y" /* yacc.c:1646 */
16585  {
16586  if (CB_FILE_P (cb_ref ((yyvsp[0])))) {
16587  (yyval) = CB_FILE (cb_ref ((yyvsp[0])))->linage_ctr;
16588  } else {
16589  cb_error_x ((yyvsp[0]), _("'%s' is not a file name"), CB_NAME ((yyvsp[0])));
16590  (yyval) = cb_error_node;
16591  }
16592  }
16593 #line 16515 "parser.c" /* yacc.c:1646 */
16594  break;
16595 
16596  case 1493:
16597 #line 10254 "parser.y" /* yacc.c:1646 */
16598  {
16599  if (report_count > 1) {
16600  cb_error (_("LINE-COUNTER must be qualified here"));
16601  (yyval) = cb_error_node;
16602  } else if (report_count == 0) {
16603  cb_error (_("Invalid LINE-COUNTER usage"));
16604  (yyval) = cb_error_node;
16605  } else {
16606  (yyval) = report_instance->line_counter;
16607  }
16608  }
16609 #line 16531 "parser.c" /* yacc.c:1646 */
16610  break;
16611 
16612  case 1494:
16613 #line 10266 "parser.y" /* yacc.c:1646 */
16614  {
16615  if (CB_REPORT_P (cb_ref ((yyvsp[0])))) {
16616  (yyval) = CB_REPORT (cb_ref ((yyvsp[0])))->line_counter;
16617  } else {
16618  cb_error_x ((yyvsp[0]), _("'%s' is not a report name"), CB_NAME ((yyvsp[0])));
16619  (yyval) = cb_error_node;
16620  }
16621  }
16622 #line 16544 "parser.c" /* yacc.c:1646 */
16623  break;
16624 
16625  case 1495:
16626 #line 10275 "parser.y" /* yacc.c:1646 */
16627  {
16628  if (report_count > 1) {
16629  cb_error (_("PAGE-COUNTER must be qualified here"));
16630  (yyval) = cb_error_node;
16631  } else if (report_count == 0) {
16632  cb_error (_("Invalid PAGE-COUNTER usage"));
16633  (yyval) = cb_error_node;
16634  } else {
16635  (yyval) = report_instance->page_counter;
16636  }
16637  }
16638 #line 16560 "parser.c" /* yacc.c:1646 */
16639  break;
16640 
16641  case 1496:
16642 #line 10287 "parser.y" /* yacc.c:1646 */
16643  {
16644  if (CB_REPORT_P (cb_ref ((yyvsp[0])))) {
16645  (yyval) = CB_REPORT (cb_ref ((yyvsp[0])))->page_counter;
16646  } else {
16647  cb_error_x ((yyvsp[0]), _("'%s' is not a report name"), CB_NAME ((yyvsp[0])));
16648  (yyval) = cb_error_node;
16649  }
16650  }
16651 #line 16573 "parser.c" /* yacc.c:1646 */
16652  break;
16653 
16654  case 1497:
16655 #line 10301 "parser.y" /* yacc.c:1646 */
16656  { (yyval) = (yyvsp[0]); }
16657 #line 16579 "parser.c" /* yacc.c:1646 */
16658  break;
16659 
16660  case 1498:
16661 #line 10303 "parser.y" /* yacc.c:1646 */
16662  { (yyval) = cb_list_append ((yyvsp[-1]), (yyvsp[0])); }
16663 #line 16585 "parser.c" /* yacc.c:1646 */
16664  break;
16665 
16666  case 1499:
16667 #line 10308 "parser.y" /* yacc.c:1646 */
16668  {
16669  (yyval) = CB_BUILD_PAIR ((yyvsp[0]), (yyvsp[-1]));
16670  }
16671 #line 16593 "parser.c" /* yacc.c:1646 */
16672  break;
16673 
16674  case 1500:
16675 #line 10316 "parser.y" /* yacc.c:1646 */
16676  { cb_build_identifier ((yyvsp[0]), 0); }
16677 #line 16599 "parser.c" /* yacc.c:1646 */
16678  break;
16679 
16680  case 1501:
16681 #line 10323 "parser.y" /* yacc.c:1646 */
16682  {
16683  cb_tree x;
16684 
16685  x = cb_ref ((yyvsp[0]));
16686  if (!CB_FIELD_P (x)) {
16687  (yyval) = cb_error_node;
16688  } else if (!CB_FIELD (x)->index_list) {
16689  cb_error_x ((yyvsp[0]), _("'%s' not indexed"), cb_name ((yyvsp[0])));
16690  cb_error_x (x, _("'%s' defined here"), cb_name (x));
16691  (yyval) = cb_error_node;
16692  } else {
16693  (yyval) = (yyvsp[0]);
16694  }
16695  }
16696 #line 16618 "parser.c" /* yacc.c:1646 */
16697  break;
16698 
16699  case 1502:
16700 #line 10343 "parser.y" /* yacc.c:1646 */
16701  {
16702  (yyval) = CB_LIST_INIT ((yyvsp[0]));
16703  }
16704 #line 16626 "parser.c" /* yacc.c:1646 */
16705  break;
16706 
16707  case 1503:
16708 #line 10347 "parser.y" /* yacc.c:1646 */
16709  {
16710  cb_tree l;
16711 
16712  if (CB_VALID_TREE ((yyvsp[0]))) {
16713  for (l = (yyvsp[-1]); l; l = CB_CHAIN (l)) {
16714  if (CB_VALID_TREE (CB_VALUE (l)) &&
16715  !strcasecmp (CB_NAME ((yyvsp[0])), CB_NAME (CB_VALUE (l)))) {
16716  cb_error_x ((yyvsp[0]), _("Multiple reference to '%s' "),
16717  CB_NAME ((yyvsp[0])));
16718  break;
16719  }
16720  }
16721  if (!l) {
16722  (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0]));
16723  }
16724  }
16725  }
16726 #line 16648 "parser.c" /* yacc.c:1646 */
16727  break;
16728 
16729  case 1504:
16730 #line 10368 "parser.y" /* yacc.c:1646 */
16731  {
16732  if (CB_FILE_P (cb_ref ((yyvsp[0])))) {
16733  (yyval) = (yyvsp[0]);
16734  } else {
16735  cb_error_x ((yyvsp[0]), _("'%s' is not a file name"), CB_NAME ((yyvsp[0])));
16736  (yyval) = cb_error_node;
16737  }
16738  }
16739 #line 16661 "parser.c" /* yacc.c:1646 */
16740  break;
16741 
16742  case 1505:
16743 #line 10409 "parser.y" /* yacc.c:1646 */
16744  {
16745  if (CB_REPORT_P (cb_ref ((yyvsp[0])))) {
16746  (yyval) = (yyvsp[0]);
16747  } else {
16748  cb_error_x ((yyvsp[0]), _("'%s' is not a report name"), CB_NAME ((yyvsp[0])));
16749  (yyval) = cb_error_node;
16750  }
16751  }
16752 #line 16674 "parser.c" /* yacc.c:1646 */
16753  break;
16754 
16755  case 1506:
16756 #line 10422 "parser.y" /* yacc.c:1646 */
16757  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
16758 #line 16680 "parser.c" /* yacc.c:1646 */
16759  break;
16760 
16761  case 1507:
16762 #line 10424 "parser.y" /* yacc.c:1646 */
16763  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
16764 #line 16686 "parser.c" /* yacc.c:1646 */
16765  break;
16766 
16767  case 1508:
16768 #line 10428 "parser.y" /* yacc.c:1646 */
16769  { (yyval) = (yyvsp[0]); }
16770 #line 16692 "parser.c" /* yacc.c:1646 */
16771  break;
16772 
16773  case 1509:
16774 #line 10434 "parser.y" /* yacc.c:1646 */
16775  { (yyval) = NULL; }
16776 #line 16698 "parser.c" /* yacc.c:1646 */
16777  break;
16778 
16779  case 1510:
16780 #line 10436 "parser.y" /* yacc.c:1646 */
16781  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
16782 #line 16704 "parser.c" /* yacc.c:1646 */
16783  break;
16784 
16785  case 1511:
16786 #line 10441 "parser.y" /* yacc.c:1646 */
16787  {
16788  (yyval) = (yyvsp[0]);
16789  CB_REFERENCE ((yyval))->offset = CB_TREE (current_section);
16790  CB_REFERENCE ((yyval))->flag_in_decl = !!in_declaratives;
16791  CB_REFERENCE ((yyval))->section = current_section;
16792  CB_REFERENCE ((yyval))->paragraph = current_paragraph;
16793  CB_ADD_TO_CHAIN ((yyval), current_program->label_list);
16794  }
16795 #line 16717 "parser.c" /* yacc.c:1646 */
16796  break;
16797 
16798  case 1514:
16799 #line 10455 "parser.y" /* yacc.c:1646 */
16800  {
16801  CB_REFERENCE ((yyvsp[-2]))->chain = (yyvsp[0]);
16802  }
16803 #line 16725 "parser.c" /* yacc.c:1646 */
16804  break;
16805 
16806  case 1515:
16807 #line 10462 "parser.y" /* yacc.c:1646 */
16808  {
16809  (yyval) = cb_build_reference ((char *)(CB_LITERAL ((yyvsp[0]))->data));
16810  (yyval)->source_file = (yyvsp[0])->source_file;
16811  (yyval)->source_line = (yyvsp[0])->source_line;
16812  }
16813 #line 16735 "parser.c" /* yacc.c:1646 */
16814  break;
16815 
16816  case 1516:
16817 #line 10472 "parser.y" /* yacc.c:1646 */
16818  { (yyval) = CB_LIST_INIT ((yyvsp[0])); }
16819 #line 16741 "parser.c" /* yacc.c:1646 */
16820  break;
16821 
16822  case 1517:
16823 #line 10473 "parser.y" /* yacc.c:1646 */
16824  { (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0])); }
16825 #line 16747 "parser.c" /* yacc.c:1646 */
16826  break;
16827 
16828  case 1518:
16829 #line 10478 "parser.y" /* yacc.c:1646 */
16830  {
16831  (yyval) = (yyvsp[0]);
16832  CB_ADD_TO_CHAIN ((yyval), current_program->reference_list);
16833  }
16834 #line 16756 "parser.c" /* yacc.c:1646 */
16835  break;
16836 
16837  case 1519:
16838 #line 10486 "parser.y" /* yacc.c:1646 */
16839  {
16840  (yyval) = (yyvsp[0]);
16841  CB_ADD_TO_CHAIN ((yyval), current_program->reference_list);
16842  }
16843 #line 16765 "parser.c" /* yacc.c:1646 */
16844  break;
16845 
16846  case 1520:
16847 #line 10494 "parser.y" /* yacc.c:1646 */
16848  {
16849  (yyval) = CB_LIST_INIT ((yyvsp[0]));
16850  }
16851 #line 16773 "parser.c" /* yacc.c:1646 */
16852  break;
16853 
16854  case 1521:
16855 #line 10498 "parser.y" /* yacc.c:1646 */
16856  {
16857  (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0]));
16858  }
16859 #line 16781 "parser.c" /* yacc.c:1646 */
16860  break;
16861 
16862  case 1522:
16863 #line 10505 "parser.y" /* yacc.c:1646 */
16864  {
16865  (yyval) = (yyvsp[0]);
16866  CB_REFERENCE((yyval))->flag_optional = 1;
16867  CB_ADD_TO_CHAIN ((yyval), current_program->reference_list);
16868  }
16869 #line 16791 "parser.c" /* yacc.c:1646 */
16870  break;
16871 
16872  case 1525:
16873 #line 10521 "parser.y" /* yacc.c:1646 */
16874  {
16875  if (CB_WORD_COUNT ((yyvsp[0])) > 0) {
16876  redefinition_error ((yyvsp[0]));
16877  (yyval) = cb_error_node;
16878  } else {
16879  (yyval) = (yyvsp[0]);
16880  }
16881  }
16882 #line 16804 "parser.c" /* yacc.c:1646 */
16883  break;
16884 
16885  case 1526:
16886 #line 10530 "parser.y" /* yacc.c:1646 */
16887  {
16888  yyclearin;
16889  yyerrok;
16890  (yyval) = cb_error_node;
16891  }
16892 #line 16814 "parser.c" /* yacc.c:1646 */
16893  break;
16894 
16895  case 1527:
16896 #line 10541 "parser.y" /* yacc.c:1646 */
16897  {
16898  if (CB_REFERENCE ((yyvsp[0]))->flag_duped || CB_WORD_COUNT ((yyvsp[0])) > 0) {
16899  redefinition_error ((yyvsp[0]));
16900  (yyval) = NULL;
16901  } else {
16902  CB_WORD_COUNT ((yyvsp[0]))++;
16903  (yyval) = (yyvsp[0]);
16904  }
16905  }
16906 #line 16828 "parser.c" /* yacc.c:1646 */
16907  break;
16908 
16909  case 1528:
16910 #line 10558 "parser.y" /* yacc.c:1646 */
16911  {
16912  (yyval) = CB_LIST_INIT ((yyvsp[0]));
16913  }
16914 #line 16836 "parser.c" /* yacc.c:1646 */
16915  break;
16916 
16917  case 1529:
16918 #line 10562 "parser.y" /* yacc.c:1646 */
16919  {
16920  (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0]));
16921  }
16922 #line 16844 "parser.c" /* yacc.c:1646 */
16923  break;
16924 
16925  case 1532:
16926 #line 10571 "parser.y" /* yacc.c:1646 */
16927  {
16928  (yyval) = cb_build_address ((yyvsp[0]));
16929  }
16930 #line 16852 "parser.c" /* yacc.c:1646 */
16931  break;
16932 
16933  case 1533:
16934 #line 10577 "parser.y" /* yacc.c:1646 */
16935  { (yyval) = NULL; }
16936 #line 16858 "parser.c" /* yacc.c:1646 */
16937  break;
16938 
16939  case 1534:
16940 #line 10578 "parser.y" /* yacc.c:1646 */
16941  { (yyval) = (yyvsp[0]); }
16942 #line 16864 "parser.c" /* yacc.c:1646 */
16943  break;
16944 
16945  case 1535:
16946 #line 10583 "parser.y" /* yacc.c:1646 */
16947  {
16948  (yyval) = CB_LIST_INIT ((yyvsp[0]));
16949  }
16950 #line 16872 "parser.c" /* yacc.c:1646 */
16951  break;
16952 
16953  case 1536:
16954 #line 10587 "parser.y" /* yacc.c:1646 */
16955  {
16956  (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0]));
16957  }
16958 #line 16880 "parser.c" /* yacc.c:1646 */
16959  break;
16960 
16961  case 1541:
16962 #line 10598 "parser.y" /* yacc.c:1646 */
16963  {
16964  (yyval) = cb_build_length ((yyvsp[0]));
16965  }
16966 #line 16888 "parser.c" /* yacc.c:1646 */
16967  break;
16968 
16969  case 1542:
16970 #line 10602 "parser.y" /* yacc.c:1646 */
16971  {
16972  (yyval) = cb_build_length ((yyvsp[0]));
16973  }
16974 #line 16896 "parser.c" /* yacc.c:1646 */
16975  break;
16976 
16977  case 1543:
16978 #line 10606 "parser.y" /* yacc.c:1646 */
16979  {
16980  (yyval) = cb_build_length ((yyvsp[0]));
16981  }
16982 #line 16904 "parser.c" /* yacc.c:1646 */
16983  break;
16984 
16985  case 1544:
16986 #line 10610 "parser.y" /* yacc.c:1646 */
16987  {
16988  (yyval) = cb_build_ppointer ((yyvsp[0]));
16989  }
16990 #line 16912 "parser.c" /* yacc.c:1646 */
16991  break;
16992 
16993  case 1545:
16994 #line 10614 "parser.y" /* yacc.c:1646 */
16995  {
16996  (yyval) = cb_build_address ((yyvsp[0]));
16997  }
16998 #line 16920 "parser.c" /* yacc.c:1646 */
16999  break;
17000 
17001  case 1546:
17002 #line 10618 "parser.y" /* yacc.c:1646 */
17003  {
17004  cb_tree x;
17005  cb_tree switch_id;
17006 
17007  x = cb_ref ((yyvsp[0]));
17008  if (CB_VALID_TREE (x)) {
17009  if (CB_SYSTEM_NAME (x)->category != CB_SWITCH_NAME) {
17010  cb_error_x (x, _("Invalid mnemonic identifier"));
17011  (yyval) = cb_error_node;
17012  } else {
17013  switch_id = cb_int (CB_SYSTEM_NAME (x)->token);
17014  (yyval) = CB_BUILD_FUNCALL_1 ("cob_switch_value", switch_id);
17015  }
17016  } else {
17017  (yyval) = cb_error_node;
17018  }
17019  }
17020 #line 16942 "parser.c" /* yacc.c:1646 */
17021  break;
17022 
17023  case 1547:
17024 #line 10639 "parser.y" /* yacc.c:1646 */
17025  {
17026  (yyval) = CB_LIST_INIT ((yyvsp[0]));
17027  }
17028 #line 16950 "parser.c" /* yacc.c:1646 */
17029  break;
17030 
17031  case 1548:
17032 #line 10643 "parser.y" /* yacc.c:1646 */
17033  {
17034  (yyval) = cb_list_add ((yyvsp[-1]), (yyvsp[0]));
17035  }
17036 #line 16958 "parser.c" /* yacc.c:1646 */
17037  break;
17038 
17039  case 1556:
17040 #line 10660 "parser.y" /* yacc.c:1646 */
17041  {
17042  (yyval) = cb_build_length ((yyvsp[0]));
17043  }
17044 #line 16966 "parser.c" /* yacc.c:1646 */
17045  break;
17046 
17047  case 1557:
17048 #line 10664 "parser.y" /* yacc.c:1646 */
17049  {
17050  (yyval) = cb_build_length ((yyvsp[0]));
17051  }
17052 #line 16974 "parser.c" /* yacc.c:1646 */
17053  break;
17054 
17055  case 1558:
17056 #line 10668 "parser.y" /* yacc.c:1646 */
17057  {
17058  (yyval) = cb_build_length ((yyvsp[0]));
17059  }
17060 #line 16982 "parser.c" /* yacc.c:1646 */
17061  break;
17062 
17063  case 1567:
17064 #line 10702 "parser.y" /* yacc.c:1646 */
17065  {
17066  check_not_88_level ((yyvsp[0]));
17067  }
17068 #line 16990 "parser.c" /* yacc.c:1646 */
17069  break;
17070 
17071  case 1569:
17072 #line 10710 "parser.y" /* yacc.c:1646 */
17073  {
17074  check_not_88_level ((yyvsp[0]));
17075  }
17076 #line 16998 "parser.c" /* yacc.c:1646 */
17077  break;
17078 
17079  case 1572:
17080 #line 10719 "parser.y" /* yacc.c:1646 */
17081  {
17082  check_not_88_level ((yyvsp[0]));
17083  }
17084 #line 17006 "parser.c" /* yacc.c:1646 */
17085  break;
17086 
17087  case 1574:
17088 #line 10724 "parser.y" /* yacc.c:1646 */
17089  {
17090  (yyval) = cb_zero;
17091  }
17092 #line 17014 "parser.c" /* yacc.c:1646 */
17093  break;
17094 
17095  case 1575:
17096 #line 10731 "parser.y" /* yacc.c:1646 */
17097  {
17098  check_not_88_level ((yyvsp[0]));
17099  }
17100 #line 17022 "parser.c" /* yacc.c:1646 */
17101  break;
17102 
17103  case 1577:
17104 #line 10739 "parser.y" /* yacc.c:1646 */
17105  {
17106  check_not_88_level ((yyvsp[0]));
17107  }
17108 #line 17030 "parser.c" /* yacc.c:1646 */
17109  break;
17110 
17111  case 1579:
17112 #line 10747 "parser.y" /* yacc.c:1646 */
17113  {
17114  check_not_88_level ((yyvsp[0]));
17115  }
17116 #line 17038 "parser.c" /* yacc.c:1646 */
17117  break;
17118 
17119  case 1582:
17120 #line 10757 "parser.y" /* yacc.c:1646 */
17121  { (yyval) = cb_build_identifier ((yyvsp[0]), 0); }
17122 #line 17044 "parser.c" /* yacc.c:1646 */
17123  break;
17124 
17125  case 1583:
17126 #line 10761 "parser.y" /* yacc.c:1646 */
17127  { (yyval) = cb_build_identifier ((yyvsp[0]), 1); }
17128 #line 17050 "parser.c" /* yacc.c:1646 */
17129  break;
17130 
17131  case 1584:
17132 #line 10765 "parser.y" /* yacc.c:1646 */
17133  { (yyval) = (yyvsp[0]); }
17134 #line 17056 "parser.c" /* yacc.c:1646 */
17135  break;
17136 
17137  case 1585:
17138 #line 10766 "parser.y" /* yacc.c:1646 */
17139  { (yyval) = (yyvsp[-1]); }
17140 #line 17062 "parser.c" /* yacc.c:1646 */
17141  break;
17142 
17143  case 1586:
17144 #line 10770 "parser.y" /* yacc.c:1646 */
17145  { (yyval) = cb_build_identifier ((yyvsp[0]), 0); }
17146 #line 17068 "parser.c" /* yacc.c:1646 */
17147  break;
17148 
17149  case 1587:
17150 #line 10775 "parser.y" /* yacc.c:1646 */
17151  {
17152  (yyval) = (yyvsp[-2]);
17153  if (start_debug) {
17154  cb_check_field_debug ((yyvsp[-2]));
17155  }
17156  }
17157 #line 17079 "parser.c" /* yacc.c:1646 */
17158  break;
17159 
17160  case 1588:
17161 #line 10782 "parser.y" /* yacc.c:1646 */
17162  {
17163  (yyval) = (yyvsp[-1]);
17164  if (start_debug) {
17165  cb_check_field_debug ((yyvsp[-1]));
17166  }
17167  }
17168 #line 17090 "parser.c" /* yacc.c:1646 */
17169  break;
17170 
17171  case 1589:
17172 #line 10789 "parser.y" /* yacc.c:1646 */
17173  {
17174  (yyval) = (yyvsp[-1]);
17175  if (start_debug) {
17176  cb_check_field_debug ((yyvsp[-1]));
17177  }
17178  }
17179 #line 17101 "parser.c" /* yacc.c:1646 */
17180  break;
17181 
17182  case 1590:
17183 #line 10796 "parser.y" /* yacc.c:1646 */
17184  {
17185  (yyval) = (yyvsp[0]);
17186  if (start_debug) {
17187  cb_check_field_debug ((yyvsp[0]));
17188  }
17189  }
17190 #line 17112 "parser.c" /* yacc.c:1646 */
17191  break;
17192 
17193  case 1591:
17194 #line 10806 "parser.y" /* yacc.c:1646 */
17195  {
17196  (yyval) = cb_build_identifier ((yyvsp[0]), 0);
17197  }
17198 #line 17120 "parser.c" /* yacc.c:1646 */
17199  break;
17200 
17201  case 1592:
17202 #line 10813 "parser.y" /* yacc.c:1646 */
17203  {
17204  (yyval) = (yyvsp[-2]);
17205  if (CB_REFERENCE_P ((yyvsp[-2]))) {
17206  CB_REFERENCE ((yyvsp[-2]))->flag_target = 1;
17207  }
17208  if (start_debug) {
17209  cb_check_field_debug ((yyvsp[-2]));
17210  }
17211  }
17212 #line 17134 "parser.c" /* yacc.c:1646 */
17213  break;
17214 
17215  case 1593:
17216 #line 10823 "parser.y" /* yacc.c:1646 */
17217  {
17218  (yyval) = (yyvsp[-1]);
17219  if (CB_REFERENCE_P ((yyvsp[-1]))) {
17220  CB_REFERENCE ((yyvsp[-1]))->flag_target = 1;
17221  }
17222  if (start_debug) {
17223  cb_check_field_debug ((yyvsp[-1]));
17224  }
17225  }
17226 #line 17148 "parser.c" /* yacc.c:1646 */
17227  break;
17228 
17229  case 1594:
17230 #line 10833 "parser.y" /* yacc.c:1646 */
17231  {
17232  (yyval) = (yyvsp[-1]);
17233  if (CB_REFERENCE_P ((yyvsp[-1]))) {
17234  CB_REFERENCE ((yyvsp[-1]))->flag_target = 1;
17235  }
17236  if (start_debug) {
17237  cb_check_field_debug ((yyvsp[-1]));
17238  }
17239  }
17240 #line 17162 "parser.c" /* yacc.c:1646 */
17241  break;
17242 
17243  case 1595:
17244 #line 10843 "parser.y" /* yacc.c:1646 */
17245  {
17246  (yyval) = (yyvsp[0]);
17247  if (CB_REFERENCE_P ((yyvsp[0]))) {
17248  CB_REFERENCE ((yyvsp[0]))->flag_target = 1;
17249  }
17250  if (start_debug) {
17251  cb_check_field_debug ((yyvsp[0]));
17252  }
17253  }
17254 #line 17176 "parser.c" /* yacc.c:1646 */
17255  break;
17256 
17257  case 1596:
17258 #line 10856 "parser.y" /* yacc.c:1646 */
17259  {
17260  (yyval) = (yyvsp[0]);
17261  }
17262 #line 17184 "parser.c" /* yacc.c:1646 */
17263  break;
17264 
17265  case 1597:
17266 #line 10860 "parser.y" /* yacc.c:1646 */
17267  {
17268  (yyval) = (yyvsp[-2]);
17269  CB_REFERENCE ((yyvsp[-2]))->chain = (yyvsp[0]);
17270  }
17271 #line 17193 "parser.c" /* yacc.c:1646 */
17272  break;
17273 
17274  case 1598:
17275 #line 10868 "parser.y" /* yacc.c:1646 */
17276  {
17277  (yyval) = (yyvsp[-3]);
17278  CB_REFERENCE ((yyvsp[-3]))->subs = cb_list_reverse ((yyvsp[-1]));
17279  }
17280 #line 17202 "parser.c" /* yacc.c:1646 */
17281  break;
17282 
17283  case 1599:
17284 #line 10876 "parser.y" /* yacc.c:1646 */
17285  {
17286  CB_REFERENCE ((yyvsp[-4]))->offset = (yyvsp[-2]);
17287  }
17288 #line 17210 "parser.c" /* yacc.c:1646 */
17289  break;
17290 
17291  case 1600:
17292 #line 10880 "parser.y" /* yacc.c:1646 */
17293  {
17294  CB_REFERENCE ((yyvsp[-5]))->offset = (yyvsp[-3]);
17295  CB_REFERENCE ((yyvsp[-5]))->length = (yyvsp[-1]);
17296  }
17297 #line 17219 "parser.c" /* yacc.c:1646 */
17298  break;
17299 
17300  case 1601:
17301 #line 10890 "parser.y" /* yacc.c:1646 */
17302  {
17303  if (cb_tree_category ((yyvsp[0])) != CB_CATEGORY_NUMERIC
17304  || CB_LITERAL ((yyvsp[0]))->sign < 0
17305  || CB_LITERAL ((yyvsp[0]))->scale) {
17306  cb_error (_("Non-negative integer value expected"));
17307  (yyval) = cb_build_numeric_literal(-1, "1", 0);
17308  } else {
17309  (yyval) = (yyvsp[0]);
17310  }
17311  }
17312 #line 17234 "parser.c" /* yacc.c:1646 */
17313  break;
17314 
17315  case 1602:
17316 #line 10904 "parser.y" /* yacc.c:1646 */
17317  {
17318  int n;
17319 
17320  if (cb_tree_category ((yyvsp[0])) != CB_CATEGORY_NUMERIC) {
17321  cb_error (_("Integer value expected"));
17322  (yyval) = cb_int1;
17323  } else if (CB_LITERAL ((yyvsp[0]))->sign || CB_LITERAL ((yyvsp[0]))->scale) {
17324  cb_error (_("Integer value expected"));
17325  (yyval) = cb_int1;
17326  } else {
17327  n = cb_get_int ((yyvsp[0]));
17328  if (n < 1 || n > 256) {
17329  cb_error (_("Invalid SYMBOLIC integer"));
17330  (yyval) = cb_int1;
17331  } else {
17332  (yyval) = (yyvsp[0]);
17333  }
17334  }
17335  }
17336 #line 17258 "parser.c" /* yacc.c:1646 */
17337  break;
17338 
17339  case 1603:
17340 #line 10927 "parser.y" /* yacc.c:1646 */
17341  {
17342  int n;
17343 
17344  if (cb_tree_category ((yyvsp[0])) != CB_CATEGORY_NUMERIC
17345  || CB_LITERAL ((yyvsp[0]))->sign
17346  || CB_LITERAL ((yyvsp[0]))->scale) {
17347  cb_error (_("Unsigned positive integer value expected"));
17348  (yyval) = cb_int1;
17349  } else {
17350  n = cb_get_int ((yyvsp[0]));
17351  if (n < 1) {
17352  cb_error (_("Unsigned positive integer value expected"));
17353  (yyval) = cb_int1;
17354  } else {
17355  (yyval) = (yyvsp[0]);
17356  }
17357  }
17358  }
17359 #line 17281 "parser.c" /* yacc.c:1646 */
17360  break;
17361 
17362  case 1604:
17363 #line 10949 "parser.y" /* yacc.c:1646 */
17364  {
17365  int n;
17366 
17367  if (cb_tree_category ((yyvsp[0])) == CB_CATEGORY_NUMERIC) {
17368  if (CB_LITERAL ((yyvsp[0]))->sign || CB_LITERAL ((yyvsp[0]))->scale) {
17369  cb_error (_("Integer value expected"));
17370  } else {
17371  n = cb_get_int ((yyvsp[0]));
17372  if (n < 1 || n > 256) {
17373  cb_error (_("Invalid CLASS value"));
17374  }
17375  }
17376  }
17377  (yyval) = (yyvsp[0]);
17378  }
17379 #line 17301 "parser.c" /* yacc.c:1646 */
17380  break;
17381 
17382  case 1605:
17383 #line 10964 "parser.y" /* yacc.c:1646 */
17384  { (yyval) = cb_space; }
17385 #line 17307 "parser.c" /* yacc.c:1646 */
17386  break;
17387 
17388  case 1606:
17389 #line 10965 "parser.y" /* yacc.c:1646 */
17390  { (yyval) = cb_zero; }
17391 #line 17313 "parser.c" /* yacc.c:1646 */
17392  break;
17393 
17394  case 1607:
17395 #line 10966 "parser.y" /* yacc.c:1646 */
17396  { (yyval) = cb_quote; }
17397 #line 17319 "parser.c" /* yacc.c:1646 */
17398  break;
17399 
17400  case 1608:
17401 #line 10967 "parser.y" /* yacc.c:1646 */
17402  { (yyval) = cb_high; }
17403 #line 17325 "parser.c" /* yacc.c:1646 */
17404  break;
17405 
17406  case 1609:
17407 #line 10968 "parser.y" /* yacc.c:1646 */
17408  { (yyval) = cb_low; }
17409 #line 17331 "parser.c" /* yacc.c:1646 */
17410  break;
17411 
17412  case 1610:
17413 #line 10969 "parser.y" /* yacc.c:1646 */
17414  { (yyval) = cb_null; }
17415 #line 17337 "parser.c" /* yacc.c:1646 */
17416  break;
17417 
17418  case 1611:
17419 #line 10974 "parser.y" /* yacc.c:1646 */
17420  {
17421  (yyval) = (yyvsp[0]);
17422  }
17423 #line 17345 "parser.c" /* yacc.c:1646 */
17424  break;
17425 
17426  case 1612:
17427 #line 10978 "parser.y" /* yacc.c:1646 */
17428  {
17429  struct cb_literal *l;
17430 
17431  if (CB_LITERAL_P ((yyvsp[0]))) {
17432  /* We must not alter the original definition */
17433  l = cobc_parse_malloc (sizeof(struct cb_literal));
17434  *l = *(CB_LITERAL((yyvsp[0])));
17435  l->all = 1;
17436  (yyval) = CB_TREE (l);
17437  } else {
17438  (yyval) = (yyvsp[0]);
17439  }
17440  }
17441 #line 17363 "parser.c" /* yacc.c:1646 */
17442  break;
17443 
17444  case 1613:
17445 #line 10995 "parser.y" /* yacc.c:1646 */
17446  {
17447  (yyval) = (yyvsp[0]);
17448  }
17449 #line 17371 "parser.c" /* yacc.c:1646 */
17450  break;
17451 
17452  case 1614:
17453 #line 10999 "parser.y" /* yacc.c:1646 */
17454  {
17455  (yyval) = cb_concat_literals ((yyvsp[-2]), (yyvsp[0]));
17456  }
17457 #line 17379 "parser.c" /* yacc.c:1646 */
17458  break;
17459 
17460  case 1615:
17461 #line 11005 "parser.y" /* yacc.c:1646 */
17462  { (yyval) = (yyvsp[0]); }
17463 #line 17385 "parser.c" /* yacc.c:1646 */
17464  break;
17465 
17466  case 1616:
17467 #line 11006 "parser.y" /* yacc.c:1646 */
17468  { (yyval) = cb_space; }
17469 #line 17391 "parser.c" /* yacc.c:1646 */
17470  break;
17471 
17472  case 1617:
17473 #line 11007 "parser.y" /* yacc.c:1646 */
17474  { (yyval) = cb_zero; }
17475 #line 17397 "parser.c" /* yacc.c:1646 */
17476  break;
17477 
17478  case 1618:
17479 #line 11008 "parser.y" /* yacc.c:1646 */
17480  { (yyval) = cb_quote; }
17481 #line 17403 "parser.c" /* yacc.c:1646 */
17482  break;
17483 
17484  case 1619:
17485 #line 11009 "parser.y" /* yacc.c:1646 */
17486  { (yyval) = cb_high; }
17487 #line 17409 "parser.c" /* yacc.c:1646 */
17488  break;
17489 
17490  case 1620:
17491 #line 11010 "parser.y" /* yacc.c:1646 */
17492  { (yyval) = cb_low; }
17493 #line 17415 "parser.c" /* yacc.c:1646 */
17494  break;
17495 
17496  case 1621:
17497 #line 11011 "parser.y" /* yacc.c:1646 */
17498  { (yyval) = cb_null; }
17499 #line 17421 "parser.c" /* yacc.c:1646 */
17500  break;
17501 
17502  case 1622:
17503 #line 11018 "parser.y" /* yacc.c:1646 */
17504  {
17505  (yyval) = cb_build_intrinsic ((yyvsp[-1]), NULL, (yyvsp[0]), 0);
17506  }
17507 #line 17429 "parser.c" /* yacc.c:1646 */
17508  break;
17509 
17510  case 1623:
17511 #line 11022 "parser.y" /* yacc.c:1646 */
17512  {
17513  (yyval) = cb_build_intrinsic ((yyvsp[-4]), CB_LIST_INIT ((yyvsp[-2])), (yyvsp[0]), 0);
17514  }
17515 #line 17437 "parser.c" /* yacc.c:1646 */
17516  break;
17517 
17518  case 1624:
17519 #line 11026 "parser.y" /* yacc.c:1646 */
17520  {
17521  (yyval) = cb_build_intrinsic ((yyvsp[-4]), (yyvsp[-2]), (yyvsp[0]), 0);
17522  }
17523 #line 17445 "parser.c" /* yacc.c:1646 */
17524  break;
17525 
17526  case 1625:
17527 #line 11030 "parser.y" /* yacc.c:1646 */
17528  {
17529  (yyval) = cb_build_intrinsic ((yyvsp[-4]), (yyvsp[-2]), (yyvsp[0]), 0);
17530  }
17531 #line 17453 "parser.c" /* yacc.c:1646 */
17532  break;
17533 
17534  case 1626:
17535 #line 11034 "parser.y" /* yacc.c:1646 */
17536  {
17537  (yyval) = cb_build_intrinsic ((yyvsp[-3]), (yyvsp[-1]), NULL, 0);
17538  }
17539 #line 17461 "parser.c" /* yacc.c:1646 */
17540  break;
17541 
17542  case 1627:
17543 #line 11038 "parser.y" /* yacc.c:1646 */
17544  {
17545  (yyval) = cb_build_intrinsic ((yyvsp[-4]), (yyvsp[-2]), (yyvsp[0]), 0);
17546  }
17547 #line 17469 "parser.c" /* yacc.c:1646 */
17548  break;
17549 
17550  case 1628:
17551 #line 11042 "parser.y" /* yacc.c:1646 */
17552  {
17553  (yyval) = cb_build_intrinsic ((yyvsp[-4]), (yyvsp[-2]), (yyvsp[0]), 0);
17554  }
17555 #line 17477 "parser.c" /* yacc.c:1646 */
17556  break;
17557 
17558  case 1629:
17559 #line 11046 "parser.y" /* yacc.c:1646 */
17560  {
17561  (yyval) = cb_build_intrinsic ((yyvsp[-4]), (yyvsp[-2]), (yyvsp[0]), 0);
17562  }
17563 #line 17485 "parser.c" /* yacc.c:1646 */
17564  break;
17565 
17566  case 1630:
17567 #line 11050 "parser.y" /* yacc.c:1646 */
17568  {
17569  (yyval) = cb_build_intrinsic ((yyvsp[-4]), (yyvsp[-2]), (yyvsp[0]), 0);
17570  }
17571 #line 17493 "parser.c" /* yacc.c:1646 */
17572  break;
17573 
17574  case 1631:
17575 #line 11054 "parser.y" /* yacc.c:1646 */
17576  {
17577  (yyval) = cb_build_intrinsic ((yyvsp[-4]), (yyvsp[-2]), (yyvsp[0]), 0);
17578  }
17579 #line 17501 "parser.c" /* yacc.c:1646 */
17580  break;
17581 
17582  case 1632:
17583 #line 11058 "parser.y" /* yacc.c:1646 */
17584  {
17585  (yyval) = cb_build_intrinsic ((yyvsp[-1]), (yyvsp[0]), NULL, 0);
17586  }
17587 #line 17509 "parser.c" /* yacc.c:1646 */
17588  break;
17589 
17590  case 1633:
17591 #line 11062 "parser.y" /* yacc.c:1646 */
17592  {
17593  (yyval) = cb_build_intrinsic ((yyvsp[-1]), (yyvsp[0]), NULL, 1);
17594  }
17595 #line 17517 "parser.c" /* yacc.c:1646 */
17596  break;
17597 
17598  case 1643:
17599 #line 11087 "parser.y" /* yacc.c:1646 */
17600  {
17601  (yyval) = NULL;
17602  }
17603 #line 17525 "parser.c" /* yacc.c:1646 */
17604  break;
17605 
17606  case 1644:
17607 #line 11091 "parser.y" /* yacc.c:1646 */
17608  {
17609  (yyval) = CB_BUILD_PAIR ((yyvsp[-2]), NULL);
17610  }
17611 #line 17533 "parser.c" /* yacc.c:1646 */
17612  break;
17613 
17614  case 1645:
17615 #line 11095 "parser.y" /* yacc.c:1646 */
17616  {
17617  (yyval) = CB_BUILD_PAIR ((yyvsp[-3]), (yyvsp[-1]));
17618  }
17619 #line 17541 "parser.c" /* yacc.c:1646 */
17620  break;
17621 
17622  case 1646:
17623 #line 11102 "parser.y" /* yacc.c:1646 */
17624  {
17625  (yyval) = NULL;
17626  }
17627 #line 17549 "parser.c" /* yacc.c:1646 */
17628  break;
17629 
17630  case 1647:
17631 #line 11106 "parser.y" /* yacc.c:1646 */
17632  {
17633  (yyval) = (yyvsp[-1]);
17634  }
17635 #line 17557 "parser.c" /* yacc.c:1646 */
17636  break;
17637 
17638  case 1648:
17639 #line 11110 "parser.y" /* yacc.c:1646 */
17640  {
17641  (yyval) = NULL;
17642  }
17643 #line 17565 "parser.c" /* yacc.c:1646 */
17644  break;
17645 
17646  case 1649:
17647 #line 11117 "parser.y" /* yacc.c:1646 */
17648  {
17649  cb_tree x;
17650 
17651  x = CB_LIST_INIT ((yyvsp[0]));
17652  (yyval) = cb_list_add (x, cb_int0);
17653  }
17654 #line 17576 "parser.c" /* yacc.c:1646 */
17655  break;
17656 
17657  case 1650:
17658 #line 11124 "parser.y" /* yacc.c:1646 */
17659  {
17660  cb_tree x;
17661 
17662  x = CB_LIST_INIT ((yyvsp[-2]));
17663  (yyval) = cb_list_add (x, cb_int1);
17664  }
17665 #line 17587 "parser.c" /* yacc.c:1646 */
17666  break;
17667 
17668  case 1651:
17669 #line 11131 "parser.y" /* yacc.c:1646 */
17670  {
17671  cb_tree x;
17672 
17673  x = CB_LIST_INIT ((yyvsp[-2]));
17674  (yyval) = cb_list_add (x, cb_int2);
17675  }
17676 #line 17598 "parser.c" /* yacc.c:1646 */
17677  break;
17678 
17679  case 1652:
17680 #line 11141 "parser.y" /* yacc.c:1646 */
17681  {
17682  cb_tree x;
17683 
17684  x = CB_LIST_INIT ((yyvsp[0]));
17685  (yyval) = cb_list_add (x, cb_null);
17686  }
17687 #line 17609 "parser.c" /* yacc.c:1646 */
17688  break;
17689 
17690  case 1653:
17691 #line 11148 "parser.y" /* yacc.c:1646 */
17692  {
17693  cb_tree x;
17694 
17695  x = CB_LIST_INIT ((yyvsp[-2]));
17696  (yyval) = cb_list_add (x, (yyvsp[0]));
17697  }
17698 #line 17620 "parser.c" /* yacc.c:1646 */
17699  break;
17700 
17701  case 1654:
17702 #line 11158 "parser.y" /* yacc.c:1646 */
17703  {
17704  cb_tree x;
17705 
17706  x = CB_LIST_INIT ((yyvsp[0]));
17707  (yyval) = cb_list_add (x, cb_null);
17708  }
17709 #line 17631 "parser.c" /* yacc.c:1646 */
17710  break;
17711 
17712  case 1655:
17713 #line 11165 "parser.y" /* yacc.c:1646 */
17714  {
17715  cb_tree x;
17716 
17717  x = CB_LIST_INIT ((yyvsp[-2]));
17718  (yyval) = cb_list_add (x, cb_ref ((yyvsp[0])));
17719  }
17720 #line 17642 "parser.c" /* yacc.c:1646 */
17721  break;
17722 
17723  case 1656:
17724 #line 11175 "parser.y" /* yacc.c:1646 */
17725  {
17726  (yyval) = cb_list_add ((yyvsp[0]), cb_int0);
17727  }
17728 #line 17650 "parser.c" /* yacc.c:1646 */
17729  break;
17730 
17731  case 1657:
17732 #line 11179 "parser.y" /* yacc.c:1646 */
17733  {
17734  const int num_args = cb_list_length ((yyvsp[-2]));
17735 
17736  if (num_args == 4) {
17737  cb_error_x ((yyvsp[-2]), _("Cannot specify offset and SYSTEM-OFFSET at the same time."));
17738  }
17739 
17740  (yyval) = cb_list_add ((yyvsp[-2]), cb_int1);
17741  }
17742 #line 17664 "parser.c" /* yacc.c:1646 */
17743  break;
17744 
17745  case 1658:
17746 #line 11192 "parser.y" /* yacc.c:1646 */
17747  {
17748  (yyval) = cb_list_add ((yyvsp[0]), cb_int0);
17749  }
17750 #line 17672 "parser.c" /* yacc.c:1646 */
17751  break;
17752 
17753  case 1659:
17754 #line 11196 "parser.y" /* yacc.c:1646 */
17755  {
17756  const int num_args = cb_list_length ((yyvsp[-2]));
17757 
17758  if (num_args == 3) {
17759  cb_error_x ((yyvsp[-2]), _("Cannot specify offset and SYSTEM-OFFSET at the same time."));
17760  }
17761 
17762  (yyval) = cb_list_add ((yyvsp[-2]), cb_int1);
17763  }
17764 #line 17686 "parser.c" /* yacc.c:1646 */
17765  break;
17766 
17767  case 1660:
17768 #line 11210 "parser.y" /* yacc.c:1646 */
17769  {
17770  non_const_word = 1;
17771  }
17772 #line 17694 "parser.c" /* yacc.c:1646 */
17773  break;
17774 
17775  case 1661:
17776 #line 11218 "parser.y" /* yacc.c:1646 */
17777  { (yyval) = cb_int0; }
17778 #line 17700 "parser.c" /* yacc.c:1646 */
17779  break;
17780 
17781  case 1662:
17782 #line 11219 "parser.y" /* yacc.c:1646 */
17783  { (yyval) = cb_int1; }
17784 #line 17706 "parser.c" /* yacc.c:1646 */
17785  break;
17786 
17787  case 1663:
17788 #line 11223 "parser.y" /* yacc.c:1646 */
17789  { (yyval) = cb_int0; }
17790 #line 17712 "parser.c" /* yacc.c:1646 */
17791  break;
17792 
17793  case 1664:
17794 #line 11224 "parser.y" /* yacc.c:1646 */
17795  { (yyval) = cb_int1; }
17796 #line 17718 "parser.c" /* yacc.c:1646 */
17797  break;
17798 
17799  case 1665:
17800 #line 11228 "parser.y" /* yacc.c:1646 */
17801  { (yyval) = NULL; }
17802 #line 17724 "parser.c" /* yacc.c:1646 */
17803  break;
17804 
17805  case 1666:
17806 #line 11229 "parser.y" /* yacc.c:1646 */
17807  { (yyval) = cb_int1; }
17808 #line 17730 "parser.c" /* yacc.c:1646 */
17809  break;
17810 
17811  case 1667:
17812 #line 11234 "parser.y" /* yacc.c:1646 */
17813  {
17814  (yyval) = NULL;
17815  }
17816 #line 17738 "parser.c" /* yacc.c:1646 */
17817  break;
17818 
17819  case 1668:
17820 #line 11238 "parser.y" /* yacc.c:1646 */
17821  {
17822  (yyval) = (yyvsp[0]);
17823  }
17824 #line 17746 "parser.c" /* yacc.c:1646 */
17825  break;
17826 
17827  case 1669:
17828 #line 11245 "parser.y" /* yacc.c:1646 */
17829  {
17830  (yyval) = NULL;
17831  }
17832 #line 17754 "parser.c" /* yacc.c:1646 */
17833  break;
17834 
17835  case 1670:
17836 #line 11249 "parser.y" /* yacc.c:1646 */
17837  {
17838  (yyval) = (yyvsp[0]);
17839  }
17840 #line 17762 "parser.c" /* yacc.c:1646 */
17841  break;
17842 
17843  case 1671:
17844 #line 11256 "parser.y" /* yacc.c:1646 */
17845  { (yyval) = cb_int0; }
17846 #line 17768 "parser.c" /* yacc.c:1646 */
17847  break;
17848 
17849  case 1672:
17850 #line 11257 "parser.y" /* yacc.c:1646 */
17851  { (yyval) = cb_int1; }
17852 #line 17774 "parser.c" /* yacc.c:1646 */
17853  break;
17854 
17855  case 1673:
17856 #line 11258 "parser.y" /* yacc.c:1646 */
17857  { (yyval) = cb_int2; }
17858 #line 17780 "parser.c" /* yacc.c:1646 */
17859  break;
17860 
17861  case 1674:
17862 #line 11262 "parser.y" /* yacc.c:1646 */
17863  { (yyval) = NULL; }
17864 #line 17786 "parser.c" /* yacc.c:1646 */
17865  break;
17866 
17867  case 1675:
17868 #line 11263 "parser.y" /* yacc.c:1646 */
17869  { (yyval) = cb_true; }
17870 #line 17792 "parser.c" /* yacc.c:1646 */
17871  break;
17872 
17873  case 1676:
17874 #line 11267 "parser.y" /* yacc.c:1646 */
17875  { (yyval) = cb_int (cb_flag_optional_file); }
17876 #line 17798 "parser.c" /* yacc.c:1646 */
17877  break;
17878 
17879  case 1677:
17880 #line 11268 "parser.y" /* yacc.c:1646 */
17881  { (yyval) = cb_int1; }
17882 #line 17804 "parser.c" /* yacc.c:1646 */
17883  break;
17884 
17885  case 1678:
17886 #line 11269 "parser.y" /* yacc.c:1646 */
17887  { (yyval) = cb_int0; }
17888 #line 17810 "parser.c" /* yacc.c:1646 */
17889  break;
17890 
17891  case 1679:
17892 #line 11274 "parser.y" /* yacc.c:1646 */
17893  {
17894  (yyval) = cb_int0;
17895  }
17896 #line 17818 "parser.c" /* yacc.c:1646 */
17897  break;
17898 
17899  case 1680:
17900 #line 11278 "parser.y" /* yacc.c:1646 */
17901  {
17902  if ((yyvsp[0])) {
17903  (yyval) = (yyvsp[0]);
17904  } else {
17905  (yyval) = cb_int (COB_STORE_ROUND);
17906  }
17907  cobc_cs_check = 0;
17908  }
17909 #line 17831 "parser.c" /* yacc.c:1646 */
17910  break;
17911 
17912  case 1681:
17913 #line 11290 "parser.y" /* yacc.c:1646 */
17914  {
17915  (yyval) = NULL;
17916  cobc_cs_check = 0;
17917  }
17918 #line 17840 "parser.c" /* yacc.c:1646 */
17919  break;
17920 
17921  case 1682:
17922 #line 11295 "parser.y" /* yacc.c:1646 */
17923  {
17924  (yyval) = (yyvsp[0]);
17925  cobc_cs_check = 0;
17926  }
17927 #line 17849 "parser.c" /* yacc.c:1646 */
17928  break;
17929 
17930  case 1683:
17931 #line 11303 "parser.y" /* yacc.c:1646 */
17932  {
17934  }
17935 #line 17857 "parser.c" /* yacc.c:1646 */
17936  break;
17937 
17938  case 1684:
17939 #line 11307 "parser.y" /* yacc.c:1646 */
17940  {
17942  }
17943 #line 17865 "parser.c" /* yacc.c:1646 */
17944  break;
17945 
17946  case 1685:
17947 #line 11311 "parser.y" /* yacc.c:1646 */
17948  {
17950  }
17951 #line 17873 "parser.c" /* yacc.c:1646 */
17952  break;
17953 
17954  case 1686:
17955 #line 11315 "parser.y" /* yacc.c:1646 */
17956  {
17958  }
17959 #line 17881 "parser.c" /* yacc.c:1646 */
17960  break;
17961 
17962  case 1687:
17963 #line 11319 "parser.y" /* yacc.c:1646 */
17964  {
17966  }
17967 #line 17889 "parser.c" /* yacc.c:1646 */
17968  break;
17969 
17970  case 1688:
17971 #line 11323 "parser.y" /* yacc.c:1646 */
17972  {
17974  }
17975 #line 17897 "parser.c" /* yacc.c:1646 */
17976  break;
17977 
17978  case 1689:
17979 #line 11327 "parser.y" /* yacc.c:1646 */
17980  {
17982  }
17983 #line 17905 "parser.c" /* yacc.c:1646 */
17984  break;
17985 
17986  case 1690:
17987 #line 11331 "parser.y" /* yacc.c:1646 */
17988  {
17990  }
17991 #line 17913 "parser.c" /* yacc.c:1646 */
17992  break;
17993 
17994  case 1691:
17995 #line 11337 "parser.y" /* yacc.c:1646 */
17996  { (yyval) = NULL; }
17997 #line 17919 "parser.c" /* yacc.c:1646 */
17998  break;
17999 
18000  case 1692:
18001 #line 11338 "parser.y" /* yacc.c:1646 */
18002  { (yyval) = cb_int1; }
18003 #line 17925 "parser.c" /* yacc.c:1646 */
18004  break;
18005 
18006 
18007 #line 17929 "parser.c" /* yacc.c:1646 */
18008  default: break;
18009  }
18010  /* User semantic actions sometimes alter yychar, and that requires
18011  that yytoken be updated with the new translation. We take the
18012  approach of translating immediately before every use of yytoken.
18013  One alternative is translating here after every semantic action,
18014  but that translation would be missed if the semantic action invokes
18015  YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
18016  if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
18017  incorrect destructor might then be invoked immediately. In the
18018  case of YYERROR or YYBACKUP, subsequent parser actions might lead
18019  to an incorrect destructor call or verbose syntax error message
18020  before the lookahead is translated. */
18021  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
18022 
18023  YYPOPSTACK (yylen);
18024  yylen = 0;
18025  YY_STACK_PRINT (yyss, yyssp);
18026 
18027  *++yyvsp = yyval;
18028 
18029  /* Now 'shift' the result of the reduction. Determine what state
18030  that goes to, based on the state we popped back to and the rule
18031  number reduced by. */
18032 
18033  yyn = yyr1[yyn];
18034 
18035  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
18036  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
18037  yystate = yytable[yystate];
18038  else
18039  yystate = yydefgoto[yyn - YYNTOKENS];
18040 
18041  goto yynewstate;
18042 
18043 
18044 /*--------------------------------------.
18045 | yyerrlab -- here on detecting error. |
18046 `--------------------------------------*/
18047 yyerrlab:
18048  /* Make sure we have latest lookahead translation. See comments at
18049  user semantic actions for why this is necessary. */
18050  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
18051 
18052  /* If not already recovering from an error, report this error. */
18053  if (!yyerrstatus)
18054  {
18055  ++yynerrs;
18056 #if ! YYERROR_VERBOSE
18057  yyerror (YY_("syntax error"));
18058 #else
18059 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
18060  yyssp, yytoken)
18061  {
18062  char const *yymsgp = YY_("syntax error");
18063  int yysyntax_error_status;
18064  yysyntax_error_status = YYSYNTAX_ERROR;
18065  if (yysyntax_error_status == 0)
18066  yymsgp = yymsg;
18067  else if (yysyntax_error_status == 1)
18068  {
18069  if (yymsg != yymsgbuf)
18070  YYSTACK_FREE (yymsg);
18071  yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
18072  if (!yymsg)
18073  {
18074  yymsg = yymsgbuf;
18075  yymsg_alloc = sizeof yymsgbuf;
18076  yysyntax_error_status = 2;
18077  }
18078  else
18079  {
18080  yysyntax_error_status = YYSYNTAX_ERROR;
18081  yymsgp = yymsg;
18082  }
18083  }
18084  yyerror (yymsgp);
18085  if (yysyntax_error_status == 2)
18086  goto yyexhaustedlab;
18087  }
18088 # undef YYSYNTAX_ERROR
18089 #endif
18090  }
18091 
18092 
18093 
18094  if (yyerrstatus == 3)
18095  {
18096  /* If just tried and failed to reuse lookahead token after an
18097  error, discard it. */
18098 
18099  if (yychar <= YYEOF)
18100  {
18101  /* Return failure if at end of input. */
18102  if (yychar == YYEOF)
18103  YYABORT;
18104  }
18105  else
18106  {
18107  yydestruct ("Error: discarding",
18108  yytoken, &yylval);
18109  yychar = YYEMPTY;
18110  }
18111  }
18112 
18113  /* Else will try to reuse lookahead token after shifting the error
18114  token. */
18115  goto yyerrlab1;
18116 
18117 
18118 /*---------------------------------------------------.
18119 | yyerrorlab -- error raised explicitly by YYERROR. |
18120 `---------------------------------------------------*/
18121 yyerrorlab:
18122 
18123  /* Pacify compilers like GCC when the user code never invokes
18124  YYERROR and the label yyerrorlab therefore never appears in user
18125  code. */
18126  if (/*CONSTCOND*/ 0)
18127  goto yyerrorlab;
18128 
18129  /* Do not reclaim the symbols of the rule whose action triggered
18130  this YYERROR. */
18131  YYPOPSTACK (yylen);
18132  yylen = 0;
18133  YY_STACK_PRINT (yyss, yyssp);
18134  yystate = *yyssp;
18135  goto yyerrlab1;
18136 
18137 
18138 /*-------------------------------------------------------------.
18139 | yyerrlab1 -- common code for both syntax error and YYERROR. |
18140 `-------------------------------------------------------------*/
18141 yyerrlab1:
18142  yyerrstatus = 3; /* Each real token shifted decrements this. */
18143 
18144  for (;;)
18145  {
18146  yyn = yypact[yystate];
18147  if (!yypact_value_is_default (yyn))
18148  {
18149  yyn += YYTERROR;
18150  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
18151  {
18152  yyn = yytable[yyn];
18153  if (0 < yyn)
18154  break;
18155  }
18156  }
18157 
18158  /* Pop the current state because it cannot handle the error token. */
18159  if (yyssp == yyss)
18160  YYABORT;
18161 
18162 
18163  yydestruct ("Error: popping",
18164  yystos[yystate], yyvsp);
18165  YYPOPSTACK (1);
18166  yystate = *yyssp;
18167  YY_STACK_PRINT (yyss, yyssp);
18168  }
18169 
18171  *++yyvsp = yylval;
18173 
18174 
18175  /* Shift the error token. */
18176  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
18177 
18178  yystate = yyn;
18179  goto yynewstate;
18180 
18181 
18182 /*-------------------------------------.
18183 | yyacceptlab -- YYACCEPT comes here. |
18184 `-------------------------------------*/
18185 yyacceptlab:
18186  yyresult = 0;
18187  goto yyreturn;
18188 
18189 /*-----------------------------------.
18190 | yyabortlab -- YYABORT comes here. |
18191 `-----------------------------------*/
18192 yyabortlab:
18193  yyresult = 1;
18194  goto yyreturn;
18195 
18196 #if !defined yyoverflow || YYERROR_VERBOSE
18197 /*-------------------------------------------------.
18198 | yyexhaustedlab -- memory exhaustion comes here. |
18199 `-------------------------------------------------*/
18200 yyexhaustedlab:
18201  yyerror (YY_("memory exhausted"));
18202  yyresult = 2;
18203  /* Fall through. */
18204 #endif
18205 
18206 yyreturn:
18207  if (yychar != YYEMPTY)
18208  {
18209  /* Make sure we have latest lookahead translation. See comments at
18210  user semantic actions for why this is necessary. */
18211  yytoken = YYTRANSLATE (yychar);
18212  yydestruct ("Cleanup: discarding lookahead",
18213  yytoken, &yylval);
18214  }
18215  /* Do not reclaim the symbols of the rule whose action triggered
18216  this YYABORT or YYACCEPT. */
18217  YYPOPSTACK (yylen);
18218  YY_STACK_PRINT (yyss, yyssp);
18219  while (yyssp != yyss)
18220  {
18221  yydestruct ("Cleanup: popping",
18222  yystos[*yyssp], yyvsp);
18223  YYPOPSTACK (1);
18224  }
18225 #ifndef yyoverflow
18226  if (yyss != yyssa)
18227  YYSTACK_FREE (yyss);
18228 #endif
18229 #if YYERROR_VERBOSE
18230  if (yymsg != yymsgbuf)
18231  YYSTACK_FREE (yymsg);
18232 #endif
18233  return yyresult;
18234 }
18235 #line 11510 "parser.y" /* yacc.c:1906 */
18236 
#define COB_SCREEN_SCROLL_DOWN
Definition: common.h:917
unsigned int flag_justified
Definition: tree.h:706
int optional
Definition: tree.h:843
static COB_INLINE COB_A_INLINE void emit_default_screen_display(cb_tree x_list)
Definition: parser.c:1227
int indexes
Definition: tree.h:678
Definition: parser.c:1852
#define SYN_CLAUSE_10
Definition: parser.c:139
struct cb_label * handler_label
Definition: tree.h:805
#define COB_SCREEN_BLINK
Definition: common.h:903
unsigned int flag_is_debug_sect
Definition: tree.h:797
const char * name
Definition: tree.h:645
#define CB_CHAIN_PAIR(x, y, z)
Definition: tree.h:1855
#define TERM_SEARCH
Definition: parser.c:115
#define SYN_CLAUSE_6
Definition: parser.c:135
Definition: parser.c:1532
#define COBC_HD_I_O_CONTROL
Definition: parser.c:256
unsigned int flag_is_pointer
Definition: tree.h:710
static int term_array[22U]
Definition: parser.c:246
#define CB_PAIR_X(x)
Definition: tree.h:1205
Definition: parser.c:1437
Definition: tree.h:1181
int occurs_max
Definition: tree.h:677
void cb_emit_sort_using(cb_tree, cb_tree)
Definition: typeck.c:8293
#define COB_STORE_AWAY_FROM_ZERO
Definition: common.h:871
cb_tree line_counter
Definition: tree.h:1215
Definition: parser.c:1583
#define CB_TREE(x)
Definition: tree.h:440
cb_tree returning
Definition: tree.h:1288
#define PENDING(x)
Definition: parser.c:86
static COB_INLINE COB_A_INLINE void check_dispattr_with_conflict(const char *attrib_name, const int attrib, const char *confl_name, const int confl_attrib)
Definition: parser.c:1057
#define CB_REFERENCE_P(x)
Definition: tree.h:902
struct cb_label * current_section
Definition: parser.c:170
#define CB_SIZES(x)
Definition: tree.h:1195
static const yytype_uint16 yyrline[]
Definition: parser.c:2227
void cb_error_x(cb_tree x, const char *fmt,...)
Definition: error.c:233
cb_tree cb_true
Definition: tree.c:122
#define CB_LABEL(x)
Definition: tree.h:801
#define CB_SYSTEM_NAME(x)
Definition: tree.h:586
#define COB_GT
Definition: common.h:729
cb_tree cb_list_append(cb_tree l1, cb_tree l2)
Definition: tree.c:1305
#define SYN_CLAUSE_17
Definition: parser.c:146
static const yytype_int16 yypact[]
Definition: parser.c:2827
Definition: parser.c:1577
cb_tree cb_build_intrinsic(cb_tree name, cb_tree args, cb_tree refmod, const int isuser)
Definition: tree.c:3304
cb_tree cb_int1
Definition: tree.c:134
struct cb_field * local_storage
Definition: tree.h:1277
static void check_not_88_level(cb_tree x)
Definition: parser.c:1191
static void emit_default_displays_for_x_list(struct cb_list *x_list)
Definition: parser.c:1250
#define COBC_HD_PROCEDURE_DIVISION
Definition: parser.c:265
int record_max
Definition: tree.h:842
size_t cb_needs_01
Definition: field.c:37
void cb_emit_search(cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:7965
void cb_emit_accept_date_yyyymmdd(cb_tree)
Definition: typeck.c:4521
#define CB_INTEGER(x)
Definition: tree.h:522
cb_tree cb_build_perform_exit(struct cb_label *)
Definition: typeck.c:7574
#define COB_SCREEN_BELL
Definition: common.h:900
Definition: parser.c:1792
Definition: parser.c:1504
unsigned int cobc_force_literal
Definition: parser.c:181
Definition: parser.c:1563
void cb_emit_accept_exception_status(cb_tree)
Definition: typeck.c:4494
Definition: parser.c:1785
#define CB_CALL_BY_REFERENCE
Definition: tree.h:44
cb_tree cb_build_comment(const char *str)
Definition: tree.c:1540
#define YY_(Msgid)
Definition: parser.c:1933
unsigned int flag_filler
Definition: tree.h:714
const char * cb_source_file
Definition: cobc.c:145
#define COB_STORE_NEAR_TOWARD_ZERO
Definition: common.h:874
unsigned int flag_is_pdiv_opt
Definition: tree.h:725
cb_tree cb_build_filler(void)
Definition: tree.c:2591
static struct cb_report * report_instance
Definition: parser.c:193
static void yy_stack_print(yytype_int16 *yybottom, yytype_int16 *yytop)
Definition: parser.c:6233
Definition: parser.c:1364
static unsigned int in_declaratives
Definition: parser.c:209
unsigned int flag_gen_debug
Definition: tree.h:1321
unsigned int flag_line_adv
Definition: tree.h:855
static unsigned int call_nothing
Definition: parser.c:240
const char * name
Definition: tree.h:820
#define SYN_CLAUSE_18
Definition: parser.c:147
#define CB_VALID_TREE(x)
Definition: tree.h:445
cb_tree report_list
Definition: tree.h:1262
static int has_relative_pos(struct cb_field const *field)
Definition: parser.c:1183
cb_tree mnemonic_spec_list
Definition: tree.h:1268
cb_tree cb_build_constant(cb_tree name, cb_tree value)
Definition: tree.c:2189
#define COB_STORE_NEAR_AWAY_FROM_ZERO
Definition: common.h:872
#define TERM_DIVIDE
Definition: parser.c:106
static void set_up_func_prototype(cb_tree prototype_name, cb_tree ext_name, const int is_current_func)
Definition: parser.c:943
unsigned int flag_any_length
Definition: tree.h:712
void * cobc_parse_malloc(const size_t size)
Definition: cobc.c:809
void cb_validate_program_body(struct cb_program *)
Definition: typeck.c:2554
unsigned int flag_global
Definition: tree.h:853
static const yytype_uint16 yytranslate[]
Definition: parser.c:2143
#define SYN_CLAUSE_13
Definition: parser.c:142
unsigned int flag_initial
Definition: tree.h:1307
#define CB_FIELD_ADD(x, y)
Definition: tree.h:1856
#define YYNTOKENS
Definition: parser.c:2125
void cb_warning_x(cb_tree x, const char *fmt,...)
Definition: error.c:222
void cb_emit_set_on_off(cb_tree, cb_tree)
Definition: typeck.c:8124
cb_tree cb_norm_high
Definition: tree.c:131
Definition: parser.c:1363
struct cb_field * sister
Definition: tree.h:653
Definition: parser.c:1653
static int call_mode
Definition: parser.c:224
static cb_tree qualifier
Definition: parser.c:203
#define COB_CLOSE_UNIT_REMOVAL
Definition: common.h:796
#define PROG_DEPTH
Definition: parser.c:164
unsigned int flag_global_use
Definition: tree.h:1312
static int first_nested_program
Definition: parser.c:223
#define CB_CALL_BY_CONTENT
Definition: tree.h:45
cb_tree screen_backg
Definition: tree.h:668
void cb_emit_write(cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:8604
static char * stack_progid[16]
Definition: parser.c:198
#define MAX_FD_RECORD
Definition: common.h:556
unsigned int flag_no_based
Definition: tree.h:1149
cb_tree cb_build_unstring_delimited(cb_tree, cb_tree)
Definition: typeck.c:8578
signed char yytype_int8
Definition: parser.c:1895
#define emit_statement(x)
Definition: parser.c:88
int cb_exp_line
Definition: parser.c:174
#define COB_LOCK_AUTOMATIC
Definition: common.h:775
#define CB_LITERAL(x)
Definition: tree.h:601
Definition: parser.c:1671
int yyparse(void)
Definition: parser.c:6565
static cb_tree get_default_display_device()
Definition: parser.c:1233
int lock_mode
Definition: tree.h:846
Definition: parser.c:1562
unsigned char yytype_uint8
Definition: parser.c:1889
unsigned int flag_global
Definition: tree.h:782
Definition: parser.c:1392
void cb_emit_move_corresponding(cb_tree, cb_tree)
Definition: typeck.c:4175
void cb_add_common_prog(struct cb_program *prog)
Definition: tree.c:1469
int occurs_min
Definition: tree.h:676
void cb_emit_call(cb_tree, cb_tree, cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:4748
#define CB_FIELD_PTR(x)
Definition: tree.h:745
#define SYN_CLAUSE_4
Definition: parser.c:133
Definition: parser.c:1592
static const yytype_uint16 yydefact[]
Definition: parser.c:3111
static unsigned int needs_debug_item
Definition: parser.c:237
static void terminator_warning(cb_tree stmt, const unsigned int termid, const char *name)
Definition: parser.c:434
cb_tree global_file_list
Definition: tree.h:1282
#define CB_CONV_STDCALL
Definition: tree.h:135
cb_tree cb_build_class_name(cb_tree name, cb_tree list)
Definition: tree.c:1622
Definition: parser.c:1847
void cb_emit_stop_run(cb_tree)
Definition: typeck.c:8482
#define COBC_HD_FILE_CONTROL
Definition: parser.c:255
Definition: parser.c:1856
static void check_attribs_with_conflict(cb_tree fgc, cb_tree bgc, cb_tree scroll, cb_tree timeout, cb_tree prompt, cb_tree size_is, const char *attrib_name, const int attrib, const char *confl_name, const int confl_attrib)
Definition: parser.c:1125
#define CB_SIZE_8
Definition: tree.h:52
int cb_get_int(const cb_tree x)
Definition: tree.c:1101
static int check_line_col_duplicate
Definition: parser.c:232
#define SYN_CLAUSE_9
Definition: parser.c:138
cb_tree reference_list
Definition: tree.h:1255
#define COB_SCREEN_NO_ECHO
Definition: common.h:919
#define YY_STACK_PRINT(Bottom, Top)
Definition: parser.c:6244
#define CB_CS_ASSIGN
Definition: cobc.h:105
cb_tree screen_from
Definition: tree.h:665
unsigned int flag_synchronized
Definition: tree.h:715
cb_tree cb_norm_low
Definition: tree.c:130
int warningopt
Definition: cobc.c:176
void cb_emit_move(cb_tree, cb_tree)
Definition: typeck.c:7416
char * cobc_glob_line
Definition: parser.c:173
static void emit_conflicting_clause_message(const char *clause, const char *conflicting)
Definition: parser.c:1022
struct cb_file * file
Definition: tree.h:1214
static void terminator_error(cb_tree stmt, const unsigned int termid, const char *name)
Definition: parser.c:451
unsigned int cb_verify(const enum cb_support, const char *)
Definition: error.c:246
int cb_id
Definition: cobc.c:163
cb_tree cb_build_list(cb_tree purpose, cb_tree value, cb_tree chain)
Definition: tree.c:1293
static void check_not_both(const int flag1, const int flag2, const char *flag1_name, const char *flag2_name, const int flags, const int flag_to_set)
Definition: parser.c:990
void cb_emit_open(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:7461
unsigned int flag_fatal_check
Definition: tree.h:786
Definition: parser.c:1389
void cb_emit_set_false(cb_tree)
Definition: typeck.c:8171
unsigned int flag_real_label
Definition: tree.h:781
#define CB_PURPOSE_INT(x)
Definition: tree.h:1197
static unsigned int report_count
Definition: parser.c:212
void cobc_free(void *mptr)
Definition: cobc.c:657
cb_tree exit_label
Definition: tree.h:771
unsigned int flag_is_returning
Definition: tree.h:737
cb_tree cb_ref(cb_tree x)
Definition: tree.c:2653
static void remove_program_name(struct cb_list *l, struct cb_list *prev)
Definition: parser.c:725
cb_tree cb_build_field_tree(cb_tree level, cb_tree name, struct cb_field *last_field, enum cb_storage storage, struct cb_file *fn, const int expl_level)
Definition: field.c:90
unsigned int flag_fileid
Definition: tree.h:852
#define COB_STORE_ROUND
Definition: common.h:867
const char * source_file
Definition: tree.h:431
#define COB_NE
Definition: common.h:731
char * cb_name(cb_tree x)
Definition: tree.c:735
cb_tree cb_build_expr(cb_tree)
Definition: typeck.c:3136
void cb_emit_accept_mnemonic(cb_tree, cb_tree)
Definition: typeck.c:4614
#define CB_SIZE_2
Definition: tree.h:50
#define COB_STORE_NEAR_EVEN
Definition: common.h:873
#define CB_PAIR_Y(x)
Definition: tree.h:1206
#define CB_ALPHABET_ASCII
Definition: tree.h:108
cb_tree cb_build_write_advancing_lines(cb_tree, cb_tree)
Definition: typeck.c:8685
int nested_level
Definition: tree.h:1295
void cb_emit_read(cb_tree, cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:7586
struct cb_picture * pic
Definition: tree.h:659
#define COB_LOCK_MANUAL
Definition: common.h:774
#define CB_BUILD_FUNCALL_1(f, a1)
Definition: tree.h:1799
#define COB_SCREEN_COLUMN_PLUS
Definition: common.h:897
#define YY_REDUCE_PRINT(Rule)
Definition: parser.c:6275
#define SYN_CLAUSE_1
Definition: parser.c:130
Definition: parser.c:1854
cb_tree scroll
Definition: tree.h:1126
#define TERM_ACCEPT
Definition: parser.c:100
cb_tree cb_build_cond(cb_tree)
Definition: typeck.c:3737
cb_tree lattop
Definition: tree.h:835
cb_tree cb_zero
Definition: tree.c:125
short int yytype_int16
Definition: parser.c:1907
cb_tree cb_build_address(cb_tree)
Definition: typeck.c:1357
static const char *const yytname[]
Definition: parser.c:2429
cb_tree local_file_list
Definition: tree.h:1281
#define CB_PICTURE(x)
Definition: tree.h:631
cb_tree crt_status
Definition: tree.h:1287
static int next_label_id
Definition: parser.c:218
#define CB_ALPHABET_NATIVE
Definition: tree.h:107
static void clean_up_program(cb_tree name, const unsigned char type)
Definition: parser.c:866
unsigned int flag_main
Definition: tree.h:1305
void cb_emit_accept(cb_tree, cb_tree, struct cb_attr_struct *)
Definition: typeck.c:4341
#define COB_INLINE
Definition: common.h:354
#define COB_ORG_INDEXED
Definition: common.h:745
#define COB_MINI_BUFF
Definition: common.h:539
#define CB_PURPOSE(x)
Definition: tree.h:1192
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition: parser.c:1983
cb_tree cb_build_tallying_characters(cb_tree)
Definition: typeck.c:5863
Definition: parser.c:1366
struct cb_alt_key * next
Definition: tree.h:812
struct cb_field * cb_resolve_redefines(struct cb_field *field, cb_tree redefines)
Definition: field.c:247
void cb_emit_inspect(cb_tree, cb_tree, cb_tree, const unsigned int)
Definition: typeck.c:5805
void cb_emit_allocate(cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:4668
Definition: parser.c:1397
Definition: parser.c:1659
cb_tree size_is
Definition: tree.h:1129
void cb_emit_set_true(cb_tree)
Definition: typeck.c:8139
Definition: parser.c:1843
#define COB_CLOSE_UNIT
Definition: common.h:795
#define COB_SCREEN_LINE_MINUS
Definition: common.h:896
int handler_id
Definition: tree.h:1148
#define YYFINAL
Definition: parser.c:2120
static const char * get_literal_or_word_name(const cb_tree x)
Definition: parser.c:887
Definition: parser.c:1450
void cb_emit_accept_day(cb_tree)
Definition: typeck.c:4530
static struct cb_statement * main_statement
Definition: parser.c:186
struct cb_attr_struct * attr_ptr
Definition: tree.h:1147
cb_tree linage
Definition: tree.h:832
#define CB_LIST(x)
Definition: tree.h:1189
void cb_emit_get_environment(cb_tree, cb_tree)
Definition: typeck.c:4575
void cb_emit_accept_day_of_week(cb_tree)
Definition: typeck.c:4548
Definition: parser.c:1613
cb_tree cb_false
Definition: tree.c:123
#define COB_SELECT_STDIN
Definition: common.h:761
cb_tree file_list
Definition: tree.h:1252
Definition: parser.c:1445
static void attach_attrib_to_cur_stmt(void)
Definition: parser.c:1075
#define COB_SCREEN_LEFTLINE
Definition: common.h:920
cb_tree cb_build_add(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:4015
enum cb_category cb_tree_category(cb_tree x)
Definition: tree.c:745
static unsigned int in_debugging
Definition: parser.c:210
Definition: parser.c:1697
cb_tree cb_any
Definition: tree.c:121
int last_detail
Definition: tree.h:1224
Definition: parser.c:1655
static void bit_set_attr(const cb_tree onoff, const int attrval)
Definition: parser.c:1065
int level
Definition: tree.h:673
unsigned char flag_is_global
Definition: tree.h:699
#define YYEMPTY
Definition: parser.c:6129
#define COB_SCREEN_FULL
Definition: common.h:906
void cb_emit_continue(void)
Definition: typeck.c:5031
Definition: parser.c:1365
#define COB_LE
Definition: common.h:728
#define SYN_CLAUSE_2
Definition: parser.c:131
Definition: parser.c:1409
cb_tree cb_quote
Definition: tree.c:132
Definition: parser.c:1695
Definition: parser.c:1796
#define CB_WORD_ITEMS(x)
Definition: tree.h:906
static enum cb_storage current_storage
Definition: parser.c:200
#define SYN_CLAUSE_20
Definition: parser.c:149
unsigned int flag_ext_assign
Definition: tree.h:851
cb_tree cb_space
Definition: tree.c:127
#define COB_FI
Definition: common.h:732
void cb_emit_command_line(cb_tree)
Definition: typeck.c:5133
static unsigned int needs_field_debug
Definition: parser.c:236
Definition: parser.c:1793
#define CB_CS_EXIT
Definition: cobc.h:112
#define COB_GE
Definition: common.h:730
cb_tree cb_build_perform_times(cb_tree)
Definition: typeck.c:7536
void cb_emit_accept_environment(cb_tree)
Definition: typeck.c:4587
static int check_prototype_redefines_current_func(const cb_tree prototype_name)
Definition: parser.c:898
#define CB_FILE(x)
Definition: tree.h:858
cb_tree cb_build_perform_once(cb_tree)
Definition: typeck.c:7523
#define yyclearin
Definition: parser.c:6128
unsigned int flag_screen
Definition: tree.h:1309
Definition: parser.c:1404
void cb_emit_arg_number(cb_tree)
Definition: typeck.c:5124
struct cb_program * current_program
Definition: parser.c:168
cb_tree cb_build_const_length(cb_tree)
Definition: typeck.c:1730
#define COB_SCREEN_OVERLINE
Definition: common.h:913
void cb_validate_program_environment(struct cb_program *)
Definition: typeck.c:1891
unsigned int flag_debugging
Definition: tree.h:1320
unsigned int flag_dummy_paragraph
Definition: tree.h:788
#define TERMINATOR_ERROR(x, z)
Definition: parser.c:124
Definition: parser.c:1606
cb_tree bgc
Definition: tree.h:1125
void cb_emit_delete_file(cb_tree)
Definition: typeck.c:5076
#define CB_SIZE_4
Definition: tree.h:51
unsigned int flag_file_global
Definition: tree.h:1315
Definition: parser.c:1379
#define CB_LITERAL_P(x)
Definition: tree.h:602
Definition: parser.c:1371
#define SYN_CLAUSE_19
Definition: parser.c:148
cb_tree cb_build_perform_until(cb_tree, cb_tree)
Definition: typeck.c:7550
static cb_tree line_column
Definition: parser.c:244
#define TERM_MAX
Definition: parser.c:121
static const yytype_uint16 yyr1[]
Definition: parser.c:5707
static void begin_scope_of_program_name(struct cb_program *program)
Definition: parser.c:695
Definition: parser.c:1839
Definition: parser.c:1405
void cb_emit_sort_init(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:8237
short all
Definition: tree.h:598
Definition: parser.c:1440
char * cb_to_cname(const char *s)
Definition: tree.c:705
const char * name
Definition: tree.h:1137
static struct cb_report * current_report
Definition: parser.c:192
static struct cb_file * current_file
Definition: parser.c:191
cb_tree debug_list
Definition: tree.h:1264
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
Definition: parser.c:6182
#define TERM_SUBTRACT
Definition: parser.c:118
Definition: parser.c:1520
static void yy_symbol_print(FILE *yyoutput, int yytype, cb_tree const *const yyvaluep)
Definition: parser.c:6218
Definition: parser.c:1580
static const yytype_int16 yytable[]
Definition: parser.c:3571
#define CB_VALUE(x)
Definition: tree.h:1193
void cb_emit_accept_name(cb_tree, cb_tree)
Definition: typeck.c:4635
Definition: parser.c:1381
#define YYSTACK_ALLOC
Definition: parser.c:2030
Definition: parser.c:1815
static cb_tree save_tree
Definition: parser.c:205
void cb_emit_set_to(cb_tree, cb_tree)
Definition: typeck.c:8019
#define CB_TREE_CLASS(x)
Definition: tree.h:442
static int check_for_duplicate_prototype(const cb_tree prototype_name, const cb_tree func_prototype)
Definition: parser.c:912
void cb_emit_arithmetic(cb_tree, const int, cb_tree)
Definition: typeck.c:3465
static unsigned int check_unreached
Definition: parser.c:208
#define YYSYNTAX_ERROR
cb_tree cb_build_inspect_region_start(void)
Definition: typeck.c:5961
Definition: parser.c:1471
cb_tree cb_build_perform_forever(cb_tree)
Definition: typeck.c:7561
unsigned int flag_item_78
Definition: tree.h:711
#define YY_NULLPTR
Definition: parser.c:1316
void cb_emit_accept_command_line(cb_tree)
Definition: typeck.c:4566
struct cb_report * build_report(cb_tree name)
Definition: tree.c:2324
#define COB_ACCESS_DYNAMIC
Definition: common.h:752
int yychar
Definition: parser.c:6552
Definition: parser.c:1607
cb_tree cb_build_replacing_trailing(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:5947
static void remove_attrib(int attrib)
Definition: parser.c:1166
#define COBC_HD_LINKAGE_SECTION
Definition: parser.c:261
#define CB_SIZE_AUTO
Definition: tree.h:48
#define COB_SCREEN_ERASE_EOL
Definition: common.h:904
cb_tree cobc_printer_node
Definition: parser.c:176
static void check_set_usage(const enum cb_usage usage)
Definition: parser.c:1176
Definition: parser.c:1787
Definition: parser.c:1731
static size_t yystrlen(const char *yystr)
Definition: parser.c:6317
#define COBC_HD_CONFIGURATION_SECTION
Definition: parser.c:252
static int zero_conflicting_flag(const int screen_flag, int parent_flag, const int flag1, const int flag2)
Definition: parser.c:1138
cb_tree cb_build_alphanumeric_literal(const void *data, const size_t size)
Definition: tree.c:1716
Definition: parser.c:1842
cb_tree cb_build_converting(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:5954
cb_tree cb_build_sub(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:4058
cb_tree cb_build_replacing_characters(cb_tree, cb_tree)
Definition: typeck.c:5916
#define COBC_HD_WORKING_STORAGE_SECTION
Definition: parser.c:259
#define YYERROR
Definition: parser.c:6134
Definition: parser.c:1596
struct cb_alphabet_name * code_set
Definition: tree.h:840
int record_min
Definition: tree.h:841
#define YYEOF
Definition: parser.c:6130
#define CB_PERFORM(x)
Definition: tree.h:1118
void cb_emit_if(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:5665
Definition: parser.c:1773
void cb_emit_evaluate(cb_tree, cb_tree)
Definition: typeck.c:5571
Definition: parser.c:1388
static unsigned int save_debug
Definition: parser.c:235
int cb_list_length(cb_tree l)
Definition: tree.c:1342
#define COB_SCREEN_UNDERLINE
Definition: common.h:912
cb_tree cb_build_func_prototype(const cb_tree prototype_name, const cb_tree ext_name)
Definition: tree.c:3265
cb_tree depending
Definition: tree.h:647
unsigned int flag_section
Definition: tree.h:777
#define SYN_CLAUSE_3
Definition: parser.c:132
static void set_up_use_file(struct cb_file *fileptr)
Definition: parser.c:498
cb_tree cb_build_numeric_literal(const int sign, const void *data, const int scale)
Definition: tree.c:1681
struct cb_file * build_file(cb_tree name)
Definition: tree.c:2344
cb_tree defined_prog_list
Definition: parser.c:172
struct cb_statement * cb_build_statement(const char *name)
Definition: tree.c:3201
#define COBC_HD_COMMUNICATIONS_SECTION
Definition: parser.c:262
#define TERM_COMPUTE
Definition: parser.c:103
cb_tree cb_build_perform_varying(cb_tree name, cb_tree from, cb_tree by, cb_tree until)
Definition: tree.c:3160
#define YYUSE(E)
Definition: parser.c:1966
strict implicit external value
Definition: warning.def:54
unsigned int flag_return
Definition: tree.h:780
cb_usage
Definition: tree.h:255
static int size_mode
Definition: parser.c:225
static const yytype_uint16 yystos[]
Definition: parser.c:5425
unsigned int flag_in_debug
Definition: tree.h:1150
#define CB_FIELD_P(x)
Definition: tree.h:741
unsigned int flag_is_verified
Definition: tree.h:722
int source_line
Definition: tree.h:432
struct cb_program * handler_prog
Definition: tree.h:838
cb_tree function_spec_list
Definition: tree.h:1271
Definition: parser.c:1553
cb_tree cb_build_replacing_leading(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:5933
int lines
Definition: tree.h:1219
#define CB_ALPHABET_NAME(x)
Definition: tree.h:550
cb_tree screen_column
Definition: tree.h:664
#define YYSTACK_BYTES(N)
Definition: parser.c:2075
#define YYDPRINTF(Args)
Definition: parser.c:6170
cb_tree cb_build_assignment_name(struct cb_file *, cb_tree)
Definition: typeck.c:1276
unsigned int flag_sign_leading
Definition: tree.h:704
unsigned int cobc_in_repository
Definition: parser.c:180
Definition: parser.c:1417
#define YYSTACK_ALLOC_MAXIMUM
Definition: parser.c:2033
Definition: parser.c:1631
Definition: parser.c:1584
Definition: parser.c:1557
static void terminator_clear(cb_tree stmt, const unsigned int termid)
Definition: parser.c:465
Definition: parser.c:1789
#define TERM_CALL
Definition: parser.c:102
void cobc_parse_free(void *prevptr)
Definition: cobc.c:885
unsigned int flag_is_pdiv_parm
Definition: tree.h:724
void cb_emit_accept_time(cb_tree)
Definition: typeck.c:4557
#define CB_SIZE_1
Definition: tree.h:49
#define _(s)
Definition: cobcrun.c:59
#define SYN_CLAUSE_23
Definition: parser.c:152
#define COBC_HD_SPECIAL_NAMES
Definition: parser.c:253
#define COB_OPEN_EXTEND
Definition: common.h:787
Definition: parser.c:1841
#define COB_OPEN_INPUT
Definition: common.h:784
cb_tree lookup_system_name(const char *name)
Definition: reserved.c:2860
Definition: parser.c:1629
Definition: parser.c:1496
#define COB_SCREEN_REVERSE
Definition: common.h:910
Definition: tree.h:643
#define COBC_HD_REPORT_SECTION
Definition: parser.c:263
void cb_emit_initialize(cb_tree, cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:5682
#define SYN_CLAUSE_7
Definition: parser.c:136
#define CB_CALL_BY_VALUE
Definition: tree.h:46
Definition: parser.c:1348
#define yytable_value_is_error(Yytable_value)
Definition: parser.c:2822
int footing
Definition: tree.h:1225
Definition: parser.c:1662
static int literal_value(cb_tree x)
Definition: parser.c:476
static size_t increment_depth(void)
Definition: parser.c:423
static cb_tree upon_value
Definition: parser.c:243
static int is_screen_field(cb_tree x)
Definition: parser.c:1207
#define CB_SIZE_UNSIGNED
Definition: tree.h:53
cb_tree reports
Definition: tree.h:831
yytype_int16 yyss_alloc
Definition: parser.c:2066
static cb_tree start_tree
Definition: parser.c:206
#define TERM_IF
Definition: parser.c:108
Definition: parser.c:1672
cb_tree cb_build_tallying_trailing(void)
Definition: typeck.c:5896
cb_tree cb_build_label(cb_tree name, struct cb_label *section)
Definition: tree.c:2988
void cb_init_tallying(void)
Definition: typeck.c:5849
#define CB_CHAIN(x)
Definition: tree.h:1194
static size_t yytnamerr(char *yyres, const char *yystr)
Definition: parser.c:6356
static const yytype_int16 yycheck[]
Definition: parser.c:4482
Definition: parser.c:1698
static struct cb_field * description_field
Definition: parser.c:190
static cb_tree current_expr
Definition: parser.c:188
#define yyerrok
Definition: parser.c:6127
cb_tree cb_build_ppointer(cb_tree)
Definition: typeck.c:1824
EC ARGUMENT EC EC BOUND EC BOUND EC BOUND EC BOUND TABLE EC DATA EC DATA EC DATA PTR NULL
Definition: exception.def:95
Definition: tree.h:636
#define CB_TREE_TAG(x)
Definition: tree.h:441
unsigned int flag_external
Definition: tree.h:850
static unsigned int check_pic_duplicate
Definition: parser.c:230
#define COB_CLOSE_NO_REWIND
Definition: common.h:794
cb_tree value
Definition: tree.h:1184
Definition: parser.c:1774
cb_tree cb_int4
Definition: tree.c:137
#define CB_REPORT_P(x)
Definition: tree.h:1229
Definition: parser.c:1735
unsigned int flag_statement
Definition: tree.h:792
Definition: parser.c:1539
#define COB_ORG_SEQUENTIAL
Definition: common.h:742
if sign
Definition: flag.def:42
Definition: parser.c:1859
void cb_emit_return(cb_tree, cb_tree)
Definition: typeck.c:7818
unsigned short int yytype_uint16
Definition: parser.c:1901
static int set_up_program(cb_tree id, cb_tree as_literal, const unsigned char type)
Definition: parser.c:777
Definition: parser.c:1569
Definition: parser.c:1598
Definition: parser.c:1559
#define TERM_WRITE
Definition: parser.c:120
Definition: parser.c:1590
struct cb_label * handler
Definition: tree.h:837
static struct cb_field * current_field
Definition: parser.c:189
Definition: parser.c:1652
int screen_flag
Definition: tree.h:684
cb_tree cb_return_code
Definition: tree.h:1265
static void build_nested_special(const int ndepth)
Definition: parser.c:620
#define COB_SCREEN_LOWER
Definition: common.h:924
#define COB_LOCK_EXCLUSIVE
Definition: common.h:773
cb_tree timeout
Definition: tree.h:1127
#define SYN_CLAUSE_11
Definition: parser.c:140
cb_tree cb_build_locale_name(cb_tree name, cb_tree list)
Definition: tree.c:1645
#define yylex
Definition: pplex.c:18
#define CB_CS_CALL
Definition: cobc.h:106
cb_tree locale_list
Definition: tree.h:1260
void cb_emit_start(cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:8414
Definition: parser.c:1373
void cb_emit_sort_input(cb_tree)
Definition: typeck.c:8309
void cb_emit_free(cb_tree)
Definition: typeck.c:5588
void cb_emit_release(cb_tree, cb_tree)
Definition: typeck.c:7780
cb_tree cb_int0
Definition: tree.c:133
void cb_emit_ready_trace(void)
Definition: typeck.c:7690
#define CB_STATEMENT(x)
Definition: tree.h:1155
cb_tree latbot
Definition: tree.h:836
unsigned char prog_type
Definition: tree.h:1303
cb_tree cb_concat_literals(const cb_tree x1, const cb_tree x2)
Definition: tree.c:1729
void cb_emit_rollback(void)
Definition: typeck.c:7844
#define COB_STORE_TRUNCATION
Definition: common.h:878
static void emit_default_device_display(cb_tree x_list)
Definition: parser.c:1243
Definition: parser.c:1751
#define COBC_HD_SCREEN_SECTION
Definition: parser.c:264
#define CB_NAME(x)
Definition: tree.h:904
#define TERM_RETURN
Definition: parser.c:113
enum cb_tag tag
Definition: tree.h:429
cb_tree page_counter
Definition: tree.h:1216
struct cb_field * cb_validate_78_item(struct cb_field *f, const cob_u32_t no78add)
Definition: field.c:1415
int first_detail
Definition: tree.h:1222
static unsigned int header_check
Definition: parser.c:239
unsigned int flag_occurs
Definition: tree.h:702
unsigned int flag_invalid
Definition: tree.h:716
#define CB_REFERENCE(x)
Definition: tree.h:901
Definition: parser.c:1351
cb_tree alphabet_name_list
Definition: tree.h:1256
static int zero_conflicting_flags(const int screen_flag, int parent_flag)
Definition: parser.c:1150
#define COB_ORG_RELATIVE
Definition: common.h:744
#define COB_CLOSE_LOCK
Definition: common.h:793
void cb_build_debug_item(void)
Definition: typeck.c:2243
cb_tree cb_one
Definition: tree.c:126
#define CB_BEFORE
Definition: tree.h:25
Definition: parser.c:1779
#define CB_CLASS_NAME_P(x)
Definition: tree.h:563
static unsigned int main_flag_set
Definition: parser.c:217
cb_tree cb_int3
Definition: tree.c:136
#define CB_PROGRAM(x)
Definition: tree.h:1328
struct cb_program * handler_prog
Definition: tree.h:806
int dir
Definition: tree.h:640
Definition: parser.c:1681
static COB_INLINE COB_A_INLINE void check_not_highlight_and_lowlight(const int flags, const int flag_to_set)
Definition: parser.c:1005
void redefinition_error(cb_tree x)
Definition: error.c:284
#define COB_SCREEN_LOWLIGHT
Definition: common.h:908
static unsigned int env_div_seen
Definition: parser.c:238
int segment
Definition: tree.h:775
#define CB_PROGRAM_TYPE
Definition: tree.h:41
cb_tree exit_label
Definition: tree.h:1111
void cb_emit_reset_trace(void)
Definition: typeck.c:7699
cb_tree global_list
Definition: tree.h:1261
Definition: parser.c:1572
#define SYN_CLAUSE_8
Definition: parser.c:137
Definition: parser.c:1849
#define CB_CONV_STATIC_LINK
Definition: tree.h:132
int loop_counter
Definition: tree.h:1292
Definition: parser.c:1467
cb_tree cb_build_if_check_break(cb_tree, cb_tree)
Definition: typeck.c:5671
cb_tree cb_int(const int n)
Definition: tree.c:1488
Definition: parser.c:1758
#define CB_FUNC_PROTOTYPE(x)
Definition: tree.h:1339
void cb_emit_commit(void)
Definition: typeck.c:5023
static void check_repeated(const char *clause, const unsigned int bitval, unsigned int *already_seen)
Definition: parser.c:980
#define CB_FEATURE_CONVENTION
Definition: tree.h:197
void cb_emit_unstring(cb_tree, cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:8552
#define YYABORT
Definition: parser.c:6133
Definition: parser.c:1736
#define TERM_STRING
Definition: parser.c:117
#define COB_ACCESS_SEQUENTIAL
Definition: common.h:751
#define TERM_DELETE
Definition: parser.c:104
cb_tree sharing
Definition: tree.h:825
Definition: parser.c:1446
cb_tree linage_ctr
Definition: tree.h:833
Definition: parser.c:1375
unsigned int flag_console_is_crt
Definition: tree.h:1319
Definition: parser.c:1473
#define CB_FILE_P(x)
Definition: tree.h:859
cb_tree latfoot
Definition: tree.h:834
Definition: parser.c:1447
Definition: tree.h:818
cb_tree entry_list
Definition: tree.h:1251
int non_const_word
Definition: parser.c:178
#define TERM_PERFORM
Definition: parser.c:110
void cb_emit_accept_arg_value(cb_tree)
Definition: typeck.c:4605
#define CB_ALPHABET_CUSTOM
Definition: tree.h:110
#define COB_SCREEN_INITIAL
Definition: common.h:918
static void clear_initial_values(void)
Definition: parser.c:641
int functions_are_all
Definition: parser.c:177
static void begin_statement(const char *name, const unsigned int term)
Definition: parser.c:271
#define TERMINATOR_CLEAR(x, z)
Definition: parser.c:125
unsigned char currency_symbol
Definition: tree.h:1301
cb_tree cb_build_reference(const char *name)
Definition: tree.c:2572
#define COB_SCREEN_REQUIRED
Definition: common.h:909
cb_tree cb_build_tallying_all(void)
Definition: typeck.c:5874
void finalize_file(struct cb_file *f, struct cb_field *records)
Definition: tree.c:2409
int cb_get_level(cb_tree x)
Definition: field.c:46
static void check_field_attribs(cb_tree fgc, cb_tree bgc, cb_tree scroll, cb_tree timeout, cb_tree prompt, cb_tree size_is)
Definition: parser.c:1084
#define TERM_MULTIPLY
Definition: parser.c:109
unsigned int flag_any_numeric
Definition: tree.h:736
int duplicates
Definition: tree.h:814
#define yypact_value_is_default(Yystate)
Definition: parser.c:2817
struct cb_field * rename_thru
Definition: tree.h:655
static void yydestruct(const char *yymsg, int yytype, cb_tree *yyvaluep)
Definition: parser.c:6536
void cb_validate_88_item(struct cb_field *f)
Definition: field.c:1386
cb_tree cb_error_node
Definition: tree.c:140
cb_tree screen_to
Definition: tree.h:666
#define COB_DESCENDING
Definition: common.h:736
#define COB_OPEN_I_O
Definition: common.h:786
void cb_emit_search_all(cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:7985
static void yy_reduce_print(yytype_int16 *yyssp, cb_tree *yyvsp, int yyrule)
Definition: parser.c:6256
Definition: parser.c:1616
int param_num
Definition: tree.h:683
cb_tree cb_build_display_name(cb_tree)
Definition: typeck.c:5362
static int yysyntax_error(size_t *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
Definition: parser.c:6404
#define COBC_HD_FILE_SECTION
Definition: parser.c:258
struct cb_field * parent
Definition: tree.h:651
Definition: parser.c:1503
void cb_emit_sort_finish(cb_tree)
Definition: typeck.c:8356
#define TERM_REWRITE
Definition: parser.c:114
cb_tree cb_build_write_advancing_mnemonic(cb_tree, cb_tree)
Definition: typeck.c:8701
cb_tree cb_build_tallying_data(cb_tree)
Definition: typeck.c:5856
cb_tree yylval
Definition: parser.c:6555
static cb_tree advancing_value
Definition: parser.c:242
void cb_emit_delete(cb_tree)
Definition: typeck.c:5039
#define EVAL_DEPTH
Definition: parser.c:163
const char * program_id
Definition: tree.h:1244
static unsigned int use_global_ind
Definition: parser.c:214
static int contains_only_screen_field(struct cb_list *x_list)
Definition: parser.c:1219
void cb_emit_perform(cb_tree, cb_tree)
Definition: typeck.c:7509
cb_tree class_name_list
Definition: tree.h:1258
#define COB_SCREEN_BLANK_LINE
Definition: common.h:901
unsigned int flag_segments
Definition: tree.h:1317
Definition: parser.c:1705
int yydebug
Definition: parser.c:6283
void cb_emit_goto(cb_tree, cb_tree)
Definition: typeck.c:5629
#define CB_DEVICE_CONSOLE
Definition: tree.h:156
unsigned int flag_blank_zero
Definition: tree.h:705
#define COBC_HD_LOCAL_STORAGE_SECTION
Definition: parser.c:260
#define CB_BUILD_CHAIN(x, y)
Definition: tree.h:1852
void cb_emit_set_up_down(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:8106
cb_tree index_list
Definition: tree.h:650
Definition: parser.c:1541
cb_tree cb_build_replacing_all(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:5926
#define COB_SCREEN_SECURE
Definition: common.h:911
void validate_file(struct cb_file *f, cb_tree name)
Definition: tree.c:2360
#define COB_SCREEN_HIGHLIGHT
Definition: common.h:907
void cb_error(const char *,...) COB_A_FORMAT12
Definition: error.c:98
#define COB_SCREEN_PROMPT
Definition: common.h:914
Definition: parser.c:1657
static unsigned int inspect_keyword
Definition: parser.c:216
unsigned int flag_recursive
Definition: tree.h:1308
#define COB_STORE_PROHIBITED
Definition: common.h:875
int access_mode
Definition: tree.h:845
#define SYN_CLAUSE_21
Definition: parser.c:150
const char * program_name
Definition: tree.h:1243
#define COB_EQ
Definition: common.h:726
static unsigned int samearea
Definition: parser.c:215
static COB_INLINE COB_A_INLINE void check_screen_attr_with_conflict(const char *clause, const int bitval, const char *confl_clause, const int confl_bit)
Definition: parser.c:1049
Definition: parser.c:1394
static unsigned int current_linage
Definition: parser.c:211
#define COB_SCREEN_ERASE_EOS
Definition: common.h:905
static cb_tree next_label_list
Definition: parser.c:196
#define COBC_HD_ENVIRONMENT_DIVISION
Definition: parser.c:251
#define COB_A_INLINE
Definition: common.h:440
struct cb_field * cb_get_real_field(void)
Definition: field.c:1445
cb_tree label_list
Definition: tree.h:1254
unsigned int flag_chained
Definition: tree.h:1311
Definition: parser.c:1850
#define COBC_HD_INPUT_OUTPUT_SECTION
Definition: parser.c:254
#define COB_SCREEN_GRID
Definition: common.h:925
char * cb_encode_program_id(const char *)
Definition: typeck.c:1132
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Definition: parser.c:2086
static unsigned int skip_statements
Definition: parser.c:233
#define CB_INVALID_TREE(x)
Definition: tree.h:446
char * source_name
Definition: tree.h:1245
Definition: parser.c:1764
Definition: parser.c:1732
#define CB_FUNCTION_TYPE
Definition: tree.h:42
cb_tree file_status
Definition: tree.h:824
#define COB_SCREEN_LINE_PLUS
Definition: common.h:895
cb_storage
Definition: tree.h:243
#define TERM_UNSTRING
Definition: parser.c:119
int special
Definition: tree.h:847
cb_tree assign
Definition: tree.h:823
static const yytype_int16 yydefgoto[]
Definition: parser.c:3481
#define CB_ADD_TO_CHAIN(x, y)
Definition: tree.h:1854
unsigned int flag_common
Definition: tree.h:1306
void cb_emit_set_attribute(cb_tree, const int, const int)
Definition: typeck.c:8207
#define YYTERROR
Definition: parser.c:6157
#define YYPOPSTACK(N)
Definition: parser.c:1656
static void screen_display(cob_screen *s, const int line, const int column)
Definition: screenio.c:1591
cb_tree key
Definition: tree.h:813
cb_tree cb_null
Definition: tree.c:124
static void emit_duplicate_clause_message(const char *clause)
Definition: parser.c:970
#define COBC_HD_DATA_DIVISION
Definition: parser.c:257
Definition: parser.c:1660
static unsigned int check_duplicate
Definition: parser.c:228
#define COB_STORE_TOWARD_GREATER
Definition: common.h:876
cb_tree cb_build_unstring_into(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:8587
void cb_emit_display(cb_tree, cb_tree, cb_tree, cb_tree, struct cb_attr_struct *)
Definition: typeck.c:5236
static int eval_inc2
Definition: parser.c:221
cb_tree screen_prompt
Definition: tree.h:669
cb_tree collating_sequence
Definition: tree.h:1284
int yynerrs
Definition: parser.c:6557
struct handler_struct global_handler[5]
Definition: tree.h:1283
Definition: parser.c:1472
#define TERM_READ
Definition: parser.c:111
cb_tree screen_line
Definition: tree.h:663
const char * ename
Definition: tree.h:646
cb_tree classification
Definition: tree.h:1285
#define CB_EXCEPTION_ENABLE(id)
Definition: cobc.h:243
Definition: parser.c:1586
unsigned int cobc_in_procedure
Definition: parser.c:179
cb_tree chain
Definition: tree.h:1183
cb_tree cb_build_display_mnemonic(cb_tree)
Definition: typeck.c:5340
#define CB_CS_DISPLAY
Definition: cobc.h:110
cb_tree cursor_pos
Definition: tree.h:1286
static int depth
Definition: parser.c:222
void cb_emit_display_omitted(cb_tree, struct cb_attr_struct *)
Definition: typeck.c:5217
cb_tree cb_build_binary_list(cb_tree l, const int op)
Definition: tree.c:2902
unsigned int flag_declaratives
Definition: tree.h:784
#define YYMAXDEPTH
Definition: parser.c:6305
static unsigned int start_debug
Definition: parser.c:234
#define COB_MAX_SUBSCRIPTS
Definition: codegen.c:44
Definition: parser.c:1753
cb_tree cb_build_tallying_leading(void)
Definition: typeck.c:5885
unsigned int flag_sign_separate
Definition: tree.h:703
Definition: parser.c:1824
#define TERM_EVALUATE
Definition: parser.c:107
Definition: parser.c:1448
#define COBC_HD_PROGRAM_ID
Definition: parser.c:266
Definition: parser.c:1760
#define yyerror
Definition: parser.c:84
cb_tree cb_high
Definition: tree.c:129
void cb_check_field_debug(cb_tree)
Definition: typeck.c:904
Definition: parser.c:1538
#define COB_LOCK_MULTIPLE
Definition: common.h:776
static void decrement_depth(const char *name, const unsigned char type)
Definition: parser.c:833
#define CB_REPORT(x)
Definition: tree.h:1228
void cb_emit_set_last_exception_to_off(void)
Definition: typeck.c:8229
int cb_category_is_alpha(cb_tree x)
Definition: tree.c:843
cb_tree cb_build_identifier(cb_tree, const int)
Definition: typeck.c:1426
yytokentype
Definition: parser.c:1343
Definition: parser.c:1790
int organization
Definition: tree.h:844
cb_tree key
Definition: tree.h:637
#define CB_WORD_COUNT(x)
Definition: tree.h:905
cb_tree prompt
Definition: tree.h:1128
void cb_warning(const char *,...) COB_A_FORMAT12
Definition: error.c:87
void cb_emit_accept_escape_key(cb_tree)
Definition: typeck.c:4485
#define CB_LIST_INIT(x)
Definition: tree.h:1851
static int eval_inc
Definition: parser.c:220
Definition: parser.c:1361
const char * demangle_name
Definition: cobc.c:147
unsigned int flag_declarative_exit
Definition: tree.h:783
Definition: parser.c:1675
Definition: parser.c:1552
Definition: parser.c:1831
#define TERMINATOR_WARNING(x, z)
Definition: parser.c:123
#define SYN_CLAUSE_22
Definition: parser.c:151
static cb_tree eval_check[32][32]
Definition: parser.c:247
#define YYINITDEPTH
Definition: parser.c:6294
#define COB_ORG_SORT
Definition: common.h:746
#define CB_ALPHABET_NAME_P(x)
Definition: tree.h:551
static cb_tree perform_stack
Definition: parser.c:202
Definition: parser.c:1634
void cb_emit_sort_giving(cb_tree, cb_tree)
Definition: typeck.c:8319
#define COB_SCREEN_UPDATE
Definition: common.h:915
cb_tree cb_build_tallying_value(cb_tree, cb_tree)
Definition: typeck.c:5907
Definition: tree.h:764
void cb_emit_exit(const unsigned int)
Definition: typeck.c:5653
static int eval_level
Definition: parser.c:219
Definition: parser.c:1398
#define COB_ACCESS_RANDOM
Definition: common.h:753
struct cb_label * all_procedure
Definition: tree.h:1289
struct cb_field * linkage_storage
Definition: tree.h:1278
static void check_attr_with_conflict(const char *clause, const int bitval, const char *confl_clause, const int confl_bit, int *flags)
Definition: parser.c:1035
static void check_relaxed_syntax(const unsigned int lev)
Definition: parser.c:525
Definition: parser.c:1505
Definition: parser.c:1721
#define YYTRANSLATE(YYX)
Definition: parser.c:2138
#define CB_AFTER
Definition: tree.h:26
int cb_source_line
Definition: cobc.c:178
Definition: parser.c:1617
#define CB_CS_SET
Definition: cobc.h:116
#define SYN_CLAUSE_12
Definition: parser.c:141
unsigned char numeric_separator
Definition: tree.h:1302
static void yy_symbol_value_print(FILE *yyoutput, int yytype, cb_tree const *const yyvaluep)
Definition: parser.c:6199
#define COB_ORG_LINE_SEQUENTIAL
Definition: common.h:743
unsigned int flag_trailing_separate
Definition: tree.h:1318
cb_tree exec_list
Definition: tree.h:1253
void cb_emit_accept_date(cb_tree)
Definition: typeck.c:4512
#define COB_LOCK_OPEN_EXCLUSIVE
Definition: common.h:777
void cb_emit_env_value(cb_tree)
Definition: typeck.c:5115
#define CB_BUILD_PAIR(x, y)
Definition: tree.h:1853
static unsigned int check_on_off_duplicate
Definition: parser.c:229
static void begin_implicit_statement(void)
Definition: parser.c:290
struct cb_field * working_storage
Definition: tree.h:1276
#define COB_STORE_TOWARD_LESSER
Definition: common.h:877
void cb_emit_corresponding(cb_tree(*)(cb_tree, cb_tree, cb_tree), cb_tree, cb_tree, cb_tree)
Definition: parser.c:1581
Definition: parser.c:1769
void cb_emit_unlock(cb_tree)
Definition: typeck.c:8535
#define YYACCEPT
Definition: parser.c:6132
void cb_emit_cancel(cb_tree)
Definition: typeck.c:4977
char * cb_build_program_id(cb_tree, cb_tree, const cob_u32_t)
Definition: typeck.c:1190
#define TERM_DISPLAY
Definition: parser.c:105
static unsigned int prog_end
Definition: parser.c:213
Definition: parser.c:1360
unsigned int flag_begin
Definition: tree.h:779
int last_control
Definition: tree.h:1223
void cb_emit_accept_line_or_col(cb_tree, const int)
Definition: typeck.c:4476
void cb_emit_close(cb_tree, cb_tree)
Definition: typeck.c:4988
cb_tree cb_build_write_advancing_page(cb_tree)
Definition: typeck.c:8738
unsigned int flag_validated
Definition: tree.h:1310
static void error_if_no_advancing_in_screen_display(cb_tree advancing)
Definition: parser.c:1302
static int setattr_val_on
Definition: parser.c:226
cb_tree cycle_label
Definition: tree.h:1112
static void check_attribs(cb_tree fgc, cb_tree bgc, cb_tree scroll, cb_tree timeout, cb_tree prompt, cb_tree size_is, const int attrib)
Definition: parser.c:1114
#define SYN_CLAUSE_5
Definition: parser.c:134
#define YYLAST
Definition: parser.c:2122
#define COB_OPEN_OUTPUT
Definition: common.h:785
#define COB_LA
Definition: common.h:733
static void check_headers_present(const unsigned int lev1, const unsigned int lev2, const unsigned int lev3, const unsigned int lev4)
Definition: parser.c:590
struct cb_program * cb_build_program(struct cb_program *last_program, const int nest_level)
Definition: tree.c:1400
Definition: parser.c:1834
unsigned int flag_void
Definition: tree.h:1325
#define YYFPRINTF
Definition: parser.c:6167
#define SYN_CLAUSE_16
Definition: parser.c:145
cb_tree cb_build_debug(const cb_tree target, const char *str, const cb_tree fld)
Definition: tree.c:1566
int heading
Definition: tree.h:1221
void cb_validate_field(struct cb_field *f)
Definition: field.c:1338
Definition: parser.c:1667
size_t cobc_check_valid_name(const char *name, const unsigned int prechk)
Definition: cobc.c:1142
#define CB_FUNC_PROTOTYPE_P(x)
Definition: tree.h:1340
Definition: parser.c:1412
cb_tree key
Definition: tree.h:826
Definition: parser.c:1502
#define COB_SCREEN_COLUMN_MINUS
Definition: common.h:898
#define CB_SYSTEM_NAME_P(x)
Definition: tree.h:587
void cb_build_registers(void)
Definition: typeck.c:1051
void cb_emit_divide(cb_tree, cb_tree, cb_tree, cb_tree)
Definition: typeck.c:5399
#define COB_CLOSE_NORMAL
Definition: common.h:792
Definition: parser.c:1614
unsigned int flag_skip_label
Definition: tree.h:798
struct cb_statement * current_statement
Definition: parser.c:169
cb_tree cb_list_reverse(cb_tree l)
Definition: tree.c:1327
unsigned int flag_dummy_section
Definition: tree.h:787
Definition: parser.c:1501
Definition: parser.c:1832
#define COB_SCREEN_AUTO
Definition: common.h:899
void cb_emit_string(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:8490
unsigned int cobc_cs_check
Definition: parser.c:182
cb_tree user_spec_list
Definition: tree.h:1272
void cb_emit_sort_output(cb_tree)
Definition: typeck.c:8340
static const yytype_uint8 yyr2[]
Definition: parser.c:5906
#define COB_MAX_FIELD_PARAMS
Definition: common.h:559
#define COB_SCREEN_INPUT
Definition: common.h:916
Definition: parser.c:1462
cb_tree handler1
Definition: tree.h:1141
const char * statement
Definition: tree.h:1138
cb_tree cb_build_length(cb_tree)
Definition: typeck.c:1781
struct cb_field * redefines
Definition: tree.h:654
int dispattrs
Definition: tree.h:1130
cb_tree values
Definition: tree.h:648
Definition: parser.c:1791
cb_tree cb_build_section_name(cb_tree, const int)
Definition: typeck.c:1251
cb_tree cb_build_alphabet_name(cb_tree name)
Definition: tree.c:1605
unsigned int flag_chained
Definition: tree.h:719
Definition: parser.c:1521
#define TERM_START
Definition: parser.c:116
static unsigned int check_comp_duplicate
Definition: parser.c:231
static struct cb_file * linage_file
Definition: parser.c:195
Definition: parser.c:1795
cb_tree screen_foreg
Definition: tree.h:667
static void check_screen_attr(const char *clause, const int bitval)
Definition: parser.c:1012
Definition: parser.c:1369
Definition: parser.c:1500
struct cb_label * current_paragraph
Definition: parser.c:171
int step_count
Definition: tree.h:685
#define COB_SCREEN_BLANK_SCREEN
Definition: common.h:902
#define CB_INTEGER_P(x)
Definition: tree.h:523
Definition: parser.c:1548
int cobc_flag_main
Definition: cobc.c:167
Definition: parser.c:1512
struct cb_alt_key * alt_key_list
Definition: tree.h:827
#define COB_SELECT_STDOUT
Definition: common.h:762
unsigned int flag_has_external
Definition: tree.h:1316
void cb_set_system_names(void)
Definition: tree.c:2637
Definition: parser.c:1402
#define COB_ASCENDING
Definition: common.h:735
#define COB_LT
Definition: common.h:727
cb_tree fgc
Definition: tree.h:1124
void cb_clear_real_field(void)
Definition: field.c:1439
static char * yystpcpy(char *yydest, const char *yysrc)
Definition: parser.c:6334
static int setattr_val_off
Definition: parser.c:227
const char * cb_define(cb_tree name, cb_tree val)
Definition: tree.c:1367
Definition: parser.c:1730
Definition: parser.c:1390
#define COB_SCREEN_UPPER
Definition: common.h:923
Definition: parser.c:1352
#define YYSTYPE
Definition: parser.c:83
#define push_expr(type, node)
Definition: parser.c:95
unsigned int alphabet_type
Definition: tree.h:543
#define SYN_CLAUSE_14
Definition: parser.c:143
enum cb_usage usage
Definition: tree.h:693
unsigned int flag_merge
Definition: tree.h:1151
#define SYN_CLAUSE_24
Definition: parser.c:153
cb_tree cb_build_binary_op(cb_tree x, const int op, cb_tree y)
Definition: tree.c:2827
Definition: parser.c:1853
void cb_unput_dot(void)
Definition: scanner.c:4765
cb_tree record_depending
Definition: tree.h:830
static const yytype_int16 yypgoto[]
Definition: parser.c:3393
cb_tree cb_debug_contents
Definition: typeck.c:88
struct cb_key * keys
Definition: tree.h:658
#define CB_ALPHABET_EBCDIC
Definition: tree.h:109
#define likely(x)
Definition: common.h:436
enum cb_storage storage
Definition: tree.h:692
#define YYSTACK_FREE
Definition: parser.c:2031
Definition: parser.c:1740
#define CB_CONV_NO_RET_UPD
Definition: tree.h:131
int nkeys
Definition: tree.h:682
cb_tree cb_low
Definition: tree.c:128
cb_tree cb_int2
Definition: tree.c:135
cb_tree yyvs_alloc
Definition: parser.c:2067
static void emit_entry(const char *name, const int encode, cb_tree using_list)
Definition: parser.c:315
Definition: parser.c:1576
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition: parser.c:1984
#define YYSIZE_T
Definition: parser.c:1917
cb_tree cb_build_replacing_first(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:5940
cb_tree cb_define_switch_name(cb_tree, cb_tree, const int)
Definition: typeck.c:1228
cb_tree symbolic_char_list
Definition: tree.h:1257
Definition: parser.c:1822
unsigned char decimal_point
Definition: tree.h:1300
static void end_scope_of_program_name(struct cb_program *program)
Definition: parser.c:737
#define CB_FIELD(x)
Definition: tree.h:740
#define TERM_ADD
Definition: parser.c:101
struct cb_field * screen_storage
Definition: tree.h:1279
unsigned int flag_first_is_goto
Definition: tree.h:793
cb_tree cb_build_goto(const cb_tree target, const cb_tree depending)
Definition: tree.c:3118
cb_tree varying
Definition: tree.h:1110
Definition: parser.c:1439
Definition: parser.c:1516
Definition: parser.c:1620
int errorcount
Definition: cobc.c:173
void cb_emit_accept_day_yyyyddd(cb_tree)
Definition: typeck.c:4539
cb_tree body
Definition: tree.h:1139
Definition: parser.c:1846
cb_tree cb_build_index(cb_tree, cb_tree, const unsigned int, struct cb_field *)
Definition: typeck.c:1337
char * orig_program_id
Definition: tree.h:1246
Definition: parser.c:1408
#define COB_MINI_MAX
Definition: common.h:545
void cb_emit_setenv(cb_tree, cb_tree)
Definition: typeck.c:8013
#define YYCASE_(N, S)
int num_proc_params
Definition: tree.h:1296
int columns
Definition: tree.h:1220
unsigned char flag_external
Definition: tree.h:697
Definition: parser.c:1461
void cb_emit_accept_arg_number(cb_tree)
Definition: typeck.c:4596
cb_tree cb_list_add(cb_tree l, cb_tree x)
Definition: tree.c:1315
void cb_emit_accept_user_name(cb_tree)
Definition: typeck.c:4503
cb_tree handler2
Definition: tree.h:1142
void cb_emit_alter(cb_tree, cb_tree)
Definition: typeck.c:4733
void cb_validate_program_data(struct cb_program *)
Definition: typeck.c:2344
unsigned int flag_item_based
Definition: tree.h:713
void cb_emit_env_name(cb_tree)
Definition: typeck.c:5106
void cb_emit_rewrite(cb_tree, cb_tree, cb_tree)
Definition: typeck.c:7707
cb_tree false_88
Definition: tree.h:649