home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / src / diffs / gnat-2.00.diffs < prev    next >
Encoding:
Text File  |  1995-01-21  |  662.9 KB  |  14,979 lines

  1. diff -rc --new-file gnat-2.00/Makefile.in /gnu/src/amiga/gnat-2.00/Makefile.in
  2. *** gnat-2.00/Makefile.in    Mon Nov 28 23:54:06 1994
  3. --- /gnu/src/amiga/gnat-2.00/Makefile.in    Sun Jan 15 15:41:40 1995
  4. ***************
  5. *** 65,75 ****
  6.   AR_FLAGS = rc
  7.   SHELL = /bin/sh
  8.   # on sysV, define this as cp.
  9. ! INSTALL = install -c
  10.   # These permit overriding just for certain files.
  11.   INSTALL_PROGRAM = $(INSTALL)
  12.   INSTALL_DATA = $(INSTALL)
  13. ! SYMLINK = ln -s
  14.   MAKEINFO = makeinfo
  15.   TEXI2DVI = texi2dvi
  16.   # For GNUmake: let us decide what gets passed to recursive makes.
  17. --- 65,78 ----
  18.   AR_FLAGS = rc
  19.   SHELL = /bin/sh
  20.   # on sysV, define this as cp.
  21. ! INSTALL = cp
  22.   # These permit overriding just for certain files.
  23.   INSTALL_PROGRAM = $(INSTALL)
  24.   INSTALL_DATA = $(INSTALL)
  25. ! SYMLINK = cp
  26. ! # Some systems don't support hardlinks.  For this case, a simple copy
  27. ! # will achieve the same results for our purposes.
  28. ! HARDLINK = cp
  29.   MAKEINFO = makeinfo
  30.   TEXI2DVI = texi2dvi
  31.   # For GNUmake: let us decide what gets passed to recursive makes.
  32. ***************
  33. *** 99,111 ****
  34.   OLDAR = ar
  35.   
  36.   # Target to use when installing include directory.  Either
  37. ! # install-headers-tar or install-headers-cpio.
  38.   INSTALL_HEADERS_DIR = install-headers-tar
  39.   
  40.   # The GCC to use for compiling libgcc2.a, enquire, and cross-test.
  41.   # Usually the one we just built.
  42.   # Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS).
  43. ! GCC_FOR_TARGET = ./xgcc -B./
  44.   
  45.   # This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
  46.   # It omits XCFLAGS, and specifies -B./.
  47. --- 102,115 ----
  48.   OLDAR = ar
  49.   
  50.   # Target to use when installing include directory.  Either
  51. ! # install-headers-tar install-headers-cpio, or install-headers-cp.
  52.   INSTALL_HEADERS_DIR = install-headers-tar
  53.   
  54.   # The GCC to use for compiling libgcc2.a, enquire, and cross-test.
  55.   # Usually the one we just built.
  56.   # Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS).
  57. ! XGCC = xgcc
  58. ! GCC_FOR_TARGET = ./$(XGCC) -B./
  59.   
  60.   # This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
  61.   # It omits XCFLAGS, and specifies -B./.
  62. ***************
  63. *** 150,161 ****
  64.   srcdir = .
  65.   # Common prefix for installation directories.
  66.   # NOTE: This directory must exist when you start installation.
  67. ! prefix = /usr/local
  68.   # Directory in which to put localized header files. On the systems with
  69.   # gcc as the native cc, `local_prefix' may not be `prefix' which is
  70.   # `/usr'.
  71.   # NOTE: local_prefix *should not* default from prefix.
  72. ! local_prefix = /usr/local
  73.   # Directory in which to put host dependent programs and libraries
  74.   exec_prefix = $(prefix)
  75.   # Directory in which to put the executable for the command `gcc'
  76. --- 154,168 ----
  77.   srcdir = .
  78.   # Common prefix for installation directories.
  79.   # NOTE: This directory must exist when you start installation.
  80. ! prefix = /gnu
  81.   # Directory in which to put localized header files. On the systems with
  82.   # gcc as the native cc, `local_prefix' may not be `prefix' which is
  83.   # `/usr'.
  84. + # Similar considerations apply for toolkits located on non-writable storage,
  85. + # such as CD-ROM, where we need a completely separate place to put local
  86. + # include files.
  87.   # NOTE: local_prefix *should not* default from prefix.
  88. ! local_prefix = /gnu
  89.   # Directory in which to put host dependent programs and libraries
  90.   exec_prefix = $(prefix)
  91.   # Directory in which to put the executable for the command `gcc'
  92. ***************
  93. *** 621,627 ****
  94.       $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o xgcc gcc.o version.o $(LIBS)
  95.   
  96.   # Dump a specs file to make -B./ read these specs over installed ones.
  97. ! specs: xgcc
  98.       $(GCC_FOR_TARGET) -dumpspecs > specs
  99.   
  100.   # We do want to create an executable named `xgcc', so we can use it to
  101. --- 628,634 ----
  102.       $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o xgcc gcc.o version.o $(LIBS)
  103.   
  104.   # Dump a specs file to make -B./ read these specs over installed ones.
  105. ! specs: xgcc xgccv
  106.       $(GCC_FOR_TARGET) -dumpspecs > specs
  107.   
  108.   # We do want to create an executable named `xgcc', so we can use it to
  109. ***************
  110. *** 838,845 ****
  111.   # the second ar command tries to overwrite this file.  To avoid the error
  112.   # message from ar, we make sure all files are writable.
  113.       -(cd tmpcopy; chmod +w * > /dev/null 2>&1)
  114. !     (cd tmpcopy; $(AR) x ../$(LIBGCC2))
  115. !     (cd tmpcopy; $(AR) $(AR_FLAGS) ../tmplibgcc.a *.o)
  116.       rm -rf tmpcopy
  117.       -if $(RANLIB_TEST) ; then $(RANLIB) tmplibgcc.a; else true; fi
  118.   # Actually build it in tmplibgcc.a, then rename at end,
  119. --- 845,853 ----
  120.   # the second ar command tries to overwrite this file.  To avoid the error
  121.   # message from ar, we make sure all files are writable.
  122.       -(cd tmpcopy; chmod +w * > /dev/null 2>&1)
  123. ! # The "cd..; wait" makes sure that the lock on tmpcopy has time to disappear.
  124. !     (cd tmpcopy; $(AR) x ../$(LIBGCC2); cd ..; /c/wait 2)
  125. !     (cd tmpcopy; $(AR) $(AR_FLAGS) ../tmplibgcc.a *.o; cd ..; /c/wait 2)
  126.       rm -rf tmpcopy
  127.       -if $(RANLIB_TEST) ; then $(RANLIB) tmplibgcc.a; else true; fi
  128.   # Actually build it in tmplibgcc.a, then rename at end,
  129. ***************
  130. *** 911,920 ****
  131.       cd objc; \
  132.       $(MAKE) -f $${srcdir1}/objc/Makefile libobjc.a \
  133.         srcdir=$${srcdir1} tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
  134. !       GCC_FOR_TARGET="$${thisdir1}/xgcc -B$${thisdir1}/" \
  135.         GCC_CFLAGS="$(GCC_CFLAGS)"
  136.       -rm -f libobjc.a
  137. !     ln objc/libobjc.a . >/dev/null 2>&1 || cp objc/libobjc.a .
  138.       -if $(RANLIB_TEST) ; then $(RANLIB) libobjc.a; else true; fi
  139.   
  140.   # This is used by objc/Makefile if the user runs that directly.
  141. --- 919,928 ----
  142.       cd objc; \
  143.       $(MAKE) -f $${srcdir1}/objc/Makefile libobjc.a \
  144.         srcdir=$${srcdir1} tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
  145. !       GCC_FOR_TARGET="$${thisdir1}/$(XGCC) -B$${thisdir1}/" \
  146.         GCC_CFLAGS="$(GCC_CFLAGS)"
  147.       -rm -f libobjc.a
  148. !     $(HARDLINK) objc/libobjc.a . >/dev/null 2>&1 || cp objc/libobjc.a .
  149.       -if $(RANLIB_TEST) ; then $(RANLIB) libobjc.a; else true; fi
  150.   
  151.   # This is used by objc/Makefile if the user runs that directly.
  152. ***************
  153. *** 924,930 ****
  154.       cd objc; \
  155.       $(MAKE) -f $$srcdir1/objc/Makefile libobjc.a \
  156.         srcdir=$$srcdir1 tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
  157. !       GCC_FOR_TARGET="$$thisdir1/xgcc -B$$thisdir1/" \
  158.         GCC_CFLAGS="$(GCC_CFLAGS)"
  159.   
  160.   # Compile two additional files that are linked with every program
  161. --- 932,938 ----
  162.       cd objc; \
  163.       $(MAKE) -f $$srcdir1/objc/Makefile libobjc.a \
  164.         srcdir=$$srcdir1 tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
  165. !       GCC_FOR_TARGET="$$thisdir1/$(XGCC) -B$$thisdir1/" \
  166.         GCC_CFLAGS="$(GCC_CFLAGS)"
  167.   
  168.   # Compile two additional files that are linked with every program
  169. ***************
  170. *** 975,981 ****
  171.   # To make a configuration always use collect2, set USE_COLLECT2 to ld.
  172.   ld: collect2
  173.       rm -f ld
  174. !     ln collect2 ld
  175.   
  176.   collect2 : collect2.o version.o $(LIBDEPS)
  177.   # Don't try modifying collect2 (aka ld) in place--it might be linking this.
  178. --- 983,989 ----
  179.   # To make a configuration always use collect2, set USE_COLLECT2 to ld.
  180.   ld: collect2
  181.       rm -f ld
  182. !     $(HARDLINK) collect2 ld
  183.   
  184.   collect2 : collect2.o version.o $(LIBDEPS)
  185.   # Don't try modifying collect2 (aka ld) in place--it might be linking this.
  186. ***************
  187. *** 1490,1496 ****
  188.   # Making the preprocessor
  189.   cpp: cccp
  190.       -rm -f cpp
  191. !     ln cccp cpp
  192.   cccp: cccp.o cexp.o version.o $(LIBDEPS)
  193.       $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cccp cccp.o cexp.o version.o $(LIBS)
  194.   cexp.o: $(srcdir)/cexp.c $(CONFIG_H)
  195. --- 1498,1504 ----
  196.   # Making the preprocessor
  197.   cpp: cccp
  198.       -rm -f cpp
  199. !     $(HARDLINK) cccp cpp
  200.   cccp: cccp.o cexp.o version.o $(LIBDEPS)
  201.       $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cccp cccp.o cexp.o version.o $(LIBS)
  202.   cexp.o: $(srcdir)/cexp.c $(CONFIG_H)
  203. ***************
  204. *** 1650,1656 ****
  205.       cd objc; \
  206.       $(MAKE) -f $${srcdir1}/objc/Makefile copy-headers \
  207.       srcdir=$${srcdir1} tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
  208. !     GCC_FOR_TARGET="$${thisdir1}/xgcc -B$${thisdir1}/" \
  209.       GCC_CFLAGS="$(GCC_CFLAGS)" incinstalldir=$${thisdir1}/include
  210.       touch objc-headers
  211.   
  212. --- 1658,1664 ----
  213.       cd objc; \
  214.       $(MAKE) -f $${srcdir1}/objc/Makefile copy-headers \
  215.       srcdir=$${srcdir1} tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
  216. !     GCC_FOR_TARGET="$${thisdir1}/$(XGCC) -B$${thisdir1}/" \
  217.       GCC_CFLAGS="$(GCC_CFLAGS)" incinstalldir=$${thisdir1}/include
  218.       touch objc-headers
  219.   
  220. ***************
  221. *** 1831,1836 ****
  222. --- 1839,1845 ----
  223.       -rm -f Makefile *.oaux
  224.       -rm -fr stage1 stage2 stage3 stage4
  225.       -rm -f */stage1 */stage2 */stage3 */stage4 */include
  226. +     -rm -f cp-parse.output
  227.       -rm -f objc-parse.output
  228.       -rm -f c-parse.output
  229.   
  230. ***************
  231. *** 1954,1960 ****
  232.         rm -f $(bindir)/gcc; \
  233.         $(INSTALL_PROGRAM) xgcc $(bindir)/gcc; \
  234.         rm -f $(bindir)/$(target)-gcc-1; \
  235. !       ln $(bindir)/gcc $(bindir)/$(target)-gcc-1; \
  236.         mv $(bindir)/$(target)-gcc-1 $(bindir)/$(target)-gcc; \
  237.       fi
  238.   # Install protoize if it was compiled.
  239. --- 1963,1969 ----
  240.         rm -f $(bindir)/gcc; \
  241.         $(INSTALL_PROGRAM) xgcc $(bindir)/gcc; \
  242.         rm -f $(bindir)/$(target)-gcc-1; \
  243. !       $(HARDLINK) $(bindir)/gcc $(bindir)/$(target)-gcc-1; \
  244.         mv $(bindir)/$(target)-gcc-1 $(bindir)/$(target)-gcc; \
  245.       fi
  246.   # Install protoize if it was compiled.
  247. ***************
  248. *** 2030,2036 ****
  249.           dest=`ls -ld $(libsubdir)/include/$$i | sed -n 's/.*-> //p'`; \
  250.           if expr "$$dest" : "$$dir.*" > /dev/null; then \
  251.             rm -f $(libsubdir)/include/$$i; \
  252. !           ln -s `echo $$i | sed "s|/[^/]*|/..|g" | sed 's|/..$$||'``echo "$$dest" | sed "s|$$dir||"` $(libsubdir)/include/$$i; \
  253.           fi; \
  254.         done; \
  255.       fi
  256. --- 2039,2045 ----
  257.           dest=`ls -ld $(libsubdir)/include/$$i | sed -n 's/.*-> //p'`; \
  258.           if expr "$$dest" : "$$dir.*" > /dev/null; then \
  259.             rm -f $(libsubdir)/include/$$i; \
  260. !           $(HARDLINK) -s `echo $$i | sed "s|/[^/]*|/..|g" | sed 's|/..$$||'``echo "$$dest" | sed "s|$$dir||"` $(libsubdir)/include/$$i; \
  261.           fi; \
  262.         done; \
  263.       fi
  264. ***************
  265. *** 2053,2058 ****
  266. --- 2062,2071 ----
  267.   install-headers-cpio: stmp-headers $(STMP_FIXPROTO) install-include-dir
  268.       (cd include; find . -print) | (cd include; cpio -pdum $(libsubdir)/include)
  269.   
  270. + # Install the include directory using simple recursive copy.
  271. + install-headers-cp: stmp-headers install-include-dir
  272. +     cd include; cp -r . $(libsubdir)/include
  273.   # Put assert.h where it won't override GNU libc's assert.h.
  274.   # It goes in a dir that is searched after GNU libc's headers;
  275.   # thus, the following conditionals are no longer needed.
  276. ***************
  277. *** 2142,2148 ****
  278.       mkdir tmp/ginclude
  279.       mkdir tmp/objc
  280.       for file in *[0-9a-zA-Z+]; do \
  281. !       ln $$file tmp > /dev/null 2>&1 || cp $$file tmp; \
  282.       done
  283.       cd config; \
  284.       for file in *[0-9a-zA-Z+]; do \
  285. --- 2155,2161 ----
  286.       mkdir tmp/ginclude
  287.       mkdir tmp/objc
  288.       for file in *[0-9a-zA-Z+]; do \
  289. !       $(HARDLINK) $$file tmp > /dev/null 2>&1 || cp $$file tmp; \
  290.       done
  291.       cd config; \
  292.       for file in *[0-9a-zA-Z+]; do \
  293. ***************
  294. *** 2150,2173 ****
  295.           mkdir ../tmp/config/$$file; \
  296.           cd $$file; \
  297.           for subfile in *[0-9a-zA-Z+]; do \
  298. !           ln $$subfile ../../tmp/config/$$file >/dev/null 2>&1 \
  299.             || cp $$subfile ../../tmp/config/$$file; \
  300.           done; \
  301.           cd ..; \
  302.         else \
  303. !         ln $$file ../tmp/config >/dev/null 2>&1 \
  304.           || cp $$file ../tmp/config; \
  305.         fi; \
  306.       done
  307.       cd ginclude; \
  308.       for file in *[0-9a-zA-Z+]; do \
  309. !       ln $$file ../tmp/ginclude >/dev/null 2>&1 || cp $$file ../tmp/ginclude; \
  310.       done
  311.       cd objc; \
  312.       for file in *[0-9a-zA-Z+]; do \
  313. !       ln $$file ../tmp/objc >/dev/null 2>&1 || cp $$file ../tmp/objc; \
  314.       done
  315. !     ln .gdbinit tmp
  316.   
  317.   # Finish making `distdir', after the languages have done their thing.
  318.   distdir-finish:
  319. --- 2163,2186 ----
  320.           mkdir ../tmp/config/$$file; \
  321.           cd $$file; \
  322.           for subfile in *[0-9a-zA-Z+]; do \
  323. !           $(HARDLINK) $$subfile ../../tmp/config/$$file >/dev/null 2>&1 \
  324.             || cp $$subfile ../../tmp/config/$$file; \
  325.           done; \
  326.           cd ..; \
  327.         else \
  328. !         $(HARDLINK) $$file ../tmp/config >/dev/null 2>&1 \
  329.           || cp $$file ../tmp/config; \
  330.         fi; \
  331.       done
  332.       cd ginclude; \
  333.       for file in *[0-9a-zA-Z+]; do \
  334. !       $(HARDLINK) $$file ../tmp/ginclude >/dev/null 2>&1 || cp $$file ../tmp/ginclude; \
  335.       done
  336.       cd objc; \
  337.       for file in *[0-9a-zA-Z+]; do \
  338. !       $(HARDLINK) $$file ../tmp/objc >/dev/null 2>&1 || cp $$file ../tmp/objc; \
  339.       done
  340. !     $(HARDLINK) .gdbinit tmp
  341.   
  342.   # Finish making `distdir', after the languages have done their thing.
  343.   distdir-finish:
  344. ***************
  345. *** 2195,2211 ****
  346.   # in the intended test directory to make it a suitable test directory.
  347.   # THIS IS OBSOLETE; use the -srcdir operand in configure instead. 
  348.   maketest:
  349. !     ln -s $(DIR)/*.[chy] .
  350. !     ln -s $(DIR)/configure .
  351. !     ln -s $(DIR)/*.def .
  352.       -rm -f =*
  353. !     ln -s $(DIR)/.gdbinit .
  354. !     ln -s $(DIR)/$(FIXINCLUDES) .
  355. !     -ln -s $(DIR)/bison.simple .
  356. !     ln -s $(DIR)/config .
  357. !     ln -s $(DIR)/move-if-change .
  358.   # The then and else were swapped to avoid a problem on Ultrix.
  359. !     if [ ! -f Makefile ] ; then ln -s $(DIR)/Makefile .; else false; fi
  360.       -rm tm.h aux-output.c config.h md
  361.       make clean
  362.   # You must then run config to set up for compilation.
  363. --- 2208,2224 ----
  364.   # in the intended test directory to make it a suitable test directory.
  365.   # THIS IS OBSOLETE; use the -srcdir operand in configure instead. 
  366.   maketest:
  367. !     $(SYMLINK) $(DIR)/*.[chy] .
  368. !     $(SYMLINK) $(DIR)/configure .
  369. !     $(SYMLINK) $(DIR)/*.def .
  370.       -rm -f =*
  371. !     $(SYMLINK) $(DIR)/.gdbinit .
  372. !     $(SYMLINK) $(DIR)/$(FIXINCLUDES) .
  373. !     -$(SYMLINK) $(DIR)/bison.simple .
  374. !     $(SYMLINK) $(DIR)/config .
  375. !     $(SYMLINK) $(DIR)/move-if-change .
  376.   # The then and else were swapped to avoid a problem on Ultrix.
  377. !     if [ ! -f Makefile ] ; then $(SYMLINK) $(DIR)/Makefile .; else false; fi
  378.       -rm tm.h aux-output.c config.h md
  379.       make clean
  380.   # You must then run config to set up for compilation.
  381. ***************
  382. *** 2221,2237 ****
  383.   # To prevent `make install' from compiling alloca.o and then relinking cc1
  384.   # because alloca.o is newer, we permit these recursive makes to compile
  385.   # alloca.o.  Then cc1 is newer, so it won't have to be relinked.
  386. !     $(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  387.       $(MAKE) stage2
  388. !     $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  389.   
  390.   bootstrap2: force
  391. !     $(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  392.       $(MAKE) stage2
  393. !     $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  394.   
  395.   bootstrap3: force
  396. !     $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  397.   
  398.   # Compare the object files in the current directory with those in the
  399.   # stage2 directory.
  400. --- 2234,2250 ----
  401.   # To prevent `make install' from compiling alloca.o and then relinking cc1
  402.   # because alloca.o is newer, we permit these recursive makes to compile
  403.   # alloca.o.  Then cc1 is newer, so it won't have to be relinked.
  404. !     $(MAKE) CC="stage1/$(XGCC) -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  405.       $(MAKE) stage2
  406. !     $(MAKE) CC="stage2/$(XGCC) -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  407.   
  408.   bootstrap2: force
  409. !     $(MAKE) CC="stage1/$(XGCC) -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  410.       $(MAKE) stage2
  411. !     $(MAKE) CC="stage2/$(XGCC) -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  412.   
  413.   bootstrap3: force
  414. !     $(MAKE) CC="stage2/$(XGCC) -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
  415.   
  416.   # Compare the object files in the current directory with those in the
  417.   # stage2 directory.
  418. ***************
  419. *** 2306,2312 ****
  420.       -if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
  421.       -for dir in . $(SUBDIRS) ; \
  422.        do \
  423. !        if [ -d stage1/$$dir ] ; then true ; else mkdir stage1/$$dir ; fi ; \
  424.        done
  425.       -mv $(STAGESTUFF) stage1
  426.       -rm -f stage1/libgcc.a
  427. --- 2319,2325 ----
  428.       -if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
  429.       -for dir in . $(SUBDIRS) ; \
  430.        do \
  431. !        if [ -d stage1/$$dir ] ; then true ; else mkdir stage1/$$dir ; fi; \
  432.        done
  433.       -mv $(STAGESTUFF) stage1
  434.       -rm -f stage1/libgcc.a
  435. ***************
  436. *** 2318,2324 ****
  437.       -if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
  438.       -for dir in . $(SUBDIRS) ; \
  439.        do \
  440. !        if [ -d stage2/$$dir ] ; then true ; else mkdir stage2/$$dir ; fi ; \
  441.        done
  442.       -mv $(STAGESTUFF) stage2
  443.       -rm -f stage2/libgcc.a
  444. --- 2331,2337 ----
  445.       -if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
  446.       -for dir in . $(SUBDIRS) ; \
  447.        do \
  448. !        if [ -d stage2/$$dir ] ; then true ; else mkdir stage2/$$dir ; fi; \
  449.        done
  450.       -mv $(STAGESTUFF) stage2
  451.       -rm -f stage2/libgcc.a
  452. ***************
  453. *** 2330,2336 ****
  454.       -if [ -d stage3 ] ; then true ; else mkdir stage3 ; fi
  455.       -for dir in . $(SUBDIRS) ; \
  456.        do \
  457. !        if [ -d stage3/$$dir ] ; then true ; else mkdir stage3/$$dir ; fi ; \
  458.        done
  459.       -mv $(STAGESTUFF) stage3
  460.       -rm -f stage3/libgcc.a
  461. --- 2343,2349 ----
  462.       -if [ -d stage3 ] ; then true ; else mkdir stage3 ; fi
  463.       -for dir in . $(SUBDIRS) ; \
  464.        do \
  465. !        if [ -d stage3/$$dir ] ; then true ; else mkdir stage3/$$dir ; fi; \
  466.        done
  467.       -mv $(STAGESTUFF) stage3
  468.       -rm -f stage3/libgcc.a
  469. ***************
  470. *** 2342,2348 ****
  471.       -if [ -d stage4 ] ; then true ; else mkdir stage4 ; fi
  472.       -for dir in . $(SUBDIRS) ; \
  473.        do \
  474. !        if [ -d stage4/$$dir ] ; then true ; else mkdir stage4/$$dir ; fi ; \
  475.        done
  476.       -mv $(STAGESTUFF) stage4
  477.       -rm -f stage4/libgcc.a
  478. --- 2355,2361 ----
  479.       -if [ -d stage4 ] ; then true ; else mkdir stage4 ; fi
  480.       -for dir in . $(SUBDIRS) ; \
  481.        do \
  482. !        if [ -d stage4/$$dir ] ; then true ; else mkdir stage4/$$dir ; fi; \
  483.        done
  484.       -mv $(STAGESTUFF) stage4
  485.       -rm -f stage4/libgcc.a
  486. diff -rc --new-file gnat-2.00/Product-Info /gnu/src/amiga/gnat-2.00/Product-Info
  487. *** gnat-2.00/Product-Info    Thu Jan  1 00:00:00 1970
  488. --- /gnu/src/amiga/gnat-2.00/Product-Info    Sun Jan 15 15:57:45 1995
  489. ***************
  490. *** 0 ****
  491. --- 1,20 ----
  492. + .name
  493. + gnat
  494. + .fullname
  495. + GNU ADA compiler
  496. + .type
  497. + Compiler
  498. + .short
  499. + GNU ADA compiler.
  500. + .description
  501. + The GNU ADA compiler.  Includes all support for compiling ADA.
  502. + .version
  503. + 2.00
  504. + .author
  505. + Free Software Foundation
  506. + .requirements
  507. + Amiga binaries require ixemul.library.
  508. + .distribution
  509. + GNU Public License
  510. + .described-by
  511. + Fred Fish (fnf@amigalib.com)
  512. diff -rc --new-file gnat-2.00/ada/Make-lang.in /gnu/src/amiga/gnat-2.00/ada/Make-lang.in
  513. *** gnat-2.00/ada/Make-lang.in    Wed Nov 30 18:40:50 1994
  514. --- /gnu/src/amiga/gnat-2.00/ada/Make-lang.in    Mon Jan 16 00:00:38 1995
  515. ***************
  516. *** 148,159 ****
  517.       -if [ -f gnat1 ] ; then \
  518.         if [ -f gcc-cross ] ; then \
  519.           rm -f $(bindir)/$(target)-gnatchop; \
  520. !         $(INSTALL_PROGRAM) gnatchp-cross $(bindir)/$(target)-gnatchop; \
  521.           chmod a+x $(bindir)/$(target)-gnatchop; \
  522.         else \
  523.           rm -f $(bindir)/gnatchop; \
  524. !         $(INSTALL_PROGRAM) gnatchop $(bindir)/gnatchop; \
  525.           chmod a+x $(bindir)/gnatchop; \
  526.         fi ; \
  527.       fi
  528.       -if [ -f gnat1 ] ; then \
  529. --- 148,170 ----
  530.       -if [ -f gnat1 ] ; then \
  531.         if [ -f gcc-cross ] ; then \
  532.           rm -f $(bindir)/$(target)-gnatchop; \
  533. !         $(INSTALL_PROGRAM) gnatchop-cross $(bindir)/$(target)-gnatchop; \
  534.           chmod a+x $(bindir)/$(target)-gnatchop; \
  535.         else \
  536.           rm -f $(bindir)/gnatchop; \
  537. !         $(INSTALL_PROGRAM) ada/gnatchop $(bindir)/gnatchop; \
  538.           chmod a+x $(bindir)/gnatchop; \
  539. +       fi ; \
  540. +     fi
  541. +     -if [ -f gnat1 ] ; then \
  542. +       if [ -f gcc-cross ] ; then \
  543. +         rm -f $(bindir)/$(target)-gnatchp; \
  544. +         $(INSTALL_PROGRAM) gnatchp-cross $(bindir)/$(target)-gnatchp; \
  545. +         chmod a+x $(bindir)/$(target)-gnatchp; \
  546. +       else \
  547. +         rm -f $(bindir)/gnatchp; \
  548. +         $(INSTALL_PROGRAM) gnatchp $(bindir)/gnatchp; \
  549. +         chmod a+x $(bindir)/gnatchp; \
  550.         fi ; \
  551.       fi
  552.       -if [ -f gnat1 ] ; then \
  553. diff -rc --new-file gnat-2.00/ada/Makefile.in /gnu/src/amiga/gnat-2.00/ada/Makefile.in
  554. *** gnat-2.00/ada/Makefile.in    Wed Nov 30 18:38:58 1994
  555. --- /gnu/src/amiga/gnat-2.00/ada/Makefile.in    Mon Jan 16 00:00:46 1995
  556. ***************
  557. *** 76,81 ****
  558. --- 76,83 ----
  559.   HOST_MALLOC=$(MALLOC)
  560.   HOST_OBSTACK=$(OBSTACK)
  561.   
  562. + SYMLINK = ln -s
  563.   # Define this as & to perform parallel make on a Sequent.
  564.   # Note that this has some bugs, and it seems currently necessary 
  565.   # to compile all the gen* files first by hand to avoid erroneous results.
  566. ***************
  567. *** 119,124 ****
  568. --- 121,134 ----
  569.   # Choose the real default target.
  570.   ALL=all
  571.   
  572. + # Following lines copied from parent directory -- should be among PASSED
  573. + #  things???
  574. + # In any case, put them before the overrides, so they can be overridden.  -fnf
  575. + # How to invoke ranlib.
  576. + RANLIB = ranlib
  577. + # Test to use to see whether ranlib exists on the system.
  578. + RANLIB_TEST = [ -f /usr/bin/ranlib -o -f /bin/ranlib ]
  579.   # End of variables for you to override.
  580.   
  581.   # Definition of `all' is here so that new rules inserted by sed
  582. ***************
  583. *** 418,430 ****
  584.       $(CC) -o ../gnatbl $(ALL_CFLAGS) $(LDFLAGS) gnatbl.o \
  585.                    libgnat.a 
  586.   
  587. - # Following lines copied from parent directory -- should be among PASSED
  588. - #  things???
  589. - # How to invoke ranlib.
  590. - RANLIB = ranlib
  591. - # Test to use to see whether ranlib exists on the system.
  592. - RANLIB_TEST = [ -f /usr/bin/ranlib -o -f /bin/ranlib ]
  593.   ../stamp-gnatlib:
  594.       @if [ ! -f stamp-gnatlib ] ; then \
  595.         echo You must first build the GNAT library: make gnatlib; \
  596. --- 428,433 ----
  597. ***************
  598. *** 451,464 ****
  599.       if $(RANLIB_TEST) ; then $(RANLIB) $(ADA_RTL_OBJ_DIR)/*.a; \
  600.         else true; fi
  601.   
  602.   gnatlib:
  603. !     rm -rf rts
  604. !     mkdir rts
  605.       (srcdir1=`cd $(srcdir); pwd`; \
  606.            cd rts; \
  607.        for f in $(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS) libgnat.a; \
  608. !       do ln -s $$srcdir1/$$f . ; done; \
  609. !      $(MAKE)  CC="../../xgcc -B../../" CFLAGS="-g -O2" ADAFLAGS="-gnatpg"\
  610.                    INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
  611.                -f ../Makefile ada-runtime)
  612.       if [ -d threads ]; then true; \
  613. --- 454,470 ----
  614.       if $(RANLIB_TEST) ; then $(RANLIB) $(ADA_RTL_OBJ_DIR)/*.a; \
  615.         else true; fi
  616.   
  617. + # Removed hard coded "rm -rf rts" that would cause rts to be removed and
  618. + # rebuilt (a lengthy process) each time you made a minor change and wanted
  619. + # to recompile.  This could be done as part of a "clobber" target. -fnf
  620.   gnatlib:
  621. !     -if [ -d rts ] ; then true ; else mkdir rts ; fi
  622.       (srcdir1=`cd $(srcdir); pwd`; \
  623.            cd rts; \
  624.        for f in $(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS) libgnat.a; \
  625. !       do $(SYMLINK) $$srcdir1/$$f . ; done; \
  626. !      $(MAKE)  CC="../../xgcc -B../../" CFLAGS=$(CFLAGS) ADAFLAGS="-gnatpg"\
  627.                    INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
  628.                -f ../Makefile ada-runtime)
  629.       if [ -d threads ]; then true; \
  630. ***************
  631. *** 552,558 ****
  632.       $(srcdir)/../move-if-change tmp-ttypef.ads ttypef.ads
  633.       touch stamp-ttypef
  634.   
  635. ! ADA_INCLUDE_DIR = $(prefix)/adainclude
  636.   ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
  637.   
  638.   # Note: the strings below do not make sense for Ada strings in the OS/2
  639. --- 558,569 ----
  640.       $(srcdir)/../move-if-change tmp-ttypef.ads ttypef.ads
  641.       touch stamp-ttypef
  642.   
  643. ! # Amiga note - Change ADA_INCLUDE_DIR to put the include tree in the
  644. ! # library subdir for the compiler that it goes with.  It appears to
  645. ! # me that this include tree is not sharable between different versions
  646. ! # of the compiler; I could be wrong...   -fnf
  647. ! #
  648. ! ADA_INCLUDE_DIR = $(libsubdir)/adainclude
  649.   ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
  650.   
  651.   # Note: the strings below do not make sense for Ada strings in the OS/2
  652. ***************
  653. *** 586,592 ****
  654.   # special compiles for sdefault without -gnatg, to avoid long line error
  655.   
  656.   sdefault.o : sdefault.ads sdefault.adb types.ads unchdeal.ads 
  657. !     $(CC) -c $(CFLAGS) -gnata -O2 sdefault.adb
  658.   
  659.   a-adaint.o  : a-adaint.h a-adaint.c $(CONFIG_H)
  660.   io-aux.o    : io-aux.c
  661. --- 597,603 ----
  662.   # special compiles for sdefault without -gnatg, to avoid long line error
  663.   
  664.   sdefault.o : sdefault.ads sdefault.adb types.ads unchdeal.ads 
  665. !     $(CC) -c $(CFLAGS) -gnata sdefault.adb
  666.   
  667.   a-adaint.o  : a-adaint.h a-adaint.c $(CONFIG_H)
  668.   io-aux.o    : io-aux.c
  669. diff -rc --new-file gnat-2.00/ada/a-exec.c /gnu/src/amiga/gnat-2.00/ada/a-exec.c
  670. *** gnat-2.00/ada/a-exec.c    Wed Nov 30 18:39:54 1994
  671. --- /gnu/src/amiga/gnat-2.00/ada/a-exec.c    Sun Jan 15 15:41:55 1995
  672. ***************
  673. *** 34,39 ****
  674. --- 34,43 ----
  675.   
  676.   extern char *getenv ();
  677.   
  678. + #if __amigados__
  679. + #define fork vfork    /* AmigaDOS doesn't have a true fork() */
  680. + #endif
  681.   int
  682.   is_regular_file (name)
  683.        char *name;
  684. diff -rc --new-file gnat-2.00/ada/bindgen.adb /gnu/src/amiga/gnat-2.00/ada/bindgen.adb
  685. *** gnat-2.00/ada/bindgen.adb    Wed Nov 30 18:39:00 1994
  686. --- /gnu/src/amiga/gnat-2.00/ada/bindgen.adb    Sun Jan 15 15:42:03 1995
  687. ***************
  688. *** 173,181 ****
  689.         Write_Binder_Info ("extern int gnat_exit_status;");
  690.   
  691.         --  Generate main
  692.   
  693.         if ALIs.Table (ALIs.First).Main_Program = Proc then
  694. !          Write_Binder_Info ("void main (argc, argv)");
  695.         else
  696.            Write_Binder_Info ("int main (argc, argv)");
  697.         end if;
  698. --- 173,182 ----
  699.         Write_Binder_Info ("extern int gnat_exit_status;");
  700.   
  701.         --  Generate main
  702. +       --  (which gcc bitches about if it returns anything but int)
  703.   
  704.         if ALIs.Table (ALIs.First).Main_Program = Proc then
  705. !          Write_Binder_Info ("int main (argc, argv)");
  706.         else
  707.            Write_Binder_Info ("int main (argc, argv)");
  708.         end if;
  709. diff -rc --new-file gnat-2.00/ada/gnatbl.c /gnu/src/amiga/gnat-2.00/ada/gnatbl.c
  710. *** gnat-2.00/ada/gnatbl.c    Wed Nov 30 18:38:56 1994
  711. --- /gnu/src/amiga/gnat-2.00/ada/gnatbl.c    Sun Jan 15 15:42:11 1995
  712. ***************
  713. *** 174,179 ****
  714. --- 174,186 ----
  715.     strcpy (tmppathval, ".;");
  716.     pathval = strcat (tmppathval, pathval);
  717.   #endif
  718. + #if defined(__amigados__)
  719. +   /* Provide a default PATH if none was not found.  Perhaps this should be
  720. +      done for all machines using a value derived from $(bindir) in the
  721. +      Makefile? */
  722. +   if (!pathval)
  723. +     pathval = "/gnu/bin";
  724. + #endif
  725.   
  726.     process_args (&argc , argv);
  727.   
  728. ***************
  729. *** 271,276 ****
  730. --- 278,285 ----
  731.         exec_file_name = malloc (bind_file_name_len - 3);
  732.         strncpy (exec_file_name,
  733.              &(argv [i][file_name_index]), bind_file_name_len - 4);
  734. +       /* Malloc does not clear last byte and neither does strncpy */
  735. +       exec_file_name[bind_file_name_len - 4] = '\000';
  736.   #endif
  737.       }
  738.   
  739. diff -rc --new-file gnat-2.00/ada/threads/src/Makefile.orig /gnu/src/amiga/gnat-2.00/ada/threads/src/Makefile.orig
  740. *** gnat-2.00/ada/threads/src/Makefile.orig    Tue Sep 13 16:36:16 1994
  741. --- /gnu/src/amiga/gnat-2.00/ada/threads/src/Makefile.orig    Thu Jan  1 00:00:00 1970
  742. ***************
  743. *** 1,226 ****
  744. - #  Copyright (C) 1992, the Florida State University
  745. - #  Distributed by the Florida State University under the terms of the
  746. - #  GNU Library General Public License.
  747. - #
  748. - #This file is part of Pthreads.
  749. - #
  750. - #Pthreads is free software; you can redistribute it and/or
  751. - #modify it under the terms of the GNU Library General Public
  752. - #License as published by the Free Software Foundation (version 2).
  753. - #
  754. - #Pthreads is distributed "AS IS" in the hope that it will be
  755. - #useful, but WITHOUT ANY WARRANTY; without even the implied
  756. - #warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  757. - #See the GNU Library General Public License for more details.
  758. - #
  759. - #You should have received a copy of the GNU Library General Public
  760. - #License along with Pthreads; see the file COPYING.  If not, write
  761. - #to the Free Software Foundation, 675 Mass Ave, Cambridge,
  762. - #MA 02139, USA.
  763. - #
  764. - #Report problems and direct all questions to:
  765. - #
  766. - #  pthreads-bugs@ada.cs.fsu.edu
  767. - #
  768. - #   @(#)Makefile    2.1 3/16/94
  769. - #
  770. - #Compile flags:
  771. - #C_INTERFACE:        for C-language interface; if this option is omitted,
  772. - #            a language-independent interface will be generated
  773. - #            which has been tested for Verdix/SunAda.
  774. - #C_CONTEXT_SWITCH:    for context switch written in C. Notice that the
  775. - #            assembly version for the SPARC is faster but by far
  776. - #            less portable (see portability notes in pthread_disp.c
  777. - #            and pthread_sched.S).
  778. - #            Internal signal handling (pthread_kill) is also much
  779. - #            slower with the context switch in C, about a factor 2.
  780. - #            speed(C context switch) =~ 1.2*speed(as context switch)
  781. - #CLEANUP_HEAP:        allocate cleanup handlers on heap (default: stack).
  782. - #DEBUG:            dump out trace information (mainly for signals).
  783. - #DEF_RR:        supports round-robin time-sliced scheduling.
  784. - #            Only works properly when MALLOC is also defined.
  785. - #DRAFT5:        defines pthread_setprio() interface bypassing attributes
  786. - #IO:            I/O operations only block current thread, not process.
  787. - #            (SunOS 4.1.x kernel configuration must include
  788. - #            light-weight processes [LWP] and aynchronous I/O [AIO];
  789. - #            under Solaris 2.x, link with -laio -ldl.)
  790. - #MALLOC:        thread-safe malloc, in conjuction with Gnu malloc lib.
  791. - #            See README for more information.
  792. - #NOERR_CHECK:        fast mutex operations without error checking.
  793. - #NO_INLINE:        no inlines for macros (internally CLEAR_KERNEL_FLAG).
  794. - #MUT_SWITCH:        forces context switch upon successful mutex_lock()
  795. - #            with regard to priorities (do not define NOERR_CHECK)
  796. - #RAND_SWITCH:        forces context switch on kernel exit at random intervals
  797. - #            and to random threads without regard to priorities
  798. - #            (do not define NOERR_CHECK)
  799. - #RR_SWITCH:        forces context switch on kernel exit (round-robin queue)
  800. - #            without regard to priorities (do not define NOERR_CHECK)
  801. - #SIGNAL_STACK:        Allows user to execute handlers in case of a stack
  802. - #            overflow. STACK_CHECK has to be on for this.
  803. - #SIM_KERNEL:        simulate kernel implementation by using dummy UNIX
  804. - #            system call in selected routines.
  805. - #SOLARIS:        support for Solaris 2.x. If you want to compile for
  806. - #            Solaris, change this Makefile by deleting/inserting
  807. - #            comments wherever the string "Solaris" occurs.
  808. - #SRP:            support of mutex ceiling under stack resource
  809. - #            policy (SRP)
  810. - #            if not defined, _POSIX_THREADS_PRIO_PROTECT has to be
  811. - #            undefined in unistd.h!
  812. - #STACK_CHECK:        lock page to cause bus error / illegal instruction
  813. - #            on stack overflow
  814. - #STAND_ALONE:        micro-kernel for VME SPARC Engine 1E; works only in
  815. - #            conjunction with SRP and no other compile options
  816. - #TIMER_DEBUG:        dump out trace information for SIGALRM signals and timer
  817. - #  This makefile is run by the parent of the parent dir's makefile.
  818. - #  thisdir1=`pwd`; \
  819. - #  srcdir1=`cd $(srcdir); pwd`; \
  820. - #  cd threads/src; \
  821. - #  $(MAKE) $(MAKEFLAGS) -f $$srcdir1/threads/src/Makefile all \
  822. - #    srcdir=$$srcdir1 tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
  823. - #    GCC_FOR_TARGET="$$thisdir1/../xgcc -B$$thisdir1/../" \
  824. - #    GCC_CFLAGS="$(GCC_CFLAGS)" 
  825. - #  Two targets are used by ../Makefile: `all' and `mostlyclean'.
  826. - VPATH = $(srcdir)/threads/src
  827. - #include directory location
  828. - INCS = $(srcdir)/threads/include
  829. - PINC = $(INCS)/pthread
  830. - INC1 = -I$(INCS) -I.
  831. - INC2 = 
  832. - #for cross-compilation
  833. - #INC2 = -I/midasusr/include
  834. - #install directory locations
  835. - INSTALL_INCLUDE = /usr/include
  836. - INSTALL_LIBS = /usr/lib
  837. - #for shipping
  838. - #CFLAGS = -DSRP -DNOERR_CHECK -DC_INTERFACE -DSTACK_CHECK -DSIGNAL_STACK
  839. - #for maximum portability (minimum assembly required)
  840. - #CFLAGS = -DSRP -DCLEANUP_HEAP -DC_INTERFACE -DSTACK_CHECK -DSIGNAL_STACK \
  841. -     -DC_CONTEXT_SWITCH
  842. - #for thread-safe malloc and round-robin scheduling option
  843. - #CFLAGS = -DSRP -DNOERR_CHECK -DC_INTERFACE -DSTACK_CHECK -DSIGNAL_STACK \
  844. -     -DMALLOC -DDEF_RR
  845. - #for PART project
  846. - CFLAGS = -DSRP -DNOERR_CHECK -DSTACK_CHECK -DSIGNAL_STACK -DDRAFT5
  847. - #for VME SPARC Engine 1E running SunOS 4.0.3e
  848. - #CFLAGS = -DSRP -DNOERR_CHECK -DC_INTERFACE -DSTAND_ALONE
  849. - #for testing
  850. - #CFLAGS = -DDEBUG -DTIMER_DEBUG -DSRP -DC_INTERFACE -DSTACK_CHECK -DSIGNAL_STACK
  851. - #for non-process blocking (only thread-blocking) I/O:
  852. - #CFLAGS += -DIO
  853. - #for shipping
  854. - CCFLAGS = -O3 $(CFLAGS)
  855. - CCFLAGS2 = -O2 $(CFLAGS)
  856. - #for testing
  857. - #CCFLAGS = -g $(CFLAGS)
  858. - #CCFLAGS2 = $(CCFLAGS)
  859. - #compile flags, always the same
  860. - CCFLAGS0 = $(CCFLAGS)
  861. - #for Gnu C compiler
  862. - #Notice the special compile flags CCFLAGS0 which circumvents a compile bug
  863. - #of gcc 2.5.2 when compiling io.c!
  864. - #For gcc 2.5.8 or later, drop the "-traditional" from COMP_ASM.
  865. - CC = $(GCC_FOR_TARGET)
  866. - CCFLAGS0 = $(CFLAGS)
  867. - COMP_ASM = $(CC) $(INC1) $(INC2) $(CFLAGS) -c $*.S
  868. - #for Sun C
  869. - #COMP_ASM = $(AS) $(INC1) $(INC2) -P $(CFLAGS) $*.S -o $*.o
  870. - #for Sun C under Solaris 2.x
  871. - #delete comment designator "#" in the line below if you use /usr/lang/cc
  872. - #CC = /usr/lang/cc
  873. - #for Solaris 2.x
  874. - #delete comment designator "#" in the line below for Solaris 2.x/SunOS 5.x
  875. - #CFLAGS += -DSOLARIS
  876. - COMP_C   = $(CC) $(INC1) $(INC2) $(CCFLAGS) -c $*.c
  877. - COMP_C0  = $(CC) $(INC1) $(INC2) $(CCFLAGS0) -c $*.c
  878. - COMP_C2  = $(CC) $(INC1) $(INC2) $(CCFLAGS2) -c $*.c
  879. - AR     = ar
  880. - LINTFLAGS = -u $(CFLAGS)
  881. - LIBS = ../lib/libpthreads.a
  882. - CSRC = pthread.c stack.c mutex.c cond.c pthread_init.c signal.c \
  883. -     cond.c queue.c io.c pthread_disp.c
  884. - SCRS = $(CSRC) pthread_sched.S
  885. - OBJS = pthread.o stack.o mutex.o cond.o pthread_init.o \
  886. -     signal.o pthread_sched.o queue.o io.o pthread_disp.o
  887. - HDR1 = pthread_internals.h $(INCS)/pthread.h $(PINC)/unistd.h $(PINC)/limits.h \
  888. -     $(PINC)/errno.h $(PINC)/signal.h $(PINC)/pthread_asm.h $(PINC)/setjmp.h
  889. - DEP1 = $(HDR1) Makefile
  890. - HDRS = $(HDR1) pthread_offsets.h mutex.h signal_internals.h
  891. - all: $(LIBS)
  892. - $(LIBS): $(OBJS)
  893. -     $(AR) ru $(LIBS) *.o
  894. - cond.o: $(DEP1) mutex.h
  895. -     $(COMP_C)
  896. - mutex.o: $(DEP1) mutex.h
  897. -     $(COMP_C)
  898. - pthread.o: $(DEP1)
  899. -     $(COMP_C)
  900. - pthread_init.o: $(DEP1)
  901. -     $(COMP_C)
  902. - signal.o: $(DEP1) mutex.h signal_internals.h pthread_offsets.h
  903. -     $(COMP_C)
  904. - stack.o: $(DEP1)
  905. -     $(COMP_C)
  906. - queue.o: $(DEP1)
  907. -     $(COMP_C)
  908. - io.o: $(DEP1)
  909. -     $(COMP_C0)
  910. - pthread_disp.o: $(DEP1)
  911. -     $(COMP_C2)
  912. - pthread_sched.o: pthread_sched.S $(PINC)/pthread_asm.h \
  913. -         pthread_offsets.h Makefile
  914. -     $(COMP_ASM)
  915. - pthread_offsets.h: get_offsets
  916. -     ./get_offsets > pthread_offsets.h
  917. - get_offsets: get_offsets.c $(DEP1) $(PINC)/setjmp.h
  918. -     $(CC) $(INC1) $(INC2) $(CCFLAGS) -o $@ $@.c
  919. - install:
  920. -     cp -R $(INCS) $(INSTALL_INCLUDE)
  921. -     cp $(LIBS) $(INSTALL_LIBS)
  922. - lint:
  923. -     lint $(LINTFLAGS) $(CSRC)
  924. - llib:
  925. -     lint $(LINTFLAGS) -Cthreads $(SRCS)
  926. - mostlyclean: clean
  927. - clean:
  928. -     -rm -f $(LIBS) a.out core errs *.o *.BAK *.CKP *~ #*
  929. --- 0 ----
  930. diff -rc --new-file gnat-2.00/ada-other/README.AMIGA /gnu/src/amiga/gnat-2.00/ada-other/README.AMIGA
  931. *** gnat-2.00/ada-other/README.AMIGA    Thu Jan  1 00:00:00 1970
  932. --- /gnu/src/amiga/gnat-2.00/ada-other/README.AMIGA    Sun Jan 15 16:11:57 1995
  933. ***************
  934. *** 0 ****
  935. --- 1,15 ----
  936. +                  GNU ADA AMIGA PORT
  937. + This is the GNU Ada compiler, GNAT.  The compiler is in a 'hacker state',
  938. + ie. it is complete and certainly not bug free.  But you it can compile
  939. + itself, more than 110,000 lines of Ada, and many other programs.
  940. + The initial port of GNU ada (1.80) was done by Pass Travis
  941. + (ptravis@rs6.tcs.tulane.edu) with the help of a cross compiler built under
  942. + Linux.  The update to version 2.00 was done by Fred Fish.  If you plan to
  943. + recompile the compiler, you should have at least 16Mb of memory.
  944. + -Fred Fish
  945. +  15-Jan-95
  946. diff -rc --new-file gnat-2.00/ada-other/examples/Makefile /gnu/src/amiga/gnat-2.00/ada-other/examples/Makefile
  947. *** gnat-2.00/ada-other/examples/Makefile    Thu Dec  1 05:02:08 1994
  948. --- /gnu/src/amiga/gnat-2.00/ada-other/examples/Makefile    Sun Jan 15 16:34:13 1995
  949. ***************
  950. *** 61,67 ****
  951.   
  952.   announce :
  953.       @echo " "
  954. !     @echo "ANNOUNCES:
  955.       @echo "   * Warning for users of package IO: "
  956.       @echo "     IO has been transformed into Gnat.IO, change your programs..."
  957.       @echo " "
  958. --- 61,67 ----
  959.   
  960.   announce :
  961.       @echo " "
  962. !     @echo "ANNOUNCES:"
  963.       @echo "   * Warning for users of package IO: "
  964.       @echo "     IO has been transformed into Gnat.IO, change your programs..."
  965.       @echo " "
  966. diff -rc --new-file gnat-2.00/amigasup.c /gnu/src/amiga/gnat-2.00/amigasup.c
  967. *** gnat-2.00/amigasup.c    Thu Jan  1 00:00:00 1970
  968. --- /gnu/src/amiga/gnat-2.00/amigasup.c    Thu Dec 22 20:00:05 1994
  969. ***************
  970. *** 0 ****
  971. --- 1,165 ----
  972. + /* Supplimentary host support for AmigaDOS.  Used only when host is AmigaDOS.
  973. +    Copyright (C) 1994 Free Software Foundation, Inc.
  974. + This file is part of GNU CC.
  975. + GNU CC is free software; you can redistribute it and/or modify
  976. + it under the terms of the GNU General Public License as published by
  977. + the Free Software Foundation; either version 2, or (at your option)
  978. + any later version.
  979. + GNU CC is distributed in the hope that it will be useful,
  980. + but WITHOUT ANY WARRANTY; without even the implied warranty of
  981. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  982. + GNU General Public License for more details.
  983. + You should have received a copy of the GNU General Public License
  984. + along with GNU CC; see the file COPYING.  If not, write to
  985. + the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  986. + This code segment will interface between the startup code and the user's
  987. + main(), adjusting the stack if necessary. Two entry points are provided,
  988. + main(), and stkexit(). Programs should be compiled using
  989. +     gcc -Dmain=stkmain -Dexit=stkexit
  990. + and linked with this module.  Calling _exit is not provided for, but should
  991. + be trivial to implement.
  992. + The minimum acceptable stack size is obtained from the environment variable
  993. + GCC_STACK (change the #define ENVNAME to customize). If this variable is
  994. + not defined, the default is 50000 bytes (change the #define SIZE to
  995. + customize). If the current stack size is less than the minimum acceptable,
  996. + then a new stack is allocated, and appropriate actions are taken to ensure
  997. + that the original stack is restored before exit.
  998. + To link with my stderrfix hack, you will need to compile it using
  999. +        gcc -Dmain=stkmain -c stderrfix.c
  1000. + and compile everything else (apart from this file) using
  1001. +        gcc -Dmain=mymain -Dexit=stkexit
  1002. + (I have not tested this, but there is no reason why it shouldn't work.)
  1003. + AUTHOR:     Kriton Kyrimis (kyrimis@theseas.ntua.gr)
  1004. + KNOWN BUGS: Calling stkexit(0x8000000) will cause the program to exit
  1005. +             with the wrong exit code (0).
  1006. + DISCLAIMER: Use this code at your own risk.
  1007. + */
  1008. + /* Putting this in version.c seems to screw up configure, which attempts to
  1009. +    extract the version number with a sed command that doesn't take this
  1010. +    string into account. -fnf */
  1011. + char VERSION[]="$VER:gcc 2.6.3 last compiled on "__DATE__;
  1012. + #include <stdlib.h>
  1013. + #include <setjmp.h>
  1014. + #include <dos/dosextens.h>
  1015. + #include <proto/exec.h>
  1016. + #include <proto/dos.h>
  1017. + #define SIZE 50000
  1018. + #define ENVNAME "GCCSTACK"
  1019. + #define MAGIC 0x80000000
  1020. + void stkexit(int);
  1021. + static jmp_buf jmp;
  1022. + static int swapped = 0;
  1023. + main(int argc, char **argv)
  1024. + {
  1025. +   /* Declare all variables as static, so that they are available no matter
  1026. +      which stack is active */
  1027. +   static struct Process *p;
  1028. +   static struct CommandLineInterface *c;
  1029. +   static int stacksize, prefsize, status;
  1030. +   static struct StackSwapStruct stack;
  1031. +   static char *envsize, *newstack;
  1032. +   /* The next two variables point to information in the old stack. Declare
  1033. +      them volatile, to avoid unexpected surprises introduced by the optimizer.
  1034. +      (This is apparently unnecessary under 2.6.1, but you never know.) */
  1035. +   static volatile int myargc;
  1036. +   static volatile char **myargv;
  1037. +   /* Determine original stack size */
  1038. +   p = (struct Process *)FindTask(NULL);
  1039. +   c = BADDR(p->pr_CLI);
  1040. +   if (c) {
  1041. +     stacksize = c->cli_DefaultStack * sizeof(LONG);
  1042. +   }else{
  1043. +     stacksize = p->pr_StackSize;
  1044. +   }
  1045. +   /* Determine preferred stack size */
  1046. +   envsize = getenv(ENVNAME);
  1047. +   if (envsize) {
  1048. +     prefsize = atoi(envsize);
  1049. +   }else{
  1050. +     prefsize = SIZE;
  1051. +   }
  1052. +   myargc = argc;
  1053. +   myargv = argv;
  1054. +   if (prefsize > stacksize) {
  1055. +     /* Round size to next long word */
  1056. +     prefsize = ((prefsize + (sizeof(LONG) - 1)) / sizeof(LONG)) * sizeof(LONG);
  1057. +     /* Allocate new stack */
  1058. +     newstack = malloc(prefsize);
  1059. +     if (!newstack) {
  1060. +       Printf("Can't allocate new stack!\n");
  1061. +       exit(RETURN_FAIL);
  1062. +     }
  1063. +     /* Build new stack structure */
  1064. +     stack.stk_Lower = newstack;
  1065. +     stack.stk_Upper = (ULONG)newstack + prefsize;
  1066. +     /* Determine the address the stackpointer has to go:
  1067. +      * Point to the last longword of the stackframe and subtract
  1068. +      * the arguments of StackSwap() since the compiler might
  1069. +      * try to adjust the stackpointer after calling it :-(.
  1070. +      */
  1071. +     stack.stk_Pointer = (APTR)(stack.stk_Upper-2*sizeof(long));
  1072. +     /* Switch to new stack */
  1073. +     StackSwap(&stack);
  1074. +     swapped = 1;
  1075. +     if (c) {
  1076. +       c->cli_DefaultStack = prefsize / sizeof(LONG);
  1077. +     }
  1078. +     /* Save the current position, so that on exit we may return to the exact
  1079. +        stack depth where we switched stacks, and switch them back again.
  1080. +        Programs should invoke stkexit() rather than exit(), or return from
  1081. +        stkmain(). Status contains the exit status given to stkexit().*/
  1082. +     if ((status = setjmp(jmp)) != 0) {
  1083. +       /* Switch back to old stack before exiting */
  1084. +       StackSwap(&stack);
  1085. +       if (c) {
  1086. +     c->cli_DefaultStack = stacksize / sizeof(LONG);
  1087. +       }
  1088. +       free(newstack);
  1089. +       if (status == MAGIC) {    /* If real exit status is 0, stkexit converts */
  1090. +         status = 0;        /* it to MAGIC, to avoid confusing setjmp */
  1091. +       }
  1092. +       exit(status);
  1093. +     }
  1094. +     status = stkmain(myargc, myargv);
  1095. +     stkexit(status);
  1096. +   }else{
  1097. +     return stkmain(myargc, myargv);
  1098. +   }
  1099. + }
  1100. + void
  1101. + stkexit(int status)
  1102. + {
  1103. +   if (!swapped) {
  1104. +     exit (status);
  1105. +   }else{
  1106. +     if (status == 0) {    /* The world will end iff we pass 0 as the value */
  1107. +       status = MAGIC;    /* for longjmp */
  1108. +     }
  1109. +     longjmp(jmp, status);
  1110. +   }
  1111. + }
  1112. diff -rc --new-file gnat-2.00/calls.c /gnu/src/amiga/gnat-2.00/calls.c
  1113. *** gnat-2.00/calls.c    Tue Nov 15 00:18:34 1994
  1114. --- /gnu/src/amiga/gnat-2.00/calls.c    Thu Dec 22 19:48:16 1994
  1115. ***************
  1116. *** 2177,2182 ****
  1117. --- 2177,2190 ----
  1118.   
  1119.     argvec = (struct arg *) alloca (nargs * sizeof (struct arg));
  1120.   
  1121. + #if defined (__amigados__)
  1122. + /* how would you do this RIGHT ?? fake a DECL node? dunno... */
  1123. + #ifdef ENCODE_SECTION_INFO
  1124. +   /* mark it as a function (to be in the text section that is) */
  1125. +   SYMBOL_REF_FLAG (fun) = 1;
  1126. + #endif
  1127. + #endif
  1128.     INIT_CUMULATIVE_ARGS (args_so_far, NULL_TREE, fun);
  1129.   
  1130.     args_size.constant = 0;
  1131. ***************
  1132. *** 2482,2487 ****
  1133. --- 2490,2503 ----
  1134.        library functions shouldn't have many args.  */
  1135.   
  1136.     argvec = (struct arg *) alloca ((nargs + 1) * sizeof (struct arg));
  1137. + #if defined (__amigados__)
  1138. + /* how would you do this RIGHT ?? fake a DECL node? dunno... */
  1139. + #ifdef ENCODE_SECTION_INFO
  1140. +   /* mark it as a function (to be in the text section that is) */
  1141. +   SYMBOL_REF_FLAG (fun) = 1;
  1142. + #endif
  1143. + #endif
  1144.   
  1145.     INIT_CUMULATIVE_ARGS (args_so_far, NULL_TREE, fun);
  1146.   
  1147. diff -rc --new-file gnat-2.00/cccp.c /gnu/src/amiga/gnat-2.00/cccp.c
  1148. *** gnat-2.00/cccp.c    Fri Nov 18 23:54:36 1994
  1149. --- /gnu/src/amiga/gnat-2.00/cccp.c    Sat Dec  3 15:01:49 1994
  1150. ***************
  1151. *** 39,44 ****
  1152. --- 39,60 ----
  1153.   #include "config.h"
  1154.   #endif /* not EMACS */
  1155.   
  1156. + #ifdef amigados
  1157. + /* Since cpp uses alloca to store all its read files, this is quite deadly
  1158. +    on a system with non-automatic stackgrowth like amigados, so we better
  1159. +    turn it off now.  Normally alloca is #defined to __builtin_alloca, so
  1160. +    undefining it causes an external alloca to be used.
  1161. +    Note that it's not wise to generally inhibit __builtin_alloca, since
  1162. +    using the generic emulator entitels a serious (!) speed penalty, and
  1163. +    it's bad enough that we have to live with it in cccp, don't make cc1
  1164. +    unbearably slow as well... */
  1165. + #undef alloca
  1166. + static int amigados_abs_filename ();
  1167. + #endif
  1168.   #ifndef STANDARD_INCLUDE_DIR
  1169.   #define STANDARD_INCLUDE_DIR "/usr/include"
  1170.   #endif
  1171. ***************
  1172. *** 365,370 ****
  1173. --- 381,393 ----
  1174.   
  1175.   static int max_include_len;
  1176.   
  1177. + #ifdef amigados
  1178. + /* Phil.B: 03-Oct-94 Flag indicating process priority */
  1179. + static int amiga_priority = -1;
  1180. + #include <proto/exec.h>
  1181. + struct Task *amiga_task;
  1182. + #endif /* amigados */
  1183.   /* Nonzero means turn NOTREACHED into #pragma NOTREACHED etc */
  1184.   
  1185.   static int for_lint = 0;
  1186. ***************
  1187. *** 1131,1136 ****
  1188. --- 1154,1168 ----
  1189.     }
  1190.   #endif /* RLIMIT_STACK defined */
  1191.   
  1192. + #ifdef amigados
  1193. +   {
  1194. +     char *envstr;
  1195. +     if (envstr = getenv("GCCPRIORITY"))
  1196. +       if (((i = atoi(envstr)) > -20) && (i < 20)) amiga_priority = i;
  1197. +   }
  1198. + #endif /* amigados */
  1199.   #ifdef SIGPIPE
  1200.     signal (SIGPIPE, pipe_closed);
  1201.   #endif
  1202. ***************
  1203. *** 1337,1342 ****
  1204. --- 1369,1384 ----
  1205.       break;
  1206.   
  1207.         case 'p':
  1208. + #ifdef amigados
  1209. +     if (!strcmp (argv[i], "-priority")) {
  1210. +       if (i + 1 == argc)
  1211. +         fatal ("Priority missing after -P option");
  1212. +           if ((amiga_priority = atoi(argv[++i])) < -25)
  1213. +         amiga_priority = -25;
  1214. +           else if (amiga_priority > 25)
  1215. +         amiga_priority = 25;
  1216. +         } else
  1217. + #endif /* amigados */
  1218.       if (!strcmp (argv[i], "-pedantic"))
  1219.         pedantic = 1;
  1220.       else if (!strcmp (argv[i], "-pedantic-errors")) {
  1221. ***************
  1222. *** 1626,1631 ****
  1223. --- 1668,1680 ----
  1224.       }
  1225.     }
  1226.   
  1227. + #ifdef amigados
  1228. +   Forbid();
  1229. +   amiga_task = FindTask(NULL);
  1230. +   Permit();
  1231. +   SetTaskPri(amiga_task, amiga_priority);
  1232. + #endif /* amigados */
  1233.     /* Add dirs from CPATH after dirs from -I.  */
  1234.     /* There seems to be confusion about what CPATH should do,
  1235.        so for the moment it is not documented.  */
  1236. ***************
  1237. *** 1988,1993 ****
  1238. --- 2037,2045 ----
  1239.         int len;
  1240.   
  1241.         /* Discard all directory prefixes from filename.  */
  1242. + #ifdef FILE_NAME_NONDIRECTORY
  1243. +       q = FILE_NAME_NONDIRECTORY (in_fname);
  1244. + #else
  1245.         if ((q = rindex (in_fname, '/')) != NULL
  1246.   #ifdef DIR_SEPARATOR
  1247.         && (q = rindex (in_fname, DIR_SEPARATOR)) != NULL
  1248. ***************
  1249. *** 1996,2002 ****
  1250.       ++q;
  1251.         else
  1252.       q = in_fname;
  1253.         /* Copy remainder to mungable area.  */
  1254.         p = (char *) alloca (strlen(q) + 8);
  1255.         strcpy (p, q);
  1256. --- 2048,2054 ----
  1257.       ++q;
  1258.         else
  1259.       q = in_fname;
  1260. ! #endif
  1261.         /* Copy remainder to mungable area.  */
  1262.         p = (char *) alloca (strlen(q) + 8);
  1263.         strcpy (p, q);
  1264. ***************
  1265. *** 3794,3800 ****
  1266. --- 3846,3857 ----
  1267.   
  1268.         if (!no_output && already_output == 0
  1269.         && (kt->pass_thru
  1270. + /* Phil.B 27-Mar-93 not quiet sure to keep this old fix */      
  1271. + #ifdef maybe_amigados
  1272. +           || ((kt->type == T_DEFINE || kt->type == T_UNDEF)
  1273. + #else
  1274.             || (kt->type == T_DEFINE
  1275. + #endif /* amigados */
  1276.             && (dump_macros == dump_names
  1277.                 || dump_macros == dump_definitions)))) {
  1278.           int len;
  1279. ***************
  1280. *** 4136,4141 ****
  1281. --- 4193,4210 ----
  1282.           search_start = dsp;
  1283.   #ifndef VMS
  1284.           ep = rindex (nam, '/');
  1285. + #ifdef amigados
  1286. +         /* amigados uses unix-style directory-filename separation, but
  1287. +            has VMS-style logicals as well */
  1288. +         if (ep == NULL) 
  1289. +           {
  1290. +         ep = rindex (nam, ':');
  1291. +         /* a ':' is part of the directory name, a '/' isn't ! */
  1292. +             if (ep != NULL) ep++;
  1293. +           }
  1294. + #endif /* amigados */
  1295.   #else                /* VMS */
  1296.           ep = rindex (nam, ']');
  1297.           if (ep == NULL) ep = rindex (nam, '>');
  1298. ***************
  1299. *** 4237,4243 ****
  1300. --- 4306,4316 ----
  1301.   
  1302.     /* If specified file name is absolute, just open it.  */
  1303.   
  1304. + #ifndef amigados
  1305.     if (*fbeg == '/') {
  1306. + #else
  1307. +   if (amigados_abs_filename (fbeg, flen)) {
  1308. + #endif
  1309.       strncpy (fname, fbeg, flen);
  1310.       fname[flen] = 0;
  1311.       if (redundant_include_p (fname))
  1312. ***************
  1313. *** 4260,4265 ****
  1314. --- 4333,4342 ----
  1315.       if (searchptr->fname[0] == 0)
  1316.         continue;
  1317.       strcpy (fname, searchptr->fname);
  1318. + #ifdef amigados
  1319. +     if (fname[strlen (fname) - 1] != ':')
  1320. + #endif
  1321.       strcat (fname, "/");
  1322.       fname[strlen (fname) + flen] = 0;
  1323.         } else {
  1324. ***************
  1325. *** 9977,9979 ****
  1326. --- 10054,10080 ----
  1327.     return dst;
  1328.   }
  1329.   #endif /* VMS */
  1330. + #ifdef amigados
  1331. + /* This function returns whether the LEN characters long filename FNAME 
  1332. +    is an absolute path specification. */
  1333. + static int
  1334. + amigados_abs_filename (fname, len)
  1335. +      char *fname;
  1336. +      int len;
  1337. + {
  1338. +   /* we're using ixemul.library, which treats `/foo' as `foo:', so 
  1339. +      fname[0] is to be considered absolute as well */
  1340. +   if (fname[0] == '/')
  1341. +     return 1;
  1342. +   /* else do an index() on fname, but one which is limited to len characters */
  1343. +   while (*fname && *fname != ':' && len) 
  1344. +     fname++, len--;
  1345. +   return *fname == ':';
  1346. + }
  1347. + #endif /* amigados */
  1348. diff -rc --new-file gnat-2.00/config/m68k/amigados.c /gnu/src/amiga/gnat-2.00/config/m68k/amigados.c
  1349. *** gnat-2.00/config/m68k/amigados.c    Thu Jan  1 00:00:00 1970
  1350. --- /gnu/src/amiga/gnat-2.00/config/m68k/amigados.c    Sat Dec  3 15:01:51 1994
  1351. ***************
  1352. *** 0 ****
  1353. --- 1,158 ----
  1354. + /* Definitions of target machine for GNU compiler.  amiga 68000/68020 version.
  1355. +    Copyright (C) 1992 Free Software Foundation, Inc.
  1356. +    Contributed by Markus M. Wild (wild@amiga.physik.unizh.ch).
  1357. + This file is part of GNU CC.
  1358. + GNU CC is free software; you can redistribute it and/or modify
  1359. + it under the terms of the GNU General Public License as published by
  1360. + the Free Software Foundation; either version 2, or (at your option)
  1361. + any later version.
  1362. + GNU CC is distributed in the hope that it will be useful,
  1363. + but WITHOUT ANY WARRANTY; without even the implied warranty of
  1364. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1365. + GNU General Public License for more details.
  1366. + You should have received a copy of the GNU General Public License
  1367. + along with GNU CC; see the file COPYING.  If not, write to
  1368. + the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1369. + #include "m68k/m68k.c"
  1370. + /* Does operand (which is a symbolic_operand) live in text space? If
  1371. +    so SYMBOL_REF_FLAG, which is set by ENCODE_SECTION_INFO, will be true.
  1372. +    This function is used in base relative code generation. */
  1373. + int
  1374. + read_only_operand (operand)
  1375. +      rtx operand;
  1376. + {
  1377. +   if (GET_CODE (operand) == CONST)
  1378. +     operand = XEXP (XEXP (operand, 0), 0);
  1379. +   if (GET_CODE (operand) == SYMBOL_REF)
  1380. +     return SYMBOL_REF_FLAG (operand) || CONSTANT_POOL_ADDRESS_P (operand);
  1381. +   return 1;
  1382. + }
  1383. + /* the rest of the file is to implement AmigaDOS specific keywords some day.
  1384. +    The approach used so far used __attribute__ for this, but this required
  1385. +    changes to c-parse.y as well as if we'd use the common keywords used
  1386. +    on commercial AmigaDOS C-compilers as well. So in the future I'll probably
  1387. +    switch to __saveds and __interrupt keywords as well.
  1388. +    The rest of this file is currently ignored, because it's no longer
  1389. +    working with the current gcc version. */
  1390. + #if not_yet_working
  1391. + #include "tree.h"
  1392. + struct attribute {
  1393. +   tree ident;
  1394. +   int  saveds : 1,
  1395. +        interrupt : 1;
  1396. + };
  1397. + static struct attribute *a_tab = 0;
  1398. + static int a_index, a_size;
  1399. + void
  1400. + add_attr_entry (attr)
  1401. +     struct attribute *attr;
  1402. + {
  1403. +   if (! a_tab)
  1404. +     {
  1405. +       a_size = 10;
  1406. +       a_index = 0;
  1407. +       a_tab  = (struct attribute *) xmalloc (a_size * sizeof (struct attribute));
  1408. +     }
  1409. +   if (a_index == a_size)
  1410. +     {
  1411. +       a_size <<= 1;
  1412. +       a_tab = (struct attribute *) xrealloc (a_tab, a_size * sizeof (struct attribute));
  1413. +     }
  1414. +   a_tab[a_index++] = *attr;
  1415. + }
  1416. + void
  1417. + attr_do_saveds (function_ident)
  1418. +       tree function_ident;
  1419. + {
  1420. +   struct attribute attr, *a;
  1421. +   int i;
  1422. +   for (i = 0, a = a_tab; i < a_index; i++, a++)
  1423. +     if (a->ident == function_ident)
  1424. +       {
  1425. +     a->saveds = 1;
  1426. +     return;
  1427. +       }
  1428. +   /* create a new entry for this function */
  1429. +   attr.ident     = function_ident;
  1430. +   attr.saveds    = 1;
  1431. +   attr.interrupt = 0;
  1432. +   add_attr_entry (&attr);
  1433. + }
  1434. + void
  1435. + attr_do_interrupt (function_ident)
  1436. +     tree function_ident;
  1437. + {
  1438. +   struct attribute attr, *a;
  1439. +   int i;
  1440. +   for (i = 0, a = a_tab; i < a_index; i++, a++)
  1441. +     if (a->ident == function_ident)
  1442. +       {
  1443. +     /* __interrupt implies __saveds */
  1444. +     a->saveds    = 1;
  1445. +     a->interrupt = 1;
  1446. +     return;
  1447. +       }
  1448. +   /* create a new entry for this function */
  1449. +   attr.ident     = function_ident;
  1450. +   attr.saveds     = 1;
  1451. +   attr.interrupt = 1;
  1452. +   add_attr_entry (&attr);
  1453. + }
  1454. + int
  1455. + attr_does_saveds (function_name)
  1456. +     char *function_name;
  1457. + {
  1458. +   tree ident = get_identifier (function_name);
  1459. +   struct attribute *attr;
  1460. +   int i;
  1461. +   
  1462. +   for (i = 0, attr = a_tab; i < a_index; i++, attr++)
  1463. +     if (attr->ident == ident)
  1464. +       return attr->saveds;
  1465. +   return 0;
  1466. + }
  1467. + int
  1468. + attr_does_interrupt (function_name)
  1469. +     char *function_name;
  1470. + {
  1471. +   tree ident = get_identifier (function_name);
  1472. +   struct attribute *attr;
  1473. +   int i;
  1474. +   
  1475. +   for (i = 0, attr = a_tab; i < a_index; i++, attr++)
  1476. +     if (attr->ident == ident)
  1477. +       return attr->interrupt;
  1478. +   return 0;
  1479. + }
  1480. + #endif
  1481. diff -rc --new-file gnat-2.00/config/m68k/amigados.h /gnu/src/amiga/gnat-2.00/config/m68k/amigados.h
  1482. *** gnat-2.00/config/m68k/amigados.h    Thu Jan  1 00:00:00 1970
  1483. --- /gnu/src/amiga/gnat-2.00/config/m68k/amigados.h    Sat Dec  3 15:24:45 1994
  1484. ***************
  1485. *** 0 ****
  1486. --- 1,425 ----
  1487. + /* Definitions of target machine for GNU compiler.  amiga 68000/68020 version.
  1488. +    Copyright (C) 1992 Free Software Foundation, Inc.
  1489. +    Contributed by Markus M. Wild (wild@amiga.physik.unizh.ch).
  1490. + This file is part of GNU CC.
  1491. + GNU CC is free software; you can redistribute it and/or modify
  1492. + it under the terms of the GNU General Public License as published by
  1493. + the Free Software Foundation; either version 2, or (at your option)
  1494. + any later version.
  1495. + GNU CC is distributed in the hope that it will be useful,
  1496. + but WITHOUT ANY WARRANTY; without even the implied warranty of
  1497. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1498. + GNU General Public License for more details.
  1499. + You should have received a copy of the GNU General Public License
  1500. + along with GNU CC; see the file COPYING.  If not, write to
  1501. + the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1502. + #include "m68k/m68k.h"
  1503. + /* See m68k.h for bits in TARGET_DEFAULT.
  1504. +    0 means 68000, no hardware fpu (68881/68882/68040).
  1505. +    7 means 68020 (or higher) with hardware fpu.  */
  1506. + #ifndef TARGET_DEFAULT
  1507. + #define TARGET_DEFAULT 0
  1508. + #endif
  1509. + /* Define __HAVE_68881__ in preprocessor according to the -m flags.
  1510. +    This will control the use of inline 68881 insns in certain macros.
  1511. +    Also inform the program which CPU this is for.  */
  1512. + #if TARGET_DEFAULT & 02
  1513. + /* -m68881 is the default */
  1514. + #define CPP_SPEC \
  1515. + "%{!msoft-float:-D__HAVE_68881__ }\
  1516. + %{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{m68030:-Dmc68030}%{mc68030:-Dmc68030}%{m68040:-Dmc68040}\
  1517. + %{mc68040:-Dmc68040}%{!mc68000:%{!m68000:-Dmc68020}}}"
  1518. + #else
  1519. + /* -msoft-float is the default, assume -mc68000 as well */
  1520. + #define CPP_SPEC \
  1521. + "%{m68881:-D__HAVE_68881__ }\
  1522. + %{!ansi:%{m68020:-Dmc68020}%{mc68020:-Dmc68020}%{m68030:-Dmc68030}%{mc68030:-Dmc68030}%{m68040:-Dmc68040}\
  1523. + %{mc68040:-Dmc68040}%{!mc68020:%{!m68020:%{!mc68030:%{!m68030:%{!mc68040:%{!m68040:-Dmc68010}}}}}}}"
  1524. + /* Don't try using XFmode since we don't have appropriate runtime software
  1525. +    support.  */
  1526. + #undef LONG_DOUBLE_TYPE_SIZE
  1527. + #define LONG_DOUBLE_TYPE_SIZE 64
  1528. + #endif
  1529. + /* -m68000 requires special flags to the assembler.  */
  1530. + #if TARGET_DEFAULT & 01
  1531. + #define ASM_SPEC \
  1532. +  "%{m68000:-mc68010}%{mc68000:-mc68010}%{mc68030:-mc68030}%{m68030:-mc68030}%{mc68040:-mc68040}%{m68040:-mc68040}\
  1533. + %{!mc68000:%{!m68000:%{!mc68030:%{!m68030:%{!mc68040:%{!m68040:-mc68020}}}}}} %{msmall-code:-l}"
  1534. + #else
  1535. + #define ASM_SPEC \
  1536. +  "%{m68020:-mc68020}%{mc68020:-mc68020}%{mc68030:-mc68030}%{m68030:-mc68030}%{mc68040:-mc68040}\
  1537. + %{m68040:-mc68040}%{!mc68020:%{!m68020:%{!mc68030:%{!m68030:%{!mc68040:%{!m68040:-mc68010}}}}}} %{msmall-code:-l}"
  1538. + #endif
  1539. + /* amiga/amigados are the new "standard" defines for the Amiga, MCH_AMIGA
  1540. +  * was used before and is included for compatibility reasons */
  1541. + #define CPP_PREDEFINES "-Dmc68000 -Damiga -Damigados -DMCH_AMIGA -DAMIGA"
  1542. + /* Choose the right startup file, depending on whether we use base relative
  1543. +    code, base relative code with automatic relocation (-resident), or plain
  1544. +    crt0.o. 
  1545. +   
  1546. +    Profiling is currently only available for plain startup.
  1547. +    mcrt0.o does not (yet) exist. */
  1548. + #define STARTFILE_SPEC \
  1549. +  "%{!noixemul:%{resident:rcrt0.o%s}%{!resident:%{!fbaserel:%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}\
  1550. + %{fbaserel:%{pg:bgcrt0.o%s}%{!pg:%{p:bmcrt0.o%s}%{!p:bcrt0.o%s}}}}}\
  1551. + %{noixemul:%{resident:libnix/nrcrt0.o%s}%{!resident:%{fbaserel:libnix/nbcrt0.o%s}%{!fbaserel:libnix/ncrt0.o%s}}}"
  1552. + #define ENDFILE_SPEC "%{noixemul:-lstubs}"
  1553. + /* Automatically search libamiga.a for AmigaDOS specific functions.  Note
  1554. +    that we first search the standard C library to resolve as much as
  1555. +    possible from there, since it has names that are duplicated in libamiga.a
  1556. +    which we *don't* want from there.  Then search the standard C library
  1557. +    again to resolve any references that libamiga.a might have generated.
  1558. +    This may only be a temporary solution since it might be better to simply
  1559. +    remove the things from libamiga.a that should be pulled in from libc.a
  1560. +    instead, which would eliminate the first reference to libc.a. */
  1561. + #define LIB_SPEC "%{!noixemul:%{!p:%{!pg:-lc -lamiga -lc}}%{p:-lc_p}%{pg:-lc_p}}%{noixemul:-lnixmain -lnix -lamiga}"
  1562. + /* if debugging, tell the linker to output amiga-hunk symbols *and* a BSD
  1563. +    compatible debug hunk (which will probably change in the future, it's not
  1564. +    tremendously useful in its current state). */
  1565. + #define LINK_SPEC "%{noixemul:-shortdata -fl libnix} %{fbaserel:%{!resident:-databss-together -fl libb}}\
  1566. + %{resident:-databss-together -datadata-reloc -fl libb} %{g:-amiga-debug-hunk}\
  1567. + %{m68020:-fl libm020} %{m68030:-fl libm020} %{m68040:-fl libm020}"
  1568. + #define CC1_SPEC "%{m68040:-mbitfield }%{mc68040:-mbitfield }%{resident:-fbaserel}%{msmall-code:-fno-function-cse} "
  1569. + #define CC1PLUS_SPEC "%{m68040:-mbitfield }%{mc68040:-mbitfield }%{resident:-fbaserel}%{msmall-code:-fno-function-cse} "
  1570. + /* Omit frame pointer at high optimization levels. (This doesn't hurt, since
  1571. +    GDB doesn't work under AmigaDOS at the moment anyway..) */
  1572. +   
  1573. + #define OPTIMIZATION_OPTIONS(OPTIMIZE) \
  1574. + {                                  \
  1575. +   if (OPTIMIZE >= 2)                         \
  1576. +     flag_omit_frame_pointer = 1;                \
  1577. + }
  1578. + /* provide a dummy entry for the small-code switch. This is currently only
  1579. +    needed by the assembler (explanations: m68k.h), but will be used by cc1
  1580. +    to output 16bit pc-relative code later. */
  1581. + #undef TARGET_SWITCHES
  1582. + #define TARGET_SWITCHES  \
  1583. +   { { "68020", 5},                \
  1584. +     { "c68020", 5},                \
  1585. +     { "68881", 2},                \
  1586. +     { "bitfield", 4},                \
  1587. +     { "68000", -5},                \
  1588. +     { "c68000", -5},                \
  1589. +     { "soft-float", -0102},            \
  1590. +     { "nobitfield", -4},            \
  1591. +     { "rtd", 8},                \
  1592. +     { "nortd", -8},                \
  1593. +     { "short", 040},                \
  1594. +     { "noshort", -040},                \
  1595. +     { "fpa", 0100},                \
  1596. +     { "nofpa", -0100},                \
  1597. +     { "sky", 0200},                \
  1598. +     { "nosky", -0200},                \
  1599. +     { "68040", 0407},                \
  1600. +     { "68030", -01400},                \
  1601. +     { "68030", 7},                \
  1602. +     { "68040-only", 01000},            \
  1603. +     { "small-code", 0 },            \
  1604. +     { "", TARGET_DEFAULT}}
  1605. + /* Every structure or union's size must be a multiple of 2 bytes.  */
  1606. + #define STRUCTURE_SIZE_BOUNDARY 16
  1607. + /* This is (almost;-)) BSD, so it wants DBX format.  */
  1608. + #define DBX_DEBUGGING_INFO
  1609. + /* Allow folding division by zero.  */
  1610. + #define REAL_INFINITY
  1611. + /* The following was hacked into final.c, to allow some notice of
  1612. +  * source line and filename to be injected into the assembly code,
  1613. +  * even if not using one of the "approved" debuggers (albaugh@agames.com).
  1614. +  */
  1615. + #if 0
  1616. + #define ASM_NOTE_SOURCE_LINE(FILE, LINE, FILENAME)\
  1617. +   fprintf(file,"*#line %d \"%s\"\n",(LINE),(FILENAME))
  1618. + #endif
  1619. + #if 0    /* This apparently is no longer necessary? */
  1620. + /* This is how to output an assembler line defining a `double' constant.  */
  1621. + #undef ASM_OUTPUT_DOUBLE
  1622. + #define ASM_OUTPUT_DOUBLE(FILE,VALUE)                    \
  1623. +   {                                    \
  1624. +     if (REAL_VALUE_ISINF (VALUE))                    \
  1625. +       fprintf (FILE, "\t.double 0r%s99e999\n", (VALUE) > 0 ? "" : "-");    \
  1626. +     else if (isnan (VALUE))                        \
  1627. +       {                                    \
  1628. +     union { double d; long l[2];} t;                \
  1629. +     t.d = (VALUE);                            \
  1630. +     fprintf (FILE, "\t.long 0x%lx\n\t.long 0x%lx\n", t.l[0], t.l[1]); \
  1631. +       }                                    \
  1632. +     else                                \
  1633. +       fprintf (FILE, "\t.double 0r%.17g\n", VALUE);            \
  1634. +   }
  1635. + /* This is how to output an assembler line defining a `float' constant.  */
  1636. + #undef ASM_OUTPUT_FLOAT
  1637. + #define ASM_OUTPUT_FLOAT(FILE,VALUE)                    \
  1638. +   {                                    \
  1639. +     if (REAL_VALUE_ISINF (VALUE))                    \
  1640. +       fprintf (FILE, "\t.single 0r%s99e999\n", (VALUE) > 0 ? "" : "-");    \
  1641. +     else if (isnan (VALUE))                        \
  1642. +       {                                    \
  1643. +     union { float f; long l;} t;                    \
  1644. +     t.f = (VALUE);                            \
  1645. +     fprintf (FILE, "\t.long 0x%lx\n", t.l);                \
  1646. +       }                                    \
  1647. +     else                                \
  1648. +       fprintf (FILE, "\t.single 0r%.9g\n", VALUE);            \
  1649. +   }
  1650. + /* This is how to output an assembler lines defining floating operands.
  1651. +    There's no way to output a NaN's fraction, so we lose it.  */
  1652. +   
  1653. + #undef ASM_OUTPUT_FLOAT_OPERAND
  1654. + #define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE)                \
  1655. +  do {                                \
  1656. +       if (CODE == 'f')                        \
  1657. +         {                            \
  1658. +           (REAL_VALUE_ISINF ((VALUE))                        \
  1659. +            ? asm_fprintf (FILE, "%I0r%s99e999", ((VALUE) > 0 ? "" : "-")) \
  1660. +            : (VALUE) == -0.0                            \
  1661. +            ? asm_fprintf (FILE, "%I0r-0.0")                    \
  1662. +            : asm_fprintf (FILE, "%I0r%.9g", (VALUE))) \
  1663. +         } else {                                        \
  1664. +           long l;                        \
  1665. +           REAL_VALUE_TO_TARGET_SINGLE (VALUE, l);        \
  1666. +           if (sizeof (int) == sizeof (long))            \
  1667. +             asm_fprintf ((FILE), "%I0x%x", l);            \
  1668. +           else                            \
  1669. +             asm_fprintf ((FILE), "%I0x%lx", l);            \
  1670. +         }                            \
  1671. +      } while (0)
  1672. + #undef ASM_OUTPUT_DOUBLE_OPERAND
  1673. + #define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE)                \
  1674. +   (REAL_VALUE_ISINF ((VALUE))                        \
  1675. +    ? asm_fprintf (FILE, "%I0r%s99e999", ((VALUE) > 0 ? "" : "-")) \
  1676. +    : (VALUE) == -0.0                            \
  1677. +    ? asm_fprintf (FILE, "%I0r-0.0")                    \
  1678. +    : asm_fprintf (FILE, "%I0r%.17g", (VALUE)))
  1679. + #endif    /* 0 */
  1680. + /* use A5 as framepointer instead of A6, this makes A6 available as a
  1681. +    general purpose register, and can thus be used without problems in
  1682. +    direct library calls. */
  1683. + #undef FRAME_POINTER_REGNUM
  1684. + #define FRAME_POINTER_REGNUM 13
  1685. + #undef ARG_POINTER_REGNUM
  1686. + #define ARG_POINTER_REGNUM 13
  1687. + /* we use A4 for this, not A5, which is the framepointer */
  1688. + #undef PIC_OFFSET_TABLE_REGNUM
  1689. + #define PIC_OFFSET_TABLE_REGNUM 12
  1690. + /* setup a default shell return value for those (gazillion..) programs that
  1691. +    (inspite of ANSI-C) declare main() to be void (or even VOID...) and thus
  1692. +    cause the shell to randomly caugh upon executing such programs (contrary
  1693. +    to Unix, AmigaDOS scripts are terminated with an error if a program returns
  1694. +    with an error code above the `error' or even `failure' level
  1695. +    (which is configurable with the FAILAT command) */
  1696. + #define DEFAULT_MAIN_RETURN c_expand_return (integer_zero_node)
  1697. + /* we do have an ansi-compliant c-library ;-) */
  1698. + #define HAVE_VPRINTF
  1699. + #define HAVE_VFPRINTF
  1700. + #define HAVE_PUTENV
  1701. + #define HAVE_STRERROR
  1702. + #define HAVE_ATEXIT
  1703. + /* given that symbolic_operand(X), return TRUE if no special
  1704. +    base relative relocation is necessary */
  1705. + #define LEGITIMATE_BASEREL_OPERAND_P(X) \
  1706. +   (flag_pic >= 3 && read_only_operand (X))
  1707. + #undef LEGITIMATE_PIC_OPERAND_P
  1708. + #define LEGITIMATE_PIC_OPERAND_P(X) \
  1709. +   (! symbolic_operand (X, VOIDmode) || LEGITIMATE_BASEREL_OPERAND_P (X))
  1710. + /* Define this macro if references to a symbol must be treated
  1711. +    differently depending on something about the variable or
  1712. +    function named by the symbol (such as what section it is in).
  1713. +    The macro definition, if any, is executed immediately after the
  1714. +    rtl for DECL or other node is created.
  1715. +    The value of the rtl will be a `mem' whose address is a
  1716. +    `symbol_ref'.
  1717. +    The usual thing for this macro to do is to a flag in the
  1718. +    `symbol_ref' (such as `SYMBOL_REF_FLAG') or to store a modified
  1719. +    name string in the `symbol_ref' (if one bit is not enough
  1720. +    information).
  1721. +    On the Amiga we use this to indicate if a symbol is in text or
  1722. +    data space.  */
  1723. + #define ENCODE_SECTION_INFO(DECL)\
  1724. + do                                    \
  1725. +   {                                    \
  1726. +     if (TREE_CODE (DECL) == FUNCTION_DECL)                \
  1727. +       SYMBOL_REF_FLAG (XEXP (DECL_RTL (DECL), 0)) = 1;            \
  1728. +     else                                \
  1729. +       {                                    \
  1730. +     rtx rtl = (TREE_CODE_CLASS (TREE_CODE (DECL)) != 'd'        \
  1731. +            ? TREE_CST_RTL (DECL) : DECL_RTL (DECL));        \
  1732. +     if (RTX_UNCHANGING_P (rtl) && !MEM_VOLATILE_P (rtl))        \
  1733. +       SYMBOL_REF_FLAG (XEXP (rtl, 0)) = 1;                \
  1734. +       }                                    \
  1735. +   }                                    \
  1736. + while (0)
  1737. + #undef SELECT_RTX_SECTION
  1738. + #define SELECT_RTX_SECTION(MODE, X) readonly_data_section ();
  1739. + /* according to varasm.c, RELOC referrs *only* to whether constants (!)
  1740. +    are addressed by address. This doesn't matter in baserelative code,
  1741. +    so we allow (inspite of flag_pic) readonly_data_section() in that
  1742. +    case */
  1743. + #undef SELECT_SECTION
  1744. + #define SELECT_SECTION(DECL, RELOC)                    \
  1745. + {                                    \
  1746. +   if (TREE_CODE (DECL) == STRING_CST)                    \
  1747. +     {                                    \
  1748. +       if (! flag_writable_strings)                    \
  1749. +     readonly_data_section ();                    \
  1750. +       else                                \
  1751. +     data_section ();                        \
  1752. +     }                                    \
  1753. +   else if (TREE_CODE (DECL) == VAR_DECL)                \
  1754. +     {                                    \
  1755. +       if ((flag_pic && flag_pic < 3 && RELOC)                \
  1756. +       || !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL))        \
  1757. +     data_section ();                        \
  1758. +       else                                \
  1759. +     readonly_data_section ();                    \
  1760. +     }                                    \
  1761. +   else                                    \
  1762. +     readonly_data_section ();                        \
  1763. + }
  1764. + #if not_yet_working
  1765. + /* starting support for amiga specific keywords
  1766. +  * --------------------------------------------
  1767. +  */
  1768. + /* validate attributes that don't take a parameter. Currently we support
  1769. +  * __attribute__ (saveds) and __attribute__ (interrupt)
  1770. +  */
  1771. + #define HANDLE_ATTRIBUTE0(attr) \
  1772. +   (strcmp(attr, "saveds") != 0 && strcmp(attr, "interrupt") != 0)
  1773. + /* (c-common.c)
  1774. +  * install additional attributes
  1775. +  */
  1776. + #define HANDLE_EXTRA_ATTRIBUTES(a)                         \
  1777. +   if (TREE_VALUE (a) != 0                            \
  1778. +       && TREE_CODE (TREE_VALUE (a)) == IDENTIFIER_NODE                \
  1779. +       && TREE_VALUE (a) == get_identifier ("saveds"))                \
  1780. +     {                                        \
  1781. +       if (TREE_CODE (decl) != FUNCTION_DECL)                    \
  1782. +         {                                    \
  1783. +           warning_with_decl (decl,                        \
  1784. +               "saveds attribute specified for non-function `%s'");        \
  1785. +       return;                                \
  1786. +         }                                    \
  1787. +                                               \
  1788. +       attr_do_saveds (DECL_NAME (decl));                    \
  1789. +     }                                        \
  1790. +   else if (TREE_VALUE (a) != 0                            \
  1791. +       && TREE_CODE (TREE_VALUE (a)) == IDENTIFIER_NODE                \
  1792. +       && TREE_VALUE (a) == get_identifier ("interrupt"))            \
  1793. +     {                                        \
  1794. +       if (TREE_CODE (decl) != FUNCTION_DECL)                    \
  1795. +         {                                    \
  1796. +           warning_with_decl (decl,                        \
  1797. +               "saveds attribute specified for non-function `%s'");        \
  1798. +       return;                                \
  1799. +         }                                    \
  1800. +                                               \
  1801. +       attr_do_interrupt (DECL_NAME (decl));                    \
  1802. +     }                                        \
  1803. + #define PROLOGUE_EXTRA_SAVE(mask)                        \
  1804. +   { extern char *current_function_name;                        \
  1805. +     /* saveds makes the function preserve d1/a0/a1 as well */            \
  1806. +     if (attr_does_saveds (current_function_name))                \
  1807. +       mask |= 0x40c0; }                                \
  1808. + #define EPILOGUE_EXTRA_RESTORE(mask, nregs)                    \
  1809. +   { extern char *current_function_name;                        \
  1810. +     /* restore those extra registers */                        \
  1811. +     if (attr_does_saveds (current_function_name))                \
  1812. +       {                                        \
  1813. +     mask |= 0x0302;                                \
  1814. +     nregs += 3;                                \
  1815. +       } }                                    \
  1816. + #define EPILOGUE_EXTRA_BARRIER_KLUDGE(stream)                    \
  1817. +   { extern char *current_function_name;                        \
  1818. +     /* PLEASE Help! how is this done cleaner?? */                \
  1819. +     if (attr_does_saveds (current_function_name))                \
  1820. +       {                                        \
  1821. +     fprintf (stderr,                             \
  1822. +          "warning: couldn't cleanup `saveds'-stack in `%s'.\n");    \
  1823. +     fprintf (stderr,                            \
  1824. +          "         this is only ok, if the function never returns!\n");    \
  1825. +       }    }                                    \
  1826. +         
  1827. + #define EPILOGUE_EXTRA_TEST(stream)                        \
  1828. +   { extern char *current_function_name;                        \
  1829. +     /* with the interrupt-attribute, we have to set the cc before rts */    \
  1830. +     if (attr_does_interrupt (current_function_name))                \
  1831. +       asm_fprintf (stream, "\ttstl %s\n", reg_names[0]); }            \
  1832. + #endif
  1833. diff -rc --new-file gnat-2.00/config/m68k/m68k.c /gnu/src/amiga/gnat-2.00/config/m68k/m68k.c
  1834. *** gnat-2.00/config/m68k/m68k.c    Fri Nov 11 00:10:16 1994
  1835. --- /gnu/src/amiga/gnat-2.00/config/m68k/m68k.c    Sat Dec  3 15:01:56 1994
  1836. ***************
  1837. *** 61,67 ****
  1838.   void
  1839.   finalize_pic ()
  1840.   {
  1841. !   if (flag_pic && current_function_uses_pic_offset_table)
  1842.       emit_insn (gen_rtx (USE, VOIDmode, pic_offset_table_rtx));
  1843.   }
  1844.   
  1845. --- 61,67 ----
  1846.   void
  1847.   finalize_pic ()
  1848.   {
  1849. !   if (flag_pic && (flag_pic < 3) && current_function_uses_pic_offset_table)
  1850.       emit_insn (gen_rtx (USE, VOIDmode, pic_offset_table_rtx));
  1851.   }
  1852.   
  1853. ***************
  1854. *** 141,147 ****
  1855.     else if (fsize)
  1856.       {
  1857.         /* Adding negative number is faster on the 68040.  */
  1858. !       if (fsize + 4 < 0x8000)
  1859.       {
  1860.       /* asm_fprintf() cannot handle %. */
  1861.   #ifdef MOTOROLA
  1862. --- 141,148 ----
  1863.     else if (fsize)
  1864.       {
  1865.         /* Adding negative number is faster on the 68040.  */
  1866. !         if (fsize + 4 < 0x8000)
  1867.       {
  1868.       /* asm_fprintf() cannot handle %. */
  1869.   #ifdef MOTOROLA
  1870. ***************
  1871. *** 196,201 ****
  1872. --- 197,205 ----
  1873.         mask &= ~ (1 << (15 - FRAME_POINTER_REGNUM));
  1874.         num_saved_regs--;
  1875.       }
  1876. + #ifdef PROLOGUE_EXTRA_SAVE
  1877. +   PROLOGUE_EXTRA_SAVE (mask);
  1878. + #endif
  1879.   
  1880.   #if NEED_PROBE
  1881.     fprintf (stream, "\ttstl sp@(%d)\n", NEED_PROBE - num_saved_regs * 4);
  1882. ***************
  1883. *** 229,235 ****
  1884.         asm_fprintf (stream, "\tmoveml %0I0x%x,%Rsp@-\n", mask);
  1885.   #endif
  1886.       }
  1887. !   if (flag_pic && current_function_uses_pic_offset_table)
  1888.       {
  1889.   #ifdef MOTOROLA
  1890.         asm_fprintf (stream, "\t%Olea (%Rpc, %U_GLOBAL_OFFSET_TABLE_@GOTPC), %s\n",
  1891. --- 233,239 ----
  1892.         asm_fprintf (stream, "\tmoveml %0I0x%x,%Rsp@-\n", mask);
  1893.   #endif
  1894.       }
  1895. !   if (flag_pic && (flag_pic < 3) && current_function_uses_pic_offset_table)
  1896.       {
  1897.   #ifdef MOTOROLA
  1898.         asm_fprintf (stream, "\t%Olea (%Rpc, %U_GLOBAL_OFFSET_TABLE_@GOTPC), %s\n",
  1899. ***************
  1900. *** 294,299 ****
  1901. --- 298,306 ----
  1902.         /* Output just a no-op so that debuggers don't get confused
  1903.        about which function the pc is in at this address.  */
  1904.         asm_fprintf (stream, "\tnop\n");
  1905. + #ifdef EPILOGUE_EXTRA_BARRIER_KLUDGE
  1906. +       EPILOGUE_EXTRA_BARRIER_KLUDGE(stream);
  1907. + #endif
  1908.         return;
  1909.       }
  1910.   
  1911. ***************
  1912. *** 324,329 ****
  1913. --- 331,339 ----
  1914.           nregs++;
  1915.       mask |= 1 << regno;
  1916.         }
  1917. + #ifdef EPILOGUE_EXTRA_RESTORE
  1918. +   EPILOGUE_EXTRA_RESTORE(mask, nregs);
  1919. + #endif
  1920.     offset = foffset + nregs * 4;
  1921.     if (offset + fsize >= 0x8000
  1922.         && frame_pointer_needed
  1923. ***************
  1924. *** 528,533 ****
  1925. --- 538,546 ----
  1926.   #endif
  1927.       }
  1928.       }
  1929. + #ifdef EPILOGUE_EXTRA_TEST
  1930. +   EPILOGUE_EXTRA_TEST(stream);
  1931. + #endif
  1932.     if (current_function_pops_args)
  1933.       asm_fprintf (stream, "\trtd %0I%d\n", current_function_pops_args);
  1934.     else
  1935. ***************
  1936. *** 818,832 ****
  1937.     /* First handle a simple SYMBOL_REF or LABEL_REF */
  1938.     if (GET_CODE (orig) == SYMBOL_REF || GET_CODE (orig) == LABEL_REF)
  1939.       {
  1940.         if (reg == 0)
  1941.       abort ();
  1942.   
  1943. !       pic_ref = gen_rtx (MEM, Pmode,
  1944. !              gen_rtx (PLUS, Pmode,
  1945. !                   pic_offset_table_rtx, orig));
  1946.         current_function_uses_pic_offset_table = 1;
  1947.         RTX_UNCHANGING_P (pic_ref) = 1;
  1948.         emit_move_insn (reg, pic_ref);
  1949.         return reg;
  1950.       }
  1951.     else if (GET_CODE (orig) == CONST)
  1952. --- 831,854 ----
  1953.     /* First handle a simple SYMBOL_REF or LABEL_REF */
  1954.     if (GET_CODE (orig) == SYMBOL_REF || GET_CODE (orig) == LABEL_REF)
  1955.       {
  1956. + #ifdef LEGITIMATE_BASEREL_OPERAND_P
  1957. +   if (LEGITIMATE_BASEREL_OPERAND_P (orig))
  1958. +     return orig;
  1959. + #endif
  1960.         if (reg == 0)
  1961.       abort ();
  1962.   
  1963. !       if (flag_pic >= 3)
  1964. !     pic_ref = gen_rtx (PLUS, Pmode, pic_offset_table_rtx, orig);
  1965. !       else
  1966. !         pic_ref = gen_rtx (MEM, Pmode,
  1967. !                gen_rtx (PLUS, Pmode,
  1968. !                     pic_offset_table_rtx, orig));
  1969.         current_function_uses_pic_offset_table = 1;
  1970.         RTX_UNCHANGING_P (pic_ref) = 1;
  1971.         emit_move_insn (reg, pic_ref);
  1972.         return reg;
  1973.       }
  1974.     else if (GET_CODE (orig) == CONST)
  1975. ***************
  1976. *** 855,860 ****
  1977. --- 877,883 ----
  1978.         pic_ref = gen_rtx (PLUS, Pmode, base, orig);
  1979.         /* Likewise, should we set special REG_NOTEs here?  */
  1980.       }
  1981.     return pic_ref;
  1982.   }
  1983.   
  1984. ***************
  1985. *** 2167,2172 ****
  1986. --- 2190,2199 ----
  1987.                 fprintf (file, ":w");
  1988.               if ((flag_pic == 2) && (breg == pic_offset_table_rtx))
  1989.                 fprintf (file, ":l");
  1990. +             if ((flag_pic == 3) && (breg == pic_offset_table_rtx))
  1991. +               fprintf (file, ":W");
  1992. +             if ((flag_pic == 4) && (breg == pic_offset_table_rtx))
  1993. +               fprintf (file, ":L");
  1994.             }
  1995.           if (addr != 0 && ireg != 0)
  1996.             {
  1997. diff -rc --new-file gnat-2.00/config/m68k/m68k.h /gnu/src/amiga/gnat-2.00/config/m68k/m68k.h
  1998. *** gnat-2.00/config/m68k/m68k.h    Sat Nov  5 19:25:00 1994
  1999. --- /gnu/src/amiga/gnat-2.00/config/m68k/m68k.h    Sat Dec  3 15:01:58 1994
  2000. ***************
  2001. *** 353,361 ****
  2002.   #ifndef SUPPORT_SUN_FPA
  2003.   
  2004.   #define CONDITIONAL_REGISTER_USAGE \
  2005. ! {                                               \
  2006. !   if (flag_pic)                                 \
  2007. !     fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1;    \
  2008.   }
  2009.   
  2010.   #else /* defined SUPPORT_SUN_FPA */
  2011. --- 353,364 ----
  2012.   #ifndef SUPPORT_SUN_FPA
  2013.   
  2014.   #define CONDITIONAL_REGISTER_USAGE \
  2015. ! {                                                \
  2016. !   if (flag_pic)                                  \
  2017. !     fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1;     \
  2018. !   /* prevent saving/restoring of the base reg */ \
  2019. !   if (flag_pic == 3)                 \
  2020. !     call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
  2021.   }
  2022.   
  2023.   #else /* defined SUPPORT_SUN_FPA */
  2024. diff -rc --new-file gnat-2.00/config/m68k/m68k.md /gnu/src/amiga/gnat-2.00/config/m68k/m68k.md
  2025. *** gnat-2.00/config/m68k/m68k.md    Mon Nov 21 23:42:46 1994
  2026. --- /gnu/src/amiga/gnat-2.00/config/m68k/m68k.md    Sat Dec  3 15:24:49 1994
  2027. ***************
  2028. *** 377,384 ****
  2029.   
  2030.   ;; compare instructions.
  2031.   
  2032.   ;; A composite of the cmp, cmpa, & cmpi m68000 op codes.
  2033. ! (define_insn "cmpsi"
  2034.     [(set (cc0)
  2035.       (compare (match_operand:SI 0 "nonimmediate_operand" "rKs,mr,>")
  2036.            (match_operand:SI 1 "general_operand" "mr,Ksr,>")))]
  2037. --- 377,410 ----
  2038.   
  2039.   ;; compare instructions.
  2040.   
  2041. + ;; This is the second "hook" for PIC code (in addition to movsi). See
  2042. + ;; comment of movsi for a description of PIC handling.
  2043. + (define_expand "cmpsi"
  2044. +   [(set (cc0)
  2045. +     (compare (match_operand:SI 0 "nonimmediate_operand" "")
  2046. +          (match_operand:SI 1 "general_operand" "")))]
  2047. +   ""
  2048. +   "
  2049. + {
  2050. +   if (flag_pic && symbolic_operand (operands[1], SImode)) 
  2051. +     {
  2052. + #ifdef LEGITIMATE_BASEREL_OPERAND_P
  2053. +       if (flag_pic < 3 || !LEGITIMATE_BASEREL_OPERAND_P (operands[1]))
  2054. + #endif
  2055. +       {
  2056. +         /* The source is an address which requires PIC relocation.  
  2057. +            Call legitimize_pic_address with the source, mode, and a relocation
  2058. +            register (a new pseudo, or the final destination if reload_in_progress
  2059. +            is set).   Then fall through normally */
  2060. +         extern rtx legitimize_pic_address();
  2061. +         rtx temp = reload_in_progress ? operands[0] : gen_reg_rtx (Pmode);
  2062. +         operands[1] = legitimize_pic_address (operands[1], SImode, temp);
  2063. +       }
  2064. +     }
  2065. + }")
  2066.   ;; A composite of the cmp, cmpa, & cmpi m68000 op codes.
  2067. ! (define_insn ""
  2068.     [(set (cc0)
  2069.       (compare (match_operand:SI 0 "nonimmediate_operand" "rKs,mr,>")
  2070.            (match_operand:SI 1 "general_operand" "mr,Ksr,>")))]
  2071. ***************
  2072. *** 712,724 ****
  2073.   {
  2074.     if (flag_pic && symbolic_operand (operands[1], SImode)) 
  2075.       {
  2076. !       /* The source is an address which requires PIC relocation.  
  2077. !          Call legitimize_pic_address with the source, mode, and a relocation
  2078. !          register (a new pseudo, or the final destination if reload_in_progress
  2079. !          is set).   Then fall through normally */
  2080. !       extern rtx legitimize_pic_address();
  2081. !       rtx temp = reload_in_progress ? operands[0] : gen_reg_rtx (Pmode);
  2082. !       operands[1] = legitimize_pic_address (operands[1], SImode, temp);
  2083.       }
  2084.   }")
  2085.   
  2086. --- 738,755 ----
  2087.   {
  2088.     if (flag_pic && symbolic_operand (operands[1], SImode)) 
  2089.       {
  2090. ! #ifdef LEGITIMATE_BASEREL_OPERAND_P
  2091. !       if (flag_pic < 3 || !LEGITIMATE_BASEREL_OPERAND_P (operands[1]))
  2092. ! #endif
  2093. !       {
  2094. !         /* The source is an address which requires PIC relocation.  
  2095. !            Call legitimize_pic_address with the source, mode, and a relocation
  2096. !            register (a new pseudo, or the final destination if reload_in_progress
  2097. !            is set).   Then fall through normally */
  2098. !         extern rtx legitimize_pic_address();
  2099. !         rtx temp = reload_in_progress ? operands[0] : gen_reg_rtx (Pmode);
  2100. !         operands[1] = legitimize_pic_address (operands[1], SImode, temp);
  2101. !       }
  2102.       }
  2103.   }")
  2104.   
  2105. ***************
  2106. *** 1856,1863 ****
  2107.   
  2108.         /* These insns can result from reloads to access
  2109.        stack slots over 64k from the frame pointer.  */
  2110. !       if (GET_CODE (operands[2]) == CONST_INT
  2111. !       && INTVAL (operands[2]) + 0x8000 >= (unsigned) 0x10000)
  2112.           return \"move%.l %2,%0\;add%.l %1,%0\";
  2113.   #ifdef SGS
  2114.         if (GET_CODE (operands[2]) == REG)
  2115. --- 1887,1895 ----
  2116.   
  2117.         /* These insns can result from reloads to access
  2118.        stack slots over 64k from the frame pointer.  */
  2119. !       if (((GET_CODE (operands[2]) == CONST_INT
  2120. !        && INTVAL (operands[2]) + 0x8000 >= (unsigned) 0x10000))
  2121. !       || (flag_pic == 4 && operands[1] == pic_offset_table_rtx))
  2122.           return \"move%.l %2,%0\;add%.l %1,%0\";
  2123.   #ifdef SGS
  2124.         if (GET_CODE (operands[2]) == REG)
  2125. ***************
  2126. *** 4769,4775 ****
  2127.     ""
  2128.     "
  2129.   {
  2130. !   if (flag_pic && GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF)
  2131.   #ifdef MOTOROLA
  2132.       SYMBOL_REF_FLAG (XEXP (operands[0], 0)) = 1;
  2133.   #else
  2134. --- 4801,4807 ----
  2135.     ""
  2136.     "
  2137.   {
  2138. !   if (flag_pic && flag_pic < 3 && GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF)
  2139.   #ifdef MOTOROLA
  2140.       SYMBOL_REF_FLAG (XEXP (operands[0], 0)) = 1;
  2141.   #else
  2142. ***************
  2143. *** 4784,4790 ****
  2144.        (match_operand:SI 1 "general_operand" "g"))]
  2145.     ;; Operand 1 not really used on the m68000.
  2146.   
  2147. !   "! flag_pic"
  2148.     "*
  2149.   #ifdef MOTOROLA
  2150.   #ifdef MOTOROLA_BSR
  2151. --- 4816,4822 ----
  2152.        (match_operand:SI 1 "general_operand" "g"))]
  2153.     ;; Operand 1 not really used on the m68000.
  2154.   
  2155. !   "(! flag_pic || flag_pic >= 3)"
  2156.     "*
  2157.   #ifdef MOTOROLA
  2158.   #ifdef MOTOROLA_BSR
  2159. ***************
  2160. *** 4804,4810 ****
  2161.        (match_operand:SI 1 "general_operand" "g"))]
  2162.     ;; Operand 1 not really used on the m68000.
  2163.   
  2164. !   "flag_pic"
  2165.     "*
  2166.   #ifdef MOTOROLA
  2167.     if (GET_CODE (operands[0]) == MEM 
  2168. --- 4836,4842 ----
  2169.        (match_operand:SI 1 "general_operand" "g"))]
  2170.     ;; Operand 1 not really used on the m68000.
  2171.   
  2172. !   "(flag_pic && flag_pic < 3)"
  2173.     "*
  2174.   #ifdef MOTOROLA
  2175.     if (GET_CODE (operands[0]) == MEM 
  2176. ***************
  2177. *** 4829,4835 ****
  2178.     ""
  2179.     "
  2180.   {
  2181. !   if (flag_pic && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF)
  2182.   #ifdef MOTOROLA
  2183.       SYMBOL_REF_FLAG (XEXP (operands[1], 0)) = 1;
  2184.   #else
  2185. --- 4861,4867 ----
  2186.     ""
  2187.     "
  2188.   {
  2189. !   if (flag_pic && flag_pic < 3 && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF)
  2190.   #ifdef MOTOROLA
  2191.       SYMBOL_REF_FLAG (XEXP (operands[1], 0)) = 1;
  2192.   #else
  2193. ***************
  2194. *** 4844,4850 ****
  2195.       (call (match_operand:QI 1 "memory_operand" "o")
  2196.             (match_operand:SI 2 "general_operand" "g")))]
  2197.     ;; Operand 2 not really used on the m68000.
  2198. !   "! flag_pic"
  2199.     "*
  2200.   #ifdef MOTOROLA
  2201.   #ifdef MOTOROLA_BSR
  2202. --- 4876,4882 ----
  2203.       (call (match_operand:QI 1 "memory_operand" "o")
  2204.             (match_operand:SI 2 "general_operand" "g")))]
  2205.     ;; Operand 2 not really used on the m68000.
  2206. !   "(! flag_pic || flag_pic >= 3)"
  2207.     "*
  2208.   #ifdef MOTOROLA
  2209.   #ifdef MOTOROLA_BSR
  2210. ***************
  2211. *** 4864,4870 ****
  2212.       (call (match_operand:QI 1 "memory_operand" "o")
  2213.             (match_operand:SI 2 "general_operand" "g")))]
  2214.     ;; Operand 2 not really used on the m68000.
  2215. !   "flag_pic"
  2216.     "*
  2217.   #ifdef MOTOROLA
  2218.     if (GET_CODE (operands[1]) == MEM 
  2219. --- 4896,4902 ----
  2220.       (call (match_operand:QI 1 "memory_operand" "o")
  2221.             (match_operand:SI 2 "general_operand" "g")))]
  2222.     ;; Operand 2 not really used on the m68000.
  2223. !   "(flag_pic && flag_pic < 3)"
  2224.     "*
  2225.   #ifdef MOTOROLA
  2226.     if (GET_CODE (operands[1]) == MEM 
  2227. diff -rc --new-file gnat-2.00/config/m68k/t-amigados /gnu/src/amiga/gnat-2.00/config/m68k/t-amigados
  2228. *** gnat-2.00/config/m68k/t-amigados    Thu Jan  1 00:00:00 1970
  2229. --- /gnu/src/amiga/gnat-2.00/config/m68k/t-amigados    Thu Dec 22 19:51:55 1994
  2230. ***************
  2231. *** 0 ****
  2232. --- 1,352 ----
  2233. + # Makefile fragment for amigados target.
  2234. + # We generate two additional things:
  2235. + #
  2236. + # libb/libgcc.a
  2237. + #    A base relative version of libgcc.a which is used when compiling and
  2238. + #    linking with the '-resident' option.
  2239. + #
  2240. + # libb/libm020/libgcc.a
  2241. + #    An accelerated base relative version of libgcc.a which is used when
  2242. + #    compiling and linking with the '-mc68020' & '-resident' options.
  2243. + #
  2244. + # libm020/libgcc.a
  2245. + #    An accelerated version of libgcc.a which is used when compiling and
  2246. + #    linking with the '-mc68020' option.
  2247. + #
  2248. + # xgccv
  2249. + #    A forking gcc instead of one calling ssytem(). This makes it less
  2250. + #    system conformant (can't ^C it when started from make), while providing
  2251. + #    increased functionality (-pipe option).
  2252. + # Use the vfork'ing version of gcc by default, so that the -pipe option can
  2253. + # get tested.  To use the regular version just do "make XGCC=gcc".  Note that
  2254. + # PIPE is defined in x-amigados, so if we are doing a native build, it will
  2255. + # be defined.  It can be overridden with "make PIPE=".
  2256. + XGCC = xgccv $(PIPE)
  2257. + GCC_FOR_TARGET = ./$(XGCC) -B./
  2258. + # Build residentable versions of the gcc executables by default.  Use
  2259. + # "make RESIDENT=" to build non-residentable versions.
  2260. + # Note:  This failed during bootstrapping of 2.5.5.
  2261. + #RESIDENT = -resident
  2262. + # The standard additional target flags for the compiler.
  2263. + T_CFLAGS = $(RESIDENT)
  2264. + # Allow the user to override the default target optimizations with gcc, or if
  2265. + # the target compiler is not gcc and doesn't understand -O<N>.
  2266. + T_OPTIMISE = -O2
  2267. + # Each compilation environment (Manx, Dice, GCC, SAS/C, etc) provides its
  2268. + # own equivalent of the UNIX /usr/include tree.  For gcc, the standard headers
  2269. + # are in /gnu/include and system specific headers are in /gnu/os-include.
  2270. + # Use these paths for fixincludes.
  2271. + SYSTEM_HEADER_DIR = /gnu/include
  2272. + OTHER_FIXINCLUDES_DIRS = /gnu/os-include
  2273. + # We don't need a libgcc1, it's all in ixemul.library
  2274. + LIBGCC1 = libgcc1.null
  2275. + # Flags to use when compiling the normal version of libgcc.a.
  2276. + # Don't compile with debugging, as long as there is no debugger.
  2277. + # Explicitly leave out the -resident compilation flag and don't use T_CFLAGS.
  2278. + LIBGCC2_CFLAGS = $(T_OPTIMIZE) $(INTERNAL_CFLAGS) $(X_CFLAGS) $(CFLAGS) \
  2279. +           $(CROSS_GCC_CFLAGS)
  2280. + # Flags to use when compiling the base relative version of libgcc.a.
  2281. + # Don't compile with debugging, as long as there is no debugger.
  2282. + # Explicitly force -resident in the compilation flags and don't use T_CFLAGS.
  2283. + LIBBGCC2_CFLAGS = $(T_OPTIMIZE) $(INTERNAL_CFLAGS) $(X_CFLAGS) $(CFLAGS) \
  2284. +           $(CROSS_GCC_CFLAGS) -resident
  2285. + # Flags to use when compiling the 68020 versions of libgcc.a.
  2286. + # Don't compile with debugging, as long as there is no debugger.
  2287. + # Explicitly force -mc68020 in the compilation flags and don't use T_CFLAGS.
  2288. + LIBM020GCC2_CFLAGS = $(T_OPTIMIZE) $(INTERNAL_CFLAGS) $(X_CFLAGS) $(CFLAGS) \
  2289. +           $(CROSS_GCC_CFLAGS) -mc68020
  2290. + # Flags to use when compiling the base relative 68020 versions of libgcc.a.
  2291. + # Don't compile with debugging, as long as there is no debugger.
  2292. + # Explicitly force -mc68020 & -resident in the compilation flags and don't use
  2293. + # T_CFLAGS.
  2294. + LIBBM020GCC2_CFLAGS = $(LIBBGCC2_CFLAGS) -mc68020
  2295. + # Build the base relative library and accelerated libraries.
  2296. + # It is later copied into /gnu/lib/gcc-lib/amigados/<version>/libb/libgcc.a, whereas
  2297. + # libgcc.a is copied into /gnu/lib/gcc-lib/amigados/<version>/libgcc.a.
  2298. + # Accelerated libraries are copied into same directories, with an extra dir level
  2299. + # libm020, thus libb/libm020. It doesn't work very well to define one of the
  2300. + # EXTRA_* macros to contain libb/libgcc.a, particularly for doing "make stageN"
  2301. + # or "make install".
  2302. + GCC_PARTS=$(GCC_PASSES) libgcc.a libb/libgcc.a libm020/libgcc.a \
  2303. +         libb/libm020/libgcc.a $(EXTRA_PROGRAMS) $(USE_COLLECT2) $(EXTRA_PARTS)
  2304. + # Add install_libbgcc to normal define of INSTALL_LIBGCC.  Let install-gccv
  2305. + # hitch a ride on here as well.
  2306. + INSTALL_LIBGCC = install-libgcc install-libbgcc install-libm020gcc install-libbm020gcc install-gccv
  2307. + # This includes the knowledge that target amigados doesn't need libgcc1.a
  2308. + libb/libgcc.a: libgcc1.null libgcc2.c libgcc2.ready $(CONFIG_H) \
  2309. +    $(LIB2FUNCS_EXTRA) machmode.h longlong.h gbl-ctors.h config.status
  2310. + # Actually build it in tmplibbgcc.a, then rename at end,
  2311. + # so that libb/libgcc.a itself remains nonexistent if compilation is aborted.
  2312. +     -rm -f tmplibbgcc.a
  2313. + # -e causes any failing command to make this rule fail.
  2314. + # -e doesn't work in certain shells, so we test $$? as well.
  2315. +     set -e; \
  2316. +     for name in $(LIB2FUNCS); \
  2317. +     do \
  2318. +       echo $${name}; \
  2319. +       $(GCC_FOR_TARGET) $(LIBBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \
  2320. +           $(srcdir)/libgcc2.c -o $${name}.o; \
  2321. +       if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
  2322. +       $(AR) $(AR_FLAGS) tmplibbgcc.a $${name}.o; \
  2323. +       rm -f $${name}.o; \
  2324. +     done
  2325. + # Some shells crash when a loop has no items.
  2326. + # So make sure there is always at least one--`..'.
  2327. + # Then ignore it.
  2328. + # We don't use -e here because there are if statements
  2329. + # that should not make the command give up when the if condition is false.
  2330. + # Instead, we test for failure after each command where it matters.
  2331. +     -for file in .. $(LIB2FUNCS_EXTRA); \
  2332. +     do \
  2333. +       if [ x$${file} != x.. ]; then \
  2334. +         name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \
  2335. +         echo $${name}; \
  2336. +         if [ $${name}.asm = $${file} ]; then \
  2337. +           cp $${file} $${name}.s || exit 1; file=$${name}.s; \
  2338. +         else true; fi; \
  2339. +         $(GCC_FOR_TARGET) $(LIBBGCC2_CFLAGS) $(INCLUDES) -c $${file}; \
  2340. +         if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
  2341. +         $(AR) $(AR_FLAGS) tmplibbgcc.a $${name}.o; \
  2342. +         rm -f $${name}.[so]; \
  2343. +       else true; \
  2344. +       fi; \
  2345. +     done
  2346. +     -if $(RANLIB_TEST) ; then $(RANLIB) tmplibbgcc.a; else true; fi
  2347. +     -if [ -d libb ] ; then true ; else mkdir libb ; fi
  2348. +     mv tmplibbgcc.a libb/libgcc.a
  2349. + install-libbgcc: libb/libgcc.a install-dir
  2350. +     -if [ -d $(libsubdir)/libb ] ; then true ; else mkdir $(libsubdir)/libb ; fi
  2351. +     -if [ -f libb/libgcc.a ] ; then \
  2352. +       rm -f $(libsubdir)/libb/libgcc.a; \
  2353. +       $(INSTALL_DATA) libb/libgcc.a $(libsubdir)/libb/libgcc.a; \
  2354. +       if $(RANLIB_TEST) ; then \
  2355. +         (cd $(libsubdir)/libb; $(RANLIB) libgcc.a); else true; fi; \
  2356. +       chmod a-x $(libsubdir)/libb/libgcc.a; \
  2357. +     else true; fi
  2358. + libm020/libgcc.a: libgcc1.null libgcc2.c libgcc2.ready $(CONFIG_H) \
  2359. +    $(LIB2FUNCS_EXTRA) machmode.h longlong.h gbl-ctors.h config.status
  2360. + # Actually build it in tmplibm020gcc.a, then rename at end,
  2361. + # so that libm020/libgcc.a itself remains nonexistent if compilation is aborted.
  2362. +     -rm -f tmplibm020gcc.a
  2363. + # -e causes any failing command to make this rule fail.
  2364. + # -e doesn't work in certain shells, so we test $$? as well.
  2365. +     set -e; \
  2366. +     for name in $(LIB2FUNCS); \
  2367. +     do \
  2368. +       echo $${name}; \
  2369. +       $(GCC_FOR_TARGET) $(LIBM020GCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \
  2370. +           $(srcdir)/libgcc2.c -o $${name}.o; \
  2371. +       if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
  2372. +       $(AR) $(AR_FLAGS) tmplibm020gcc.a $${name}.o; \
  2373. +       rm -f $${name}.o; \
  2374. +     done
  2375. + # Some shells crash when a loop has no items.
  2376. + # So make sure there is always at least one--`..'.
  2377. + # Then ignore it.
  2378. + # We don't use -e here because there are if statements
  2379. + # that should not make the command give up when the if condition is false.
  2380. + # Instead, we test for failure after each command where it matters.
  2381. +     -for file in .. $(LIB2FUNCS_EXTRA); \
  2382. +     do \
  2383. +       if [ x$${file} != x.. ]; then \
  2384. +         name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \
  2385. +         echo $${name}; \
  2386. +         if [ $${name}.asm = $${file} ]; then \
  2387. +           cp $${file} $${name}.s || exit 1; file=$${name}.s; \
  2388. +         else true; fi; \
  2389. +         $(GCC_FOR_TARGET) $(LIBBGCC2_CFLAGS) $(INCLUDES) -c $${file}; \
  2390. +         if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
  2391. +         $(AR) $(AR_FLAGS) tmplibm020gcc.a $${name}.o; \
  2392. +         rm -f $${name}.[so]; \
  2393. +       else true; \
  2394. +       fi; \
  2395. +     done
  2396. +     -if $(RANLIB_TEST) ; then $(RANLIB) tmplibm020gcc.a; else true; fi
  2397. +     -if [ -d libm020 ] ; then true ; else mkdir libm020 ; fi
  2398. +     mv tmplibm020gcc.a libm020/libgcc.a
  2399. + install-libm020gcc: libm020/libgcc.a install-dir
  2400. +     -if [ -d $(libsubdir)/libm020 ] ; then true ; else mkdir $(libsubdir)/libm020 ; fi
  2401. +     -if [ -f libm020/libgcc.a ] ; then \
  2402. +       rm -f $(libsubdir)/libm020/libgcc.a; \
  2403. +       $(INSTALL_DATA) libm020/libgcc.a $(libsubdir)/libm020/libgcc.a; \
  2404. +       if $(RANLIB_TEST) ; then \
  2405. +         (cd $(libsubdir)/libm020; $(RANLIB) libgcc.a); else true; fi; \
  2406. +       chmod a-x $(libsubdir)/libm020/libgcc.a; \
  2407. +     else true; fi
  2408. + libb/libm020/libgcc.a: libgcc1.null libgcc2.c libgcc2.ready $(CONFIG_H) \
  2409. +    $(LIB2FUNCS_EXTRA) machmode.h longlong.h gbl-ctors.h config.status
  2410. + # Actually build it in tmplibbm020gcc.a, then rename at end,
  2411. + # so that libb/libm020/libgcc.a itself remains nonexistent if compilation is aborted.
  2412. +     -rm -f tmplibbm020gcc.a
  2413. + # -e causes any failing command to make this rule fail.
  2414. + # -e doesn't work in certain shells, so we test $$? as well.
  2415. +     set -e; \
  2416. +     for name in $(LIB2FUNCS); \
  2417. +     do \
  2418. +       echo $${name}; \
  2419. +       $(GCC_FOR_TARGET) $(LIBBM020GCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \
  2420. +           $(srcdir)/libgcc2.c -o $${name}.o; \
  2421. +       if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
  2422. +       $(AR) $(AR_FLAGS) tmplibbm020gcc.a $${name}.o; \
  2423. +       rm -f $${name}.o; \
  2424. +     done
  2425. + # Some shells crash when a loop has no items.
  2426. + # So make sure there is always at least one--`..'.
  2427. + # Then ignore it.
  2428. + # We don't use -e here because there are if statements
  2429. + # that should not make the command give up when the if condition is false.
  2430. + # Instead, we test for failure after each command where it matters.
  2431. +     -for file in .. $(LIB2FUNCS_EXTRA); \
  2432. +     do \
  2433. +       if [ x$${file} != x.. ]; then \
  2434. +         name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \
  2435. +         echo $${name}; \
  2436. +         if [ $${name}.asm = $${file} ]; then \
  2437. +           cp $${file} $${name}.s || exit 1; file=$${name}.s; \
  2438. +         else true; fi; \
  2439. +         $(GCC_FOR_TARGET) $(LIBBGCC2CFLAGS) $(INCLUDES) -c $${file}; \
  2440. +         if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
  2441. +         $(AR) $(AR_FLAGS) tmplibbm020gcc.a $${name}.o; \
  2442. +         rm -f $${name}.[so]; \
  2443. +       else true; \
  2444. +       fi; \
  2445. +     done
  2446. +     -if $(RANLIB_TEST) ; then $(RANLIB) tmplibbm020gcc.a; else true; fi
  2447. +     -if [ -d libb ] ; then true ; else mkdir libb ; fi
  2448. +     -if [ -d libb/libm020 ] ; then true ; else mkdir libb/libm020 ; fi
  2449. +     mv tmplibbm020gcc.a libb/libm020/libgcc.a
  2450. + install-libbm020gcc: libb/libm020/libgcc.a install-dir
  2451. +     -if [ -d $(libsubdir)/libb/libm020 ] ; then true ; else mkdir $(libsubdir)/libb/libm020 ; fi
  2452. +     -if [ -f libb/libm020/libgcc.a ] ; then \
  2453. +       rm -f $(libsubdir)/libb/libm020/libgcc.a; \
  2454. +       $(INSTALL_DATA) libb/libm020/libgcc.a $(libsubdir)/libb/libm020/libgcc.a; \
  2455. +       if $(RANLIB_TEST) ; then \
  2456. +         (cd $(libsubdir)/libb/libm020; $(RANLIB) libgcc.a); else true; fi; \
  2457. +       chmod a-x $(libsubdir)/libb/libm020/libgcc.a; \
  2458. +     else true; fi
  2459. + # PhB:
  2460. + # toplev.o target need to define additional flags to handle stack
  2461. + # allocation in real main. As for now we hack building of toplev.o
  2462. + # defining MAYBE_USE_COLLECT2 flag, which is only used for toplev.o.
  2463. + # Then we define EXTRA_OBJS to amigasup.o.
  2464. + MAYBE_USE_COLLECT2= -Dmain=stkmain -Dexit=stkexit
  2465. + EXTRA_OBJS = amigasup.o
  2466. + # The default gcc (xgcc) is built without -DAMIGADOS_FORK_GCC. This gcc (xgccv)
  2467. + # is built with AMIGADOS_FORK_GCC defined, so that it can use '-pipe'.  We
  2468. + # don't want to define EXTRA_PASSES to xgccv because that will cause xgccv
  2469. + # to be installed in $(libsubdir), so instead we use the default GCC_PASSES
  2470. + # and add xgccv to it.
  2471. + GCC_PASSES = xgcc xgccv cc1 cpp $(EXTRA_PASSES)
  2472. + xgccv: xgccv.o version.o $(LIBDEPS)
  2473. +     $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o xgccv xgccv.o version.o $(LIBS)
  2474. + xgccv.o: gcc.c $(CONFIG_H) config.status
  2475. +     $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
  2476. +   -DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \
  2477. +   -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \
  2478. +   -DDEFAULT_TARGET_VERSION=\"$(version)\" \
  2479. +   -DDEFAULT_TARGET_MACHINE=\"$(target)\" \
  2480. +   -DTOOLDIR_BASE_PREFIX=\"$(exec_prefix)/\" \
  2481. +   -DAMIGADOS_FORK_GCC \
  2482. +   -c `echo $(srcdir)/gcc.c | sed 's,^\./,,'` -o xgccv.o
  2483. + install-gccv: xgccv
  2484. +     rm -f $(bindir)/gccv
  2485. +     $(INSTALL_PROGRAM) xgccv $(bindir)/gccv
  2486. + # When making one of the stage<N> dirs, we need to make subdirs for
  2487. + # additional libraries, and copy them there. base-relative libraries
  2488. + # and accelerated libraries are preserved through stages.
  2489. + EXTRA_STAGE1_TARGETS = stage1-libamiga
  2490. + EXTRA_STAGE2_TARGETS = stage2-libamiga
  2491. + EXTRA_STAGE3_TARGETS = stage3-libamiga
  2492. + EXTRA_STAGE4_TARGETW = stage4-libamiga
  2493. + stage1-libamiga:
  2494. +     -if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
  2495. +     -if [ -d stage1/libb ] ; then true ; else mkdir stage1/libb ; fi
  2496. +     -if [ -d stage1/libb/libm020 ] ; then true ; else mkdir stage1/libb/libm020 ; fi
  2497. +     -if [ -d stage1/libm020 ] ; then true ; else mkdir stage1/libm020 ; fi
  2498. +     -cp libb/libgcc.a stage1/libb/libgcc.a
  2499. +     -cp libb/libm020/libgcc.a stage1/libb/libm020/libgcc.a
  2500. +     -cp libm020/libgcc.a stage1/libm020/libgcc.a
  2501. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage1/libb/libgcc.i; else true; fi
  2502. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage1/libb/libm020/libgcc.a; else true; fi
  2503. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage1/libm020/libgcc.a; else true; fi
  2504. + stage2-libamiga:
  2505. +     -if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
  2506. +     -if [ -d stage2/libb ] ; then true ; else mkdir stage2/libb ; fi
  2507. +     -if [ -d stage2/libb/libm020 ] ; then true ; else mkdir stage2/libb/libm020 ; fi
  2508. +     -if [ -d stage2/libm020 ] ; then true ; else mkdir stage2/libm020 ; fi
  2509. +     -cp libb/libgcc.a stage2/libb/libgcc.a
  2510. +     -cp libb/libm020/libgcc.a stage2/libb/libm020/libgcc.a
  2511. +     -cp libm020/libgcc.a stage2/libm020/libgcc.a
  2512. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage2/libb/libgcc.a; else true; fi
  2513. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage2/libb/libm020/libgcc.a; else true; fi
  2514. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage2/libm020/libgcc.a; else true; fi
  2515. + stage3-libamiga:
  2516. +     -if [ -d stage3 ] ; then true ; else mkdir stage3 ; fi
  2517. +     -if [ -d stage3/libb ] ; then true ; else mkdir stage3/libb ; fi
  2518. +     -if [ -d stage3/libb/libm020 ] ; then true ; else mkdir stage3/libb/libm020 ; fi
  2519. +     -if [ -d stage3/libm020 ] ; then true ; else mkdir stage3/libm020 ; fi
  2520. +     -cp libb/libgcc.a stage3/libb/libgcc.a
  2521. +     -cp libb/libm020/libgcc.a stage3/libb/libm020/libgcc.a
  2522. +     -cp libm020/libgcc.a stage3/libm020/libgcc.a
  2523. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage3/libb/libgcc.a; else true; fi
  2524. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage3/libb/libm020/libgcc.a; else true; fi
  2525. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage3/libm020/libgcc.a; else true; fi
  2526. + stage4-libamiga:
  2527. +     -if [ -d stage4 ] ; then true ; else mkdir stage4 ; fi
  2528. +     -if [ -d stage4/libb ] ; then true ; else mkdir stage4/libb ; fi
  2529. +     -if [ -d stage4/libb/libm020 ] ; then true ; else mkdir stage4/libb/libm020 ; fi
  2530. +     -if [ -d stage4/libm020 ] ; then true ; else mkdir stage4/libm020 ; fi
  2531. +     -cp libb/libgcc.a stage4/libb/libgcc.a
  2532. +     -cp libb/libm020/libgcc.a stage4/libb/libm020/libgcc.a
  2533. +     -cp libm020/libgcc.a stage4/libm020/libgcc.a
  2534. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage4/libb/libgcc.a; else true; fi
  2535. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage4/libb/libm020/libgcc.a; else true; fi
  2536. +     -if $(RANLIB_TEST) ; then $(RANLIB) stage4/libm020/libgcc.a; else true; fi
  2537. diff -rc --new-file gnat-2.00/config/m68k/x-amigados /gnu/src/amiga/gnat-2.00/config/m68k/x-amigados
  2538. *** gnat-2.00/config/m68k/x-amigados    Thu Jan  1 00:00:00 1970
  2539. --- /gnu/src/amiga/gnat-2.00/config/m68k/x-amigados    Sun Jan 15 15:42:12 1995
  2540. ***************
  2541. *** 0 ****
  2542. --- 1,52 ----
  2543. + # Note: It doesn't do any good to try to define prefix or local_prefix
  2544. + # in the host overrides because configure will just change them back.
  2545. + # You either have to give an appropriate option to configure or live with
  2546. + # an Amiga specific patch to configure.  See the note in configure.  -fnf
  2547. + # Building under amigados almost certainly requires an already working gcc.
  2548. + # Use gccv, which is a gcc compiled with AMIGADOS_FORK_GCC so "-pipe" will
  2549. + # work and get exercised.  To bootstrap with the regular gcc just do
  2550. + # "make CC=gcc".  To bootstrap without "-pipe" do "make PIPE=".
  2551. + CC = gccv $(PIPE)
  2552. + # Disable -pipe for now since I had problems bootstrapping gcc 2.5.5 with
  2553. + # it. (fnf)
  2554. + #PIPE = -pipe
  2555. + # Allow the user to override the default host optimization with gcc, or if the
  2556. + # host compiler is not gcc and doesn't understand -O<N>.
  2557. + X_OPTIMIZE = -O2
  2558. + # The standard additional host flags for the compiler.
  2559. + X_CFLAGS = $(X_OPTIMIZE)
  2560. + # Man pages get a wierd suffix...
  2561. + manext = .0
  2562. + # We really shouldn't specify CFLAGS from here, but there's no other way
  2563. + # to get rid of the `-g' indoctrinated by Makefile.in.  Note this becomes
  2564. + # part of both the host compilation CFLAGS and the target compilation
  2565. + # CFLAGS.
  2566. + CFLAGS =
  2567. + # Ranlib does exist, but may not be in a path where the default RANLIB_TEST
  2568. + # expects it, so just force it to true.
  2569. + RANLIB_TEST = true
  2570. + # Until we can make sure no cross-device hardlinks are tried, and until
  2571. + # symlinks can be made in canonical amigados format (dev:path/file), just
  2572. + # use copy with timestamp preservation.  This only wastes some disk space
  2573. + # and means you have to reconfigure if you change any of the files that
  2574. + # would normally be linked to.  -fnf
  2575. + HARDLINK = cp -p
  2576. + SYMLINK = cp -p
  2577. + # Build supplimentary Amiga host support file.
  2578. + amigasup.o: amigasup.c
  2579. diff -rc --new-file gnat-2.00/config/m68k/xm-amigados.h /gnu/src/amiga/gnat-2.00/config/m68k/xm-amigados.h
  2580. *** gnat-2.00/config/m68k/xm-amigados.h    Thu Jan  1 00:00:00 1970
  2581. --- /gnu/src/amiga/gnat-2.00/config/m68k/xm-amigados.h    Sat Dec  3 15:02:07 1994
  2582. ***************
  2583. *** 0 ****
  2584. --- 1,218 ----
  2585. + /* Configuration for GNU C-compiler for Commodore Amiga, running AmigaDOS.
  2586. +    Copyright (C) 1992 Free Software Foundation, Inc.
  2587. +    Contributed by Markus M. Wild (wild@amiga.physik.unizh.ch).
  2588. + This file is part of GNU CC.
  2589. + GNU CC is free software; you can redistribute it and/or modify
  2590. + it under the terms of the GNU General Public License as published by
  2591. + the Free Software Foundation; either version 2, or (at your option)
  2592. + any later version.
  2593. + GNU CC is distributed in the hope that it will be useful,
  2594. + but WITHOUT ANY WARRANTY; without even the implied warranty of
  2595. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2596. + GNU General Public License for more details.
  2597. + You should have received a copy of the GNU General Public License
  2598. + along with GNU CC; see the file COPYING.  If not, write to
  2599. + the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  2600. + /* first include the generic header, then modify some parts.. */
  2601. + #include "m68k/xm-m68k.h"
  2602. + /* Amiga specific headers, such as from the Native Developer Update kits,
  2603. +    go in SYSTEM_INCLUDE_DIR.  STANDARD_INCLUDE_DIR is the equivalent of
  2604. +    Unix "/usr/include".  All other include paths are set in Makefile. */
  2605. + #define SYSTEM_INCLUDE_DIR    "/gnu/os-include"
  2606. + #define STANDARD_INCLUDE_DIR    "/gnu/include"
  2607. + /* Fork one piped subcommand.  SEARCH_FLAG is the system call to use
  2608. +    (either execv or execvp).  ARGV is the arg vector to use.
  2609. +    NOT_LAST is nonzero if this is not the last subcommand
  2610. +    (i.e. its output should be piped to the next one.)  */
  2611. + #ifndef AMIGADOS_FORK_GCC
  2612. + /* This version uses a more or less amigados-conformant way of running a
  2613. +    program (in the context of the parent). If you want to use -pipe however,
  2614. +    you'll have to use the vfork() version afterwards.
  2615. +    Phil.B: 29-May-94 quick hack (number 20 added to length) because xgcc
  2616. +    doesn't work.
  2617. +  */
  2618. + #define PEXECUTE(SEARCH_FLAG,PROGRAM,ARGV,NOT_LAST) \
  2619. + ({char *_argline;                        \
  2620. +   int _arglinelength, _i;                    \
  2621. +                                 \
  2622. +   for (_i = 1, _arglinelength=0; ARGV[_i]; ++_i)        \
  2623. +     _arglinelength += strlen(ARGV[_i]) + 1;            \
  2624. +                                 \
  2625. +   _arglinelength += strlen(PROGRAM) + 20 + 1;            \
  2626. +                                 \
  2627. +   if (!(_argline = (char *)alloca(_arglinelength)))         \
  2628. +     pfatal_with_name ("alloca");                \
  2629. +                                 \
  2630. +   strcpy(_argline, PROGRAM);                    \
  2631. +   for (_i = 1; ARGV[_i]; ++_i)                     \
  2632. +     {                                \
  2633. +       strcat(_argline, " ");                    \
  2634. +       strcat(_argline, ARGV[_i]);                \
  2635. +     }                                \
  2636. +                                 \
  2637. +   ssystem(_argline); })                        \
  2638. + #define PEXECUTE_RESULT(STATUS, COMMAND) \
  2639. +   ({ STATUS = COMMAND.pid; })
  2640. + #else
  2641. + /* the vfork() version. This one has the drawback, that gcc is not 
  2642. +    interruptible when started from make, since ixemul.library doesn't yet
  2643. +    propagate ^C to subprocesses. */
  2644. + #define PEXECUTE(SEARCH_FLAG,PROGRAM,ARGV,NOT_LAST) \
  2645. + ({int (*_func)() = (SEARCH_FLAG ? execv : execvp);            \
  2646. +   int _pid;                                \
  2647. +   int _pdes[2];                                \
  2648. +   int _input_desc = last_pipe_input;                    \
  2649. +   int _output_desc = STDOUT_FILE_NO;                    \
  2650. +   int _retries, _sleep_interval, _result;                \
  2651. +                                     \
  2652. +   /* If this isn't the last process, make a pipe for its output,    \
  2653. +      and record it as waiting to be the input to the next process.  */    \
  2654. +                                     \
  2655. +   if (NOT_LAST)                                \
  2656. +     {                                    \
  2657. +       if (pipe (_pdes) < 0)                        \
  2658. +     pfatal_with_name ("pipe");                    \
  2659. +       _output_desc = _pdes[WRITE_PORT];                    \
  2660. +       last_pipe_input = _pdes[READ_PORT];                \
  2661. +     }                                    \
  2662. +   else                                    \
  2663. +     last_pipe_input = STDIN_FILE_NO;                    \
  2664. +                                     \
  2665. +   /* Fork a subprocess; wait and retry if it fails.  */            \
  2666. +   _sleep_interval = 1;                            \
  2667. +   for (_retries = 0; _retries < 4; _retries++)                \
  2668. +     {                                    \
  2669. +       _pid = vfork ();                            \
  2670. +       if (_pid >= 0)                            \
  2671. +     break;                                \
  2672. +       sleep (_sleep_interval);                        \
  2673. +       _sleep_interval *= 2;                        \
  2674. +     }                                    \
  2675. +                                     \
  2676. +   switch (_pid)                                \
  2677. +     {                                    \
  2678. +     case -1:                                \
  2679. +       pfatal_with_name ("vfork");                    \
  2680. +       /* NOTREACHED */                            \
  2681. +       _result = 0;                            \
  2682. +       break;                                \
  2683. +                                     \
  2684. +     case 0: /* child */                            \
  2685. +       /* Move the input and output pipes into place, if nec.  */    \
  2686. +       if (_input_desc != STDIN_FILE_NO)                    \
  2687. +     {                                \
  2688. +       close (STDIN_FILE_NO);                    \
  2689. +       dup (_input_desc);                        \
  2690. +       close (_input_desc);                        \
  2691. +     }                                \
  2692. +       if (_output_desc != STDOUT_FILE_NO)                \
  2693. +     {                                \
  2694. +       close (STDOUT_FILE_NO);                    \
  2695. +       dup (_output_desc);                        \
  2696. +       close (_output_desc);                        \
  2697. +     }                                \
  2698. +                                     \
  2699. +       /* Close the parent's descs that aren't wanted here.  */        \
  2700. +       if (last_pipe_input != STDIN_FILE_NO)                \
  2701. +     close (last_pipe_input);                    \
  2702. +                                     \
  2703. +       /* Exec the program.  */                        \
  2704. +       (*_func) (PROGRAM, ARGV);                        \
  2705. +       perror_exec (PROGRAM);                        \
  2706. +       exit (-1);                            \
  2707. +       /* NOTREACHED */                            \
  2708. +       _result = 0;                            \
  2709. +       break;                                \
  2710. +                                     \
  2711. +     default:                                \
  2712. +       /* In the parent, after forking.                    \
  2713. +      Close the descriptors that we made for this child.  */        \
  2714. +       if (_input_desc != STDIN_FILE_NO)                    \
  2715. +     close (_input_desc);                        \
  2716. +       if (_output_desc != STDOUT_FILE_NO)                \
  2717. +     close (_output_desc);                        \
  2718. +                                     \
  2719. +       /* Return child's process number.  */                \
  2720. +       _result = _pid;                            \
  2721. +       break;                                \
  2722. +     }                                     \
  2723. + _result; })                                \
  2724. + #define PEXECUTE_RESULT(STATUS, COMMAND) \
  2725. +   ({ wait (& STATUS); })
  2726. + #endif /* AMIGADOS_FORK_GCC */
  2727. + /* the following macros are stolen more or less from xm-vms.h ... */
  2728. + /* This macro is used to help compare filenames in cp-lex.c.
  2729. +    We also need to make sure that the names are all lower case, because
  2730. +    we must be able to compare filenames to determine if a file implements
  2731. +    a class.  */
  2732. + #define FILE_NAME_NONDIRECTORY(C)                \
  2733. + ({                                \
  2734. +    extern char *rindex();                    \
  2735. +    char * pnt_ = (C), * pnt1_;                    \
  2736. +    pnt1_ = pnt_ - 1;                        \
  2737. +    while (*++pnt1_)                        \
  2738. +      if ((*pnt1_ >= 'A' && *pnt1_ <= 'Z')) *pnt1_ |= 0x20;    \
  2739. +    pnt1_ = rindex (pnt_, '/');                     \
  2740. +    pnt1_ = (pnt1_ == 0 ? rindex (pnt_, ':') : pnt1_);        \
  2741. +    (pnt1_ == 0 ? pnt_ : pnt1_ + 1);                \
  2742. +  })
  2743. + /* Macro to generate the name of the cross reference file.  The standard
  2744. +    one does not work, since it was written assuming that the conventions
  2745. +    of a unix style filesystem will work on the host system.
  2746. +  
  2747. +    Contrary to VMS, I'm using the original unix filename, there's no reason
  2748. +    not to use this under AmigaDOS. */
  2749. + #define XREF_FILE_NAME(BUFF, NAME)    \
  2750. +   s = FILE_NAME_NONDIRECTORY (NAME);            \
  2751. +   if (s == NAME) sprintf(BUFF, ".%s.gxref", NAME);    \
  2752. +   else {                        \
  2753. +     unsigned char ch = *s; /* could be Latin1 char.. */    \
  2754. +     /* temporary: cut the filename from the directory */\
  2755. +     *s = 0;                        \
  2756. +     sprintf (BUFF, "%s.%c%s.gxref", NAME, ch, s+1);    \
  2757. +     /* and restore the filename */            \
  2758. +     *s = ch;                        \
  2759. +   }                            \
  2760. + /* Macro that is used in cp-xref.c to determine whether a file name is
  2761. +    absolute or not.
  2762. +    This checks for both, '/' as first character, since we're running under
  2763. +    ixemul.library which provides for this unix'ism, and for the usual 
  2764. +    logical-terminator, ':', somewhere in the filename. */
  2765. + #define FILE_NAME_ABSOLUTE_P(NAME) (NAME[0] == '/' || index(NAME, ':'))
  2766. + /* the colon conflicts with the name space of logicals */
  2767. + #define PATH_SEPARATOR ','
  2768. + /* AmigaDOS handles rename(2) *much* better than any link(2)/unlink(2)
  2769. +    hacks. It's actually the inverse case as on Unix. rename(2) was always
  2770. +    there, link(2) is new with OS 2.0 */
  2771. + #define HAVE_rename 1
  2772. diff -rc --new-file gnat-2.00/configure /gnu/src/amiga/gnat-2.00/configure
  2773. *** gnat-2.00/configure    Wed Nov 23 22:26:26 1994
  2774. --- /gnu/src/amiga/gnat-2.00/configure    Fri Jan 13 16:08:53 1995
  2775. ***************
  2776. *** 4,9 ****
  2777. --- 4,13 ----
  2778.   
  2779.   #This file is part of GNU CC.
  2780.   
  2781. + # AmigaDOS Notes:  Where "echo" can be invoked with a first arg that
  2782. + # starts with '-', run the external echo instead, since the pdksh builtin
  2783. + # version botches this case.
  2784.   #GNU CC is free software; you can redistribute it and/or modify
  2785.   #it under the terms of the GNU General Public License as published by
  2786.   #the Free Software Foundation; either version 2, or (at your option)
  2787. ***************
  2788. *** 46,53 ****
  2789.   
  2790.   # Default --srcdir to the directory where the script is found, 
  2791.   # if a directory was specified.
  2792. ! # The second sed call is to convert `.//configure' to `./configure'.
  2793. ! srcdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`
  2794.   if [ x$srcdir = x$0 ]
  2795.   then
  2796.   srcdir=
  2797. --- 50,59 ----
  2798.   
  2799.   # Default --srcdir to the directory where the script is found, 
  2800.   # if a directory was specified.
  2801. ! # The first sed call works around a bug in the AmigaDOS port of sksh, where
  2802. ! # $0 has a trailing slash appended to it.  It is a NOP for other systems.
  2803. ! # The third sed call is to convert `.//configure' to `./configure'.
  2804. ! srcdir=`echo $0 | sed 's|/$||' | sed 's|//|/|' | sed 's|/[^/]*$||'`
  2805.   if [ x$srcdir = x$0 ]
  2806.   then
  2807.   srcdir=
  2808. ***************
  2809. *** 55,70 ****
  2810.   
  2811.   host=
  2812.   
  2813. ! # Default prefix to /usr/local.
  2814. ! prefix=/usr/local
  2815.   
  2816. ! # local_prefix specifies where to find the directory /usr/local/include
  2817.   # We don't use $(prefix) for this
  2818. ! # because we always want GCC to search /usr/local/include
  2819. ! # even if GCC is installed somewhere other than /usr/local.
  2820.   # Think THREE TIMES before specifying any other value for this!
  2821.   # DO NOT make this use $prefix!
  2822. ! local_prefix=/usr/local
  2823.   # Default is to let the Makefile set exec_prefix from $(prefix)
  2824.   exec_prefix='$(prefix)'
  2825.   #
  2826. --- 61,86 ----
  2827.   
  2828.   host=
  2829.   
  2830. ! # Note:  For AmigaDOS we want this to default to /gnu unless we specify
  2831. ! # otherwise to configure.  We also don't want to have to remember to always
  2832. ! # configure with "--prefix=/gnu".  Changing it in Makefile.in or in
  2833. ! # config/m68k/x-amigados is ineffective since configure will always change
  2834. ! # it back in the final generated Makefile, so we have to go to the root of
  2835. ! # the problem, which is here.  There should be a way to do this in the
  2836. ! # individual machine configuration files!  -fnf
  2837. ! # here.  -fnf
  2838. ! # Default prefix to "/gnu".
  2839. ! prefix=/gnu
  2840.   
  2841. ! # local_prefix specifies where to find the directory /gnu/local/include
  2842.   # We don't use $(prefix) for this
  2843. ! # because we always want GCC to search /gnu/local/include
  2844. ! # even if GCC is installed somewhere other than /gnu/local.
  2845.   # Think THREE TIMES before specifying any other value for this!
  2846.   # DO NOT make this use $prefix!
  2847. ! # Note:  See AmigaDOS note above for this AmigaDOS specific change.  -fnf
  2848. ! # NoteII:We don't want to have yet-another-assign so we use /gnu/local
  2849. ! local_prefix=/gnu/local
  2850.   # Default is to let the Makefile set exec_prefix from $(prefix)
  2851.   exec_prefix='$(prefix)'
  2852.   #
  2853. ***************
  2854. *** 72,79 ****
  2855.   gxx_include_dir='$(libdir)/g++-include'
  2856.   
  2857.   remove=rm
  2858. ! hard_link=ln
  2859. ! symbolic_link='ln -s'
  2860.   copy=cp
  2861.   
  2862.   # Record all the arguments, to write them in config.status.
  2863. --- 88,100 ----
  2864.   gxx_include_dir='$(libdir)/g++-include'
  2865.   
  2866.   remove=rm
  2867. ! # AmigaDOS specific change.  Although we support symbolic links using
  2868. ! # the GNU tools, they need to be made using the syntax "somewhere:foo/bar"
  2869. ! # and not "/somewhere/foo/bar", since they must be in standard AmigaDOS
  2870. ! # format.  This should probably be done by having GNU ln translate paths
  2871. ! # that start with '/' to canonical AmigaDOS device:name form.
  2872. ! hard_link=cp
  2873. ! symbolic_link=cp
  2874.   copy=cp
  2875.   
  2876.   # Record all the arguments, to write them in config.status.
  2877. ***************
  2878. *** 141,171 ****
  2879.       next_arg=--srcdir
  2880.       ;;
  2881.        -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
  2882. !     srcdir=`echo $arg | sed 's/-*s[a-z]*=//'`
  2883.       ;;
  2884.        -host | --host | --hos | --ho)
  2885.       next_arg=--host
  2886.       ;;
  2887.        -host=* | --host=* | --hos=* | --ho=*)
  2888. !     host=`echo $arg | sed 's/-*h[a-z]*=//'`
  2889.       ;; 
  2890.        -target | --target | --targe | --targ | --tar | --ta | --t)
  2891.       next_arg=--target
  2892.       ;;
  2893.        -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
  2894. !     target=`echo $arg | sed 's/-*t[a-z]*=//'`
  2895.       ;; 
  2896.        -build | --build | --buil | --bui | --bu | --b)
  2897.       next_arg=--build
  2898.       ;;
  2899.        -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
  2900. !     build=`echo $arg | sed 's/-*b[a-z]*=//'`
  2901.       ;; 
  2902.        -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  2903.       next_arg=--prefix
  2904.       ;;
  2905.        -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  2906. !     prefix=`echo $arg | sed 's/-*p[a-z]*=//'`
  2907.       ;;
  2908.        -local-prefix | --local-prefix | --local-prefi | --local-pref | --local-pre \
  2909.       | --local-pr | --local-p | --local- | --local | --loc | --lo | --l)
  2910. --- 162,192 ----
  2911.       next_arg=--srcdir
  2912.       ;;
  2913.        -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
  2914. !     srcdir=`/bin/echo $arg | sed 's/-*s[a-z]*=//'`
  2915.       ;;
  2916.        -host | --host | --hos | --ho)
  2917.       next_arg=--host
  2918.       ;;
  2919.        -host=* | --host=* | --hos=* | --ho=*)
  2920. !     host=`/bin/echo $arg | sed 's/-*h[a-z]*=//'`
  2921.       ;; 
  2922.        -target | --target | --targe | --targ | --tar | --ta | --t)
  2923.       next_arg=--target
  2924.       ;;
  2925.        -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
  2926. !     target=`/bin/echo $arg | sed 's/-*t[a-z]*=//'`
  2927.       ;; 
  2928.        -build | --build | --buil | --bui | --bu | --b)
  2929.       next_arg=--build
  2930.       ;;
  2931.        -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
  2932. !     build=`/bin/echo $arg | sed 's/-*b[a-z]*=//'`
  2933.       ;; 
  2934.        -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  2935.       next_arg=--prefix
  2936.       ;;
  2937.        -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  2938. !     prefix=`/bin/echo $arg | sed 's/-*p[a-z]*=//'`
  2939.       ;;
  2940.        -local-prefix | --local-prefix | --local-prefi | --local-pref | --local-pre \
  2941.       | --local-pr | --local-p | --local- | --local | --loc | --lo | --l)
  2942. ***************
  2943. *** 174,180 ****
  2944.        -local-prefix=* | --local-prefix=* | --local-prefi=* | --local-pref=* \
  2945.       | --local-pre=* | --local-pr=* | --local-p=* | --local-=* | --local=* \
  2946.       | --loc=* | --lo=* | --l=*)
  2947. !     local_prefix=`echo $arg | sed 's/-*l[-a-z]*=//'`
  2948.       ;;
  2949.        -gxx-include-dir | --gxx-include-dir | --gxx-include \
  2950.       | --gxx-incl | --gxx-inc | --gxx-in | --gxx-i | --gxx- \
  2951. --- 195,201 ----
  2952.        -local-prefix=* | --local-prefix=* | --local-prefi=* | --local-pref=* \
  2953.       | --local-pre=* | --local-pr=* | --local-p=* | --local-=* | --local=* \
  2954.       | --loc=* | --lo=* | --l=*)
  2955. !     local_prefix=`/bin/echo $arg | sed 's/-*l[-a-z]*=//'`
  2956.       ;;
  2957.        -gxx-include-dir | --gxx-include-dir | --gxx-include \
  2958.       | --gxx-incl | --gxx-inc | --gxx-in | --gxx-i | --gxx- \
  2959. ***************
  2960. *** 184,190 ****
  2961.        -gxx-include-dir=* | --gxx-include-dir=* | --gxx-include=* \
  2962.       | --gxx-incl=* | --gxx-inc=* | --gxx-in=* | --gxx-i=* \
  2963.       | --gxx-=* | --gxx=* | --gxx=* | --gxx=* | --g=*)
  2964. !     gxx_include_dir=`echo $arg | sed 's/-*g[-a-z]*=//'`
  2965.       ;;
  2966.        -exec-prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre \
  2967.       | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
  2968. --- 205,211 ----
  2969.        -gxx-include-dir=* | --gxx-include-dir=* | --gxx-include=* \
  2970.       | --gxx-incl=* | --gxx-inc=* | --gxx-in=* | --gxx-i=* \
  2971.       | --gxx-=* | --gxx=* | --gxx=* | --gxx=* | --g=*)
  2972. !     gxx_include_dir=`/bin/echo $arg | sed 's/-*g[-a-z]*=//'`
  2973.       ;;
  2974.        -exec-prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre \
  2975.       | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
  2976. ***************
  2977. *** 193,199 ****
  2978.        -exec-prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* \
  2979.       | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* \
  2980.       | --exe=* | --ex=* | --e=*)
  2981. !     exec_prefix=`echo $arg | sed 's/-*e[-a-z]*=//'`
  2982.       ;;
  2983.        -with-gnu-ld | --with-gnu-ld | --with-gnu-l)
  2984.       gnu_ld=yes
  2985. --- 214,220 ----
  2986.        -exec-prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* \
  2987.       | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* \
  2988.       | --exe=* | --ex=* | --e=*)
  2989. !     exec_prefix=`/bin/echo $arg | sed 's/-*e[-a-z]*=//'`
  2990.       ;;
  2991.        -with-gnu-ld | --with-gnu-ld | --with-gnu-l)
  2992.       gnu_ld=yes
  2993. ***************
  2994. *** 389,395 ****
  2995.       use_collect2=
  2996.       # Set this to override the default target model.
  2997.       target_cpu_default=
  2998. !     # Set this to force use of install.sh.
  2999.       broken_install=
  3000.       # Set this to control which fixincludes program to use.
  3001.       fixincludes=fixincludes
  3002. --- 410,417 ----
  3003.       use_collect2=
  3004.       # Set this to override the default target model.
  3005.       target_cpu_default=
  3006. !     # Set this to force use of install.sh (if set to 'yes')
  3007. !     # Set to name of installer to use a custom installer.
  3008.       broken_install=
  3009.       # Set this to control which fixincludes program to use.
  3010.       fixincludes=fixincludes
  3011. ***************
  3012. *** 1097,1102 ****
  3013. --- 1119,1134 ----
  3014.           use_collect2=yes
  3015.           header_files=math-68881.h
  3016.           ;;
  3017. +     m68k-*-amigados)
  3018. +         xm_file=m68k/xm-amigados.h
  3019. +         out_file=m68k/amigados.c
  3020. +         tm_file=m68k/amigados.h
  3021. +         tmake_file=m68k/t-amigados
  3022. +         xmake_file=m68k/x-amigados
  3023. +         fixincludes=Makefile.in # Headers are already fixed.
  3024. +         broken_install=cp
  3025. +         install_headers_dir=install-headers-cp
  3026. +         ;;
  3027.       m68k-cbm-sysv4*)        # Commodore variant of V.4.
  3028.           tm_file=m68k/amix.h
  3029.           xm_file=m68k/xm-amix.h
  3030. ***************
  3031. *** 2116,2123 ****
  3032.       then true
  3033.       else
  3034.           rm -f Makefile.xx
  3035. !         abssrcdir=`cd ${srcdir}; pwd`
  3036. !         sed "s|^INSTALL = .*|INSTALL = ${abssrcdir}/install.sh -c|" Makefile.tem > Makefile.xx
  3037.           rm -f Makefile.tem
  3038.           mv Makefile.xx Makefile.tem
  3039.       fi
  3040. --- 2148,2161 ----
  3041.       then true
  3042.       else
  3043.           rm -f Makefile.xx
  3044. !          if [ x$host_broken_install = xyes ]
  3045. !          then
  3046. !              abssrcdir=`cd ${srcdir}; pwd`
  3047. !              installer="${abssrcdir}/install.sh -c"
  3048. !          else
  3049. !              installer=$host_broken_install
  3050. !          fi
  3051. !          sed "s|^INSTALL = .*|INSTALL = ${installer}|" Makefile.tem > Makefile.xx
  3052.           rm -f Makefile.tem
  3053.           mv Makefile.xx Makefile.tem
  3054.       fi
  3055. ***************
  3056. *** 2336,2345 ****
  3057.           rm -f symtest.tem
  3058.           if $symbolic_link symtest1.tem symtest.tem 2>/dev/null
  3059.           then
  3060. !             sed -e 's,CC=set-by-configure,CC=$(CC),' \
  3061.                   Makefile.tem > Makefile.xx
  3062.           else
  3063. !             sed -e "s,CC=set-by-configure,CC=\`case '$(CC)' in stage*) echo '$(CC)' | sed -e 's|stage|../stage|g';; *) echo '$(CC)';; esac\`," \
  3064.                   Makefile.tem > Makefile.xx
  3065.           fi
  3066.           rm -f Makefile.tem
  3067. --- 2374,2383 ----
  3068.           rm -f symtest.tem
  3069.           if $symbolic_link symtest1.tem symtest.tem 2>/dev/null
  3070.           then
  3071. !             sed -e 's,CC=set-by-configure,CC=\$(CC),' \
  3072.                   Makefile.tem > Makefile.xx
  3073.           else
  3074. !             sed -e "s,CC=set-by-configure,CC=\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`," \
  3075.                   Makefile.tem > Makefile.xx
  3076.           fi
  3077.           rm -f Makefile.tem
  3078. diff -rc --new-file gnat-2.00/cp/parse.c /gnu/src/amiga/gnat-2.00/cp/parse.c
  3079. *** gnat-2.00/cp/parse.c    Fri Oct 14 18:51:22 1994
  3080. --- /gnu/src/amiga/gnat-2.00/cp/parse.c    Thu Dec 22 21:42:55 1994
  3081. ***************
  3082. *** 184,196 ****
  3083.   
  3084.   #ifndef __cplusplus
  3085.   #ifndef __STDC__
  3086.   #define const
  3087.   #endif
  3088.   #endif
  3089.   
  3090.   
  3091.   
  3092. ! #define    YYFINAL        1356
  3093.   #define    YYFLAG        -32768
  3094.   #define    YYNTBASE    106
  3095.   
  3096. --- 184,198 ----
  3097.   
  3098.   #ifndef __cplusplus
  3099.   #ifndef __STDC__
  3100. + #ifndef const
  3101.   #define const
  3102.   #endif
  3103.   #endif
  3104. + #endif
  3105.   
  3106.   
  3107.   
  3108. ! #define    YYFINAL        1350
  3109.   #define    YYFLAG        -32768
  3110.   #define    YYNTBASE    106
  3111.   
  3112. ***************
  3113. *** 257,315 ****
  3114.      630,   635,   640,   642,   646,   650,   654,   658,   662,   666,
  3115.      670,   674,   678,   682,   686,   690,   694,   698,   702,   706,
  3116.      710,   714,   718,   724,   728,   732,   734,   737,   741,   743,
  3117. !    745,   747,   749,   751,   753,   755,   758,   761,   765,   767,
  3118. !    769,   771,   775,   777,   779,   781,   783,   787,   791,   792,
  3119. !    797,   798,   805,   808,   813,   816,   819,   821,   826,   828,
  3120. !    836,   844,   852,   860,   865,   870,   873,   876,   878,   883,
  3121. !    886,   889,   892,   898,   902,   908,   912,   917,   924,   926,
  3122. !    929,   931,   934,   936,   938,   940,   943,   944,   947,   950,
  3123. !    954,   958,   962,   966,   970,   973,   976,   978,   980,   982,
  3124. !    985,   988,   991,   994,   996,   998,  1000,  1002,  1005,  1008,
  3125. !   1012,  1016,  1021,  1023,  1026,  1029,  1031,  1033,  1036,  1039,
  3126. !   1041,  1044,  1047,  1051,  1053,  1056,  1058,  1060,  1062,  1067,
  3127. !   1072,  1077,  1082,  1084,  1086,  1088,  1090,  1094,  1096,  1100,
  3128. !   1102,  1106,  1107,  1112,  1113,  1121,  1126,  1127,  1135,  1140,
  3129. !   1141,  1149,  1154,  1155,  1163,  1168,  1169,  1171,  1173,  1176,
  3130. !   1183,  1185,  1189,  1190,  1192,  1197,  1204,  1209,  1211,  1213,
  3131. !   1215,  1217,  1219,  1223,  1225,  1228,  1232,  1237,  1239,  1241,
  3132. !   1245,  1250,  1257,  1261,  1267,  1268,  1276,  1281,  1282,  1289,
  3133. !   1293,  1296,  1299,  1304,  1306,  1307,  1309,  1310,  1312,  1314,
  3134. !   1317,  1320,  1323,  1326,  1330,  1333,  1336,  1339,  1343,  1347,
  3135. !   1349,  1352,  1353,  1354,  1358,  1362,  1365,  1367,  1369,  1370,
  3136. !   1372,  1375,  1377,  1381,  1383,  1386,  1388,  1393,  1398,  1400,
  3137. !   1402,  1405,  1408,  1410,  1411,  1413,  1418,  1422,  1424,  1427,
  3138. !   1430,  1433,  1436,  1439,  1442,  1445,  1448,  1453,  1456,  1458,
  3139. !   1464,  1468,  1469,  1471,  1475,  1476,  1478,  1482,  1484,  1486,
  3140. !   1488,  1490,  1495,  1502,  1507,  1512,  1519,  1524,  1528,  1533,
  3141. !   1540,  1545,  1550,  1557,  1562,  1566,  1568,  1572,  1574,  1578,
  3142. !   1581,  1583,  1590,  1591,  1594,  1596,  1599,  1600,  1603,  1607,
  3143. !   1611,  1614,  1617,  1621,  1623,  1625,  1627,  1630,  1636,  1642,
  3144. !   1646,  1652,  1657,  1661,  1665,  1668,  1670,  1674,  1678,  1681,
  3145. !   1684,  1688,  1690,  1694,  1698,  1701,  1704,  1708,  1710,  1716,
  3146. !   1722,  1726,  1732,  1736,  1741,  1745,  1748,  1751,  1753,  1756,
  3147. !   1761,  1766,  1769,  1771,  1773,  1775,  1778,  1781,  1784,  1786,
  3148. !   1789,  1791,  1794,  1797,  1801,  1803,  1807,  1810,  1814,  1817,
  3149. !   1820,  1824,  1826,  1830,  1835,  1839,  1842,  1845,  1847,  1851,
  3150. !   1854,  1857,  1859,  1862,  1866,  1868,  1872,  1874,  1880,  1884,
  3151. !   1889,  1893,  1898,  1901,  1904,  1908,  1911,  1913,  1915,  1918,
  3152. !   1921,  1924,  1925,  1926,  1928,  1930,  1933,  1937,  1939,  1942,
  3153. !   1946,  1952,  1959,  1965,  1966,  1967,  1974,  1976,  1979,  1981,
  3154. !   1983,  1985,  1988,  1989,  1994,  1996,  1997,  1998,  2005,  2006,
  3155. !   2007,  2015,  2016,  2017,  2018,  2029,  2030,  2031,  2032,  2043,
  3156. !   2044,  2052,  2053,  2059,  2060,  2068,  2069,  2074,  2077,  2080,
  3157. !   2083,  2087,  2094,  2103,  2114,  2127,  2132,  2136,  2139,  2142,
  3158. !   2144,  2146,  2147,  2148,  2156,  2158,  2161,  2164,  2165,  2166,
  3159. !   2172,  2174,  2176,  2180,  2184,  2187,  2190,  2193,  2197,  2202,
  3160. !   2207,  2211,  2216,  2223,  2230,  2231,  2233,  2234,  2236,  2238,
  3161. !   2239,  2241,  2243,  2247,  2252,  2254,  2258,  2259,  2261,  2263,
  3162. !   2265,  2268,  2271,  2274,  2276,  2278,  2281,  2284,  2287,  2290,
  3163. !   2292,  2296,  2299,  2302,  2307,  2310,  2313,  2316,  2319,  2322,
  3164. !   2325,  2327,  2330,  2332,  2336,  2338,  2340,  2341,  2342,  2344,
  3165. !   2345,  2350,  2352,  2354,  2358,  2359,  2363,  2367,  2371,  2373,
  3166. !   2376,  2379,  2382,  2385,  2388,  2391,  2394,  2397,  2400,  2403,
  3167. !   2406,  2409,  2412,  2415,  2418,  2421,  2424,  2427,  2430,  2433,
  3168. !   2436,  2439,  2442,  2446,  2449,  2452,  2455,  2458,  2462,  2465,
  3169. !   2468,  2473,  2478,  2482
  3170.   };
  3171.   
  3172.   static const short yyrhs[] = {    -1,
  3173. --- 259,317 ----
  3174.      630,   635,   640,   642,   646,   650,   654,   658,   662,   666,
  3175.      670,   674,   678,   682,   686,   690,   694,   698,   702,   706,
  3176.      710,   714,   718,   724,   728,   732,   734,   737,   741,   743,
  3177. !    745,   747,   749,   751,   753,   755,   758,   761,   763,   765,
  3178. !    767,   769,   771,   773,   775,   779,   783,   784,   789,   790,
  3179. !    797,   800,   805,   808,   811,   813,   818,   820,   828,   836,
  3180. !    844,   852,   857,   862,   865,   868,   870,   875,   878,   881,
  3181. !    884,   890,   894,   900,   904,   909,   916,   918,   921,   923,
  3182. !    926,   928,   930,   932,   935,   936,   939,   942,   946,   950,
  3183. !    954,   958,   962,   965,   968,   970,   972,   974,   977,   980,
  3184. !    983,   986,   988,   990,   992,   994,   997,  1000,  1004,  1008,
  3185. !   1013,  1015,  1018,  1021,  1023,  1025,  1028,  1031,  1033,  1036,
  3186. !   1039,  1043,  1045,  1048,  1050,  1052,  1054,  1059,  1064,  1069,
  3187. !   1074,  1076,  1078,  1080,  1082,  1086,  1088,  1092,  1094,  1098,
  3188. !   1099,  1104,  1105,  1113,  1118,  1119,  1127,  1132,  1133,  1141,
  3189. !   1146,  1147,  1155,  1160,  1161,  1163,  1165,  1168,  1175,  1177,
  3190. !   1181,  1182,  1184,  1189,  1196,  1201,  1203,  1205,  1207,  1209,
  3191. !   1211,  1215,  1217,  1220,  1224,  1229,  1231,  1233,  1237,  1242,
  3192. !   1249,  1253,  1259,  1260,  1268,  1273,  1274,  1281,  1285,  1288,
  3193. !   1291,  1296,  1298,  1299,  1301,  1302,  1304,  1306,  1309,  1312,
  3194. !   1315,  1318,  1322,  1325,  1328,  1331,  1335,  1339,  1341,  1344,
  3195. !   1345,  1346,  1350,  1354,  1357,  1359,  1361,  1362,  1364,  1367,
  3196. !   1369,  1373,  1375,  1378,  1380,  1385,  1390,  1392,  1394,  1397,
  3197. !   1400,  1402,  1403,  1405,  1410,  1414,  1416,  1419,  1422,  1425,
  3198. !   1428,  1431,  1434,  1437,  1440,  1445,  1448,  1450,  1456,  1460,
  3199. !   1461,  1463,  1467,  1468,  1470,  1474,  1476,  1478,  1480,  1482,
  3200. !   1487,  1494,  1499,  1504,  1511,  1516,  1520,  1525,  1532,  1537,
  3201. !   1542,  1549,  1554,  1558,  1560,  1564,  1566,  1570,  1573,  1575,
  3202. !   1582,  1583,  1586,  1588,  1591,  1592,  1595,  1599,  1603,  1606,
  3203. !   1609,  1613,  1615,  1617,  1619,  1622,  1628,  1634,  1638,  1644,
  3204. !   1649,  1653,  1657,  1660,  1662,  1666,  1670,  1673,  1676,  1680,
  3205. !   1682,  1686,  1690,  1693,  1696,  1700,  1702,  1708,  1714,  1718,
  3206. !   1724,  1728,  1732,  1737,  1741,  1744,  1747,  1749,  1752,  1757,
  3207. !   1762,  1765,  1767,  1769,  1771,  1774,  1777,  1780,  1782,  1785,
  3208. !   1787,  1790,  1793,  1797,  1799,  1803,  1806,  1810,  1813,  1816,
  3209. !   1820,  1822,  1826,  1831,  1835,  1838,  1841,  1843,  1847,  1850,
  3210. !   1853,  1855,  1858,  1862,  1864,  1868,  1870,  1876,  1880,  1885,
  3211. !   1889,  1894,  1897,  1900,  1904,  1907,  1909,  1911,  1914,  1917,
  3212. !   1920,  1921,  1922,  1924,  1926,  1929,  1933,  1935,  1938,  1942,
  3213. !   1948,  1955,  1961,  1962,  1963,  1970,  1972,  1975,  1977,  1979,
  3214. !   1981,  1984,  1985,  1990,  1992,  1993,  1994,  2001,  2002,  2003,
  3215. !   2011,  2012,  2013,  2014,  2025,  2026,  2027,  2028,  2039,  2040,
  3216. !   2048,  2049,  2055,  2056,  2064,  2065,  2070,  2073,  2076,  2079,
  3217. !   2083,  2090,  2099,  2110,  2123,  2128,  2132,  2135,  2138,  2140,
  3218. !   2142,  2143,  2144,  2152,  2154,  2157,  2160,  2161,  2162,  2168,
  3219. !   2170,  2172,  2176,  2180,  2183,  2186,  2189,  2193,  2198,  2203,
  3220. !   2207,  2212,  2219,  2226,  2227,  2229,  2230,  2232,  2234,  2235,
  3221. !   2237,  2239,  2243,  2248,  2250,  2254,  2255,  2257,  2259,  2261,
  3222. !   2264,  2267,  2270,  2272,  2274,  2277,  2280,  2283,  2286,  2288,
  3223. !   2292,  2295,  2298,  2303,  2306,  2309,  2312,  2315,  2318,  2321,
  3224. !   2323,  2326,  2328,  2332,  2334,  2336,  2337,  2338,  2340,  2341,
  3225. !   2346,  2348,  2350,  2354,  2355,  2359,  2363,  2367,  2369,  2372,
  3226. !   2375,  2378,  2381,  2384,  2387,  2390,  2393,  2396,  2399,  2402,
  3227. !   2405,  2408,  2411,  2414,  2417,  2420,  2423,  2426,  2429,  2432,
  3228. !   2435,  2438,  2442,  2445,  2448,  2451,  2454,  2458,  2461,  2464,
  3229. !   2469,  2474,  2478
  3230.   };
  3231.   
  3232.   static const short yyrhs[] = {    -1,
  3233. ***************
  3234. *** 389,567 ****
  3235.        0,    92,     0,    92,   169,     0,    83,   330,   139,     0,
  3236.      337,     0,     3,     0,    53,     0,   170,     0,     4,     0,
  3237.      170,     0,   263,     0,    75,   172,     0,    65,   172,     0,
  3238. !     88,   172,   102,     0,   261,     0,   170,     0,   263,     0,
  3239. !     88,   172,   102,     0,   170,     0,     8,     0,   179,     0,
  3240. !    180,     0,    88,   153,   102,     0,    88,     1,   102,     0,
  3241. !      0,    88,   175,   284,   102,     0,     0,   174,    88,   161,
  3242. !    102,   176,   151,     0,   174,    44,     0,   174,    89,   153,
  3243. !    105,     0,   174,    81,     0,   174,    82,     0,    40,     0,
  3244. !      7,    88,   161,   102,     0,   265,     0,    47,    69,   186,
  3245. !     70,    88,   153,   102,     0,    48,    69,   186,    70,    88,
  3246. !    153,   102,     0,    49,    69,   186,    70,    88,   153,   102,
  3247. !      0,    50,    69,   186,    70,    88,   153,   102,     0,    46,
  3248. !     88,   153,   102,     0,    46,    88,   186,   102,     0,   272,
  3249. !      3,     0,   272,   337,     0,   264,     0,   264,    88,   161,
  3250. !    102,     0,   264,    44,     0,   182,   171,     0,   182,   262,
  3251. !      0,   182,   171,    88,   161,   102,     0,   182,   171,    44,
  3252. !      0,   182,   262,    88,   161,   102,     0,   182,   262,    44,
  3253. !      0,   182,    83,     6,    44,     0,   182,     6,    51,    83,
  3254. !      6,    44,     0,    38,     0,   272,    38,     0,    37,     0,
  3255. !    272,   178,     0,    42,     0,    43,     0,     9,     0,   180,
  3256. !      9,     0,     0,   174,    87,     0,   174,    86,     0,   193,
  3257. !    184,    56,     0,   187,   184,    56,     0,   193,   195,    56,
  3258. !      0,   187,   195,    56,     0,   190,   196,    56,     0,   187,
  3259. !     56,     0,   190,    56,     0,   255,     0,   259,     0,    44,
  3260. !      0,   185,    44,     0,   191,   275,     0,   252,   275,     0,
  3261. !    193,   275,     0,   191,     0,   252,     0,   191,     0,   188,
  3262. !      0,   190,   193,     0,   193,   189,     0,   190,   193,   189,
  3263. !      0,   190,   193,   192,     0,   190,   193,   192,   189,     0,
  3264. !      5,     0,   189,   194,     0,   189,     5,     0,   252,     0,
  3265. !      5,     0,   190,     7,     0,   190,     5,     0,   193,     0,
  3266. !    252,   193,     0,   193,   192,     0,   252,   193,   192,     0,
  3267. !    194,     0,   192,   194,     0,   216,     0,     6,     0,   269,
  3268. !      0,    27,    88,   153,   102,     0,    27,    88,   186,   102,
  3269. !      0,    31,    88,   153,   102,     0,    31,    88,   186,   102,
  3270. !      0,     6,     0,     7,     0,   216,     0,   199,     0,   195,
  3271. !     55,   201,     0,   203,     0,   196,    55,   201,     0,   205,
  3272. !      0,   197,    55,   201,     0,     0,   111,    88,   180,   102,
  3273. !      0,     0,   184,   332,   198,   207,    58,   200,   214,     0,
  3274. !    184,   332,   198,   207,     0,     0,   184,   332,   198,   207,
  3275. !     58,   202,   214,     0,   184,   332,   198,   207,     0,     0,
  3276. !    259,   332,   198,   207,    58,   204,   214,     0,   259,   332,
  3277. !    198,   207,     0,     0,   259,   332,   198,   207,    58,   206,
  3278. !    214,     0,   259,   332,   198,   207,     0,     0,   208,     0,
  3279. !    209,     0,   208,   209,     0,    32,    88,    88,   210,   102,
  3280. !    102,     0,   211,     0,   210,    55,   211,     0,     0,   212,
  3281. !      0,   212,    88,     3,   102,     0,   212,    88,     3,    55,
  3282. !    161,   102,     0,   212,    88,   161,   102,     0,   139,     0,
  3283. !      5,     0,     6,     0,     7,     0,   139,     0,   213,    55,
  3284. !    139,     0,   169,     0,    54,   103,     0,    54,   215,   103,
  3285. !      0,    54,   215,    55,   103,     0,     1,     0,   214,     0,
  3286. !    215,    55,   214,     0,    89,   169,   105,   214,     0,   215,
  3287. !     55,    19,   169,    60,   214,     0,   139,    60,   214,     0,
  3288. !    215,    55,   139,    60,   214,     0,     0,    12,   139,    54,
  3289. !    217,   248,   220,   103,     0,    12,   139,    54,   103,     0,
  3290. !      0,    12,    54,   218,   248,   220,   103,     0,    12,    54,
  3291. !    103,     0,    12,   139,     0,    12,   270,     0,   229,   235,
  3292. !    236,   103,     0,   229,     0,     0,    55,     0,     0,    55,
  3293. !      0,    35,     0,   221,     5,     0,   221,     6,     0,   221,
  3294. !      7,     0,   221,    35,     0,   221,   144,    56,     0,   221,
  3295. !    139,     0,   221,   270,     0,   221,   143,     0,   221,   144,
  3296. !     54,     0,   221,   144,    60,     0,   222,     0,   221,   141,
  3297. !      0,     0,     0,   223,   225,   230,     0,   224,   226,   230,
  3298. !      0,   221,    54,     0,   228,     0,   227,     0,     0,    60,
  3299. !      0,    60,   231,     0,   232,     0,   231,    55,   232,     0,
  3300. !    233,     0,   234,   233,     0,   269,     0,    31,    88,   153,
  3301. !    102,     0,    31,    88,   186,   102,     0,    36,     0,     5,
  3302. !      0,   234,    36,     0,   234,     5,     0,    54,     0,     0,
  3303. !    237,     0,   236,    36,    60,   237,     0,   236,    36,    60,
  3304. !      0,   238,     0,   237,   238,     0,   237,    56,     0,   239,
  3305. !     56,     0,   239,   103,     0,   132,    60,     0,   132,    54,
  3306. !      0,   187,   240,     0,   190,   241,     0,   259,   332,   198,
  3307. !    207,     0,    60,   169,     0,     1,     0,   187,    88,   323,
  3308. !    102,   251,     0,   187,    44,   251,     0,     0,   242,     0,
  3309. !    240,    55,   243,     0,     0,   245,     0,   241,    55,   247,
  3310. !      0,   244,     0,   245,     0,   246,     0,   247,     0,   255,
  3311.      332,   198,   207,     0,   255,   332,   198,   207,    58,   214,
  3312.        0,     4,    60,   169,   207,     0,   259,   332,   198,   207,
  3313.        0,   259,   332,   198,   207,    58,   214,     0,     3,    60,
  3314. !    169,   207,     0,    60,   169,   207,     0,   255,   332,   198,
  3315. !    207,     0,   255,   332,   198,   207,    58,   214,     0,     4,
  3316. !     60,   169,   207,     0,   259,   332,   198,   207,     0,   259,
  3317. !    332,   198,   207,    58,   214,     0,     3,    60,   169,   207,
  3318. !      0,    60,   169,   207,     0,   249,     0,   248,    55,   249,
  3319. !      0,   139,     0,   139,    58,   169,     0,   312,   273,     0,
  3320. !    312,     0,    88,   186,   102,    89,   153,   105,     0,     0,
  3321. !    251,     7,     0,     7,     0,   252,     7,     0,     0,   254,
  3322. !    153,     0,    75,   252,   255,     0,    65,   252,   255,     0,
  3323. !     75,   255,     0,    65,   255,     0,   271,   251,   255,     0,
  3324. !    258,     0,   266,     0,   257,     0,   267,   266,     0,   258,
  3325. !     88,   161,   102,   251,     0,   258,    88,   323,   102,   251,
  3326. !      0,   258,    44,   251,     0,   258,    88,     1,   102,   251,
  3327. !      0,   258,    89,   253,   105,     0,   258,    89,   105,     0,
  3328. !     88,   255,   102,     0,   267,   266,     0,   266,     0,    75,
  3329. !    252,   259,     0,    65,   252,   259,     0,    75,   259,     0,
  3330. !     65,   259,     0,   271,   251,   259,     0,   173,     0,    75,
  3331. !    252,   259,     0,    65,   252,   259,     0,    75,   260,     0,
  3332. !     65,   260,     0,   271,   251,   259,     0,   261,     0,   173,
  3333. !     88,   161,   102,   251,     0,   173,    88,   323,   102,   251,
  3334. !      0,   173,    44,   251,     0,   173,    88,     1,   102,   251,
  3335. !      0,    88,   260,   102,     0,   173,    89,   253,   105,     0,
  3336. !    173,    89,   105,     0,   267,   171,     0,   267,   170,     0,
  3337. !    263,     0,   272,   263,     0,   193,    88,   161,   102,     0,
  3338. !    193,    88,   172,   102,     0,   193,   185,     0,     4,     0,
  3339. !    143,     0,   268,     0,   267,   268,     0,     4,    51,     0,
  3340. !    143,    51,     0,   256,     0,   272,   256,     0,   257,     0,
  3341. !    272,   256,     0,   267,    75,     0,   272,   267,    75,     0,
  3342. !     51,     0,    75,   251,   273,     0,    75,   251,     0,    65,
  3343. !    251,   273,     0,    65,   251,     0,   271,   251,     0,   271,
  3344. !    251,   273,     0,   274,     0,    89,   153,   105,     0,   274,
  3345. !     89,   253,   105,     0,    75,   252,   275,     0,    75,   275,
  3346. !      0,    75,   252,     0,    75,     0,    65,   252,   275,     0,
  3347. !     65,   275,     0,    65,   252,     0,    65,     0,   271,   251,
  3348. !      0,   271,   251,   275,     0,   276,     0,    88,   275,   102,
  3349. !      0,    85,     0,   276,    88,   323,   102,   251,     0,   276,
  3350. !     44,   251,     0,   276,    89,   253,   105,     0,   276,    89,
  3351. !    105,     0,    88,   324,   102,   251,     0,   166,   251,     0,
  3352. !    185,   251,     0,    89,   253,   105,     0,    89,   105,     0,
  3353. !    289,     0,   278,     0,   277,   289,     0,   277,   278,     0,
  3354. !      1,    56,     0,     0,     0,   281,     0,   282,     0,   281,
  3355. !    282,     0,    34,   213,    56,     0,   284,     0,     1,   284,
  3356. !      0,    54,   279,   103,     0,    54,   279,   280,   277,   103,
  3357. !      0,    54,   279,   280,   277,     1,   103,     0,    54,   279,
  3358. !    280,     1,   103,     0,     0,     0,    13,   286,   279,   155,
  3359. !    287,   288,     0,   284,     0,   279,   290,     0,   284,     0,
  3360. !    290,     0,   183,     0,   153,    56,     0,     0,   285,    14,
  3361. !    291,   288,     0,   285,     0,     0,     0,    15,   292,   279,
  3362. !    155,   293,   159,     0,     0,     0,    16,   294,   288,    15,
  3363. !    295,   154,    56,     0,     0,     0,     0,   315,   296,   279,
  3364. !    156,    56,   297,   318,   102,   298,   159,     0,     0,     0,
  3365. !      0,   316,   299,   279,   156,    56,   300,   318,   102,   301,
  3366. !    159,     0,     0,    18,   279,    88,   157,   102,   302,   288,
  3367. !      0,     0,    19,   169,    60,   303,   289,     0,     0,    19,
  3368. !    169,    10,   169,    60,   304,   289,     0,     0,    20,    60,
  3369. !    305,   289,     0,    21,    56,     0,    22,    56,     0,    23,
  3370. !     56,     0,    23,   153,    56,     0,   111,   317,    88,   180,
  3371. !    102,    56,     0,   111,   317,    88,   180,    60,   319,   102,
  3372. !     56,     0,   111,   317,    88,   180,    60,   319,    60,   319,
  3373. !    102,    56,     0,   111,   317,    88,   180,    60,   319,    60,
  3374. !    319,    60,   322,   102,    56,     0,    24,    75,   153,    56,
  3375. !      0,    24,   139,    56,     0,   314,   289,     0,   314,   103,
  3376. !      0,    56,     0,   306,     0,     0,     0,    90,    54,   279,
  3377. !    307,   309,   308,   310,     0,   103,     0,   277,   103,     0,
  3378. !      1,   103,     0,     0,     0,   310,    91,   311,   313,   284,
  3379. !      0,   191,     0,   252,     0,    88,    10,   102,     0,    88,
  3380. !    329,   102,     0,     3,    60,     0,    53,    60,     0,     4,
  3381. !     60,     0,    17,    88,    56,     0,    17,    88,   153,    56,
  3382. !      0,    17,    88,    54,   103,     0,    17,    88,   183,     0,
  3383. !     17,    88,     1,    56,     0,    17,    88,    54,   279,   277,
  3384. !    103,     0,    17,    88,    54,   279,     1,   103,     0,     0,
  3385. !      7,     0,     0,   153,     0,     1,     0,     0,   320,     0,
  3386. !    321,     0,   320,    55,   321,     0,     9,    88,   153,   102,
  3387. !      0,     9,     0,   322,    55,     9,     0,     0,   324,     0,
  3388. !    186,     0,   325,     0,   326,    10,     0,   325,    10,     0,
  3389. !    186,    10,     0,    10,     0,    93,     0,   325,    93,     0,
  3390. !    186,    93,     0,   325,    60,     0,   186,    60,     0,   327,
  3391. !      0,   329,    58,   214,     0,   326,   328,     0,   326,   331,
  3392. !      0,   326,   331,    58,   214,     0,   325,    55,     0,   186,
  3393. !     55,     0,   188,   184,     0,   191,   184,     0,   193,   184,
  3394. !      0,   188,   275,     0,   188,     0,   190,   259,     0,   329,
  3395. !      0,   329,    58,   214,     0,   327,     0,   186,     0,     0,
  3396. !      0,   259,     0,     0,    92,    88,   334,   102,     0,   186,
  3397. !      0,   333,     0,   334,    55,   333,     0,     0,    75,   251,
  3398. !    335,     0,    65,   251,   335,     0,   271,   251,   335,     0,
  3399. !     41,     0,   336,    75,     0,   336,    76,     0,   336,    77,
  3400. !      0,   336,    73,     0,   336,    74,     0,   336,    65,     0,
  3401. !    336,    63,     0,   336,    64,     0,   336,    83,     0,   336,
  3402. !     55,     0,   336,    68,     0,   336,    69,     0,   336,    70,
  3403. !      0,   336,    67,     0,   336,    57,     0,   336,    58,     0,
  3404. !    336,    71,     0,   336,    72,     0,   336,    81,     0,   336,
  3405. !     82,     0,   336,    62,     0,   336,    61,     0,   336,   104,
  3406. !      0,   336,    59,    60,     0,   336,    66,     0,   336,    86,
  3407. !      0,   336,    78,     0,   336,    44,     0,   336,    89,   105,
  3408. !      0,   336,    38,     0,   336,    37,     0,   336,    38,    89,
  3409. !    105,     0,   336,    37,    89,   105,     0,   336,   312,   335,
  3410. !      0,   336,     1,     0
  3411.   };
  3412.   
  3413.   #endif
  3414. --- 391,568 ----
  3415.        0,    92,     0,    92,   169,     0,    83,   330,   139,     0,
  3416.      337,     0,     3,     0,    53,     0,   170,     0,     4,     0,
  3417.      170,     0,   263,     0,    75,   172,     0,    65,   172,     0,
  3418. !    261,     0,   170,     0,   263,     0,   170,     0,     8,     0,
  3419. !    179,     0,   180,     0,    88,   153,   102,     0,    88,     1,
  3420. !    102,     0,     0,    88,   175,   284,   102,     0,     0,   174,
  3421. !     88,   161,   102,   176,   151,     0,   174,    44,     0,   174,
  3422. !     89,   153,   105,     0,   174,    81,     0,   174,    82,     0,
  3423. !     40,     0,     7,    88,   161,   102,     0,   265,     0,    47,
  3424. !     69,   186,    70,    88,   153,   102,     0,    48,    69,   186,
  3425. !     70,    88,   153,   102,     0,    49,    69,   186,    70,    88,
  3426. !    153,   102,     0,    50,    69,   186,    70,    88,   153,   102,
  3427. !      0,    46,    88,   153,   102,     0,    46,    88,   186,   102,
  3428. !      0,   272,     3,     0,   272,   337,     0,   264,     0,   264,
  3429. !     88,   161,   102,     0,   264,    44,     0,   182,   171,     0,
  3430. !    182,   262,     0,   182,   171,    88,   161,   102,     0,   182,
  3431. !    171,    44,     0,   182,   262,    88,   161,   102,     0,   182,
  3432. !    262,    44,     0,   182,    83,     6,    44,     0,   182,     6,
  3433. !     51,    83,     6,    44,     0,    38,     0,   272,    38,     0,
  3434. !     37,     0,   272,   178,     0,    42,     0,    43,     0,     9,
  3435. !      0,   180,     9,     0,     0,   174,    87,     0,   174,    86,
  3436. !      0,   193,   184,    56,     0,   187,   184,    56,     0,   193,
  3437. !    195,    56,     0,   187,   195,    56,     0,   190,   196,    56,
  3438. !      0,   187,    56,     0,   190,    56,     0,   255,     0,   259,
  3439. !      0,    44,     0,   185,    44,     0,   191,   275,     0,   252,
  3440. !    275,     0,   193,   275,     0,   191,     0,   252,     0,   191,
  3441. !      0,   188,     0,   190,   193,     0,   193,   189,     0,   190,
  3442. !    193,   189,     0,   190,   193,   192,     0,   190,   193,   192,
  3443. !    189,     0,     5,     0,   189,   194,     0,   189,     5,     0,
  3444. !    252,     0,     5,     0,   190,     7,     0,   190,     5,     0,
  3445. !    193,     0,   252,   193,     0,   193,   192,     0,   252,   193,
  3446. !    192,     0,   194,     0,   192,   194,     0,   216,     0,     6,
  3447. !      0,   269,     0,    27,    88,   153,   102,     0,    27,    88,
  3448. !    186,   102,     0,    31,    88,   153,   102,     0,    31,    88,
  3449. !    186,   102,     0,     6,     0,     7,     0,   216,     0,   199,
  3450. !      0,   195,    55,   201,     0,   203,     0,   196,    55,   201,
  3451. !      0,   205,     0,   197,    55,   201,     0,     0,   111,    88,
  3452. !    180,   102,     0,     0,   184,   332,   198,   207,    58,   200,
  3453. !    214,     0,   184,   332,   198,   207,     0,     0,   184,   332,
  3454. !    198,   207,    58,   202,   214,     0,   184,   332,   198,   207,
  3455. !      0,     0,   259,   332,   198,   207,    58,   204,   214,     0,
  3456. !    259,   332,   198,   207,     0,     0,   259,   332,   198,   207,
  3457. !     58,   206,   214,     0,   259,   332,   198,   207,     0,     0,
  3458. !    208,     0,   209,     0,   208,   209,     0,    32,    88,    88,
  3459. !    210,   102,   102,     0,   211,     0,   210,    55,   211,     0,
  3460. !      0,   212,     0,   212,    88,     3,   102,     0,   212,    88,
  3461. !      3,    55,   161,   102,     0,   212,    88,   161,   102,     0,
  3462. !    139,     0,     5,     0,     6,     0,     7,     0,   139,     0,
  3463. !    213,    55,   139,     0,   169,     0,    54,   103,     0,    54,
  3464. !    215,   103,     0,    54,   215,    55,   103,     0,     1,     0,
  3465. !    214,     0,   215,    55,   214,     0,    89,   169,   105,   214,
  3466. !      0,   215,    55,    19,   169,    60,   214,     0,   139,    60,
  3467. !    214,     0,   215,    55,   139,    60,   214,     0,     0,    12,
  3468. !    139,    54,   217,   248,   220,   103,     0,    12,   139,    54,
  3469. !    103,     0,     0,    12,    54,   218,   248,   220,   103,     0,
  3470. !     12,    54,   103,     0,    12,   139,     0,    12,   270,     0,
  3471. !    229,   235,   236,   103,     0,   229,     0,     0,    55,     0,
  3472. !      0,    55,     0,    35,     0,   221,     5,     0,   221,     6,
  3473. !      0,   221,     7,     0,   221,    35,     0,   221,   144,    56,
  3474. !      0,   221,   139,     0,   221,   270,     0,   221,   143,     0,
  3475. !    221,   144,    54,     0,   221,   144,    60,     0,   222,     0,
  3476. !    221,   141,     0,     0,     0,   223,   225,   230,     0,   224,
  3477. !    226,   230,     0,   221,    54,     0,   228,     0,   227,     0,
  3478. !      0,    60,     0,    60,   231,     0,   232,     0,   231,    55,
  3479. !    232,     0,   233,     0,   234,   233,     0,   269,     0,    31,
  3480. !     88,   153,   102,     0,    31,    88,   186,   102,     0,    36,
  3481. !      0,     5,     0,   234,    36,     0,   234,     5,     0,    54,
  3482. !      0,     0,   237,     0,   236,    36,    60,   237,     0,   236,
  3483. !     36,    60,     0,   238,     0,   237,   238,     0,   237,    56,
  3484. !      0,   239,    56,     0,   239,   103,     0,   132,    60,     0,
  3485. !    132,    54,     0,   187,   240,     0,   190,   241,     0,   259,
  3486. !    332,   198,   207,     0,    60,   169,     0,     1,     0,   187,
  3487. !     88,   323,   102,   251,     0,   187,    44,   251,     0,     0,
  3488. !    242,     0,   240,    55,   243,     0,     0,   245,     0,   241,
  3489. !     55,   247,     0,   244,     0,   245,     0,   246,     0,   247,
  3490. !      0,   255,   332,   198,   207,     0,   255,   332,   198,   207,
  3491. !     58,   214,     0,     4,    60,   169,   207,     0,   259,   332,
  3492. !    198,   207,     0,   259,   332,   198,   207,    58,   214,     0,
  3493. !      3,    60,   169,   207,     0,    60,   169,   207,     0,   255,
  3494.      332,   198,   207,     0,   255,   332,   198,   207,    58,   214,
  3495.        0,     4,    60,   169,   207,     0,   259,   332,   198,   207,
  3496.        0,   259,   332,   198,   207,    58,   214,     0,     3,    60,
  3497. !    169,   207,     0,    60,   169,   207,     0,   249,     0,   248,
  3498. !     55,   249,     0,   139,     0,   139,    58,   169,     0,   312,
  3499. !    273,     0,   312,     0,    88,   186,   102,    89,   153,   105,
  3500. !      0,     0,   251,     7,     0,     7,     0,   252,     7,     0,
  3501. !      0,   254,   153,     0,    75,   252,   255,     0,    65,   252,
  3502. !    255,     0,    75,   255,     0,    65,   255,     0,   271,   251,
  3503. !    255,     0,   258,     0,   266,     0,   257,     0,   267,   266,
  3504. !      0,   258,    88,   161,   102,   251,     0,   258,    88,   323,
  3505. !    102,   251,     0,   258,    44,   251,     0,   258,    88,     1,
  3506. !    102,   251,     0,   258,    89,   253,   105,     0,   258,    89,
  3507. !    105,     0,    88,   255,   102,     0,   267,   266,     0,   266,
  3508. !      0,    75,   252,   259,     0,    65,   252,   259,     0,    75,
  3509. !    259,     0,    65,   259,     0,   271,   251,   259,     0,   173,
  3510. !      0,    75,   252,   259,     0,    65,   252,   259,     0,    75,
  3511. !    260,     0,    65,   260,     0,   271,   251,   259,     0,   261,
  3512. !      0,   173,    88,   161,   102,   251,     0,   173,    88,   323,
  3513. !    102,   251,     0,   173,    44,   251,     0,   173,    88,     1,
  3514. !    102,   251,     0,    88,   172,   102,     0,    88,   260,   102,
  3515. !      0,   173,    89,   253,   105,     0,   173,    89,   105,     0,
  3516. !    267,   171,     0,   267,   170,     0,   263,     0,   272,   263,
  3517. !      0,   193,    88,   161,   102,     0,   193,    88,   172,   102,
  3518. !      0,   193,   185,     0,     4,     0,   143,     0,   268,     0,
  3519. !    267,   268,     0,     4,    51,     0,   143,    51,     0,   256,
  3520. !      0,   272,   256,     0,   257,     0,   272,   256,     0,   267,
  3521. !     75,     0,   272,   267,    75,     0,    51,     0,    75,   251,
  3522. !    273,     0,    75,   251,     0,    65,   251,   273,     0,    65,
  3523. !    251,     0,   271,   251,     0,   271,   251,   273,     0,   274,
  3524. !      0,    89,   153,   105,     0,   274,    89,   253,   105,     0,
  3525. !     75,   252,   275,     0,    75,   275,     0,    75,   252,     0,
  3526. !     75,     0,    65,   252,   275,     0,    65,   275,     0,    65,
  3527. !    252,     0,    65,     0,   271,   251,     0,   271,   251,   275,
  3528. !      0,   276,     0,    88,   275,   102,     0,    85,     0,   276,
  3529. !     88,   323,   102,   251,     0,   276,    44,   251,     0,   276,
  3530. !     89,   253,   105,     0,   276,    89,   105,     0,    88,   324,
  3531. !    102,   251,     0,   166,   251,     0,   185,   251,     0,    89,
  3532. !    253,   105,     0,    89,   105,     0,   289,     0,   278,     0,
  3533. !    277,   289,     0,   277,   278,     0,     1,    56,     0,     0,
  3534. !      0,   281,     0,   282,     0,   281,   282,     0,    34,   213,
  3535. !     56,     0,   284,     0,     1,   284,     0,    54,   279,   103,
  3536. !      0,    54,   279,   280,   277,   103,     0,    54,   279,   280,
  3537. !    277,     1,   103,     0,    54,   279,   280,     1,   103,     0,
  3538. !      0,     0,    13,   286,   279,   155,   287,   288,     0,   284,
  3539. !      0,   279,   290,     0,   284,     0,   290,     0,   183,     0,
  3540. !    153,    56,     0,     0,   285,    14,   291,   288,     0,   285,
  3541. !      0,     0,     0,    15,   292,   279,   155,   293,   159,     0,
  3542. !      0,     0,    16,   294,   288,    15,   295,   154,    56,     0,
  3543. !      0,     0,     0,   315,   296,   279,   156,    56,   297,   318,
  3544. !    102,   298,   159,     0,     0,     0,     0,   316,   299,   279,
  3545. !    156,    56,   300,   318,   102,   301,   159,     0,     0,    18,
  3546. !    279,    88,   157,   102,   302,   288,     0,     0,    19,   169,
  3547. !     60,   303,   289,     0,     0,    19,   169,    10,   169,    60,
  3548. !    304,   289,     0,     0,    20,    60,   305,   289,     0,    21,
  3549. !     56,     0,    22,    56,     0,    23,    56,     0,    23,   153,
  3550. !     56,     0,   111,   317,    88,   180,   102,    56,     0,   111,
  3551. !    317,    88,   180,    60,   319,   102,    56,     0,   111,   317,
  3552. !     88,   180,    60,   319,    60,   319,   102,    56,     0,   111,
  3553. !    317,    88,   180,    60,   319,    60,   319,    60,   322,   102,
  3554. !     56,     0,    24,    75,   153,    56,     0,    24,   139,    56,
  3555. !      0,   314,   289,     0,   314,   103,     0,    56,     0,   306,
  3556. !      0,     0,     0,    90,    54,   279,   307,   309,   308,   310,
  3557. !      0,   103,     0,   277,   103,     0,     1,   103,     0,     0,
  3558. !      0,   310,    91,   311,   313,   284,     0,   191,     0,   252,
  3559. !      0,    88,    10,   102,     0,    88,   329,   102,     0,     3,
  3560. !     60,     0,    53,    60,     0,     4,    60,     0,    17,    88,
  3561. !     56,     0,    17,    88,   153,    56,     0,    17,    88,    54,
  3562. !    103,     0,    17,    88,   183,     0,    17,    88,     1,    56,
  3563. !      0,    17,    88,    54,   279,   277,   103,     0,    17,    88,
  3564. !     54,   279,     1,   103,     0,     0,     7,     0,     0,   153,
  3565. !      0,     1,     0,     0,   320,     0,   321,     0,   320,    55,
  3566. !    321,     0,     9,    88,   153,   102,     0,     9,     0,   322,
  3567. !     55,     9,     0,     0,   324,     0,   186,     0,   325,     0,
  3568. !    326,    10,     0,   325,    10,     0,   186,    10,     0,    10,
  3569. !      0,    93,     0,   325,    93,     0,   186,    93,     0,   325,
  3570. !     60,     0,   186,    60,     0,   327,     0,   329,    58,   214,
  3571. !      0,   326,   328,     0,   326,   331,     0,   326,   331,    58,
  3572. !    214,     0,   325,    55,     0,   186,    55,     0,   188,   184,
  3573. !      0,   191,   184,     0,   193,   184,     0,   188,   275,     0,
  3574. !    188,     0,   190,   259,     0,   329,     0,   329,    58,   214,
  3575. !      0,   327,     0,   186,     0,     0,     0,   259,     0,     0,
  3576. !     92,    88,   334,   102,     0,   186,     0,   333,     0,   334,
  3577. !     55,   333,     0,     0,    75,   251,   335,     0,    65,   251,
  3578. !    335,     0,   271,   251,   335,     0,    41,     0,   336,    75,
  3579. !      0,   336,    76,     0,   336,    77,     0,   336,    73,     0,
  3580. !    336,    74,     0,   336,    65,     0,   336,    63,     0,   336,
  3581. !     64,     0,   336,    83,     0,   336,    55,     0,   336,    68,
  3582. !      0,   336,    69,     0,   336,    70,     0,   336,    67,     0,
  3583. !    336,    57,     0,   336,    58,     0,   336,    71,     0,   336,
  3584. !     72,     0,   336,    81,     0,   336,    82,     0,   336,    62,
  3585. !      0,   336,    61,     0,   336,   104,     0,   336,    59,    60,
  3586. !      0,   336,    66,     0,   336,    86,     0,   336,    78,     0,
  3587. !    336,    44,     0,   336,    89,   105,     0,   336,    38,     0,
  3588. !    336,    37,     0,   336,    38,    89,   105,     0,   336,    37,
  3589. !     89,   105,     0,   336,   312,   335,     0,   336,     1,     0
  3590.   };
  3591.   
  3592.   #endif
  3593. ***************
  3594. *** 590,648 ****
  3595.     1144,  1146,  1163,  1166,  1168,  1170,  1172,  1174,  1176,  1178,
  3596.     1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,  1196,  1198,
  3597.     1200,  1202,  1204,  1206,  1208,  1215,  1217,  1234,  1237,  1238,
  3598. !   1239,  1242,  1244,  1247,  1249,  1250,  1252,  1254,  1258,  1260,
  3599. !   1261,  1264,  1268,  1288,  1289,  1290,  1292,  1294,  1296,  1304,
  3600. !   1325,  1330,  1337,  1344,  1346,  1355,  1360,  1383,  1427,  1428,
  3601. !   1431,  1434,  1437,  1440,  1442,  1445,  1484,  1491,  1493,  1495,
  3602. !   1497,  1499,  1501,  1516,  1531,  1542,  1554,  1561,  1610,  1612,
  3603. !   1616,  1618,  1622,  1625,  1630,  1632,  1636,  1649,  1650,  1656,
  3604. !   1667,  1675,  1681,  1686,  1688,  1693,  1700,  1702,  1706,  1710,
  3605. !   1716,  1719,  1721,  1723,  1725,  1733,  1735,  1737,  1740,  1742,
  3606. !   1744,  1746,  1751,  1757,  1759,  1770,  1773,  1775,  1778,  1793,
  3607. !   1796,  1798,  1800,  1804,  1807,  1815,  1816,  1817,  1818,  1822,
  3608. !   1826,  1840,  1858,  1859,  1860,  1863,  1865,  1868,  1870,  1873,
  3609. !   1875,  1878,  1881,  1885,  1902,  1904,  1922,  1928,  1929,  1935,
  3610. !   1943,  1945,  1954,  1962,  1964,  1975,  1978,  1982,  1985,  1989,
  3611. !   1994,  1997,  2001,  2004,  2006,  2008,  2010,  2017,  2019,  2020,
  3612. !   2021,  2025,  2028,  2032,  2034,  2037,  2040,  2043,  2049,  2052,
  3613. !   2055,  2057,  2059,  2061,  2065,  2069,  2073,  2076,  2079,  2083,
  3614. !   2086,  2088,  2092,  2143,  2158,  2160,  2163,  2165,  2169,  2170,
  3615. !   2172,  2174,  2176,  2180,  2189,  2192,  2194,  2196,  2202,  2204,
  3616. !   2207,  2212,  2215,  2218,  2227,  2238,  2243,  2243,  2245,  2248,
  3617. !   2250,  2254,  2256,  2260,  2288,  2319,  2321,  2343,  2367,  2369,
  3618. !   2373,  2399,  2408,  2470,  2473,  2480,  2491,  2500,  2504,  2517,
  3619. !   2520,  2522,  2527,  2529,  2533,  2541,  2545,  2548,  2550,  2561,
  3620. !   2566,  2574,  2577,  2578,  2589,  2592,  2593,  2604,  2606,  2609,
  3621. !   2611,  2614,  2619,  2623,  2629,  2634,  2638,  2642,  2648,  2652,
  3622. !   2655,  2660,  2664,  2667,  2670,  2679,  2681,  2685,  2688,  2693,
  3623. !   2696,  2700,  2709,  2712,  2716,  2719,  2727,  2729,  2734,  2737,
  3624. !   2739,  2741,  2743,  2747,  2750,  2764,  2767,  2772,  2775,  2777,
  3625. !   2779,  2781,  2783,  2785,  2787,  2791,  2797,  2800,  2802,  2804,
  3626. !   2806,  2810,  2813,  2816,  2818,  2820,  2822,  2826,  2829,  2832,
  3627. !   2834,  2836,  2838,  2840,  2842,  2846,  2852,  2858,  2860,  2864,
  3628. !   2867,  2869,  2873,  2875,  2878,  2880,  2886,  2889,  2903,  2905,
  3629. !   2909,  2911,  2915,  2918,  2924,  2930,  2933,  2935,  2937,  2939,
  3630. !   2943,  2947,  2951,  2954,  2959,  2962,  2964,  2966,  2968,  2970,
  3631. !   2972,  2974,  2976,  2980,  2984,  2988,  2992,  2993,  2995,  2997,
  3632. !   2999,  3001,  3003,  3005,  3007,  3009,  3017,  3019,  3020,  3021,
  3633. !   3024,  3031,  3041,  3043,  3048,  3050,  3053,  3067,  3070,  3073,
  3634. !   3077,  3081,  3085,  3091,  3094,  3098,  3100,  3103,  3109,  3112,
  3635. !   3115,  3118,  3131,  3134,  3139,  3145,  3150,  3153,  3158,  3162,
  3636. !   3165,  3171,  3176,  3179,  3184,  3193,  3197,  3200,  3206,  3216,
  3637. !   3223,  3229,  3254,  3254,  3286,  3286,  3302,  3302,  3306,  3310,
  3638. !   3313,  3318,  3325,  3334,  3343,  3352,  3355,  3361,  3363,  3367,
  3639. !   3369,  3372,  3376,  3379,  3382,  3390,  3394,  3400,  3402,  3404,
  3640. !   3408,  3410,  3413,  3426,  3431,  3439,  3441,  3445,  3448,  3450,
  3641. !   3454,  3457,  3459,  3461,  3467,  3471,  3475,  3478,  3479,  3485,
  3642. !   3487,  3490,  3492,  3496,  3501,  3504,  3514,  3521,  3522,  3529,
  3643. !   3535,  3540,  3544,  3549,  3556,  3560,  3564,  3569,  3580,  3594,
  3644. !   3597,  3599,  3601,  3603,  3607,  3609,  3617,  3634,  3636,  3638,
  3645. !   3640,  3642,  3646,  3649,  3653,  3655,  3658,  3680,  3686,  3693,
  3646. !   3696,  3700,  3705,  3707,  3714,  3717,  3719,  3721,  3727,  3731,
  3647.     3734,  3736,  3738,  3740,  3742,  3744,  3746,  3748,  3750,  3752,
  3648.     3754,  3756,  3758,  3760,  3762,  3764,  3766,  3768,  3770,  3772,
  3649.     3774,  3776,  3778,  3780,  3782,  3784,  3786,  3788,  3790,  3792,
  3650. !   3794,  3796,  3799,  3801
  3651.   };
  3652.   
  3653.   static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
  3654. --- 591,649 ----
  3655.     1144,  1146,  1163,  1166,  1168,  1170,  1172,  1174,  1176,  1178,
  3656.     1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,  1196,  1198,
  3657.     1200,  1202,  1204,  1206,  1208,  1215,  1217,  1234,  1237,  1238,
  3658. !   1239,  1242,  1244,  1247,  1249,  1250,  1252,  1256,  1258,  1259,
  3659. !   1264,  1284,  1285,  1286,  1288,  1290,  1292,  1300,  1321,  1326,
  3660. !   1333,  1340,  1342,  1351,  1356,  1379,  1423,  1424,  1427,  1430,
  3661. !   1433,  1436,  1438,  1441,  1480,  1487,  1489,  1491,  1493,  1495,
  3662. !   1497,  1512,  1527,  1538,  1550,  1557,  1606,  1608,  1612,  1614,
  3663. !   1618,  1621,  1626,  1628,  1632,  1645,  1646,  1652,  1663,  1671,
  3664. !   1677,  1682,  1684,  1689,  1696,  1698,  1702,  1706,  1712,  1715,
  3665. !   1717,  1719,  1721,  1729,  1731,  1733,  1736,  1738,  1740,  1742,
  3666. !   1747,  1753,  1755,  1766,  1769,  1771,  1774,  1789,  1792,  1794,
  3667. !   1796,  1800,  1803,  1811,  1812,  1813,  1814,  1818,  1822,  1836,
  3668. !   1854,  1855,  1856,  1859,  1861,  1864,  1866,  1869,  1871,  1874,
  3669. !   1877,  1881,  1898,  1900,  1918,  1924,  1925,  1931,  1939,  1941,
  3670. !   1950,  1958,  1960,  1971,  1974,  1978,  1981,  1985,  1990,  1993,
  3671. !   1997,  2000,  2002,  2004,  2006,  2013,  2015,  2016,  2017,  2021,
  3672. !   2024,  2028,  2030,  2033,  2036,  2039,  2045,  2048,  2051,  2053,
  3673. !   2055,  2057,  2061,  2065,  2069,  2072,  2075,  2079,  2082,  2084,
  3674. !   2088,  2139,  2154,  2156,  2159,  2161,  2165,  2166,  2168,  2170,
  3675. !   2172,  2176,  2185,  2188,  2190,  2192,  2198,  2200,  2203,  2208,
  3676. !   2211,  2214,  2223,  2234,  2239,  2239,  2241,  2244,  2246,  2250,
  3677. !   2252,  2256,  2284,  2315,  2317,  2339,  2363,  2365,  2369,  2395,
  3678. !   2404,  2466,  2469,  2476,  2487,  2496,  2500,  2513,  2516,  2518,
  3679. !   2523,  2525,  2529,  2537,  2541,  2544,  2546,  2557,  2562,  2570,
  3680. !   2573,  2574,  2585,  2588,  2589,  2600,  2602,  2605,  2607,  2610,
  3681. !   2615,  2619,  2625,  2630,  2634,  2638,  2644,  2648,  2651,  2656,
  3682. !   2660,  2663,  2666,  2675,  2677,  2681,  2684,  2689,  2692,  2696,
  3683. !   2705,  2708,  2712,  2715,  2723,  2725,  2730,  2733,  2735,  2737,
  3684. !   2739,  2743,  2746,  2760,  2763,  2768,  2771,  2773,  2775,  2777,
  3685. !   2779,  2781,  2783,  2787,  2793,  2796,  2798,  2800,  2802,  2806,
  3686. !   2809,  2812,  2814,  2816,  2818,  2822,  2825,  2828,  2830,  2832,
  3687. !   2834,  2836,  2838,  2840,  2844,  2850,  2856,  2858,  2862,  2865,
  3688. !   2867,  2871,  2873,  2876,  2878,  2884,  2887,  2901,  2903,  2907,
  3689. !   2909,  2913,  2916,  2922,  2928,  2931,  2933,  2935,  2937,  2941,
  3690. !   2945,  2949,  2952,  2957,  2960,  2962,  2964,  2966,  2968,  2970,
  3691. !   2972,  2974,  2978,  2982,  2986,  2990,  2991,  2993,  2995,  2997,
  3692. !   2999,  3001,  3003,  3005,  3007,  3015,  3017,  3018,  3019,  3022,
  3693. !   3029,  3039,  3041,  3046,  3048,  3051,  3065,  3068,  3071,  3075,
  3694. !   3079,  3083,  3089,  3092,  3096,  3098,  3101,  3107,  3110,  3113,
  3695. !   3116,  3129,  3132,  3137,  3143,  3148,  3151,  3156,  3160,  3163,
  3696. !   3169,  3174,  3177,  3182,  3191,  3195,  3198,  3204,  3214,  3221,
  3697. !   3227,  3252,  3252,  3284,  3284,  3300,  3300,  3304,  3308,  3311,
  3698. !   3316,  3323,  3332,  3341,  3350,  3353,  3359,  3361,  3365,  3367,
  3699. !   3370,  3374,  3377,  3380,  3388,  3392,  3398,  3400,  3402,  3406,
  3700. !   3408,  3411,  3424,  3429,  3437,  3439,  3443,  3446,  3448,  3452,
  3701. !   3455,  3457,  3459,  3465,  3469,  3473,  3476,  3477,  3483,  3485,
  3702. !   3488,  3490,  3494,  3499,  3502,  3512,  3519,  3520,  3527,  3533,
  3703. !   3538,  3542,  3547,  3554,  3558,  3562,  3567,  3578,  3592,  3595,
  3704. !   3597,  3599,  3601,  3605,  3607,  3615,  3632,  3634,  3636,  3638,
  3705. !   3640,  3644,  3647,  3651,  3653,  3656,  3678,  3684,  3691,  3694,
  3706. !   3698,  3703,  3705,  3712,  3715,  3717,  3719,  3725,  3729,  3732,
  3707.     3734,  3736,  3738,  3740,  3742,  3744,  3746,  3748,  3750,  3752,
  3708.     3754,  3756,  3758,  3760,  3762,  3764,  3766,  3768,  3770,  3772,
  3709.     3774,  3776,  3778,  3780,  3782,  3784,  3786,  3788,  3790,  3792,
  3710. !   3794,  3797,  3799
  3711.   };
  3712.   
  3713.   static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
  3714. ***************
  3715. *** 727,785 ****
  3716.      168,   168,   169,   169,   169,   169,   169,   169,   169,   169,
  3717.      169,   169,   169,   169,   169,   169,   169,   169,   169,   169,
  3718.      169,   169,   169,   169,   169,   169,   169,   170,   170,   170,
  3719. !    170,   171,   171,   172,   172,   172,   172,   172,   173,   173,
  3720. !    173,   173,   174,   174,   174,   174,   174,   174,   175,   174,
  3721. !    176,   174,   174,   174,   174,   174,   174,   174,   174,   174,
  3722.      174,   174,   174,   174,   174,   174,   174,   174,   174,   174,
  3723. !    174,   174,   174,   174,   174,   174,   174,   174,   177,   177,
  3724. !    178,   178,   179,   179,   180,   180,   181,   182,   182,   183,
  3725. !    183,   183,   183,   183,   183,   183,   184,   184,   185,   185,
  3726. !    186,   186,   186,   186,   186,   187,   187,   188,   188,   188,
  3727. !    188,   188,   189,   189,   189,   190,   190,   190,   190,   191,
  3728. !    191,   191,   191,   192,   192,   193,   193,   193,   193,   193,
  3729. !    193,   193,   194,   194,   194,   195,   195,   196,   196,   197,
  3730. !    197,   198,   198,   200,   199,   199,   202,   201,   201,   204,
  3731. !    203,   203,   206,   205,   205,   207,   207,   208,   208,   209,
  3732. !    210,   210,   211,   211,   211,   211,   211,   212,   212,   212,
  3733. !    212,   213,   213,   214,   214,   214,   214,   214,   215,   215,
  3734. !    215,   215,   215,   215,   217,   216,   216,   218,   216,   216,
  3735. !    216,   216,   216,   216,   219,   219,   220,   220,   221,   221,
  3736. !    221,   221,   221,   222,   223,   223,   223,   223,   223,   223,
  3737. !    224,   225,   226,   227,   227,   228,   229,   229,   230,   230,
  3738. !    230,   231,   231,   232,   232,   233,   233,   233,   234,   234,
  3739. !    234,   234,   235,   236,   236,   236,   236,   237,   237,   237,
  3740. !    238,   238,   238,   238,   239,   239,   239,   239,   239,   239,
  3741. !    239,   240,   240,   240,   241,   241,   241,   242,   242,   243,
  3742. !    243,   244,   244,   244,   245,   245,   245,   245,   246,   246,
  3743. !    246,   247,   247,   247,   247,   248,   248,   249,   249,   250,
  3744. !    250,   250,   251,   251,   252,   252,   254,   253,   255,   255,
  3745. !    255,   255,   255,   255,   256,   256,   257,   258,   258,   258,
  3746. !    258,   258,   258,   258,   258,   258,   259,   259,   259,   259,
  3747. !    259,   259,   260,   260,   260,   260,   260,   260,   261,   261,
  3748. !    261,   261,   261,   261,   261,   262,   263,   264,   264,   265,
  3749. !    265,   265,   266,   266,   267,   267,   268,   268,   269,   269,
  3750. !    270,   270,   271,   271,   272,   273,   273,   273,   273,   273,
  3751. !    273,   273,   274,   274,   275,   275,   275,   275,   275,   275,
  3752. !    275,   275,   275,   275,   275,   276,   276,   276,   276,   276,
  3753. !    276,   276,   276,   276,   276,   276,   277,   277,   277,   277,
  3754. !    278,   279,   280,   280,   281,   281,   282,   283,   283,   284,
  3755. !    284,   284,   284,   286,   287,   285,   288,   288,   289,   289,
  3756. !    290,   290,   291,   290,   290,   292,   293,   290,   294,   295,
  3757. !    290,   296,   297,   298,   290,   299,   300,   301,   290,   302,
  3758. !    290,   303,   290,   304,   290,   305,   290,   290,   290,   290,
  3759.      290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
  3760. !    290,   307,   308,   306,   309,   309,   309,   310,   311,   310,
  3761. !    312,   312,   313,   313,   314,   314,   314,   315,   315,   315,
  3762. !    316,   316,   316,   316,   317,   317,   318,   318,   318,   319,
  3763. !    319,   320,   320,   321,   322,   322,   323,   323,   323,   324,
  3764. !    324,   324,   324,   324,   324,   324,   324,   324,   324,   325,
  3765. !    325,   325,   325,   325,   326,   326,   327,   327,   327,   327,
  3766. !    327,   327,   328,   328,   329,   329,   330,   331,   331,   332,
  3767. !    332,   333,   334,   334,   335,   335,   335,   335,   336,   337,
  3768.      337,   337,   337,   337,   337,   337,   337,   337,   337,   337,
  3769.      337,   337,   337,   337,   337,   337,   337,   337,   337,   337,
  3770.      337,   337,   337,   337,   337,   337,   337,   337,   337,   337,
  3771. !    337,   337,   337,   337
  3772.   };
  3773.   
  3774.   static const short yyr2[] = {     0,
  3775. --- 728,786 ----
  3776.      168,   168,   169,   169,   169,   169,   169,   169,   169,   169,
  3777.      169,   169,   169,   169,   169,   169,   169,   169,   169,   169,
  3778.      169,   169,   169,   169,   169,   169,   169,   170,   170,   170,
  3779. !    170,   171,   171,   172,   172,   172,   172,   173,   173,   173,
  3780. !    174,   174,   174,   174,   174,   174,   175,   174,   176,   174,
  3781. !    174,   174,   174,   174,   174,   174,   174,   174,   174,   174,
  3782.      174,   174,   174,   174,   174,   174,   174,   174,   174,   174,
  3783. !    174,   174,   174,   174,   174,   174,   177,   177,   178,   178,
  3784. !    179,   179,   180,   180,   181,   182,   182,   183,   183,   183,
  3785. !    183,   183,   183,   183,   184,   184,   185,   185,   186,   186,
  3786. !    186,   186,   186,   187,   187,   188,   188,   188,   188,   188,
  3787. !    189,   189,   189,   190,   190,   190,   190,   191,   191,   191,
  3788. !    191,   192,   192,   193,   193,   193,   193,   193,   193,   193,
  3789. !    194,   194,   194,   195,   195,   196,   196,   197,   197,   198,
  3790. !    198,   200,   199,   199,   202,   201,   201,   204,   203,   203,
  3791. !    206,   205,   205,   207,   207,   208,   208,   209,   210,   210,
  3792. !    211,   211,   211,   211,   211,   212,   212,   212,   212,   213,
  3793. !    213,   214,   214,   214,   214,   214,   215,   215,   215,   215,
  3794. !    215,   215,   217,   216,   216,   218,   216,   216,   216,   216,
  3795. !    216,   216,   219,   219,   220,   220,   221,   221,   221,   221,
  3796. !    221,   222,   223,   223,   223,   223,   223,   223,   224,   225,
  3797. !    226,   227,   227,   228,   229,   229,   230,   230,   230,   231,
  3798. !    231,   232,   232,   233,   233,   233,   234,   234,   234,   234,
  3799. !    235,   236,   236,   236,   236,   237,   237,   237,   238,   238,
  3800. !    238,   238,   239,   239,   239,   239,   239,   239,   239,   240,
  3801. !    240,   240,   241,   241,   241,   242,   242,   243,   243,   244,
  3802. !    244,   244,   245,   245,   245,   245,   246,   246,   246,   247,
  3803. !    247,   247,   247,   248,   248,   249,   249,   250,   250,   250,
  3804. !    251,   251,   252,   252,   254,   253,   255,   255,   255,   255,
  3805. !    255,   255,   256,   256,   257,   258,   258,   258,   258,   258,
  3806. !    258,   258,   258,   258,   259,   259,   259,   259,   259,   259,
  3807. !    260,   260,   260,   260,   260,   260,   261,   261,   261,   261,
  3808. !    261,   261,   261,   261,   262,   263,   264,   264,   265,   265,
  3809. !    265,   266,   266,   267,   267,   268,   268,   269,   269,   270,
  3810. !    270,   271,   271,   272,   273,   273,   273,   273,   273,   273,
  3811. !    273,   274,   274,   275,   275,   275,   275,   275,   275,   275,
  3812. !    275,   275,   275,   275,   276,   276,   276,   276,   276,   276,
  3813. !    276,   276,   276,   276,   276,   277,   277,   277,   277,   278,
  3814. !    279,   280,   280,   281,   281,   282,   283,   283,   284,   284,
  3815. !    284,   284,   286,   287,   285,   288,   288,   289,   289,   290,
  3816. !    290,   291,   290,   290,   292,   293,   290,   294,   295,   290,
  3817. !    296,   297,   298,   290,   299,   300,   301,   290,   302,   290,
  3818. !    303,   290,   304,   290,   305,   290,   290,   290,   290,   290,
  3819.      290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
  3820. !    307,   308,   306,   309,   309,   309,   310,   311,   310,   312,
  3821. !    312,   313,   313,   314,   314,   314,   315,   315,   315,   316,
  3822. !    316,   316,   316,   317,   317,   318,   318,   318,   319,   319,
  3823. !    320,   320,   321,   322,   322,   323,   323,   323,   324,   324,
  3824. !    324,   324,   324,   324,   324,   324,   324,   324,   325,   325,
  3825. !    325,   325,   325,   326,   326,   327,   327,   327,   327,   327,
  3826. !    327,   328,   328,   329,   329,   330,   331,   331,   332,   332,
  3827. !    333,   334,   334,   335,   335,   335,   335,   336,   337,   337,
  3828.      337,   337,   337,   337,   337,   337,   337,   337,   337,   337,
  3829.      337,   337,   337,   337,   337,   337,   337,   337,   337,   337,
  3830.      337,   337,   337,   337,   337,   337,   337,   337,   337,   337,
  3831. !    337,   337,   337
  3832.   };
  3833.   
  3834.   static const short yyr2[] = {     0,
  3835. ***************
  3836. *** 805,2833 ****
  3837.        4,     4,     1,     3,     3,     3,     3,     3,     3,     3,
  3838.        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
  3839.        3,     3,     5,     3,     3,     1,     2,     3,     1,     1,
  3840. !      1,     1,     1,     1,     1,     2,     2,     3,     1,     1,
  3841. !      1,     3,     1,     1,     1,     1,     3,     3,     0,     4,
  3842. !      0,     6,     2,     4,     2,     2,     1,     4,     1,     7,
  3843. !      7,     7,     7,     4,     4,     2,     2,     1,     4,     2,
  3844. !      2,     2,     5,     3,     5,     3,     4,     6,     1,     2,
  3845. !      1,     2,     1,     1,     1,     2,     0,     2,     2,     3,
  3846. !      3,     3,     3,     3,     2,     2,     1,     1,     1,     2,
  3847. !      2,     2,     2,     1,     1,     1,     1,     2,     2,     3,
  3848. !      3,     4,     1,     2,     2,     1,     1,     2,     2,     1,
  3849. !      2,     2,     3,     1,     2,     1,     1,     1,     4,     4,
  3850. !      4,     4,     1,     1,     1,     1,     3,     1,     3,     1,
  3851. !      3,     0,     4,     0,     7,     4,     0,     7,     4,     0,
  3852. !      7,     4,     0,     7,     4,     0,     1,     1,     2,     6,
  3853. !      1,     3,     0,     1,     4,     6,     4,     1,     1,     1,
  3854. !      1,     1,     3,     1,     2,     3,     4,     1,     1,     3,
  3855. !      4,     6,     3,     5,     0,     7,     4,     0,     6,     3,
  3856. !      2,     2,     4,     1,     0,     1,     0,     1,     1,     2,
  3857. !      2,     2,     2,     3,     2,     2,     2,     3,     3,     1,
  3858. !      2,     0,     0,     3,     3,     2,     1,     1,     0,     1,
  3859. !      2,     1,     3,     1,     2,     1,     4,     4,     1,     1,
  3860. !      2,     2,     1,     0,     1,     4,     3,     1,     2,     2,
  3861. !      2,     2,     2,     2,     2,     2,     4,     2,     1,     5,
  3862. !      3,     0,     1,     3,     0,     1,     3,     1,     1,     1,
  3863. !      1,     4,     6,     4,     4,     6,     4,     3,     4,     6,
  3864. !      4,     4,     6,     4,     3,     1,     3,     1,     3,     2,
  3865. !      1,     6,     0,     2,     1,     2,     0,     2,     3,     3,
  3866. !      2,     2,     3,     1,     1,     1,     2,     5,     5,     3,
  3867. !      5,     4,     3,     3,     2,     1,     3,     3,     2,     2,
  3868. !      3,     1,     3,     3,     2,     2,     3,     1,     5,     5,
  3869. !      3,     5,     3,     4,     3,     2,     2,     1,     2,     4,
  3870. !      4,     2,     1,     1,     1,     2,     2,     2,     1,     2,
  3871. !      1,     2,     2,     3,     1,     3,     2,     3,     2,     2,
  3872. !      3,     1,     3,     4,     3,     2,     2,     1,     3,     2,
  3873. !      2,     1,     2,     3,     1,     3,     1,     5,     3,     4,
  3874. !      3,     4,     2,     2,     3,     2,     1,     1,     2,     2,
  3875. !      2,     0,     0,     1,     1,     2,     3,     1,     2,     3,
  3876. !      5,     6,     5,     0,     0,     6,     1,     2,     1,     1,
  3877. !      1,     2,     0,     4,     1,     0,     0,     6,     0,     0,
  3878. !      7,     0,     0,     0,    10,     0,     0,     0,    10,     0,
  3879. !      7,     0,     5,     0,     7,     0,     4,     2,     2,     2,
  3880. !      3,     6,     8,    10,    12,     4,     3,     2,     2,     1,
  3881. !      1,     0,     0,     7,     1,     2,     2,     0,     0,     5,
  3882. !      1,     1,     3,     3,     2,     2,     2,     3,     4,     4,
  3883. !      3,     4,     6,     6,     0,     1,     0,     1,     1,     0,
  3884. !      1,     1,     3,     4,     1,     3,     0,     1,     1,     1,
  3885. !      2,     2,     2,     1,     1,     2,     2,     2,     2,     1,
  3886. !      3,     2,     2,     4,     2,     2,     2,     2,     2,     2,
  3887. !      1,     2,     1,     3,     1,     1,     0,     0,     1,     0,
  3888. !      4,     1,     1,     3,     0,     3,     3,     3,     1,     2,
  3889.        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3890.        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3891. !      2,     2,     3,     2,     2,     2,     2,     3,     2,     2,
  3892. !      4,     4,     3,     2
  3893.   };
  3894.   
  3895.   static const short yydefact[] = {     3,
  3896. !     10,    10,     5,     0,     4,     0,   220,   523,   307,   317,
  3897. !    475,     0,     8,     9,     0,     0,   389,     0,   709,     0,
  3898. !    535,   221,    64,     0,     0,   697,     0,    76,    21,     0,
  3899. !     11,     6,     0,    15,    14,    13,    12,   277,     0,   524,
  3900. !    117,   230,   502,     0,   297,     0,   296,   310,     0,   330,
  3901. !    316,     0,   400,   402,   403,   408,   407,   384,   306,   529,
  3902. !    486,     0,   229,   231,   485,     0,   525,   318,   473,     0,
  3903. !      0,   219,    62,    63,   527,     0,     0,   101,   102,   103,
  3904. !    378,   381,     0,   531,     0,   382,     0,     0,     0,    32,
  3905. !      0,   307,     0,    22,     0,     0,   400,     0,     0,     0,
  3906. !      0,   500,     0,     0,     0,   499,     0,     0,     0,     0,
  3907. !    230,     0,     0,     0,   229,   231,   473,     0,     3,     0,
  3908. !      0,     0,     0,   402,   403,   700,     0,    88,    83,   277,
  3909. !      0,     0,    60,   528,   124,   473,     0,   477,    61,     0,
  3910. !      0,     0,     0,     0,   326,   287,   484,   288,   496,     0,
  3911. !    473,   309,   308,    59,   298,     0,   328,     0,   303,   323,
  3912. !    324,   299,   312,   314,   325,     0,    54,   390,   391,   392,
  3913. !    393,   406,   107,   106,   108,   395,   401,   397,   117,   396,
  3914. !    409,   409,   423,     0,   476,   311,    72,     0,    75,   533,
  3915. !    517,   487,   526,     0,   530,     0,   744,   740,   739,   737,
  3916. !    719,   724,   725,     0,   731,   730,   716,   717,   715,   734,
  3917. !    723,   720,   721,   722,   726,   727,   713,   714,   710,   711,
  3918. !    712,   736,   728,   729,   718,   735,     0,   732,   641,   310,
  3919. !    642,   705,   475,   234,   275,     0,     0,     0,     0,   156,
  3920. !    271,   269,   247,   273,   274,     0,     0,     0,     0,     0,
  3921. !      0,     0,   129,   128,     0,   130,   131,     0,     0,   216,
  3922. !    132,     0,   118,     0,   189,     0,   193,   186,   121,   233,
  3923. !    155,     0,     0,   235,   236,     0,   120,   294,   310,   295,
  3924. !    518,   258,   249,     0,     0,     0,   400,   380,     0,   375,
  3925. !    532,     0,   133,   134,     0,     0,     0,     0,    31,     0,
  3926. !    110,   409,   125,   109,   115,     0,   498,     0,   497,   102,
  3927. !    103,   218,   227,     0,   506,   226,     0,   505,     0,   232,
  3928. !    513,     0,     0,    18,    10,     0,     7,     7,    48,    47,
  3929. !    700,     0,    34,    42,    38,    36,    43,    40,   332,    82,
  3930. !     89,    86,     0,     0,   277,     0,     0,     0,   572,    65,
  3931. !    578,    67,   113,   511,     0,   674,   675,   154,     0,   153,
  3932. !    669,   691,     0,   294,   310,   295,     0,   668,   670,   698,
  3933. !    680,     0,   515,     0,     0,     0,   482,     0,   481,     0,
  3934. !      0,     0,     0,   473,    70,    58,    73,     0,    57,   473,
  3935. !      0,   477,   495,     0,   300,   301,     0,    55,    71,    56,
  3936. !     74,   305,   304,   315,   700,   331,   398,   394,   399,   410,
  3937. !    404,   405,   439,     0,     0,   442,   445,     0,     0,   428,
  3938. !      0,   700,   313,     0,     0,   346,   474,   501,   534,     0,
  3939. !      0,   733,   738,   473,   473,     0,   473,   743,     0,     0,
  3940. !      0,   163,     0,     0,   165,     0,     0,     0,     0,     0,
  3941. !      0,     0,     0,   162,   159,   158,   160,     0,     0,     0,
  3942. !      0,   217,     0,   116,   161,     0,     0,   187,     0,     0,
  3943. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3944.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3945. !    243,   245,   246,   279,   278,     0,     0,     0,     0,     0,
  3946. !    167,   471,     0,   175,   276,   223,     0,   697,   222,   261,
  3947. !    262,     0,   289,   552,   548,   557,     0,   477,   473,   473,
  3948. !    473,   291,   555,     0,   522,   293,     0,   292,   260,     0,
  3949. !    256,   270,   272,   519,     0,   257,   112,   111,   468,   387,
  3950. !    466,   377,     0,   319,     0,     0,   320,   321,   322,    33,
  3951. !      0,    28,    24,   696,   310,    26,   695,    30,   693,   122,
  3952. !    114,   504,   503,   232,   507,     0,    17,    20,    19,   332,
  3953. !     53,    49,    51,    52,    50,    46,     0,     0,     0,     0,
  3954. !    346,   104,    94,   105,     0,    87,    90,     0,     0,     0,
  3955. !    368,     0,   364,    84,     0,     0,    66,    69,   579,   573,
  3956. !    473,   473,   673,   686,   679,   677,   552,   548,     0,   687,
  3957. !    473,   690,   692,   688,     0,   689,   473,   672,   685,   678,
  3958. !    676,   671,   699,   682,   683,     0,   514,   478,   480,   479,
  3959. !      0,     0,   494,     0,   346,   327,   490,     0,     0,     0,
  3960. !    493,     0,   483,   302,   329,   346,   332,   420,     0,   419,
  3961. !    411,   412,   414,     0,   416,   438,   434,   433,   220,   523,
  3962. !    473,     0,   667,   700,   435,   443,   448,   449,   700,   700,
  3963. !    436,   446,   700,     0,   383,   430,   429,   431,   432,   332,
  3964. !    702,   310,   703,     0,     0,     0,   345,   347,   348,   742,
  3965. !    741,   705,   705,   705,     0,     0,     0,   522,     0,     0,
  3966. !    523,     0,   157,     0,     0,     0,     0,     0,     0,   238,
  3967. !    237,     0,   184,   119,   220,   523,   221,     0,     0,   369,
  3968. !    385,     0,   215,   214,   659,   658,     0,   212,   211,   209,
  3969. !    210,   208,   207,   206,   203,   204,   205,   201,   202,   196,
  3970. !    197,   198,   199,   200,   194,   195,     0,     0,     0,     0,
  3971. !      0,     0,   169,   181,     0,     0,   168,   473,   473,     0,
  3972. !    473,   470,   542,     0,     0,     0,     0,   264,     0,   266,
  3973. !      0,   516,   551,   550,   547,   546,   696,     0,     0,   566,
  3974. !      0,     0,   563,   290,   564,   553,   473,   667,   477,   552,
  3975. !    548,     0,     0,   473,   233,     0,   518,     0,     0,     0,
  3976. !    388,     0,   387,   152,   151,   150,   149,     0,    23,     0,
  3977. !    395,     0,     0,    16,   346,    35,    39,    37,    41,     0,
  3978. !      0,    92,     0,    96,     0,   100,     0,    98,     0,   365,
  3979. !      0,    85,    68,     0,   580,     0,   574,   575,   512,   509,
  3980. !    551,   547,   552,   548,     0,   485,     0,   473,   553,   552,
  3981. !    548,     0,   233,     0,   518,   510,     0,   681,   336,   473,
  3982. !    473,   473,   492,   342,   346,     0,     0,   422,   421,   415,
  3983. !      0,     0,   441,   346,     0,    79,     0,   332,   332,     0,
  3984. !    332,     0,   346,     0,   701,     0,     0,   343,   349,   707,
  3985. !    706,   708,   248,   164,     0,     0,     0,   166,   190,   192,
  3986. !    191,   254,   255,     0,     0,     0,     0,   240,     0,     0,
  3987. !      0,     0,   185,     0,   241,   244,   179,   178,   171,     0,
  3988. !    170,   183,     0,     0,   539,   537,     0,   540,   477,   176,
  3989. !      0,     0,   267,     0,     0,   549,   545,   556,   473,   565,
  3990. !    554,   559,     0,   561,     0,     0,   520,   521,     0,   259,
  3991. !    469,   467,   379,     0,    25,    29,   694,     0,     0,    44,
  3992. !     93,    91,     0,     0,     0,     0,   366,   362,     0,     0,
  3993. !    220,   523,   584,   596,   599,     0,   572,     0,     0,     0,
  3994. !      0,     0,     0,   221,   630,     0,   655,     0,   591,     0,
  3995. !      0,   310,     0,   568,   589,   595,   567,   590,   631,     0,
  3996. !    602,   606,   576,   551,   547,   487,   553,   521,   684,   334,
  3997. !    491,   488,   489,   340,   339,     0,     0,   413,   346,   346,
  3998. !     78,   458,   473,   220,   523,     0,   444,   450,   451,   700,
  3999. !    700,   346,   346,   447,     0,   437,   704,   333,   353,     0,
  4000. !      0,     0,     0,     0,     0,   373,     0,     0,   370,   188,
  4001. !    213,   126,     0,   172,   173,   180,   182,   538,   536,   543,
  4002. !    541,     0,   177,     0,   263,   265,   562,   473,   560,   228,
  4003. !    376,     0,    45,    95,    99,    97,   367,     0,   577,   571,
  4004. !    583,   645,   647,   572,   572,   572,     0,     0,     0,   616,
  4005. !    618,   619,   620,     0,     0,     0,   646,   572,   656,     0,
  4006. !    592,   285,   700,     0,   286,     0,   700,     0,   700,     0,
  4007. !      0,   581,   570,   569,   593,   629,   628,   572,   572,     0,
  4008. !      0,   337,   417,   418,   457,   454,   440,     0,     0,   346,
  4009. !    332,   332,   452,   455,   359,   360,   361,   358,     0,   351,
  4010. !    354,   344,     0,     0,     0,     0,   371,     0,     0,   126,
  4011. !    242,     0,   174,   544,   268,   558,   123,   363,     0,     0,
  4012. !      0,   587,     0,     0,   572,   648,     0,   651,     0,     0,
  4013. !    612,     0,   621,     0,   627,   632,     0,   281,   332,   283,
  4014. !    284,   332,     0,     0,     0,   280,   282,   582,   572,     0,
  4015. !      0,   335,   341,     0,    77,   346,   346,   465,   346,   346,
  4016. !      0,     0,   353,     0,     0,   250,   251,   252,   253,     0,
  4017. !    374,   127,   472,   137,     0,   585,   597,   588,   600,   652,
  4018. !    650,     0,   649,   144,     0,   310,     0,     0,     0,   617,
  4019. !    626,     0,     0,   594,   141,     0,   140,     0,   338,   464,
  4020. !    461,   459,   462,   453,   456,   352,   350,   220,     0,   372,
  4021. !      0,   572,     0,     0,     0,     0,   610,   700,   614,   613,
  4022. !      0,   635,     0,   633,   660,     0,   603,   607,     0,     0,
  4023. !      0,   355,   357,   138,   586,   573,   598,   148,   135,     0,
  4024. !      0,   654,     0,   653,   572,   332,     0,   637,   636,   638,
  4025. !      0,     0,   661,   662,   622,     0,     0,   460,   463,     0,
  4026. !    145,     0,     0,   601,   611,   346,   615,   634,     0,   660,
  4027. !      0,     0,     0,     0,   356,     0,     0,   136,     0,   639,
  4028. !      0,     0,   623,   663,   604,   608,   147,   146,   142,     0,
  4029. !    664,     0,     0,     0,     0,     0,     0,     0,   665,     0,
  4030. !    624,   605,   609,   143,     0,     0,   640,     0,     0,   643,
  4031. !    644,   666,   625,     0,     0,     0
  4032.   };
  4033.   
  4034. ! static const short yydefgoto[] = {  1354,
  4035. !      1,     2,   120,   568,   987,     3,     4,    31,    32,    33,
  4036. !    300,   551,   552,   553,    34,    91,    35,   577,   579,   578,
  4037. !    580,   576,    36,    37,    38,   415,   129,   130,   131,   341,
  4038. !    586,   587,   539,   588,   177,    39,    40,    41,   135,   262,
  4039. !    263,   303,   813,   304,  1151,   264,   988,  1281,  1216,  1236,
  4040. !   1237,  1336,  1277,   293,   793,   265,   448,   500,   757,   266,
  4041. !    267,   268,   294,   270,   510,   313,    43,   271,   460,  1052,
  4042. !    272,   273,   274,   275,   132,   276,   989,   405,   520,   777,
  4043. !    990,    45,   162,   991,    47,   163,   443,   164,   144,   156,
  4044. !     49,   635,   145,  1120,   406,  1194,   157,  1121,    50,  1040,
  4045. !    687,   688,   689,  1139,  1140,  1141,   969,   720,   721,    51,
  4046. !    543,   289,   912,   802,    52,    53,    54,    55,   181,   182,
  4047. !     56,    57,    58,   411,   651,   652,   653,   654,   184,   418,
  4048. !    419,   420,   421,   665,   671,   666,  1027,   667,   668,  1028,
  4049. !   1029,   540,   541,   501,   783,    59,   374,   375,   146,    60,
  4050. !     61,   147,   148,   114,    63,   511,   281,   282,   283,    65,
  4051. !    284,    67,    68,   180,    69,   285,   762,   763,   778,   523,
  4052. !    993,   994,  1161,   836,   837,   838,   350,   995,   996,  1084,
  4053. !   1252,  1163,   997,   998,  1189,  1085,  1253,  1086,  1254,  1118,
  4054. !   1296,  1334,  1119,  1297,  1335,  1285,  1229,  1287,  1172,   999,
  4055. !   1232,  1290,  1264,  1308,  1330,  1227,  1338,  1000,  1001,  1002,
  4056. !   1100,   727,  1292,  1293,  1294,  1340,   367,   779,   369,   370,
  4057. !    371,   558,   372,   107,   625,  1179,   683,   684,   438,    71,
  4058.       72
  4059.   };
  4060.   
  4061. ! static const short yypact[] = {    64,
  4062. !     80,-32768,-32768,  2131,-32768,   130,-32768,   283,    48,-32768,
  4063. ! -32768,   556,-32768,-32768,    66,    87,-32768,   206,-32768,  2650,
  4064. ! -32768,   210,-32768,  1299,  1299,-32768,  1901,-32768,-32768,   292,
  4065. ! -32768,   333,  3137,-32768,-32768,-32768,-32768,   573,   353,   368,
  4066. ! -32768,-32768,   166,  1701,-32768,  2829,-32768,  1033,   294,-32768,
  4067. ! -32768,   540,-32768,-32768,-32768,-32768,-32768,   396,  1486,-32768,
  4068. ! -32768,   591,-32768,-32768,-32768,    82,-32768,-32768,-32768,   214,
  4069. !   6712,-32768,-32768,-32768,-32768,  8620,  2499,-32768,   283,   210,
  4070. !    355,   414,   368,-32768,   214,-32768,   214,  8620,  8620,-32768,
  4071. !    512,-32768,   210,-32768,  4042,  3298,     1,   214,  8446,   283,
  4072. !   2225,-32768,   361,   267,  2225,-32768,   262,  2706,  2706,  1901,
  4073. !    383,   435,   166,   453,   495,   498,-32768,   571,   446,  2532,
  4074. !    224,  4042,  3192,   680,   723,   521,   617,-32768,    55,    16,
  4075. !    143,   143,-32768,-32768,   546,-32768,  6059,   532,-32768,  3255,
  4076. !   3255,  4407,   641,   569,-32768,-32768,   255,-32768,-32768,    82,
  4077. ! -32768,-32768,-32768,-32768,  1033,   669,-32768,   998,-32768,-32768,
  4078. ! -32768,  1070,   673,-32768,-32768,  4042,-32768,-32768,-32768,-32768,
  4079. ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,   368,   775,-32768,
  4080. !    609,   609,-32768,  2064,-32768,   673,-32768,   604,   970,-32768,
  4081. ! -32768,-32768,-32768,  3851,-32768,    50,-32768,   605,   633,-32768,
  4082. ! -32768,-32768,-32768,   640,-32768,-32768,-32768,-32768,-32768,-32768,
  4083.   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  4084. ! -32768,-32768,-32768,-32768,-32768,-32768,   601,-32768,-32768,   673,
  4085. !   1486,   654,   627,-32768,-32768,  9561,  9644,   659,   664,-32768,
  4086. ! -32768,-32768,-32768,-32768,-32768,   675,   689,   696,   698,   701,
  4087. !    262,  9312,-32768,-32768,  9312,-32768,-32768,  9312,  6796,  3961,
  4088. ! -32768,   422,-32768,  9312,-32768,  8707,-32768,-32768,  9780,-32768,
  4089. !    845,  1829,  8790,-32768,   781,   434,-32768,   126,  1601,  4144,
  4090. ! -32768,   160,-32768,   475,   813,  4042,     1,-32768,   262,   690,
  4091. ! -32768,   721,   743,  9688,   726,   728,   734,   800,-32768,  2499,
  4092. ! -32768,   609,-32768,-32768,-32768,   478,-32768,   125,-32768,-32768,
  4093. ! -32768,-32768,-32768,  2225,-32768,-32768,  2225,-32768,   758,-32768,
  4094. ! -32768,  3851,    47,-32768,   729,  2499,-32768,-32768,-32768,-32768,
  4095. !    521,   708,-32768,-32768,-32768,-32768,-32768,-32768,   712,-32768,
  4096. !    249,-32768,  6886,  8877,-32768,   143,   143,   803,-32768,-32768,
  4097. ! -32768,-32768,-32768,   855,   765,-32768,-32768,   743,   767,  9688,
  4098. !    296,  2466,  3192,  2466,  3043,  3464,   772,-32768,   100,  3351,
  4099. !    807,   819,-32768,   776,  8877,  3862,-32768,  3862,-32768,  4280,
  4100. !   4280,  4407,   785,-32768,-32768,-32768,   970,  4042,-32768,-32768,
  4101. !   6161,   792,-32768,  4311,  1070,  1033,  4042,-32768,-32768,-32768,
  4102. !    970,-32768,-32768,-32768,   521,-32768,-32768,-32768,-32768,   905,
  4103. ! -32768,-32768,-32768,  8877,   447,  1155,  3724,    60,  1544,-32768,
  4104. !    252,   521,   673,  2142,   802,   867,-32768,-32768,-32768,   796,
  4105. !    798,-32768,-32768,-32768,-32768,   164,-32768,-32768,  8877,   627,
  4106. !   6796,-32768,   229,  6796,-32768,  8877,  8964,  9312,  8620,  2142,
  4107. !   2142,  2142,  2142,-32768,-32768,-32768,-32768,   805,   809,   803,
  4108. !    810,-32768,  8620,-32768,-32768,  6623,  6796,-32768,  8877,  8877,
  4109. !   6976,  8877,  8877,  8877,  8877,  8877,  8877,  8877,  8877,  8877,
  4110. !   8877,  8877,  8877,  8877,  8877,  8877,  8877,  8877,  8877,  8877,
  4111. ! -32768,-32768,-32768,-32768,-32768,  8877,  8877,  8877,  8620,  1393,
  4112. !    564,   670,  7615,-32768,-32768,   283,   865,   912,-32768,   237,
  4113. !    244,   615,-32768,  1080,  1080,-32768,  3796,   814,   837,   884,
  4114. ! -32768,-32768,   490,  8090,   114,-32768,   188,-32768,-32768,  8877,
  4115. ! -32768,-32768,-32768,-32768,   626,-32768,-32768,-32768,   877,   874,
  4116. ! -32768,-32768,   262,-32768,  7438,  7528,-32768,-32768,-32768,-32768,
  4117. !    606,   879,-32768,-32768,  3594,   540,-32768,-32768,   887,-32768,
  4118. ! -32768,-32768,-32768,   844,-32768,   891,-32768,-32768,-32768,   712,
  4119. ! -32768,-32768,-32768,-32768,-32768,-32768,   893,   896,   897,   903,
  4120. !    867,-32768,-32768,   210,  8877,   906,-32768,   280,   420,   436,
  4121. ! -32768,  6263,  9757,-32768,   849,   143,-32768,-32768,-32768,    24,
  4122. ! -32768,-32768,-32768,-32768,-32768,-32768,   817,   817,  4802,-32768,
  4123. ! -32768,-32768,-32768,-32768,  8181,-32768,-32768,-32768,-32768,-32768,
  4124. ! -32768,-32768,-32768,-32768,   902,  6886,-32768,-32768,-32768,-32768,
  4125. !   3862,  3862,-32768,  4311,   867,-32768,   855,   861,   863,   866,
  4126. ! -32768,   872,-32768,  1070,-32768,   867,   712,-32768,   883,-32768,
  4127. !    923,-32768,-32768,   939,-32768,  9757,-32768,-32768,   922,    18,
  4128. ! -32768,  8877,  2818,   521,   930,-32768,-32768,-32768,   510,   611,
  4129. !    934,-32768,   521,   937,-32768,-32768,-32768,-32768,-32768,   748,
  4130. ! -32768,  3086,-32768,   281,   571,   916,   947,   867,-32768,-32768,
  4131. ! -32768,   282,   282,   282,   904,   908,  9051,   884,   913,   915,
  4132. !    192,   917,-32768,   918,   920,   938,   944,   948,   957,-32768,
  4133. ! -32768,   932,-32768,-32768,   975,   421,   338,  8877,   976,-32768,
  4134. !    987,   941,  9757,  9757,-32768,-32768,   988,  4588,  9818,  4862,
  4135. !   4703,  4168,  4535,  3669,  1937,  1937,  1937,  1334,  1334,  1050,
  4136. !   1050,   713,   713,   713,-32768,-32768,   955,   954,   959,   958,
  4137. !    961,  2142,   564,-32768,  6886,  8877,-32768,-32768,-32768,  8877,
  4138. ! -32768,-32768,   980,  9312,   967,   981,  1030,-32768,  8877,-32768,
  4139. !   8877,-32768,  1350,-32768,  1350,-32768,    71,   977,   978,-32768,
  4140. !    973,  2142,   855,-32768,   855,  1728,-32768,  1109,   983,  8272,
  4141. !   8272,  5855,   979,  8707,   383,   984,   498,   813,   989,  8877,
  4142. !    262,   982,   874,-32768,  9757,-32768,  9757,  2499,-32768,  2761,
  4143. !    662,  6886,   396,-32768,   867,-32768,-32768,-32768,-32768,   708,
  4144. !    994,-32768,   249,-32768,  8877,-32768,  8877,-32768,  8877,-32768,
  4145. !    116,-32768,-32768,   262,-32768,  5585,  1049,-32768,   855,   855,
  4146. !   1260,  1260,  1918,  1918,  4802,-32768,    82,-32768,  2412,  8359,
  4147. !   8359,  5957,   240,  1005,   341,   855,  6886,-32768,  1031,-32768,
  4148. ! -32768,-32768,-32768,  1051,   867,  8620,   905,-32768,-32768,-32768,
  4149. !   8877,  8877,   152,  4929,  1006,-32768,   401,   712,   712,  3568,
  4150. !    755,  2290,   867,  2142,-32768,    54,  1023,-32768,-32768,-32768,
  4151. ! -32768,-32768,-32768,-32768,  9395,  9395,  7066,-32768,-32768,-32768,
  4152. ! -32768,-32768,-32768,  1024,  1029,  1032,  1034,-32768,  4688,  6886,
  4153. !   6353,  1020,-32768,  8877,-32768,-32768,-32768,-32768,   474,  1035,
  4154. ! -32768,-32768,  1039,    44,   181,   181,  1027,   181,-32768,-32768,
  4155. !   9312,  1128,-32768,  1044,  1046,-32768,-32768,-32768,-32768,-32768,
  4156. ! -32768,   855,  1059,-32768,  1047,  1062,-32768,-32768,   452,-32768,
  4157. !   9757,-32768,-32768,  1063,-32768,-32768,-32768,  2064,   708,-32768,
  4158. ! -32768,-32768,  1068,  1071,  1073,  6443,-32768,-32768,   745,   289,
  4159. !   1075,   575,-32768,-32768,-32768,  1065,-32768,  8877,  1116,  1121,
  4160. !   1122,  8533,    67,   572,-32768,  1129,  1175,  1131,-32768,  2565,
  4161. !   4428,  2918,  5022,-32768,-32768,  1170,-32768,-32768,-32768,  7718,
  4162. ! -32768,-32768,-32768,  1260,  1260,-32768,  2412,  1408,-32768,-32768,
  4163. !    855,   855,   855,-32768,  1132,  1089,  1093,-32768,  4929,  4929,
  4164. ! -32768,-32768,-32768,  1138,   624,  8877,-32768,-32768,-32768,   521,
  4165. !    521,   867,   867,-32768,  2406,-32768,-32768,-32768,   583,  6886,
  4166. !   8877,  8877,  8877,  8877,  6886,-32768,  8877,  1140,-32768,-32768,
  4167. !   9801,   546,  8877,-32768,   474,-32768,-32768,-32768,-32768,-32768,
  4168. ! -32768,  1100,-32768,  1163,-32768,-32768,   855,-32768,-32768,-32768,
  4169. ! -32768,    73,-32768,-32768,-32768,-32768,-32768,   262,-32768,-32768,
  4170. ! -32768,-32768,-32768,-32768,-32768,   803,  6533,  1123,  4518,-32768,
  4171. ! -32768,-32768,-32768,  1153,  8877,  1158,-32768,-32768,-32768,  1130,
  4172. ! -32768,-32768,   191,   763,-32768,   788,   521,  9138,   427,   797,
  4173. !    307,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  6886,
  4174. !   6886,-32768,-32768,-32768,-32768,-32768,   152,  8877,  8877,  4929,
  4175. !    712,   712,  1159,  1161,-32768,-32768,-32768,-32768,   315,-32768,
  4176. !   1133,-32768,  1120,  1126,  1127,  1137,-32768,  9711,  6886,   546,
  4177. ! -32768,  1119,-32768,-32768,-32768,   855,-32768,-32768,   462,   462,
  4178. !   8000,-32768,  1210,  1184,  1139,-32768,  1189,-32768,  8620,  8877,
  4179. ! -32768,  7820,-32768,  1190,-32768,-32768,   571,-32768,   712,-32768,
  4180. ! -32768,   712,  9478,  9478,  7156,-32768,-32768,-32768,   803,  7246,
  4181. !   7246,-32768,-32768,  6886,-32768,  4929,  4929,-32768,   867,   867,
  4182. !   6886,  6886,   583,  1146,  9225,-32768,-32768,-32768,-32768,  6886,
  4183. ! -32768,-32768,-32768,-32768,  8620,-32768,-32768,-32768,-32768,-32768,
  4184. ! -32768,  5675,-32768,-32768,  1148,   416,  4042,  9734,  7820,-32768,
  4185. ! -32768,  5141,    51,-32768,-32768,  1198,-32768,  1199,-32768,-32768,
  4186. ! -32768,  1174,  1200,-32768,-32768,-32768,-32768,   369,  1154,-32768,
  4187. !   1160,   803,  7910,   527,   370,  5273,-32768,   521,-32768,-32768,
  4188. !    379,-32768,  5377,-32768,  1248,  1204,-32768,-32768,  6886,  6886,
  4189. !   8877,-32768,-32768,-32768,-32768,    25,-32768,-32768,-32768,  8877,
  4190. !   1205,-32768,  1213,-32768,   803,   712,  7820,-32768,-32768,-32768,
  4191. !   1178,   271,  1216,-32768,-32768,  7336,  7336,-32768,-32768,  1171,
  4192. ! -32768,  5765,  1172,-32768,-32768,   867,-32768,  1181,  8877,  1248,
  4193. !   1222,  1248,  1177,  1187,-32768,   397,  5481,-32768,  1233,-32768,
  4194. !   1192,   365,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1208,
  4195. ! -32768,  1271,  1236,  7910,  7910,  6886,  3413,   803,-32768,   410,
  4196. ! -32768,-32768,-32768,-32768,  1195,  1197,-32768,  1296,  1251,-32768,
  4197. ! -32768,-32768,-32768,  1308,  1309,-32768
  4198.   };
  4199.   
  4200.   static const short yypgoto[] = {-32768,
  4201. !   1191,-32768,-32768,   986,     7,  1310,-32768,-32768,-32768,-32768,
  4202. ! -32768,-32768,-32768,   507,-32768,-32768,-32768,-32768,-32768,-32768,
  4203. ! -32768,  -770,  1196,  1207,-32768,-32768,-32768,-32768,  1201,-32768,
  4204. ! -32768,   496,   135,-32768,-32768,-32768,  2838,   -25,-32768,  1221,
  4205. !    888,  -999,-32768,   -88,   178,-32768,   895,-32768,   169,   139,
  4206. !  -1101,-32768,  -524,  1474,   -99,   619,-32768,-32768,  -714,  3947,
  4207. !     43,  -240,  2252,  2872,   825,  1176,   432,-32768,-32768,-32768,
  4208. ! -32768,  -273,-32768,  -116,   -94,-32768,   266,    17,  -276,   132,
  4209. !     75,  -106,  -109,    -3,  1594,    27,  1371,  -118,  -752,   364,
  4210. ! -32768,   -82,-32768,-32768,   265,-32768,-32768,-32768,-32768,-32768,
  4211. !    327,-32768,   677,-32768,   155,-32768,-32768,   730,   769,    74,
  4212. ! -32768,-32768,-32768,   560,  -272,    13,  1335,  1336,-32768,-32768,
  4213. ! -32768,-32768,-32768,  -141,-32768,   500,   716,-32768,   559,   418,
  4214. !    497,  -414,-32768,-32768,-32768,-32768,-32768,-32768,   960,-32768,
  4215. !    501,   835,   582,   889,  2241,  1820,  -368,-32768,  3695,   -55,
  4216. !     10,-32768,  4252,   -90,   717,-32768,  3290,-32768,-32768,  3834,
  4217. !     -4,   245,  -328,  1372,  3416,   871,  -214,-32768,  4134,-32768,
  4218. !  -1157,  -942,  -343,   117,-32768,   553,   -97,  -122,-32768,-32768,
  4219. ! -32768, -1137,  -860, -1112,-32768,-32768,-32768,-32768,-32768,-32768,
  4220.   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  4221. ! -32768,-32768,-32768,-32768,-32768,   -37,-32768,-32768,-32768,-32768,
  4222. ! -32768,  -425,    86,-32768,    90,-32768,  -354,  -133,-32768,-32768,
  4223. !   -293,  1052,  -286,-32768,-32768,    40,   530,-32768,    57,-32768,
  4224.     -260
  4225.   };
  4226.   
  4227.   
  4228. ! #define    YYLAST        9897
  4229.   
  4230.   
  4231.   static const short yytable[] = {    66,
  4232. !     46,   323,   525,   368,   677,   600,   557,    85,   351,   351,
  4233. !     30,   533,   590,   559,   195,    85,    96,   315,   318,   103,
  4234. !    103,    84,   103,   642,   536,   468,   179,   556,    66,   123,
  4235. !    362,   291,    97,   232,   352,   347,   640,   359,   921,   150,
  4236. !    412,    66,   195,   403,   404,   395,   353,    85,  1218,   960,
  4237. !   1113,  1234,  1150,     8,    85,   505,  -124,   834,   834,   505,
  4238. !    143,    84,   505,    -1,  1256,   196,    85,  1225,    75,    78,
  4239. !    310,   345,    85,    96,  1263,   128,   557,   872,    44,    -2,
  4240. !    603,   655,    85,   559,     7,     8,    76,   513,   525,   287,
  4241. !    150,    85,    77,    85,    95,   674,   103,   302,   342,   308,
  4242. !    103,   189,    93,   103,   103,   103,   426,   122,   674,   618,
  4243. !   1265,   301,   343,  1251,  1275,    66,    46,   150,    66,   311,
  4244. !   -473,   165,    19,  -473,   429,   604,   835,  1301,   100,   100,
  4245. !    605,   697,  1114,   363,    22,   150,   150,   150,   331,  1117,
  4246. !   1278,  1095,   344,   348,  1317,  1057,    82,  1305,   566,   781,
  4247. !   1150,   286,  1266,    88,   619,  1038,   190,   784,   427,   620,
  4248. !    560,   150,   675,   606,    26,   339,   698,   100,  -473,   513,
  4249. !    966,  -473,   713,  -473,    89,  1157,    21,    93,    93,    66,
  4250. !    417,   396,   387,  -473,   100,    73,   176,   427,  1073,   103,
  4251. !    514,     8,   621,   362,    44,   425,   349,   401,   538,   429,
  4252. !    515,  -473,  -473,   529,  1054,  -700,  -473,   277,    90,   136,
  4253. !    516,  -700,   423,   517,   518,  -473,    93,     8,   967,   295,
  4254. !    297,  1278,  1278,   351,   351,   599,    85,   436,   165,   195,
  4255. !    277,    21,    74,    93,   502,   165,   165,  1104,   190,  1110,
  4256. !     93,   312,    75,   188,   595,   758,  1178,   530,   597,   598,
  4257. !    596,   582,     8,   137,   138,   759,   581,   368,   416,   165,
  4258. !     76,   533,   190,   362,    78,   310,    93,    85,   361,   760,
  4259. !    100,   512,   513,   436,   436,   527,   403,   404,    99,   329,
  4260. !    768,   150,   188,  -230,   362,   100,   644,   770,   427,   315,
  4261. !    318,   639,   583,   900,   455,    85,   363,   456,   390,    21,
  4262. !    457,   584,   537,   165,   404,   603,   465,   678,   875,   103,
  4263. !    193,  1230,   103,  1113,   311,   504,   697,   103,   646,    93,
  4264. !   1113,    85,    96,   824,   769,   655,   330,  -230,  -230,   193,
  4265. !   1310,   771,    21,    75,    93,   884,   585,   712,    97,   695,
  4266. !   1153,  -224,   391,   392,  1080,   425,   434,   193,   166,   167,
  4267. !    604,    76,   165,  -696,   679,   605,   435,   150,    66,   150,
  4268. !    150,   527,  1080,     7,   100,    66,   363,   825,  1260,  1203,
  4269. !    570,   150,  1311,   150,  1113,   150,   150,   150,   610,   118,
  4270. !    614,   616,   885,   150,  -231,   454,   119,   363,   606,   150,
  4271. !    461,  1081,   150,   425,   193,  1114,   747,  -103,   749,   750,
  4272. !     95,    19,  1114,  1024,  1025,    85,    99,   425,   133,  1188,
  4273. !    362,   150,    66,    22,    66,   417,  1204,   362,   134,    85,
  4274. !    945,   160,   161,  1271,  1332,  1080,  1307,    12,  -231,  -231,
  4275. !    799,   554,   664,   943,  1080,   190,     7,   506,   165,   507,
  4276. !    193,    19,  -225,    26,   647,    85,    85,    85,    85,   183,
  4277. !     17,    21,  1080,    22,     7,     8,  1114,   288,   113,   513,
  4278. !   1026,   680,   502,   826,  1348,   140,  1333,   290,   165,   165,
  4279. !   1272,    75,  1282,   351,    19,   141,   463,     7,     8,   828,
  4280. !   -102,  1288,  1186,    26,  -224,   821,    22,   815,   142,    76,
  4281. !    703,   464,    19,   416,   590,    85,   165,   436,   833,  1327,
  4282. !    657,   554,   362,   697,    22,  1214,   658,   827,   362,   436,
  4283. !    436,  1349,   527,   363,   557,    19,   508,   754,   188,    66,
  4284. !    363,   559,   361,   829,   533,   403,   429,    22,   193,   368,
  4285. !    179,   755,   463,   787,    26,   556,   320,   536,   655,   113,
  4286. !    113,   113,    78,    79,   168,   169,   170,   561,   324,  1215,
  4287. !    150,    85,   193,   468,   321,   681,   362,    26,    78,    79,
  4288. !   1062,   756,  1053,  -287,   865,    84,   298,   299,   886,  -287,
  4289. !   1279,   616,   696,   113,   171,   699,   425,   788,   789,   235,
  4290. !    705,   706,   707,   708,   709,    78,   310,  1135,  1136,  1137,
  4291. !     21,   187,    80,   172,   277,   127,  -508,   883,   722,  -225,
  4292. !    719,   188,   150,   150,   847,   363,    21,   754,    80,    81,
  4293. !    847,   363,   188,  -700,  1280,  -700,  -700,     7,   506,   340,
  4294. !    677,   755,  -700,   388,   389,    75,   150,   150,   165,   150,
  4295. !    751,  1097,   128,  1088,  1083,   311,   373,   173,   174,   175,
  4296. !     99,   385,   302,    76,  -700,  -700,  -700,   698,  -700,    85,
  4297. !   -700,   756,   636,   425,   368,    19,   923,   100,   847,   363,
  4298. !    808,   645,   241,  -700,  -288,  -700,  -700,    22,   410,   934,
  4299. !   -288,   935,  -700,   100,    75,   809,    21,   436,   160,   161,
  4300. !    193,   362,   188,  1129,    12,   362,   425,   436,   436,   436,
  4301. !    811,   424,    76,   430,  -700,  -700,   386,    26,  -700,   432,
  4302. !   -700,   362,   188,   876,    21,   433,    93,    17,   878,   879,
  4303. !   1058,  1059,   881,  1061,   439,   698,   -27,   165,   434,   -27,
  4304. !     21,   431,    93,   397,   398,   963,   719,   964,   435,   965,
  4305. !    571,   -27,   188,   333,   758,   334,    13,    14,   362,   335,
  4306. !   1159,  1160,   195,   115,   759,   362,   446,    85,   890,   891,
  4307. !    892,   447,   315,   318,  1176,   165,   193,   450,   760,   315,
  4308. !    318,   572,   449,   573,   451,   574,   452,   575,   436,   453,
  4309. !    436,   193,    13,    14,  1190,  1191,   336,    85,   337,    13,
  4310. !     14,   436,   338,    85,   363,    66,    66,    66,   363,   505,
  4311. !    489,   490,   542,   949,   361,  1032,  1033,   545,  1033,  1078,
  4312. !   1079,   -81,   550,    85,   363,    85,   930,   -81,   -80,  1342,
  4313. !   1343,   113,   113,   113,   -80,   531,     8,   388,  1180,     7,
  4314. !      8,  1222,   544,    11,   115,   115,   115,   547,   407,   548,
  4315. !    408,   567,   455,   456,   409,   549,   150,   150,   150,   150,
  4316. !    847,   363,   397,  1181,   150,   847,   847,   847,   363,   241,
  4317. !    532,   388,  1187,    19,   442,   445,   349,    19,   115,   564,
  4318. !    513,   427,    85,    21,  -695,    93,   601,    21,   602,    22,
  4319. !   1313,  1314,   150,   617,    70,   103,   626,    66,   417,    85,
  4320. !    627,   607,    87,   920,   425,   425,   633,   425,   491,   685,
  4321. !     98,   608,   455,   456,   104,   104,   641,   104,   686,    26,
  4322. !    690,   516,   691,    70,   609,   518,   710,   820,     8,   648,
  4323. !    711,   713,  1021,   722,   104,   766,    70,   767,   780,   361,
  4324. !    436,   436,    87,   436,   782,   492,   493,   784,   801,    98,
  4325. !    494,   495,   496,   497,   800,   649,   810,   455,   456,   554,
  4326. !    650,    98,     8,   868,   812,  -228,   814,    98,   816,   698,
  4327. !    832,   817,   818,    66,   417,    21,   416,    93,   819,   857,
  4328. !    823,   859,   860,  1162,   861,   104,    98,   862,   968,   649,
  4329. !    866,   104,   864,  1063,   869,   104,   863,   867,   104,   104,
  4330. !    104,   871,   292,   296,   877,   150,    66,   150,   880,    21,
  4331. !     70,    93,   104,    70,    13,    14,   882,  1017,   399,   150,
  4332. !    150,  -332,   150,   887,   888,   893,  1103,   904,  1109,   894,
  4333. !    104,   104,   104,   905,   898,   681,   899,   906,   901,   902,
  4334. !   -700,   903,  -700,  -700,  -332,  -332,   907,  -332,   461,  -700,
  4335. !     66,   417,   416,   908,  -101,   910,   104,   159,   160,   161,
  4336. !    113,   911,   913,   557,    12,  1048,   113,   914,  1199,  1200,
  4337. !   1346,  -700,  -700,   400,    70,  -700,   915,  -700,   916,   918,
  4338. !   1233,   917,   919,   932,   104,   165,  1162,    17,   929,  1131,
  4339. !   1132,   931,   594,   933,   402,   160,   161,   940,   938,   939,
  4340. !    947,    12,   834,   100,   953,   948,    11,   944,  1010,   188,
  4341. !    950,   193,   315,   318,   113,   961,   115,   115,   115,   646,
  4342. !   1048,    98,   104,   847,    17,  1249,  1008,  1023,  1014,   416,
  4343. !   1039,  1041,     8,    92,    10,    11,  1042,  1096,   356,  1043,
  4344. !     12,  1044,  1050,   513,   486,   487,   488,   489,   490,  1162,
  4345. !     21,  1060,    93,  1064,  1082,    15,  1055,   425,   425,    16,
  4346. !   1056,   959,    98,    17,   514,  1065,  1182,  1066,   104,   104,
  4347. !     70,  1069,  1087,   459,   515,   535,   104,   659,   660,    21,
  4348. !   1068,    93,  1162,  1070,   516,  1071,  1195,   517,   518,  1074,
  4349. !     98,  1300,  1075,  1138,  1076,  1090,  1091,  1092,   847,   847,
  4350. !    847,  1099,  1098,  1115,   104,   425,  1101,   104,   425,  1122,
  4351. !   1123,  1015,   104,   193,  1124,    19,    98,  1128,   661,  1149,
  4352. !   1022,   357,   112,  1306,  1154,    21,  1155,    22,  1173,  1036,
  4353. !   1169,    98,  1158,  1175,   662,  1347,  1201,  1177,  1202,   140,
  4354. !   1205,  1206,   150,  1213,  1219,   455,   456,  1207,  1208,   141,
  4355. !    362,  1269,   104,    70,   104,   104,    70,    26,  1209,  1220,
  4356. !     70,  1221,   663,  1258,  1223,  1231,   104,  1247,   104,  1257,
  4357. !    104,   104,   104,  1267,  1268,  1273,  1291,  1270,   104,  1295,
  4358. !   1304,  1274,     7,     8,   104,  1309,   185,   104,  1080,   628,
  4359. !   1312,  1320,  1315,  1318,   113,   113,   113,  1323,  1325,  1339,
  4360. !     98,   113,   113,   113,   316,   319,   104,    70,  1326,    70,
  4361. !   1329,  1341,   425,  1331,    98,  1337,  1350,  1286,  1351,   165,
  4362. !     19,     7,   100,   513,  1352,    11,  1353,  1355,  1356,   325,
  4363. !     21,     5,    22,   569,   955,   327,   461,   112,   962,   306,
  4364. !     98,    98,    98,    98,   607,   115,   328,  1212,  1217,  1238,
  4365. !    346,   115,    85,   363,   608,   459,   772,  1138,   459,    19,
  4366. !    700,   702,    26,   704,   516,  1125,  1126,   609,   518,    21,
  4367. !    714,    22,  1168,   100,  1106,   858,   185,  1246,  1133,  1134,
  4368. !    831,   459,   954,    24,   889,   726,  1018,   124,   125,   870,
  4369. !     98,   958,   104,    25,    48,  1072,   672,   803,  1035,   115,
  4370. !   1034,    26,   952,    86,   104,   104,    27,    70,   753,  1003,
  4371. !     48,   748,  1302,   513,   798,  1322,     8,   765,    10,    11,
  4372. !     21,  1324,    93,    48,    12,   535,   484,   485,   486,   487,
  4373. !    488,   489,   490,  1037,   514,     0,   155,  -232,     0,    15,
  4374. !      0,   624,     0,    16,   515,   104,    87,    17,     0,   186,
  4375. !      0,     0,  -232,  -232,   516,     0,     0,   517,   518,  -232,
  4376. !      0,   230,     0,    21,     0,    93,   279,    48,     0,     0,
  4377. !      0,  -232,     0,     0,     0,     0,  1198,     0,   279,   279,
  4378. !      0,     0,  -232,  -232,     0,  -232,   155,  -232,   554,   279,
  4379. !      0,     0,     0,     0,     0,     0,     0,   104,   104,    70,
  4380. !    752,     0,     0,     0,   922,   798,     0,     0,     0,     8,
  4381. !     48,    10,   185,   155,     0,  -232,  -232,    12,     0,  -232,
  4382. !   -232,   104,   104,     0,   104,     0,     0,   365,     0,  -232,
  4383. !      0,     0,    15,     0,     0,     0,    16,     0,     0,     0,
  4384. !     17,     0,  1240,  1241,    98,  1242,  1243,     0,     0,     0,
  4385. !      0,     0,     0,    70,     0,     0,    21,     0,    93,   113,
  4386. !      0,   957,     0,     0,   413,     0,     7,     8,    92,    10,
  4387. !     11,     0,   104,     0,    48,    12,   316,   319,     0,   115,
  4388. !    115,   115,   104,   104,   104,     0,   115,   115,   115,     0,
  4389. !     15,     0,     0,     0,    16,     0,     0,     0,    17,  -425,
  4390. !      0,     0,     0,     0,    19,     0,  1009,     0,     0,     0,
  4391. !      0,     0,     0,     0,    21,     0,    22,     0,     0,   676,
  4392. !      0,   186,     0,   414,   100,     0,   160,   161,    24,     0,
  4393. !    358,     0,    12,     0,   113,   113,   113,     0,    25,     0,
  4394. !      0,     0,    98,     0,     0,     0,    26,     0,     0,   279,
  4395. !      0,    27,  1319,     0,     0,    17,     0,     0,     0,  1046,
  4396. !   1049,     0,   230,   104,   513,   104,  -425,     0,     0,     0,
  4397. !    186,    21,    98,    93,   927,     0,   104,     0,    98,     0,
  4398. !    798,   798,   798,     0,   229,   514,     0,     0,   535,   278,
  4399. !    555,     0,     0,     0,     0,   515,     0,     0,    98,     0,
  4400. !     98,   278,   278,     0,     0,   516,   459,     0,   524,   518,
  4401. !      0,     0,   278,    98,     0,  1049,    48,     0,     0,   796,
  4402. !      0,     0,     0,     7,     8,     0,     0,     0,     0,     0,
  4403. !      0,   104,   104,   104,   104,    70,     0,     0,     0,   104,
  4404. !    798,   798,   798,     0,     0,     0,     0,     0,     0,     0,
  4405. !    364,   100,     0,   155,   427,     0,   186,    98,     0,     0,
  4406. !    555,    19,     0,     0,     0,     0,   459,   104,     0,     0,
  4407. !    104,    21,    70,    22,    98,     0,   139,     0,     0,     0,
  4408. !   1016,   365,     0,     0,     0,   140,     0,     0,     0,  1142,
  4409. !      0,   513,     0,     0,  1147,   141,     0,     0,    21,     0,
  4410. !     93,     0,     0,    26,   112,     0,     0,   155,   142,    48,
  4411. !    854,   459,   514,     0,   682,   104,   104,     0,   104,     0,
  4412. !      0,     0,   515,     0,     0,     0,     0,     0,     0,     0,
  4413. !      0,   279,   516,     0,   279,   517,   518,   358,     0,   279,
  4414. !    682,   682,   682,   682,   115,     0,     0,     0,    70,     0,
  4415. !      0,     0,     8,   279,    10,    11,     0,   279,   112,     0,
  4416. !     12,     0,     0,   101,   105,     0,     0,     0,     0,  1192,
  4417. !   1193,     0,   278,     0,     0,    15,     0,     0,     0,    16,
  4418. !    104,    70,   104,    17,   358,   229,     0,     0,     0,   279,
  4419. !    230,     0,   796,     0,   104,   104,  1094,   104,  1211,    21,
  4420. !      0,    93,   498,     0,     0,     0,     0,   555,     0,     0,
  4421. !    231,     0,     0,   364,   365,   280,     0,     0,     0,   115,
  4422. !    115,   115,     0,     7,   100,    70,     0,   280,   280,     0,
  4423. !      0,     0,   358,     0,     0,     0,   499,     0,   280,     0,
  4424. !      7,     8,     0,  1239,    11,     0,     0,   314,   317,     0,
  4425. !   1244,  1245,     0,     0,     0,  1143,  1144,  1145,  1146,  1250,
  4426. !      0,    19,     0,     0,     0,     0,     0,  1152,     0,     0,
  4427. !      0,    21,     0,    22,     0,     0,   366,     0,    19,   376,
  4428. !    378,   513,     0,   364,     0,   108,   316,   946,    21,   358,
  4429. !     22,   358,   358,     0,     0,   109,     0,     0,   798,   555,
  4430. !      0,  1167,   843,    26,   364,   365,     0,     0,   110,  1174,
  4431. !      0,     0,   844,     0,     0,     0,     0,   358,  1298,  1299,
  4432. !     26,     0,   516,   358,     0,   845,   518,   482,   483,   484,
  4433. !    485,   486,   487,   488,   489,   490,     0,   278,     0,   316,
  4434. !    319,     0,     0,     0,     0,     0,   316,   319,     0,     0,
  4435. !      0,     0,     0,   555,   278,     0,     0,   278,     0,     0,
  4436. !      0,     0,   278,   278,   278,   278,   278,     0,     0,     0,
  4437. !      0,     0,     0,   798,   798,   798,   278,     0,   358,     0,
  4438. !    278,     0,     0,  1224,   413,  1344,     7,     8,    92,    10,
  4439. !     11,   316,   946,     0,     0,    12,     0,     0,   280,   459,
  4440. !      0,     0,     0,     0,  1224,  1224,     0,     0,   358,     0,
  4441. !     15,   231,   278,   229,    16,     0,     0,   104,    17,  -424,
  4442. !      0,     0,     0,     0,    19,     0,     0,     0,     0,  1224,
  4443. !    364,     0,     0,     0,    21,     0,    22,   364,     0,   366,
  4444. !      0,     0,   682,   414,     0,     0,   924,     0,    24,     0,
  4445. !      0,     6,     0,     7,     8,     9,    10,    11,    25,     0,
  4446. !      0,     0,    12,     0,     0,     8,    26,    10,    11,     0,
  4447. !      0,    27,   682,    12,     0,    13,    14,    15,   555,     0,
  4448. !      0,    16,   365,     0,     0,    17,  -424,     0,    15,    18,
  4449. !    358,    19,    16,     0,  1303,    20,    17,     0,   555,     0,
  4450. !    956,    21,     0,    22,     0,     0,    23,     0,     0,   366,
  4451. !    726,   726,    21,     0,    93,    24,     0,     0,     0,   631,
  4452. !    632,     0,   364,  1321,     0,    25,   992,    98,   364,     0,
  4453. !    366,     0,     0,    26,     0,   555,     0,     0,    27,     0,
  4454. !      0,     0,   365,     0,    28,    29,     0,     7,   100,   358,
  4455. !      0,   185,     0,     0,     0,     0,   279,     0,     0,     0,
  4456. !      0,     0,   358,   280,   358,     0,     0,     0,     0,     0,
  4457. !      0,     0,    48,     0,   682,     0,   364,     0,     0,     0,
  4458. !    280,     0,     0,   280,     0,    19,     0,   279,   280,   280,
  4459. !    280,   280,   280,     0,     0,    21,     0,    22,     0,     0,
  4460. !      0,     0,   280,   854,     0,     0,   280,     0,     0,    24,
  4461. !    413,     0,     7,     8,    92,    10,    11,     0,   358,    25,
  4462. !    358,    12,   358,     0,     0,     0,     0,    26,     0,   194,
  4463. !      0,     0,    27,     0,     0,     0,    15,     0,   280,   231,
  4464. !     16,     0,     0,     0,    17,  -427,     0,   269,    48,     0,
  4465. !     19,     0,     0,   773,   775,     0,   366,     0,     0,     0,
  4466. !     21,     0,    22,   366,     0,   278,     0,     0,     0,   414,
  4467. !    269,     0,     0,     0,    24,     0,     0,   322,     0,   316,
  4468. !    319,   155,     0,   992,    25,     0,     0,     0,     0,     0,
  4469. !    992,     0,    26,     0,     0,   278,   354,    27,     0,     0,
  4470. !      0,   364,     0,     0,     0,   364,     0,     0,   360,     0,
  4471. !      0,   394,  -427,     0,     0,     0,     0,     0,     0,     0,
  4472. !      0,   364,     0,     0,     0,    48,   413,     0,     7,     8,
  4473. !     92,    10,    11,     0,     7,     8,     0,    12,   427,     0,
  4474. !      0,     0,     0,     0,     0,     0,   841,   842,   366,     0,
  4475. !      0,     0,    15,     0,   366,     0,    16,     0,   364,     0,
  4476. !     17,  -426,     0,     0,     0,   364,    19,     0,     0,     0,
  4477. !      0,     0,    19,     0,     0,   513,    21,   992,    22,   278,
  4478. !      0,   676,    21,     0,    22,   414,     0,     0,     7,     8,
  4479. !     24,     0,     0,     0,     0,     0,   607,   278,     0,     0,
  4480. !     25,     0,   366,     0,     0,     0,   608,     0,    26,     0,
  4481. !    278,     0,     0,    27,    26,     0,   516,     0,     0,   609,
  4482. !    518,     0,     8,    92,    10,    11,    19,     0,  -426,   513,
  4483. !     12,   462,     0,     0,     0,     0,    21,     0,    22,     0,
  4484. !      0,     0,     0,     0,     0,    15,     0,     0,     0,    16,
  4485. !    607,   992,     6,    17,     7,     8,     9,    10,    11,  1226,
  4486. !    608,     0,   992,    12,     0,     0,     0,     0,    26,    21,
  4487. !    516,    93,     0,   609,   518,   279,     0,     0,    15,     0,
  4488. !   1226,  1226,    16,     0,     0,     0,    17,     7,     8,     0,
  4489. !      0,   280,    19,     0,     0,     0,   326,     0,     0,     0,
  4490. !      0,   358,    21,     0,    22,  1226,     0,    23,     0,     0,
  4491. !      0,     0,   992,     0,   593,   360,    24,     0,     0,   992,
  4492. !      0,   280,   992,     0,     0,    19,    25,   366,     0,   773,
  4493. !    775,   366,     0,     0,    26,    21,     0,    22,     0,    27,
  4494. !   1102,     0,     0,   992,   634,    28,   992,   366,     0,   140,
  4495. !    637,     0,     0,   992,     0,     0,     0,     0,     0,   141,
  4496. !      0,     0,   360,     0,     0,     0,     0,    26,     0,     0,
  4497. !      0,     0,   142,     8,    92,    10,    11,   992,     0,     0,
  4498. !      0,    12,  1004,  1005,   366,   656,     0,     0,     0,  1004,
  4499. !   1005,   366,   992,     0,   692,   693,    15,   694,   358,     0,
  4500. !     16,     0,     0,     0,    17,   280,     0,   992,     0,     0,
  4501. !    360,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4502. !     21,     0,    93,   280,   992,   992,     0,   555,     7,   100,
  4503. !      0,     0,    11,     0,   269,     0,   280,   593,    94,     0,
  4504. !    723,   724,     0,   728,   729,   730,   731,   732,   733,   734,
  4505. !    735,   736,   737,   738,   739,   740,   741,   742,   743,   744,
  4506. !    745,   746,     0,     0,   358,     0,    19,   360,     0,   360,
  4507. !    360,     0,     0,     0,     0,     0,    21,     0,    22,     0,
  4508. !    785,   786,   229,     0,     8,   785,    10,     0,     0,     0,
  4509. !    108,     0,    12,     0,     0,   360,     0,     0,   278,     0,
  4510. !    109,   360,     0,   229,   229,     0,     0,    15,    26,     0,
  4511. !      0,    16,     0,   110,     0,    17,   805,   807,     0,     0,
  4512. !      0,     0,     0,     0,     0,     0,     0,     0,   229,     0,
  4513. !      0,    21,     0,    93,     0,     0,     0,     0,     0,     0,
  4514. !      7,     8,    92,    10,    11,     0,     0,   356,     0,    12,
  4515. !      0,     7,     8,   152,    10,   153,   360,     0,     0,     0,
  4516. !     12,   839,   840,   593,    15,     0,     0,     0,    16,    83,
  4517. !      0,   849,    17,     0,     0,    15,     0,   856,    19,    16,
  4518. !      0,    83,    83,    17,    83,     0,   360,     0,    21,    19,
  4519. !     22,     0,     0,     0,     0,    42,     0,   593,     0,    21,
  4520. !      0,    22,   380,     0,   154,     0,     0,     0,     0,   178,
  4521. !      0,     0,   381,    24,     0,    42,    42,     0,   111,     0,
  4522. !     26,   873,     0,    25,    42,   382,     0,     0,     0,     0,
  4523. !    357,    26,     0,   874,     0,    42,    27,    42,     0,     0,
  4524. !      7,     8,   159,   160,   161,     0,     0,     0,     0,    12,
  4525. !    364,     0,     0,     0,     0,     0,     0,   191,    83,     0,
  4526. !     83,    83,    83,     0,     0,    83,    83,    83,   360,     0,
  4527. !      0,     0,    17,     0,     0,     0,     0,     0,    19,     0,
  4528. !      0,   513,     0,     0,     0,     0,    42,     0,    21,   909,
  4529. !     22,     0,    42,     0,   191,     0,    42,     0,     0,   111,
  4530. !    111,   111,   140,     0,     0,     0,     0,     0,   231,     0,
  4531. !      0,    42,   141,    42,    42,     0,     0,     0,   925,   926,
  4532. !     26,   928,   631,   632,   280,  1108,   593,   360,     0,   231,
  4533. !    231,    42,    42,   111,     0,     0,     0,     0,     0,     0,
  4534. !    360,   191,   360,     0,     0,     0,     0,   942,     0,     0,
  4535. !      0,    83,     0,     0,   231,     0,     0,    42,     0,     0,
  4536. !      0,     0,     0,     0,     0,     7,     8,   159,   160,   161,
  4537. !      0,   951,     0,     0,    12,    42,     0,     0,     0,     0,
  4538. !      0,     0,     0,   593,     0,    42,     0,     0,     0,    83,
  4539. !      0,     0,     0,     0,     0,     0,   360,    17,   360,     0,
  4540. !    360,     0,     0,    19,     0,     0,   513,     0,  1007,   100,
  4541. !      0,   160,   161,    21,     0,    22,     0,    12,     0,     0,
  4542. !   1011,  1012,  1013,     0,     0,     0,     0,   607,   593,     0,
  4543. !      0,     0,     0,    83,     0,    83,    83,   608,     0,     0,
  4544. !     17,     0,  1019,  1020,     0,    26,     0,   516,     0,   513,
  4545. !    615,   518,     0,     0,     0,     0,    21,   121,    93,     7,
  4546. !      8,    92,    10,    11,     0,    83,     0,   509,    12,     0,
  4547. !    514,    83,     0,     0,    83,   191,   366,    42,     0,    83,
  4548. !    515,   593,   593,    15,     0,  1051,     0,    16,     0,     0,
  4549. !    516,    17,     0,   517,   518,     0,     0,    19,     0,  1067,
  4550. !      0,     0,     0,     0,     0,    42,     0,    21,    42,    22,
  4551. !      0,     0,     0,    42,     7,     8,   152,    10,   153,     0,
  4552. !      0,    24,     0,    12,     0,     0,     0,     0,     0,     0,
  4553. !      0,    25,     0,     0,     0,     0,     0,   593,    15,    26,
  4554. !      0,     0,    16,     0,    27,     0,    17,     0,     0,  1089,
  4555. !      0,     0,    19,    42,    42,    42,    42,     0,     0,     0,
  4556. !      0,    42,    21,     0,    22,     0,     0,    42,     0,    42,
  4557. !      0,   111,   111,   111,     0,     0,    24,     7,     8,    42,
  4558. !      0,    11,     0,  1127,     0,    42,    25,     0,    42,     0,
  4559. !      0,     0,     0,    83,    26,     0,     0,  1130,     0,    27,
  4560. !      0,     0,     0,     0,     0,     0,     0,    42,    42,     0,
  4561. !     42,   593,     0,    64,     0,    19,   593,     0,  1148,     0,
  4562. !      0,     8,   152,    10,   153,    21,     0,    22,  1156,    12,
  4563. !      0,     0,     0,    64,    64,     0,   116,     0,     0,   140,
  4564. !      0,     0,    64,     0,    15,     0,     0,     0,    16,   141,
  4565. !      0,     0,    17,    64,     0,    64,     0,    26,     0,    83,
  4566. !      0,     0,   142,     0,     0,     0,     0,     0,    21,    83,
  4567. !     93,    83,    83,     7,     8,    92,    10,    11,     0,   360,
  4568. !    622,     0,    12,     0,     0,     0,     0,     0,     0,     0,
  4569. !      0,   593,   593,     0,     0,     0,     0,    15,     0,  1196,
  4570. !   1197,    16,     0,   509,    64,    17,     0,     0,     0,     0,
  4571. !     64,    19,     0,   178,    64,   795,     0,   116,   116,   116,
  4572. !    593,    21,     0,    22,     0,     0,     0,     0,     0,    64,
  4573. !      0,    64,    64,     0,     0,    24,     8,    92,    10,    11,
  4574. !      0,  1228,  1345,     0,    12,    25,    42,     0,     0,    64,
  4575. !     64,   116,     0,    26,     0,     0,     0,     0,    27,    15,
  4576. !      0,     0,   117,    16,     0,   593,     0,    17,     0,     0,
  4577. !      0,     0,   593,   593,     0,    64,   360,     0,     0,   151,
  4578. !      0,   593,     0,    21,     0,    93,  -306,     8,  -306,    10,
  4579. !    185,     0,     0,    64,     0,    12,     0,     0,    42,    42,
  4580. !    111,     0,     0,    64,     0,     0,   853,     0,     0,     0,
  4581. !     15,     0,     0,     0,    16,     0,     0,     0,    17,     0,
  4582. !      0,     0,    42,    42,  -306,    42,     0,   513,     0,     0,
  4583. !    151,     0,     0,     0,    21,     0,    93,     0,     0,    83,
  4584. !    593,   593,   360,   117,   117,   117,     0,     0,   514,    83,
  4585. !     83,    83,     0,     0,   111,     0,     0,   151,   515,     0,
  4586. !      0,     0,     0,     0,     0,     0,  -306,     0,   516,     0,
  4587. !      0,   517,   518,     0,     0,   151,   151,   384,     0,     0,
  4588. !      0,     0,     0,     0,     0,     0,     0,     0,   795,     0,
  4589. !   1024,   100,     0,     0,   534,    64,     0,     0,     0,     0,
  4590. !      0,   151,     0,     0,     0,     0,     0,   593,     0,     0,
  4591. !      0,     0,     0,     0,     0,     0,     7,     8,   159,   160,
  4592. !    161,     0,     0,    64,     0,    12,    64,     0,    19,     0,
  4593. !     83,    64,    83,     0,     0,     0,     0,     0,    21,     0,
  4594. !     22,     0,     0,    83,     0,     0,     0,  1026,    17,     0,
  4595. !    589,     0,    24,     0,    19,     0,     0,   513,     0,     0,
  4596. !      0,     0,    25,     0,    21,     0,    22,   437,     0,     0,
  4597. !     26,    64,    64,    64,    64,    27,     0,     0,   607,    64,
  4598. !      0,   795,   795,   795,     0,    64,     0,    64,   608,   116,
  4599. !    116,   116,     0,     0,     0,     0,    26,    64,   516,     0,
  4600. !      0,   609,   518,    64,     0,     0,    64,     0,     0,     0,
  4601. !      0,     0,     0,   521,   521,   521,     0,     0,     0,     0,
  4602. !      0,   151,     0,     0,     0,    64,    64,     0,    64,     0,
  4603. !      0,     0,    42,    42,   111,   111,   111,    83,   191,     0,
  4604. !     42,   853,   853,   853,     0,     0,   659,     8,   152,    10,
  4605. !    153,     0,     0,     0,     0,    12,   479,   480,   481,   482,
  4606. !    483,   484,   485,   486,   487,   488,   489,   490,    42,     0,
  4607. !     15,    42,     0,    42,    16,     0,     0,     0,    17,     0,
  4608. !      0,     0,    83,    83,    19,    83,   795,   795,   795,     0,
  4609. !      0,     0,     0,     0,    21,     0,    22,   611,     0,   611,
  4610. !    611,   521,     0,   662,     0,     0,     0,     0,    24,     0,
  4611. !      0,   151,     0,   151,     0,   384,   384,   384,    25,     8,
  4612. !     92,    10,    11,   151,     0,   356,    26,    12,     0,   151,
  4613. !      0,    27,   151,   797,     0,     0,     0,     0,     0,     0,
  4614. !    191,     0,    15,     0,     0,     0,    16,     0,     0,    42,
  4615. !     17,   151,     0,     0,   377,   379,   383,     0,     0,   513,
  4616. !      0,     0,     0,     0,    64,     0,    21,     0,    93,     0,
  4617. !      0,     0,     0,     7,   100,     0,     0,   427,     0,     0,
  4618. !    514,    42,    42,    42,     7,     8,     0,     0,   185,     0,
  4619. !    515,     0,     0,     0,     0,    42,    42,   149,    42,     0,
  4620. !    516,     0,     0,   517,   518,     0,     0,     0,   357,     0,
  4621. !      0,    19,     0,     0,     0,     0,    64,    64,   116,   192,
  4622. !      0,    21,    19,    22,   855,     0,    42,     0,     0,     0,
  4623. !      0,     0,    21,     0,    22,    24,     0,   761,   192,     0,
  4624. !     64,    64,     0,    64,     0,    25,   140,     0,   149,   521,
  4625. !    521,     0,   521,    26,     0,     0,   141,     0,    27,   521,
  4626. !      0,     0,     0,     0,    26,     0,     0,     0,     0,   142,
  4627. !      0,     0,   116,     0,     0,   149,     0,     0,     0,     0,
  4628. !      0,     0,     0,     7,     8,     0,    10,   440,   234,   235,
  4629. !    611,   236,    12,   149,   149,   149,     0,     0,     0,   853,
  4630. !      0,     0,     0,   393,     0,     0,   797,    15,   237,   238,
  4631. !    239,    16,     0,   240,     0,    17,     0,   241,   242,   149,
  4632. !    243,    19,   244,   245,     0,     0,   246,   247,   248,   249,
  4633. !    250,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  4634. !      0,     0,   611,   611,   848,     0,     0,     0,     0,   192,
  4635. !    848,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4636. !      0,   256,   257,   258,     7,     8,   151,   151,   259,   151,
  4637. !      0,     0,   260,     0,   853,   853,   853,     0,     0,     0,
  4638. !      0,     0,     0,     0,   261,     0,     0,     0,     0,     0,
  4639. !    629,     0,   630,     0,   377,   379,   383,     0,   384,   797,
  4640. !    797,   797,    19,     0,     0,     0,     0,   534,   643,     0,
  4641. !      0,     0,    21,     0,    22,     0,     0,   521,    42,     0,
  4642. !      0,     0,     0,     0,     0,     0,   140,   437,   437,   437,
  4643. !    669,     0,   589,     0,     0,     0,   141,   192,     0,   149,
  4644. !      0,     0,     0,     0,    26,     0,     0,     0,     0,   142,
  4645. !     64,    64,   116,   116,   116,     0,     0,     0,    64,   855,
  4646. !    855,   855,     0,     0,     0,     0,     0,     8,     0,    10,
  4647. !    185,     0,     0,     0,     0,    12,     0,     0,     0,     0,
  4648. !      0,     0,     0,     0,     0,     0,    64,     0,     0,    64,
  4649. !     15,    64,     0,     0,    16,     0,     0,     0,    17,     0,
  4650. !      0,     0,     0,     0,   797,   797,   797,   513,   521,     0,
  4651. !    521,     0,     0,     0,    21,   149,    93,   149,   149,     0,
  4652. !      0,   521,     0,     0,     0,   521,   521,   521,   514,   149,
  4653. !      0,   149,     0,   149,   149,   149,     0,     0,   515,     0,
  4654. !      0,   149,     0,     0,   519,   519,   519,   149,   516,     0,
  4655. !    149,   517,   518,   477,   478,   479,   480,   481,   482,   483,
  4656. !    484,   485,   486,   487,   488,   489,   490,    64,     0,   149,
  4657. !      0,     0,     0,     0,     0,    62,   611,   611,   848,   848,
  4658. !    848,     0,     0,     0,   611,   848,   848,   848,     0,     0,
  4659. !      0,     0,     0,     0,     0,   102,   106,     0,     0,    64,
  4660. !     64,    64,     7,     8,   126,     0,    11,     0,     0,     0,
  4661. !      0,     0,   151,    64,    64,     0,    64,   158,     0,     0,
  4662. !      0,   377,   379,   383,     0,     0,     0,     0,   519,   383,
  4663. !    519,   519,   519,     7,     8,     0,     0,   427,     0,     0,
  4664. !     19,     0,     0,     0,    64,   629,   630,     0,   643,     0,
  4665. !     21,     0,    22,     0,     0,     0,     0,     0,     0,     0,
  4666. !    761,   761,     0,   761,   380,     0,     0,     0,     0,     0,
  4667. !      0,    19,   307,     0,   381,     0,   309,   383,     0,     0,
  4668. !    192,    21,    26,    22,     0,     0,     0,   382,     0,     0,
  4669. !      0,    62,     0,     0,   332,   140,     0,     0,     0,     0,
  4670. !      0,     0,     0,     0,     0,   141,     0,     0,   149,     0,
  4671. !      0,   102,   106,    26,     0,     0,     0,   855,   142,     0,
  4672. !      0,     0,     0,     0,     0,   151,     0,   151,     0,     7,
  4673. !      8,   522,   526,   528,     0,     0,     0,     0,     0,   611,
  4674. !    611,     0,   611,     0,     0,     0,     0,     0,     0,     0,
  4675. !      7,     8,   152,    10,   153,   422,     0,     0,     0,    12,
  4676. !    149,   149,   846,     0,     0,   428,     0,    19,   846,     0,
  4677. !      0,     0,     0,     0,    15,     0,     0,    21,    16,    22,
  4678. !    519,   519,    17,   519,   149,   149,     0,   149,    19,     0,
  4679. !    794,   380,   855,   855,   855,     0,     0,     0,    21,     0,
  4680. !     22,   381,     0,  1105,     0,     0,     0,     0,     0,    26,
  4681. !      0,     0,    24,     0,   382,   612,   846,   522,   526,   528,
  4682. !      0,   519,    25,     0,     0,     0,     0,     0,     0,     0,
  4683. !     26,     0,     0,     0,     0,    27,    64,     0,     0,     0,
  4684. !      0,     0,     0,   384,     0,     0,     0,  1170,     0,     0,
  4685. !      0,     0,     0,     0,     0,   629,   630,   377,   379,   383,
  4686. !      0,     0,     0,   643,   377,   379,   383,     0,     0,     0,
  4687. !      0,     0,     0,   519,   519,   519,     0,     0,     0,     0,
  4688. !      0,   794,     0,     0,     0,   562,     0,     0,   563,     0,
  4689. !      0,  1030,     0,   565,   469,   470,   471,  1171,   472,   473,
  4690. !    474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  4691. !    484,   485,   486,   487,   488,   489,   490,     0,   384,   384,
  4692. !    384,   478,   479,   480,   481,   482,   483,   484,   485,   486,
  4693. !    487,   488,   489,   490,   613,     0,     0,     0,     0,     0,
  4694. !      0,   623,     0,     0,     0,     0,     0,   307,   519,   309,
  4695. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4696. !      0,     0,   151,     0,     0,   428,     0,   774,   776,   473,
  4697. !    474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  4698. !    484,   485,   486,   487,   488,   489,   490,   670,   673,     0,
  4699. !    422,     0,     0,     0,   149,   149,   149,   149,   846,     0,
  4700. !   1006,     0,   149,   846,   846,   846,     0,     0,   526,     0,
  4701. !      0,     0,     0,     0,     0,     0,     0,     0,   629,   630,
  4702. !      0,   643,     0,     0,     0,     0,     0,     0,     0,     0,
  4703. !    149,     0,     0,     0,     0,     0,     0,     0,     0,   519,
  4704. !      0,   519,     0,     0,     0,     0,     0,     0,     0,     0,
  4705. !      0,     0,   519,     0,     0,     0,   794,   794,   794,     0,
  4706. !    774,   776,     0,     0,   469,   470,   471,     0,   472,   473,
  4707.      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  4708. !    484,   485,   486,   487,   488,   489,   490,   476,   477,   478,
  4709. !    479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
  4710. !    489,   490,   192,     0,     0,     0,     0,   519,   519,   519,
  4711. !    519,   519,  1045,     0,     0,   519,   794,   794,   794,     0,
  4712. !      0,     0,   383,     0,     7,     8,    92,    10,    11,     0,
  4713. !      0,   356,     0,    12,     0,   526,     0,     0,     0,     0,
  4714. !      0,     0,     0,   149,     0,   149,     0,     0,    15,     0,
  4715. !      0,     0,    16,     0,     0,     0,    17,   149,   149,     0,
  4716. !    149,     0,    19,     0,     0,   513,     0,     0,     0,     0,
  4717. !      0,     0,    21,     0,    22,     0,     0,     0,   102,   106,
  4718. !      0,     0,     0,     0,     0,     0,   843,     0,     0,     0,
  4719. !      0,     0,     0,     0,     0,     0,   844,   377,   379,   383,
  4720. !      0,     0,   562,   563,    26,   565,   516,     0,     0,   845,
  4721. !    518,     0,     0,     0,   357,     0,     0,     0,     0,     0,
  4722. !      0,     0,     0,     0,     0,     0,   936,     0,   937,     0,
  4723. !      0,     0,     0,     0,     0,     0,     0,     0,     0,   941,
  4724. !      0,     0,     0,   774,   776,   475,   476,   477,   478,   479,
  4725. !    480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
  4726. !    490,   846,     0,     0,     0,     0,     0,     0,     0,     0,
  4727. !    519,   519,     0,   519,     0,     0,     0,     0,     0,     0,
  4728. !    686,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4729. !      0,     0,     0,     0,   936,   937,   774,   776,     0,     0,
  4730. !      0,     0,   941,   774,   776,   469,   470,   471,     0,   472,
  4731. !    473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
  4732. !    483,   484,   485,   486,   487,   488,   489,   490,     0,     0,
  4733. !      0,     0,     0,     0,     0,     0,   846,   846,   846,     0,
  4734. !      0,     0,  1111,     0,   971,   972,    92,    10,   233,   234,
  4735. !    235,     0,   236,    12,   973,     0,   974,   975,   976,   977,
  4736. !    978,   979,   980,   981,   982,   983,    13,    14,    15,   237,
  4737. !    238,   239,    16,     0,   240,     0,    17,     0,   241,   242,
  4738. !    149,   243,    19,   244,   245,     0,     0,   246,   247,   248,
  4739. !    249,   250,    21,     0,   984,   349,     0,   985,     0,     0,
  4740. !      0,     0,     0,   251,     0,     0,   252,     0,     0,     0,
  4741. !      0,     0,   307,   309,   253,   254,   255,     0,     0,     0,
  4742. !    428,     0,   256,   257,   258,     0,     0,     0,     0,   259,
  4743. !      0,   986,     0,   260,     0,     0,     0,     0,     0,     0,
  4744. !      0,     0,     0,     0,  1112,   261,     0,     0,  1031,     0,
  4745. !      0,  1031,     0,   422,     0,     0,     0,   936,   937,     0,
  4746. !    941,  1261,     0,   971,   972,    92,    10,   233,   234,   235,
  4747. !      0,   236,    12,   973,     0,   974,   975,   976,   977,   978,
  4748. !    979,   980,   981,   982,   983,    13,    14,    15,   237,   238,
  4749. !    239,    16,     0,   240,     0,    17,     0,   241,   242,     0,
  4750. !    243,    19,   244,   245,     0,     0,   246,   247,   248,   249,
  4751. !    250,    21,     0,   984,   349,     0,   985,     0,     0,     0,
  4752. !      0,     0,   251,     0,     0,   252,     0,     0,     0,   422,
  4753. !      0,     0,     0,   253,   254,   255,     0,     0,     0,     0,
  4754. !      0,   256,   257,   258,     0,     0,     0,     0,   259,     0,
  4755. !    986,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  4756. !      0,     0,  1107,  1262,   261,     0,     0,     0,     0,     0,
  4757. !      0,     0,     0,     0,     0,   562,   563,     0,   565,     0,
  4758.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4759. !      0,     0,     0,  1283,     0,   971,   972,    92,    10,   233,
  4760. !    234,   235,     0,   236,    12,   973,   422,   974,   975,   976,
  4761. !    977,   978,   979,   980,   981,   982,   983,    13,    14,    15,
  4762. !    237,   238,   239,    16,     0,   240,     0,    17,     0,   241,
  4763. !    242,     0,   243,    19,   244,   245,     0,     0,   246,   247,
  4764. !    248,   249,   250,    21,     0,   984,   349,     0,   985,     0,
  4765. !      0,     0,     0,     0,   251,     0,     0,   252,     0,     0,
  4766. !      0,     0,     0,     0,     0,   253,   254,   255,     0,     0,
  4767. !      0,     0,     0,   256,   257,   258,     0,     0,     0,     0,
  4768. !    259,     0,   986,     0,   260,     0,     0,     0,     0,     0,
  4769. !      0,     0,     0,     0,     0,  1284,   261,  1283,     0,   971,
  4770. !    972,    92,    10,   233,   234,   235,     0,   236,    12,   973,
  4771. !      0,   974,   975,   976,   977,   978,   979,   980,   981,   982,
  4772. !    983,    13,    14,    15,   237,   238,   239,    16,     0,   240,
  4773. !      0,    17,     0,   241,   242,     0,   243,    19,   244,   245,
  4774. !      0,     0,   246,   247,   248,   249,   250,    21,     0,   984,
  4775. !    349,     0,   985,     0,     0,     0,     0,     0,   251,     0,
  4776. !      0,   252,     0,     0,     0,     0,     0,     0,     0,   253,
  4777. !    254,   255,     0,     0,     0,     0,     0,   256,   257,   258,
  4778. !      0,     0,     0,     0,   259,     0,   986,     0,   260,     0,
  4779. !      0,     0,     0,     0,     0,     0,     0,     0,     0,  1289,
  4780. !    261,  1283,     0,   971,   972,    92,    10,   233,   234,   235,
  4781. !      0,   236,    12,   973,     0,   974,   975,   976,   977,   978,
  4782. !    979,   980,   981,   982,   983,    13,    14,    15,   237,   238,
  4783. !    239,    16,     0,   240,     0,    17,     0,   241,   242,     0,
  4784. !    243,    19,   244,   245,     0,     0,   246,   247,   248,   249,
  4785. !    250,    21,     0,   984,   349,     0,   985,     0,     0,     0,
  4786. !      0,     0,   251,     0,     0,   252,     0,     0,     0,     0,
  4787. !      0,     0,     0,   253,   254,   255,     0,     0,     0,     0,
  4788. !      0,   256,   257,   258,     0,     0,     0,     0,   259,     0,
  4789. !    986,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  4790. !      0,     0,     0,  1328,   261,   970,     0,   971,   972,    92,
  4791. !     10,   233,   234,   235,     0,   236,    12,   973,     0,   974,
  4792. !    975,   976,   977,   978,   979,   980,   981,   982,   983,    13,
  4793. !     14,    15,   237,   238,   239,    16,     0,   240,     0,    17,
  4794. !      0,   241,   242,     0,   243,    19,   244,   245,     0,     0,
  4795. !    246,   247,   248,   249,   250,    21,     0,   984,   349,     0,
  4796. !    985,     0,     0,     0,     0,     0,   251,     0,     0,   252,
  4797. !      0,     0,     0,     0,     0,     0,     0,   253,   254,   255,
  4798. !      0,     0,     0,     0,     0,   256,   257,   258,     0,     0,
  4799. !      0,     0,   259,     0,   986,  1255,   260,   971,   972,    92,
  4800. !     10,   233,   234,   235,     0,   236,    12,   973,   261,   974,
  4801. !    975,   976,   977,   978,   979,   980,   981,   982,   983,    13,
  4802. !     14,    15,   237,   238,   239,    16,     0,   240,     0,    17,
  4803. !      0,   241,   242,     0,   243,    19,   244,   245,     0,     0,
  4804. !    246,   247,   248,   249,   250,    21,     0,   984,   349,     0,
  4805. !    985,     0,     0,     0,     0,     0,   251,     0,     0,   252,
  4806. !      0,     0,     0,     0,     0,     0,     0,   253,   254,   255,
  4807. !      0,     0,     0,     0,     0,   256,   257,   258,     0,     0,
  4808. !      0,     0,   259,     0,   986,  1316,   260,   971,   972,    92,
  4809. !     10,   233,   234,   235,     0,   236,    12,   973,   261,   974,
  4810. !    975,   976,   977,   978,   979,   980,   981,   982,   983,    13,
  4811. !     14,    15,   237,   238,   239,    16,     0,   240,     0,    17,
  4812. !      0,   241,   242,     0,   243,    19,   244,   245,     0,     0,
  4813. !    246,   247,   248,   249,   250,    21,     0,   984,   349,     0,
  4814. !    985,     0,     0,     0,     0,     0,   251,     0,     0,   252,
  4815. !      0,     0,     0,     0,     0,     0,     0,   253,   254,   255,
  4816. !      0,     0,     0,     0,     0,   256,   257,   258,     0,     0,
  4817. !      0,     0,   259,     0,   986,   458,   260,     7,     8,    92,
  4818. !     10,   233,   234,   235,   356,   236,    12,     0,   261,     0,
  4819.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4820. !      0,    15,   237,   238,   239,    16,     0,   240,     0,    17,
  4821. !      0,   241,   242,     0,   243,    19,   244,   245,   513,     0,
  4822. !    246,   247,   248,   249,   250,    21,     0,    22,  -239,     0,
  4823. !      0,     0,     0,     0,     0,     0,   251,     0,     0,   790,
  4824. !      0,     0,     0,     0,     0,     0,     0,   253,   254,   791,
  4825. !      0,     0,     0,     0,     0,   256,   257,   258,     0,   516,
  4826. !      0,     0,   792,   518,     0,     0,   260,   357,     0,     0,
  4827. !      0,     0,     0,     0,     0,     0,     0,   458,   261,     7,
  4828. !      8,    92,    10,   233,   234,   235,   356,   236,    12,     0,
  4829.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4830. !      0,     0,     0,    15,   237,   238,   239,    16,     0,   240,
  4831. !      0,    17,     0,   241,   242,     0,   243,    19,   244,   245,
  4832. !    513,     0,   246,   247,   248,   249,   250,    21,     0,    22,
  4833. !   -239,     0,     0,     0,     0,     0,     0,     0,   251,     0,
  4834. !      0,   850,     0,     0,     0,     0,     0,     0,     0,   253,
  4835. !    254,   851,     0,     0,     0,     0,     0,   256,   257,   258,
  4836. !      0,   516,     0,     0,   852,   518,     0,     0,   260,   357,
  4837. !      0,     0,     0,     0,     0,     0,     0,     0,     0,   355,
  4838. !    261,     7,     8,    92,    10,   233,   234,   235,   356,   236,
  4839. !     12,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4840. !      0,     0,     0,     0,     0,    15,   237,   238,   239,    16,
  4841. !      0,   240,     0,    17,     0,   241,   242,     0,   243,    19,
  4842. !    244,   245,     0,     0,   246,   247,   248,   249,   250,    21,
  4843. !      0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
  4844. !    251,     0,     0,   252,     0,     0,     0,     0,     0,     0,
  4845. !      0,   253,   254,   255,     0,     0,     0,     0,     0,   256,
  4846. !    257,   258,     0,     0,     0,     0,   259,     0,     0,     0,
  4847. !    260,   357,     0,     0,     0,     0,     0,     0,     0,     0,
  4848. !   -667,   638,   261,     7,     8,    92,    10,   233,   234,   235,
  4849. !    356,   236,    12,     0,     0,     0,     0,     0,     0,     0,
  4850. !      0,     0,     0,     0,     0,     0,     0,    15,   237,   238,
  4851. !    239,    16,     0,   240,     0,    17,     0,   241,   242,     0,
  4852. !    243,    19,   244,   245,     0,     0,   246,   247,   248,   249,
  4853. !    250,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  4854. !      0,     0,   251,     0,     0,   252,     0,     0,     0,     0,
  4855. !      0,     0,     0,   253,   254,   255,     0,     0,     0,     0,
  4856. !      0,   256,   257,   258,     0,     0,     0,     0,   259,     0,
  4857. !      0,     0,   260,   357,     0,     0,     0,     0,     0,     0,
  4858. !      0,     0,  -667,   591,   261,   715,   716,     0,    10,   440,
  4859. !    234,   235,     0,   236,    12,     0,     0,     0,     0,     0,
  4860.        0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  4861. !    237,   238,   239,    16,     0,   240,     0,    17,     0,   241,
  4862. !    242,     0,   243,    19,   244,   245,     0,     0,   246,   247,
  4863. !    248,   249,   250,    21,     0,   717,   592,     0,     0,     0,
  4864. !      0,     0,     0,     0,   251,     0,     0,   252,     0,     0,
  4865. !      0,     0,     0,     0,     0,   253,   254,   255,     0,     0,
  4866. !      0,     0,     0,   256,   257,   258,     0,     0,     0,     0,
  4867. !    259,   718,     0,   591,   260,   715,   716,     0,    10,   440,
  4868. !    234,   235,     0,   236,    12,   830,   261,     0,     0,     0,
  4869. !      0,  1047,     0,     0,     0,     0,     0,     0,     0,    15,
  4870. !    237,   238,   239,    16,     0,   240,     0,    17,     0,   241,
  4871. !    242,     0,   243,    19,   244,   245,     0,     0,   246,   247,
  4872. !    248,   249,   250,    21,     0,   717,   592,     0,     0,     0,
  4873. !      0,     0,     0,     0,   251,     0,     0,   252,     0,     0,
  4874. !      0,     0,     0,     0,     0,   253,   254,   255,     0,     0,
  4875. !      0,     0,     0,   256,   257,   258,     0,     0,     0,     0,
  4876. !    259,     0,     0,   591,   260,   715,   716,     0,    10,   440,
  4877. !    234,   235,     0,   236,    12,  -386,   261,     0,     0,     0,
  4878. !      0,  1047,     0,     0,     0,     0,     0,     0,     0,    15,
  4879. !    237,   238,   239,    16,     0,   240,     0,    17,     0,   241,
  4880. !    242,     0,   243,    19,   244,   245,     0,     0,   246,   247,
  4881. !    248,   249,   250,    21,     0,   717,   592,     0,     0,     0,
  4882. !      0,     0,     0,     0,   251,     0,     0,   252,     0,     0,
  4883. !      0,     0,     0,     0,     0,   253,   254,   255,     0,     0,
  4884. !      0,     0,     0,   256,   257,   258,     0,     0,     0,     0,
  4885. !    259,     0,     0,  1164,   260,     7,     8,    92,    10,   233,
  4886. !    234,   235,     0,   236,    12,  1077,   261,     0,     0,     0,
  4887.        0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  4888. !    237,   238,   239,    16,     0,   240,     0,    17,     0,   241,
  4889. !    242,     0,   243,    19,   244,   245,     0,     0,   246,   247,
  4890. !    248,   249,   250,    21,     0,    22,  1165,     0,  1166,     0,
  4891. !      0,     0,     0,     0,   251,     0,     0,   252,     0,     0,
  4892. !      0,     0,     0,     0,     0,   253,   254,   255,     0,     0,
  4893. !      0,     0,     0,   256,   257,   258,     0,     0,     0,     0,
  4894. !    259,     0,     0,   591,   260,   715,   716,     0,    10,   440,
  4895. !    234,   235,     0,   236,    12,     0,   261,     0,     0,     0,
  4896.        0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  4897. !    237,   238,   239,    16,     0,   240,     0,    17,     0,   241,
  4898. !    242,     0,   243,    19,   244,   245,     0,     0,   246,   247,
  4899. !    248,   249,   250,    21,     0,   717,   592,     0,     0,     0,
  4900. !      0,     0,     0,     0,   251,     0,     0,   252,     0,     0,
  4901. !      0,     0,     0,     0,     0,   253,   254,   255,     0,     0,
  4902. !      0,     0,     0,   256,   257,   258,     0,     0,     0,     0,
  4903. !    259,   718,   197,     0,   260,     8,     0,    10,    11,     0,
  4904. !      0,     0,     0,    12,     0,     0,   261,     0,     0,     0,
  4905. !      0,     0,     0,     0,     0,     0,     0,     0,    15,     0,
  4906. !      0,     0,    16,     0,     0,     0,    17,     0,   198,   199,
  4907. !      0,     0,     0,     0,     0,   200,     0,     0,     0,     0,
  4908. !      0,     0,    21,     0,    93,     0,   201,     0,   202,   203,
  4909. !    204,     0,   205,   206,   207,   208,   209,   210,   211,   212,
  4910. !    213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
  4911. !      0,     0,   223,   224,   225,     0,   458,   226,     7,     8,
  4912. !    227,    10,   233,   234,   235,     0,   236,    12,     0,     0,
  4913. !      0,     0,     0,     0,     0,   228,     0,     0,     0,     0,
  4914. !      0,     0,    15,   237,   238,   239,    16,     0,   240,     0,
  4915. !     17,     0,   241,   242,     0,   243,    19,   244,   245,     0,
  4916. !      0,   246,   247,   248,   249,   250,    21,     0,    22,  -239,
  4917. !      0,     0,     0,     0,     0,     0,     0,   251,     0,     0,
  4918. !    252,     0,     0,     0,     0,     0,     0,     0,   253,   254,
  4919. !    255,     0,     0,     0,     0,     0,   256,   257,   258,     0,
  4920. !      0,     0,     0,   259,     0,     0,   591,   260,     7,     8,
  4921. !      0,    10,   440,   234,   235,     0,   236,    12,     0,   261,
  4922. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4923. !      0,     0,    15,   237,   238,   239,    16,     0,   240,     0,
  4924. !     17,     0,   241,   242,     0,   243,    19,   244,   245,     0,
  4925. !      0,   246,   247,   248,   249,   250,    21,     0,    22,   592,
  4926. !      0,     0,     0,     0,     0,     0,     0,   251,     0,     0,
  4927. !    252,     0,     0,     0,     0,     0,     0,     0,   253,   254,
  4928. !    255,     0,     0,     0,     0,     0,   256,   257,   258,     0,
  4929. !      0,     0,     0,   259,     0,     0,   725,   260,     7,     8,
  4930. !      0,    10,   440,   234,   235,     0,   236,    12,     0,   261,
  4931. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4932. !      0,     0,    15,   237,   238,   239,    16,     0,   240,     0,
  4933. !     17,     0,   241,   242,     0,   243,    19,   244,   245,     0,
  4934. !      0,   246,   247,   248,   249,   250,    21,     0,    22,     0,
  4935. !      0,     0,     0,     0,     0,  -657,     0,   251,     0,     0,
  4936. !    252,     0,     0,     0,     0,     0,     0,     0,   253,   254,
  4937. !    255,     0,     0,     0,     0,     0,   256,   257,   258,     0,
  4938. !      0,     0,     0,   259,     0,     0,   458,   260,     7,     8,
  4939. !      0,    10,   233,   234,   235,     0,   236,    12,     0,   261,
  4940. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4941. !      0,     0,    15,   237,   238,   239,    16,     0,   240,     0,
  4942. !     17,     0,   241,   242,     0,   243,    19,   244,   245,     0,
  4943. !      0,   246,   247,   248,   249,   250,    21,     0,    22,  -239,
  4944. !      0,     0,     0,     0,     0,     0,     0,   251,     0,     0,
  4945. !    895,     0,     0,     0,     0,     0,     0,     0,   253,   254,
  4946. !    896,     0,     0,     0,     0,     0,   256,   257,   258,     0,
  4947. !      0,     0,     0,   897,     0,     0,   458,   260,     7,     8,
  4948. !      0,    10,   233,   234,   235,     0,   236,    12,     0,   261,
  4949. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4950. !      0,     0,    15,   237,   238,   239,    16,     0,   240,     0,
  4951. !     17,     0,   241,   242,     0,   243,    19,   244,   245,     0,
  4952. !      0,   246,   247,   248,   249,   250,    21,     0,    22,  -239,
  4953. !      0,     0,     0,     0,     0,     0,     0,   251,     0,     0,
  4954. !   1183,     0,     0,     0,     0,     0,     0,     0,   253,   254,
  4955. !   1184,     0,     0,     0,     0,     0,   256,   257,   258,     0,
  4956. !      0,     0,     0,  1185,     0,     0,  1235,   260,     7,     8,
  4957. !      0,    10,   233,   234,   235,     0,   236,    12,     0,   261,
  4958. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4959. !      0,     0,    15,   237,   238,   239,    16,     0,   240,     0,
  4960. !     17,     0,   241,   242,     0,   243,    19,   244,   245,     0,
  4961. !      0,   246,   247,   248,   249,   250,    21,     0,    22,     0,
  4962. !      0,  -139,     0,     0,     0,     0,     0,   251,     0,     0,
  4963. !    252,     0,     0,     0,     0,     0,     0,     0,   253,   254,
  4964. !    255,     0,     0,     0,     0,     0,   256,   257,   258,     0,
  4965. !      0,     0,     0,   259,     0,     0,   725,   260,     7,     8,
  4966. !      0,    10,   440,   234,   235,     0,   236,    12,     0,   261,
  4967. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4968. !      0,     0,    15,   237,   238,   239,    16,     0,   240,     0,
  4969. !     17,     0,   241,   242,     0,   243,    19,   244,   245,     0,
  4970. !      0,   246,   247,   248,   249,   250,    21,     0,    22,     0,
  4971. !      0,     0,     0,     0,     0,     0,     0,   251,     0,     0,
  4972. !    252,     0,     0,     0,     0,     0,     0,     0,   253,   254,
  4973. !    255,     0,     0,     0,     0,     0,   256,   257,   258,     0,
  4974. !      0,     0,     0,   259,     0,     0,     0,   260,     0,     0,
  4975. !      0,     0,     0,     0,     0,     0,     0,  -657,   804,   261,
  4976. !      7,     8,     0,    10,   440,   234,   235,     0,   236,    12,
  4977. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  4978. !      0,     0,     0,     0,    15,   237,   238,   239,    16,     0,
  4979. !    240,     0,    17,     0,   241,   242,     0,   243,    19,   244,
  4980. !    245,     0,     0,   246,   247,   248,   249,   250,    21,     0,
  4981. !     22,     0,     0,     0,     0,     0,     0,     0,     0,   251,
  4982. !      0,     0,   252,     0,     0,     0,     0,     0,     0,     0,
  4983. !    253,   254,   255,     0,     0,     0,     0,     0,   256,   257,
  4984. !    258,     0,     0,     0,     0,   259,     0,     0,   806,   260,
  4985. !      7,     8,     0,    10,   440,   234,   235,     0,   236,    12,
  4986. !      0,   261,     0,     0,     0,     0,     0,     0,     0,     0,
  4987. !      0,     0,     0,     0,    15,   237,   238,   239,    16,     0,
  4988. !    240,     0,    17,     0,   241,   242,     0,   243,    19,   244,
  4989. !    245,     0,     0,   246,   247,   248,   249,   250,    21,     0,
  4990. !     22,     0,     0,     0,     0,     0,     0,     0,     0,   251,
  4991. !      0,     0,   252,     0,     0,     0,     0,     0,     0,     0,
  4992. !    253,   254,   255,     0,     0,     0,     0,     0,   256,   257,
  4993. !    258,     0,     0,     0,     0,   259,     0,     7,     8,   260,
  4994. !     10,   440,   234,   235,     0,   236,    12,     0,     0,     0,
  4995. !      0,   261,     0,     0,     0,     0,     0,     0,     0,     0,
  4996. !      0,    15,   237,   238,   239,    16,     0,   240,     0,    17,
  4997. !      0,   241,   242,     0,   243,    19,   244,   245,     0,     0,
  4998. !    246,   247,   248,   249,   250,    21,     0,    22,     0,     0,
  4999. !      0,     0,     0,     0,     0,     0,   251,     0,     0,   252,
  5000. !      0,     0,     0,     0,     0,     0,     0,   253,   254,   255,
  5001. !      0,     0,     0,     0,     0,   256,   257,   258,     0,     0,
  5002. !      0,     0,   259,     0,     0,     0,   260,     0,     0,     0,
  5003. !      0,     0,     0,     0,     0,     0,     0,     0,   261,   764,
  5004. !    971,   972,    92,    10,   233,   234,   235,     0,   236,    12,
  5005. !    973,     0,   974,   975,   976,   977,   978,   979,   980,   981,
  5006. !    982,   983,    13,    14,    15,   237,   238,   239,    16,     0,
  5007. !    240,     0,    17,     0,   241,   242,     0,   243,    19,   244,
  5008. !    245,     0,     0,   246,   247,   248,   249,   250,    21,     0,
  5009. !    984,   349,     0,   985,     0,     0,     0,     0,     0,   251,
  5010. !      0,     0,   252,     0,     0,     0,     0,     0,     0,     0,
  5011. !    253,   254,   255,     0,     0,     0,     0,     0,   256,   257,
  5012. !    258,     0,     0,     0,     0,   259,     0,   986,     0,   260,
  5013.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  5014. !   1116,   261,   971,   972,    92,    10,   233,   234,   235,     0,
  5015. !    236,    12,   973,     0,   974,   975,   976,   977,   978,   979,
  5016. !    980,   981,   982,   983,    13,    14,    15,   237,   238,   239,
  5017. !     16,     0,   240,     0,    17,     0,   241,   242,     0,   243,
  5018. !     19,   244,   245,     0,     0,   246,   247,   248,   249,   250,
  5019. !     21,     0,   984,   349,     0,   985,     0,     0,     0,     0,
  5020. !      0,   251,     0,     0,   252,     0,     0,     0,     0,     0,
  5021. !      0,     0,   253,   254,   255,     0,     0,     0,     0,     0,
  5022. !    256,   257,   258,     0,     0,     0,     0,   259,     0,   986,
  5023. !      0,   260,   971,   972,    92,    10,   233,   234,   235,     0,
  5024. !    236,    12,   973,   261,   974,   975,   976,   977,   978,   979,
  5025. !    980,   981,   982,   983,    13,    14,    15,   237,   238,   239,
  5026. !     16,     0,   240,     0,    17,     0,   241,   242,     0,   243,
  5027. !     19,   244,   245,     0,     0,   246,   247,   248,   249,   250,
  5028. !     21,     0,   984,  1276,     0,   985,     0,     0,     0,     0,
  5029. !      0,   251,     0,     0,   252,     0,     0,     0,     0,     0,
  5030. !      0,     0,   253,   254,   255,     0,     0,     0,     0,     0,
  5031. !    256,   257,   258,     0,     0,     0,     0,   259,     0,   986,
  5032. !      0,   260,   971,   972,    92,    10,   233,   234,   235,     0,
  5033. !    236,    12,   973,   261,   974,   975,   976,   977,   978,   979,
  5034. !    980,   981,   982,   983,    13,    14,    15,   237,   238,   239,
  5035. !     16,     0,   240,     0,    17,     0,   241,   242,     0,   243,
  5036. !     19,   244,   245,     0,     0,   246,   247,   248,   249,   250,
  5037. !     21,     0,   984,     0,     0,   985,     0,     0,     0,     0,
  5038. !      0,   251,     0,     0,   252,     0,     0,     0,     0,     0,
  5039. !      0,     0,   253,   254,   255,     0,     0,     0,     0,     0,
  5040. !    256,   257,   258,     0,     0,     0,     0,   259,     0,   986,
  5041. !      0,   260,     7,     8,    92,    10,   233,   234,   235,   356,
  5042. !    236,    12,     0,   261,     0,     0,     0,     0,     0,     0,
  5043. !      0,     0,     0,     0,     0,     0,    15,   237,   238,   239,
  5044. !     16,     0,   240,     0,    17,     0,   241,   242,     0,   243,
  5045. !     19,   244,   245,   513,     0,   246,   247,   248,   249,   250,
  5046. !     21,     0,    22,     0,     0,     0,     0,     0,     0,     0,
  5047. !      0,   251,     0,     0,   790,     0,     0,     0,     0,     0,
  5048. !      0,     0,   253,   254,   791,     0,     0,     0,     0,     0,
  5049. !    256,   257,   258,     0,   516,     0,     0,   792,   518,     0,
  5050. !      0,   260,   357,     7,     8,    92,    10,   233,   234,   235,
  5051. !    356,   236,    12,   261,     0,     0,     0,     0,     0,     0,
  5052. !      0,     0,     0,     0,     0,     0,     0,    15,   237,   238,
  5053. !    239,    16,     0,   240,     0,    17,     0,   241,   242,     0,
  5054. !    243,    19,   244,   245,   513,     0,   246,   247,   248,   249,
  5055. !    250,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  5056. !      0,     0,   251,     0,     0,   850,     0,     0,     0,     0,
  5057. !      0,     0,     0,   253,   254,   851,     0,     0,     0,     0,
  5058. !      0,   256,   257,   258,     0,   516,     0,     0,   852,   518,
  5059. !      0,     0,   260,   357,     7,     8,     0,    10,   233,   234,
  5060. !    235,     0,   236,    12,   261,     0,     0,     0,     0,     0,
  5061. !      0,     0,     0,     0,     0,     0,     0,     0,    15,   237,
  5062. !    238,   239,    16,     0,   240,     0,    17,     0,   241,   242,
  5063. !      0,   243,    19,   244,   245,   513,     0,   246,   247,   248,
  5064. !    249,   250,    21,     0,    22,     0,     0,     0,     0,     0,
  5065. !      0,     0,     0,   251,     0,     0,   790,     0,     0,     0,
  5066. !      0,     0,     0,     0,   253,   254,   791,     0,     0,     0,
  5067. !      0,     0,   256,   257,   258,     0,   516,     0,     0,   792,
  5068. !    518,     7,     8,     0,    10,   233,   234,   235,     0,   236,
  5069. !     12,     0,     0,     0,     0,   261,     0,     0,     0,     0,
  5070. !      0,     0,     0,     0,     0,    15,   237,   238,   239,    16,
  5071. !      0,   240,     0,    17,     0,   241,   242,     0,   243,    19,
  5072. !    244,   245,   513,     0,   246,   247,   248,   249,   250,    21,
  5073.        0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
  5074. !    251,     0,     0,   850,     0,     0,     0,     0,     0,     0,
  5075. !      0,   253,   254,   851,     0,     0,     0,     0,     0,   256,
  5076. !    257,   258,     0,   516,     0,     0,   852,   518,     7,     8,
  5077. !      0,    10,   233,   234,   235,     0,   236,    12,     0,     0,
  5078. !      0,     0,   261,     0,     0,     0,     0,     0,     0,     0,
  5079. !      0,     0,    15,   237,   238,   239,    16,     0,   240,     0,
  5080. !     17,     0,   241,   242,     0,   243,    19,   244,   245,     0,
  5081. !      0,   246,   247,   248,   249,   250,    21,     0,    22,     0,
  5082. !      0,     0,     0,     0,     0,     0,     0,   251,     0,     0,
  5083. !    252,     0,     0,     0,     0,   305,     0,     0,   253,   254,
  5084. !    255,     0,     0,     0,     0,     0,   256,   257,   258,     0,
  5085. !      0,     0,     0,   259,     0,     7,     8,   260,    10,   440,
  5086. !    234,   235,     0,   236,    12,     0,     0,     0,     0,   261,
  5087.        0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  5088. !    237,   238,   239,    16,     0,   240,     0,    17,     0,   241,
  5089. !    242,     0,   243,    19,   244,   245,     0,     0,   246,   247,
  5090. !    248,   249,   250,    21,     0,    22,     0,     0,  1093,     0,
  5091. !      0,     0,     0,     0,   251,     0,     0,   252,     0,     0,
  5092. !      0,     0,     0,     0,     0,   253,   254,   255,     0,     0,
  5093. !      0,     0,     0,   256,   257,   258,     0,     0,     0,     0,
  5094. !    259,     0,     7,     8,   260,    10,   233,   234,   235,     0,
  5095. !    236,    12,     0,     0,     0,     0,   261,     0,     0,     0,
  5096. !      0,     0,     0,     0,     0,     0,    15,   237,   238,   239,
  5097. !     16,     0,   240,     0,    17,     0,   241,   242,     0,   243,
  5098. !     19,   244,   245,     0,     0,   246,   247,   248,   249,   250,
  5099. !     21,     0,    22,     0,     0,     0,     0,     0,     0,     0,
  5100. !      0,   251,     0,     0,   252,     0,     0,     0,     0,     0,
  5101. !      0,     0,   253,   254,   255,     0,     0,     0,     0,     0,
  5102. !    256,   257,   258,     0,     0,     0,     0,   259,     0,     7,
  5103. !      8,   260,    10,   440,   234,   235,     0,   236,    12,     0,
  5104. !      0,     0,     0,   261,     0,     0,     0,     0,     0,     0,
  5105. !      0,     0,     0,    15,   237,   238,   239,    16,     0,   240,
  5106. !      0,    17,     0,   241,   242,     0,   243,    19,   244,   245,
  5107. !      0,     0,   246,   247,   248,   249,   250,    21,     0,    22,
  5108. !    466,     0,     0,     0,     0,     0,     0,     0,   251,     0,
  5109. !      0,   252,     0,     0,     0,     0,     0,     0,     0,   253,
  5110. !    254,   255,     0,     0,     0,     0,     0,   256,   257,   258,
  5111. !      0,     0,     7,     8,   467,    10,   440,   234,   235,     0,
  5112. !    236,    12,     0,     0,     0,     0,     0,     0,     0,     0,
  5113. !    261,     0,     0,     0,     0,     0,    15,   237,   238,   239,
  5114. !     16,     0,   240,     0,    17,     0,   241,   242,     0,   243,
  5115. !     19,   244,   245,     0,     0,   246,   247,   248,   249,   250,
  5116.       21,     0,    22,     0,     0,     0,     0,     0,     0,     0,
  5117. !      0,   251,     0,     0,   252,     0,     0,     0,     0,     0,
  5118. !      0,     0,   253,   254,   255,     0,     0,     0,     0,     0,
  5119. !    256,   257,   258,     0,     0,     0,     0,   259,   503,     7,
  5120. !      8,     0,    10,   440,   234,   235,     0,   236,    12,     0,
  5121. !      0,     0,     0,   261,     0,     0,     0,     0,     0,     0,
  5122. !      0,     0,     0,    15,   237,   238,   239,    16,     0,   240,
  5123. !      0,    17,     0,   241,   242,     0,   243,    19,   244,   245,
  5124. !      0,     0,   246,   247,   248,   249,   250,    21,     0,    22,
  5125. !      0,     0,     0,     0,     0,     0,     0,     0,   251,     0,
  5126. !      0,   252,     0,     0,     0,     0,     0,     0,     0,   253,
  5127. !    254,   255,     0,     0,     0,     0,     0,   256,   257,   258,
  5128. !      0,     0,     0,     0,   259,     0,     7,   701,   260,    10,
  5129. !    440,   234,   235,     0,   236,    12,     0,     0,     0,     0,
  5130. !    261,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  5131. !     15,   237,   238,   239,    16,     0,   240,     0,    17,     0,
  5132. !    241,   242,     0,   243,    19,   244,   245,     0,     0,   246,
  5133. !    247,   248,   249,   250,    21,     0,    22,     0,     0,     0,
  5134. !      0,     0,     0,     0,     0,   251,     0,     0,   252,     0,
  5135. !      0,     0,     0,     0,     0,     0,   253,   254,   255,     0,
  5136. !      0,     0,     0,     0,   256,   257,   258,     0,     0,     0,
  5137. !      0,   259,     0,     7,     8,   260,    10,   440,   234,   235,
  5138. !      0,   236,    12,     0,     0,     0,     0,   261,     0,     0,
  5139. !      0,     0,     0,     0,     0,     0,     0,    15,   237,   238,
  5140. !    239,    16,     0,   240,     0,    17,     0,   241,   242,     0,
  5141. !    243,    19,   244,   245,     0,     0,   246,   247,   248,   249,
  5142. !    250,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  5143. !      0,     0,   251,     0,     0,   895,     0,     0,     0,     0,
  5144. !      0,     0,     0,   253,   254,   896,     0,     0,     0,     0,
  5145. !      0,   256,   257,   258,     0,     0,     0,     0,   897,     0,
  5146. !      7,     8,   260,    10,   440,   234,   235,     0,   236,    12,
  5147. !      0,     0,     0,     0,   261,     0,     0,     0,     0,     0,
  5148. !      0,     0,     0,     0,    15,   237,   238,   239,    16,     0,
  5149. !    240,     0,    17,     0,   241,   242,     0,   243,    19,   244,
  5150. !    245,     0,     0,   246,   247,   248,   249,   250,    21,     0,
  5151. !     22,     0,     0,     0,     0,     0,     0,     0,     0,   251,
  5152. !      0,     0,  1183,     0,     0,     0,     0,     0,     0,     0,
  5153. !    253,   254,  1184,     0,     0,     0,     0,     0,   256,   257,
  5154. !    258,     0,     0,     0,     0,  1185,     0,  1248,     8,   260,
  5155. !     10,   440,   234,   235,     0,   236,    12,     0,     0,     0,
  5156. !      0,   261,     0,     0,     0,     0,     0,     0,     0,     0,
  5157. !      0,    15,   237,   238,   239,    16,     0,   240,     0,    17,
  5158. !      0,   241,   242,     0,   243,    19,   244,   245,     0,     0,
  5159. !    246,   247,   248,   249,   250,    21,     0,    22,     0,     0,
  5160. !      0,     0,     0,     0,     0,     0,   251,     0,     0,   252,
  5161. !      0,     0,     0,     0,     0,     0,     0,   253,   254,   255,
  5162. !      0,     0,     0,     0,     0,   256,   257,   258,     0,     0,
  5163. !      0,     0,   259,     0,     7,     8,   260,    10,   440,   234,
  5164. !    235,     0,   236,    12,     0,     0,     0,     0,   261,     0,
  5165. !      0,     0,     0,     0,     0,     0,     0,     0,    15,   237,
  5166. !    238,   239,    16,     0,   240,     0,    17,     0,   241,   242,
  5167. !      0,   243,    19,   244,   245,     0,     0,   246,   247,   248,
  5168. !    249,   250,    21,     0,    22,     0,     0,     0,     0,     0,
  5169. !      0,     0,     0,   251,     0,     0,   252,     0,     0,     0,
  5170. !      0,     0,     0,     0,   253,   254,   255,     0,     0,     0,
  5171. !      0,     0,   256,   257,   258,     0,     0,     7,     8,   259,
  5172. !     10,   440,   234,   235,     0,   236,    12,     0,     0,     0,
  5173. !      0,     0,     0,     0,     0,   261,     0,     0,     0,     0,
  5174. !      0,    15,   237,   238,   239,    16,     0,   240,     0,    17,
  5175. !      0,   241,   242,     0,   243,    19,   244,   245,     0,     0,
  5176. !    246,   247,   248,   249,   250,    21,     0,    22,     0,     0,
  5177. !      0,     0,     0,     0,     0,     0,   251,     0,     0,   895,
  5178. !      0,     0,     0,     0,     0,     0,     0,   253,   254,   896,
  5179. !      0,     0,     0,     0,     0,   256,   257,   258,     0,     0,
  5180. !      7,     8,   897,    10,   233,   234,   235,     0,   236,    12,
  5181. !      0,     0,     0,     0,     0,     0,     0,     0,   261,     0,
  5182. !      0,     0,     0,     0,    15,   237,   238,   239,    16,     0,
  5183. !    240,     0,    17,     0,   241,   242,     0,   243,    19,   244,
  5184. !    245,     0,     0,   246,   247,   248,   249,   250,    21,     0,
  5185. !     22,     0,     0,     0,     0,     0,     0,     0,     0,   251,
  5186. !      0,     0,  1183,     0,     0,     0,     0,     0,     0,     0,
  5187. !    253,   254,  1184,     0,     0,     0,     0,     0,   256,   257,
  5188. !    258,     0,     0,     7,     8,  1185,    10,   440,   234,   235,
  5189. !      0,   236,    12,     0,     0,     0,     0,     0,     0,     0,
  5190. !      0,   261,     0,     0,     0,     0,     0,    15,   237,     0,
  5191. !      0,    16,     0,   240,     0,    17,     0,   241,   242,     0,
  5192. !    243,    19,   244,   245,     0,     0,   246,   247,   248,   249,
  5193. !    250,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  5194. !      0,     0,   251,     0,     0,   252,     0,     0,     0,     0,
  5195. !      0,     0,     0,   253,   254,   255,     0,     0,     0,     0,
  5196. !      0,   256,   257,   258,     0,     0,     7,     8,   441,    10,
  5197. !    440,   234,   235,     0,   236,    12,     0,     0,     0,     0,
  5198. !      0,     0,     0,     0,   261,     0,     0,     0,     0,     0,
  5199. !     15,   237,     0,     0,    16,     0,   240,     0,    17,     0,
  5200. !    241,   242,     0,   243,    19,   244,   245,     0,     0,   246,
  5201. !    247,   248,   249,   250,    21,     0,    22,     0,     0,     0,
  5202. !      0,     0,     0,     0,     0,   251,     0,     0,   252,     0,
  5203. !      0,     0,     0,     0,     0,     0,   253,   254,   255,     0,
  5204. !      0,     0,     0,     0,   256,   257,   258,     0,     0,     0,
  5205. !      0,   444,     0,     0,     0,     0,     0,     0,     0,     0,
  5206. !      0,     0,   546,     0,   469,   470,   471,   261,   472,   473,
  5207. !    474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  5208. !    484,   485,   486,   487,   488,   489,   490,   469,   470,   471,
  5209. !   1210,   472,   473,   474,   475,   476,   477,   478,   479,   480,
  5210. !    481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
  5211. !    469,   470,   471,  1259,   472,   473,   474,   475,   476,   477,
  5212.      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
  5213. !    488,   489,   490,   469,   470,   471,     0,   472,   473,   474,
  5214.      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
  5215. !    485,   486,   487,   488,   489,   490,   469,   470,   471,     0,
  5216. !    472,   473,   474,   475,   476,   477,   478,   479,   480,     0,
  5217. !    482,   483,   484,   485,   486,   487,   488,   489,   490,   471,
  5218. !      0,   472,   473,   474,   475,   476,   477,   478,   479,   480,
  5219. !    481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
  5220.      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  5221. !    484,   485,   486,   487,   488,   489,   490
  5222.   };
  5223.   
  5224.   static const short yycheck[] = {     4,
  5225. !      4,   118,   279,   137,   419,   349,   300,    12,   131,   132,
  5226. !      4,   285,   341,   300,    70,    20,    20,   108,   109,    24,
  5227. !     25,    12,    27,   392,   285,   266,    52,   300,    33,    33,
  5228. !    137,    87,    20,    71,   132,   130,   391,   137,   753,    44,
  5229. !    182,    46,    98,   162,   163,   155,   135,    52,  1161,   820,
  5230. !    993,  1189,  1052,     4,    59,     9,    56,    34,    34,     9,
  5231. !     44,    52,     9,     0,  1222,    70,    71,  1169,    51,     3,
  5232. !      4,    56,    77,    77,  1232,    60,   370,    60,     4,     0,
  5233. !     10,   410,    87,   370,     3,     4,    69,    44,   365,    77,
  5234. !     95,    96,    45,    98,    20,    36,   101,    97,    44,   104,
  5235. !    105,    62,    53,   108,   109,   110,   189,    33,    36,    10,
  5236. !     60,    95,    58,  1215,  1252,   120,   120,   122,   123,    53,
  5237. !      7,    48,    41,    10,    75,    55,   103,   103,     4,     4,
  5238. !     60,    88,   993,   137,    53,   140,   141,   142,   122,  1000,
  5239. !   1253,    75,    88,     1,  1302,   102,    12,  1285,   102,   518,
  5240. !   1150,    77,   102,    88,    55,   102,    75,    44,     7,    60,
  5241. !    302,   166,   103,    93,    83,   126,   443,     4,    55,    44,
  5242. !     55,    58,   102,    60,    88,   103,    51,    53,    53,   184,
  5243. !    184,   155,   143,    70,     4,    56,    52,     7,   959,   194,
  5244. !     65,     4,    93,   300,   120,   189,    54,   158,   287,    75,
  5245. !     75,    88,    89,    44,   919,    54,    93,    76,     3,    44,
  5246. !     85,    60,   186,    88,    89,   102,    53,     4,   103,    88,
  5247. !     89,  1334,  1335,   346,   347,   348,   231,   232,   155,   285,
  5248. !     99,    51,   103,    53,   272,   162,   163,   990,    75,   992,
  5249. !     53,   107,    51,    92,   344,    65,    56,    88,   346,   347,
  5250. !    345,     3,     4,    88,    89,    75,   339,   391,   184,   186,
  5251. !     69,   535,    75,   370,     3,     4,    53,   272,   137,    89,
  5252. !      4,   276,    44,   278,   279,   280,   395,   396,    69,    56,
  5253. !     44,   286,    92,    44,   391,     4,   396,    44,     7,   380,
  5254. !    381,   391,    44,   102,   252,   300,   300,   255,    44,    51,
  5255. !    258,    53,   286,   230,   423,    10,   264,    56,   663,   314,
  5256. !     66,  1172,   317,  1256,    53,   273,    88,   322,   401,    53,
  5257. !   1263,   326,   326,    44,    88,   654,   103,    88,    89,    85,
  5258. !     60,    88,    51,    51,    53,    55,    88,   460,   326,   439,
  5259. !   1055,   102,    88,    89,    56,   339,    65,   103,    55,    56,
  5260. !     55,    69,   279,    58,   103,    60,    75,   362,   363,   364,
  5261. !    365,   366,    56,     3,     4,   370,   370,    88,  1229,    55,
  5262. !    331,   376,   102,   378,  1317,   380,   381,   382,   362,    88,
  5263. !    364,   365,   102,   388,    44,   251,    54,   391,    93,   394,
  5264. !    259,   103,   397,   387,   150,  1256,   496,    60,   498,   499,
  5265. !    326,    41,  1263,     3,     4,   410,    69,   401,    56,   103,
  5266. !    517,   416,   417,    53,   419,   419,   102,   524,    51,   424,
  5267. !    789,     6,     7,    55,    60,    56,  1287,    12,    88,    89,
  5268. !    530,   300,   416,   788,    56,    75,     3,     4,   365,     6,
  5269. !    196,    41,   102,    83,   405,   450,   451,   452,   453,    54,
  5270. !     35,    51,    56,    53,     3,     4,  1317,   103,    27,    44,
  5271. !     60,   422,   500,    44,    55,    65,   102,    54,   395,   396,
  5272. !    102,    51,   103,   596,    41,    75,    55,     3,     4,    44,
  5273. !     60,   103,    56,    83,   102,   585,    53,   570,    88,    69,
  5274. !    448,    70,    41,   419,   823,   500,   423,   502,   596,   103,
  5275. !     54,   370,   609,    88,    53,    44,    60,    88,   615,   514,
  5276. !    515,   102,   517,   517,   808,    41,    83,    44,    92,   524,
  5277. !    524,   808,   391,    88,   798,   644,    75,    53,   284,   663,
  5278. !    556,    58,    55,    44,    83,   808,   102,   798,   867,   108,
  5279. !    109,   110,     3,     4,     5,     6,     7,    70,   103,    88,
  5280. !    555,   556,   308,   794,   102,   424,   663,    83,     3,     4,
  5281. !    929,    88,    89,    54,   647,   556,    55,    56,   685,    60,
  5282. !     44,   555,   441,   142,    35,   444,   570,    88,    89,     9,
  5283. !    449,   450,   451,   452,   453,     3,     4,     5,     6,     7,
  5284. !     51,     1,    53,    54,   463,    23,   102,   680,   467,   102,
  5285. !    466,    92,   607,   608,   609,   609,    51,    44,    53,    54,
  5286. !    615,   615,    92,    23,    88,    25,    26,     3,     4,     3,
  5287. !   1035,    58,    32,    55,    56,    51,   631,   632,   555,   634,
  5288. !    499,    60,    60,   977,    60,    53,   105,    98,    99,   100,
  5289. !     69,     1,    97,    69,    54,    55,    56,   924,    58,   654,
  5290. !     60,    88,   388,   647,   788,    41,   756,     4,   663,   663,
  5291. !     55,   397,    37,    23,    54,    25,    26,    53,    60,   769,
  5292. !     60,   771,    32,     4,    51,    70,    51,   682,     6,     7,
  5293. !    436,   788,    92,    60,    12,   792,   680,   692,   693,   694,
  5294. !    556,    88,    69,    89,    54,    55,    56,    83,    58,    60,
  5295. !     60,   808,    92,   664,    51,   105,    53,    35,   669,   670,
  5296. !    925,   926,   673,   928,    88,   992,    55,   644,    65,    58,
  5297. !     51,    89,    53,    55,    56,   825,   592,   827,    75,   829,
  5298. !     23,    70,    92,    54,    65,    56,    25,    26,   845,    60,
  5299. !   1084,  1085,   798,    27,    75,   852,    88,   752,   692,   693,
  5300. !    694,    88,   843,   844,  1098,   682,   512,    69,    89,   850,
  5301. !    851,    54,    88,    56,    69,    58,    69,    60,   773,    69,
  5302. !    775,   527,    25,    26,  1118,  1119,    54,   782,    56,    25,
  5303. !     26,   786,    60,   788,   788,   790,   791,   792,   792,     9,
  5304. !     78,    79,   103,   798,   663,   878,   879,    55,   881,    55,
  5305. !     56,    54,     3,   808,   808,   810,   764,    60,    54,  1334,
  5306. !   1335,   380,   381,   382,    60,     3,     4,    55,    56,     3,
  5307. !      4,  1165,   102,     7,   108,   109,   110,   102,    54,   102,
  5308. !     56,   103,   790,   791,    60,   102,   841,   842,   843,   844,
  5309. !    845,   845,    55,    56,   849,   850,   851,   852,   852,    37,
  5310. !     38,    55,    56,    41,   236,   237,    54,    41,   142,   102,
  5311. !     44,     7,   867,    51,    58,    53,   102,    51,   102,    53,
  5312. !   1296,  1297,   877,   102,     4,   880,    58,   882,   882,   884,
  5313. !    105,    65,    12,   752,   878,   879,   102,   881,    44,    88,
  5314. !     20,    75,   850,   851,    24,    25,   105,    27,    32,    83,
  5315. !    105,    85,   105,    33,    88,    89,   102,   581,     4,     5,
  5316. !    102,   102,   873,   782,    44,    51,    46,     6,   105,   788,
  5317. !    925,   926,    52,   928,    88,    81,    82,    44,    55,    59,
  5318. !     86,    87,    88,    89,    58,    31,    58,   895,   896,   808,
  5319. !     36,    71,     4,     5,    58,   102,    56,    77,    56,  1226,
  5320. !    102,    56,    56,   958,   958,    51,   882,    53,    56,    58,
  5321. !     55,   635,   102,  1086,   102,    95,    96,   102,   834,    31,
  5322. !     88,   101,   646,   931,    36,   105,   105,    55,   108,   109,
  5323. !    110,    60,    88,    89,    55,   990,   991,   992,    55,    51,
  5324. !    120,    53,   122,   123,    25,    26,    60,   866,     1,  1004,
  5325. !   1005,    32,  1007,    88,    58,   102,   990,    70,   992,   102,
  5326. !    140,   141,   142,    70,   102,   884,   102,    70,   102,   102,
  5327. !     23,   102,    25,    26,    55,    56,    70,    58,   897,    32,
  5328. !   1035,  1035,   958,   102,    60,    60,   166,     5,     6,     7,
  5329. !    609,    55,   102,  1337,    12,   911,   615,    60,  1131,  1132,
  5330. !   1337,    54,    55,    56,   184,    58,   102,    60,   105,   102,
  5331. !   1177,   103,   102,    83,   194,   992,  1189,    35,    89,  1030,
  5332. !   1031,   105,   343,    44,     5,     6,     7,   105,   102,   102,
  5333. !    102,    12,    34,     4,   103,   102,     7,   105,    58,    92,
  5334. !    102,   847,  1183,  1184,   663,   102,   380,   381,   382,  1182,
  5335. !    966,   231,   232,  1108,    35,  1205,   102,   102,    58,  1035,
  5336. !     88,    88,     4,     5,     6,     7,    88,   983,    10,    88,
  5337. !     12,    88,   103,    44,    75,    76,    77,    78,    79,  1252,
  5338. !     51,   105,    53,     6,    60,    27,   102,  1131,  1132,    31,
  5339. !    102,   815,   272,    35,    65,   102,  1107,   102,   278,   279,
  5340. !    280,   105,    88,   259,    75,   285,   286,     3,     4,    51,
  5341. !    102,    53,  1285,   102,    85,   103,  1127,    88,    89,   102,
  5342. !    300,  1271,   102,  1039,   102,    60,    56,    56,  1183,  1184,
  5343. !   1185,     7,    54,    14,   314,  1179,    56,   317,  1182,    58,
  5344. !    102,   865,   322,   949,   102,    41,   326,    60,    44,    60,
  5345. !    874,    93,    27,  1286,   105,    51,    44,    53,    56,   883,
  5346. !     88,   341,  1078,    56,    60,  1338,    58,    88,    58,    65,
  5347. !     88,   102,  1227,   105,    15,  1183,  1184,   102,   102,    75,
  5348. !   1337,    58,   362,   363,   364,   365,   366,    83,   102,    56,
  5349. !    370,   103,    88,  1227,    56,    56,   376,   102,   378,   102,
  5350. !    380,   381,   382,    56,    56,   102,     9,    58,   388,    56,
  5351. !     56,   102,     3,     4,   394,    88,     7,   397,    56,   375,
  5352. !     55,    91,   102,   102,   843,   844,   845,    56,   102,     9,
  5353. !    410,   850,   851,   852,   109,   110,   416,   417,   102,   419,
  5354. !     58,    56,  1286,   102,   424,    88,   102,  1258,   102,  1226,
  5355. !     41,     3,     4,    44,     9,     7,    56,     0,     0,   119,
  5356. !     51,     2,    53,   328,   808,   120,  1185,   142,   823,    99,
  5357. !    450,   451,   452,   453,    65,   609,   120,  1150,  1160,  1191,
  5358. !    130,   615,  1337,  1337,    75,   441,   512,  1203,   444,    41,
  5359. !    446,   447,    83,   449,    85,  1019,  1020,    88,    89,    51,
  5360. !    463,    53,  1087,     4,   991,   626,     7,  1203,  1032,  1033,
  5361. !    592,   467,   803,    65,   688,   471,   867,    33,    33,   654,
  5362. !    500,   813,   502,    75,     4,   958,   417,   543,   882,   663,
  5363. !    880,    83,   801,    12,   514,   515,    88,   517,   500,   837,
  5364. !     20,   497,  1276,    44,   524,  1310,     4,   503,     6,     7,
  5365. !     51,  1312,    53,    33,    12,   535,    73,    74,    75,    76,
  5366. !     77,    78,    79,   884,    65,    -1,    46,    10,    -1,    27,
  5367. !     -1,   370,    -1,    31,    75,   555,   556,    35,    -1,    59,
  5368. !     -1,    -1,    25,    26,    85,    -1,    -1,    88,    89,    32,
  5369. !     -1,    71,    -1,    51,    -1,    53,    76,    77,    -1,    -1,
  5370. !     -1,    44,    -1,    -1,    -1,    -1,  1130,    -1,    88,    89,
  5371. !     -1,    -1,    55,    56,    -1,    58,    96,    60,  1337,    99,
  5372. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,   607,   608,   609,
  5373. !     88,    -1,    -1,    -1,   755,   615,    -1,    -1,    -1,     4,
  5374. !    120,     6,     7,   123,    -1,    88,    89,    12,    -1,    92,
  5375. !     93,   631,   632,    -1,   634,    -1,    -1,   137,    -1,   102,
  5376. !     -1,    -1,    27,    -1,    -1,    -1,    31,    -1,    -1,    -1,
  5377. !     35,    -1,  1196,  1197,   654,  1199,  1200,    -1,    -1,    -1,
  5378. !     -1,    -1,    -1,   663,    -1,    -1,    51,    -1,    53,  1108,
  5379. !     -1,   812,    -1,    -1,     1,    -1,     3,     4,     5,     6,
  5380. !      7,    -1,   682,    -1,   184,    12,   381,   382,    -1,   843,
  5381. !    844,   845,   692,   693,   694,    -1,   850,   851,   852,    -1,
  5382. !     27,    -1,    -1,    -1,    31,    -1,    -1,    -1,    35,    36,
  5383. !     -1,    -1,    -1,    -1,    41,    -1,   857,    -1,    -1,    -1,
  5384. !     -1,    -1,    -1,    -1,    51,    -1,    53,    -1,    -1,    56,
  5385. !     -1,   231,    -1,    60,     4,    -1,     6,     7,    65,    -1,
  5386. !    137,    -1,    12,    -1,  1183,  1184,  1185,    -1,    75,    -1,
  5387. !     -1,    -1,   752,    -1,    -1,    -1,    83,    -1,    -1,   259,
  5388. !     -1,    88,  1306,    -1,    -1,    35,    -1,    -1,    -1,   910,
  5389. !    911,    -1,   272,   773,    44,   775,   103,    -1,    -1,    -1,
  5390. !    280,    51,   782,    53,   760,    -1,   786,    -1,   788,    -1,
  5391. !    790,   791,   792,    -1,    71,    65,    -1,    -1,   798,    76,
  5392. !    300,    -1,    -1,    -1,    -1,    75,    -1,    -1,   808,    -1,
  5393. !    810,    88,    89,    -1,    -1,    85,   792,    -1,    88,    89,
  5394. !     -1,    -1,    99,   823,    -1,   966,   326,    -1,    -1,   524,
  5395. !     -1,    -1,    -1,     3,     4,    -1,    -1,    -1,    -1,    -1,
  5396. !     -1,   841,   842,   843,   844,   845,    -1,    -1,    -1,   849,
  5397. !    850,   851,   852,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5398. !    137,     4,    -1,   363,     7,    -1,   366,   867,    -1,    -1,
  5399. !    370,    41,    -1,    -1,    -1,    -1,   852,   877,    -1,    -1,
  5400. !    880,    51,   882,    53,   884,    -1,    56,    -1,    -1,    -1,
  5401. !    866,   391,    -1,    -1,    -1,    65,    -1,    -1,    -1,  1040,
  5402. !     -1,    44,    -1,    -1,  1045,    75,    -1,    -1,    51,    -1,
  5403. !     53,    -1,    -1,    83,   609,    -1,    -1,   417,    88,   419,
  5404. !    615,   897,    65,    -1,   424,   925,   926,    -1,   928,    -1,
  5405. !     -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5406. !     -1,   441,    85,    -1,   444,    88,    89,   344,    -1,   449,
  5407. !    450,   451,   452,   453,  1108,    -1,    -1,    -1,   958,    -1,
  5408. !     -1,    -1,     4,   463,     6,     7,    -1,   467,   663,    -1,
  5409. !     12,    -1,    -1,    24,    25,    -1,    -1,    -1,    -1,  1120,
  5410. !   1121,    -1,   259,    -1,    -1,    27,    -1,    -1,    -1,    31,
  5411. !    990,   991,   992,    35,   391,   272,    -1,    -1,    -1,   499,
  5412. !    500,    -1,   697,    -1,  1004,  1005,   982,  1007,  1149,    51,
  5413. !     -1,    53,    54,    -1,    -1,    -1,    -1,   517,    -1,    -1,
  5414. !     71,    -1,    -1,   300,   524,    76,    -1,    -1,    -1,  1183,
  5415. !   1184,  1185,    -1,     3,     4,  1035,    -1,    88,    89,    -1,
  5416. !     -1,    -1,   439,    -1,    -1,    -1,    88,    -1,    99,    -1,
  5417. !      3,     4,    -1,  1194,     7,    -1,    -1,   108,   109,    -1,
  5418. !   1201,  1202,    -1,    -1,    -1,  1041,  1042,  1043,  1044,  1210,
  5419. !     -1,    41,    -1,    -1,    -1,    -1,    -1,  1053,    -1,    -1,
  5420. !     -1,    51,    -1,    53,    -1,    -1,   137,    -1,    41,   140,
  5421. !    141,    44,    -1,   370,    -1,    65,   791,   792,    51,   496,
  5422. !     53,   498,   499,    -1,    -1,    75,    -1,    -1,  1108,   609,
  5423. !     -1,  1087,    65,    83,   391,   615,    -1,    -1,    88,  1095,
  5424. !     -1,    -1,    75,    -1,    -1,    -1,    -1,   524,  1269,  1270,
  5425. !     83,    -1,    85,   530,    -1,    88,    89,    71,    72,    73,
  5426. !     74,    75,    76,    77,    78,    79,    -1,   424,    -1,   844,
  5427. !    845,    -1,    -1,    -1,    -1,    -1,   851,   852,    -1,    -1,
  5428. !     -1,    -1,    -1,   663,   441,    -1,    -1,   444,    -1,    -1,
  5429. !     -1,    -1,   449,   450,   451,   452,   453,    -1,    -1,    -1,
  5430. !     -1,    -1,    -1,  1183,  1184,  1185,   463,    -1,   585,    -1,
  5431. !    467,    -1,    -1,  1169,     1,  1336,     3,     4,     5,     6,
  5432. !      7,   896,   897,    -1,    -1,    12,    -1,    -1,   259,  1185,
  5433. !     -1,    -1,    -1,    -1,  1190,  1191,    -1,    -1,   615,    -1,
  5434. !     27,   272,   499,   500,    31,    -1,    -1,  1227,    35,    36,
  5435. !     -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,  1215,
  5436. !    517,    -1,    -1,    -1,    51,    -1,    53,   524,    -1,   300,
  5437. !     -1,    -1,   752,    60,    -1,    -1,   756,    -1,    65,    -1,
  5438. !     -1,     1,    -1,     3,     4,     5,     6,     7,    75,    -1,
  5439. !     -1,    -1,    12,    -1,    -1,     4,    83,     6,     7,    -1,
  5440. !     -1,    88,   782,    12,    -1,    25,    26,    27,   788,    -1,
  5441. !     -1,    31,   792,    -1,    -1,    35,   103,    -1,    27,    39,
  5442. !    697,    41,    31,    -1,  1280,    45,    35,    -1,   808,    -1,
  5443. !    810,    51,    -1,    53,    -1,    -1,    56,    -1,    -1,   370,
  5444. !   1296,  1297,    51,    -1,    53,    65,    -1,    -1,    -1,   380,
  5445. !    381,    -1,   609,  1309,    -1,    75,   836,  1337,   615,    -1,
  5446. !    391,    -1,    -1,    83,    -1,   845,    -1,    -1,    88,    -1,
  5447. !     -1,    -1,   852,    -1,    94,    95,    -1,     3,     4,   756,
  5448. !     -1,     7,    -1,    -1,    -1,    -1,   866,    -1,    -1,    -1,
  5449. !     -1,    -1,   769,   424,   771,    -1,    -1,    -1,    -1,    -1,
  5450. !     -1,    -1,   882,    -1,   884,    -1,   663,    -1,    -1,    -1,
  5451. !    441,    -1,    -1,   444,    -1,    41,    -1,   897,   449,   450,
  5452. !    451,   452,   453,    -1,    -1,    51,    -1,    53,    -1,    -1,
  5453. !     -1,    -1,   463,  1108,    -1,    -1,   467,    -1,    -1,    65,
  5454. !      1,    -1,     3,     4,     5,     6,     7,    -1,   825,    75,
  5455. !    827,    12,   829,    -1,    -1,    -1,    -1,    83,    -1,    69,
  5456. !     -1,    -1,    88,    -1,    -1,    -1,    27,    -1,   499,   500,
  5457. !     31,    -1,    -1,    -1,    35,    36,    -1,    76,   958,    -1,
  5458. !     41,    -1,    -1,   514,   515,    -1,   517,    -1,    -1,    -1,
  5459. !     51,    -1,    53,   524,    -1,   752,    -1,    -1,    -1,    60,
  5460. !     99,    -1,    -1,    -1,    65,    -1,    -1,   117,    -1,  1184,
  5461. !   1185,   991,    -1,   993,    75,    -1,    -1,    -1,    -1,    -1,
  5462. !   1000,    -1,    83,    -1,    -1,   782,   136,    88,    -1,    -1,
  5463. !     -1,   788,    -1,    -1,    -1,   792,    -1,    -1,   137,    -1,
  5464. !     -1,   151,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5465. !     -1,   808,    -1,    -1,    -1,  1035,     1,    -1,     3,     4,
  5466. !      5,     6,     7,    -1,     3,     4,    -1,    12,     7,    -1,
  5467. !     -1,    -1,    -1,    -1,    -1,    -1,   607,   608,   609,    -1,
  5468. !     -1,    -1,    27,    -1,   615,    -1,    31,    -1,   845,    -1,
  5469. !     35,    36,    -1,    -1,    -1,   852,    41,    -1,    -1,    -1,
  5470. !     -1,    -1,    41,    -1,    -1,    44,    51,  1087,    53,   866,
  5471. !     -1,    56,    51,    -1,    53,    60,    -1,    -1,     3,     4,
  5472. !     65,    -1,    -1,    -1,    -1,    -1,    65,   884,    -1,    -1,
  5473. !     75,    -1,   663,    -1,    -1,    -1,    75,    -1,    83,    -1,
  5474. !    897,    -1,    -1,    88,    83,    -1,    85,    -1,    -1,    88,
  5475. !     89,    -1,     4,     5,     6,     7,    41,    -1,   103,    44,
  5476. !     12,   260,    -1,    -1,    -1,    -1,    51,    -1,    53,    -1,
  5477. !     -1,    -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,    31,
  5478. !     65,  1161,     1,    35,     3,     4,     5,     6,     7,  1169,
  5479. !     75,    -1,  1172,    12,    -1,    -1,    -1,    -1,    83,    51,
  5480. !     85,    53,    -1,    88,    89,  1185,    -1,    -1,    27,    -1,
  5481. !   1190,  1191,    31,    -1,    -1,    -1,    35,     3,     4,    -1,
  5482. !     -1,   752,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,
  5483. !     -1,  1108,    51,    -1,    53,  1215,    -1,    56,    -1,    -1,
  5484. !     -1,    -1,  1222,    -1,   343,   344,    65,    -1,    -1,  1229,
  5485. !     -1,   782,  1232,    -1,    -1,    41,    75,   788,    -1,   790,
  5486. !    791,   792,    -1,    -1,    83,    51,    -1,    53,    -1,    88,
  5487. !     56,    -1,    -1,  1253,   384,    94,  1256,   808,    -1,    65,
  5488. !    390,    -1,    -1,  1263,    -1,    -1,    -1,    -1,    -1,    75,
  5489. !     -1,    -1,   391,    -1,    -1,    -1,    -1,    83,    -1,    -1,
  5490. !     -1,    -1,    88,     4,     5,     6,     7,  1287,    -1,    -1,
  5491. !     -1,    12,   843,   844,   845,   414,    -1,    -1,    -1,   850,
  5492. !    851,   852,  1302,    -1,   434,   435,    27,   437,  1205,    -1,
  5493. !     31,    -1,    -1,    -1,    35,   866,    -1,  1317,    -1,    -1,
  5494. !    439,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5495. !     51,    -1,    53,   884,  1334,  1335,    -1,  1337,     3,     4,
  5496. !     -1,    -1,     7,    -1,   463,    -1,   897,   466,    69,    -1,
  5497. !    469,   470,    -1,   472,   473,   474,   475,   476,   477,   478,
  5498. !    479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
  5499. !    489,   490,    -1,    -1,  1271,    -1,    41,   496,    -1,   498,
  5500. !    499,    -1,    -1,    -1,    -1,    -1,    51,    -1,    53,    -1,
  5501. !    520,   521,  1169,    -1,     4,   525,     6,    -1,    -1,    -1,
  5502. !     65,    -1,    12,    -1,    -1,   524,    -1,    -1,  1185,    -1,
  5503. !     75,   530,    -1,  1190,  1191,    -1,    -1,    27,    83,    -1,
  5504. !     -1,    31,    -1,    88,    -1,    35,   545,   546,    -1,    -1,
  5505. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1215,    -1,
  5506. !     -1,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  5507.        3,     4,     5,     6,     7,    -1,    -1,    10,    -1,    12,
  5508. !     -1,     3,     4,     5,     6,     7,   585,    -1,    -1,    -1,
  5509. !     12,   601,   602,   592,    27,    -1,    -1,    -1,    31,    12,
  5510. !     -1,   611,    35,    -1,    -1,    27,    -1,   617,    41,    31,
  5511. !     -1,    24,    25,    35,    27,    -1,   615,    -1,    51,    41,
  5512. !     53,    -1,    -1,    -1,    -1,     4,    -1,   626,    -1,    51,
  5513. !     -1,    53,    65,    -1,    56,    -1,    -1,    -1,    -1,    52,
  5514. !     -1,    -1,    75,    65,    -1,    24,    25,    -1,    27,    -1,
  5515. !     83,   661,    -1,    75,    33,    88,    -1,    -1,    -1,    -1,
  5516. !     93,    83,    -1,   662,    -1,    44,    88,    46,    -1,    -1,
  5517. !      3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,
  5518. !   1337,    -1,    -1,    -1,    -1,    -1,    -1,    66,   101,    -1,
  5519. !    103,   104,   105,    -1,    -1,   108,   109,   110,   697,    -1,
  5520.       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    41,    -1,
  5521. !     -1,    44,    -1,    -1,    -1,    -1,    95,    -1,    51,   718,
  5522. !     53,    -1,   101,    -1,   103,    -1,   105,    -1,    -1,   108,
  5523. !    109,   110,    65,    -1,    -1,    -1,    -1,    -1,  1169,    -1,
  5524. !     -1,   120,    75,   122,   123,    -1,    -1,    -1,   758,   759,
  5525. !     83,   761,  1183,  1184,  1185,    88,   755,   756,    -1,  1190,
  5526. !   1191,   140,   141,   142,    -1,    -1,    -1,    -1,    -1,    -1,
  5527. !    769,   150,   771,    -1,    -1,    -1,    -1,   787,    -1,    -1,
  5528. !     -1,   194,    -1,    -1,  1215,    -1,    -1,   166,    -1,    -1,
  5529. !     -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
  5530. !     -1,   800,    -1,    -1,    12,   184,    -1,    -1,    -1,    -1,
  5531. !     -1,    -1,    -1,   812,    -1,   194,    -1,    -1,    -1,   232,
  5532. !     -1,    -1,    -1,    -1,    -1,    -1,   825,    35,   827,    -1,
  5533. !    829,    -1,    -1,    41,    -1,    -1,    44,    -1,   848,     4,
  5534. !     -1,     6,     7,    51,    -1,    53,    -1,    12,    -1,    -1,
  5535. !    860,   861,   862,    -1,    -1,    -1,    -1,    65,   857,    -1,
  5536. !     -1,    -1,    -1,   276,    -1,   278,   279,    75,    -1,    -1,
  5537. !     35,    -1,   871,   872,    -1,    83,    -1,    85,    -1,    44,
  5538. !     88,    89,    -1,    -1,    -1,    -1,    51,     1,    53,     3,
  5539. !      4,     5,     6,     7,    -1,   308,    -1,   276,    12,    -1,
  5540. !     65,   314,    -1,    -1,   317,   284,  1337,   286,    -1,   322,
  5541. !     75,   910,   911,    27,    -1,   914,    -1,    31,    -1,    -1,
  5542. !     85,    35,    -1,    88,    89,    -1,    -1,    41,    -1,   939,
  5543. !     -1,    -1,    -1,    -1,    -1,   314,    -1,    51,   317,    53,
  5544. !     -1,    -1,    -1,   322,     3,     4,     5,     6,     7,    -1,
  5545. !     -1,    65,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  5546. !     -1,    75,    -1,    -1,    -1,    -1,    -1,   966,    27,    83,
  5547. !     -1,    -1,    31,    -1,    88,    -1,    35,    -1,    -1,   978,
  5548. !     -1,    -1,    41,   362,   363,   364,   365,    -1,    -1,    -1,
  5549. !     -1,   370,    51,    -1,    53,    -1,    -1,   376,    -1,   378,
  5550. !     -1,   380,   381,   382,    -1,    -1,    65,     3,     4,   388,
  5551. !     -1,     7,    -1,  1023,    -1,   394,    75,    -1,   397,    -1,
  5552. !     -1,    -1,    -1,   436,    83,    -1,    -1,  1026,    -1,    88,
  5553. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,   416,   417,    -1,
  5554. !    419,  1040,    -1,     4,    -1,    41,  1045,    -1,  1047,    -1,
  5555. !     -1,     4,     5,     6,     7,    51,    -1,    53,  1068,    12,
  5556. !     -1,    -1,    -1,    24,    25,    -1,    27,    -1,    -1,    65,
  5557. !     -1,    -1,    33,    -1,    27,    -1,    -1,    -1,    31,    75,
  5558. !     -1,    -1,    35,    44,    -1,    46,    -1,    83,    -1,   502,
  5559. !     -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,    51,   512,
  5560. !     53,   514,   515,     3,     4,     5,     6,     7,    -1,  1108,
  5561. !     10,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5562. !     -1,  1120,  1121,    -1,    -1,    -1,    -1,    27,    -1,  1128,
  5563. !   1129,    31,    -1,   512,    95,    35,    -1,    -1,    -1,    -1,
  5564. !    101,    41,    -1,   556,   105,   524,    -1,   108,   109,   110,
  5565. !   1149,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,   120,
  5566. !     -1,   122,   123,    -1,    -1,    65,     4,     5,     6,     7,
  5567. !     -1,  1170,    10,    -1,    12,    75,   555,    -1,    -1,   140,
  5568. !    141,   142,    -1,    83,    -1,    -1,    -1,    -1,    88,    27,
  5569. !     -1,    -1,    27,    31,    -1,  1194,    -1,    35,    -1,    -1,
  5570. !     -1,    -1,  1201,  1202,    -1,   166,  1205,    -1,    -1,    44,
  5571. !     -1,  1210,    -1,    51,    -1,    53,     3,     4,     5,     6,
  5572. !      7,    -1,    -1,   184,    -1,    12,    -1,    -1,   607,   608,
  5573. !    609,    -1,    -1,   194,    -1,    -1,   615,    -1,    -1,    -1,
  5574. !     27,    -1,    -1,    -1,    31,    -1,    -1,    -1,    35,    -1,
  5575. !     -1,    -1,   631,   632,    41,   634,    -1,    44,    -1,    -1,
  5576. !     95,    -1,    -1,    -1,    51,    -1,    53,    -1,    -1,   682,
  5577. !   1269,  1270,  1271,   108,   109,   110,    -1,    -1,    65,   692,
  5578. !    693,   694,    -1,    -1,   663,    -1,    -1,   122,    75,    -1,
  5579.       -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,
  5580. !     -1,    88,    89,    -1,    -1,   140,   141,   142,    -1,    -1,
  5581. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   697,    -1,
  5582. !      3,     4,    -1,    -1,   285,   286,    -1,    -1,    -1,    -1,
  5583. !     -1,   166,    -1,    -1,    -1,    -1,    -1,  1336,    -1,    -1,
  5584. !     -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
  5585. !      7,    -1,    -1,   314,    -1,    12,   317,    -1,    41,    -1,
  5586. !    773,   322,   775,    -1,    -1,    -1,    -1,    -1,    51,    -1,
  5587. !     53,    -1,    -1,   786,    -1,    -1,    -1,    60,    35,    -1,
  5588. !    341,    -1,    65,    -1,    41,    -1,    -1,    44,    -1,    -1,
  5589. !     -1,    -1,    75,    -1,    51,    -1,    53,   232,    -1,    -1,
  5590. !     83,   362,   363,   364,   365,    88,    -1,    -1,    65,   370,
  5591. !     -1,   790,   791,   792,    -1,   376,    -1,   378,    75,   380,
  5592. !    381,   382,    -1,    -1,    -1,    -1,    83,   388,    85,    -1,
  5593. !     -1,    88,    89,   394,    -1,    -1,   397,    -1,    -1,    -1,
  5594. !     -1,    -1,    -1,   278,   279,   280,    -1,    -1,    -1,    -1,
  5595. !     -1,   286,    -1,    -1,    -1,   416,   417,    -1,   419,    -1,
  5596. !     -1,    -1,   841,   842,   843,   844,   845,   880,   847,    -1,
  5597. !    849,   850,   851,   852,    -1,    -1,     3,     4,     5,     6,
  5598. !      7,    -1,    -1,    -1,    -1,    12,    68,    69,    70,    71,
  5599. !     72,    73,    74,    75,    76,    77,    78,    79,   877,    -1,
  5600. !     27,   880,    -1,   882,    31,    -1,    -1,    -1,    35,    -1,
  5601. !     -1,    -1,   925,   926,    41,   928,   895,   896,   897,    -1,
  5602. !     -1,    -1,    -1,    -1,    51,    -1,    53,   362,    -1,   364,
  5603. !    365,   366,    -1,    60,    -1,    -1,    -1,    -1,    65,    -1,
  5604. !     -1,   376,    -1,   378,    -1,   380,   381,   382,    75,     4,
  5605. !      5,     6,     7,   388,    -1,    10,    83,    12,    -1,   394,
  5606. !     -1,    88,   397,   524,    -1,    -1,    -1,    -1,    -1,    -1,
  5607. !    949,    -1,    27,    -1,    -1,    -1,    31,    -1,    -1,   958,
  5608. !     35,   416,    -1,    -1,   140,   141,   142,    -1,    -1,    44,
  5609. !     -1,    -1,    -1,    -1,   555,    -1,    51,    -1,    53,    -1,
  5610. !     -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,    -1,
  5611. !     65,   990,   991,   992,     3,     4,    -1,    -1,     7,    -1,
  5612. !     75,    -1,    -1,    -1,    -1,  1004,  1005,    44,  1007,    -1,
  5613. !     85,    -1,    -1,    88,    89,    -1,    -1,    -1,    93,    -1,
  5614. !     -1,    41,    -1,    -1,    -1,    -1,   607,   608,   609,    66,
  5615. !     -1,    51,    41,    53,   615,    -1,  1035,    -1,    -1,    -1,
  5616. !     -1,    -1,    51,    -1,    53,    65,    -1,   502,    85,    -1,
  5617. !    631,   632,    -1,   634,    -1,    75,    65,    -1,    95,   514,
  5618. !    515,    -1,   517,    83,    -1,    -1,    75,    -1,    88,   524,
  5619. !     -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    88,
  5620. !     -1,    -1,   663,    -1,    -1,   122,    -1,    -1,    -1,    -1,
  5621. !     -1,    -1,    -1,     3,     4,    -1,     6,     7,     8,     9,
  5622. !    555,    11,    12,   140,   141,   142,    -1,    -1,    -1,  1108,
  5623. !     -1,    -1,    -1,   150,    -1,    -1,   697,    27,    28,    29,
  5624. !     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,   166,
  5625. !     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  5626. !     50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  5627. !     -1,    -1,   607,   608,   609,    -1,    -1,    -1,    -1,   196,
  5628. !    615,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5629. !     -1,    81,    82,    83,     3,     4,   631,   632,    88,   634,
  5630. !     -1,    -1,    92,    -1,  1183,  1184,  1185,    -1,    -1,    -1,
  5631. !     -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,
  5632. !    376,    -1,   378,    -1,   380,   381,   382,    -1,   663,   790,
  5633. !    791,   792,    41,    -1,    -1,    -1,    -1,   798,   394,    -1,
  5634. !     -1,    -1,    51,    -1,    53,    -1,    -1,   682,  1227,    -1,
  5635. !     -1,    -1,    -1,    -1,    -1,    -1,    65,   692,   693,   694,
  5636. !    416,    -1,   823,    -1,    -1,    -1,    75,   284,    -1,   286,
  5637. !     -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    88,
  5638. !    841,   842,   843,   844,   845,    -1,    -1,    -1,   849,   850,
  5639. !    851,   852,    -1,    -1,    -1,    -1,    -1,     4,    -1,     6,
  5640. !      7,    -1,    -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,
  5641. !     -1,    -1,    -1,    -1,    -1,    -1,   877,    -1,    -1,   880,
  5642. !     27,   882,    -1,    -1,    31,    -1,    -1,    -1,    35,    -1,
  5643. !     -1,    -1,    -1,    -1,   895,   896,   897,    44,   773,    -1,
  5644. !    775,    -1,    -1,    -1,    51,   362,    53,   364,   365,    -1,
  5645. !     -1,   786,    -1,    -1,    -1,   790,   791,   792,    65,   376,
  5646. !     -1,   378,    -1,   380,   381,   382,    -1,    -1,    75,    -1,
  5647. !     -1,   388,    -1,    -1,   278,   279,   280,   394,    85,    -1,
  5648. !    397,    88,    89,    66,    67,    68,    69,    70,    71,    72,
  5649. !     73,    74,    75,    76,    77,    78,    79,   958,    -1,   416,
  5650. !     -1,    -1,    -1,    -1,    -1,     4,   841,   842,   843,   844,
  5651. !    845,    -1,    -1,    -1,   849,   850,   851,   852,    -1,    -1,
  5652. !     -1,    -1,    -1,    -1,    -1,    24,    25,    -1,    -1,   990,
  5653. !    991,   992,     3,     4,    33,    -1,     7,    -1,    -1,    -1,
  5654. !     -1,    -1,   877,  1004,  1005,    -1,  1007,    46,    -1,    -1,
  5655. !     -1,   607,   608,   609,    -1,    -1,    -1,    -1,   362,   615,
  5656. !    364,   365,   366,     3,     4,    -1,    -1,     7,    -1,    -1,
  5657. !     41,    -1,    -1,    -1,  1035,   631,   632,    -1,   634,    -1,
  5658. !     51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5659. !    925,   926,    -1,   928,    65,    -1,    -1,    -1,    -1,    -1,
  5660. !     -1,    41,   101,    -1,    75,    -1,   105,   663,    -1,    -1,
  5661. !    527,    51,    83,    53,    -1,    -1,    -1,    88,    -1,    -1,
  5662. !     -1,   120,    -1,    -1,   123,    65,    -1,    -1,    -1,    -1,
  5663. !     -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,   555,    -1,
  5664. !     -1,   140,   141,    83,    -1,    -1,    -1,  1108,    88,    -1,
  5665. !     -1,    -1,    -1,    -1,    -1,   990,    -1,   992,    -1,     3,
  5666. !      4,   278,   279,   280,    -1,    -1,    -1,    -1,    -1,  1004,
  5667. !   1005,    -1,  1007,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5668. !      3,     4,     5,     6,     7,   184,    -1,    -1,    -1,    12,
  5669. !    607,   608,   609,    -1,    -1,   194,    -1,    41,   615,    -1,
  5670. !     -1,    -1,    -1,    -1,    27,    -1,    -1,    51,    31,    53,
  5671. !    514,   515,    35,   517,   631,   632,    -1,   634,    41,    -1,
  5672. !    524,    65,  1183,  1184,  1185,    -1,    -1,    -1,    51,    -1,
  5673. !     53,    75,    -1,    56,    -1,    -1,    -1,    -1,    -1,    83,
  5674. !     -1,    -1,    65,    -1,    88,   362,   663,   364,   365,   366,
  5675. !     -1,   555,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5676. !     83,    -1,    -1,    -1,    -1,    88,  1227,    -1,    -1,    -1,
  5677. !     -1,    -1,    -1,  1108,    -1,    -1,    -1,    10,    -1,    -1,
  5678. !     -1,    -1,    -1,    -1,    -1,   841,   842,   843,   844,   845,
  5679. !     -1,    -1,    -1,   849,   850,   851,   852,    -1,    -1,    -1,
  5680. !     -1,    -1,    -1,   607,   608,   609,    -1,    -1,    -1,    -1,
  5681. !     -1,   615,    -1,    -1,    -1,   314,    -1,    -1,   317,    -1,
  5682. !     -1,   877,    -1,   322,    57,    58,    59,    60,    61,    62,
  5683. !     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
  5684. !     73,    74,    75,    76,    77,    78,    79,    -1,  1183,  1184,
  5685. !   1185,    67,    68,    69,    70,    71,    72,    73,    74,    75,
  5686. !     76,    77,    78,    79,   363,    -1,    -1,    -1,    -1,    -1,
  5687. !     -1,   370,    -1,    -1,    -1,    -1,    -1,   376,   682,   378,
  5688.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5689. !     -1,    -1,  1227,    -1,    -1,   394,    -1,   514,   515,    62,
  5690. !     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
  5691. !     73,    74,    75,    76,    77,    78,    79,   416,   417,    -1,
  5692. !    419,    -1,    -1,    -1,   841,   842,   843,   844,   845,    -1,
  5693. !    847,    -1,   849,   850,   851,   852,    -1,    -1,   555,    -1,
  5694. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1004,  1005,
  5695. !     -1,  1007,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5696. !    877,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   773,
  5697. !     -1,   775,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5698. !     -1,    -1,   786,    -1,    -1,    -1,   790,   791,   792,    -1,
  5699. !    607,   608,    -1,    -1,    57,    58,    59,    -1,    61,    62,
  5700. !     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
  5701. !     73,    74,    75,    76,    77,    78,    79,    65,    66,    67,
  5702. !     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
  5703. !     78,    79,   949,    -1,    -1,    -1,    -1,   841,   842,   843,
  5704. !    844,   845,   105,    -1,    -1,   849,   850,   851,   852,    -1,
  5705. !     -1,    -1,  1108,    -1,     3,     4,     5,     6,     7,    -1,
  5706. !     -1,    10,    -1,    12,    -1,   682,    -1,    -1,    -1,    -1,
  5707. !     -1,    -1,    -1,   990,    -1,   992,    -1,    -1,    27,    -1,
  5708. !     -1,    -1,    31,    -1,    -1,    -1,    35,  1004,  1005,    -1,
  5709. !   1007,    -1,    41,    -1,    -1,    44,    -1,    -1,    -1,    -1,
  5710. !     -1,    -1,    51,    -1,    53,    -1,    -1,    -1,   607,   608,
  5711. !     -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
  5712. !     -1,    -1,    -1,    -1,    -1,    -1,    75,  1183,  1184,  1185,
  5713. !     -1,    -1,   631,   632,    83,   634,    85,    -1,    -1,    88,
  5714. !     89,    -1,    -1,    -1,    93,    -1,    -1,    -1,    -1,    -1,
  5715. !     -1,    -1,    -1,    -1,    -1,    -1,   773,    -1,   775,    -1,
  5716. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   786,
  5717. !     -1,    -1,    -1,   790,   791,    64,    65,    66,    67,    68,
  5718. !     69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
  5719. !     79,  1108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5720. !   1004,  1005,    -1,  1007,    -1,    -1,    -1,    -1,    -1,    -1,
  5721. !     32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5722. !     -1,    -1,    -1,    -1,   841,   842,   843,   844,    -1,    -1,
  5723. !     -1,    -1,   849,   850,   851,    57,    58,    59,    -1,    61,
  5724. !     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
  5725. !     72,    73,    74,    75,    76,    77,    78,    79,    -1,    -1,
  5726. !     -1,    -1,    -1,    -1,    -1,    -1,  1183,  1184,  1185,    -1,
  5727. !     -1,    -1,     1,    -1,     3,     4,     5,     6,     7,     8,
  5728.        9,    -1,    11,    12,    13,    -1,    15,    16,    17,    18,
  5729.       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
  5730.       29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
  5731. !   1227,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
  5732.       49,    50,    51,    -1,    53,    54,    -1,    56,    -1,    -1,
  5733.       -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
  5734. !     -1,    -1,   841,   842,    73,    74,    75,    -1,    -1,    -1,
  5735. !    849,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,
  5736.       -1,    90,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,
  5737. !     -1,    -1,    -1,    -1,   103,   104,    -1,    -1,   877,    -1,
  5738. !     -1,   880,    -1,   882,    -1,    -1,    -1,  1004,  1005,    -1,
  5739. !   1007,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
  5740. !     -1,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
  5741. !     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
  5742. !     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  5743. !     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  5744. !     50,    51,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,
  5745. !     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,   958,
  5746. !     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  5747. !     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
  5748. !     90,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5749. !     -1,    -1,   991,   103,   104,    -1,    -1,    -1,    -1,    -1,
  5750. !     -1,    -1,    -1,    -1,    -1,  1004,  1005,    -1,  1007,    -1,
  5751. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5752. !     -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,     7,
  5753. !      8,     9,    -1,    11,    12,    13,  1035,    15,    16,    17,
  5754. !     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
  5755. !     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  5756. !     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  5757. !     48,    49,    50,    51,    -1,    53,    54,    -1,    56,    -1,
  5758. !     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  5759. !     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  5760. !     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  5761. !     88,    -1,    90,    -1,    92,    -1,    -1,    -1,    -1,    -1,
  5762. !     -1,    -1,    -1,    -1,    -1,   103,   104,     1,    -1,     3,
  5763. !      4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
  5764. !     -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
  5765. !     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
  5766. !     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  5767. !     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  5768. !     54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  5769. !     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  5770. !     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  5771. !     -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,    -1,
  5772. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
  5773. !    104,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
  5774. !     -1,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
  5775. !     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
  5776. !     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  5777. !     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  5778. !     50,    51,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,
  5779. !     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  5780. !     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  5781. !     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
  5782. !     90,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5783. !     -1,    -1,    -1,   103,   104,     1,    -1,     3,     4,     5,
  5784. !      6,     7,     8,     9,    -1,    11,    12,    13,    -1,    15,
  5785. !     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  5786. !     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  5787. !     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  5788. !     46,    47,    48,    49,    50,    51,    -1,    53,    54,    -1,
  5789. !     56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  5790. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  5791. !     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  5792. !     -1,    -1,    88,    -1,    90,     1,    92,     3,     4,     5,
  5793. !      6,     7,     8,     9,    -1,    11,    12,    13,   104,    15,
  5794. !     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  5795. !     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  5796. !     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  5797. !     46,    47,    48,    49,    50,    51,    -1,    53,    54,    -1,
  5798. !     56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  5799. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  5800. !     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  5801. !     -1,    -1,    88,    -1,    90,     1,    92,     3,     4,     5,
  5802. !      6,     7,     8,     9,    -1,    11,    12,    13,   104,    15,
  5803. !     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  5804. !     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  5805. !     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  5806. !     46,    47,    48,    49,    50,    51,    -1,    53,    54,    -1,
  5807. !     56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  5808. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  5809. !     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  5810. !     -1,    -1,    88,    -1,    90,     1,    92,     3,     4,     5,
  5811. !      6,     7,     8,     9,    10,    11,    12,    -1,   104,    -1,
  5812.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5813. !     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  5814. !     -1,    37,    38,    -1,    40,    41,    42,    43,    44,    -1,
  5815. !     46,    47,    48,    49,    50,    51,    -1,    53,    54,    -1,
  5816. !     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  5817. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  5818. !     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    85,
  5819. !     -1,    -1,    88,    89,    -1,    -1,    92,    93,    -1,    -1,
  5820. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   104,     3,
  5821. !      4,     5,     6,     7,     8,     9,    10,    11,    12,    -1,
  5822.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5823. !     -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
  5824. !     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  5825. !     44,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  5826. !     54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  5827. !     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  5828. !     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  5829. !     -1,    85,    -1,    -1,    88,    89,    -1,    -1,    92,    93,
  5830. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
  5831. !    104,     3,     4,     5,     6,     7,     8,     9,    10,    11,
  5832. !     12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5833. !     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  5834. !     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  5835. !     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  5836. !     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5837. !     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  5838. !     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  5839. !     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,
  5840. !     92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5841. !    102,     1,   104,     3,     4,     5,     6,     7,     8,     9,
  5842. !     10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  5843. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  5844. !     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  5845. !     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  5846. !     50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  5847. !     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  5848. !     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  5849. !     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
  5850. !     -1,    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    -1,
  5851. !     -1,    -1,   102,     1,   104,     3,     4,    -1,     6,     7,
  5852.        8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,
  5853. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  5854.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  5855.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  5856.       48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
  5857.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  5858.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  5859.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  5860. !     88,    89,    -1,     1,    92,     3,     4,    -1,     6,     7,
  5861. !      8,     9,    -1,    11,    12,   103,   104,    -1,    -1,    -1,
  5862. !     -1,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  5863.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  5864.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  5865.       48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
  5866. --- 806,2829 ----
  5867.        4,     4,     1,     3,     3,     3,     3,     3,     3,     3,
  5868.        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
  5869.        3,     3,     5,     3,     3,     1,     2,     3,     1,     1,
  5870. !      1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
  5871. !      1,     1,     1,     1,     3,     3,     0,     4,     0,     6,
  5872. !      2,     4,     2,     2,     1,     4,     1,     7,     7,     7,
  5873. !      7,     4,     4,     2,     2,     1,     4,     2,     2,     2,
  5874. !      5,     3,     5,     3,     4,     6,     1,     2,     1,     2,
  5875. !      1,     1,     1,     2,     0,     2,     2,     3,     3,     3,
  5876. !      3,     3,     2,     2,     1,     1,     1,     2,     2,     2,
  5877. !      2,     1,     1,     1,     1,     2,     2,     3,     3,     4,
  5878. !      1,     2,     2,     1,     1,     2,     2,     1,     2,     2,
  5879. !      3,     1,     2,     1,     1,     1,     4,     4,     4,     4,
  5880. !      1,     1,     1,     1,     3,     1,     3,     1,     3,     0,
  5881. !      4,     0,     7,     4,     0,     7,     4,     0,     7,     4,
  5882. !      0,     7,     4,     0,     1,     1,     2,     6,     1,     3,
  5883. !      0,     1,     4,     6,     4,     1,     1,     1,     1,     1,
  5884. !      3,     1,     2,     3,     4,     1,     1,     3,     4,     6,
  5885. !      3,     5,     0,     7,     4,     0,     6,     3,     2,     2,
  5886. !      4,     1,     0,     1,     0,     1,     1,     2,     2,     2,
  5887. !      2,     3,     2,     2,     2,     3,     3,     1,     2,     0,
  5888. !      0,     3,     3,     2,     1,     1,     0,     1,     2,     1,
  5889. !      3,     1,     2,     1,     4,     4,     1,     1,     2,     2,
  5890. !      1,     0,     1,     4,     3,     1,     2,     2,     2,     2,
  5891. !      2,     2,     2,     2,     4,     2,     1,     5,     3,     0,
  5892. !      1,     3,     0,     1,     3,     1,     1,     1,     1,     4,
  5893. !      6,     4,     4,     6,     4,     3,     4,     6,     4,     4,
  5894. !      6,     4,     3,     1,     3,     1,     3,     2,     1,     6,
  5895. !      0,     2,     1,     2,     0,     2,     3,     3,     2,     2,
  5896. !      3,     1,     1,     1,     2,     5,     5,     3,     5,     4,
  5897. !      3,     3,     2,     1,     3,     3,     2,     2,     3,     1,
  5898. !      3,     3,     2,     2,     3,     1,     5,     5,     3,     5,
  5899. !      3,     3,     4,     3,     2,     2,     1,     2,     4,     4,
  5900. !      2,     1,     1,     1,     2,     2,     2,     1,     2,     1,
  5901. !      2,     2,     3,     1,     3,     2,     3,     2,     2,     3,
  5902. !      1,     3,     4,     3,     2,     2,     1,     3,     2,     2,
  5903. !      1,     2,     3,     1,     3,     1,     5,     3,     4,     3,
  5904. !      4,     2,     2,     3,     2,     1,     1,     2,     2,     2,
  5905. !      0,     0,     1,     1,     2,     3,     1,     2,     3,     5,
  5906. !      6,     5,     0,     0,     6,     1,     2,     1,     1,     1,
  5907. !      2,     0,     4,     1,     0,     0,     6,     0,     0,     7,
  5908. !      0,     0,     0,    10,     0,     0,     0,    10,     0,     7,
  5909. !      0,     5,     0,     7,     0,     4,     2,     2,     2,     3,
  5910. !      6,     8,    10,    12,     4,     3,     2,     2,     1,     1,
  5911. !      0,     0,     7,     1,     2,     2,     0,     0,     5,     1,
  5912. !      1,     3,     3,     2,     2,     2,     3,     4,     4,     3,
  5913. !      4,     6,     6,     0,     1,     0,     1,     1,     0,     1,
  5914. !      1,     3,     4,     1,     3,     0,     1,     1,     1,     2,
  5915. !      2,     2,     1,     1,     2,     2,     2,     2,     1,     3,
  5916. !      2,     2,     4,     2,     2,     2,     2,     2,     2,     1,
  5917. !      2,     1,     3,     1,     1,     0,     0,     1,     0,     4,
  5918. !      1,     1,     3,     0,     3,     3,     3,     1,     2,     2,
  5919.        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  5920.        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  5921. !      2,     3,     2,     2,     2,     2,     3,     2,     2,     4,
  5922. !      4,     3,     2
  5923.   };
  5924.   
  5925.   static const short yydefact[] = {     3,
  5926. !     10,    10,     5,     0,     4,     0,   220,   522,   305,   315,
  5927. !    473,     0,     8,     9,     0,     0,   387,     0,   708,     0,
  5928. !    534,   221,    64,     0,     0,   696,     0,    76,    21,     0,
  5929. !     11,     6,     0,    15,    14,    13,    12,   275,     0,   523,
  5930. !    117,   229,   500,     0,   295,     0,   294,   308,     0,   328,
  5931. !    314,     0,   398,   400,   401,   406,   405,   382,   304,   528,
  5932. !    484,     0,   228,   230,   483,     0,   524,   316,   471,     0,
  5933. !      0,   219,    62,    63,   526,     0,     0,   101,   102,   103,
  5934. !    376,   379,     0,   530,     0,   380,     0,     0,     0,    32,
  5935. !      0,   305,     0,    22,     0,     0,   398,     0,     0,     0,
  5936. !      0,   498,     0,     0,     0,   497,     0,     0,     0,   229,
  5937. !      0,     0,     0,   228,   230,   471,     0,     3,     0,     0,
  5938. !      0,     0,   400,   401,   699,     0,    88,    83,   275,     0,
  5939. !      0,    60,   527,   124,   471,     0,   475,    61,     0,     0,
  5940. !      0,     0,     0,   324,   285,   482,   286,   494,     0,   471,
  5941. !    307,   306,    59,   296,     0,   326,     0,   301,   321,   322,
  5942. !    297,   310,   312,   323,     0,    54,   388,   389,   390,   391,
  5943. !    404,   107,   106,   108,   393,   399,   395,   117,   394,   407,
  5944. !    407,   421,     0,   474,   309,    72,     0,    75,   532,   516,
  5945. !    485,   525,     0,   529,     0,   743,   739,   738,   736,   718,
  5946. !    723,   724,     0,   730,   729,   715,   716,   714,   733,   722,
  5947. !    719,   720,   721,   725,   726,   712,   713,   709,   710,   711,
  5948. !    735,   727,   728,   717,   734,     0,   731,   640,   308,   641,
  5949. !    704,   473,   232,   273,     0,     0,     0,     0,   156,   269,
  5950. !    267,   245,   271,   272,     0,     0,     0,     0,     0,     0,
  5951. !      0,   129,   128,     0,   130,   131,     0,     0,   216,   132,
  5952. !      0,   118,     0,   189,     0,   193,   186,   121,   231,   155,
  5953. !      0,     0,   233,   234,     0,   120,   292,   308,   293,   517,
  5954. !    256,   247,     0,     0,     0,   398,   378,     0,   373,   531,
  5955. !      0,   133,   134,     0,     0,     0,     0,    31,     0,   110,
  5956. !    407,   125,   109,   115,     0,   496,     0,   495,   102,   103,
  5957. !    218,   227,     0,   504,   226,     0,   503,   511,   512,     0,
  5958. !      0,    18,    10,     0,     7,     7,    48,    47,   699,     0,
  5959. !     34,    42,    38,    36,    43,    40,   330,    82,    89,    86,
  5960. !      0,     0,   275,     0,     0,     0,   571,    65,   577,    67,
  5961. !    113,   509,     0,   673,   674,   154,     0,   153,   668,   690,
  5962. !      0,   292,   308,   293,     0,   667,   669,   697,   679,     0,
  5963. !    514,     0,     0,     0,   480,     0,   479,     0,     0,     0,
  5964. !    471,    70,    58,    73,     0,    57,   471,     0,   475,   493,
  5965. !      0,   298,   299,     0,    55,    71,    56,    74,   303,   302,
  5966. !    313,   699,   329,   396,   392,   397,   408,   402,   403,   437,
  5967. !      0,     0,   440,   443,     0,     0,   426,     0,   699,   311,
  5968. !      0,     0,   344,   472,   499,   533,     0,     0,   732,   737,
  5969. !    471,   471,     0,   471,   742,     0,     0,     0,   163,     0,
  5970. !      0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
  5971. !    162,   159,   158,   160,     0,     0,     0,     0,   217,     0,
  5972. !    116,   161,     0,     0,   187,     0,     0,     0,     0,     0,
  5973.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  5974. !      0,     0,     0,     0,     0,     0,     0,   241,   243,   244,
  5975. !    277,   276,     0,     0,     0,     0,     0,   167,   469,     0,
  5976. !    175,   274,   223,     0,   696,   222,   259,   260,     0,   287,
  5977. !    551,   547,   556,     0,   475,   471,   471,   471,   289,   554,
  5978. !      0,   521,   291,     0,   290,   258,     0,   254,   268,   270,
  5979. !    518,     0,   255,   112,   111,   466,   385,   464,   375,     0,
  5980. !    317,     0,     0,   318,   319,   320,    33,     0,    28,    24,
  5981. !    695,   308,    26,   694,    30,   692,   122,   114,   502,   501,
  5982. !    505,     0,    17,    20,    19,   330,    53,    49,    51,    52,
  5983. !     50,    46,     0,     0,     0,     0,   344,   104,    94,   105,
  5984. !      0,    87,    90,     0,     0,     0,   366,     0,   362,    84,
  5985. !      0,     0,    66,    69,   578,   572,   471,   471,   672,   685,
  5986. !    678,   676,   551,   547,     0,   686,   471,   689,   691,   687,
  5987. !      0,   688,   471,   671,   684,   677,   675,   670,   698,   681,
  5988. !    682,     0,   513,   476,   478,   477,     0,     0,   492,     0,
  5989. !    344,   325,   488,     0,     0,     0,   491,     0,   481,   300,
  5990. !    327,   344,   330,   418,     0,   417,   409,   410,   412,     0,
  5991. !    414,   436,   432,   431,   220,   522,   471,     0,   666,   699,
  5992. !    433,   441,   446,   447,   699,   699,   434,   444,   699,     0,
  5993. !    381,   428,   427,   429,   430,   330,   701,   308,   702,     0,
  5994. !      0,     0,   343,   345,   346,   741,   740,   704,   704,   704,
  5995. !      0,     0,     0,   521,     0,     0,   522,     0,   157,     0,
  5996. !      0,     0,     0,     0,     0,   236,   235,     0,   184,   119,
  5997. !    220,   522,   221,     0,     0,   367,   383,     0,   215,   214,
  5998. !    658,   657,     0,   212,   211,   209,   210,   208,   207,   206,
  5999. !    203,   204,   205,   201,   202,   196,   197,   198,   199,   200,
  6000. !    194,   195,     0,     0,     0,     0,     0,     0,   169,   181,
  6001. !      0,     0,   168,   471,   471,     0,   471,   468,   541,     0,
  6002. !      0,     0,     0,   262,     0,   264,     0,   515,   550,   549,
  6003. !    546,   545,   695,     0,     0,   565,     0,     0,   562,   288,
  6004. !    563,   552,   471,   666,   475,   551,   547,     0,     0,   471,
  6005. !    231,     0,   517,     0,     0,     0,   386,     0,   385,   152,
  6006. !    151,   150,   149,     0,    23,     0,   393,     0,     0,    16,
  6007. !    344,    35,    39,    37,    41,     0,     0,    92,     0,    96,
  6008. !      0,   100,     0,    98,     0,   363,     0,    85,    68,     0,
  6009. !    579,     0,   573,   574,   510,   507,   550,   546,   551,   547,
  6010. !    483,     0,   471,   552,   551,   547,     0,   231,     0,   517,
  6011. !    508,     0,   680,   334,   471,   471,   471,   490,   340,   344,
  6012. !      0,     0,   420,   419,   413,     0,     0,   439,   344,     0,
  6013. !     79,     0,   330,   330,     0,   330,     0,   344,     0,   700,
  6014. !      0,     0,   341,   347,   706,   705,   707,   246,   164,     0,
  6015. !      0,   166,   190,   192,   191,   252,   253,     0,     0,     0,
  6016. !      0,   238,     0,     0,     0,     0,   185,     0,   239,   242,
  6017. !    179,   178,   171,     0,   170,   183,     0,     0,   538,   536,
  6018. !      0,   539,   475,   176,     0,     0,   265,     0,     0,   548,
  6019. !    544,   555,   471,   564,   553,   558,     0,   560,     0,   551,
  6020. !    547,   519,   520,     0,   257,   467,   465,   377,     0,    25,
  6021. !     29,   693,     0,     0,    44,    93,    91,     0,     0,     0,
  6022. !      0,   364,   360,     0,     0,   220,   522,   583,   595,   598,
  6023. !      0,   571,     0,     0,     0,     0,     0,     0,   221,   629,
  6024. !      0,   654,     0,   590,     0,     0,   308,     0,   567,   588,
  6025. !    594,   566,   589,   630,     0,   601,   605,   575,   550,   546,
  6026. !    485,   552,   520,   683,   332,   489,   486,   487,   338,   337,
  6027. !      0,     0,   411,   344,   344,    78,   456,   471,   220,   522,
  6028. !      0,   442,   448,   449,   699,   699,   344,   344,   445,     0,
  6029. !    435,   703,   331,   351,     0,     0,     0,     0,     0,     0,
  6030. !    371,     0,     0,   368,   188,   213,   126,     0,   172,   173,
  6031. !    180,   182,   537,   535,   542,   540,     0,   177,     0,   261,
  6032. !    263,   561,   471,   559,   374,     0,    45,    95,    99,    97,
  6033. !    365,     0,   576,   570,   582,   644,   646,   571,   571,   571,
  6034. !      0,     0,     0,   615,   617,   618,   619,     0,     0,     0,
  6035. !    645,   571,   655,     0,   591,   283,   699,     0,   284,     0,
  6036. !    699,     0,   699,     0,     0,   580,   569,   568,   592,   628,
  6037. !    627,   571,   571,     0,     0,   335,   415,   416,   455,   452,
  6038. !    438,     0,     0,   344,   330,   330,   450,   453,   357,   358,
  6039. !    359,   356,     0,   349,   352,   342,     0,     0,     0,     0,
  6040. !    369,     0,     0,   126,   240,     0,   174,   543,   266,   557,
  6041. !    123,   361,     0,     0,     0,   586,     0,     0,   571,   647,
  6042. !      0,   650,     0,     0,   611,     0,   620,     0,   626,   631,
  6043. !      0,   279,   330,   281,   282,   330,     0,     0,     0,   278,
  6044. !    280,   581,   571,     0,     0,   333,   339,     0,    77,   344,
  6045. !    344,   463,   344,   344,     0,     0,   351,     0,     0,   248,
  6046. !    249,   250,   251,     0,   372,   127,   470,   137,     0,   584,
  6047. !    596,   587,   599,   651,   649,     0,   648,   144,     0,   308,
  6048. !      0,     0,     0,   616,   625,     0,     0,   593,   141,     0,
  6049. !    140,     0,   336,   462,   459,   457,   460,   451,   454,   350,
  6050. !    348,   220,     0,   370,     0,   571,     0,     0,     0,     0,
  6051. !    609,   699,   613,   612,     0,   634,     0,   632,   659,     0,
  6052. !    602,   606,     0,     0,     0,   353,   355,   138,   585,   572,
  6053. !    597,   148,   135,     0,     0,   653,     0,   652,   571,   330,
  6054. !      0,   636,   635,   637,     0,     0,   660,   661,   621,     0,
  6055. !      0,   458,   461,     0,   145,     0,     0,   600,   610,   344,
  6056. !    614,   633,     0,   659,     0,     0,     0,     0,   354,     0,
  6057. !      0,   136,     0,   638,     0,     0,   622,   662,   603,   607,
  6058. !    147,   146,   142,     0,   663,     0,     0,     0,     0,     0,
  6059. !      0,     0,   664,     0,   623,   604,   608,   143,     0,     0,
  6060. !    639,     0,     0,   642,   643,   665,   624,     0,     0,     0
  6061.   };
  6062.   
  6063. ! static const short yydefgoto[] = {  1348,
  6064. !      1,     2,   119,   564,   982,     3,     4,    31,    32,    33,
  6065. !    299,   548,   549,   550,    34,    91,    35,   573,   575,   574,
  6066. !    576,   572,    36,    37,    38,   412,   128,   129,   130,   339,
  6067. !    582,   583,   536,   584,   176,    39,    40,    41,   134,   261,
  6068. !    262,   302,   809,   303,  1145,   263,   983,  1275,  1210,  1230,
  6069. !   1231,  1330,  1271,   292,   789,   264,   445,   497,   753,   265,
  6070. !    266,   267,   293,   269,   507,   312,    43,   270,   457,  1047,
  6071. !    271,   272,   273,   274,   131,   275,   984,   402,   517,   773,
  6072. !    985,    45,   161,   986,    47,   162,   440,   163,   143,   155,
  6073. !     49,   631,   144,  1114,   403,  1188,   156,  1115,    50,  1035,
  6074. !    683,   684,   685,  1133,  1134,  1135,   964,   716,   717,    51,
  6075. !    540,   288,   906,   798,    52,    53,    54,    55,   180,   181,
  6076. !     56,    57,    58,   408,   647,   648,   649,   650,   183,   415,
  6077. !    416,   417,   418,   661,   667,   662,  1022,   663,   664,  1023,
  6078. !   1024,   537,   538,   498,   779,    59,   372,   373,   145,    60,
  6079. !     61,   146,   147,   113,    63,   508,   280,   281,   282,    65,
  6080. !    283,    67,    68,   179,    69,   284,   758,   759,   770,   520,
  6081. !    988,   989,  1155,   832,   833,   834,   348,   990,   991,  1078,
  6082. !   1246,  1157,   992,   993,  1183,  1079,  1247,  1080,  1248,  1112,
  6083. !   1290,  1328,  1113,  1291,  1329,  1279,  1223,  1281,  1166,   994,
  6084. !   1226,  1284,  1258,  1302,  1324,  1221,  1332,   995,   996,   997,
  6085. !   1094,   723,  1286,  1287,  1288,  1334,   365,   775,   367,   368,
  6086. !    369,   555,   370,   107,   621,  1173,   679,   680,   435,    71,
  6087.       72
  6088.   };
  6089.   
  6090. ! static const short yypact[] = {   203,
  6091. !    236,-32768,-32768,  1874,-32768,    85,-32768,    55,   300,-32768,
  6092. ! -32768,   590,-32768,-32768,   -23,   252,-32768,   365,-32768,  1493,
  6093. ! -32768,   355,-32768,   963,   963,-32768,  2214,-32768,-32768,   349,
  6094. ! -32768,   429,  3939,-32768,-32768,-32768,-32768,   279,   435,   443,
  6095. ! -32768,-32768,   396,  1052,-32768,  9215,-32768,   704,    30,-32768,
  6096. ! -32768,   698,-32768,-32768,-32768,-32768,-32768,   488,  1610,-32768,
  6097. ! -32768,   410,-32768,-32768,-32768,   397,-32768,-32768,-32768,    89,
  6098. !   6309,-32768,-32768,-32768,-32768,  8124,  2133,-32768,    55,   355,
  6099. !    461,   515,   443,-32768,    89,-32768,    89,  8124,  8124,-32768,
  6100. !    363,-32768,   355,-32768,  3239,  4205,   230,    89,  7950,    55,
  6101. !   2347,-32768,   484,   103,  2347,-32768,    92,  2356,  2356,   479,
  6102. !    501,   396,   514,   519,   540,-32768,   629,   555,  2912,   144,
  6103. !   3239,  9396,   593,   706,   572,   666,-32768,   149,   306,    57,
  6104. !     57,-32768,-32768,   575,-32768,  4662,   589,-32768,  3833,  3833,
  6105. !   3542,  1266,   393,-32768,-32768,   408,-32768,-32768,   397,-32768,
  6106. ! -32768,-32768,-32768,   704,   536,-32768,  1285,-32768,-32768,-32768,
  6107. !    907,   654,-32768,-32768,  3239,-32768,-32768,-32768,-32768,-32768,
  6108. ! -32768,-32768,-32768,-32768,-32768,-32768,   443,   719,-32768,   617,
  6109. !    617,-32768,  2447,-32768,   654,-32768,   608,   875,-32768,-32768,
  6110. ! -32768,-32768,  4014,-32768,    56,-32768,   609,   647,-32768,-32768,
  6111. ! -32768,-32768,   683,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  6112.   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  6113. ! -32768,-32768,-32768,-32768,-32768,   601,-32768,-32768,   654,  1610,
  6114. !    351,   657,-32768,-32768,  3117,  9065,   660,   662,-32768,-32768,
  6115. ! -32768,-32768,-32768,-32768,   665,   690,   692,   699,   703,    92,
  6116. !   8816,-32768,-32768,  8816,-32768,-32768,  8816,  6393,  9148,-32768,
  6117. !     29,-32768,  8816,-32768,  8211,-32768,-32768,  9444,-32768,  1334,
  6118. !   2712,  8294,-32768,   767,   557,-32768,   160,  2819,  9439,-32768,
  6119. !    266,-32768,   579,   809,  3239,   230,-32768,    92,   685,-32768,
  6120. !    684,   738,  9497,   693,   697,   701,   808,-32768,  2133,-32768,
  6121. !    617,-32768,-32768,-32768,   154,-32768,   139,-32768,-32768,-32768,
  6122. ! -32768,-32768,  2347,-32768,-32768,  2347,-32768,-32768,-32768,  4014,
  6123. !     50,-32768,   711,  2133,-32768,-32768,-32768,-32768,   572,   766,
  6124. ! -32768,-32768,-32768,-32768,-32768,-32768,   656,-32768,   254,-32768,
  6125. !   6483,  8381,-32768,    57,    57,   765,-32768,-32768,-32768,-32768,
  6126. ! -32768,   818,   730,-32768,-32768,   738,   735,  9497,   328,  1775,
  6127. !   9396,  1775,  4904,  4548,   737,-32768,    72,  9289,   763,   787,
  6128. ! -32768,   746,  8381,  4250,-32768,  4250,-32768,  4314,  4314,   753,
  6129. ! -32768,-32768,-32768,   875,  3239,-32768,-32768,  5854,   752,-32768,
  6130. !   4433,   907,   704,  3239,-32768,-32768,-32768,   875,-32768,-32768,
  6131. ! -32768,   572,-32768,-32768,-32768,-32768,  1191,-32768,-32768,-32768,
  6132. !   8381,   156,  1389,  9306,    54,  2311,-32768,   167,   572,   654,
  6133. !   2569,   771,   831,-32768,-32768,-32768,   773,   777,-32768,-32768,
  6134. ! -32768,-32768,   169,-32768,-32768,  8381,   657,  6393,-32768,   381,
  6135. !   6393,-32768,  8381,  8468,  8816,  8124,  2569,  2569,  2569,  2569,
  6136. ! -32768,-32768,-32768,-32768,   782,   784,   765,   793,-32768,  8124,
  6137. ! -32768,-32768,  3487,  6393,-32768,  8381,  8381,  3006,  8381,  8381,
  6138. !   8381,  8381,  8381,  8381,  8381,  8381,  8381,  8381,  8381,  8381,
  6139. !   8381,  8381,  8381,  8381,  8381,  8381,  8381,-32768,-32768,-32768,
  6140. ! -32768,-32768,  8381,  8381,  8381,  8124,  3398,   497,   109,  7032,
  6141. ! -32768,-32768,    55,   848,   896,-32768,   387,   415,   592,-32768,
  6142. !    388,   388,-32768,  3838,   798,   817,   864,-32768,-32768,   412,
  6143. !   7507,  1099,-32768,   251,-32768,-32768,  8381,-32768,-32768,-32768,
  6144. ! -32768,   597,-32768,-32768,-32768,   851,   855,-32768,-32768,    92,
  6145. ! -32768,  6855,  6945,-32768,-32768,-32768,-32768,   419,   859,-32768,
  6146. ! -32768,  9200,   698,-32768,-32768,   862,-32768,-32768,-32768,-32768,
  6147. ! -32768,   865,-32768,-32768,-32768,   656,-32768,-32768,-32768,-32768,
  6148. ! -32768,-32768,   866,   868,   869,   870,   831,-32768,-32768,   355,
  6149. !   8381,   877,-32768,   434,   438,   462,-32768,  5956,  9590,-32768,
  6150. !    836,    57,-32768,-32768,-32768,    20,-32768,-32768,-32768,-32768,
  6151. ! -32768,-32768,  1506,  1506,  3333,-32768,-32768,-32768,-32768,-32768,
  6152. !   7598,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  6153. !    887,  6483,-32768,-32768,-32768,-32768,  4250,  4250,-32768,  4433,
  6154. !    831,-32768,   818,   849,   856,   861,-32768,   863,-32768,   907,
  6155. ! -32768,   831,   656,-32768,   881,-32768,   899,-32768,-32768,  1243,
  6156. ! -32768,  9590,-32768,-32768,   912,   146,-32768,  8381,  2808,   572,
  6157. !    921,-32768,-32768,-32768,   368,   407,   922,-32768,   572,   920,
  6158. ! -32768,-32768,-32768,-32768,-32768,   551,-32768,  4154,-32768,   187,
  6159. !    629,   897,   926,   831,-32768,-32768,-32768,   505,   505,   505,
  6160. !    885,   886,  8555,   864,   895,   900,   248,   901,-32768,   906,
  6161. !    909,   919,   942,   943,   945,-32768,-32768,   918,-32768,-32768,
  6162. !    962,   553,   136,  8381,   969,-32768,   968,   928,  9590,  9590,
  6163. ! -32768,-32768,   973,  9629,  4583,  9645,  9660,  5903,  6801,  3406,
  6164. !   1324,  1324,  1324,  1664,  1664,   814,   814,   640,   640,   640,
  6165. ! -32768,-32768,   932,   934,   940,   935,   946,  2569,   497,-32768,
  6166. !   6483,  8381,-32768,-32768,-32768,  8381,-32768,-32768,   955,  8816,
  6167. !    944,   964,  1008,-32768,  8381,-32768,  8381,-32768,   890,-32768,
  6168. !    890,-32768,    65,   951,   952,-32768,   953,  2569,   818,-32768,
  6169. !    818,  2046,-32768,  1065,   957,  7689,  7689,  4811,   966,  8211,
  6170. !    479,   972,   540,   809,   974,  8381,    92,   961,   855,-32768,
  6171. !   9590,-32768,  9590,  2133,-32768,   664,   520,  6483,   488,-32768,
  6172. !    831,-32768,-32768,-32768,-32768,   766,   978,-32768,   254,-32768,
  6173. !   8381,-32768,  8381,-32768,  8381,-32768,     9,-32768,-32768,    92,
  6174. ! -32768,  5584,  1032,-32768,   818,   818,  2757,  2757,  3282,  3282,
  6175. ! -32768,   397,-32768,  3954,  7776,  7776,  5016,   174,   979,   244,
  6176. !    818,  6483,-32768,  1030,-32768,-32768,-32768,-32768,  1037,   831,
  6177. !   8124,  1191,-32768,-32768,-32768,  8381,  8381,    74,  9521,   995,
  6178. ! -32768,  2416,   656,   656,  3185,   603,  3228,   831,  2569,-32768,
  6179. !     52,  1011,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  8899,
  6180. !   8899,-32768,-32768,-32768,-32768,-32768,-32768,  1013,  1014,  1019,
  6181. !   1022,-32768,  9472,  6483,  6046,  1009,-32768,  8381,-32768,-32768,
  6182. ! -32768,-32768,   143,  1012,-32768,-32768,  1017,    75,   278,   278,
  6183. !   1006,   278,-32768,-32768,  8816,  1107,-32768,  1018,  1020,-32768,
  6184. ! -32768,-32768,-32768,-32768,-32768,   818,  1023,-32768,  1010,  7863,
  6185. !   7863,-32768,-32768,   584,-32768,  9590,-32768,-32768,  1021,-32768,
  6186. ! -32768,-32768,  2447,   766,-32768,-32768,-32768,  1024,  1026,  1036,
  6187. !   6136,-32768,-32768,   668,   231,  1061,   567,-32768,-32768,-32768,
  6188. !   1046,-32768,  8381,  1079,  1085,  1088,  8037,    73,   476,-32768,
  6189. !   1093,  1139,  1094,-32768,  1971,  9379,  2582,  3725,-32768,-32768,
  6190. !   1135,-32768,-32768,-32768,  7135,-32768,-32768,-32768,  2757,  2757,
  6191. ! -32768,  3954,  1989,-32768,-32768,   818,   818,   818,-32768,  1095,
  6192. !   1053,  1054,-32768,  9521,  9521,-32768,-32768,-32768,  1103,   661,
  6193. !   8381,-32768,-32768,-32768,   572,   572,   831,   831,-32768,  2607,
  6194. ! -32768,-32768,-32768,   801,  6483,  8381,  8381,  8381,  8381,  6483,
  6195. ! -32768,  8381,  1104,-32768,-32768,  9611,   575,  8381,-32768,   143,
  6196. ! -32768,-32768,-32768,-32768,-32768,-32768,  1062,-32768,  1122,-32768,
  6197. ! -32768,   818,-32768,-32768,-32768,    66,-32768,-32768,-32768,-32768,
  6198. ! -32768,    92,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   765,
  6199. !   6226,  1082,  5075,-32768,-32768,-32768,-32768,  1115,  8381,  1121,
  6200. ! -32768,-32768,-32768,  1090,-32768,-32768,   238,   672,-32768,   772,
  6201. !    572,  8642,   459,   774,   258,-32768,-32768,-32768,-32768,-32768,
  6202. ! -32768,-32768,-32768,  6483,  6483,-32768,-32768,-32768,-32768,-32768,
  6203. !     74,  8381,  8381,  9521,   656,   656,  1124,  1126,-32768,-32768,
  6204. ! -32768,-32768,   269,-32768,  1091,-32768,  1084,  1087,  1097,  1098,
  6205. ! -32768,  9544,  6483,   575,-32768,  1089,-32768,-32768,-32768,   818,
  6206. ! -32768,-32768,   509,   509,  7417,-32768,  1175,  1137,  1100,-32768,
  6207. !   1141,-32768,  8124,  8381,-32768,  7237,-32768,  1146,-32768,-32768,
  6208. !    629,-32768,   656,-32768,-32768,   656,  8982,  8982,  6573,-32768,
  6209. ! -32768,-32768,   765,  6663,  6663,-32768,-32768,  6483,-32768,  9521,
  6210. !   9521,-32768,   831,   831,  6483,  6483,   801,  1102,  8729,-32768,
  6211. ! -32768,-32768,-32768,  6483,-32768,-32768,-32768,-32768,  8124,-32768,
  6212. ! -32768,-32768,-32768,-32768,-32768,  5674,-32768,-32768,  1109,   234,
  6213. !   3239,  9567,  7237,-32768,-32768,  5168,    48,-32768,-32768,  1149,
  6214. ! -32768,  1150,-32768,-32768,-32768,  1160,  1163,-32768,-32768,-32768,
  6215. ! -32768,   282,  1123,-32768,  1127,   765,  7327,   518,   295,  5272,
  6216. ! -32768,   572,-32768,-32768,   296,-32768,  5376,-32768,  1214,  1168,
  6217. ! -32768,-32768,  6483,  6483,  8381,-32768,-32768,-32768,-32768,    37,
  6218. ! -32768,-32768,-32768,  8381,  1176,-32768,  1177,-32768,   765,   656,
  6219. !   7237,-32768,-32768,-32768,  1147,   201,  1181,-32768,-32768,  6753,
  6220. !   6753,-32768,-32768,  1143,-32768,  5764,  1148,-32768,-32768,   831,
  6221. ! -32768,  1158,  8381,  1214,  1183,  1214,  1151,  1152,-32768,   317,
  6222. !   5480,-32768,  1198,-32768,  1156,   246,-32768,-32768,-32768,-32768,
  6223. ! -32768,-32768,-32768,  1153,-32768,  1254,  1208,  7327,  7327,  6483,
  6224. !   1355,   765,-32768,   353,-32768,-32768,-32768,-32768,  1167,  1170,
  6225. ! -32768,  1271,  1219,-32768,-32768,-32768,-32768,  1281,  1282,-32768
  6226.   };
  6227.   
  6228.   static const short yypgoto[] = {-32768,
  6229. !   1165,-32768,-32768,   958,     7,  1283,-32768,-32768,-32768,-32768,
  6230. ! -32768,-32768,-32768,   486,-32768,-32768,-32768,-32768,-32768,-32768,
  6231. ! -32768,  -773,  1169,  1174,-32768,-32768,-32768,-32768,  1166,-32768,
  6232. ! -32768,   478,   126,-32768,-32768,-32768,  4325,   -30,-32768,  1204,
  6233. !    844,  -998,-32768,   -96,   162,-32768,   171,-32768,   153,   124,
  6234. !   -980,-32768,  -480,   242,   564,   630,-32768,-32768,  -722,  3685,
  6235. !   1316,  -262,  2309,  2833,   804,   159,   431,-32768,-32768,-32768,
  6236. ! -32768,  -278,-32768,  -110,   -90,-32768,   233,    34,  -210,    83,
  6237. !     11,   -91,  -121,    -3,  1446,   -82,  1348,  -127,  -674,   329,
  6238. ! -32768,  -186,-32768,-32768,   180,-32768,-32768,-32768,-32768,-32768,
  6239. !   1092,-32768,   634,-32768,   122,-32768,-32768,   821,   742,    14,
  6240. ! -32768,-32768,-32768,   526,  -285,    12,  1299,  1300,-32768,-32768,
  6241. ! -32768,-32768,-32768,  -131,-32768,   473,   686,-32768,   533,   394,
  6242. !    469,  -411,-32768,-32768,-32768,-32768,-32768,-32768,   939,-32768,
  6243. !    482,   829,   573,   857,  1683,  1544,  -371,-32768,  1375,     0,
  6244. !      1,-32768,  4129,   -99,   646,-32768,  3274,-32768,-32768,  3935,
  6245. !     -4,   198,  -327,  1336,  3574,   852,  -188,-32768,  1912,-32768,
  6246. !  -1147,  -942,  -321,   101,-32768,   539,  -106,   -94,-32768,-32768,
  6247. ! -32768, -1132,  -932, -1108,-32768,-32768,-32768,-32768,-32768,-32768,
  6248.   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  6249. ! -32768,-32768,-32768,-32768,-32768,   -43,-32768,-32768,-32768,-32768,
  6250. ! -32768,  -421,    70,-32768,    69,-32768,  -369,  -132,-32768,-32768,
  6251. !   -258,  1015,  -247,-32768,-32768,    60,   500,-32768,   127,-32768,
  6252.     -260
  6253.   };
  6254.   
  6255.   
  6256. ! #define    YYLAST        9739
  6257.   
  6258.   
  6259.   static const short yytable[] = {    66,
  6260. !     46,   423,   465,   366,   673,   530,   321,    85,   314,   317,
  6261. !     30,   586,    84,   553,    44,    85,    96,   638,   636,   103,
  6262. !    103,   178,   103,   533,   350,   596,   915,   231,    66,   122,
  6263. !     95,    97,   392,   400,   401,   349,   349,   351,   345,   149,
  6264. !    554,    66,   955,   121,   360,  1107,  1212,    85,  1144,   409,
  6265. !   1228,   556,    84,   830,    85,  1108,   502,   346,   502,     8,
  6266. !    502,   164,  1111,   961,    88,   195,    85,   522,  1250,   194,
  6267. !    830,   393,    85,    96,   599,    78,   309,   142,  1257,   651,
  6268. !    424,   614,    85,   460,   165,   166,   290,   285,   286,   670,
  6269. !    149,    85,     8,    85,    78,   309,   103,   194,   461,   307,
  6270. !    103,   670,   420,   103,   103,    75,   100,  1259,    93,   554,
  6271. !    347,   962,   100,  1269,    66,    46,   149,    66,   510,   600,
  6272. !    556,   188,   831,    76,   601,   310,   615,  -699,   300,    44,
  6273. !    426,   616,   361,  -699,   149,   149,   149,    82,  1272,  1295,
  6274. !     73,    93,   100,   777,   310,  1144,  1299,  1089,  1311,  1260,
  6275. !    577,   562,   522,  1033,   329,    93,   671,   602,   276,    21,
  6276. !    149,    93,   693,   100,   617,   187,   709,   164,  1151,   557,
  6277. !    294,   296,   100,   754,   164,   164,  1052,   175,    66,   414,
  6278. !   1067,   276,  1219,   755,   337,   111,   750,    74,   103,   535,
  6279. !   1049,    93,   340,   413,   422,  -103,    75,   756,   164,   327,
  6280. !    751,   384,    -1,   510,    99,   867,   341,   360,   460,   653,
  6281. !     21,   642,    93,   426,    76,   654,   398,  -229,   359,  1272,
  6282. !   1272,    93,   674,   558,   511,    85,   433,   499,  1245,   694,
  6283. !    752,  1048,   311,  1224,   512,    -2,   342,   593,   594,   159,
  6284. !    160,   879,   164,   189,   513,    12,   328,   514,   515,   349,
  6285. !    349,   595,   592,   530,     8,   366,   578,     8,   291,   295,
  6286. !   1304,  -229,  -229,   192,   400,   401,    85,   315,    17,   675,
  6287. !    509,   640,   433,   433,   524,  -224,   360,   510,   314,   317,
  6288. !    149,   100,   192,   194,   424,  -124,  1074,  -230,   880,   870,
  6289. !   1254,   164,   401,  1172,    85,   361,   360,   579,    75,   111,
  6290. !    192,   126,  1305,    93,    21,  1326,   580,  1107,   103,   526,
  6291. !   1098,   103,  1104,  1074,  1107,   103,    76,  1108,   534,    85,
  6292. !     96,   693,   651,  1197,  1108,   189,   301,  1147,    21,   187,
  6293. !     93,  -230,  -230,  1075,    95,    97,  1265,   599,   127,    89,
  6294. !    458,   581,   754,   422,    77,  -225,   192,  1327,  1301,   894,
  6295. !   1074,  1074,   755,   527,   100,   149,    66,   149,   149,   524,
  6296. !   1182,   343,   708,    66,   361,   127,   756,    90,  1107,   149,
  6297. !   1198,   149,  1074,   149,   149,   451,   164,   356,  1108,   811,
  6298. !    149,   551,   600,  1266,   361,  -695,   149,   601,   566,   149,
  6299. !    422,   100,   192,   606,    11,   610,   612,  1276,  1282,     7,
  6300. !      8,    21,    85,    93,   422,   164,   164,  1342,   149,    66,
  6301. !    186,    66,   414,   939,   937,   431,    85,   297,   298,  1321,
  6302. !    602,  -285,   360,    99,   510,   432,   413,  -285,   456,   360,
  6303. !    764,   510,  -699,   164,  -699,  -699,   117,    19,    21,   135,
  6304. !     93,  -699,    85,    85,    85,    85,   660,   385,   386,    22,
  6305. !    551,   387,   511,   499,  1343,   783,   860,   112,   766,   187,
  6306. !   -286,   643,   512,  -699,  -699,  -699,  -286,  -699,   693,  -699,
  6307. !    359,   189,   513,   804,   765,   514,   515,   820,   676,    26,
  6308. !    192,   822,   118,   136,   137,   829,     7,   100,   805,   878,
  6309. !    132,   586,    85,   133,   433,   388,   389,   349,   187,   784,
  6310. !    785,   187,   767,   677,   192,   824,   433,   433,   100,   524,
  6311. !    361,   424,   400,   360,  1180,   530,    66,   361,   553,   360,
  6312. !    692,   821,   178,   695,    19,   823,   366,   465,   701,   702,
  6313. !    703,   704,   705,   533,   651,  1091,    22,   315,   112,   112,
  6314. !    750,   182,   276,   624,    99,   554,   718,   149,    85,   825,
  6315. !    187,  1057,  1208,    84,   751,    21,   556,    93,   189,     7,
  6316. !    503,  1273,   504,   287,   632,   164,    26,   360,   289,   431,
  6317. !    881,   112,   422,   641,   -27,    13,    14,   -27,   747,   432,
  6318. !   -224,     7,     8,   356,   752,   612,     7,     8,   715,   -27,
  6319. !    394,   395,    78,    79,     7,   503,  1209,    19,   149,   149,
  6320. !    842,   361,   318,    75,   -81,  1274,   842,   361,   456,    22,
  6321. !    -81,   456,  -102,   696,   698,   319,   700,    75,   673,    19,
  6322. !   -506,    76,   149,   149,    19,   149,  1077,    13,    14,   356,
  6323. !    192,    22,    19,   240,   456,    76,    22,   234,   722,   505,
  6324. !     21,  -225,    80,    81,    22,    85,   331,    21,   332,   422,
  6325. !   1082,   366,   333,   164,   842,   361,   -80,   322,   426,   159,
  6326. !    160,    26,   -80,   187,   744,    12,    26,     8,   338,    10,
  6327. !    761,   301,   114,   433,    26,    12,   407,   356,   807,   792,
  6328. !     13,    14,   422,   433,   433,   433,  1027,  1028,    17,  1028,
  6329. !     15,   164,   360,   371,    16,   421,   360,   427,    17,   357,
  6330. !     78,    79,   167,   168,   169,   430,   192,   694,   158,   159,
  6331. !    160,    75,   360,   715,    21,    12,    93,   486,   487,   871,
  6332. !   1123,   192,  1072,  1073,   873,   874,   385,  1174,   876,    76,
  6333. !   1053,  1054,   170,  1056,   356,   428,   356,   356,    17,   314,
  6334. !    317,   359,   429,    85,   436,   314,   317,   443,    21,   444,
  6335. !     80,   171,   446,   114,   114,   360,  1153,  1154,   447,   334,
  6336. !    448,   335,   356,   111,   433,   336,   433,   449,   356,   849,
  6337. !   1170,   450,   404,    85,   405,   502,   694,   433,   406,    85,
  6338. !    361,    66,    66,    66,   361,   541,   114,   539,   567,   944,
  6339. !   1184,  1185,   542,   194,   544,   172,   173,   174,   545,    85,
  6340. !    361,    85,   546,    78,   309,  1129,  1130,  1131,   112,   112,
  6341. !    547,   528,     8,   563,   885,   886,   887,   111,   347,   568,
  6342. !   -694,   569,   356,   570,   424,   571,   394,  1175,   385,  1181,
  6343. !    914,   597,   149,   149,   149,   149,   598,  1216,   613,   149,
  6344. !    842,   842,   842,   361,   622,   240,   529,  1336,  1337,    19,
  6345. !    623,   792,   356,   310,   629,    70,   637,    85,   681,    21,
  6346. !    718,    93,   682,    87,   439,   442,   359,   149,  1307,  1308,
  6347. !    103,    98,    66,   414,    85,   104,   104,   686,   104,   422,
  6348. !    422,   687,   422,   706,    70,   707,   551,   413,   483,   484,
  6349. !    485,   486,   487,   100,   709,   104,   184,    70,   762,    13,
  6350. !     14,   763,   776,    87,   778,   591,  -330,   780,   796,   797,
  6351. !     98,   399,   159,   160,   433,   433,   806,   433,    12,   808,
  6352. !    810,   812,    98,   813,   814,   815,   921,  1016,    98,  -330,
  6353. !   -330,   819,  -330,   510,   356,    66,    66,   828,  1193,  1194,
  6354. !     21,    17,    93,  1012,   852,   315,   104,    98,    66,   414,
  6355. !    855,   635,   104,   862,   511,   963,   104,   856,   456,   104,
  6356. !    104,   677,   857,   413,   512,     7,   100,   858,   861,    11,
  6357. !     70,   866,   104,    70,   513,   872,   875,   514,   515,   877,
  6358. !    149,    66,   149,   883,   882,  1156,   888,   889,   898,   642,
  6359. !    104,   104,   104,   356,   149,   149,   892,   149,   315,   691,
  6360. !    164,   893,   895,    19,   315,   111,   356,   896,   356,   694,
  6361. !    897,   899,   900,    21,   901,    22,   104,   456,  1097,   902,
  6362. !   1103,  -101,   905,   114,   114,    66,   414,    24,   904,   907,
  6363. !   1043,  1011,   908,   909,    70,   112,   912,    25,   910,   192,
  6364. !    413,   112,   911,   923,   104,    26,   926,   913,   925,   315,
  6365. !     27,   927,   932,   933,     7,     8,   743,   934,   745,   746,
  6366. !   1227,   938,   356,   948,   356,   830,   356,   942,     8,    92,
  6367. !     10,    11,   554,   943,   354,   945,    12,   314,   317,   956,
  6368. !   1003,    98,   104,  1340,  1125,  1126,  1043,  1005,  1156,   112,
  6369. !    795,    15,    19,  1300,  1009,    16,  1018,   842,  1034,    17,
  6370. !   1036,  1037,    21,  1090,    22,  -471,  1038,   138,  -471,  1039,
  6371. !   1055,  1045,  1059,  1050,  1064,    21,   139,    93,  1051,  1060,
  6372. !   1076,  1061,    98,  1065,  1063,  1068,   140,  1069,   104,   104,
  6373. !     70,   422,   422,  1081,    26,   532,   104,  1070,  1084,   141,
  6374. !   1085,   192,   780,  1086,   817,  1093,  1092,  1088,  1109,  1095,
  6375. !     98,  1156,  1116,  -471,  1117,  1118,  -471,   355,  -471,  1132,
  6376. !   1176,   590,  1122,  1143,   104,  1149,  1148,   104,  -471,  1163,
  6377. !   1167,   104,   842,   842,   842,    98,  1169,  1171,  1199,   422,
  6378. !   1189,  1195,   422,  1196,  1156,  1200,  -471,  -471,  1201,  1213,
  6379. !     98,  -471,  1214,  1207,     8,   644,  1217,  1152,  1202,  1203,
  6380. !   -471,  1225,  1215,  1241,  1261,  1262,  1137,  1138,  1139,  1140,
  6381. !   1251,   104,    70,   104,   104,    70,   149,  1263,  1146,    70,
  6382. !   1264,   645,  1285,  1289,  1267,   104,   646,   104,  1268,   104,
  6383. !    104,  1298,  1074,   164,  1303,  1306,   104,  1341,  1317,   360,
  6384. !   1331,    21,   104,    93,  1309,   104,     8,   863,  1314,  1312,
  6385. !    114,  1161,  1319,  1320,  1252,  1323,   114,  1325,    98,  1168,
  6386. !    849,   458,  1333,  1335,   104,    70,   382,    70,  1344,   112,
  6387. !    112,  1345,    98,   645,  1347,   112,   112,   112,   864,  1346,
  6388. !   1349,  1350,   323,   565,     5,   396,   422,   325,  -699,   950,
  6389. !   -699,  -699,   326,    21,   344,    93,   957,  -699,    98,    98,
  6390. !     98,    98,   305,   710,   114,  1206,  1211,  -699,  1232,  -699,
  6391. !   -699,  1280,   768,  1162,  1100,   917,  -699,   884,  1240,  -699,
  6392. !   -699,   383,  1132,  -699,   949,  -699,    85,   361,   928,   827,
  6393. !    929,   123,   124,  1218,  1013,   865,   315,   111,  -699,  -699,
  6394. !    397,   953,  -699,   356,  -699,  1030,  1066,    86,    98,   456,
  6395. !    104,    48,   668,   749,  1218,  1218,  1029,   187,     8,    92,
  6396. !     10,    11,   104,   104,  1339,    70,    12,    48,   799,   947,
  6397. !   1296,   998,   794,  1316,  1318,     0,   187,   488,  1032,  1218,
  6398. !     48,    15,   620,   532,   958,    16,   959,     0,   960,    17,
  6399. !      0,   655,   656,   154,   479,   480,   481,   482,   483,   484,
  6400. !    485,   486,   487,   104,    87,    21,   185,    93,     0,     0,
  6401. !      0,     0,     0,   551,   489,   490,     0,     0,   229,   491,
  6402. !    492,   493,   494,   278,    48,     0,     0,     0,     0,    19,
  6403. !      0,     0,   657,     0,     0,   278,   278,     0,     0,    21,
  6404. !    356,    22,   853,   154,  1297,     0,   278,     0,   658,     0,
  6405. !      0,     0,     0,   139,   104,   104,    70,     0,     0,     0,
  6406. !    722,   722,   794,   140,     0,     0,    48,     0,     0,   154,
  6407. !      0,    26,     0,  1315,     0,     0,   659,     0,   104,   104,
  6408. !      0,   104,     0,   363,   114,   114,     0,     0,     0,     0,
  6409. !    114,   114,   114,     0,     0,     0,     8,    92,    10,    11,
  6410. !      0,    98,     0,     0,    12,     0,   356,     0,     7,     8,
  6411. !     70,     0,    11,   375,   377,   380,   228,     0,     0,    15,
  6412. !      0,   277,     0,    16,     0,     0,     0,    17,     0,   104,
  6413. !     48,     0,   112,   277,   277,     0,     0,     0,     0,   104,
  6414. !    104,   104,     0,    21,   277,    93,    19,     0,     0,   510,
  6415. !      0,     0,     0,     0,     0,     0,    21,     0,    22,     0,
  6416. !      0,    94,     0,     0,     0,     0,   452,   101,   105,   453,
  6417. !    603,   916,   454,     0,     0,     0,     0,   185,   462,     0,
  6418. !    604,   362,     0,     0,     0,     0,     0,   501,    26,     0,
  6419. !    513,     0,     0,   605,   515,     0,     0,     0,     0,    98,
  6420. !      0,     0,     0,     0,     0,   278,     0,   112,   112,   112,
  6421. !      0,     0,     0,     8,   230,    10,   184,     0,   229,   279,
  6422. !    104,    12,   104,     0,     0,     0,   185,     0,   952,    98,
  6423. !      0,   279,   279,   104,     0,    98,    15,   794,   794,   794,
  6424. !     16,     0,   279,     0,    17,   532,   552,     0,     0,     0,
  6425. !      0,   313,   316,     0,     0,    98,     0,    98,     0,     0,
  6426. !     21,     0,    93,     0,     0,     0,     0,     0,   816,     0,
  6427. !     98,    48,  1004,     0,     0,     0,     0,     0,     0,   364,
  6428. !      0,     0,   374,   376,     0,     0,     0,     0,   104,   104,
  6429. !    104,   104,     0,     0,     0,   104,   794,   794,   794,     0,
  6430. !      0,     0,     0,   277,     0,     0,     0,     0,   154,     0,
  6431. !      0,   185,     0,    98,     0,   552,   228,     0,     0,     0,
  6432. !      0,     0,   854,   104,  1041,  1044,   104,     0,    70,     0,
  6433. !     98,     0,     0,   859,     0,   363,   481,   482,   483,   484,
  6434. !    485,   486,   487,     0,   362,     0,     0,   114,   625,     0,
  6435. !    626,   193,   375,   377,     0,     0,     0,     0,     0,     0,
  6436. !    699,   154,  1243,    48,     0,   639,     0,     0,   678,     0,
  6437. !    104,   104,     0,   104,     0,     0,     0,     7,     8,     0,
  6438. !      0,  1044,     0,     0,     0,   278,     0,   665,   278,     0,
  6439. !      0,   794,   794,   278,   678,   678,   678,   678,   320,     0,
  6440. !      0,   279,     0,     0,    70,     0,     0,   278,     0,     0,
  6441. !      0,   278,     0,   362,   230,    19,     0,   352,   510,     0,
  6442. !      0,     0,   114,   114,   114,    21,     0,    22,  1294,     0,
  6443. !      0,     0,   391,   362,     0,     0,   104,    70,   104,   603,
  6444. !      0,     0,   364,   278,   229,     0,     0,     0,     0,   604,
  6445. !    104,   104,     0,   104,     0,  1136,     0,    26,     0,   513,
  6446. !   1141,   552,   605,   515,     0,     0,   277,     0,   363,     0,
  6447. !      0,     0,     0,     0,     6,     0,     7,     8,     9,    10,
  6448. !     11,    70,     0,   277,     0,    12,   277,     0,     0,     0,
  6449. !      0,   277,   277,   277,   277,   277,     0,     0,    13,    14,
  6450. !     15,     0,   954,     0,    16,   277,     0,     0,    17,   277,
  6451. !      0,   364,    18,     0,    19,     0,     0,     0,    20,     0,
  6452. !      0,   627,   628,     0,    21,     0,    22,     0,     0,    23,
  6453. !      0,   364,     0,     0,  1186,  1187,     0,     0,    24,     0,
  6454. !      0,   277,   228,     0,     0,     0,     0,     0,    25,     0,
  6455. !      0,  1010,   552,   794,     0,     0,    26,     0,   363,   362,
  6456. !   1017,    27,     0,  1205,   279,     0,   362,    28,    29,  1031,
  6457. !      0,     0,     0,     7,     8,     0,     0,   375,   377,   380,
  6458. !      0,   279,     0,     0,   279,   380,     0,     0,     0,   279,
  6459. !    279,   279,   279,   279,     0,     0,     0,     0,  -511,     0,
  6460. !      0,   625,   626,   279,   639,     0,   552,   279,  1233,     0,
  6461. !      0,    19,     0,  -511,  -511,  1238,  1239,     0,     0,     0,
  6462. !   -511,    21,     0,    22,  1244,     0,  1096,     0,   794,   794,
  6463. !    794,     0,  -511,   380,     0,   139,     0,     0,     0,   279,
  6464. !    230,     0,     0,  -511,  -511,   140,  -511,     0,  -511,   100,
  6465. !    362,     0,   424,    26,   769,   771,   362,   364,   141,     0,
  6466. !      0,     0,     0,   630,   364,     0,     0,     0,     0,   633,
  6467. !      0,     0,   104,     0,     0,   924,  -511,  -511,     0,     0,
  6468. !   -511,  -511,     0,  1292,  1293,     0,     0,     0,     0,   510,
  6469. !   -511,     0,     0,     0,     0,   678,    21,     0,    93,   918,
  6470. !      0,   452,   453,     0,   362,  1119,  1120,     0,     0,     0,
  6471. !    511,     0,     0,   688,   689,     0,   690,     0,  1127,  1128,
  6472. !    512,     0,     0,     0,     0,   678,     0,     0,     0,     0,
  6473. !    513,   552,     0,   514,   515,   363,     8,    92,    10,    11,
  6474. !      0,     0,     0,     0,    12,     0,   837,   838,   364,     0,
  6475. !   1338,   552,     0,   951,   364,     0,     0,     0,     0,    15,
  6476. !    452,   453,     0,    16,     0,     0,     0,    17,     0,     0,
  6477. !      0,     0,     0,     0,     0,     0,     0,     0,     0,   987,
  6478. !      0,     0,    98,    21,     0,    93,     0,     0,   519,   523,
  6479. !    525,     0,     0,   277,   363,     0,     0,     0,     0,   781,
  6480. !    782,     0,   364,     0,   781,   452,   453,     0,   278,     0,
  6481. !      0,   625,   626,   375,   377,  1192,     7,   100,   639,   375,
  6482. !    377,   380,     0,   277,    48,     0,   678,     0,     0,   362,
  6483. !      0,     0,     0,   362,     0,     0,     0,     0,     0,     0,
  6484. !   1058,     0,     0,     0,     0,     0,  1025,     0,     0,   362,
  6485. !      0,     0,     0,     0,    19,   452,   453,     0,     0,     0,
  6486. !      0,     0,     0,     0,    21,     0,    22,     0,     0,     0,
  6487. !      0,   608,     0,   519,   523,   525,     0,     0,   108,   835,
  6488. !    836,  1234,  1235,     0,  1236,  1237,     0,     0,   109,   844,
  6489. !      0,   279,   362,     0,     0,   851,    26,     0,     0,     0,
  6490. !     48,    27,     0,     0,     0,     0,   277,     0,     0,     0,
  6491. !      0,   410,     0,     7,     8,    92,    10,    11,     0,     0,
  6492. !      0,   279,    12,     0,   277,     0,     0,   364,     0,   769,
  6493. !    771,   364,     0,   154,     0,   987,     0,    15,     0,   868,
  6494. !      0,    16,   987,     0,     0,    17,  -423,   364,     0,     7,
  6495. !    100,    19,     0,   184,     0,     0,     0,     0,     7,   100,
  6496. !      0,    21,    11,    22,     0,     0,   672,     0,     0,     0,
  6497. !    411,     0,     0,   625,   626,    24,   639,    48,     0,     0,
  6498. !      0,     0,   999,  1000,   268,    25,     0,    19,   999,  1000,
  6499. !    364,  1313,     0,    26,     0,     0,    19,    21,    27,    22,
  6500. !      0,     0,     0,     0,   279,     0,    21,   268,    22,     0,
  6501. !      0,    24,     0,  -423,     0,     0,     0,     0,  1019,  1020,
  6502. !    108,    25,   279,   772,     0,   774,     0,     0,   987,    26,
  6503. !    109,     0,   774,     0,    27,     0,   919,   920,    26,   922,
  6504. !      0,     0,     0,    27,   358,     0,     0,   410,     0,     7,
  6505. !      8,    92,    10,    11,     0,     0,    19,     0,    12,     0,
  6506. !      0,     0,     0,   523,     0,   936,    21,     0,    22,     0,
  6507. !      0,     0,     0,    15,     0,  1021,   380,    16,     0,     0,
  6508. !    139,    17,  -422,   769,   771,     0,     0,    19,     0,     0,
  6509. !    140,     0,   452,   453,     0,     0,     0,    21,    26,    22,
  6510. !      0,     0,   987,   141,     0,     0,   411,     0,     0,     0,
  6511. !   1220,    24,     0,   987,     0,   772,   774,     0,     0,     0,
  6512. !      0,    25,   774,     0,     0,  1002,   278,     0,     0,    26,
  6513. !      0,  1220,  1220,     0,    27,     0,     0,  1006,  1007,  1008,
  6514. !      0,     0,     0,     0,     0,     0,     0,     0,     0,  -422,
  6515. !      0,   375,   377,   380,     0,     0,  1220,     0,     0,     0,
  6516. !      0,     0,     0,   987,     0,     0,     0,   459,     0,     0,
  6517. !    987,     0,     8,   987,    10,    11,     0,     0,     0,     0,
  6518. !     12,     0,     0,     0,     7,     8,   158,   159,   160,   523,
  6519. !      0,     0,     0,    12,   987,    15,     0,   987,     0,    16,
  6520. !      0,     0,     0,    17,   987,     0,     0,   410,   228,     7,
  6521. !      8,    92,    10,    11,     0,  1062,    17,     0,    12,    21,
  6522. !      0,    93,    19,     0,   277,   510,     0,     0,   987,   228,
  6523. !    228,     0,    21,    15,    22,     0,     0,    16,     0,     0,
  6524. !      0,    17,  -424,   987,     0,     0,   139,    19,     0,   589,
  6525. !    358,     0,     0,     0,   228,     0,   140,    21,   987,    22,
  6526. !      0,     0,   672,     0,    26,     0,   411,     0,     0,  1102,
  6527. !      0,    24,     0,     0,     0,   987,   987,     0,   552,     0,
  6528. !    930,    25,   931,     0,     0,     0,     0,     0,     0,    26,
  6529. !      0,     0,     0,   935,    27,     0,   358,     0,   772,   774,
  6530. !   1121,     0,     0,     0,     0,     0,   230,     0,     0,  -424,
  6531. !      0,     0,     0,     0,     0,     8,     0,    10,    11,   652,
  6532. !    627,   628,   279,    12,     0,     0,     0,   230,   230,     0,
  6533. !      0,     0,     0,     0,     0,     0,     0,     0,    15,     0,
  6534. !      0,     0,    16,     0,   358,  1150,    17,     0,   930,   931,
  6535. !      0,   772,   230,     0,     0,   935,     0,   772,   774,     7,
  6536. !      8,     0,    21,   184,    93,   495,     0,     0,   268,     0,
  6537. !      0,   589,     0,     0,   719,   720,   362,   724,   725,   726,
  6538. !    727,   728,   729,   730,   731,   732,   733,   734,   735,   736,
  6539. !    737,   738,   739,   740,   741,   742,     0,    19,     0,   496,
  6540. !    510,   358,     0,   358,   358,     0,     0,    21,     0,    22,
  6541. !      7,     8,    92,    10,    11,     0,     0,   354,     0,    12,
  6542. !      0,   603,   100,     0,   159,   160,     0,     0,     0,   358,
  6543. !     12,   604,     0,     0,    15,   358,    42,     0,    16,    26,
  6544. !      0,   513,    17,     0,   605,   515,     0,     0,    19,     0,
  6545. !    801,   803,   772,    17,     0,     0,    42,    42,    21,   110,
  6546. !     22,     0,   510,     0,     0,    42,     0,     0,     0,    21,
  6547. !      0,    93,   378,     0,   364,     0,    42,     0,    42,     0,
  6548. !      0,     0,   379,   511,     0,     0,     0,     0,     0,   358,
  6549. !     26,     0,     0,   512,     0,   141,   589,     0,   190,     0,
  6550. !    355,     0,     0,   513,     0,     0,   521,   515,     0,     0,
  6551. !    930,   931,     6,   935,     7,     8,     9,    10,    11,   358,
  6552. !      0,     0,     0,    12,     0,     0,     0,    42,     0,     0,
  6553. !    589,     0,     0,    42,     0,   190,     0,    42,    15,     0,
  6554. !    110,   110,    16,     0,     0,     0,    17,     0,     0,     0,
  6555. !      0,    42,    19,    42,    42,     0,   324,     0,     0,     0,
  6556. !      0,     0,    21,     0,    22,     0,   869,    23,     0,     0,
  6557. !      0,    42,    42,   110,     0,     0,    24,     0,     0,     0,
  6558. !      0,   190,     0,     0,     0,     0,    25,     0,     0,     0,
  6559. !      0,     0,     0,     0,    26,     0,     0,    42,     0,    27,
  6560. !      0,   358,     0,     0,     0,    28,   721,     0,     7,     8,
  6561. !      0,    10,   437,   233,   234,    42,   235,    12,     0,     0,
  6562. !      0,     0,   903,     0,     0,    42,     0,     0,     0,     0,
  6563. !      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
  6564. !     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  6565. !      0,   245,   246,   247,   248,   249,    21,     0,    22,   589,
  6566. !    358,     0,     0,     0,     0,  -656,     0,   250,     0,     0,
  6567. !    251,     0,     0,   358,     0,   358,     0,     0,   252,   253,
  6568. !    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
  6569. !      0,     0,     0,   258,     0,     0,     0,   259,     0,     0,
  6570. !      0,     0,     0,     0,   946,     0,     0,   506,     0,   260,
  6571. !      0,     0,     0,     0,     0,   190,   589,    42,     0,     7,
  6572. !      8,     0,    10,   437,   233,   234,     0,   235,    12,   358,
  6573. !      0,   358,     0,   358,     0,     0,     0,     0,     0,     0,
  6574. !      0,     0,     0,    15,   236,    42,     0,    16,    42,   239,
  6575. !      0,    17,    42,   240,   241,     0,   242,    19,   243,   244,
  6576. !    589,     0,   245,   246,   247,   248,   249,    21,     0,    22,
  6577. !      0,     0,     0,     0,  1014,  1015,     0,     0,   250,     0,
  6578. !      0,   251,     0,     0,     0,     0,     0,  1019,   100,   252,
  6579. !    253,   254,    42,    42,    42,    42,     0,   255,   256,   257,
  6580. !     42,     0,     0,     0,   438,     0,    42,     0,    42,     0,
  6581. !    110,   110,   589,   589,     0,     0,  1046,    42,     0,     0,
  6582. !    260,     0,     0,    42,     0,    19,    42,     0,   410,     0,
  6583. !      7,     8,    92,    10,    11,    21,     0,    22,     0,    12,
  6584. !      0,     7,     8,     0,  1021,    42,    42,     0,    42,    24,
  6585. !      0,     0,     0,     0,    15,     0,     0,     0,    16,    25,
  6586. !      0,     0,    17,  -425,     0,     0,     0,    26,    19,   589,
  6587. !      0,     0,    27,     0,     0,     0,     0,    64,    21,    19,
  6588. !     22,  1083,     0,     0,     7,     8,     0,   411,    11,    21,
  6589. !      0,    22,    24,     0,     0,     0,     0,    64,    64,     0,
  6590. !    115,     0,    25,   139,     0,     0,    64,     0,     0,     0,
  6591. !     26,     0,     0,   140,     0,    27,     0,    64,     0,    64,
  6592. !      0,    26,    19,     0,     0,   510,   141,     0,     0,  1124,
  6593. !   -425,     0,    21,     0,    22,     7,     8,    92,    10,    11,
  6594. !      0,   506,   354,   589,    12,     0,   839,     0,   589,     0,
  6595. !   1142,     0,     0,   791,     0,     0,   840,     0,     0,    15,
  6596. !      0,     0,     0,    16,    26,     0,   513,    17,    64,   605,
  6597. !    515,     0,     0,    19,    64,     0,   510,     0,    64,     0,
  6598. !      0,   115,   115,    21,    42,    22,     0,     0,     0,     0,
  6599. !      0,     0,    64,     0,    64,    64,     0,   839,     0,     0,
  6600. !      0,     8,     0,    10,    11,     0,     0,   840,     0,    12,
  6601. !    358,     0,    64,    64,   115,    26,     0,   513,     0,     0,
  6602. !    605,   515,   589,   589,    15,   355,     0,     0,    16,     0,
  6603. !   1190,  1191,    17,     0,     0,    42,    42,   110,    64,     0,
  6604. !      0,     0,     0,   848,     0,     0,     0,     0,    21,     0,
  6605. !     93,   589,     0,     0,     0,     0,    64,     0,     0,    42,
  6606. !     42,     0,    42,     0,     0,     0,    64,     0,     0,     0,
  6607. !      0,     0,  1222,   476,   477,   478,   479,   480,   481,   482,
  6608. !    483,   484,   485,   486,   487,   748,     0,   587,     0,   711,
  6609. !    712,   110,    10,   437,   233,   234,   589,   235,    12,     0,
  6610. !      0,     0,     0,   589,   589,     0,     0,   358,     0,     0,
  6611. !      0,     0,   589,    15,   236,   237,   238,    16,     0,   239,
  6612. !      0,    17,     0,   240,   241,   791,   242,    19,   243,   244,
  6613. !      0,     0,   245,   246,   247,   248,   249,    21,     0,   713,
  6614. !    588,     0,     0,     0,     7,     8,     0,     0,   250,     0,
  6615. !      0,   251,     0,     0,     0,     0,     0,   531,    64,   252,
  6616. !    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
  6617. !      0,   589,   589,   358,   258,   714,     0,     0,   259,     0,
  6618. !      0,     0,    19,     0,     0,     0,    64,     0,     0,    64,
  6619. !    260,     0,    21,    64,    22,     0,     0,     0,     0,     0,
  6620. !    116,     0,     0,     0,     0,     0,   378,     0,     0,     0,
  6621. !      0,     0,   585,     0,     0,     0,   379,   150,   791,   791,
  6622. !      0,     0,     0,     0,    26,     0,     0,     0,     0,   141,
  6623. !      0,     0,     0,    64,    64,    64,    64,     0,   589,     0,
  6624. !      0,    64,     0,     0,     0,     0,     0,    64,     0,    64,
  6625. !      0,   115,   115,     0,     0,     0,     0,     0,    64,     0,
  6626. !      0,     0,     0,     0,    64,     0,     0,    64,   150,    42,
  6627. !     42,   110,   110,     0,   190,     0,    42,   848,   848,   848,
  6628. !      0,   116,   116,     0,     0,     0,    64,    64,     0,    64,
  6629. !      0,     0,     0,     0,   150,     0,     0,     0,     0,     0,
  6630. !      0,     0,     0,     0,    42,     0,     0,    42,     0,    42,
  6631. !      0,     0,   150,   150,   381,     0,     0,     0,     0,     0,
  6632. !      0,     0,   791,   791,     0,  1105,     0,   966,   967,    92,
  6633. !     10,   232,   233,   234,     0,   235,    12,   968,   150,   969,
  6634. !    970,   971,   972,   973,   974,   975,   976,   977,   978,    13,
  6635. !     14,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  6636. !      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
  6637. !    245,   246,   247,   248,   249,    21,   190,   979,   347,     0,
  6638. !    980,     0,     0,     0,     0,    42,   250,     0,     0,   251,
  6639. !      0,     0,     0,     0,   793,     0,     0,   252,   253,   254,
  6640. !      0,     0,     0,     0,   434,   255,   256,   257,     0,     0,
  6641. !      0,     0,   258,     0,   981,     0,   259,    42,    42,    42,
  6642. !      0,     0,     0,     0,     0,    64,     0,  1106,   260,     0,
  6643. !      0,    42,    42,     0,    42,     7,     8,     0,     0,    11,
  6644. !      0,     8,    92,    10,    11,     0,     0,   354,     0,    12,
  6645. !    518,   518,   518,     0,     0,     0,     0,     0,   150,     0,
  6646. !      0,     0,    42,     0,    15,     0,     0,     0,    16,     0,
  6647. !      0,     0,    17,    19,     0,     0,    64,    64,   115,     0,
  6648. !      0,   510,     0,    21,   850,    22,     0,     0,    21,     0,
  6649. !     93,     0,     0,     0,     0,     0,     0,   139,     0,     0,
  6650. !     64,    64,   511,    64,     0,     0,     0,   140,     0,     0,
  6651. !      0,     0,   512,     0,     0,    26,     0,     0,     0,     0,
  6652. !    141,     0,   513,     0,     0,   514,   515,     0,     0,     0,
  6653. !    355,     0,   115,   607,   848,   607,   607,   518,     0,   120,
  6654. !      0,     7,     8,    92,    10,    11,     0,   150,     0,   150,
  6655. !     12,   381,   381,     0,     0,     0,     7,     8,   150,     0,
  6656. !    424,   516,   516,   516,   150,    15,   793,   150,     0,    16,
  6657. !      0,     0,     0,    17,     0,     0,     0,     0,   148,    19,
  6658. !      0,     0,     0,     0,     0,     0,   150,     0,     0,    21,
  6659. !      0,    22,     0,     0,    19,     0,     0,   510,     0,     0,
  6660. !    191,     0,     0,    24,    21,     0,    22,     0,     0,   848,
  6661. !    848,   848,     0,    25,     0,     0,     7,   100,   603,   191,
  6662. !    424,    26,     0,     0,     0,     0,    27,     0,   604,   148,
  6663. !      0,     0,     0,     0,     0,     0,    26,     0,   513,     0,
  6664. !      0,   605,   515,     0,   516,     0,   516,   516,   516,     0,
  6665. !      0,     0,     0,    42,    19,   148,     0,     0,     0,   793,
  6666. !    793,     0,     0,     0,    21,     0,    22,   531,     0,     0,
  6667. !      0,     0,   757,   148,   148,   148,     0,     0,    24,     0,
  6668. !      0,     0,     0,   390,   518,   518,     0,   518,    25,     0,
  6669. !      0,     0,   585,     0,   518,     0,    26,     0,     0,   148,
  6670. !      0,    27,     0,     0,     0,     0,     0,     0,     0,     0,
  6671. !     64,    64,   115,   115,     0,     0,     0,    64,   850,   850,
  6672. !    850,     0,     0,     0,     0,   607,     0,     0,     0,   191,
  6673. !      0,     0,    62,     0,     0,     0,     0,     0,     0,     0,
  6674. !      0,     0,     0,     0,     0,    64,     0,     0,    64,     0,
  6675. !     64,     0,   102,   106,     0,     0,     0,   100,     0,   159,
  6676. !    160,   125,     0,   793,   793,    12,     0,     0,     0,     0,
  6677. !      0,     0,     0,     0,   157,     0,   607,   607,   843,     0,
  6678. !      0,     0,     0,     0,   843,     0,     0,     0,    17,     0,
  6679. !      0,     0,     0,     0,     0,   516,   516,   510,   516,     0,
  6680. !    150,   150,     0,   150,    21,   790,    93,     0,     8,   151,
  6681. !     10,   152,     0,     0,     0,     0,    12,   191,   511,   148,
  6682. !      0,     0,     0,     0,     0,     0,    64,     0,   512,   306,
  6683. !      0,    15,   381,   308,     0,    16,   516,     0,   513,    17,
  6684. !      0,   514,   515,     0,     0,     0,     0,    62,     0,     0,
  6685. !    330,   518,     7,     8,     0,    21,   184,    93,    64,    64,
  6686. !     64,   434,   434,   434,     0,     0,     0,   102,   106,     0,
  6687. !      0,     0,    64,    64,     0,    64,     0,     0,     0,     0,
  6688. !      0,     0,     0,     0,     0,     0,     0,   516,   516,   516,
  6689. !     19,     0,     0,     0,   148,   790,   148,   148,     0,     0,
  6690. !     21,     0,    22,    64,     0,     0,     0,     0,   148,     0,
  6691. !    148,   419,   148,   148,   139,     0,     7,     8,     0,   148,
  6692. !     11,   425,     0,     0,   140,   148,     0,     0,   148,     0,
  6693. !      0,     0,    26,     0,     0,     0,    83,   141,     0,     0,
  6694. !      0,     0,   518,     0,   518,     0,     0,   148,    83,    83,
  6695. !      0,    83,     0,     0,    19,   518,     0,     0,     0,   518,
  6696. !    518,   518,   516,     0,    21,     0,    22,     0,     0,     0,
  6697. !      0,     0,     0,     0,     0,   850,   177,     0,   378,     0,
  6698. !      0,     0,     0,     0,     0,     0,     0,     0,   379,     0,
  6699. !      0,     0,     0,     0,     0,     0,    26,     0,     0,     0,
  6700. !      0,   141,     0,     0,     0,     0,     0,     0,     0,     0,
  6701. !    607,   607,   843,   843,     0,     0,     0,   607,   843,   843,
  6702. !    843,     0,     0,     0,     0,    83,     0,    83,    83,    83,
  6703. !      0,     0,    83,    83,     0,     7,     8,     0,     0,   424,
  6704. !      0,   559,     0,     0,   560,   150,     0,     0,   561,     0,
  6705. !    850,   850,   850,   516,     0,   516,     0,     0,   191,     0,
  6706. !      0,     0,     0,     0,     0,     0,   516,     0,     0,     0,
  6707. !    790,   790,   790,    19,     0,     0,     0,     0,     0,     0,
  6708. !      0,     0,     0,    21,     0,    22,   148,     0,     0,   609,
  6709. !      0,     0,   757,   757,    64,   757,   619,   139,     0,     0,
  6710. !      0,     0,   306,     0,   308,     0,     0,   140,     0,     0,
  6711. !      0,     0,     0,   518,   518,    26,     0,    83,     0,   425,
  6712. !    141,   516,   516,   516,   516,     0,     0,     0,   516,   790,
  6713. !    790,   790,     0,     0,     0,     0,     0,   148,   148,   841,
  6714. !      0,   666,   669,     0,   419,   841,     0,     0,     0,     0,
  6715. !   -304,     8,  -304,    10,   184,    83,     0,     0,   150,    12,
  6716. !    150,   148,   148,     0,   148,     0,     0,     0,     0,     0,
  6717. !      0,     0,   607,   607,    15,   607,     0,     0,    16,     0,
  6718. !      0,     0,    17,     0,     0,     0,     0,     0,  -304,     0,
  6719. !      0,   510,     0,   841,     0,     0,     0,     0,    21,    83,
  6720. !     93,    83,    83,     0,     0,     0,     0,     0,     0,     0,
  6721. !      0,     0,   511,     0,     0,     0,     0,     0,     0,     0,
  6722. !      0,     0,   512,     0,   790,   790,     0,     0,     0,     0,
  6723. !   -304,    83,   513,     0,     0,   514,   515,    83,     0,     0,
  6724. !     83,     0,     0,     0,    83,   471,   472,   473,   474,   475,
  6725. !    476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
  6726. !    486,   487,   353,     0,     7,     8,    92,    10,   232,   233,
  6727. !    234,   354,   235,    12,     0,   381,     0,     0,     0,     0,
  6728. !      0,     0,     0,   516,   516,     0,   516,     0,    15,   236,
  6729. !    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
  6730. !      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
  6731. !    248,   249,    21,     0,    22,     0,     0,     0,     0,     0,
  6732. !      0,     0,     0,   250,     0,     0,   251,     0,     0,     0,
  6733. !      0,   102,   106,     0,   252,   253,   254,     0,     0,     0,
  6734. !      0,     0,   255,   256,   257,     0,     0,     0,     0,   258,
  6735. !    381,   381,   381,   259,   355,   559,   560,    83,   561,     0,
  6736. !      0,     0,     0,  -666,     0,   260,     0,     0,     0,     0,
  6737. !      0,   148,   148,   148,   148,     0,  1001,     0,   148,   841,
  6738. !    841,   841,     0,     0,     0,     0,     0,     0,     0,     0,
  6739. !      0,     0,     0,     0,   150,     0,     0,     0,     0,     0,
  6740. !      0,     0,     0,     0,     0,     0,   148,     0,     0,     0,
  6741. !      0,   455,     0,     7,     8,    92,    10,   232,   233,   234,
  6742. !    354,   235,    12,    83,     0,     0,     0,     0,     0,     0,
  6743. !      0,     0,     0,    83,     0,    83,    83,    15,   236,   237,
  6744. !    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  6745. !    242,    19,   243,   244,   510,     0,   245,   246,   247,   248,
  6746. !    249,    21,     0,    22,  -237,     0,     0,     0,     0,     0,
  6747. !      0,     0,   250,     0,     0,   940,     0,   177,   191,     0,
  6748. !      0,     0,     0,   252,   253,   941,     0,     0,     0,     0,
  6749. !      0,   255,   256,   257,     0,   513,     0,     0,   788,   515,
  6750. !      0,     0,   259,   355,     0,     0,     7,     8,   158,   159,
  6751. !    160,     0,     0,     0,   260,    12,     0,     0,     0,   148,
  6752. !      0,   148,     0,     0,     0,     0,     0,     0,     0,     0,
  6753. !      0,     0,     0,   148,   148,     0,   148,     0,    17,     0,
  6754. !      0,     0,     0,     0,    19,     0,     0,   510,     0,     0,
  6755. !      0,     0,     0,     0,    21,     0,    22,     0,     0,     0,
  6756. !      0,     0,     0,     0,     0,   306,   308,     0,   603,     0,
  6757. !      0,     0,   425,     0,     0,     0,     0,     0,   604,     0,
  6758. !      0,     0,     0,     0,     0,     0,    26,     0,   513,     0,
  6759. !      0,   611,   515,     0,     0,     0,     0,     0,     0,     0,
  6760. !   1026,     0,    83,  1026,     0,   419,     0,     0,     0,     0,
  6761. !      0,     0,    83,    83,    83,     0,   455,     0,     7,     8,
  6762. !     92,    10,   232,   233,   234,   354,   235,    12,     0,     0,
  6763. !      0,     0,     0,     0,     0,     0,   841,     0,     0,     0,
  6764. !      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
  6765. !     17,     0,   240,   241,     0,   242,    19,   243,   244,   510,
  6766. !      0,   245,   246,   247,   248,   249,    21,     0,    22,  -237,
  6767. !      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
  6768. !    845,   419,     0,     0,  1164,     0,     0,     0,   252,   253,
  6769. !    846,     0,     0,    83,     0,    83,   255,   256,   257,     0,
  6770. !    513,     0,     0,   847,   515,     0,    83,   259,   355,     0,
  6771. !      0,   841,   841,   841,  1101,     0,     0,     0,     0,   260,
  6772. !      0,     0,     0,     0,     0,     0,     0,   559,   560,     0,
  6773. !    561,   466,   467,   468,  1165,   469,   470,   471,   472,   473,
  6774.      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  6775. !    484,   485,   486,   487,     0,   148,     0,     0,   419,     0,
  6776. !      0,     0,     0,     0,     0,     0,     0,     0,  1255,     0,
  6777. !    966,   967,    92,    10,   232,   233,   234,     0,   235,    12,
  6778. !    968,     0,   969,   970,   971,   972,   973,   974,   975,   976,
  6779. !    977,   978,    13,    14,    15,   236,   237,   238,    16,    83,
  6780. !    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
  6781. !    244,     0,     0,   245,   246,   247,   248,   249,    21,     0,
  6782. !    979,   347,     0,   980,     0,     0,     0,     0,     0,   250,
  6783. !      0,     0,   251,     0,     0,     0,     0,     0,     0,     0,
  6784. !    252,   253,   254,    83,    83,     0,    83,     0,   255,   256,
  6785. !    257,     0,     0,     0,     0,   258,     0,   981,     0,   259,
  6786.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  6787. !   1256,   260,  1277,     0,   966,   967,    92,    10,   232,   233,
  6788. !    234,     0,   235,    12,   968,     0,   969,   970,   971,   972,
  6789. !    973,   974,   975,   976,   977,   978,    13,    14,    15,   236,
  6790. !    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
  6791. !      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
  6792. !    248,   249,    21,     0,   979,   347,     0,   980,     0,     0,
  6793. !      0,     0,     0,   250,     0,     0,   251,     0,     0,     0,
  6794. !      0,     0,     0,     0,   252,   253,   254,     0,     0,     0,
  6795. !      0,     0,   255,   256,   257,     0,     0,     0,     0,   258,
  6796. !      0,   981,     0,   259,     0,     0,     0,     0,     0,     0,
  6797. !      0,     0,     0,     0,  1278,   260,  1277,     0,   966,   967,
  6798. !     92,    10,   232,   233,   234,     0,   235,    12,   968,     0,
  6799. !    969,   970,   971,   972,   973,   974,   975,   976,   977,   978,
  6800. !     13,    14,    15,   236,   237,   238,    16,     0,   239,     0,
  6801. !     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  6802. !      0,   245,   246,   247,   248,   249,    21,     0,   979,   347,
  6803. !      0,   980,     0,     0,     0,     0,     0,   250,     0,     0,
  6804. !    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
  6805. !    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
  6806. !      0,     0,     0,   258,     0,   981,     0,   259,     0,     0,
  6807. !      0,     0,     0,     0,     0,     0,     0,     0,  1283,   260,
  6808. !   1277,     0,   966,   967,    92,    10,   232,   233,   234,     0,
  6809. !    235,    12,   968,     0,   969,   970,   971,   972,   973,   974,
  6810. !    975,   976,   977,   978,    13,    14,    15,   236,   237,   238,
  6811. !     16,     0,   239,     0,    17,     0,   240,   241,     0,   242,
  6812. !     19,   243,   244,     0,     0,   245,   246,   247,   248,   249,
  6813. !     21,     0,   979,   347,     0,   980,     0,     0,     0,     0,
  6814. !      0,   250,     0,     0,   251,     0,     0,     0,     0,     0,
  6815. !      0,     0,   252,   253,   254,     0,     0,     0,     0,     0,
  6816. !    255,   256,   257,     0,     0,     0,     0,   258,     0,   981,
  6817. !      0,   259,     0,     0,     0,     0,     0,     0,     0,     0,
  6818. !      0,     0,  1322,   260,   965,     0,   966,   967,    92,    10,
  6819. !    232,   233,   234,     0,   235,    12,   968,     0,   969,   970,
  6820. !    971,   972,   973,   974,   975,   976,   977,   978,    13,    14,
  6821. !     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
  6822. !    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
  6823. !    246,   247,   248,   249,    21,     0,   979,   347,     0,   980,
  6824. !      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
  6825. !      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
  6826. !      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
  6827. !      0,   258,     0,   981,  1249,   259,   966,   967,    92,    10,
  6828. !    232,   233,   234,     0,   235,    12,   968,   260,   969,   970,
  6829. !    971,   972,   973,   974,   975,   976,   977,   978,    13,    14,
  6830. !     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
  6831. !    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
  6832. !    246,   247,   248,   249,    21,     0,   979,   347,     0,   980,
  6833. !      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
  6834. !      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
  6835. !      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
  6836. !      0,   258,     0,   981,  1310,   259,   966,   967,    92,    10,
  6837. !    232,   233,   234,     0,   235,    12,   968,   260,   969,   970,
  6838. !    971,   972,   973,   974,   975,   976,   977,   978,    13,    14,
  6839. !     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
  6840. !    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
  6841. !    246,   247,   248,   249,    21,     0,   979,   347,     0,   980,
  6842. !      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
  6843. !      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
  6844. !      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
  6845. !      0,   258,     0,   981,   634,   259,     7,     8,    92,    10,
  6846. !    232,   233,   234,   354,   235,    12,     0,   260,     0,     0,
  6847.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  6848. !     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
  6849. !    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
  6850. !    246,   247,   248,   249,    21,     0,    22,     0,     0,     0,
  6851. !      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
  6852. !      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
  6853. !      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
  6854. !      0,   258,     0,     0,     0,   259,   355,     0,     0,     0,
  6855. !      0,     0,     0,     0,     0,  -666,   587,   260,   711,   712,
  6856. !      0,    10,   437,   233,   234,     0,   235,    12,   474,   475,
  6857. !    476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
  6858. !    486,   487,    15,   236,   237,   238,    16,     0,   239,     0,
  6859. !     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  6860. !      0,   245,   246,   247,   248,   249,    21,     0,   713,   588,
  6861. !      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
  6862. !    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
  6863. !    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
  6864. !      0,     0,     0,   258,   714,     0,   587,   259,   711,   712,
  6865. !      0,    10,   437,   233,   234,     0,   235,    12,   826,   260,
  6866. !      0,     0,     0,     0,  1042,     0,     0,     0,     0,     0,
  6867. !      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
  6868. !     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  6869. !      0,   245,   246,   247,   248,   249,    21,     0,   713,   588,
  6870. !      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
  6871. !    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
  6872. !    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
  6873. !      0,     0,     0,   258,     0,     0,   587,   259,   711,   712,
  6874. !      0,    10,   437,   233,   234,     0,   235,    12,  -384,   260,
  6875. !      0,     0,     0,     0,  1042,     0,     0,     0,     0,     0,
  6876. !      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
  6877. !     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  6878. !      0,   245,   246,   247,   248,   249,    21,     0,   713,   588,
  6879. !      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
  6880. !    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
  6881. !    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
  6882. !      0,     0,     0,   258,     0,     0,  1158,   259,     7,     8,
  6883. !     92,    10,   232,   233,   234,     0,   235,    12,  1071,   260,
  6884.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  6885. !      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
  6886. !     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  6887. !      0,   245,   246,   247,   248,   249,    21,     0,    22,  1159,
  6888. !      0,  1160,     0,     0,     0,     0,     0,   250,     0,     0,
  6889. !    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
  6890. !    254,     0,     0,     0,     0,     0,   255,   256,   257,   196,
  6891. !      0,     0,     8,   258,    10,    11,     0,   259,     0,     0,
  6892. !     12,     0,     0,     0,     0,     0,     0,     0,     0,   260,
  6893. !      0,     0,     0,     0,     0,    15,     0,     0,     0,    16,
  6894. !      0,     0,     0,    17,     0,   197,   198,     0,     0,     0,
  6895. !      0,     0,   199,     0,     0,     0,     0,     0,     0,    21,
  6896. !      0,    93,     0,   200,     0,   201,   202,   203,     0,   204,
  6897. !    205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
  6898. !    215,   216,   217,   218,   219,   220,   221,     0,     0,   222,
  6899. !    223,   224,     0,   455,   225,     7,     8,   226,    10,   232,
  6900. !    233,   234,     0,   235,    12,     0,     0,     0,     0,     0,
  6901. !      0,     0,   227,     0,     0,     0,     0,     0,     0,    15,
  6902. !    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  6903. !    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  6904. !    247,   248,   249,    21,     0,    22,  -237,     0,     0,     0,
  6905. !      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  6906. !      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  6907. !      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  6908. !    258,     0,     0,   587,   259,     7,     8,     0,    10,   437,
  6909. !    233,   234,     0,   235,    12,     0,   260,     0,     0,     0,
  6910.        0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  6911. !    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  6912. !    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  6913. !    247,   248,   249,    21,     0,    22,   588,     0,     0,     0,
  6914. !      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  6915. !      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  6916. !      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  6917. !    258,     0,     0,   455,   259,     7,     8,     0,    10,   232,
  6918. !    233,   234,     0,   235,    12,     0,   260,     0,     0,     0,
  6919.        0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  6920. !    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  6921. !    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  6922. !    247,   248,   249,    21,     0,    22,  -237,     0,     0,     0,
  6923. !      0,     0,     0,     0,   250,     0,     0,  1177,     0,     0,
  6924. !      0,     0,     0,     0,     0,   252,   253,  1178,     0,     0,
  6925. !      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  6926. !   1179,     0,     0,  1229,   259,     7,     8,     0,    10,   232,
  6927. !    233,   234,     0,   235,    12,     0,   260,     0,     0,     0,
  6928.        0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  6929. !    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  6930. !    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  6931. !    247,   248,   249,    21,     0,    22,     0,     0,  -139,     0,
  6932. !      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  6933. !      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  6934. !      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  6935. !    258,     0,     0,   721,   259,     7,     8,     0,    10,   437,
  6936. !    233,   234,     0,   235,    12,     0,   260,     0,     0,     0,
  6937. !      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  6938. !    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  6939. !    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  6940. !    247,   248,   249,    21,     0,    22,     0,     0,     0,     0,
  6941. !      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  6942. !      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  6943. !      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  6944. !    258,     0,     0,     0,   259,     0,     0,     0,     0,     0,
  6945. !      0,     0,     0,     0,  -656,   800,   260,     7,     8,     0,
  6946. !     10,   437,   233,   234,     0,   235,    12,   475,   476,   477,
  6947. !    478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
  6948. !      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  6949. !      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
  6950. !    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
  6951. !      0,     0,     0,     0,     0,     0,   250,     0,     0,   251,
  6952. !      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
  6953. !      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
  6954. !      0,     0,   258,     0,     0,   802,   259,     7,     8,     0,
  6955. !     10,   437,   233,   234,     0,   235,    12,     0,   260,     0,
  6956.        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  6957. !      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  6958. !      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
  6959. !    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
  6960. !      0,     0,     0,     0,     0,     0,   250,     0,     0,   251,
  6961. !      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
  6962. !      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
  6963. !      0,     0,   258,     0,     7,     8,   259,    10,   437,   233,
  6964. !    234,     0,   235,    12,     0,     0,     0,     0,   260,     0,
  6965. !      0,     0,     0,     0,     0,     0,     0,     0,    15,   236,
  6966. !    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
  6967. !      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
  6968. !    248,   249,    21,     0,    22,     0,     0,     0,     0,     0,
  6969. !      0,     0,     0,   250,     0,     0,   251,     0,     0,     0,
  6970. !      0,     0,     0,     0,   252,   253,   254,     0,     0,     0,
  6971. !      0,     0,   255,   256,   257,     0,     0,     0,     0,   258,
  6972. !      0,     0,     0,   259,     0,     0,     0,     0,     0,     0,
  6973. !      0,     0,     0,     0,     0,   260,   760,   966,   967,    92,
  6974. !     10,   232,   233,   234,     0,   235,    12,   968,     0,   969,
  6975. !    970,   971,   972,   973,   974,   975,   976,   977,   978,    13,
  6976. !     14,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  6977. !      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
  6978. !    245,   246,   247,   248,   249,    21,     0,   979,   347,     0,
  6979. !    980,     0,     0,     0,     0,     0,   250,     0,     0,   251,
  6980. !      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
  6981. !      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
  6982. !      0,     0,   258,     0,   981,     0,   259,     0,     0,     0,
  6983. !      0,     0,     0,     0,     0,     0,     0,  1110,   260,   966,
  6984. !    967,    92,    10,   232,   233,   234,     0,   235,    12,   968,
  6985. !      0,   969,   970,   971,   972,   973,   974,   975,   976,   977,
  6986. !    978,    13,    14,    15,   236,   237,   238,    16,     0,   239,
  6987. !      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
  6988. !      0,     0,   245,   246,   247,   248,   249,    21,     0,   979,
  6989. !    347,     0,   980,     0,     0,     0,     0,     0,   250,     0,
  6990. !      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
  6991. !    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
  6992. !      0,     0,     0,     0,   258,     0,   981,     0,   259,   966,
  6993. !    967,    92,    10,   232,   233,   234,     0,   235,    12,   968,
  6994. !    260,   969,   970,   971,   972,   973,   974,   975,   976,   977,
  6995. !    978,    13,    14,    15,   236,   237,   238,    16,     0,   239,
  6996. !      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
  6997. !      0,     0,   245,   246,   247,   248,   249,    21,     0,   979,
  6998. !   1270,     0,   980,     0,     0,     0,     0,     0,   250,     0,
  6999. !      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
  7000. !    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
  7001. !      0,     0,     0,     0,   258,     0,   981,     0,   259,   966,
  7002. !    967,    92,    10,   232,   233,   234,     0,   235,    12,   968,
  7003. !    260,   969,   970,   971,   972,   973,   974,   975,   976,   977,
  7004. !    978,    13,    14,    15,   236,   237,   238,    16,     0,   239,
  7005. !      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
  7006. !      0,     0,   245,   246,   247,   248,   249,    21,     0,   979,
  7007. !      0,     0,   980,     0,     0,     0,     0,     0,   250,     0,
  7008. !      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
  7009. !    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
  7010. !      0,     0,     0,     0,   258,     0,   981,     0,   259,     7,
  7011. !      8,    92,    10,   232,   233,   234,   354,   235,    12,     0,
  7012. !    260,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  7013. !      0,     0,     0,    15,   236,   237,   238,    16,     0,   239,
  7014. !      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
  7015. !    510,     0,   245,   246,   247,   248,   249,    21,     0,    22,
  7016. !      0,     0,     0,     0,     0,     0,     0,     0,   250,     0,
  7017. !      0,   786,     0,     0,     0,     0,     0,     0,     0,   252,
  7018. !    253,   787,     0,     0,     0,     0,     0,   255,   256,   257,
  7019. !      0,   513,     0,     0,   788,   515,     0,     0,   259,   355,
  7020. !      7,     8,    92,    10,   232,   233,   234,   354,   235,    12,
  7021. !    260,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  7022. !      0,     0,     0,     0,    15,   236,   237,   238,    16,     0,
  7023. !    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
  7024. !    244,   510,     0,   245,   246,   247,   248,   249,    21,     0,
  7025. !     22,     0,     0,     0,     0,     0,     0,     0,     0,   250,
  7026. !      0,     0,   845,     0,     0,     0,     0,     0,     0,     0,
  7027. !    252,   253,   846,     0,     0,     0,     0,     0,   255,   256,
  7028. !    257,     0,   513,     0,     0,   847,   515,     0,     0,   259,
  7029. !    355,     7,     8,     0,    10,   232,   233,   234,     0,   235,
  7030. !     12,   260,     0,     0,     0,     0,     0,     0,     0,     0,
  7031. !      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  7032. !      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  7033. !    243,   244,   510,     0,   245,   246,   247,   248,   249,    21,
  7034.        0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
  7035. !    250,     0,     0,   786,     0,     0,     0,     0,     0,     0,
  7036. !      0,   252,   253,   787,     0,     0,     0,     0,     0,   255,
  7037. !    256,   257,     0,   513,     0,     0,   788,   515,     7,     8,
  7038. !      0,    10,   232,   233,   234,     0,   235,    12,     0,     0,
  7039. !      0,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  7040. !      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
  7041. !     17,     0,   240,   241,     0,   242,    19,   243,   244,   510,
  7042. !      0,   245,   246,   247,   248,   249,    21,     0,    22,     0,
  7043. !      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
  7044. !    845,     0,     0,     0,     0,     0,     0,     0,   252,   253,
  7045. !    846,     0,     0,     0,     0,     0,   255,   256,   257,     0,
  7046. !    513,     0,     0,   847,   515,     7,     8,     0,    10,   232,
  7047. !    233,   234,     0,   235,    12,     0,     0,     0,     0,   260,
  7048.        0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  7049. !    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  7050. !    241,     0,   242,    19,   243,   244,   510,     0,   245,   246,
  7051. !    247,   248,   249,    21,     0,    22,     0,     0,     0,     0,
  7052. !      0,     0,     0,     0,   250,     0,     0,   940,     0,     0,
  7053. !      0,     0,     0,     0,     0,   252,   253,   941,     0,     0,
  7054. !      0,     0,     0,   255,   256,   257,     0,   513,     0,     0,
  7055. !    788,   515,     7,     8,     0,    10,   232,   233,   234,     0,
  7056. !    235,    12,     0,     0,     0,     0,   260,     0,     0,     0,
  7057. !      0,     0,     0,     0,     0,     0,    15,   236,   237,   238,
  7058. !     16,     0,   239,     0,    17,     0,   240,   241,     0,   242,
  7059. !     19,   243,   244,     0,     0,   245,   246,   247,   248,   249,
  7060.       21,     0,    22,     0,     0,     0,     0,     0,     0,     0,
  7061. !      0,   250,     0,     0,   251,     0,     0,     0,     0,   304,
  7062. !      0,     0,   252,   253,   254,     0,     0,     0,     0,     0,
  7063. !    255,   256,   257,     0,     0,     0,     0,   258,     0,     7,
  7064. !      8,   259,    10,   437,   233,   234,     0,   235,    12,     0,
  7065. !      0,     0,     0,   260,     0,     0,     0,     0,     0,     0,
  7066. !      0,     0,     0,    15,   236,   237,   238,    16,     0,   239,
  7067. !      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
  7068. !      0,     0,   245,   246,   247,   248,   249,    21,     0,    22,
  7069. !      0,     0,  1087,     0,     0,     0,     0,     0,   250,     0,
  7070. !      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
  7071. !    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
  7072. !      0,     0,     0,     0,   258,     0,     7,     8,   259,    10,
  7073. !    232,   233,   234,     0,   235,    12,     0,     0,     0,     0,
  7074. !    260,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  7075. !     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
  7076. !    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
  7077. !    246,   247,   248,   249,    21,     0,    22,     0,     0,     0,
  7078. !      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
  7079. !      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
  7080. !      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
  7081. !      0,   258,     0,     7,     8,   259,    10,   437,   233,   234,
  7082. !      0,   235,    12,     0,     0,     0,     0,   260,     0,     0,
  7083. !      0,     0,     0,     0,     0,     0,     0,    15,   236,   237,
  7084. !    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  7085. !    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
  7086. !    249,    21,     0,    22,   463,     0,     0,     0,     0,     0,
  7087. !      0,     0,   250,     0,     0,   251,     0,     0,     0,     0,
  7088. !      0,     0,     0,   252,   253,   254,     0,     0,     0,     0,
  7089. !      0,   255,   256,   257,     0,     0,     7,     8,   464,    10,
  7090. !    437,   233,   234,     0,   235,    12,     0,     0,     0,     0,
  7091. !      0,     0,     0,     0,   260,     0,     0,     0,     0,     0,
  7092. !     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
  7093. !    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
  7094. !    246,   247,   248,   249,    21,     0,    22,     0,     0,     0,
  7095. !      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
  7096. !      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
  7097. !      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
  7098. !      0,   258,   500,     7,     8,     0,    10,   437,   233,   234,
  7099. !      0,   235,    12,     0,     0,     0,     0,   260,     0,     0,
  7100. !      0,     0,     0,     0,     0,     0,     0,    15,   236,   237,
  7101. !    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  7102. !    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
  7103. !    249,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  7104. !      0,     0,   250,     0,     0,   251,     0,     0,     0,     0,
  7105. !      0,     0,     0,   252,   253,   254,     0,     0,     0,     0,
  7106. !      0,   255,   256,   257,     0,     0,     0,     0,   258,     0,
  7107. !      7,   697,   259,    10,   437,   233,   234,     0,   235,    12,
  7108. !      0,     0,     0,     0,   260,     0,     0,     0,     0,     0,
  7109. !      0,     0,     0,     0,    15,   236,   237,   238,    16,     0,
  7110. !    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
  7111. !    244,     0,     0,   245,   246,   247,   248,   249,    21,     0,
  7112. !     22,     0,     0,     0,     0,     0,     0,     0,     0,   250,
  7113. !      0,     0,   251,     0,     0,     0,     0,     0,     0,     0,
  7114. !    252,   253,   254,     0,     0,     0,     0,     0,   255,   256,
  7115. !    257,     0,     0,     0,     0,   258,     0,     7,     8,   259,
  7116. !     10,   437,   233,   234,     0,   235,    12,     0,     0,     0,
  7117. !      0,   260,     0,     0,     0,     0,     0,     0,     0,     0,
  7118. !      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  7119. !      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
  7120. !    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
  7121. !      0,     0,     0,     0,     0,     0,   250,     0,     0,   890,
  7122. !      0,     0,     0,     0,     0,     0,     0,   252,   253,   891,
  7123. !      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
  7124. !      0,     0,   258,     0,     7,     8,   259,    10,   437,   233,
  7125. !    234,     0,   235,    12,     0,     0,     0,     0,   260,     0,
  7126. !      0,     0,     0,     0,     0,     0,     0,     0,    15,   236,
  7127. !    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
  7128. !      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
  7129. !    248,   249,    21,     0,    22,     0,     0,     0,     0,     0,
  7130. !      0,     0,     0,   250,     0,     0,  1177,     0,     0,     0,
  7131. !      0,     0,     0,     0,   252,   253,  1178,     0,     0,     0,
  7132. !      0,     0,   255,   256,   257,     0,     0,     0,     0,  1179,
  7133. !      0,  1242,     8,   259,    10,   437,   233,   234,     0,   235,
  7134. !     12,     0,     0,     0,     0,   260,     0,     0,     0,     0,
  7135. !      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  7136. !      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  7137. !    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  7138. !      0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
  7139. !    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  7140. !      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  7141. !    256,   257,     0,     0,     0,     0,   258,     0,     7,     8,
  7142. !    259,    10,   437,   233,   234,     0,   235,    12,     0,     0,
  7143. !      0,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  7144. !      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
  7145. !     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  7146. !      0,   245,   246,   247,   248,   249,    21,     0,    22,     0,
  7147. !      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
  7148. !    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
  7149. !    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
  7150. !      0,     7,     8,   258,    10,   437,   233,   234,     0,   235,
  7151. !     12,     0,     0,     0,     0,     0,     0,     0,     0,   260,
  7152. !      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  7153. !      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  7154. !    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  7155. !      0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
  7156. !    250,     0,     0,   890,     0,     0,     0,     0,     0,     0,
  7157. !      0,   252,   253,   891,     0,     0,     0,     0,     0,   255,
  7158. !    256,   257,     0,     0,     7,     8,   258,    10,   232,   233,
  7159. !    234,     0,   235,    12,     0,     0,     0,     0,     0,     0,
  7160. !      0,     0,   260,     0,     0,     0,     0,     0,    15,   236,
  7161. !    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
  7162. !      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
  7163. !    248,   249,    21,     0,    22,     0,     0,     0,     0,     0,
  7164. !      0,     0,     0,   250,     0,     0,  1177,     0,     0,     0,
  7165. !      0,     0,     0,     0,   252,   253,  1178,     0,     0,     0,
  7166. !      0,     0,   255,   256,   257,     0,     0,     7,     8,  1179,
  7167. !     10,   437,   233,   234,     0,   235,    12,     0,     0,     0,
  7168. !      0,     0,     0,     0,     0,   260,     0,     0,     0,     0,
  7169. !      0,    15,   236,     0,     0,    16,     0,   239,     0,    17,
  7170. !      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
  7171. !    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
  7172. !      0,     0,     0,     0,     0,     0,   250,     0,     0,   251,
  7173. !      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
  7174. !      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
  7175. !      7,     8,   441,    10,   437,   233,   234,     0,   235,    12,
  7176. !      0,     0,     0,     0,     0,     0,     0,     0,   260,     0,
  7177. !      0,     0,     0,     0,    15,   236,   237,   238,    16,     0,
  7178. !    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
  7179. !    244,     0,     0,   245,   246,   247,   248,   249,    21,     0,
  7180. !     22,     0,     7,     8,   158,   159,   160,     0,     0,     0,
  7181. !      0,    12,     0,     0,     0,     0,     0,     7,     8,   151,
  7182. !     10,   152,     0,     0,     0,     0,    12,     0,   255,   256,
  7183. !    257,     0,     0,     0,    17,   258,     0,     0,     0,   259,
  7184. !     19,    15,     0,   510,     0,    16,     0,     0,     0,    17,
  7185. !     21,   260,    22,     0,     0,    19,     0,     0,     0,     0,
  7186. !      0,     0,     0,     0,   603,    21,     0,    22,     0,     0,
  7187. !    153,     0,     0,     0,   604,     0,     0,     0,     0,    24,
  7188. !      0,     0,    26,     0,   513,     0,     0,   605,   515,    25,
  7189. !      0,     7,     8,    92,    10,    11,     0,    26,   618,     0,
  7190. !     12,     0,    27,     0,     0,     0,     0,     0,   655,     8,
  7191. !    151,    10,   152,     0,     0,    15,     0,    12,     0,    16,
  7192. !      0,     0,     0,    17,     0,     0,     0,     0,     0,    19,
  7193. !      0,     0,    15,     0,     0,     0,    16,     0,     0,    21,
  7194. !     17,    22,     0,     0,     0,     0,    19,     0,     0,     0,
  7195. !      0,     0,     0,    24,     0,     0,    21,     0,    22,     0,
  7196. !      0,     0,     0,    25,     0,   658,     0,     0,     0,     0,
  7197. !     24,    26,     0,     0,     0,     0,    27,     0,     0,     0,
  7198. !     25,     7,     8,   151,    10,   152,     0,     0,    26,     0,
  7199. !     12,     0,     0,    27,     0,     0,     0,     0,     7,     8,
  7200. !    151,    10,   152,     0,     0,    15,     0,    12,     0,    16,
  7201. !      0,     0,     0,    17,     0,     0,     0,     0,     0,    19,
  7202. !      0,     0,    15,     0,     0,     0,    16,     0,     0,    21,
  7203. !     17,    22,     0,     0,  1099,     0,    19,     0,     0,     0,
  7204. !      0,     0,     8,    24,    10,   184,    21,     0,    22,     0,
  7205. !     12,     0,     0,    25,     0,     0,     0,     0,     0,     0,
  7206. !     24,    26,     0,     0,     0,    15,    27,     0,     0,    16,
  7207. !     25,     0,     0,    17,     0,     0,     0,     0,    26,     0,
  7208. !      0,     0,   510,    27,     0,     0,     0,     0,     0,    21,
  7209. !      0,    93,     0,     0,     0,     0,     0,     0,     0,     0,
  7210. !    466,   467,   468,   511,   469,   470,   471,   472,   473,   474,
  7211. !    475,   476,   477,   512,   479,   480,   481,   482,   483,   484,
  7212. !    485,   486,   487,   513,     0,     0,   514,   515,   466,   467,
  7213. !    468,     0,   469,   470,   471,   472,   473,   474,   475,   476,
  7214. !    477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
  7215. !    487,   543,   682,   466,   467,   468,     0,   469,   470,   471,
  7216. !    472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
  7217. !    482,   483,   484,   485,   486,   487,  1040,   466,   467,   468,
  7218. !      0,   469,   470,   471,   472,   473,   474,   475,   476,   477,
  7219.      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
  7220. !    466,   467,   468,  1204,   469,   470,   471,   472,   473,   474,
  7221.      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
  7222. !    485,   486,   487,   466,   467,   468,  1253,   469,   470,   471,
  7223. !    472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
  7224. !    482,   483,   484,   485,   486,   487,   466,   467,   468,     0,
  7225. !    469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
  7226. !    479,   480,   481,   482,   483,   484,   485,   486,   487,   468,
  7227. !      0,   469,   470,   471,   472,   473,   474,   475,   476,   477,
  7228. !    478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
  7229. !    470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
  7230. !    480,   481,   482,   483,   484,   485,   486,   487,   472,   473,
  7231.      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  7232. !    484,   485,   486,   487,   473,   474,   475,   476,   477,   478,
  7233. !    479,   480,   481,   482,   483,   484,   485,   486,   487
  7234.   };
  7235.   
  7236.   static const short yycheck[] = {     4,
  7237. !      4,   188,   265,   136,   416,   284,   117,    12,   108,   109,
  7238. !      4,   339,    12,   299,     4,    20,    20,   389,   388,    24,
  7239. !     25,    52,    27,   284,   131,   347,   749,    71,    33,    33,
  7240. !     20,    20,   154,   161,   162,   130,   131,   134,   129,    44,
  7241. !    299,    46,   816,    33,   136,   988,  1155,    52,  1047,   181,
  7242. !   1183,   299,    52,    34,    59,   988,     9,     1,     9,     4,
  7243. !      9,    48,   995,    55,    88,    70,    71,   278,  1216,    70,
  7244. !     34,   154,    77,    77,    10,     3,     4,    44,  1226,   407,
  7245. !      7,    10,    87,    55,    55,    56,    87,    77,    77,    36,
  7246. !     95,    96,     4,    98,     3,     4,   101,    98,    70,   104,
  7247. !    105,    36,   185,   108,   109,    51,     4,    60,    53,   368,
  7248. !     54,   103,     4,  1246,   119,   119,   121,   122,    44,    55,
  7249. !    368,    62,   103,    69,    60,    53,    55,    54,    95,   119,
  7250. !     75,    60,   136,    60,   139,   140,   141,    12,  1247,   103,
  7251. !     56,    53,     4,   515,    53,  1144,  1279,    75,  1296,   102,
  7252. !    337,   102,   363,   102,   121,    53,   103,    93,    76,    51,
  7253. !    165,    53,    88,     4,    93,    92,   102,   154,   103,   301,
  7254. !     88,    89,     4,    65,   161,   162,   102,    52,   183,   183,
  7255. !    954,    99,  1163,    75,   125,    27,    44,   103,   193,   286,
  7256. !    913,    53,    44,   183,   188,    60,    51,    89,   185,    56,
  7257. !     58,   142,     0,    44,    69,    60,    58,   299,    55,    54,
  7258. !     51,   398,    53,    75,    69,    60,   157,    44,   136,  1328,
  7259. !   1329,    53,    56,    70,    65,   230,   231,   271,  1209,   440,
  7260. !     88,    89,   107,  1166,    75,     0,    88,   344,   345,     6,
  7261. !      7,    55,   229,    75,    85,    12,   103,    88,    89,   344,
  7262. !    345,   346,   343,   532,     4,   388,     3,     4,    88,    89,
  7263. !     60,    88,    89,    66,   392,   393,   271,   109,    35,   103,
  7264. !    275,   393,   277,   278,   279,   102,   368,    44,   378,   379,
  7265. !    285,     4,    85,   284,     7,    56,    56,    44,   102,   659,
  7266. !   1223,   278,   420,    56,   299,   299,   388,    44,    51,   141,
  7267. !    103,    23,   102,    53,    51,    60,    53,  1250,   313,    44,
  7268. !    985,   316,   987,    56,  1257,   320,    69,  1250,   285,   324,
  7269. !    324,    88,   650,    55,  1257,    75,    97,  1050,    51,    92,
  7270. !     53,    88,    89,   103,   324,   324,    55,    10,    60,    88,
  7271. !    258,    88,    65,   337,    45,   102,   149,   102,  1281,   102,
  7272. !     56,    56,    75,    88,     4,   360,   361,   362,   363,   364,
  7273. !    103,    56,   457,   368,   368,    60,    89,     3,  1311,   374,
  7274. !    102,   376,    56,   378,   379,   250,   363,   136,  1311,   566,
  7275. !    385,   299,    55,   102,   388,    58,   391,    60,   329,   394,
  7276. !    384,     4,   195,   360,     7,   362,   363,   103,   103,     3,
  7277. !      4,    51,   407,    53,   398,   392,   393,    55,   413,   414,
  7278. !      1,   416,   416,   785,   784,    65,   421,    55,    56,   103,
  7279. !     93,    54,   514,    69,    44,    75,   416,    60,   258,   521,
  7280. !     44,    44,    23,   420,    25,    26,    88,    41,    51,    44,
  7281. !     53,    32,   447,   448,   449,   450,   413,    55,    56,    53,
  7282. !    368,    44,    65,   497,   102,    44,   643,    27,    44,    92,
  7283. !     54,   402,    75,    54,    55,    56,    60,    58,    88,    60,
  7284. !    388,    75,    85,    55,    88,    88,    89,    44,   419,    83,
  7285. !    283,    44,    54,    88,    89,   592,     3,     4,    70,   676,
  7286. !     56,   819,   497,    51,   499,    88,    89,   592,    92,    88,
  7287. !     89,    92,    88,   421,   307,    44,   511,   512,     4,   514,
  7288. !    514,     7,   640,   605,    56,   794,   521,   521,   804,   611,
  7289. !    438,    88,   553,   441,    41,    88,   659,   790,   446,   447,
  7290. !    448,   449,   450,   794,   862,    60,    53,   379,   108,   109,
  7291. !     44,    54,   460,   373,    69,   804,   464,   552,   553,    88,
  7292. !     92,   923,    44,   553,    58,    51,   804,    53,    75,     3,
  7293. !      4,    44,     6,   103,   385,   552,    83,   659,    54,    65,
  7294. !    681,   141,   566,   394,    55,    25,    26,    58,   496,    75,
  7295. !    102,     3,     4,   342,    88,   552,     3,     4,   463,    70,
  7296. !     55,    56,     3,     4,     3,     4,    88,    41,   603,   604,
  7297. !    605,   605,   102,    51,    54,    88,   611,   611,   438,    53,
  7298. !     60,   441,    60,   443,   444,   102,   446,    51,  1030,    41,
  7299. !    102,    69,   627,   628,    41,   630,    60,    25,    26,   388,
  7300. !    433,    53,    41,    37,   464,    69,    53,     9,   468,    83,
  7301. !     51,   102,    53,    54,    53,   650,    54,    51,    56,   643,
  7302. !    972,   784,    60,   640,   659,   659,    54,   103,    75,     6,
  7303. !      7,    83,    60,    92,   494,    12,    83,     4,     3,     6,
  7304. !    500,    97,    27,   678,    83,    12,    60,   436,   553,   521,
  7305. !     25,    26,   676,   688,   689,   690,   873,   874,    35,   876,
  7306. !     27,   678,   784,   105,    31,    88,   788,    89,    35,   136,
  7307. !      3,     4,     5,     6,     7,   105,   509,   918,     5,     6,
  7308. !      7,    51,   804,   588,    51,    12,    53,    78,    79,   660,
  7309. !     60,   524,    55,    56,   665,   666,    55,    56,   669,    69,
  7310. !    919,   920,    35,   922,   493,    89,   495,   496,    35,   839,
  7311. !    840,   659,    60,   748,    88,   845,   846,    88,    51,    88,
  7312. !     53,    54,    88,   108,   109,   847,  1078,  1079,    69,    54,
  7313. !     69,    56,   521,   605,   769,    60,   771,    69,   527,   611,
  7314. !   1092,    69,    54,   778,    56,     9,   987,   782,    60,   784,
  7315. !    784,   786,   787,   788,   788,   102,   141,   103,    23,   794,
  7316. !   1112,  1113,    55,   794,   102,    98,    99,   100,   102,   804,
  7317. !    804,   806,   102,     3,     4,     5,     6,     7,   378,   379,
  7318. !      3,     3,     4,   103,   688,   689,   690,   659,    54,    54,
  7319. !     58,    56,   581,    58,     7,    60,    55,    56,    55,    56,
  7320. !    748,   102,   837,   838,   839,   840,   102,  1159,   102,   844,
  7321. !    845,   846,   847,   847,    58,    37,    38,  1328,  1329,    41,
  7322. !    105,   693,   611,    53,   102,     4,   105,   862,    88,    51,
  7323. !    778,    53,    32,    12,   235,   236,   784,   872,  1290,  1291,
  7324. !    875,    20,   877,   877,   879,    24,    25,   105,    27,   873,
  7325. !    874,   105,   876,   102,    33,   102,   804,   877,    75,    76,
  7326. !     77,    78,    79,     4,   102,    44,     7,    46,    51,    25,
  7327. !     26,     6,   105,    52,    88,   342,    32,    44,    58,    55,
  7328. !     59,     5,     6,     7,   919,   920,    58,   922,    12,    58,
  7329. !     56,    56,    71,    56,    56,    56,   756,   868,    77,    55,
  7330. !     56,    55,    58,    44,   693,   940,   941,   102,  1125,  1126,
  7331. !     51,    35,    53,   861,    58,   787,    95,    96,   953,   953,
  7332. !    102,   388,   101,    55,    65,   830,   105,   102,   788,   108,
  7333. !    109,   879,   102,   953,    75,     3,     4,   105,    88,     7,
  7334. !    119,    60,   121,   122,    85,    55,    55,    88,    89,    60,
  7335. !    985,   986,   987,    58,    88,  1080,   102,   102,    70,  1176,
  7336. !    139,   140,   141,   752,   999,  1000,   102,  1002,   840,   436,
  7337. !    987,   102,   102,    41,   846,   847,   765,   102,   767,  1220,
  7338. !    102,    70,    70,    51,    70,    53,   165,   847,   985,   102,
  7339. !    987,    60,    55,   378,   379,  1030,  1030,    65,    60,   102,
  7340. !    905,   861,    60,   102,   183,   605,   102,    75,   105,   842,
  7341. !   1030,   611,   103,    89,   193,    83,    83,   102,   105,   891,
  7342. !     88,    44,   102,   102,     3,     4,   493,   105,   495,   496,
  7343. !   1171,   105,   821,   103,   823,    34,   825,   102,     4,     5,
  7344. !      6,     7,  1331,   102,    10,   102,    12,  1177,  1178,   102,
  7345. !    102,   230,   231,  1331,  1025,  1026,   961,    58,  1183,   659,
  7346. !    527,    27,    41,  1280,    58,    31,   102,  1102,    88,    35,
  7347. !     88,    88,    51,   978,    53,     7,    88,    56,    10,    88,
  7348. !    105,   103,     6,   102,   105,    51,    65,    53,   102,   102,
  7349. !     60,   102,   271,   103,   102,   102,    75,   102,   277,   278,
  7350. !    279,  1125,  1126,    88,    83,   284,   285,   102,    60,    88,
  7351. !     56,   944,    44,    56,   581,     7,    54,   977,    14,    56,
  7352. !    299,  1246,    58,    55,   102,   102,    58,    93,    60,  1034,
  7353. !   1101,   341,    60,    60,   313,    44,   105,   316,    70,    88,
  7354. !     56,   320,  1177,  1178,  1179,   324,    56,    88,    88,  1173,
  7355. !   1121,    58,  1176,    58,  1279,   102,    88,    89,   102,    15,
  7356. !    339,    93,    56,   105,     4,     5,    56,  1072,   102,   102,
  7357. !    102,    56,   103,   102,    56,    56,  1036,  1037,  1038,  1039,
  7358. !    102,   360,   361,   362,   363,   364,  1221,    58,  1048,   368,
  7359. !     58,    31,     9,    56,   102,   374,    36,   376,   102,   378,
  7360. !    379,    56,    56,  1220,    88,    55,   385,  1332,    56,  1331,
  7361. !     88,    51,   391,    53,   102,   394,     4,     5,    91,   102,
  7362. !    605,  1081,   102,   102,  1221,    58,   611,   102,   407,  1089,
  7363. !   1102,  1179,     9,    56,   413,   414,     1,   416,   102,   839,
  7364. !    840,   102,   421,    31,    56,   845,   846,   847,    36,     9,
  7365. !      0,     0,   118,   326,     2,     1,  1280,   119,    23,   804,
  7366. !     25,    26,   119,    51,   129,    53,   819,    32,   447,   448,
  7367. !    449,   450,    99,   460,   659,  1144,  1154,    23,  1185,    25,
  7368. !     26,  1252,   509,  1081,   986,   752,    32,   684,  1197,    54,
  7369. !     55,    56,  1197,    58,   799,    60,  1331,  1331,   765,   588,
  7370. !    767,    33,    33,  1163,   862,   650,  1178,  1179,    54,    55,
  7371. !     56,   809,    58,  1102,    60,   877,   953,    12,   497,  1179,
  7372. !    499,     4,   414,   497,  1184,  1185,   875,    92,     4,     5,
  7373. !      6,     7,   511,   512,    10,   514,    12,    20,   540,   797,
  7374. !   1270,   833,   521,  1304,  1306,    -1,    92,    44,   879,  1209,
  7375. !     33,    27,   368,   532,   821,    31,   823,    -1,   825,    35,
  7376. !     -1,     3,     4,    46,    71,    72,    73,    74,    75,    76,
  7377. !     77,    78,    79,   552,   553,    51,    59,    53,    -1,    -1,
  7378. !     -1,    -1,    -1,  1331,    81,    82,    -1,    -1,    71,    86,
  7379. !     87,    88,    89,    76,    77,    -1,    -1,    -1,    -1,    41,
  7380. !     -1,    -1,    44,    -1,    -1,    88,    89,    -1,    -1,    51,
  7381. !   1199,    53,   622,    96,  1274,    -1,    99,    -1,    60,    -1,
  7382. !     -1,    -1,    -1,    65,   603,   604,   605,    -1,    -1,    -1,
  7383. !   1290,  1291,   611,    75,    -1,    -1,   119,    -1,    -1,   122,
  7384. !     -1,    83,    -1,  1303,    -1,    -1,    88,    -1,   627,   628,
  7385. !     -1,   630,    -1,   136,   839,   840,    -1,    -1,    -1,    -1,
  7386. !    845,   846,   847,    -1,    -1,    -1,     4,     5,     6,     7,
  7387. !     -1,   650,    -1,    -1,    12,    -1,  1265,    -1,     3,     4,
  7388. !    659,    -1,     7,   139,   140,   141,    71,    -1,    -1,    27,
  7389. !     -1,    76,    -1,    31,    -1,    -1,    -1,    35,    -1,   678,
  7390. !    183,    -1,  1102,    88,    89,    -1,    -1,    -1,    -1,   688,
  7391. !    689,   690,    -1,    51,    99,    53,    41,    -1,    -1,    44,
  7392. !     -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,    53,    -1,
  7393. !     -1,    69,    -1,    -1,    -1,    -1,   251,    24,    25,   254,
  7394. !     65,   751,   257,    -1,    -1,    -1,    -1,   230,   263,    -1,
  7395. !     75,   136,    -1,    -1,    -1,    -1,    -1,   272,    83,    -1,
  7396. !     85,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,   748,
  7397. !     -1,    -1,    -1,    -1,    -1,   258,    -1,  1177,  1178,  1179,
  7398. !     -1,    -1,    -1,     4,    71,     6,     7,    -1,   271,    76,
  7399. !    769,    12,   771,    -1,    -1,    -1,   279,    -1,   808,   778,
  7400. !     -1,    88,    89,   782,    -1,   784,    27,   786,   787,   788,
  7401. !     31,    -1,    99,    -1,    35,   794,   299,    -1,    -1,    -1,
  7402. !     -1,   108,   109,    -1,    -1,   804,    -1,   806,    -1,    -1,
  7403. !     51,    -1,    53,    -1,    -1,    -1,    -1,    -1,   577,    -1,
  7404. !    819,   324,   852,    -1,    -1,    -1,    -1,    -1,    -1,   136,
  7405. !     -1,    -1,   139,   140,    -1,    -1,    -1,    -1,   837,   838,
  7406. !    839,   840,    -1,    -1,    -1,   844,   845,   846,   847,    -1,
  7407. !     -1,    -1,    -1,   258,    -1,    -1,    -1,    -1,   361,    -1,
  7408. !     -1,   364,    -1,   862,    -1,   368,   271,    -1,    -1,    -1,
  7409. !     -1,    -1,   631,   872,   904,   905,   875,    -1,   877,    -1,
  7410. !    879,    -1,    -1,   642,    -1,   388,    73,    74,    75,    76,
  7411. !     77,    78,    79,    -1,   299,    -1,    -1,  1102,   374,    -1,
  7412. !    376,    69,   378,   379,    -1,    -1,    -1,    -1,    -1,    -1,
  7413. !    445,   414,  1199,   416,    -1,   391,    -1,    -1,   421,    -1,
  7414. !    919,   920,    -1,   922,    -1,    -1,    -1,     3,     4,    -1,
  7415. !     -1,   961,    -1,    -1,    -1,   438,    -1,   413,   441,    -1,
  7416. !     -1,   940,   941,   446,   447,   448,   449,   450,   116,    -1,
  7417. !     -1,   258,    -1,    -1,   953,    -1,    -1,   460,    -1,    -1,
  7418. !     -1,   464,    -1,   368,   271,    41,    -1,   135,    44,    -1,
  7419. !     -1,    -1,  1177,  1178,  1179,    51,    -1,    53,  1265,    -1,
  7420. !     -1,    -1,   150,   388,    -1,    -1,   985,   986,   987,    65,
  7421. !     -1,    -1,   299,   496,   497,    -1,    -1,    -1,    -1,    75,
  7422. !    999,  1000,    -1,  1002,    -1,  1035,    -1,    83,    -1,    85,
  7423. !   1040,   514,    88,    89,    -1,    -1,   421,    -1,   521,    -1,
  7424. !     -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,
  7425. !      7,  1030,    -1,   438,    -1,    12,   441,    -1,    -1,    -1,
  7426. !     -1,   446,   447,   448,   449,   450,    -1,    -1,    25,    26,
  7427. !     27,    -1,   811,    -1,    31,   460,    -1,    -1,    35,   464,
  7428. !     -1,   368,    39,    -1,    41,    -1,    -1,    -1,    45,    -1,
  7429. !     -1,   378,   379,    -1,    51,    -1,    53,    -1,    -1,    56,
  7430. !     -1,   388,    -1,    -1,  1114,  1115,    -1,    -1,    65,    -1,
  7431. !     -1,   496,   497,    -1,    -1,    -1,    -1,    -1,    75,    -1,
  7432. !     -1,   860,   605,  1102,    -1,    -1,    83,    -1,   611,   514,
  7433. !    869,    88,    -1,  1143,   421,    -1,   521,    94,    95,   878,
  7434. !     -1,    -1,    -1,     3,     4,    -1,    -1,   603,   604,   605,
  7435. !     -1,   438,    -1,    -1,   441,   611,    -1,    -1,    -1,   446,
  7436. !    447,   448,   449,   450,    -1,    -1,    -1,    -1,    10,    -1,
  7437. !     -1,   627,   628,   460,   630,    -1,   659,   464,  1188,    -1,
  7438. !     -1,    41,    -1,    25,    26,  1195,  1196,    -1,    -1,    -1,
  7439. !     32,    51,    -1,    53,  1204,    -1,    56,    -1,  1177,  1178,
  7440. !   1179,    -1,    44,   659,    -1,    65,    -1,    -1,    -1,   496,
  7441. !    497,    -1,    -1,    55,    56,    75,    58,    -1,    60,     4,
  7442. !    605,    -1,     7,    83,   511,   512,   611,   514,    88,    -1,
  7443. !     -1,    -1,    -1,   381,   521,    -1,    -1,    -1,    -1,   387,
  7444. !     -1,    -1,  1221,    -1,    -1,   760,    88,    89,    -1,    -1,
  7445. !     92,    93,    -1,  1263,  1264,    -1,    -1,    -1,    -1,    44,
  7446. !    102,    -1,    -1,    -1,    -1,   748,    51,    -1,    53,   752,
  7447. !     -1,   786,   787,    -1,   659,  1014,  1015,    -1,    -1,    -1,
  7448. !     65,    -1,    -1,   431,   432,    -1,   434,    -1,  1027,  1028,
  7449. !     75,    -1,    -1,    -1,    -1,   778,    -1,    -1,    -1,    -1,
  7450. !     85,   784,    -1,    88,    89,   788,     4,     5,     6,     7,
  7451. !     -1,    -1,    -1,    -1,    12,    -1,   603,   604,   605,    -1,
  7452. !   1330,   804,    -1,   806,   611,    -1,    -1,    -1,    -1,    27,
  7453. !    845,   846,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,
  7454. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   832,
  7455. !     -1,    -1,  1331,    51,    -1,    53,    -1,    -1,   277,   278,
  7456. !    279,    -1,    -1,   748,   847,    -1,    -1,    -1,    -1,   517,
  7457. !    518,    -1,   659,    -1,   522,   890,   891,    -1,   861,    -1,
  7458. !     -1,   837,   838,   839,   840,  1124,     3,     4,   844,   845,
  7459. !    846,   847,    -1,   778,   877,    -1,   879,    -1,    -1,   784,
  7460. !     -1,    -1,    -1,   788,    -1,    -1,    -1,    -1,    -1,    -1,
  7461. !    925,    -1,    -1,    -1,    -1,    -1,   872,    -1,    -1,   804,
  7462. !     -1,    -1,    -1,    -1,    41,   940,   941,    -1,    -1,    -1,
  7463. !     -1,    -1,    -1,    -1,    51,    -1,    53,    -1,    -1,    -1,
  7464. !     -1,   360,    -1,   362,   363,   364,    -1,    -1,    65,   597,
  7465. !    598,  1190,  1191,    -1,  1193,  1194,    -1,    -1,    75,   607,
  7466. !     -1,   748,   847,    -1,    -1,   613,    83,    -1,    -1,    -1,
  7467. !    953,    88,    -1,    -1,    -1,    -1,   861,    -1,    -1,    -1,
  7468. !     -1,     1,    -1,     3,     4,     5,     6,     7,    -1,    -1,
  7469. !     -1,   778,    12,    -1,   879,    -1,    -1,   784,    -1,   786,
  7470. !    787,   788,    -1,   986,    -1,   988,    -1,    27,    -1,   657,
  7471. !     -1,    31,   995,    -1,    -1,    35,    36,   804,    -1,     3,
  7472. !      4,    41,    -1,     7,    -1,    -1,    -1,    -1,     3,     4,
  7473. !     -1,    51,     7,    53,    -1,    -1,    56,    -1,    -1,    -1,
  7474. !     60,    -1,    -1,   999,  1000,    65,  1002,  1030,    -1,    -1,
  7475. !     -1,    -1,   839,   840,    76,    75,    -1,    41,   845,   846,
  7476. !    847,  1300,    -1,    83,    -1,    -1,    41,    51,    88,    53,
  7477. !     -1,    -1,    -1,    -1,   861,    -1,    51,    99,    53,    -1,
  7478. !     -1,    65,    -1,   103,    -1,    -1,    -1,    -1,     3,     4,
  7479. !     65,    75,   879,   512,    -1,   514,    -1,    -1,  1081,    83,
  7480. !     75,    -1,   521,    -1,    88,    -1,   754,   755,    83,   757,
  7481. !     -1,    -1,    -1,    88,   136,    -1,    -1,     1,    -1,     3,
  7482. !      4,     5,     6,     7,    -1,    -1,    41,    -1,    12,    -1,
  7483. !     -1,    -1,    -1,   552,    -1,   783,    51,    -1,    53,    -1,
  7484. !     -1,    -1,    -1,    27,    -1,    60,  1102,    31,    -1,    -1,
  7485. !     65,    35,    36,   940,   941,    -1,    -1,    41,    -1,    -1,
  7486. !     75,    -1,  1177,  1178,    -1,    -1,    -1,    51,    83,    53,
  7487. !     -1,    -1,  1155,    88,    -1,    -1,    60,    -1,    -1,    -1,
  7488. !   1163,    65,    -1,  1166,    -1,   604,   605,    -1,    -1,    -1,
  7489. !     -1,    75,   611,    -1,    -1,   843,  1179,    -1,    -1,    83,
  7490. !     -1,  1184,  1185,    -1,    88,    -1,    -1,   855,   856,   857,
  7491. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
  7492. !     -1,  1177,  1178,  1179,    -1,    -1,  1209,    -1,    -1,    -1,
  7493. !     -1,    -1,    -1,  1216,    -1,    -1,    -1,   259,    -1,    -1,
  7494. !   1223,    -1,     4,  1226,     6,     7,    -1,    -1,    -1,    -1,
  7495. !     12,    -1,    -1,    -1,     3,     4,     5,     6,     7,   678,
  7496. !     -1,    -1,    -1,    12,  1247,    27,    -1,  1250,    -1,    31,
  7497. !     -1,    -1,    -1,    35,  1257,    -1,    -1,     1,  1163,     3,
  7498. !      4,     5,     6,     7,    -1,   933,    35,    -1,    12,    51,
  7499. !     -1,    53,    41,    -1,  1179,    44,    -1,    -1,  1281,  1184,
  7500. !   1185,    -1,    51,    27,    53,    -1,    -1,    31,    -1,    -1,
  7501. !     -1,    35,    36,  1296,    -1,    -1,    65,    41,    -1,   341,
  7502. !    342,    -1,    -1,    -1,  1209,    -1,    75,    51,  1311,    53,
  7503. !     -1,    -1,    56,    -1,    83,    -1,    60,    -1,    -1,    88,
  7504. !     -1,    65,    -1,    -1,    -1,  1328,  1329,    -1,  1331,    -1,
  7505. !    769,    75,   771,    -1,    -1,    -1,    -1,    -1,    -1,    83,
  7506. !     -1,    -1,    -1,   782,    88,    -1,   388,    -1,   787,   788,
  7507. !   1018,    -1,    -1,    -1,    -1,    -1,  1163,    -1,    -1,   103,
  7508. !     -1,    -1,    -1,    -1,    -1,     4,    -1,     6,     7,   411,
  7509. !   1177,  1178,  1179,    12,    -1,    -1,    -1,  1184,  1185,    -1,
  7510. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,
  7511. !     -1,    -1,    31,    -1,   436,  1063,    35,    -1,   837,   838,
  7512. !     -1,   840,  1209,    -1,    -1,   844,    -1,   846,   847,     3,
  7513. !      4,    -1,    51,     7,    53,    54,    -1,    -1,   460,    -1,
  7514. !     -1,   463,    -1,    -1,   466,   467,  1331,   469,   470,   471,
  7515. !    472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
  7516. !    482,   483,   484,   485,   486,   487,    -1,    41,    -1,    88,
  7517. !     44,   493,    -1,   495,   496,    -1,    -1,    51,    -1,    53,
  7518.        3,     4,     5,     6,     7,    -1,    -1,    10,    -1,    12,
  7519. !     -1,    65,     4,    -1,     6,     7,    -1,    -1,    -1,   521,
  7520. !     12,    75,    -1,    -1,    27,   527,     4,    -1,    31,    83,
  7521. !     -1,    85,    35,    -1,    88,    89,    -1,    -1,    41,    -1,
  7522. !    542,   543,   941,    35,    -1,    -1,    24,    25,    51,    27,
  7523. !     53,    -1,    44,    -1,    -1,    33,    -1,    -1,    -1,    51,
  7524. !     -1,    53,    65,    -1,  1331,    -1,    44,    -1,    46,    -1,
  7525. !     -1,    -1,    75,    65,    -1,    -1,    -1,    -1,    -1,   581,
  7526. !     83,    -1,    -1,    75,    -1,    88,   588,    -1,    66,    -1,
  7527. !     93,    -1,    -1,    85,    -1,    -1,    88,    89,    -1,    -1,
  7528. !    999,  1000,     1,  1002,     3,     4,     5,     6,     7,   611,
  7529. !     -1,    -1,    -1,    12,    -1,    -1,    -1,    95,    -1,    -1,
  7530. !    622,    -1,    -1,   101,    -1,   103,    -1,   105,    27,    -1,
  7531. !    108,   109,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
  7532. !     -1,   119,    41,   121,   122,    -1,    45,    -1,    -1,    -1,
  7533. !     -1,    -1,    51,    -1,    53,    -1,   658,    56,    -1,    -1,
  7534. !     -1,   139,   140,   141,    -1,    -1,    65,    -1,    -1,    -1,
  7535. !     -1,   149,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,
  7536. !     -1,    -1,    -1,    -1,    83,    -1,    -1,   165,    -1,    88,
  7537. !     -1,   693,    -1,    -1,    -1,    94,     1,    -1,     3,     4,
  7538. !     -1,     6,     7,     8,     9,   183,    11,    12,    -1,    -1,
  7539. !     -1,    -1,   714,    -1,    -1,   193,    -1,    -1,    -1,    -1,
  7540. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7541. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7542. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,   751,
  7543. !    752,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    -1,
  7544. !     65,    -1,    -1,   765,    -1,   767,    -1,    -1,    73,    74,
  7545. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7546. !     -1,    -1,    -1,    88,    -1,    -1,    -1,    92,    -1,    -1,
  7547. !     -1,    -1,    -1,    -1,   796,    -1,    -1,   275,    -1,   104,
  7548. !     -1,    -1,    -1,    -1,    -1,   283,   808,   285,    -1,     3,
  7549. !      4,    -1,     6,     7,     8,     9,    -1,    11,    12,   821,
  7550. !     -1,   823,    -1,   825,    -1,    -1,    -1,    -1,    -1,    -1,
  7551. !     -1,    -1,    -1,    27,    28,   313,    -1,    31,   316,    33,
  7552. !     -1,    35,   320,    37,    38,    -1,    40,    41,    42,    43,
  7553. !    852,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  7554. !     -1,    -1,    -1,    -1,   866,   867,    -1,    -1,    62,    -1,
  7555. !     -1,    65,    -1,    -1,    -1,    -1,    -1,     3,     4,    73,
  7556. !     74,    75,   360,   361,   362,   363,    -1,    81,    82,    83,
  7557. !    368,    -1,    -1,    -1,    88,    -1,   374,    -1,   376,    -1,
  7558. !    378,   379,   904,   905,    -1,    -1,   908,   385,    -1,    -1,
  7559. !    104,    -1,    -1,   391,    -1,    41,   394,    -1,     1,    -1,
  7560. !      3,     4,     5,     6,     7,    51,    -1,    53,    -1,    12,
  7561. !     -1,     3,     4,    -1,    60,   413,   414,    -1,   416,    65,
  7562. !     -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,    31,    75,
  7563. !     -1,    -1,    35,    36,    -1,    -1,    -1,    83,    41,   961,
  7564. !     -1,    -1,    88,    -1,    -1,    -1,    -1,     4,    51,    41,
  7565. !     53,   973,    -1,    -1,     3,     4,    -1,    60,     7,    51,
  7566. !     -1,    53,    65,    -1,    -1,    -1,    -1,    24,    25,    -1,
  7567. !     27,    -1,    75,    65,    -1,    -1,    33,    -1,    -1,    -1,
  7568. !     83,    -1,    -1,    75,    -1,    88,    -1,    44,    -1,    46,
  7569. !     -1,    83,    41,    -1,    -1,    44,    88,    -1,    -1,  1021,
  7570. !    103,    -1,    51,    -1,    53,     3,     4,     5,     6,     7,
  7571. !     -1,   509,    10,  1035,    12,    -1,    65,    -1,  1040,    -1,
  7572. !   1042,    -1,    -1,   521,    -1,    -1,    75,    -1,    -1,    27,
  7573. !     -1,    -1,    -1,    31,    83,    -1,    85,    35,    95,    88,
  7574. !     89,    -1,    -1,    41,   101,    -1,    44,    -1,   105,    -1,
  7575. !     -1,   108,   109,    51,   552,    53,    -1,    -1,    -1,    -1,
  7576. !     -1,    -1,   119,    -1,   121,   122,    -1,    65,    -1,    -1,
  7577. !     -1,     4,    -1,     6,     7,    -1,    -1,    75,    -1,    12,
  7578. !   1102,    -1,   139,   140,   141,    83,    -1,    85,    -1,    -1,
  7579. !     88,    89,  1114,  1115,    27,    93,    -1,    -1,    31,    -1,
  7580. !   1122,  1123,    35,    -1,    -1,   603,   604,   605,   165,    -1,
  7581. !     -1,    -1,    -1,   611,    -1,    -1,    -1,    -1,    51,    -1,
  7582. !     53,  1143,    -1,    -1,    -1,    -1,   183,    -1,    -1,   627,
  7583. !    628,    -1,   630,    -1,    -1,    -1,   193,    -1,    -1,    -1,
  7584. !     -1,    -1,  1164,    68,    69,    70,    71,    72,    73,    74,
  7585. !     75,    76,    77,    78,    79,    88,    -1,     1,    -1,     3,
  7586. !      4,   659,     6,     7,     8,     9,  1188,    11,    12,    -1,
  7587. !     -1,    -1,    -1,  1195,  1196,    -1,    -1,  1199,    -1,    -1,
  7588. !     -1,    -1,  1204,    27,    28,    29,    30,    31,    -1,    33,
  7589. !     -1,    35,    -1,    37,    38,   693,    40,    41,    42,    43,
  7590. !     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  7591. !     54,    -1,    -1,    -1,     3,     4,    -1,    -1,    62,    -1,
  7592. !     -1,    65,    -1,    -1,    -1,    -1,    -1,   284,   285,    73,
  7593. !     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  7594. !     -1,  1263,  1264,  1265,    88,    89,    -1,    -1,    92,    -1,
  7595. !     -1,    -1,    41,    -1,    -1,    -1,   313,    -1,    -1,   316,
  7596. !    104,    -1,    51,   320,    53,    -1,    -1,    -1,    -1,    -1,
  7597. !     27,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
  7598. !     -1,    -1,   339,    -1,    -1,    -1,    75,    44,   786,   787,
  7599. !     -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    88,
  7600. !     -1,    -1,    -1,   360,   361,   362,   363,    -1,  1330,    -1,
  7601. !     -1,   368,    -1,    -1,    -1,    -1,    -1,   374,    -1,   376,
  7602. !     -1,   378,   379,    -1,    -1,    -1,    -1,    -1,   385,    -1,
  7603. !     -1,    -1,    -1,    -1,   391,    -1,    -1,   394,    95,   837,
  7604. !    838,   839,   840,    -1,   842,    -1,   844,   845,   846,   847,
  7605. !     -1,   108,   109,    -1,    -1,    -1,   413,   414,    -1,   416,
  7606. !     -1,    -1,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
  7607. !     -1,    -1,    -1,    -1,   872,    -1,    -1,   875,    -1,   877,
  7608. !     -1,    -1,   139,   140,   141,    -1,    -1,    -1,    -1,    -1,
  7609. !     -1,    -1,   890,   891,    -1,     1,    -1,     3,     4,     5,
  7610. !      6,     7,     8,     9,    -1,    11,    12,    13,   165,    15,
  7611. !     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  7612. !     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  7613. !     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  7614. !     46,    47,    48,    49,    50,    51,   944,    53,    54,    -1,
  7615. !     56,    -1,    -1,    -1,    -1,   953,    62,    -1,    -1,    65,
  7616. !     -1,    -1,    -1,    -1,   521,    -1,    -1,    73,    74,    75,
  7617. !     -1,    -1,    -1,    -1,   231,    81,    82,    83,    -1,    -1,
  7618. !     -1,    -1,    88,    -1,    90,    -1,    92,   985,   986,   987,
  7619. !     -1,    -1,    -1,    -1,    -1,   552,    -1,   103,   104,    -1,
  7620. !     -1,   999,  1000,    -1,  1002,     3,     4,    -1,    -1,     7,
  7621. !     -1,     4,     5,     6,     7,    -1,    -1,    10,    -1,    12,
  7622. !    277,   278,   279,    -1,    -1,    -1,    -1,    -1,   285,    -1,
  7623. !     -1,    -1,  1030,    -1,    27,    -1,    -1,    -1,    31,    -1,
  7624. !     -1,    -1,    35,    41,    -1,    -1,   603,   604,   605,    -1,
  7625. !     -1,    44,    -1,    51,   611,    53,    -1,    -1,    51,    -1,
  7626. !     53,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
  7627. !    627,   628,    65,   630,    -1,    -1,    -1,    75,    -1,    -1,
  7628. !     -1,    -1,    75,    -1,    -1,    83,    -1,    -1,    -1,    -1,
  7629. !     88,    -1,    85,    -1,    -1,    88,    89,    -1,    -1,    -1,
  7630. !     93,    -1,   659,   360,  1102,   362,   363,   364,    -1,     1,
  7631. !     -1,     3,     4,     5,     6,     7,    -1,   374,    -1,   376,
  7632. !     12,   378,   379,    -1,    -1,    -1,     3,     4,   385,    -1,
  7633. !      7,   277,   278,   279,   391,    27,   693,   394,    -1,    31,
  7634. !     -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    44,    41,
  7635. !     -1,    -1,    -1,    -1,    -1,    -1,   413,    -1,    -1,    51,
  7636. !     -1,    53,    -1,    -1,    41,    -1,    -1,    44,    -1,    -1,
  7637. !     66,    -1,    -1,    65,    51,    -1,    53,    -1,    -1,  1177,
  7638. !   1178,  1179,    -1,    75,    -1,    -1,     3,     4,    65,    85,
  7639. !      7,    83,    -1,    -1,    -1,    -1,    88,    -1,    75,    95,
  7640. !     -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,
  7641. !     -1,    88,    89,    -1,   360,    -1,   362,   363,   364,    -1,
  7642. !     -1,    -1,    -1,  1221,    41,   121,    -1,    -1,    -1,   786,
  7643. !    787,    -1,    -1,    -1,    51,    -1,    53,   794,    -1,    -1,
  7644. !     -1,    -1,   499,   139,   140,   141,    -1,    -1,    65,    -1,
  7645. !     -1,    -1,    -1,   149,   511,   512,    -1,   514,    75,    -1,
  7646. !     -1,    -1,   819,    -1,   521,    -1,    83,    -1,    -1,   165,
  7647. !     -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7648. !    837,   838,   839,   840,    -1,    -1,    -1,   844,   845,   846,
  7649. !    847,    -1,    -1,    -1,    -1,   552,    -1,    -1,    -1,   195,
  7650. !     -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7651. !     -1,    -1,    -1,    -1,    -1,   872,    -1,    -1,   875,    -1,
  7652. !    877,    -1,    24,    25,    -1,    -1,    -1,     4,    -1,     6,
  7653. !      7,    33,    -1,   890,   891,    12,    -1,    -1,    -1,    -1,
  7654. !     -1,    -1,    -1,    -1,    46,    -1,   603,   604,   605,    -1,
  7655. !     -1,    -1,    -1,    -1,   611,    -1,    -1,    -1,    35,    -1,
  7656. !     -1,    -1,    -1,    -1,    -1,   511,   512,    44,   514,    -1,
  7657. !    627,   628,    -1,   630,    51,   521,    53,    -1,     4,     5,
  7658. !      6,     7,    -1,    -1,    -1,    -1,    12,   283,    65,   285,
  7659. !     -1,    -1,    -1,    -1,    -1,    -1,   953,    -1,    75,   101,
  7660. !     -1,    27,   659,   105,    -1,    31,   552,    -1,    85,    35,
  7661. !     -1,    88,    89,    -1,    -1,    -1,    -1,   119,    -1,    -1,
  7662. !    122,   678,     3,     4,    -1,    51,     7,    53,   985,   986,
  7663. !    987,   688,   689,   690,    -1,    -1,    -1,   139,   140,    -1,
  7664. !     -1,    -1,   999,  1000,    -1,  1002,    -1,    -1,    -1,    -1,
  7665. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,   603,   604,   605,
  7666. !     41,    -1,    -1,    -1,   360,   611,   362,   363,    -1,    -1,
  7667. !     51,    -1,    53,  1030,    -1,    -1,    -1,    -1,   374,    -1,
  7668. !    376,   183,   378,   379,    65,    -1,     3,     4,    -1,   385,
  7669. !      7,   193,    -1,    -1,    75,   391,    -1,    -1,   394,    -1,
  7670. !     -1,    -1,    83,    -1,    -1,    -1,    12,    88,    -1,    -1,
  7671. !     -1,    -1,   769,    -1,   771,    -1,    -1,   413,    24,    25,
  7672. !     -1,    27,    -1,    -1,    41,   782,    -1,    -1,    -1,   786,
  7673. !    787,   788,   678,    -1,    51,    -1,    53,    -1,    -1,    -1,
  7674. !     -1,    -1,    -1,    -1,    -1,  1102,    52,    -1,    65,    -1,
  7675. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    -1,
  7676. !     -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
  7677. !     -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7678. !    837,   838,   839,   840,    -1,    -1,    -1,   844,   845,   846,
  7679. !    847,    -1,    -1,    -1,    -1,   101,    -1,   103,   104,   105,
  7680. !     -1,    -1,   108,   109,    -1,     3,     4,    -1,    -1,     7,
  7681. !     -1,   313,    -1,    -1,   316,   872,    -1,    -1,   320,    -1,
  7682. !   1177,  1178,  1179,   769,    -1,   771,    -1,    -1,   524,    -1,
  7683. !     -1,    -1,    -1,    -1,    -1,    -1,   782,    -1,    -1,    -1,
  7684. !    786,   787,   788,    41,    -1,    -1,    -1,    -1,    -1,    -1,
  7685. !     -1,    -1,    -1,    51,    -1,    53,   552,    -1,    -1,   361,
  7686. !     -1,    -1,   919,   920,  1221,   922,   368,    65,    -1,    -1,
  7687. !     -1,    -1,   374,    -1,   376,    -1,    -1,    75,    -1,    -1,
  7688. !     -1,    -1,    -1,   940,   941,    83,    -1,   193,    -1,   391,
  7689. !     88,   837,   838,   839,   840,    -1,    -1,    -1,   844,   845,
  7690. !    846,   847,    -1,    -1,    -1,    -1,    -1,   603,   604,   605,
  7691. !     -1,   413,   414,    -1,   416,   611,    -1,    -1,    -1,    -1,
  7692. !      3,     4,     5,     6,     7,   231,    -1,    -1,   985,    12,
  7693. !    987,   627,   628,    -1,   630,    -1,    -1,    -1,    -1,    -1,
  7694. !     -1,    -1,   999,  1000,    27,  1002,    -1,    -1,    31,    -1,
  7695.       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    41,    -1,
  7696. !     -1,    44,    -1,   659,    -1,    -1,    -1,    -1,    51,   275,
  7697. !     53,   277,   278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7698. !     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7699. !     -1,    -1,    75,    -1,   940,   941,    -1,    -1,    -1,    -1,
  7700. !     83,   307,    85,    -1,    -1,    88,    89,   313,    -1,    -1,
  7701. !    316,    -1,    -1,    -1,   320,    63,    64,    65,    66,    67,
  7702. !     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
  7703. !     78,    79,     1,    -1,     3,     4,     5,     6,     7,     8,
  7704. !      9,    10,    11,    12,    -1,  1102,    -1,    -1,    -1,    -1,
  7705. !     -1,    -1,    -1,   999,  1000,    -1,  1002,    -1,    27,    28,
  7706. !     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
  7707. !     -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
  7708. !     49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
  7709. !     -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
  7710. !     -1,   603,   604,    -1,    73,    74,    75,    -1,    -1,    -1,
  7711. !     -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,
  7712. !   1177,  1178,  1179,    92,    93,   627,   628,   433,   630,    -1,
  7713. !     -1,    -1,    -1,   102,    -1,   104,    -1,    -1,    -1,    -1,
  7714. !     -1,   837,   838,   839,   840,    -1,   842,    -1,   844,   845,
  7715. !    846,   847,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7716. !     -1,    -1,    -1,    -1,  1221,    -1,    -1,    -1,    -1,    -1,
  7717. !     -1,    -1,    -1,    -1,    -1,    -1,   872,    -1,    -1,    -1,
  7718. !     -1,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
  7719. !     10,    11,    12,   499,    -1,    -1,    -1,    -1,    -1,    -1,
  7720. !     -1,    -1,    -1,   509,    -1,   511,   512,    27,    28,    29,
  7721. !     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  7722. !     40,    41,    42,    43,    44,    -1,    46,    47,    48,    49,
  7723. !     50,    51,    -1,    53,    54,    -1,    -1,    -1,    -1,    -1,
  7724. !     -1,    -1,    62,    -1,    -1,    65,    -1,   553,   944,    -1,
  7725. !     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  7726. !     -1,    81,    82,    83,    -1,    85,    -1,    -1,    88,    89,
  7727. !     -1,    -1,    92,    93,    -1,    -1,     3,     4,     5,     6,
  7728. !      7,    -1,    -1,    -1,   104,    12,    -1,    -1,    -1,   985,
  7729. !     -1,   987,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7730. !     -1,    -1,    -1,   999,  1000,    -1,  1002,    -1,    35,    -1,
  7731. !     -1,    -1,    -1,    -1,    41,    -1,    -1,    44,    -1,    -1,
  7732. !     -1,    -1,    -1,    -1,    51,    -1,    53,    -1,    -1,    -1,
  7733. !     -1,    -1,    -1,    -1,    -1,   837,   838,    -1,    65,    -1,
  7734. !     -1,    -1,   844,    -1,    -1,    -1,    -1,    -1,    75,    -1,
  7735.       -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,
  7736. !     -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7737. !    872,    -1,   678,   875,    -1,   877,    -1,    -1,    -1,    -1,
  7738. !     -1,    -1,   688,   689,   690,    -1,     1,    -1,     3,     4,
  7739. !      5,     6,     7,     8,     9,    10,    11,    12,    -1,    -1,
  7740. !     -1,    -1,    -1,    -1,    -1,    -1,  1102,    -1,    -1,    -1,
  7741. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7742. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
  7743. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7744. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7745. !     65,   953,    -1,    -1,    10,    -1,    -1,    -1,    73,    74,
  7746. !     75,    -1,    -1,   769,    -1,   771,    81,    82,    83,    -1,
  7747. !     85,    -1,    -1,    88,    89,    -1,   782,    92,    93,    -1,
  7748. !     -1,  1177,  1178,  1179,   986,    -1,    -1,    -1,    -1,   104,
  7749. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,   999,  1000,    -1,
  7750. !   1002,    57,    58,    59,    60,    61,    62,    63,    64,    65,
  7751. !     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
  7752. !     76,    77,    78,    79,    -1,  1221,    -1,    -1,  1030,    -1,
  7753. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
  7754. !      3,     4,     5,     6,     7,     8,     9,    -1,    11,    12,
  7755. !     13,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
  7756. !     23,    24,    25,    26,    27,    28,    29,    30,    31,   875,
  7757. !     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  7758. !     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
  7759. !     53,    54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,
  7760. !     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7761. !     73,    74,    75,   919,   920,    -1,   922,    -1,    81,    82,
  7762. !     83,    -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,
  7763.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7764. !    103,   104,     1,    -1,     3,     4,     5,     6,     7,     8,
  7765.        9,    -1,    11,    12,    13,    -1,    15,    16,    17,    18,
  7766.       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
  7767.       29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
  7768. !     -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
  7769.       49,    50,    51,    -1,    53,    54,    -1,    56,    -1,    -1,
  7770.       -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
  7771. !     -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
  7772. !     -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,
  7773.       -1,    90,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,
  7774. !     -1,    -1,    -1,    -1,   103,   104,     1,    -1,     3,     4,
  7775. !      5,     6,     7,     8,     9,    -1,    11,    12,    13,    -1,
  7776. !     15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
  7777. !     25,    26,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7778. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7779. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7780. !     -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7781. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7782. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7783. !     -1,    -1,    -1,    88,    -1,    90,    -1,    92,    -1,    -1,
  7784. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
  7785. !      1,    -1,     3,     4,     5,     6,     7,     8,     9,    -1,
  7786. !     11,    12,    13,    -1,    15,    16,    17,    18,    19,    20,
  7787. !     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
  7788. !     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  7789. !     41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
  7790. !     51,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,    -1,
  7791. !     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
  7792. !     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  7793. !     81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,    90,
  7794. !     -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7795. !     -1,    -1,   103,   104,     1,    -1,     3,     4,     5,     6,
  7796. !      7,     8,     9,    -1,    11,    12,    13,    -1,    15,    16,
  7797. !     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
  7798. !     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
  7799. !     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
  7800. !     47,    48,    49,    50,    51,    -1,    53,    54,    -1,    56,
  7801. !     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
  7802. !     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
  7803. !     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
  7804. !     -1,    88,    -1,    90,     1,    92,     3,     4,     5,     6,
  7805. !      7,     8,     9,    -1,    11,    12,    13,   104,    15,    16,
  7806. !     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
  7807. !     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
  7808. !     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
  7809. !     47,    48,    49,    50,    51,    -1,    53,    54,    -1,    56,
  7810. !     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
  7811. !     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
  7812. !     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
  7813. !     -1,    88,    -1,    90,     1,    92,     3,     4,     5,     6,
  7814. !      7,     8,     9,    -1,    11,    12,    13,   104,    15,    16,
  7815. !     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
  7816. !     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
  7817. !     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
  7818. !     47,    48,    49,    50,    51,    -1,    53,    54,    -1,    56,
  7819. !     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
  7820. !     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
  7821. !     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
  7822. !     -1,    88,    -1,    90,     1,    92,     3,     4,     5,     6,
  7823. !      7,     8,     9,    10,    11,    12,    -1,   104,    -1,    -1,
  7824.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7825. !     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
  7826. !     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
  7827. !     47,    48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,
  7828. !     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
  7829. !     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
  7830. !     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
  7831. !     -1,    88,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,
  7832. !     -1,    -1,    -1,    -1,    -1,   102,     1,   104,     3,     4,
  7833. !     -1,     6,     7,     8,     9,    -1,    11,    12,    66,    67,
  7834. !     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
  7835. !     78,    79,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7836. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7837. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7838. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7839. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7840. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7841. !     -1,    -1,    -1,    88,    89,    -1,     1,    92,     3,     4,
  7842. !     -1,     6,     7,     8,     9,    -1,    11,    12,   103,   104,
  7843. !     -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,
  7844. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7845. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7846. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7847. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7848. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7849. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7850. !     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
  7851. !     -1,     6,     7,     8,     9,    -1,    11,    12,   103,   104,
  7852. !     -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,
  7853. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7854. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7855. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7856. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7857. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7858. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7859. !     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
  7860. !      5,     6,     7,     8,     9,    -1,    11,    12,   103,   104,
  7861.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7862. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7863. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7864. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7865. !     -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7866. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7867. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,     1,
  7868. !     -1,    -1,     4,    88,     6,     7,    -1,    92,    -1,    -1,
  7869. !     12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
  7870. !     -1,    -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,    31,
  7871. !     -1,    -1,    -1,    35,    -1,    37,    38,    -1,    -1,    -1,
  7872. !     -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,    51,
  7873. !     -1,    53,    -1,    55,    -1,    57,    58,    59,    -1,    61,
  7874. !     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
  7875. !     72,    73,    74,    75,    76,    77,    78,    -1,    -1,    81,
  7876. !     82,    83,    -1,     1,    86,     3,     4,    89,     6,     7,
  7877.        8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,
  7878. !     -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  7879.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  7880.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  7881.       48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
  7882.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  7883.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  7884.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  7885. !     88,    -1,    -1,     1,    92,     3,     4,    -1,     6,     7,
  7886. !      8,     9,    -1,    11,    12,    -1,   104,    -1,    -1,    -1,
  7887. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  7888.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  7889.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  7890.       48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
  7891. ***************
  7892. *** 2835,2854 ****
  7893.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  7894.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  7895.       88,    -1,    -1,     1,    92,     3,     4,    -1,     6,     7,
  7896. !      8,     9,    -1,    11,    12,   103,   104,    -1,    -1,    -1,
  7897. !     -1,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  7898.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  7899.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  7900.       48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
  7901.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  7902.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  7903.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  7904. !     88,    -1,    -1,     1,    92,     3,     4,     5,     6,     7,
  7905. !      8,     9,    -1,    11,    12,   103,   104,    -1,    -1,    -1,
  7906.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  7907.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  7908.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  7909. !     48,    49,    50,    51,    -1,    53,    54,    -1,    56,    -1,
  7910.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  7911.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  7912.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  7913. --- 2831,2850 ----
  7914.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  7915.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  7916.       88,    -1,    -1,     1,    92,     3,     4,    -1,     6,     7,
  7917. !      8,     9,    -1,    11,    12,    -1,   104,    -1,    -1,    -1,
  7918. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  7919.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  7920.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  7921.       48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
  7922.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  7923.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  7924.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  7925. !     88,    -1,    -1,     1,    92,     3,     4,    -1,     6,     7,
  7926. !      8,     9,    -1,    11,    12,    -1,   104,    -1,    -1,    -1,
  7927.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  7928.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  7929.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  7930. !     48,    49,    50,    51,    -1,    53,    -1,    -1,    56,    -1,
  7931.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  7932.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  7933.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  7934. ***************
  7935. *** 2857,3033 ****
  7936.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  7937.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  7938.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  7939. !     48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
  7940.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  7941.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  7942.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  7943. !     88,    89,     1,    -1,    92,     4,    -1,     6,     7,    -1,
  7944. !     -1,    -1,    -1,    12,    -1,    -1,   104,    -1,    -1,    -1,
  7945. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,
  7946. !     -1,    -1,    31,    -1,    -1,    -1,    35,    -1,    37,    38,
  7947. !     -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
  7948. !     -1,    -1,    51,    -1,    53,    -1,    55,    -1,    57,    58,
  7949. !     59,    -1,    61,    62,    63,    64,    65,    66,    67,    68,
  7950. !     69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
  7951. !     -1,    -1,    81,    82,    83,    -1,     1,    86,     3,     4,
  7952. !     89,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
  7953. !     -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,
  7954. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7955. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7956. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7957. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7958. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7959. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7960. !     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
  7961. !     -1,     6,     7,     8,     9,    -1,    11,    12,    -1,   104,
  7962. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7963. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7964. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7965. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7966. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7967. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7968. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7969. !     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
  7970. !     -1,     6,     7,     8,     9,    -1,    11,    12,    -1,   104,
  7971. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7972. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7973. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7974. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
  7975. !     -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    -1,
  7976. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7977. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7978. !     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
  7979. !     -1,     6,     7,     8,     9,    -1,    11,    12,    -1,   104,
  7980. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7981. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7982. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7983. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7984. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7985. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7986. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7987. !     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
  7988. !     -1,     6,     7,     8,     9,    -1,    11,    12,    -1,   104,
  7989. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7990. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  7991. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  7992. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
  7993. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  7994. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  7995. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  7996. !     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
  7997. !     -1,     6,     7,     8,     9,    -1,    11,    12,    -1,   104,
  7998. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  7999. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  8000. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  8001. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
  8002. !     -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  8003. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  8004. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  8005. !     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
  8006. !     -1,     6,     7,     8,     9,    -1,    11,    12,    -1,   104,
  8007. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8008. !     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  8009. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  8010. !     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
  8011. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  8012. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  8013. !     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  8014. !     -1,    -1,    -1,    88,    -1,    -1,    -1,    92,    -1,    -1,
  8015. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,     1,   104,
  8016. !      3,     4,    -1,     6,     7,     8,     9,    -1,    11,    12,
  8017. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8018. !     -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
  8019. !     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  8020. !     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
  8021. !     53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
  8022. !     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8023. !     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
  8024. !     83,    -1,    -1,    -1,    -1,    88,    -1,    -1,     1,    92,
  8025. !      3,     4,    -1,     6,     7,     8,     9,    -1,    11,    12,
  8026. !     -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8027. !     -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
  8028. !     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  8029. !     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
  8030. !     53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
  8031. !     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8032. !     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
  8033. !     83,    -1,    -1,    -1,    -1,    88,    -1,     3,     4,    92,
  8034. !      6,     7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,
  8035. !     -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8036.       -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  8037.       -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  8038.       46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
  8039. !     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  8040. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  8041. !     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  8042. !     -1,    -1,    88,    -1,    -1,    -1,    92,    -1,    -1,    -1,
  8043. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
  8044. !      3,     4,     5,     6,     7,     8,     9,    -1,    11,    12,
  8045. !     13,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
  8046. !     23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
  8047. !     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  8048. !     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
  8049. !     53,    54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,
  8050. !     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8051. !     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
  8052. !     83,    -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,
  8053. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8054. !    103,   104,     3,     4,     5,     6,     7,     8,     9,    -1,
  8055. !     11,    12,    13,    -1,    15,    16,    17,    18,    19,    20,
  8056. !     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
  8057. !     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  8058. !     41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
  8059. !     51,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,    -1,
  8060. !     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
  8061. !     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  8062. !     81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,    90,
  8063. !     -1,    92,     3,     4,     5,     6,     7,     8,     9,    -1,
  8064. !     11,    12,    13,   104,    15,    16,    17,    18,    19,    20,
  8065. !     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
  8066. !     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  8067. !     41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
  8068. !     51,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,    -1,
  8069. !     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
  8070. !     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  8071. !     81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,    90,
  8072. !     -1,    92,     3,     4,     5,     6,     7,     8,     9,    -1,
  8073. !     11,    12,    13,   104,    15,    16,    17,    18,    19,    20,
  8074. !     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
  8075. !     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  8076. !     41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
  8077. !     51,    -1,    53,    -1,    -1,    56,    -1,    -1,    -1,    -1,
  8078. !     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
  8079. !     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  8080. !     81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,    90,
  8081. !     -1,    92,     3,     4,     5,     6,     7,     8,     9,    10,
  8082. !     11,    12,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,
  8083. !     -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,
  8084. !     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  8085. !     41,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
  8086. !     51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8087. !     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
  8088. !     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  8089. !     81,    82,    83,    -1,    85,    -1,    -1,    88,    89,    -1,
  8090. !     -1,    92,    93,     3,     4,     5,     6,     7,     8,     9,
  8091. !     10,    11,    12,   104,    -1,    -1,    -1,    -1,    -1,    -1,
  8092. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  8093. !     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  8094. !     40,    41,    42,    43,    44,    -1,    46,    47,    48,    49,
  8095. !     50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  8096. !     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  8097. !     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  8098. !     -1,    81,    82,    83,    -1,    85,    -1,    -1,    88,    89,
  8099. !     -1,    -1,    92,    93,     3,     4,    -1,     6,     7,     8,
  8100. !      9,    -1,    11,    12,   104,    -1,    -1,    -1,    -1,    -1,
  8101.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
  8102.       29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
  8103. !     -1,    40,    41,    42,    43,    44,    -1,    46,    47,    48,
  8104.       49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
  8105.       -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
  8106.       -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
  8107. !     -1,    -1,    81,    82,    83,    -1,    85,    -1,    -1,    88,
  8108. !     89,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  8109. !     12,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,
  8110.       -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  8111.       -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  8112.       42,    43,    44,    -1,    46,    47,    48,    49,    50,    51,
  8113. --- 2853,2949 ----
  8114.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  8115.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  8116.       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  8117. !     48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,
  8118.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  8119.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  8120.       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  8121. !     88,    -1,    -1,    -1,    92,    -1,    -1,    -1,    -1,    -1,
  8122. !     -1,    -1,    -1,    -1,   102,     1,   104,     3,     4,    -1,
  8123. !      6,     7,     8,     9,    -1,    11,    12,    67,    68,    69,
  8124. !     70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
  8125.       -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  8126.       -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  8127.       46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
  8128. !     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  8129. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  8130. !     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  8131. !     -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,    -1,
  8132. !      6,     7,     8,     9,    -1,    11,    12,    -1,   104,    -1,
  8133. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8134. !     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  8135. !     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  8136. !     46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
  8137. !     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  8138. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  8139. !     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  8140. !     -1,    -1,    88,    -1,     3,     4,    92,     6,     7,     8,
  8141. !      9,    -1,    11,    12,    -1,    -1,    -1,    -1,   104,    -1,
  8142.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
  8143.       29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
  8144. !     -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
  8145.       49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
  8146.       -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
  8147.       -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
  8148. !     -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,
  8149. !     -1,    -1,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,
  8150. !     -1,    -1,    -1,    -1,    -1,   104,   105,     3,     4,     5,
  8151. !      6,     7,     8,     9,    -1,    11,    12,    13,    -1,    15,
  8152. !     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  8153. !     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  8154. !     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  8155. !     46,    47,    48,    49,    50,    51,    -1,    53,    54,    -1,
  8156. !     56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  8157. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  8158. !     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  8159. !     -1,    -1,    88,    -1,    90,    -1,    92,    -1,    -1,    -1,
  8160. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,     3,
  8161. !      4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
  8162. !     -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
  8163. !     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
  8164. !     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  8165. !     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  8166. !     54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  8167. !     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  8168. !     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  8169. !     -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,     3,
  8170. !      4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
  8171. !    104,    15,    16,    17,    18,    19,    20,    21,    22,    23,
  8172. !     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
  8173. !     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  8174. !     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  8175. !     54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  8176. !     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  8177. !     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  8178. !     -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,     3,
  8179. !      4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
  8180. !    104,    15,    16,    17,    18,    19,    20,    21,    22,    23,
  8181. !     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
  8182. !     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  8183. !     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  8184. !     -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  8185. !     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  8186. !     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  8187. !     -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,     3,
  8188. !      4,     5,     6,     7,     8,     9,    10,    11,    12,    -1,
  8189. !    104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8190. !     -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
  8191. !     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  8192. !     44,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  8193. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  8194. !     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  8195. !     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  8196. !     -1,    85,    -1,    -1,    88,    89,    -1,    -1,    92,    93,
  8197. !      3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
  8198. !    104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8199. !     -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
  8200. !     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  8201. !     43,    44,    -1,    46,    47,    48,    49,    50,    51,    -1,
  8202. !     53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
  8203. !     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8204. !     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
  8205. !     83,    -1,    85,    -1,    -1,    88,    89,    -1,    -1,    92,
  8206. !     93,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  8207. !     12,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8208.       -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  8209.       -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  8210.       42,    43,    44,    -1,    46,    47,    48,    49,    50,    51,
  8211. ***************
  8212. *** 3038,3064 ****
  8213.       -1,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
  8214.       -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8215.       -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  8216. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  8217.       -1,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
  8218.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  8219. !     65,    -1,    -1,    -1,    -1,    70,    -1,    -1,    73,    74,
  8220.       75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  8221. !     -1,    -1,    -1,    88,    -1,     3,     4,    92,     6,     7,
  8222.        8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,   104,
  8223.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  8224.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  8225. !     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  8226. !     48,    49,    50,    51,    -1,    53,    -1,    -1,    56,    -1,
  8227.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  8228.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  8229. !     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  8230. !     88,    -1,     3,     4,    92,     6,     7,     8,     9,    -1,
  8231.       11,    12,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,
  8232.       -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,
  8233.       31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  8234.       41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
  8235.       51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8236. !     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
  8237.       -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  8238.       81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,     3,
  8239.        4,    92,     6,     7,     8,     9,    -1,    11,    12,    -1,
  8240. --- 2954,2980 ----
  8241.       -1,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
  8242.       -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8243.       -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  8244. !     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
  8245.       -1,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
  8246.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  8247. !     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  8248.       75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  8249. !     85,    -1,    -1,    88,    89,     3,     4,    -1,     6,     7,
  8250.        8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,   104,
  8251.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  8252.       28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  8253. !     38,    -1,    40,    41,    42,    43,    44,    -1,    46,    47,
  8254. !     48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,
  8255.       -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  8256.       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  8257. !     -1,    -1,    -1,    81,    82,    83,    -1,    85,    -1,    -1,
  8258. !     88,    89,     3,     4,    -1,     6,     7,     8,     9,    -1,
  8259.       11,    12,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,
  8260.       -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,
  8261.       31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  8262.       41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
  8263.       51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8264. !     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    70,
  8265.       -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  8266.       81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,     3,
  8267.        4,    92,     6,     7,     8,     9,    -1,    11,    12,    -1,
  8268. ***************
  8269. *** 3066,3089 ****
  8270.       -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
  8271.       -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  8272.       -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  8273. !     54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  8274. !     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  8275. !     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  8276. !     -1,    -1,     3,     4,    88,     6,     7,     8,     9,    -1,
  8277. !     11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8278. !    104,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,
  8279. !     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  8280. !     41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
  8281. !     51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8282. !     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
  8283. !     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  8284. !     81,    82,    83,    -1,    -1,    -1,    -1,    88,    89,     3,
  8285. !      4,    -1,     6,     7,     8,     9,    -1,    11,    12,    -1,
  8286. !     -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,
  8287. !     -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
  8288. !     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  8289. !     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  8290. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  8291.       -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  8292.       74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  8293.       -1,    -1,    -1,    -1,    88,    -1,     3,     4,    92,     6,
  8294. --- 2982,2988 ----
  8295.       -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
  8296.       -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  8297.       -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  8298. !     -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  8299.       -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  8300.       74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  8301.       -1,    -1,    -1,    -1,    88,    -1,     3,     4,    92,     6,
  8302. ***************
  8303. *** 3100,3105 ****
  8304. --- 2999,3021 ----
  8305.       -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  8306.       30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  8307.       40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  8308. +     50,    51,    -1,    53,    54,    -1,    -1,    -1,    -1,    -1,
  8309. +     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  8310. +     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  8311. +     -1,    81,    82,    83,    -1,    -1,     3,     4,    88,     6,
  8312. +      7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,
  8313. +     -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,
  8314. +     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
  8315. +     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
  8316. +     47,    48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,
  8317. +     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
  8318. +     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
  8319. +     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
  8320. +     -1,    88,    89,     3,     4,    -1,     6,     7,     8,     9,
  8321. +     -1,    11,    12,    -1,    -1,    -1,    -1,   104,    -1,    -1,
  8322. +     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  8323. +     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  8324. +     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  8325.       50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  8326.       -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  8327.       -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  8328. ***************
  8329. *** 3129,3138 ****
  8330.       49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
  8331.       -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
  8332.       -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
  8333.       -1,    -1,    81,    82,    83,    -1,    -1,     3,     4,    88,
  8334.        6,     7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,
  8335.       -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,
  8336. !     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  8337.       -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  8338.       46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
  8339.       -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  8340. --- 3045,3088 ----
  8341.       49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
  8342.       -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
  8343.       -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
  8344. +     -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,
  8345. +     -1,     3,     4,    92,     6,     7,     8,     9,    -1,    11,
  8346. +     12,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,
  8347. +     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  8348. +     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  8349. +     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  8350. +     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8351. +     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  8352. +     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  8353. +     82,    83,    -1,    -1,    -1,    -1,    88,    -1,     3,     4,
  8354. +     92,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
  8355. +     -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8356. +     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  8357. +     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  8358. +     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
  8359. +     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  8360. +     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  8361. +     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  8362. +     -1,     3,     4,    88,     6,     7,     8,     9,    -1,    11,
  8363. +     12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
  8364. +     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  8365. +     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  8366. +     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  8367. +     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8368. +     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  8369. +     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  8370. +     82,    83,    -1,    -1,     3,     4,    88,     6,     7,     8,
  8371. +      9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  8372. +     -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    27,    28,
  8373. +     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
  8374. +     -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
  8375. +     49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
  8376. +     -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
  8377. +     -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
  8378.       -1,    -1,    81,    82,    83,    -1,    -1,     3,     4,    88,
  8379.        6,     7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,
  8380.       -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,
  8381. !     -1,    27,    28,    -1,    -1,    31,    -1,    33,    -1,    35,
  8382.       -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  8383.       46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
  8384.       -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  8385. ***************
  8386. *** 3143,3188 ****
  8387.       -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
  8388.       33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  8389.       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
  8390. !     53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
  8391. !     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8392. !     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
  8393. !     83,    -1,    -1,     3,     4,    88,     6,     7,     8,     9,
  8394. !     -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8395. !     -1,   104,    -1,    -1,    -1,    -1,    -1,    27,    28,    -1,
  8396. !     -1,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  8397. !     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  8398. !     50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  8399. !     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  8400. !     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  8401. !     -1,    81,    82,    83,    -1,    -1,     3,     4,    88,     6,
  8402. !      7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,
  8403. !     -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,
  8404. !     27,    28,    -1,    -1,    31,    -1,    33,    -1,    35,    -1,
  8405. !     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
  8406. !     47,    48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,
  8407. !     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
  8408. !     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
  8409. !     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
  8410. !     -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8411. !     -1,    -1,    55,    -1,    57,    58,    59,   104,    61,    62,
  8412. !     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
  8413. !     73,    74,    75,    76,    77,    78,    79,    57,    58,    59,
  8414. !     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
  8415.       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
  8416.       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
  8417.       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
  8418. !     77,    78,    79,    57,    58,    59,    -1,    61,    62,    63,
  8419.       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
  8420.       74,    75,    76,    77,    78,    79,    57,    58,    59,    -1,
  8421. !     61,    62,    63,    64,    65,    66,    67,    68,    69,    -1,
  8422.       71,    72,    73,    74,    75,    76,    77,    78,    79,    59,
  8423.       -1,    61,    62,    63,    64,    65,    66,    67,    68,    69,
  8424.       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
  8425. !     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
  8426. !     73,    74,    75,    76,    77,    78,    79
  8427.   };
  8428.   /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
  8429. ! #line 3 "/usr/local/lib/bison.simple"
  8430.   
  8431.   /* Skeleton output parser for bison,
  8432.      Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
  8433. --- 3093,3155 ----
  8434.       -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
  8435.       33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  8436.       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
  8437. !     53,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
  8438. !     -1,    12,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
  8439. !      6,     7,    -1,    -1,    -1,    -1,    12,    -1,    81,    82,
  8440. !     83,    -1,    -1,    -1,    35,    88,    -1,    -1,    -1,    92,
  8441. !     41,    27,    -1,    44,    -1,    31,    -1,    -1,    -1,    35,
  8442. !     51,   104,    53,    -1,    -1,    41,    -1,    -1,    -1,    -1,
  8443. !     -1,    -1,    -1,    -1,    65,    51,    -1,    53,    -1,    -1,
  8444. !     56,    -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    65,
  8445. !     -1,    -1,    83,    -1,    85,    -1,    -1,    88,    89,    75,
  8446. !     -1,     3,     4,     5,     6,     7,    -1,    83,    10,    -1,
  8447. !     12,    -1,    88,    -1,    -1,    -1,    -1,    -1,     3,     4,
  8448. !      5,     6,     7,    -1,    -1,    27,    -1,    12,    -1,    31,
  8449. !     -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    41,
  8450. !     -1,    -1,    27,    -1,    -1,    -1,    31,    -1,    -1,    51,
  8451. !     35,    53,    -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,
  8452. !     -1,    -1,    -1,    65,    -1,    -1,    51,    -1,    53,    -1,
  8453. !     -1,    -1,    -1,    75,    -1,    60,    -1,    -1,    -1,    -1,
  8454. !     65,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,
  8455. !     75,     3,     4,     5,     6,     7,    -1,    -1,    83,    -1,
  8456. !     12,    -1,    -1,    88,    -1,    -1,    -1,    -1,     3,     4,
  8457. !      5,     6,     7,    -1,    -1,    27,    -1,    12,    -1,    31,
  8458. !     -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    41,
  8459. !     -1,    -1,    27,    -1,    -1,    -1,    31,    -1,    -1,    51,
  8460. !     35,    53,    -1,    -1,    56,    -1,    41,    -1,    -1,    -1,
  8461. !     -1,    -1,     4,    65,     6,     7,    51,    -1,    53,    -1,
  8462. !     12,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,
  8463. !     65,    83,    -1,    -1,    -1,    27,    88,    -1,    -1,    31,
  8464. !     75,    -1,    -1,    35,    -1,    -1,    -1,    -1,    83,    -1,
  8465. !     -1,    -1,    44,    88,    -1,    -1,    -1,    -1,    -1,    51,
  8466. !     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  8467. !     57,    58,    59,    65,    61,    62,    63,    64,    65,    66,
  8468. !     67,    68,    69,    75,    71,    72,    73,    74,    75,    76,
  8469. !     77,    78,    79,    85,    -1,    -1,    88,    89,    57,    58,
  8470. !     59,    -1,    61,    62,    63,    64,    65,    66,    67,    68,
  8471. !     69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
  8472. !     79,    55,    32,    57,    58,    59,    -1,    61,    62,    63,
  8473. !     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
  8474. !     74,    75,    76,    77,    78,    79,   105,    57,    58,    59,
  8475. !     -1,    61,    62,    63,    64,    65,    66,    67,    68,    69,
  8476.       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
  8477.       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
  8478.       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
  8479. !     77,    78,    79,    57,    58,    59,    60,    61,    62,    63,
  8480.       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
  8481.       74,    75,    76,    77,    78,    79,    57,    58,    59,    -1,
  8482. !     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
  8483.       71,    72,    73,    74,    75,    76,    77,    78,    79,    59,
  8484.       -1,    61,    62,    63,    64,    65,    66,    67,    68,    69,
  8485.       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
  8486. !     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
  8487. !     72,    73,    74,    75,    76,    77,    78,    79,    64,    65,
  8488. !     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
  8489. !     76,    77,    78,    79,    65,    66,    67,    68,    69,    70,
  8490. !     71,    72,    73,    74,    75,    76,    77,    78,    79
  8491.   };
  8492.   /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
  8493. ! #line 3 "/gnu/lib/bison.simple"
  8494.   
  8495.   /* Skeleton output parser for bison,
  8496.      Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
  8497. ***************
  8498. *** 3363,3386 ****
  8499.   #endif
  8500.   #endif
  8501.   
  8502. ! #line 184 "/usr/local/lib/bison.simple"
  8503. ! /* The user can define YYPARSE_PARAM as the name of an argument to be passed
  8504. !    into yyparse.  The argument should have type void *.
  8505. !    It should actually point to an object.
  8506. !    Grammar actions can access the variable by casting it
  8507. !    to the proper pointer type.  */
  8508. ! #ifdef YYPARSE_PARAM
  8509. ! #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
  8510. ! #else
  8511. ! #define YYPARSE_PARAM
  8512. ! #define YYPARSE_PARAM_DECL
  8513. ! #endif
  8514.   int
  8515. ! yyparse(YYPARSE_PARAM)
  8516. !      YYPARSE_PARAM_DECL
  8517.   {
  8518.     register int yystate;
  8519.     register int yyn;
  8520. --- 3330,3338 ----
  8521.   #endif
  8522.   #endif
  8523.   
  8524. ! #line 184 "/gnu/lib/bison.simple"
  8525.   int
  8526. ! yyparse()
  8527.   {
  8528.     register int yystate;
  8529.     register int yyn;
  8530. ***************
  8531. *** 4767,4787 ****
  8532.   #line 1253 "parse.y"
  8533.   { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
  8534.       break;}
  8535. ! case 228:
  8536. ! #line 1255 "parse.y"
  8537. ! { yyval.ttype = yyvsp[-1].ttype; ;
  8538. !     break;}
  8539. ! case 231:
  8540. ! #line 1262 "parse.y"
  8541.   { push_nested_class (TREE_TYPE (OP0 (yyval.ttype)), 3);
  8542.             TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
  8543.       break;}
  8544. ! case 232:
  8545. ! #line 1265 "parse.y"
  8546. ! { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
  8547. !     break;}
  8548. ! case 233:
  8549. ! #line 1270 "parse.y"
  8550.   {
  8551.             if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
  8552.               yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
  8553. --- 4719,4731 ----
  8554.   #line 1253 "parse.y"
  8555.   { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
  8556.       break;}
  8557. ! case 230:
  8558. ! #line 1260 "parse.y"
  8559.   { push_nested_class (TREE_TYPE (OP0 (yyval.ttype)), 3);
  8560.             TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
  8561.       break;}
  8562. ! case 231:
  8563. ! #line 1266 "parse.y"
  8564.   {
  8565.             if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
  8566.               yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
  8567. ***************
  8568. *** 4801,4820 ****
  8569.               yyval.ttype = do_identifier (yyval.ttype);
  8570.           ;
  8571.       break;}
  8572. ! case 236:
  8573. ! #line 1291 "parse.y"
  8574.   { yyval.ttype = combine_strings (yyval.ttype); ;
  8575.       break;}
  8576. ! case 237:
  8577. ! #line 1293 "parse.y"
  8578.   { yyval.ttype = yyvsp[-1].ttype; ;
  8579.       break;}
  8580. ! case 238:
  8581. ! #line 1295 "parse.y"
  8582.   { yyval.ttype = error_mark_node; ;
  8583.       break;}
  8584. ! case 239:
  8585. ! #line 1297 "parse.y"
  8586.   { if (current_function_decl == 0)
  8587.               {
  8588.                 error ("braced-group within expression allowed only inside a function");
  8589. --- 4745,4764 ----
  8590.               yyval.ttype = do_identifier (yyval.ttype);
  8591.           ;
  8592.       break;}
  8593. ! case 234:
  8594. ! #line 1287 "parse.y"
  8595.   { yyval.ttype = combine_strings (yyval.ttype); ;
  8596.       break;}
  8597. ! case 235:
  8598. ! #line 1289 "parse.y"
  8599.   { yyval.ttype = yyvsp[-1].ttype; ;
  8600.       break;}
  8601. ! case 236:
  8602. ! #line 1291 "parse.y"
  8603.   { yyval.ttype = error_mark_node; ;
  8604.       break;}
  8605. ! case 237:
  8606. ! #line 1293 "parse.y"
  8607.   { if (current_function_decl == 0)
  8608.               {
  8609.                 error ("braced-group within expression allowed only inside a function");
  8610. ***************
  8611. *** 4823,4830 ****
  8612.             keep_next_level ();
  8613.             yyval.ttype = expand_start_stmt_expr (); ;
  8614.       break;}
  8615. ! case 240:
  8616. ! #line 1305 "parse.y"
  8617.   { tree rtl_exp;
  8618.             if (flag_ansi)
  8619.               pedwarn ("ANSI C++ forbids braced-groups within expressions");
  8620. --- 4767,4774 ----
  8621.             keep_next_level ();
  8622.             yyval.ttype = expand_start_stmt_expr (); ;
  8623.       break;}
  8624. ! case 238:
  8625. ! #line 1301 "parse.y"
  8626.   { tree rtl_exp;
  8627.             if (flag_ansi)
  8628.               pedwarn ("ANSI C++ forbids braced-groups within expressions");
  8629. ***************
  8630. *** 4846,4861 ****
  8631.               yyval.ttype = yyvsp[-1].ttype;
  8632.           ;
  8633.       break;}
  8634. ! case 241:
  8635. ! #line 1326 "parse.y"
  8636.   { /* [eichin:19911016.1902EST] */
  8637.                     yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
  8638.                     /* here we instantiate_class_template as needed... */
  8639.                     do_pending_templates ();
  8640.                   ;
  8641.       break;}
  8642. ! case 242:
  8643. ! #line 1330 "parse.y"
  8644.   {
  8645.                     if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
  8646.                         && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
  8647. --- 4790,4805 ----
  8648.               yyval.ttype = yyvsp[-1].ttype;
  8649.           ;
  8650.       break;}
  8651. ! case 239:
  8652. ! #line 1322 "parse.y"
  8653.   { /* [eichin:19911016.1902EST] */
  8654.                     yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
  8655.                     /* here we instantiate_class_template as needed... */
  8656.                     do_pending_templates ();
  8657.                   ;
  8658.       break;}
  8659. ! case 240:
  8660. ! #line 1326 "parse.y"
  8661.   {
  8662.                     if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
  8663.                         && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
  8664. ***************
  8665. *** 4864,4871 ****
  8666.                       yyval.ttype = yyvsp[-1].ttype;
  8667.                   ;
  8668.       break;}
  8669. ! case 243:
  8670. ! #line 1338 "parse.y"
  8671.   {
  8672.             yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
  8673.             if (TREE_CODE (yyval.ttype) == CALL_EXPR
  8674. --- 4808,4815 ----
  8675.                       yyval.ttype = yyvsp[-1].ttype;
  8676.                   ;
  8677.       break;}
  8678. ! case 241:
  8679. ! #line 1334 "parse.y"
  8680.   {
  8681.             yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
  8682.             if (TREE_CODE (yyval.ttype) == CALL_EXPR
  8683. ***************
  8684. *** 4873,4884 ****
  8685.               yyval.ttype = require_complete_type (yyval.ttype);
  8686.                   ;
  8687.       break;}
  8688. ! case 244:
  8689. ! #line 1345 "parse.y"
  8690.   { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
  8691.       break;}
  8692. ! case 245:
  8693. ! #line 1347 "parse.y"
  8694.   { /* If we get an OFFSET_REF, turn it into what it really
  8695.                means (e.g., a COMPONENT_REF).  This way if we've got,
  8696.                say, a reference to a static member that's being operated
  8697. --- 4817,4828 ----
  8698.               yyval.ttype = require_complete_type (yyval.ttype);
  8699.                   ;
  8700.       break;}
  8701. ! case 242:
  8702. ! #line 1341 "parse.y"
  8703.   { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
  8704.       break;}
  8705. ! case 243:
  8706. ! #line 1343 "parse.y"
  8707.   { /* If we get an OFFSET_REF, turn it into what it really
  8708.                means (e.g., a COMPONENT_REF).  This way if we've got,
  8709.                say, a reference to a static member that's being operated
  8710. ***************
  8711. *** 4888,4901 ****
  8712.               yyval.ttype = resolve_offset_ref (yyval.ttype);
  8713.             yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
  8714.       break;}
  8715. ! case 246:
  8716. ! #line 1356 "parse.y"
  8717.   { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
  8718.               yyval.ttype = resolve_offset_ref (yyval.ttype);
  8719.             yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
  8720.       break;}
  8721. ! case 247:
  8722. ! #line 1361 "parse.y"
  8723.   { if (current_class_decl)
  8724.               {
  8725.   #ifdef WARNING_ABOUT_CCD
  8726. --- 4832,4845 ----
  8727.               yyval.ttype = resolve_offset_ref (yyval.ttype);
  8728.             yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
  8729.       break;}
  8730. ! case 244:
  8731. ! #line 1352 "parse.y"
  8732.   { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
  8733.               yyval.ttype = resolve_offset_ref (yyval.ttype);
  8734.             yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
  8735.       break;}
  8736. ! case 245:
  8737. ! #line 1357 "parse.y"
  8738.   { if (current_class_decl)
  8739.               {
  8740.   #ifdef WARNING_ABOUT_CCD
  8741. ***************
  8742. *** 4919,4926 ****
  8743.               }
  8744.           ;
  8745.       break;}
  8746. ! case 248:
  8747. ! #line 1384 "parse.y"
  8748.   {
  8749.             tree type;
  8750.             tree id = yyval.ttype;
  8751. --- 4863,4870 ----
  8752.               }
  8753.           ;
  8754.       break;}
  8755. ! case 246:
  8756. ! #line 1380 "parse.y"
  8757.   {
  8758.             tree type;
  8759.             tree id = yyval.ttype;
  8760. ***************
  8761. *** 4965,5001 ****
  8762.               }
  8763.           ;
  8764.       break;}
  8765. ! case 250:
  8766. ! #line 1429 "parse.y"
  8767.   { tree type = groktypename (yyvsp[-4].ttype);
  8768.             yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
  8769.       break;}
  8770. ! case 251:
  8771. ! #line 1432 "parse.y"
  8772.   { tree type = groktypename (yyvsp[-4].ttype);
  8773.             yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
  8774.       break;}
  8775. ! case 252:
  8776. ! #line 1435 "parse.y"
  8777.   { tree type = groktypename (yyvsp[-4].ttype);
  8778.             yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
  8779.       break;}
  8780. ! case 253:
  8781. ! #line 1438 "parse.y"
  8782.   { tree type = groktypename (yyvsp[-4].ttype);
  8783.             yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
  8784.       break;}
  8785. ! case 254:
  8786. ! #line 1441 "parse.y"
  8787.   { yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
  8788.       break;}
  8789. ! case 255:
  8790. ! #line 1443 "parse.y"
  8791.   { tree type = groktypename (yyvsp[-1].ttype);
  8792.             yyval.ttype = get_typeid (type); ;
  8793.       break;}
  8794. ! case 256:
  8795. ! #line 1446 "parse.y"
  8796.   {
  8797.           do_scoped_id:
  8798.             yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
  8799. --- 4909,4945 ----
  8800.               }
  8801.           ;
  8802.       break;}
  8803. ! case 248:
  8804. ! #line 1425 "parse.y"
  8805.   { tree type = groktypename (yyvsp[-4].ttype);
  8806.             yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
  8807.       break;}
  8808. ! case 249:
  8809. ! #line 1428 "parse.y"
  8810.   { tree type = groktypename (yyvsp[-4].ttype);
  8811.             yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
  8812.       break;}
  8813. ! case 250:
  8814. ! #line 1431 "parse.y"
  8815.   { tree type = groktypename (yyvsp[-4].ttype);
  8816.             yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
  8817.       break;}
  8818. ! case 251:
  8819. ! #line 1434 "parse.y"
  8820.   { tree type = groktypename (yyvsp[-4].ttype);
  8821.             yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
  8822.       break;}
  8823. ! case 252:
  8824. ! #line 1437 "parse.y"
  8825.   { yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
  8826.       break;}
  8827. ! case 253:
  8828. ! #line 1439 "parse.y"
  8829.   { tree type = groktypename (yyvsp[-1].ttype);
  8830.             yyval.ttype = get_typeid (type); ;
  8831.       break;}
  8832. ! case 254:
  8833. ! #line 1442 "parse.y"
  8834.   {
  8835.           do_scoped_id:
  8836.             yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
  8837. ***************
  8838. *** 5035,5042 ****
  8839.   
  8840.           ;
  8841.       break;}
  8842. ! case 257:
  8843. ! #line 1485 "parse.y"
  8844.   {
  8845.             got_scope = NULL_TREE;
  8846.             if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
  8847. --- 4979,4986 ----
  8848.   
  8849.           ;
  8850.       break;}
  8851. ! case 255:
  8852. ! #line 1481 "parse.y"
  8853.   {
  8854.             got_scope = NULL_TREE;
  8855.             if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
  8856. ***************
  8857. *** 5044,5071 ****
  8858.             yyval.ttype = yyvsp[0].ttype;
  8859.           ;
  8860.       break;}
  8861.   case 258:
  8862.   #line 1492 "parse.y"
  8863. ! { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
  8864.       break;}
  8865.   case 259:
  8866.   #line 1494 "parse.y"
  8867. ! { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
  8868.       break;}
  8869.   case 260:
  8870.   #line 1496 "parse.y"
  8871. ! { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
  8872.       break;}
  8873.   case 261:
  8874.   #line 1498 "parse.y"
  8875. - { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
  8876. -     break;}
  8877. - case 262:
  8878. - #line 1500 "parse.y"
  8879. - { yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
  8880. -     break;}
  8881. - case 263:
  8882. - #line 1502 "parse.y"
  8883.   {
  8884.   #if 0
  8885.             /* This is a future direction of this code, but because
  8886. --- 4988,5015 ----
  8887.             yyval.ttype = yyvsp[0].ttype;
  8888.           ;
  8889.       break;}
  8890. + case 256:
  8891. + #line 1488 "parse.y"
  8892. + { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
  8893. +     break;}
  8894. + case 257:
  8895. + #line 1490 "parse.y"
  8896. + { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
  8897. +     break;}
  8898.   case 258:
  8899.   #line 1492 "parse.y"
  8900. ! { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
  8901.       break;}
  8902.   case 259:
  8903.   #line 1494 "parse.y"
  8904. ! { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
  8905.       break;}
  8906.   case 260:
  8907.   #line 1496 "parse.y"
  8908. ! { yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
  8909.       break;}
  8910.   case 261:
  8911.   #line 1498 "parse.y"
  8912.   {
  8913.   #if 0
  8914.             /* This is a future direction of this code, but because
  8915. ***************
  8916. *** 5081,5088 ****
  8917.   #endif
  8918.           ;
  8919.       break;}
  8920. ! case 264:
  8921. ! #line 1517 "parse.y"
  8922.   {
  8923.   #if 0
  8924.             /* This is a future direction of this code, but because
  8925. --- 5025,5032 ----
  8926.   #endif
  8927.           ;
  8928.       break;}
  8929. ! case 262:
  8930. ! #line 1513 "parse.y"
  8931.   {
  8932.   #if 0
  8933.             /* This is a future direction of this code, but because
  8934. ***************
  8935. *** 5098,5105 ****
  8936.   #endif
  8937.           ;
  8938.       break;}
  8939. ! case 265:
  8940. ! #line 1532 "parse.y"
  8941.   {
  8942.             if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-3].ttype))))
  8943.               {
  8944. --- 5042,5049 ----
  8945.   #endif
  8946.           ;
  8947.       break;}
  8948. ! case 263:
  8949. ! #line 1528 "parse.y"
  8950.   {
  8951.             if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-3].ttype))))
  8952.               {
  8953. ***************
  8954. *** 5111,5118 ****
  8955.               yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
  8956.           ;
  8957.       break;}
  8958. ! case 266:
  8959. ! #line 1543 "parse.y"
  8960.   {
  8961.             if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-1].ttype))))
  8962.               {
  8963. --- 5055,5062 ----
  8964.               yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
  8965.           ;
  8966.       break;}
  8967. ! case 264:
  8968. ! #line 1539 "parse.y"
  8969.   {
  8970.             if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-1].ttype))))
  8971.               {
  8972. ***************
  8973. *** 5124,5131 ****
  8974.               yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
  8975.           ;
  8976.       break;}
  8977. ! case 267:
  8978. ! #line 1555 "parse.y"
  8979.   { 
  8980.             if (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype)) 
  8981.                 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype))))
  8982. --- 5068,5075 ----
  8983.               yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
  8984.           ;
  8985.       break;}
  8986. ! case 265:
  8987. ! #line 1551 "parse.y"
  8988.   { 
  8989.             if (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype)) 
  8990.                 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype))))
  8991. ***************
  8992. *** 5133,5140 ****
  8993.             yyval.ttype = convert (void_type_node, yyvsp[-3].ttype);
  8994.           ;
  8995.       break;}
  8996. ! case 268:
  8997. ! #line 1562 "parse.y"
  8998.   { 
  8999.             if (yyvsp[-4].ttype != yyvsp[-1].ttype)
  9000.               cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
  9001. --- 5077,5084 ----
  9002.             yyval.ttype = convert (void_type_node, yyvsp[-3].ttype);
  9003.           ;
  9004.       break;}
  9005. ! case 266:
  9006. ! #line 1558 "parse.y"
  9007.   { 
  9008.             if (yyvsp[-4].ttype != yyvsp[-1].ttype)
  9009.               cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
  9010. ***************
  9011. *** 5144,5179 ****
  9012.             yyval.ttype = convert (void_type_node, yyvsp[-5].ttype);
  9013.           ;
  9014.       break;}
  9015. ! case 269:
  9016. ! #line 1611 "parse.y"
  9017.   { yyval.itype = 0; ;
  9018.       break;}
  9019. ! case 270:
  9020. ! #line 1613 "parse.y"
  9021.   { got_scope = NULL_TREE; yyval.itype = 1; ;
  9022.       break;}
  9023. ! case 271:
  9024. ! #line 1617 "parse.y"
  9025.   { yyval.itype = 0; ;
  9026.       break;}
  9027. ! case 272:
  9028. ! #line 1619 "parse.y"
  9029.   { got_scope = NULL_TREE; yyval.itype = 1; ;
  9030.       break;}
  9031. ! case 273:
  9032. ! #line 1624 "parse.y"
  9033.   { yyval.ttype = true_node; ;
  9034.       break;}
  9035. ! case 274:
  9036. ! #line 1626 "parse.y"
  9037.   { yyval.ttype = false_node; ;
  9038.       break;}
  9039. ! case 276:
  9040. ! #line 1633 "parse.y"
  9041.   { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  9042.       break;}
  9043. ! case 277:
  9044. ! #line 1638 "parse.y"
  9045.   {
  9046.             if (! current_function_parms_stored)
  9047.               store_parm_decls ();
  9048. --- 5088,5123 ----
  9049.             yyval.ttype = convert (void_type_node, yyvsp[-5].ttype);
  9050.           ;
  9051.       break;}
  9052. ! case 267:
  9053. ! #line 1607 "parse.y"
  9054.   { yyval.itype = 0; ;
  9055.       break;}
  9056. ! case 268:
  9057. ! #line 1609 "parse.y"
  9058.   { got_scope = NULL_TREE; yyval.itype = 1; ;
  9059.       break;}
  9060. ! case 269:
  9061. ! #line 1613 "parse.y"
  9062.   { yyval.itype = 0; ;
  9063.       break;}
  9064. ! case 270:
  9065. ! #line 1615 "parse.y"
  9066.   { got_scope = NULL_TREE; yyval.itype = 1; ;
  9067.       break;}
  9068. ! case 271:
  9069. ! #line 1620 "parse.y"
  9070.   { yyval.ttype = true_node; ;
  9071.       break;}
  9072. ! case 272:
  9073. ! #line 1622 "parse.y"
  9074.   { yyval.ttype = false_node; ;
  9075.       break;}
  9076. ! case 274:
  9077. ! #line 1629 "parse.y"
  9078.   { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  9079.       break;}
  9080. ! case 275:
  9081. ! #line 1634 "parse.y"
  9082.   {
  9083.             if (! current_function_parms_stored)
  9084.               store_parm_decls ();
  9085. ***************
  9086. *** 5184,5197 ****
  9087.             keep_next_level ();
  9088.           ;
  9089.       break;}
  9090. ! case 279:
  9091. ! #line 1651 "parse.y"
  9092.   {
  9093.             yyval.ttype = build_x_arrow (yyval.ttype);
  9094.           ;
  9095.       break;}
  9096. ! case 280:
  9097. ! #line 1659 "parse.y"
  9098.   { tree d = get_decl_list (yyvsp[-2].ttype);
  9099.             int yes = suspend_momentary ();
  9100.             d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
  9101. --- 5128,5141 ----
  9102.             keep_next_level ();
  9103.           ;
  9104.       break;}
  9105. ! case 277:
  9106. ! #line 1647 "parse.y"
  9107.   {
  9108.             yyval.ttype = build_x_arrow (yyval.ttype);
  9109.           ;
  9110.       break;}
  9111. ! case 278:
  9112. ! #line 1655 "parse.y"
  9113.   { tree d = get_decl_list (yyvsp[-2].ttype);
  9114.             int yes = suspend_momentary ();
  9115.             d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
  9116. ***************
  9117. *** 5201,5208 ****
  9118.               note_got_semicolon (yyvsp[-2].ttype);
  9119.           ;
  9120.       break;}
  9121. ! case 281:
  9122. ! #line 1668 "parse.y"
  9123.   { tree d = yyvsp[-2].ttype;
  9124.             int yes = suspend_momentary ();
  9125.             d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
  9126. --- 5145,5152 ----
  9127.               note_got_semicolon (yyvsp[-2].ttype);
  9128.           ;
  9129.       break;}
  9130. ! case 279:
  9131. ! #line 1664 "parse.y"
  9132.   { tree d = yyvsp[-2].ttype;
  9133.             int yes = suspend_momentary ();
  9134.             d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
  9135. ***************
  9136. *** 5211,5374 ****
  9137.             note_list_got_semicolon (yyvsp[-2].ttype);
  9138.           ;
  9139.       break;}
  9140. ! case 282:
  9141. ! #line 1676 "parse.y"
  9142.   {
  9143.             resume_momentary (yyvsp[-1].itype);
  9144.             if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
  9145.               note_got_semicolon (yyvsp[-2].ttype);
  9146.           ;
  9147.       break;}
  9148. ! case 283:
  9149. ! #line 1682 "parse.y"
  9150.   {
  9151.             resume_momentary (yyvsp[-1].itype);
  9152.             note_list_got_semicolon (yyvsp[-2].ttype);
  9153.           ;
  9154.       break;}
  9155. ! case 284:
  9156. ! #line 1687 "parse.y"
  9157.   { resume_momentary (yyvsp[-1].itype); ;
  9158.       break;}
  9159. ! case 285:
  9160. ! #line 1689 "parse.y"
  9161.   {
  9162.             shadow_tag (yyvsp[-1].ttype);
  9163.             note_list_got_semicolon (yyvsp[-1].ttype);
  9164.           ;
  9165.       break;}
  9166. ! case 286:
  9167. ! #line 1694 "parse.y"
  9168.   { warning ("empty declaration"); ;
  9169.       break;}
  9170. ! case 289:
  9171. ! #line 1708 "parse.y"
  9172.   { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (),
  9173.                        NULL_TREE); ;
  9174.       break;}
  9175. ! case 290:
  9176. ! #line 1711 "parse.y"
  9177.   { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), 
  9178.                        NULL_TREE); ;
  9179.       break;}
  9180.   case 291:
  9181.   #line 1718 "parse.y"
  9182. ! { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  9183.       break;}
  9184.   case 292:
  9185.   #line 1720 "parse.y"
  9186. ! { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  9187.       break;}
  9188.   case 293:
  9189.   #line 1722 "parse.y"
  9190. - { yyval.ttype = build_decl_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
  9191. -     break;}
  9192. - case 294:
  9193. - #line 1724 "parse.y"
  9194.   { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  9195.       break;}
  9196. ! case 295:
  9197. ! #line 1726 "parse.y"
  9198. ! { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  9199.       break;}
  9200.   case 298:
  9201.   #line 1739 "parse.y"
  9202. ! { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9203.       break;}
  9204.   case 299:
  9205.   #line 1741 "parse.y"
  9206. ! { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
  9207.       break;}
  9208.   case 300:
  9209.   #line 1743 "parse.y"
  9210. - { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  9211. -     break;}
  9212. - case 301:
  9213. - #line 1745 "parse.y"
  9214. - { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  9215. -     break;}
  9216. - case 302:
  9217. - #line 1747 "parse.y"
  9218.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-2].ttype, 
  9219.                          chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype))); ;
  9220.       break;}
  9221. ! case 303:
  9222. ! #line 1753 "parse.y"
  9223.   { if (extra_warnings)
  9224.               warning ("`%s' is not at beginning of declaration",
  9225.                    IDENTIFIER_POINTER (yyval.ttype));
  9226.             yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  9227.       break;}
  9228. ! case 304:
  9229. ! #line 1758 "parse.y"
  9230.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9231.       break;}
  9232. ! case 305:
  9233. ! #line 1760 "parse.y"
  9234.   { if (extra_warnings)
  9235.               warning ("`%s' is not at beginning of declaration",
  9236.                    IDENTIFIER_POINTER (yyvsp[0].ttype));
  9237.             yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9238.       break;}
  9239. ! case 306:
  9240. ! #line 1772 "parse.y"
  9241.   { TREE_STATIC (yyval.ttype) = 1; ;
  9242.       break;}
  9243. ! case 307:
  9244. ! #line 1774 "parse.y"
  9245.   { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
  9246.       break;}
  9247. ! case 308:
  9248. ! #line 1776 "parse.y"
  9249.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
  9250.             TREE_STATIC (yyval.ttype) = 1; ;
  9251.       break;}
  9252. ! case 309:
  9253. ! #line 1779 "parse.y"
  9254.   { if (extra_warnings && TREE_STATIC (yyval.ttype))
  9255.               warning ("`%s' is not at beginning of declaration",
  9256.                    IDENTIFIER_POINTER (yyvsp[0].ttype));
  9257.             yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
  9258.             TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
  9259.       break;}
  9260. ! case 310:
  9261. ! #line 1795 "parse.y"
  9262.   { yyval.ttype = get_decl_list (yyval.ttype); ;
  9263.       break;}
  9264. ! case 311:
  9265. ! #line 1797 "parse.y"
  9266.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9267.       break;}
  9268. ! case 312:
  9269. ! #line 1799 "parse.y"
  9270.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
  9271.       break;}
  9272. ! case 313:
  9273. ! #line 1801 "parse.y"
  9274.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  9275.       break;}
  9276. ! case 314:
  9277. ! #line 1806 "parse.y"
  9278.   { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  9279.       break;}
  9280. ! case 315:
  9281. ! #line 1808 "parse.y"
  9282.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9283.       break;}
  9284. ! case 319:
  9285. ! #line 1819 "parse.y"
  9286.   { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
  9287.             if (flag_ansi)
  9288.               pedwarn ("ANSI C++ forbids `typeof'"); ;
  9289.       break;}
  9290. ! case 320:
  9291. ! #line 1823 "parse.y"
  9292.   { yyval.ttype = groktypename (yyvsp[-1].ttype);
  9293.             if (flag_ansi)
  9294.               pedwarn ("ANSI C++ forbids `typeof'"); ;
  9295.       break;}
  9296. ! case 321:
  9297. ! #line 1827 "parse.y"
  9298.   { tree type = TREE_TYPE (yyvsp[-1].ttype);
  9299.   
  9300.             if (IS_AGGR_TYPE (type))
  9301. --- 5155,5318 ----
  9302.             note_list_got_semicolon (yyvsp[-2].ttype);
  9303.           ;
  9304.       break;}
  9305. ! case 280:
  9306. ! #line 1672 "parse.y"
  9307.   {
  9308.             resume_momentary (yyvsp[-1].itype);
  9309.             if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
  9310.               note_got_semicolon (yyvsp[-2].ttype);
  9311.           ;
  9312.       break;}
  9313. ! case 281:
  9314. ! #line 1678 "parse.y"
  9315.   {
  9316.             resume_momentary (yyvsp[-1].itype);
  9317.             note_list_got_semicolon (yyvsp[-2].ttype);
  9318.           ;
  9319.       break;}
  9320. ! case 282:
  9321. ! #line 1683 "parse.y"
  9322.   { resume_momentary (yyvsp[-1].itype); ;
  9323.       break;}
  9324. ! case 283:
  9325. ! #line 1685 "parse.y"
  9326.   {
  9327.             shadow_tag (yyvsp[-1].ttype);
  9328.             note_list_got_semicolon (yyvsp[-1].ttype);
  9329.           ;
  9330.       break;}
  9331. ! case 284:
  9332. ! #line 1690 "parse.y"
  9333.   { warning ("empty declaration"); ;
  9334.       break;}
  9335. ! case 287:
  9336. ! #line 1704 "parse.y"
  9337.   { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (),
  9338.                        NULL_TREE); ;
  9339.       break;}
  9340. ! case 288:
  9341. ! #line 1707 "parse.y"
  9342.   { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), 
  9343.                        NULL_TREE); ;
  9344.       break;}
  9345. + case 289:
  9346. + #line 1714 "parse.y"
  9347. + { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  9348. +     break;}
  9349. + case 290:
  9350. + #line 1716 "parse.y"
  9351. + { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  9352. +     break;}
  9353.   case 291:
  9354.   #line 1718 "parse.y"
  9355. ! { yyval.ttype = build_decl_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
  9356.       break;}
  9357.   case 292:
  9358.   #line 1720 "parse.y"
  9359. ! { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  9360.       break;}
  9361.   case 293:
  9362.   #line 1722 "parse.y"
  9363.   { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  9364.       break;}
  9365. ! case 296:
  9366. ! #line 1735 "parse.y"
  9367. ! { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9368. !     break;}
  9369. ! case 297:
  9370. ! #line 1737 "parse.y"
  9371. ! { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
  9372.       break;}
  9373.   case 298:
  9374.   #line 1739 "parse.y"
  9375. ! { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  9376.       break;}
  9377.   case 299:
  9378.   #line 1741 "parse.y"
  9379. ! { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  9380.       break;}
  9381.   case 300:
  9382.   #line 1743 "parse.y"
  9383.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-2].ttype, 
  9384.                          chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype))); ;
  9385.       break;}
  9386. ! case 301:
  9387. ! #line 1749 "parse.y"
  9388.   { if (extra_warnings)
  9389.               warning ("`%s' is not at beginning of declaration",
  9390.                    IDENTIFIER_POINTER (yyval.ttype));
  9391.             yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  9392.       break;}
  9393. ! case 302:
  9394. ! #line 1754 "parse.y"
  9395.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9396.       break;}
  9397. ! case 303:
  9398. ! #line 1756 "parse.y"
  9399.   { if (extra_warnings)
  9400.               warning ("`%s' is not at beginning of declaration",
  9401.                    IDENTIFIER_POINTER (yyvsp[0].ttype));
  9402.             yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9403.       break;}
  9404. ! case 304:
  9405. ! #line 1768 "parse.y"
  9406.   { TREE_STATIC (yyval.ttype) = 1; ;
  9407.       break;}
  9408. ! case 305:
  9409. ! #line 1770 "parse.y"
  9410.   { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
  9411.       break;}
  9412. ! case 306:
  9413. ! #line 1772 "parse.y"
  9414.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
  9415.             TREE_STATIC (yyval.ttype) = 1; ;
  9416.       break;}
  9417. ! case 307:
  9418. ! #line 1775 "parse.y"
  9419.   { if (extra_warnings && TREE_STATIC (yyval.ttype))
  9420.               warning ("`%s' is not at beginning of declaration",
  9421.                    IDENTIFIER_POINTER (yyvsp[0].ttype));
  9422.             yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
  9423.             TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
  9424.       break;}
  9425. ! case 308:
  9426. ! #line 1791 "parse.y"
  9427.   { yyval.ttype = get_decl_list (yyval.ttype); ;
  9428.       break;}
  9429. ! case 309:
  9430. ! #line 1793 "parse.y"
  9431.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9432.       break;}
  9433. ! case 310:
  9434. ! #line 1795 "parse.y"
  9435.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
  9436.       break;}
  9437. ! case 311:
  9438. ! #line 1797 "parse.y"
  9439.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  9440.       break;}
  9441. ! case 312:
  9442. ! #line 1802 "parse.y"
  9443.   { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  9444.       break;}
  9445. ! case 313:
  9446. ! #line 1804 "parse.y"
  9447.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9448.       break;}
  9449. ! case 317:
  9450. ! #line 1815 "parse.y"
  9451.   { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
  9452.             if (flag_ansi)
  9453.               pedwarn ("ANSI C++ forbids `typeof'"); ;
  9454.       break;}
  9455. ! case 318:
  9456. ! #line 1819 "parse.y"
  9457.   { yyval.ttype = groktypename (yyvsp[-1].ttype);
  9458.             if (flag_ansi)
  9459.               pedwarn ("ANSI C++ forbids `typeof'"); ;
  9460.       break;}
  9461. ! case 319:
  9462. ! #line 1823 "parse.y"
  9463.   { tree type = TREE_TYPE (yyvsp[-1].ttype);
  9464.   
  9465.             if (IS_AGGR_TYPE (type))
  9466. ***************
  9467. *** 5383,5390 ****
  9468.               }
  9469.           ;
  9470.       break;}
  9471. ! case 322:
  9472. ! #line 1841 "parse.y"
  9473.   { tree type = groktypename (yyvsp[-1].ttype);
  9474.   
  9475.             if (IS_AGGR_TYPE (type))
  9476. --- 5327,5334 ----
  9477.               }
  9478.           ;
  9479.       break;}
  9480. ! case 320:
  9481. ! #line 1837 "parse.y"
  9482.   { tree type = groktypename (yyvsp[-1].ttype);
  9483.   
  9484.             if (IS_AGGR_TYPE (type))
  9485. ***************
  9486. *** 5399,5414 ****
  9487.               }
  9488.           ;
  9489.       break;}
  9490. ! case 332:
  9491. ! #line 1880 "parse.y"
  9492.   { yyval.ttype = NULL_TREE; ;
  9493.       break;}
  9494. ! case 333:
  9495. ! #line 1882 "parse.y"
  9496.   { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
  9497.       break;}
  9498. ! case 334:
  9499. ! #line 1887 "parse.y"
  9500.   { current_declspecs = yyvsp[-5].ttype;
  9501.             if (TREE_CODE (current_declspecs) != TREE_LIST)
  9502.               current_declspecs = get_decl_list (current_declspecs);
  9503. --- 5343,5358 ----
  9504.               }
  9505.           ;
  9506.       break;}
  9507. ! case 330:
  9508. ! #line 1876 "parse.y"
  9509.   { yyval.ttype = NULL_TREE; ;
  9510.       break;}
  9511. ! case 331:
  9512. ! #line 1878 "parse.y"
  9513.   { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
  9514.       break;}
  9515. ! case 332:
  9516. ! #line 1883 "parse.y"
  9517.   { current_declspecs = yyvsp[-5].ttype;
  9518.             if (TREE_CODE (current_declspecs) != TREE_LIST)
  9519.               current_declspecs = get_decl_list (current_declspecs);
  9520. ***************
  9521. *** 5423,5435 ****
  9522.             yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  9523.             cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  9524.       break;}
  9525. ! case 335:
  9526. ! #line 1902 "parse.y"
  9527.   { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
  9528.             yyval.itype = yyvsp[-2].itype; ;
  9529.       break;}
  9530. ! case 336:
  9531. ! #line 1905 "parse.y"
  9532.   { tree d;
  9533.             current_declspecs = yyvsp[-4].ttype;
  9534.             if (TREE_CODE (current_declspecs) != TREE_LIST)
  9535. --- 5367,5379 ----
  9536.             yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  9537.             cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  9538.       break;}
  9539. ! case 333:
  9540. ! #line 1898 "parse.y"
  9541.   { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
  9542.             yyval.itype = yyvsp[-2].itype; ;
  9543.       break;}
  9544. ! case 334:
  9545. ! #line 1901 "parse.y"
  9546.   { tree d;
  9547.             current_declspecs = yyvsp[-4].ttype;
  9548.             if (TREE_CODE (current_declspecs) != TREE_LIST)
  9549. ***************
  9550. *** 5446,5480 ****
  9551.             cplus_decl_attributes (d, yyvsp[0].ttype);
  9552.             finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
  9553.       break;}
  9554. ! case 337:
  9555. ! #line 1924 "parse.y"
  9556.   { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  9557.             cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  9558.       break;}
  9559. ! case 338:
  9560. ! #line 1928 "parse.y"
  9561.   { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
  9562.       break;}
  9563. ! case 339:
  9564. ! #line 1930 "parse.y"
  9565.   { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  9566.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
  9567.             finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 0); ;
  9568.       break;}
  9569. ! case 340:
  9570. ! #line 1937 "parse.y"
  9571.   { current_declspecs = yyvsp[-5].ttype;
  9572.             yyvsp[0].itype = suspend_momentary ();
  9573.             yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  9574.             cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  9575.       break;}
  9576. ! case 341:
  9577. ! #line 1943 "parse.y"
  9578.   { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
  9579.             yyval.itype = yyvsp[-2].itype; ;
  9580.       break;}
  9581. ! case 342:
  9582. ! #line 1946 "parse.y"
  9583.   { tree d;
  9584.             current_declspecs = yyvsp[-4].ttype;
  9585.             yyval.itype = suspend_momentary ();
  9586. --- 5390,5424 ----
  9587.             cplus_decl_attributes (d, yyvsp[0].ttype);
  9588.             finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
  9589.       break;}
  9590. ! case 335:
  9591. ! #line 1920 "parse.y"
  9592.   { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  9593.             cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  9594.       break;}
  9595. ! case 336:
  9596. ! #line 1924 "parse.y"
  9597.   { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
  9598.       break;}
  9599. ! case 337:
  9600. ! #line 1926 "parse.y"
  9601.   { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  9602.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
  9603.             finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 0); ;
  9604.       break;}
  9605. ! case 338:
  9606. ! #line 1933 "parse.y"
  9607.   { current_declspecs = yyvsp[-5].ttype;
  9608.             yyvsp[0].itype = suspend_momentary ();
  9609.             yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  9610.             cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  9611.       break;}
  9612. ! case 339:
  9613. ! #line 1939 "parse.y"
  9614.   { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
  9615.             yyval.itype = yyvsp[-2].itype; ;
  9616.       break;}
  9617. ! case 340:
  9618. ! #line 1942 "parse.y"
  9619.   { tree d;
  9620.             current_declspecs = yyvsp[-4].ttype;
  9621.             yyval.itype = suspend_momentary ();
  9622. ***************
  9623. *** 5482,5501 ****
  9624.             cplus_decl_attributes (d, yyvsp[0].ttype);
  9625.             finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
  9626.       break;}
  9627. ! case 343:
  9628. ! #line 1956 "parse.y"
  9629.   { current_declspecs = NULL_TREE;
  9630.             yyvsp[0].itype = suspend_momentary ();
  9631.             yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  9632.             cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  9633.       break;}
  9634. ! case 344:
  9635. ! #line 1962 "parse.y"
  9636.   { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
  9637.             yyval.itype = yyvsp[-2].itype; ;
  9638.       break;}
  9639. ! case 345:
  9640. ! #line 1965 "parse.y"
  9641.   { tree d;
  9642.             current_declspecs = NULL_TREE;
  9643.             yyval.itype = suspend_momentary ();
  9644. --- 5426,5445 ----
  9645.             cplus_decl_attributes (d, yyvsp[0].ttype);
  9646.             finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
  9647.       break;}
  9648. ! case 341:
  9649. ! #line 1952 "parse.y"
  9650.   { current_declspecs = NULL_TREE;
  9651.             yyvsp[0].itype = suspend_momentary ();
  9652.             yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  9653.             cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  9654.       break;}
  9655. ! case 342:
  9656. ! #line 1958 "parse.y"
  9657.   { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
  9658.             yyval.itype = yyvsp[-2].itype; ;
  9659.       break;}
  9660. ! case 343:
  9661. ! #line 1961 "parse.y"
  9662.   { tree d;
  9663.             current_declspecs = NULL_TREE;
  9664.             yyval.itype = suspend_momentary ();
  9665. ***************
  9666. *** 5503,5649 ****
  9667.             cplus_decl_attributes (d, yyvsp[0].ttype);
  9668.             finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
  9669.       break;}
  9670. ! case 346:
  9671. ! #line 1977 "parse.y"
  9672.   { yyval.ttype = NULL_TREE; ;
  9673.       break;}
  9674. ! case 347:
  9675. ! #line 1979 "parse.y"
  9676.   { yyval.ttype = yyvsp[0].ttype; ;
  9677.       break;}
  9678. ! case 348:
  9679. ! #line 1984 "parse.y"
  9680.   { yyval.ttype = yyvsp[0].ttype; ;
  9681.       break;}
  9682. ! case 349:
  9683. ! #line 1986 "parse.y"
  9684.   { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  9685.       break;}
  9686. ! case 350:
  9687. ! #line 1991 "parse.y"
  9688.   { yyval.ttype = yyvsp[-2].ttype; ;
  9689.       break;}
  9690. ! case 351:
  9691. ! #line 1996 "parse.y"
  9692.   { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
  9693.       break;}
  9694. ! case 352:
  9695. ! #line 1998 "parse.y"
  9696.   { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  9697.       break;}
  9698. ! case 353:
  9699. ! #line 2003 "parse.y"
  9700.   { yyval.ttype = NULL_TREE; ;
  9701.       break;}
  9702. ! case 354:
  9703. ! #line 2005 "parse.y"
  9704.   { yyval.ttype = yyvsp[0].ttype; ;
  9705.       break;}
  9706. ! case 355:
  9707. ! #line 2007 "parse.y"
  9708.   { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
  9709.       break;}
  9710. ! case 356:
  9711. ! #line 2009 "parse.y"
  9712.   { yyval.ttype = tree_cons (yyvsp[-5].ttype, NULL_TREE, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
  9713.       break;}
  9714. ! case 357:
  9715. ! #line 2011 "parse.y"
  9716.   { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
  9717.       break;}
  9718. ! case 362:
  9719. ! #line 2027 "parse.y"
  9720.   { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
  9721.       break;}
  9722. ! case 363:
  9723. ! #line 2029 "parse.y"
  9724.   { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  9725.       break;}
  9726. ! case 365:
  9727. ! #line 2035 "parse.y"
  9728.   { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
  9729.             TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  9730.       break;}
  9731. ! case 366:
  9732. ! #line 2038 "parse.y"
  9733.   { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
  9734.             TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  9735.       break;}
  9736. ! case 367:
  9737. ! #line 2041 "parse.y"
  9738.   { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
  9739.             TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  9740.       break;}
  9741. ! case 368:
  9742. ! #line 2044 "parse.y"
  9743.   { yyval.ttype = NULL_TREE; ;
  9744.       break;}
  9745. ! case 369:
  9746. ! #line 2051 "parse.y"
  9747.   { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  9748.       break;}
  9749. ! case 370:
  9750. ! #line 2053 "parse.y"
  9751.   { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9752.       break;}
  9753. ! case 371:
  9754. ! #line 2056 "parse.y"
  9755.   { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
  9756.       break;}
  9757. ! case 372:
  9758. ! #line 2058 "parse.y"
  9759.   { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
  9760.       break;}
  9761. ! case 373:
  9762. ! #line 2060 "parse.y"
  9763.   { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  9764.       break;}
  9765. ! case 374:
  9766. ! #line 2062 "parse.y"
  9767.   { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
  9768.       break;}
  9769. ! case 375:
  9770. ! #line 2067 "parse.y"
  9771.   { yyvsp[0].itype = suspend_momentary ();
  9772.             yyval.ttype = start_enum (yyvsp[-1].ttype); ;
  9773.       break;}
  9774. ! case 376:
  9775. ! #line 2070 "parse.y"
  9776.   { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
  9777.             resume_momentary ((int) yyvsp[-4].itype);
  9778.             check_for_missing_semicolon (yyvsp[-3].ttype); ;
  9779.       break;}
  9780. ! case 377:
  9781. ! #line 2074 "parse.y"
  9782.   { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
  9783.             check_for_missing_semicolon (yyval.ttype); ;
  9784.       break;}
  9785. ! case 378:
  9786. ! #line 2077 "parse.y"
  9787.   { yyvsp[0].itype = suspend_momentary ();
  9788.             yyval.ttype = start_enum (make_anon_name ()); ;
  9789.       break;}
  9790. ! case 379:
  9791. ! #line 2080 "parse.y"
  9792.   { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
  9793.             resume_momentary ((int) yyvsp[-5].itype);
  9794.             check_for_missing_semicolon (yyvsp[-3].ttype); ;
  9795.       break;}
  9796. ! case 380:
  9797. ! #line 2084 "parse.y"
  9798.   { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
  9799.             check_for_missing_semicolon (yyval.ttype); ;
  9800.       break;}
  9801. ! case 381:
  9802. ! #line 2087 "parse.y"
  9803.   { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
  9804.       break;}
  9805. ! case 382:
  9806. ! #line 2089 "parse.y"
  9807.   { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
  9808.       break;}
  9809. ! case 383:
  9810. ! #line 2093 "parse.y"
  9811.   {
  9812.             int semi;
  9813.             tree id;
  9814. --- 5447,5593 ----
  9815.             cplus_decl_attributes (d, yyvsp[0].ttype);
  9816.             finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
  9817.       break;}
  9818. ! case 344:
  9819. ! #line 1973 "parse.y"
  9820.   { yyval.ttype = NULL_TREE; ;
  9821.       break;}
  9822. ! case 345:
  9823. ! #line 1975 "parse.y"
  9824.   { yyval.ttype = yyvsp[0].ttype; ;
  9825.       break;}
  9826. ! case 346:
  9827. ! #line 1980 "parse.y"
  9828.   { yyval.ttype = yyvsp[0].ttype; ;
  9829.       break;}
  9830. ! case 347:
  9831. ! #line 1982 "parse.y"
  9832.   { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  9833.       break;}
  9834. ! case 348:
  9835. ! #line 1987 "parse.y"
  9836.   { yyval.ttype = yyvsp[-2].ttype; ;
  9837.       break;}
  9838. ! case 349:
  9839. ! #line 1992 "parse.y"
  9840.   { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
  9841.       break;}
  9842. ! case 350:
  9843. ! #line 1994 "parse.y"
  9844.   { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  9845.       break;}
  9846. ! case 351:
  9847. ! #line 1999 "parse.y"
  9848.   { yyval.ttype = NULL_TREE; ;
  9849.       break;}
  9850. ! case 352:
  9851. ! #line 2001 "parse.y"
  9852.   { yyval.ttype = yyvsp[0].ttype; ;
  9853.       break;}
  9854. ! case 353:
  9855. ! #line 2003 "parse.y"
  9856.   { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
  9857.       break;}
  9858. ! case 354:
  9859. ! #line 2005 "parse.y"
  9860.   { yyval.ttype = tree_cons (yyvsp[-5].ttype, NULL_TREE, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
  9861.       break;}
  9862. ! case 355:
  9863. ! #line 2007 "parse.y"
  9864.   { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
  9865.       break;}
  9866. ! case 360:
  9867. ! #line 2023 "parse.y"
  9868.   { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
  9869.       break;}
  9870. ! case 361:
  9871. ! #line 2025 "parse.y"
  9872.   { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  9873.       break;}
  9874. ! case 363:
  9875. ! #line 2031 "parse.y"
  9876.   { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
  9877.             TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  9878.       break;}
  9879. ! case 364:
  9880. ! #line 2034 "parse.y"
  9881.   { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
  9882.             TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  9883.       break;}
  9884. ! case 365:
  9885. ! #line 2037 "parse.y"
  9886.   { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
  9887.             TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  9888.       break;}
  9889. ! case 366:
  9890. ! #line 2040 "parse.y"
  9891.   { yyval.ttype = NULL_TREE; ;
  9892.       break;}
  9893. ! case 367:
  9894. ! #line 2047 "parse.y"
  9895.   { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  9896.       break;}
  9897. ! case 368:
  9898. ! #line 2049 "parse.y"
  9899.   { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  9900.       break;}
  9901. ! case 369:
  9902. ! #line 2052 "parse.y"
  9903.   { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
  9904.       break;}
  9905. ! case 370:
  9906. ! #line 2054 "parse.y"
  9907.   { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
  9908.       break;}
  9909. ! case 371:
  9910. ! #line 2056 "parse.y"
  9911.   { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  9912.       break;}
  9913. ! case 372:
  9914. ! #line 2058 "parse.y"
  9915.   { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
  9916.       break;}
  9917. ! case 373:
  9918. ! #line 2063 "parse.y"
  9919.   { yyvsp[0].itype = suspend_momentary ();
  9920.             yyval.ttype = start_enum (yyvsp[-1].ttype); ;
  9921.       break;}
  9922. ! case 374:
  9923. ! #line 2066 "parse.y"
  9924.   { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
  9925.             resume_momentary ((int) yyvsp[-4].itype);
  9926.             check_for_missing_semicolon (yyvsp[-3].ttype); ;
  9927.       break;}
  9928. ! case 375:
  9929. ! #line 2070 "parse.y"
  9930.   { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
  9931.             check_for_missing_semicolon (yyval.ttype); ;
  9932.       break;}
  9933. ! case 376:
  9934. ! #line 2073 "parse.y"
  9935.   { yyvsp[0].itype = suspend_momentary ();
  9936.             yyval.ttype = start_enum (make_anon_name ()); ;
  9937.       break;}
  9938. ! case 377:
  9939. ! #line 2076 "parse.y"
  9940.   { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
  9941.             resume_momentary ((int) yyvsp[-5].itype);
  9942.             check_for_missing_semicolon (yyvsp[-3].ttype); ;
  9943.       break;}
  9944. ! case 378:
  9945. ! #line 2080 "parse.y"
  9946.   { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
  9947.             check_for_missing_semicolon (yyval.ttype); ;
  9948.       break;}
  9949. ! case 379:
  9950. ! #line 2083 "parse.y"
  9951.   { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
  9952.       break;}
  9953. ! case 380:
  9954. ! #line 2085 "parse.y"
  9955.   { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
  9956.       break;}
  9957. ! case 381:
  9958. ! #line 2089 "parse.y"
  9959.   {
  9960.             int semi;
  9961.             tree id;
  9962. ***************
  9963. *** 5695,5702 ****
  9964.             if (! semi)
  9965.               check_for_missing_semicolon (yyval.ttype); ;
  9966.       break;}
  9967. ! case 384:
  9968. ! #line 2144 "parse.y"
  9969.   {
  9970.   #if 0
  9971.     /* It's no longer clear what the following error is supposed to
  9972. --- 5639,5646 ----
  9973.             if (! semi)
  9974.               check_for_missing_semicolon (yyval.ttype); ;
  9975.       break;}
  9976. ! case 382:
  9977. ! #line 2140 "parse.y"
  9978.   {
  9979.   #if 0
  9980.     /* It's no longer clear what the following error is supposed to
  9981. ***************
  9982. *** 5710,5781 ****
  9983.   #endif
  9984.           ;
  9985.       break;}
  9986. ! case 388:
  9987. ! #line 2166 "parse.y"
  9988.   { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
  9989.       break;}
  9990. ! case 390:
  9991. ! #line 2171 "parse.y"
  9992.   { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  9993.       break;}
  9994. ! case 391:
  9995. ! #line 2173 "parse.y"
  9996.   { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  9997.       break;}
  9998. ! case 392:
  9999. ! #line 2175 "parse.y"
  10000.   { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  10001.       break;}
  10002. ! case 393:
  10003. ! #line 2177 "parse.y"
  10004.   { error ("no body nor ';' separates two class, struct or union declarations"); ;
  10005.       break;}
  10006. ! case 394:
  10007. ! #line 2182 "parse.y"
  10008.   { 
  10009.             yyungetc (';', 1); current_aggr = yyval.ttype; yyval.ttype = yyvsp[-1].ttype; 
  10010.             if (yyvsp[-3].ttype == ridpointers[(int) RID_TEMPLATE])
  10011.               instantiate_class_template (yyval.ttype, 2);
  10012.           ;
  10013.       break;}
  10014. ! case 395:
  10015. ! #line 2191 "parse.y"
  10016.   { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10017.       break;}
  10018. ! case 396:
  10019. ! #line 2193 "parse.y"
  10020.   { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10021.       break;}
  10022. ! case 397:
  10023. ! #line 2195 "parse.y"
  10024.   { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10025.       break;}
  10026. ! case 398:
  10027. ! #line 2197 "parse.y"
  10028.   { yyungetc ('{', 1);
  10029.           aggr2:
  10030.             current_aggr = yyval.ttype;
  10031.             yyval.ttype = yyvsp[-1].ttype;
  10032.             overload_template_name (yyval.ttype, 0); ;
  10033.       break;}
  10034. ! case 399:
  10035. ! #line 2203 "parse.y"
  10036.   { yyungetc (':', 1); goto aggr2; ;
  10037.       break;}
  10038. ! case 401:
  10039. ! #line 2209 "parse.y"
  10040.   { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10041.       break;}
  10042. ! case 402:
  10043. ! #line 2213 "parse.y"
  10044.   { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
  10045.       break;}
  10046. ! case 403:
  10047. ! #line 2216 "parse.y"
  10048.   { yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE); ;
  10049.       break;}
  10050. ! case 404:
  10051. ! #line 2221 "parse.y"
  10052.   {
  10053.             if (yyvsp[0].ttype)
  10054.               yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype, 1);
  10055. --- 5654,5725 ----
  10056.   #endif
  10057.           ;
  10058.       break;}
  10059. ! case 386:
  10060. ! #line 2162 "parse.y"
  10061.   { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
  10062.       break;}
  10063. ! case 388:
  10064. ! #line 2167 "parse.y"
  10065.   { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  10066.       break;}
  10067. ! case 389:
  10068. ! #line 2169 "parse.y"
  10069.   { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  10070.       break;}
  10071. ! case 390:
  10072. ! #line 2171 "parse.y"
  10073.   { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  10074.       break;}
  10075. ! case 391:
  10076. ! #line 2173 "parse.y"
  10077.   { error ("no body nor ';' separates two class, struct or union declarations"); ;
  10078.       break;}
  10079. ! case 392:
  10080. ! #line 2178 "parse.y"
  10081.   { 
  10082.             yyungetc (';', 1); current_aggr = yyval.ttype; yyval.ttype = yyvsp[-1].ttype; 
  10083.             if (yyvsp[-3].ttype == ridpointers[(int) RID_TEMPLATE])
  10084.               instantiate_class_template (yyval.ttype, 2);
  10085.           ;
  10086.       break;}
  10087. ! case 393:
  10088. ! #line 2187 "parse.y"
  10089.   { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10090.       break;}
  10091. ! case 394:
  10092. ! #line 2189 "parse.y"
  10093.   { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10094.       break;}
  10095. ! case 395:
  10096. ! #line 2191 "parse.y"
  10097.   { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10098.       break;}
  10099. ! case 396:
  10100. ! #line 2193 "parse.y"
  10101.   { yyungetc ('{', 1);
  10102.           aggr2:
  10103.             current_aggr = yyval.ttype;
  10104.             yyval.ttype = yyvsp[-1].ttype;
  10105.             overload_template_name (yyval.ttype, 0); ;
  10106.       break;}
  10107. ! case 397:
  10108. ! #line 2199 "parse.y"
  10109.   { yyungetc (':', 1); goto aggr2; ;
  10110.       break;}
  10111. ! case 399:
  10112. ! #line 2205 "parse.y"
  10113.   { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10114.       break;}
  10115. ! case 400:
  10116. ! #line 2209 "parse.y"
  10117.   { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
  10118.       break;}
  10119. ! case 401:
  10120. ! #line 2212 "parse.y"
  10121.   { yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE); ;
  10122.       break;}
  10123. ! case 402:
  10124. ! #line 2217 "parse.y"
  10125.   {
  10126.             if (yyvsp[0].ttype)
  10127.               yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype, 1);
  10128. ***************
  10129. *** 5783,5790 ****
  10130.               yyval.ttype = yyvsp[-1].ttype;
  10131.           ;
  10132.       break;}
  10133. ! case 405:
  10134. ! #line 2230 "parse.y"
  10135.   {
  10136.             if (yyvsp[0].ttype)
  10137.               yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
  10138. --- 5727,5734 ----
  10139.               yyval.ttype = yyvsp[-1].ttype;
  10140.           ;
  10141.       break;}
  10142. ! case 403:
  10143. ! #line 2226 "parse.y"
  10144.   {
  10145.             if (yyvsp[0].ttype)
  10146.               yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
  10147. ***************
  10148. *** 5792,5820 ****
  10149.               yyval.ttype = yyvsp[-1].ttype;
  10150.           ;
  10151.       break;}
  10152. ! case 406:
  10153. ! #line 2239 "parse.y"
  10154.   { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
  10155.             yyungetc ('{', 1); ;
  10156.       break;}
  10157. ! case 409:
  10158. ! #line 2247 "parse.y"
  10159.   { yyval.ttype = NULL_TREE; ;
  10160.       break;}
  10161. ! case 410:
  10162. ! #line 2249 "parse.y"
  10163.   { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
  10164.       break;}
  10165. ! case 411:
  10166. ! #line 2251 "parse.y"
  10167.   { yyval.ttype = yyvsp[0].ttype; ;
  10168.       break;}
  10169. ! case 413:
  10170. ! #line 2257 "parse.y"
  10171.   { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  10172.       break;}
  10173. ! case 414:
  10174. ! #line 2262 "parse.y"
  10175.   {
  10176.             tree type;
  10177.            do_base_class1:
  10178. --- 5736,5764 ----
  10179.               yyval.ttype = yyvsp[-1].ttype;
  10180.           ;
  10181.       break;}
  10182. ! case 404:
  10183. ! #line 2235 "parse.y"
  10184.   { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
  10185.             yyungetc ('{', 1); ;
  10186.       break;}
  10187. ! case 407:
  10188. ! #line 2243 "parse.y"
  10189.   { yyval.ttype = NULL_TREE; ;
  10190.       break;}
  10191. ! case 408:
  10192. ! #line 2245 "parse.y"
  10193.   { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
  10194.       break;}
  10195. ! case 409:
  10196. ! #line 2247 "parse.y"
  10197.   { yyval.ttype = yyvsp[0].ttype; ;
  10198.       break;}
  10199. ! case 411:
  10200. ! #line 2253 "parse.y"
  10201.   { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  10202.       break;}
  10203. ! case 412:
  10204. ! #line 2258 "parse.y"
  10205.   {
  10206.             tree type;
  10207.            do_base_class1:
  10208. ***************
  10209. *** 5842,5849 ****
  10210.               yyval.ttype = build_tree_list ((tree)access_default, yyval.ttype);
  10211.           ;
  10212.       break;}
  10213. ! case 415:
  10214. ! #line 2289 "parse.y"
  10215.   {
  10216.             tree type;
  10217.            do_base_class2:
  10218. --- 5786,5793 ----
  10219.               yyval.ttype = build_tree_list ((tree)access_default, yyval.ttype);
  10220.           ;
  10221.       break;}
  10222. ! case 413:
  10223. ! #line 2285 "parse.y"
  10224.   {
  10225.             tree type;
  10226.            do_base_class2:
  10227. ***************
  10228. *** 5873,5880 ****
  10229.               yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype);
  10230.           ;
  10231.       break;}
  10232. ! case 417:
  10233. ! #line 2322 "parse.y"
  10234.   {
  10235.             if (current_aggr == signature_type_node)
  10236.               {
  10237. --- 5817,5824 ----
  10238.               yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype);
  10239.           ;
  10240.       break;}
  10241. ! case 415:
  10242. ! #line 2318 "parse.y"
  10243.   {
  10244.             if (current_aggr == signature_type_node)
  10245.               {
  10246. ***************
  10247. *** 5897,5904 ****
  10248.               }
  10249.           ;
  10250.       break;}
  10251. ! case 418:
  10252. ! #line 2344 "parse.y"
  10253.   {
  10254.             if (current_aggr == signature_type_node)
  10255.               {
  10256. --- 5841,5848 ----
  10257.               }
  10258.           ;
  10259.       break;}
  10260. ! case 416:
  10261. ! #line 2340 "parse.y"
  10262.   {
  10263.             if (current_aggr == signature_type_node)
  10264.               {
  10265. ***************
  10266. *** 5921,5934 ****
  10267.               }
  10268.           ;
  10269.       break;}
  10270. ! case 420:
  10271. ! #line 2370 "parse.y"
  10272.   { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
  10273.               sorry ("non-virtual access");
  10274.             yyval.itype = access_default_virtual; ;
  10275.       break;}
  10276. ! case 421:
  10277. ! #line 2374 "parse.y"
  10278.   { int err = 0;
  10279.             if (yyvsp[0].itype == access_protected)
  10280.               {
  10281. --- 5865,5878 ----
  10282.               }
  10283.           ;
  10284.       break;}
  10285. ! case 418:
  10286. ! #line 2366 "parse.y"
  10287.   { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
  10288.               sorry ("non-virtual access");
  10289.             yyval.itype = access_default_virtual; ;
  10290.       break;}
  10291. ! case 419:
  10292. ! #line 2370 "parse.y"
  10293.   { int err = 0;
  10294.             if (yyvsp[0].itype == access_protected)
  10295.               {
  10296. ***************
  10297. *** 5955,5962 ****
  10298.               }
  10299.           ;
  10300.       break;}
  10301. ! case 422:
  10302. ! #line 2400 "parse.y"
  10303.   { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
  10304.               sorry ("non-virtual access");
  10305.             if (yyval.itype == access_public)
  10306. --- 5899,5906 ----
  10307.               }
  10308.           ;
  10309.       break;}
  10310. ! case 420:
  10311. ! #line 2396 "parse.y"
  10312.   { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
  10313.               sorry ("non-virtual access");
  10314.             if (yyval.itype == access_public)
  10315. ***************
  10316. *** 5964,5971 ****
  10317.             else if (yyval.itype == access_private)
  10318.               yyval.itype = access_private_virtual; ;
  10319.       break;}
  10320. ! case 423:
  10321. ! #line 2409 "parse.y"
  10322.   { tree t = yyvsp[-1].ttype;
  10323.             push_obstacks_nochange ();
  10324.             end_temporary_allocation ();
  10325. --- 5908,5915 ----
  10326.             else if (yyval.itype == access_private)
  10327.               yyval.itype = access_private_virtual; ;
  10328.       break;}
  10329. ! case 421:
  10330. ! #line 2405 "parse.y"
  10331.   { tree t = yyvsp[-1].ttype;
  10332.             push_obstacks_nochange ();
  10333.             end_temporary_allocation ();
  10334. ***************
  10335. *** 6026,6037 ****
  10336.   #endif
  10337.           ;
  10338.       break;}
  10339. ! case 424:
  10340. ! #line 2472 "parse.y"
  10341.   { yyval.ttype = NULL_TREE; ;
  10342.       break;}
  10343. ! case 425:
  10344. ! #line 2474 "parse.y"
  10345.   {
  10346.             if (current_aggr == signature_type_node)
  10347.               yyval.ttype = build_tree_list ((tree) access_public, yyval.ttype);
  10348. --- 5970,5981 ----
  10349.   #endif
  10350.           ;
  10351.       break;}
  10352. ! case 422:
  10353. ! #line 2468 "parse.y"
  10354.   { yyval.ttype = NULL_TREE; ;
  10355.       break;}
  10356. ! case 423:
  10357. ! #line 2470 "parse.y"
  10358.   {
  10359.             if (current_aggr == signature_type_node)
  10360.               yyval.ttype = build_tree_list ((tree) access_public, yyval.ttype);
  10361. ***************
  10362. *** 6039,6046 ****
  10363.               yyval.ttype = build_tree_list ((tree) access_default, yyval.ttype);
  10364.           ;
  10365.       break;}
  10366. ! case 426:
  10367. ! #line 2481 "parse.y"
  10368.   {
  10369.             tree visspec = (tree) yyvsp[-2].itype;
  10370.   
  10371. --- 5983,5990 ----
  10372.               yyval.ttype = build_tree_list ((tree) access_default, yyval.ttype);
  10373.           ;
  10374.       break;}
  10375. ! case 424:
  10376. ! #line 2477 "parse.y"
  10377.   {
  10378.             tree visspec = (tree) yyvsp[-2].itype;
  10379.   
  10380. ***************
  10381. *** 6052,6071 ****
  10382.             yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
  10383.           ;
  10384.       break;}
  10385. ! case 427:
  10386. ! #line 2492 "parse.y"
  10387.   {
  10388.             if (current_aggr == signature_type_node)
  10389.               error ("access specifier not allowed in signature");
  10390.           ;
  10391.       break;}
  10392. ! case 428:
  10393. ! #line 2502 "parse.y"
  10394.   { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; 
  10395.           ;
  10396.       break;}
  10397. ! case 429:
  10398. ! #line 2505 "parse.y"
  10399.   { /* In pushdecl, we created a reverse list of names
  10400.                in this binding level.  Make sure that the chain
  10401.                of what we're trying to add isn't the item itself
  10402. --- 5996,6015 ----
  10403.             yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
  10404.           ;
  10405.       break;}
  10406. ! case 425:
  10407. ! #line 2488 "parse.y"
  10408.   {
  10409.             if (current_aggr == signature_type_node)
  10410.               error ("access specifier not allowed in signature");
  10411.           ;
  10412.       break;}
  10413. ! case 426:
  10414. ! #line 2498 "parse.y"
  10415.   { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; 
  10416.           ;
  10417.       break;}
  10418. ! case 427:
  10419. ! #line 2501 "parse.y"
  10420.   { /* In pushdecl, we created a reverse list of names
  10421.                in this binding level.  Make sure that the chain
  10422.                of what we're trying to add isn't the item itself
  10423. ***************
  10424. *** 6079,6142 ****
  10425.               }
  10426.           ;
  10427.       break;}
  10428. ! case 432:
  10429. ! #line 2523 "parse.y"
  10430.   { error ("missing ';' before right brace");
  10431.             yyungetc ('}', 0); ;
  10432.       break;}
  10433. ! case 433:
  10434. ! #line 2528 "parse.y"
  10435.   { yyval.ttype = finish_method (yyval.ttype); ;
  10436.       break;}
  10437. ! case 434:
  10438. ! #line 2530 "parse.y"
  10439.   { yyval.ttype = finish_method (yyval.ttype); ;
  10440.       break;}
  10441. ! case 435:
  10442. ! #line 2538 "parse.y"
  10443.   {
  10444.             yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
  10445.           ;
  10446.       break;}
  10447. ! case 436:
  10448. ! #line 2542 "parse.y"
  10449.   { 
  10450.             yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
  10451.           ;
  10452.       break;}
  10453. ! case 437:
  10454. ! #line 2546 "parse.y"
  10455.   { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10456.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10457.       break;}
  10458. ! case 438:
  10459. ! #line 2549 "parse.y"
  10460.   { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
  10461.       break;}
  10462. ! case 439:
  10463. ! #line 2551 "parse.y"
  10464.   { yyval.ttype = NULL_TREE; ;
  10465.       break;}
  10466. ! case 440:
  10467. ! #line 2562 "parse.y"
  10468.   { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-4].ttype),
  10469.                        yyvsp[-2].ttype, yyvsp[0].ttype);
  10470.             yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-4].ttype), NULL_TREE, NULL_TREE,
  10471.                     NULL_TREE); ;
  10472.       break;}
  10473. ! case 441:
  10474. ! #line 2567 "parse.y"
  10475.   { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-2].ttype),
  10476.                        empty_parms (), yyvsp[0].ttype);
  10477.             yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-2].ttype), NULL_TREE, NULL_TREE,
  10478.                     NULL_TREE); ;
  10479.       break;}
  10480. ! case 442:
  10481. ! #line 2576 "parse.y"
  10482.   { yyval.ttype = NULL_TREE; ;
  10483.       break;}
  10484. ! case 444:
  10485. ! #line 2579 "parse.y"
  10486.   {
  10487.             /* In this context, void_type_node encodes
  10488.                friends.  They have been recorded elsewhere.  */
  10489. --- 6023,6086 ----
  10490.               }
  10491.           ;
  10492.       break;}
  10493. ! case 430:
  10494. ! #line 2519 "parse.y"
  10495.   { error ("missing ';' before right brace");
  10496.             yyungetc ('}', 0); ;
  10497.       break;}
  10498. ! case 431:
  10499. ! #line 2524 "parse.y"
  10500.   { yyval.ttype = finish_method (yyval.ttype); ;
  10501.       break;}
  10502. ! case 432:
  10503. ! #line 2526 "parse.y"
  10504.   { yyval.ttype = finish_method (yyval.ttype); ;
  10505.       break;}
  10506. ! case 433:
  10507. ! #line 2534 "parse.y"
  10508.   {
  10509.             yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
  10510.           ;
  10511.       break;}
  10512. ! case 434:
  10513. ! #line 2538 "parse.y"
  10514.   { 
  10515.             yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
  10516.           ;
  10517.       break;}
  10518. ! case 435:
  10519. ! #line 2542 "parse.y"
  10520.   { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10521.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10522.       break;}
  10523. ! case 436:
  10524. ! #line 2545 "parse.y"
  10525.   { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
  10526.       break;}
  10527. ! case 437:
  10528. ! #line 2547 "parse.y"
  10529.   { yyval.ttype = NULL_TREE; ;
  10530.       break;}
  10531. ! case 438:
  10532. ! #line 2558 "parse.y"
  10533.   { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-4].ttype),
  10534.                        yyvsp[-2].ttype, yyvsp[0].ttype);
  10535.             yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-4].ttype), NULL_TREE, NULL_TREE,
  10536.                     NULL_TREE); ;
  10537.       break;}
  10538. ! case 439:
  10539. ! #line 2563 "parse.y"
  10540.   { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-2].ttype),
  10541.                        empty_parms (), yyvsp[0].ttype);
  10542.             yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-2].ttype), NULL_TREE, NULL_TREE,
  10543.                     NULL_TREE); ;
  10544.       break;}
  10545. ! case 440:
  10546. ! #line 2572 "parse.y"
  10547.   { yyval.ttype = NULL_TREE; ;
  10548.       break;}
  10549. ! case 442:
  10550. ! #line 2575 "parse.y"
  10551.   {
  10552.             /* In this context, void_type_node encodes
  10553.                friends.  They have been recorded elsewhere.  */
  10554. ***************
  10555. *** 6146,6157 ****
  10556.               yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  10557.           ;
  10558.       break;}
  10559. ! case 445:
  10560. ! #line 2591 "parse.y"
  10561.   { yyval.ttype = NULL_TREE; ;
  10562.       break;}
  10563. ! case 447:
  10564. ! #line 2594 "parse.y"
  10565.   {
  10566.             /* In this context, void_type_node encodes
  10567.                friends.  They have been recorded elsewhere.  */
  10568. --- 6090,6101 ----
  10569.               yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  10570.           ;
  10571.       break;}
  10572. ! case 443:
  10573. ! #line 2587 "parse.y"
  10574.   { yyval.ttype = NULL_TREE; ;
  10575.       break;}
  10576. ! case 445:
  10577. ! #line 2590 "parse.y"
  10578.   {
  10579.             /* In this context, void_type_node encodes
  10580.                friends.  They have been recorded elsewhere.  */
  10581. ***************
  10582. *** 6161,6265 ****
  10583.               yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  10584.           ;
  10585.       break;}
  10586. ! case 452:
  10587. ! #line 2616 "parse.y"
  10588.   { current_declspecs = yyvsp[-4].ttype;
  10589.             yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10590.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10591.       break;}
  10592. ! case 453:
  10593. ! #line 2620 "parse.y"
  10594.   { current_declspecs = yyvsp[-6].ttype;
  10595.             yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  10596.             cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  10597.       break;}
  10598. ! case 454:
  10599. ! #line 2624 "parse.y"
  10600.   { current_declspecs = yyvsp[-4].ttype;
  10601.             yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  10602.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10603.       break;}
  10604. ! case 455:
  10605. ! #line 2631 "parse.y"
  10606.   { current_declspecs = yyvsp[-4].ttype;
  10607.             yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10608.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10609.       break;}
  10610. ! case 456:
  10611. ! #line 2635 "parse.y"
  10612.   { current_declspecs = yyvsp[-6].ttype;
  10613.             yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  10614.             cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  10615.       break;}
  10616. ! case 457:
  10617. ! #line 2639 "parse.y"
  10618.   { current_declspecs = yyvsp[-4].ttype;
  10619.             yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  10620.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10621.       break;}
  10622. ! case 458:
  10623. ! #line 2643 "parse.y"
  10624.   { current_declspecs = yyvsp[-3].ttype;
  10625.             yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
  10626.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10627.       break;}
  10628. ! case 459:
  10629. ! #line 2650 "parse.y"
  10630.   { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10631.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10632.       break;}
  10633. ! case 460:
  10634. ! #line 2653 "parse.y"
  10635.   { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  10636.             cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  10637.       break;}
  10638. ! case 461:
  10639. ! #line 2656 "parse.y"
  10640.   { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  10641.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10642.       break;}
  10643. ! case 462:
  10644. ! #line 2662 "parse.y"
  10645.   { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10646.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10647.       break;}
  10648. ! case 463:
  10649. ! #line 2665 "parse.y"
  10650.   { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  10651.             cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  10652.       break;}
  10653. ! case 464:
  10654. ! #line 2668 "parse.y"
  10655.   { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  10656.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10657.       break;}
  10658. ! case 465:
  10659. ! #line 2671 "parse.y"
  10660.   { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
  10661.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10662.       break;}
  10663. ! case 467:
  10664. ! #line 2682 "parse.y"
  10665.   { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10666.       break;}
  10667. ! case 468:
  10668. ! #line 2687 "parse.y"
  10669.   { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
  10670.       break;}
  10671. ! case 469:
  10672. ! #line 2689 "parse.y"
  10673.   { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
  10674.       break;}
  10675. ! case 470:
  10676. ! #line 2695 "parse.y"
  10677.   { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  10678.       break;}
  10679. ! case 471:
  10680. ! #line 2697 "parse.y"
  10681.   { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  10682.       break;}
  10683. ! case 472:
  10684. ! #line 2701 "parse.y"
  10685.   {
  10686.             if (flag_ansi)
  10687.               pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
  10688. --- 6105,6209 ----
  10689.               yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  10690.           ;
  10691.       break;}
  10692. ! case 450:
  10693. ! #line 2612 "parse.y"
  10694.   { current_declspecs = yyvsp[-4].ttype;
  10695.             yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10696.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10697.       break;}
  10698. ! case 451:
  10699. ! #line 2616 "parse.y"
  10700.   { current_declspecs = yyvsp[-6].ttype;
  10701.             yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  10702.             cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  10703.       break;}
  10704. ! case 452:
  10705. ! #line 2620 "parse.y"
  10706.   { current_declspecs = yyvsp[-4].ttype;
  10707.             yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  10708.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10709.       break;}
  10710. ! case 453:
  10711. ! #line 2627 "parse.y"
  10712.   { current_declspecs = yyvsp[-4].ttype;
  10713.             yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10714.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10715.       break;}
  10716. ! case 454:
  10717. ! #line 2631 "parse.y"
  10718.   { current_declspecs = yyvsp[-6].ttype;
  10719.             yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  10720.             cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  10721.       break;}
  10722. ! case 455:
  10723. ! #line 2635 "parse.y"
  10724.   { current_declspecs = yyvsp[-4].ttype;
  10725.             yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  10726.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10727.       break;}
  10728. ! case 456:
  10729. ! #line 2639 "parse.y"
  10730.   { current_declspecs = yyvsp[-3].ttype;
  10731.             yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
  10732.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10733.       break;}
  10734. ! case 457:
  10735. ! #line 2646 "parse.y"
  10736.   { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10737.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10738.       break;}
  10739. ! case 458:
  10740. ! #line 2649 "parse.y"
  10741.   { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  10742.             cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  10743.       break;}
  10744. ! case 459:
  10745. ! #line 2652 "parse.y"
  10746.   { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  10747.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10748.       break;}
  10749. ! case 460:
  10750. ! #line 2658 "parse.y"
  10751.   { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  10752.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10753.       break;}
  10754. ! case 461:
  10755. ! #line 2661 "parse.y"
  10756.   { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  10757.             cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  10758.       break;}
  10759. ! case 462:
  10760. ! #line 2664 "parse.y"
  10761.   { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  10762.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10763.       break;}
  10764. ! case 463:
  10765. ! #line 2667 "parse.y"
  10766.   { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
  10767.             cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  10768.       break;}
  10769. ! case 465:
  10770. ! #line 2678 "parse.y"
  10771.   { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  10772.       break;}
  10773. ! case 466:
  10774. ! #line 2683 "parse.y"
  10775.   { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
  10776.       break;}
  10777. ! case 467:
  10778. ! #line 2685 "parse.y"
  10779.   { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
  10780.       break;}
  10781. ! case 468:
  10782. ! #line 2691 "parse.y"
  10783.   { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  10784.       break;}
  10785. ! case 469:
  10786. ! #line 2693 "parse.y"
  10787.   { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  10788.       break;}
  10789. ! case 470:
  10790. ! #line 2697 "parse.y"
  10791.   {
  10792.             if (flag_ansi)
  10793.               pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
  10794. ***************
  10795. *** 6267,6320 ****
  10796.             yyval.ttype = build_decl_list (TREE_PURPOSE (yyvsp[-4].ttype), yyval.ttype);
  10797.           ;
  10798.       break;}
  10799. ! case 473:
  10800. ! #line 2711 "parse.y"
  10801.   { yyval.ttype = NULL_TREE; ;
  10802.       break;}
  10803.   case 474:
  10804. ! #line 2713 "parse.y"
  10805.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  10806.       break;}
  10807.   case 475:
  10808. ! #line 2718 "parse.y"
  10809. ! { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
  10810.       break;}
  10811.   case 476:
  10812. ! #line 2720 "parse.y"
  10813. ! { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  10814.       break;}
  10815.   case 477:
  10816. ! #line 2728 "parse.y"
  10817. ! { yyval.itype = suspend_momentary (); ;
  10818.       break;}
  10819.   case 478:
  10820. ! #line 2729 "parse.y"
  10821. ! { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
  10822.       break;}
  10823.   case 479:
  10824.   #line 2736 "parse.y"
  10825. ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  10826.       break;}
  10827.   case 480:
  10828.   #line 2738 "parse.y"
  10829. ! { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  10830.       break;}
  10831.   case 481:
  10832.   #line 2740 "parse.y"
  10833. - { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  10834. -     break;}
  10835. - case 482:
  10836. - #line 2742 "parse.y"
  10837. - { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  10838. -     break;}
  10839. - case 483:
  10840. - #line 2744 "parse.y"
  10841.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  10842.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  10843.           ;
  10844.       break;}
  10845. ! case 485:
  10846. ! #line 2752 "parse.y"
  10847.   {
  10848.             /* Remember that this name has been used in the class
  10849.                definition, as per [class.scope0] */
  10850. --- 6211,6264 ----
  10851.             yyval.ttype = build_decl_list (TREE_PURPOSE (yyvsp[-4].ttype), yyval.ttype);
  10852.           ;
  10853.       break;}
  10854. ! case 471:
  10855. ! #line 2707 "parse.y"
  10856.   { yyval.ttype = NULL_TREE; ;
  10857.       break;}
  10858. + case 472:
  10859. + #line 2709 "parse.y"
  10860. + { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  10861. +     break;}
  10862. + case 473:
  10863. + #line 2714 "parse.y"
  10864. + { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
  10865. +     break;}
  10866.   case 474:
  10867. ! #line 2716 "parse.y"
  10868.   { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  10869.       break;}
  10870.   case 475:
  10871. ! #line 2724 "parse.y"
  10872. ! { yyval.itype = suspend_momentary (); ;
  10873.       break;}
  10874.   case 476:
  10875. ! #line 2725 "parse.y"
  10876. ! { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
  10877.       break;}
  10878.   case 477:
  10879. ! #line 2732 "parse.y"
  10880. ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  10881.       break;}
  10882.   case 478:
  10883. ! #line 2734 "parse.y"
  10884. ! { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  10885.       break;}
  10886.   case 479:
  10887.   #line 2736 "parse.y"
  10888. ! { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  10889.       break;}
  10890.   case 480:
  10891.   #line 2738 "parse.y"
  10892. ! { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  10893.       break;}
  10894.   case 481:
  10895.   #line 2740 "parse.y"
  10896.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  10897.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  10898.           ;
  10899.       break;}
  10900. ! case 483:
  10901. ! #line 2748 "parse.y"
  10902.   {
  10903.             /* Remember that this name has been used in the class
  10904.                definition, as per [class.scope0] */
  10905. ***************
  10906. *** 6328,6604 ****
  10907.               }
  10908.           ;
  10909.       break;}
  10910. ! case 487:
  10911. ! #line 2769 "parse.y"
  10912.   { yyval.ttype = yyvsp[0].ttype; ;
  10913.       break;}
  10914.   case 488:
  10915.   #line 2774 "parse.y"
  10916. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  10917.       break;}
  10918.   case 489:
  10919.   #line 2776 "parse.y"
  10920. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  10921.       break;}
  10922.   case 490:
  10923.   #line 2778 "parse.y"
  10924. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  10925.       break;}
  10926.   case 491:
  10927.   #line 2780 "parse.y"
  10928. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
  10929.       break;}
  10930.   case 492:
  10931.   #line 2782 "parse.y"
  10932. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  10933.       break;}
  10934.   case 493:
  10935.   #line 2784 "parse.y"
  10936. - { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  10937. -     break;}
  10938. - case 494:
  10939. - #line 2786 "parse.y"
  10940. - { yyval.ttype = yyvsp[-1].ttype; ;
  10941. -     break;}
  10942. - case 495:
  10943. - #line 2788 "parse.y"
  10944.   { push_nested_class (TREE_TYPE (yyval.ttype), 3);
  10945.             yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
  10946.             TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
  10947.       break;}
  10948. ! case 497:
  10949. ! #line 2799 "parse.y"
  10950.   { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  10951.       break;}
  10952. ! case 498:
  10953. ! #line 2801 "parse.y"
  10954.   { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  10955.       break;}
  10956. ! case 499:
  10957. ! #line 2803 "parse.y"
  10958.   { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  10959.       break;}
  10960. ! case 500:
  10961. ! #line 2805 "parse.y"
  10962.   { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  10963.       break;}
  10964. ! case 501:
  10965. ! #line 2807 "parse.y"
  10966.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  10967.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  10968.           ;
  10969.       break;}
  10970. ! case 503:
  10971. ! #line 2815 "parse.y"
  10972.   { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  10973.       break;}
  10974. ! case 504:
  10975. ! #line 2817 "parse.y"
  10976.   { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  10977.       break;}
  10978. ! case 505:
  10979. ! #line 2819 "parse.y"
  10980.   { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  10981.       break;}
  10982. ! case 506:
  10983. ! #line 2821 "parse.y"
  10984.   { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  10985.       break;}
  10986. ! case 507:
  10987. ! #line 2823 "parse.y"
  10988.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  10989.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  10990.           ;
  10991.       break;}
  10992.   case 509:
  10993.   #line 2831 "parse.y"
  10994. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  10995.       break;}
  10996.   case 510:
  10997.   #line 2833 "parse.y"
  10998. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  10999.       break;}
  11000.   case 511:
  11001.   #line 2835 "parse.y"
  11002. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  11003.       break;}
  11004.   case 512:
  11005.   #line 2837 "parse.y"
  11006. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
  11007.       break;}
  11008.   case 513:
  11009.   #line 2839 "parse.y"
  11010. ! { yyval.ttype = yyvsp[-1].ttype; ;
  11011.       break;}
  11012.   case 514:
  11013.   #line 2841 "parse.y"
  11014. - { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  11015. -     break;}
  11016. - case 515:
  11017. - #line 2843 "parse.y"
  11018.   { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  11019.       break;}
  11020. ! case 516:
  11021. ! #line 2848 "parse.y"
  11022.   { got_scope = NULL_TREE;
  11023.             yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
  11024.       break;}
  11025. ! case 517:
  11026. ! #line 2854 "parse.y"
  11027.   { got_scope = NULL_TREE;
  11028.             yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
  11029.       break;}
  11030. ! case 519:
  11031. ! #line 2861 "parse.y"
  11032.   { yyval.ttype = yyvsp[0].ttype; ;
  11033.       break;}
  11034.   case 520:
  11035.   #line 2866 "parse.y"
  11036. ! { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
  11037.       break;}
  11038.   case 521:
  11039.   #line 2868 "parse.y"
  11040. - { yyval.ttype = reparse_decl_as_expr (yyval.ttype, yyvsp[-1].ttype); ;
  11041. -     break;}
  11042. - case 522:
  11043. - #line 2870 "parse.y"
  11044.   { yyval.ttype = reparse_absdcl_as_expr (yyval.ttype, yyvsp[0].ttype); ;
  11045.       break;}
  11046. ! case 526:
  11047. ! #line 2881 "parse.y"
  11048.   { yyval.ttype = yyvsp[0].ttype; ;
  11049.       break;}
  11050.   case 527:
  11051.   #line 2888 "parse.y"
  11052.   { got_scope = TREE_TYPE (yyval.ttype); ;
  11053.       break;}
  11054. ! case 528:
  11055. ! #line 2890 "parse.y"
  11056. ! { got_scope = TREE_TYPE (yyval.ttype); ;
  11057.       break;}
  11058. ! case 530:
  11059. ! #line 2906 "parse.y"
  11060.   { yyval.ttype = yyvsp[0].ttype; ;
  11061.       break;}
  11062.   case 532:
  11063. ! #line 2912 "parse.y"
  11064. ! { yyval.ttype = yyvsp[0].ttype; ;
  11065.       break;}
  11066.   case 533:
  11067.   #line 2917 "parse.y"
  11068. ! { got_scope = NULL_TREE; ;
  11069.       break;}
  11070.   case 534:
  11071. ! #line 2919 "parse.y"
  11072. ! { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
  11073.       break;}
  11074.   case 535:
  11075. ! #line 2926 "parse.y"
  11076. ! { got_scope = void_type_node; ;
  11077.       break;}
  11078.   case 536:
  11079.   #line 2932 "parse.y"
  11080. ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11081.       break;}
  11082.   case 537:
  11083.   #line 2934 "parse.y"
  11084. ! { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
  11085.       break;}
  11086.   case 538:
  11087.   #line 2936 "parse.y"
  11088. ! { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11089.       break;}
  11090.   case 539:
  11091.   #line 2938 "parse.y"
  11092. - { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
  11093. -     break;}
  11094. - case 540:
  11095. - #line 2940 "parse.y"
  11096.   { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
  11097.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
  11098.           ;
  11099.       break;}
  11100. ! case 541:
  11101. ! #line 2944 "parse.y"
  11102.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  11103.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  11104.           ;
  11105.       break;}
  11106.   case 543:
  11107.   #line 2953 "parse.y"
  11108. ! { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
  11109.       break;}
  11110.   case 544:
  11111. ! #line 2955 "parse.y"
  11112. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  11113.       break;}
  11114.   case 545:
  11115.   #line 2961 "parse.y"
  11116. ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11117.       break;}
  11118.   case 546:
  11119.   #line 2963 "parse.y"
  11120. ! { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  11121.       break;}
  11122.   case 547:
  11123.   #line 2965 "parse.y"
  11124. ! { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
  11125.       break;}
  11126.   case 548:
  11127.   #line 2967 "parse.y"
  11128. ! { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
  11129.       break;}
  11130.   case 549:
  11131.   #line 2969 "parse.y"
  11132. ! { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11133.       break;}
  11134.   case 550:
  11135.   #line 2971 "parse.y"
  11136. ! { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  11137.       break;}
  11138.   case 551:
  11139.   #line 2973 "parse.y"
  11140. ! { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
  11141.       break;}
  11142.   case 552:
  11143.   #line 2975 "parse.y"
  11144. - { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
  11145. -     break;}
  11146. - case 553:
  11147. - #line 2977 "parse.y"
  11148.   { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
  11149.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
  11150.           ;
  11151.       break;}
  11152. ! case 554:
  11153. ! #line 2981 "parse.y"
  11154.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  11155.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  11156.           ;
  11157.       break;}
  11158. ! case 556:
  11159. ! #line 2990 "parse.y"
  11160.   { yyval.ttype = yyvsp[-1].ttype; ;
  11161.       break;}
  11162.   case 558:
  11163.   #line 2994 "parse.y"
  11164. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  11165.       break;}
  11166.   case 559:
  11167.   #line 2996 "parse.y"
  11168. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  11169.       break;}
  11170.   case 560:
  11171.   #line 2998 "parse.y"
  11172. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  11173.       break;}
  11174.   case 561:
  11175.   #line 3000 "parse.y"
  11176. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  11177.       break;}
  11178.   case 562:
  11179.   #line 3002 "parse.y"
  11180. ! { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  11181.       break;}
  11182.   case 563:
  11183.   #line 3004 "parse.y"
  11184. --- 6272,6556 ----
  11185.               }
  11186.           ;
  11187.       break;}
  11188. ! case 485:
  11189. ! #line 2765 "parse.y"
  11190.   { yyval.ttype = yyvsp[0].ttype; ;
  11191.       break;}
  11192. + case 486:
  11193. + #line 2770 "parse.y"
  11194. + { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  11195. +     break;}
  11196. + case 487:
  11197. + #line 2772 "parse.y"
  11198. + { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  11199. +     break;}
  11200.   case 488:
  11201.   #line 2774 "parse.y"
  11202. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  11203.       break;}
  11204.   case 489:
  11205.   #line 2776 "parse.y"
  11206. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
  11207.       break;}
  11208.   case 490:
  11209.   #line 2778 "parse.y"
  11210. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  11211.       break;}
  11212.   case 491:
  11213.   #line 2780 "parse.y"
  11214. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  11215.       break;}
  11216.   case 492:
  11217.   #line 2782 "parse.y"
  11218. ! { yyval.ttype = yyvsp[-1].ttype; ;
  11219.       break;}
  11220.   case 493:
  11221.   #line 2784 "parse.y"
  11222.   { push_nested_class (TREE_TYPE (yyval.ttype), 3);
  11223.             yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
  11224.             TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
  11225.       break;}
  11226. ! case 495:
  11227. ! #line 2795 "parse.y"
  11228.   { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11229.       break;}
  11230. ! case 496:
  11231. ! #line 2797 "parse.y"
  11232.   { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11233.       break;}
  11234. ! case 497:
  11235. ! #line 2799 "parse.y"
  11236.   { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  11237.       break;}
  11238. ! case 498:
  11239. ! #line 2801 "parse.y"
  11240.   { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  11241.       break;}
  11242. ! case 499:
  11243. ! #line 2803 "parse.y"
  11244.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  11245.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  11246.           ;
  11247.       break;}
  11248. ! case 501:
  11249. ! #line 2811 "parse.y"
  11250.   { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11251.       break;}
  11252. ! case 502:
  11253. ! #line 2813 "parse.y"
  11254.   { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11255.       break;}
  11256. ! case 503:
  11257. ! #line 2815 "parse.y"
  11258.   { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  11259.       break;}
  11260. ! case 504:
  11261. ! #line 2817 "parse.y"
  11262.   { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  11263.       break;}
  11264. ! case 505:
  11265. ! #line 2819 "parse.y"
  11266.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  11267.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  11268.           ;
  11269.       break;}
  11270. + case 507:
  11271. + #line 2827 "parse.y"
  11272. + { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  11273. +     break;}
  11274. + case 508:
  11275. + #line 2829 "parse.y"
  11276. + { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  11277. +     break;}
  11278.   case 509:
  11279.   #line 2831 "parse.y"
  11280. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  11281.       break;}
  11282.   case 510:
  11283.   #line 2833 "parse.y"
  11284. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
  11285.       break;}
  11286.   case 511:
  11287.   #line 2835 "parse.y"
  11288. ! { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
  11289.       break;}
  11290.   case 512:
  11291.   #line 2837 "parse.y"
  11292. ! { yyval.ttype = yyvsp[-1].ttype; ;
  11293.       break;}
  11294.   case 513:
  11295.   #line 2839 "parse.y"
  11296. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  11297.       break;}
  11298.   case 514:
  11299.   #line 2841 "parse.y"
  11300.   { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  11301.       break;}
  11302. ! case 515:
  11303. ! #line 2846 "parse.y"
  11304.   { got_scope = NULL_TREE;
  11305.             yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
  11306.       break;}
  11307. ! case 516:
  11308. ! #line 2852 "parse.y"
  11309.   { got_scope = NULL_TREE;
  11310.             yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
  11311.       break;}
  11312. ! case 518:
  11313. ! #line 2859 "parse.y"
  11314.   { yyval.ttype = yyvsp[0].ttype; ;
  11315.       break;}
  11316. + case 519:
  11317. + #line 2864 "parse.y"
  11318. + { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
  11319. +     break;}
  11320.   case 520:
  11321.   #line 2866 "parse.y"
  11322. ! { yyval.ttype = reparse_decl_as_expr (yyval.ttype, yyvsp[-1].ttype); ;
  11323.       break;}
  11324.   case 521:
  11325.   #line 2868 "parse.y"
  11326.   { yyval.ttype = reparse_absdcl_as_expr (yyval.ttype, yyvsp[0].ttype); ;
  11327.       break;}
  11328. ! case 525:
  11329. ! #line 2879 "parse.y"
  11330.   { yyval.ttype = yyvsp[0].ttype; ;
  11331.       break;}
  11332. + case 526:
  11333. + #line 2886 "parse.y"
  11334. + { got_scope = TREE_TYPE (yyval.ttype); ;
  11335. +     break;}
  11336.   case 527:
  11337.   #line 2888 "parse.y"
  11338.   { got_scope = TREE_TYPE (yyval.ttype); ;
  11339.       break;}
  11340. ! case 529:
  11341. ! #line 2904 "parse.y"
  11342. ! { yyval.ttype = yyvsp[0].ttype; ;
  11343.       break;}
  11344. ! case 531:
  11345. ! #line 2910 "parse.y"
  11346.   { yyval.ttype = yyvsp[0].ttype; ;
  11347.       break;}
  11348.   case 532:
  11349. ! #line 2915 "parse.y"
  11350. ! { got_scope = NULL_TREE; ;
  11351.       break;}
  11352.   case 533:
  11353.   #line 2917 "parse.y"
  11354. ! { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
  11355.       break;}
  11356.   case 534:
  11357. ! #line 2924 "parse.y"
  11358. ! { got_scope = void_type_node; ;
  11359.       break;}
  11360.   case 535:
  11361. ! #line 2930 "parse.y"
  11362. ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11363.       break;}
  11364.   case 536:
  11365.   #line 2932 "parse.y"
  11366. ! { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
  11367.       break;}
  11368.   case 537:
  11369.   #line 2934 "parse.y"
  11370. ! { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11371.       break;}
  11372.   case 538:
  11373.   #line 2936 "parse.y"
  11374. ! { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
  11375.       break;}
  11376.   case 539:
  11377.   #line 2938 "parse.y"
  11378.   { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
  11379.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
  11380.           ;
  11381.       break;}
  11382. ! case 540:
  11383. ! #line 2942 "parse.y"
  11384.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  11385.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  11386.           ;
  11387.       break;}
  11388. + case 542:
  11389. + #line 2951 "parse.y"
  11390. + { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
  11391. +     break;}
  11392.   case 543:
  11393.   #line 2953 "parse.y"
  11394. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  11395.       break;}
  11396.   case 544:
  11397. ! #line 2959 "parse.y"
  11398. ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11399.       break;}
  11400.   case 545:
  11401.   #line 2961 "parse.y"
  11402. ! { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  11403.       break;}
  11404.   case 546:
  11405.   #line 2963 "parse.y"
  11406. ! { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
  11407.       break;}
  11408.   case 547:
  11409.   #line 2965 "parse.y"
  11410. ! { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
  11411.       break;}
  11412.   case 548:
  11413.   #line 2967 "parse.y"
  11414. ! { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  11415.       break;}
  11416.   case 549:
  11417.   #line 2969 "parse.y"
  11418. ! { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  11419.       break;}
  11420.   case 550:
  11421.   #line 2971 "parse.y"
  11422. ! { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
  11423.       break;}
  11424.   case 551:
  11425.   #line 2973 "parse.y"
  11426. ! { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
  11427.       break;}
  11428.   case 552:
  11429.   #line 2975 "parse.y"
  11430.   { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
  11431.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
  11432.           ;
  11433.       break;}
  11434. ! case 553:
  11435. ! #line 2979 "parse.y"
  11436.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  11437.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  11438.           ;
  11439.       break;}
  11440. ! case 555:
  11441. ! #line 2988 "parse.y"
  11442.   { yyval.ttype = yyvsp[-1].ttype; ;
  11443.       break;}
  11444. + case 557:
  11445. + #line 2992 "parse.y"
  11446. + { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  11447. +     break;}
  11448.   case 558:
  11449.   #line 2994 "parse.y"
  11450. ! { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  11451.       break;}
  11452.   case 559:
  11453.   #line 2996 "parse.y"
  11454. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  11455.       break;}
  11456.   case 560:
  11457.   #line 2998 "parse.y"
  11458. ! { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  11459.       break;}
  11460.   case 561:
  11461.   #line 3000 "parse.y"
  11462. ! { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  11463.       break;}
  11464.   case 562:
  11465.   #line 3002 "parse.y"
  11466. ! { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
  11467.       break;}
  11468.   case 563:
  11469.   #line 3004 "parse.y"
  11470. ***************
  11471. *** 6606,6636 ****
  11472.       break;}
  11473.   case 564:
  11474.   #line 3006 "parse.y"
  11475. ! { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
  11476.       break;}
  11477.   case 565:
  11478.   #line 3008 "parse.y"
  11479. - { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
  11480. -     break;}
  11481. - case 566:
  11482. - #line 3010 "parse.y"
  11483.   { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
  11484.       break;}
  11485. ! case 572:
  11486. ! #line 3032 "parse.y"
  11487.   { emit_line_note (input_filename, lineno);
  11488.             pushlevel (0);
  11489.             clear_last_expr ();
  11490.             push_momentary ();
  11491.             expand_start_bindings (0); ;
  11492.       break;}
  11493. ! case 574:
  11494. ! #line 3044 "parse.y"
  11495.   { if (flag_ansi)
  11496.               pedwarn ("ANSI C++ forbids label declarations"); ;
  11497.       break;}
  11498. ! case 577:
  11499. ! #line 3055 "parse.y"
  11500.   { tree link;
  11501.             for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
  11502.               {
  11503. --- 6558,6584 ----
  11504.       break;}
  11505.   case 564:
  11506.   #line 3006 "parse.y"
  11507. ! { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
  11508.       break;}
  11509.   case 565:
  11510.   #line 3008 "parse.y"
  11511.   { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
  11512.       break;}
  11513. ! case 571:
  11514. ! #line 3030 "parse.y"
  11515.   { emit_line_note (input_filename, lineno);
  11516.             pushlevel (0);
  11517.             clear_last_expr ();
  11518.             push_momentary ();
  11519.             expand_start_bindings (0); ;
  11520.       break;}
  11521. ! case 573:
  11522. ! #line 3042 "parse.y"
  11523.   { if (flag_ansi)
  11524.               pedwarn ("ANSI C++ forbids label declarations"); ;
  11525.       break;}
  11526. ! case 576:
  11527. ! #line 3053 "parse.y"
  11528.   { tree link;
  11529.             for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
  11530.               {
  11531. ***************
  11532. *** 6640,6702 ****
  11533.               }
  11534.           ;
  11535.       break;}
  11536. ! case 578:
  11537. ! #line 3069 "parse.y"
  11538.   {;
  11539.       break;}
  11540. ! case 580:
  11541. ! #line 3074 "parse.y"
  11542.   { expand_end_bindings (getdecls (), kept_level_p(), 1);
  11543.             yyval.ttype = poplevel (kept_level_p (), 1, 0);
  11544.             pop_momentary (); ;
  11545.       break;}
  11546. ! case 581:
  11547. ! #line 3078 "parse.y"
  11548.   { expand_end_bindings (getdecls (), kept_level_p(), 1);
  11549.             yyval.ttype = poplevel (kept_level_p (), 1, 0);
  11550.             pop_momentary (); ;
  11551.       break;}
  11552. ! case 582:
  11553. ! #line 3082 "parse.y"
  11554.   { expand_end_bindings (getdecls (), kept_level_p(), 1);
  11555.             yyval.ttype = poplevel (kept_level_p (), 0, 0);
  11556.             pop_momentary (); ;
  11557.       break;}
  11558. ! case 583:
  11559. ! #line 3086 "parse.y"
  11560.   { expand_end_bindings (getdecls (), kept_level_p(), 1);
  11561.             yyval.ttype = poplevel (kept_level_p (), 0, 0);
  11562.             pop_momentary (); ;
  11563.       break;}
  11564. ! case 584:
  11565. ! #line 3093 "parse.y"
  11566.   { cond_stmt_keyword = "if"; ;
  11567.       break;}
  11568. ! case 585:
  11569. ! #line 3095 "parse.y"
  11570.   { emit_line_note (input_filename, lineno);
  11571.             expand_start_cond (yyvsp[0].ttype, 0); ;
  11572.       break;}
  11573. ! case 587:
  11574. ! #line 3102 "parse.y"
  11575.   { finish_stmt (); ;
  11576.       break;}
  11577. ! case 588:
  11578. ! #line 3104 "parse.y"
  11579.   { expand_end_bindings (getdecls (), kept_level_p (), 1);
  11580.             yyval.ttype = poplevel (kept_level_p (), 1, 0);
  11581.             pop_momentary (); ;
  11582.       break;}
  11583. ! case 589:
  11584. ! #line 3111 "parse.y"
  11585.   { finish_stmt (); ;
  11586.       break;}
  11587.   case 591:
  11588.   #line 3117 "parse.y"
  11589. - { finish_stmt (); ;
  11590. -     break;}
  11591. - case 592:
  11592. - #line 3119 "parse.y"
  11593.   {
  11594.             tree expr = yyvsp[-1].ttype;
  11595.             emit_line_note (input_filename, lineno);
  11596. --- 6588,6650 ----
  11597.               }
  11598.           ;
  11599.       break;}
  11600. ! case 577:
  11601. ! #line 3067 "parse.y"
  11602.   {;
  11603.       break;}
  11604. ! case 579:
  11605. ! #line 3072 "parse.y"
  11606.   { expand_end_bindings (getdecls (), kept_level_p(), 1);
  11607.             yyval.ttype = poplevel (kept_level_p (), 1, 0);
  11608.             pop_momentary (); ;
  11609.       break;}
  11610. ! case 580:
  11611. ! #line 3076 "parse.y"
  11612.   { expand_end_bindings (getdecls (), kept_level_p(), 1);
  11613.             yyval.ttype = poplevel (kept_level_p (), 1, 0);
  11614.             pop_momentary (); ;
  11615.       break;}
  11616. ! case 581:
  11617. ! #line 3080 "parse.y"
  11618.   { expand_end_bindings (getdecls (), kept_level_p(), 1);
  11619.             yyval.ttype = poplevel (kept_level_p (), 0, 0);
  11620.             pop_momentary (); ;
  11621.       break;}
  11622. ! case 582:
  11623. ! #line 3084 "parse.y"
  11624.   { expand_end_bindings (getdecls (), kept_level_p(), 1);
  11625.             yyval.ttype = poplevel (kept_level_p (), 0, 0);
  11626.             pop_momentary (); ;
  11627.       break;}
  11628. ! case 583:
  11629. ! #line 3091 "parse.y"
  11630.   { cond_stmt_keyword = "if"; ;
  11631.       break;}
  11632. ! case 584:
  11633. ! #line 3093 "parse.y"
  11634.   { emit_line_note (input_filename, lineno);
  11635.             expand_start_cond (yyvsp[0].ttype, 0); ;
  11636.       break;}
  11637. ! case 586:
  11638. ! #line 3100 "parse.y"
  11639.   { finish_stmt (); ;
  11640.       break;}
  11641. ! case 587:
  11642. ! #line 3102 "parse.y"
  11643.   { expand_end_bindings (getdecls (), kept_level_p (), 1);
  11644.             yyval.ttype = poplevel (kept_level_p (), 1, 0);
  11645.             pop_momentary (); ;
  11646.       break;}
  11647. ! case 588:
  11648. ! #line 3109 "parse.y"
  11649. ! { finish_stmt (); ;
  11650. !     break;}
  11651. ! case 590:
  11652. ! #line 3115 "parse.y"
  11653.   { finish_stmt (); ;
  11654.       break;}
  11655.   case 591:
  11656.   #line 3117 "parse.y"
  11657.   {
  11658.             tree expr = yyvsp[-1].ttype;
  11659.             emit_line_note (input_filename, lineno);
  11660. ***************
  11661. *** 6710,6791 ****
  11662.             clear_momentary ();
  11663.             finish_stmt (); ;
  11664.       break;}
  11665. ! case 593:
  11666. ! #line 3132 "parse.y"
  11667.   { expand_start_else (); ;
  11668.       break;}
  11669. ! case 594:
  11670. ! #line 3134 "parse.y"
  11671.   { expand_end_cond ();
  11672.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11673.             poplevel (kept_level_p (), 1, 0);
  11674.             pop_momentary ();
  11675.             finish_stmt (); ;
  11676.       break;}
  11677. ! case 595:
  11678. ! #line 3140 "parse.y"
  11679.   { expand_end_cond ();
  11680.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11681.             poplevel (kept_level_p (), 1, 0);
  11682.             pop_momentary ();
  11683.             finish_stmt (); ;
  11684.       break;}
  11685. ! case 596:
  11686. ! #line 3146 "parse.y"
  11687.   { emit_nop ();
  11688.             emit_line_note (input_filename, lineno);
  11689.             expand_start_loop (1);
  11690.             cond_stmt_keyword = "while"; ;
  11691.       break;}
  11692.   case 597:
  11693.   #line 3151 "parse.y"
  11694. - { expand_exit_loop_if_false (0, yyvsp[0].ttype); ;
  11695. -     break;}
  11696. - case 598:
  11697. - #line 3153 "parse.y"
  11698.   { expand_end_bindings (getdecls (), kept_level_p (), 1);
  11699.             poplevel (kept_level_p (), 1, 0);
  11700.             pop_momentary ();
  11701.             expand_end_loop ();
  11702.             finish_stmt (); ;
  11703.       break;}
  11704. ! case 599:
  11705. ! #line 3159 "parse.y"
  11706.   { emit_nop ();
  11707.             emit_line_note (input_filename, lineno);
  11708.             expand_start_loop_continue_elsewhere (1); ;
  11709.       break;}
  11710. ! case 600:
  11711. ! #line 3163 "parse.y"
  11712.   { expand_loop_continue_here ();
  11713.             cond_stmt_keyword = "do"; ;
  11714.       break;}
  11715. ! case 601:
  11716. ! #line 3166 "parse.y"
  11717.   { emit_line_note (input_filename, lineno);
  11718.             expand_exit_loop_if_false (0, yyvsp[-1].ttype);
  11719.             expand_end_loop ();
  11720.             clear_momentary ();
  11721.             finish_stmt (); ;
  11722.       break;}
  11723. ! case 602:
  11724. ! #line 3172 "parse.y"
  11725.   { emit_nop ();
  11726.             emit_line_note (input_filename, lineno);
  11727.             if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
  11728.             expand_start_loop_continue_elsewhere (1); ;
  11729.       break;}
  11730. ! case 603:
  11731. ! #line 3177 "parse.y"
  11732.   { emit_line_note (input_filename, lineno);
  11733.             if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype); ;
  11734.       break;}
  11735. ! case 604:
  11736. ! #line 3182 "parse.y"
  11737.   { push_momentary (); ;
  11738.       break;}
  11739. ! case 605:
  11740. ! #line 3184 "parse.y"
  11741.   { emit_line_note (input_filename, lineno);
  11742.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11743.             poplevel (kept_level_p (), 1, 0);
  11744. --- 6658,6739 ----
  11745.             clear_momentary ();
  11746.             finish_stmt (); ;
  11747.       break;}
  11748. ! case 592:
  11749. ! #line 3130 "parse.y"
  11750.   { expand_start_else (); ;
  11751.       break;}
  11752. ! case 593:
  11753. ! #line 3132 "parse.y"
  11754.   { expand_end_cond ();
  11755.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11756.             poplevel (kept_level_p (), 1, 0);
  11757.             pop_momentary ();
  11758.             finish_stmt (); ;
  11759.       break;}
  11760. ! case 594:
  11761. ! #line 3138 "parse.y"
  11762.   { expand_end_cond ();
  11763.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11764.             poplevel (kept_level_p (), 1, 0);
  11765.             pop_momentary ();
  11766.             finish_stmt (); ;
  11767.       break;}
  11768. ! case 595:
  11769. ! #line 3144 "parse.y"
  11770.   { emit_nop ();
  11771.             emit_line_note (input_filename, lineno);
  11772.             expand_start_loop (1);
  11773.             cond_stmt_keyword = "while"; ;
  11774.       break;}
  11775. + case 596:
  11776. + #line 3149 "parse.y"
  11777. + { expand_exit_loop_if_false (0, yyvsp[0].ttype); ;
  11778. +     break;}
  11779.   case 597:
  11780.   #line 3151 "parse.y"
  11781.   { expand_end_bindings (getdecls (), kept_level_p (), 1);
  11782.             poplevel (kept_level_p (), 1, 0);
  11783.             pop_momentary ();
  11784.             expand_end_loop ();
  11785.             finish_stmt (); ;
  11786.       break;}
  11787. ! case 598:
  11788. ! #line 3157 "parse.y"
  11789.   { emit_nop ();
  11790.             emit_line_note (input_filename, lineno);
  11791.             expand_start_loop_continue_elsewhere (1); ;
  11792.       break;}
  11793. ! case 599:
  11794. ! #line 3161 "parse.y"
  11795.   { expand_loop_continue_here ();
  11796.             cond_stmt_keyword = "do"; ;
  11797.       break;}
  11798. ! case 600:
  11799. ! #line 3164 "parse.y"
  11800.   { emit_line_note (input_filename, lineno);
  11801.             expand_exit_loop_if_false (0, yyvsp[-1].ttype);
  11802.             expand_end_loop ();
  11803.             clear_momentary ();
  11804.             finish_stmt (); ;
  11805.       break;}
  11806. ! case 601:
  11807. ! #line 3170 "parse.y"
  11808.   { emit_nop ();
  11809.             emit_line_note (input_filename, lineno);
  11810.             if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
  11811.             expand_start_loop_continue_elsewhere (1); ;
  11812.       break;}
  11813. ! case 602:
  11814. ! #line 3175 "parse.y"
  11815.   { emit_line_note (input_filename, lineno);
  11816.             if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype); ;
  11817.       break;}
  11818. ! case 603:
  11819. ! #line 3180 "parse.y"
  11820.   { push_momentary (); ;
  11821.       break;}
  11822. ! case 604:
  11823. ! #line 3182 "parse.y"
  11824.   { emit_line_note (input_filename, lineno);
  11825.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11826.             poplevel (kept_level_p (), 1, 0);
  11827. ***************
  11828. *** 6796,6819 ****
  11829.             expand_end_loop ();
  11830.             finish_stmt (); ;
  11831.       break;}
  11832. ! case 606:
  11833. ! #line 3194 "parse.y"
  11834.   { emit_nop ();
  11835.             emit_line_note (input_filename, lineno);
  11836.             expand_start_loop_continue_elsewhere (1); ;
  11837.       break;}
  11838. ! case 607:
  11839. ! #line 3198 "parse.y"
  11840.   { emit_line_note (input_filename, lineno);
  11841.             if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype); ;
  11842.       break;}
  11843. ! case 608:
  11844. ! #line 3203 "parse.y"
  11845.   { push_momentary ();
  11846.             yyvsp[0].itype = lineno; ;
  11847.       break;}
  11848. ! case 609:
  11849. ! #line 3206 "parse.y"
  11850.   { emit_line_note (input_filename, (int) yyvsp[-2].itype);
  11851.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11852.             poplevel (kept_level_p (), 1, 0);
  11853. --- 6744,6767 ----
  11854.             expand_end_loop ();
  11855.             finish_stmt (); ;
  11856.       break;}
  11857. ! case 605:
  11858. ! #line 3192 "parse.y"
  11859.   { emit_nop ();
  11860.             emit_line_note (input_filename, lineno);
  11861.             expand_start_loop_continue_elsewhere (1); ;
  11862.       break;}
  11863. ! case 606:
  11864. ! #line 3196 "parse.y"
  11865.   { emit_line_note (input_filename, lineno);
  11866.             if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype); ;
  11867.       break;}
  11868. ! case 607:
  11869. ! #line 3201 "parse.y"
  11870.   { push_momentary ();
  11871.             yyvsp[0].itype = lineno; ;
  11872.       break;}
  11873. ! case 608:
  11874. ! #line 3204 "parse.y"
  11875.   { emit_line_note (input_filename, (int) yyvsp[-2].itype);
  11876.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11877.             poplevel (kept_level_p (), 1, 0);
  11878. ***************
  11879. *** 6825,6840 ****
  11880.             finish_stmt ();
  11881.           ;
  11882.       break;}
  11883. ! case 610:
  11884. ! #line 3217 "parse.y"
  11885.   { emit_line_note (input_filename, lineno);
  11886.             c_expand_start_case (yyvsp[-1].ttype);
  11887.             /* Don't let the tree nodes for $4 be discarded by
  11888.                clear_momentary during the parsing of the next stmt.  */
  11889.             push_momentary (); ;
  11890.       break;}
  11891. ! case 611:
  11892. ! #line 3223 "parse.y"
  11893.   { expand_end_case (yyvsp[-3].ttype);
  11894.             pop_momentary ();
  11895.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11896. --- 6773,6788 ----
  11897.             finish_stmt ();
  11898.           ;
  11899.       break;}
  11900. ! case 609:
  11901. ! #line 3215 "parse.y"
  11902.   { emit_line_note (input_filename, lineno);
  11903.             c_expand_start_case (yyvsp[-1].ttype);
  11904.             /* Don't let the tree nodes for $4 be discarded by
  11905.                clear_momentary during the parsing of the next stmt.  */
  11906.             push_momentary (); ;
  11907.       break;}
  11908. ! case 610:
  11909. ! #line 3221 "parse.y"
  11910.   { expand_end_case (yyvsp[-3].ttype);
  11911.             pop_momentary ();
  11912.             expand_end_bindings (getdecls (), kept_level_p (), 1);
  11913. ***************
  11914. *** 6842,6849 ****
  11915.             pop_momentary ();
  11916.             finish_stmt (); ;
  11917.       break;}
  11918. ! case 612:
  11919. ! #line 3230 "parse.y"
  11920.   { register tree value = check_cp_case_value (yyvsp[-1].ttype);
  11921.             register tree label
  11922.               = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
  11923. --- 6790,6797 ----
  11924.             pop_momentary ();
  11925.             finish_stmt (); ;
  11926.       break;}
  11927. ! case 611:
  11928. ! #line 3228 "parse.y"
  11929.   { register tree value = check_cp_case_value (yyvsp[-1].ttype);
  11930.             register tree label
  11931.               = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
  11932. ***************
  11933. *** 6868,6875 ****
  11934.             define_case_label (label);
  11935.           ;
  11936.       break;}
  11937. ! case 614:
  11938. ! #line 3255 "parse.y"
  11939.   { register tree value1 = check_cp_case_value (yyvsp[-3].ttype);
  11940.             register tree value2 = check_cp_case_value (yyvsp[-1].ttype);
  11941.             register tree label
  11942. --- 6816,6823 ----
  11943.             define_case_label (label);
  11944.           ;
  11945.       break;}
  11946. ! case 613:
  11947. ! #line 3253 "parse.y"
  11948.   { register tree value1 = check_cp_case_value (yyvsp[-3].ttype);
  11949.             register tree value2 = check_cp_case_value (yyvsp[-1].ttype);
  11950.             register tree label
  11951. ***************
  11952. *** 6901,6908 ****
  11953.             define_case_label (label);
  11954.           ;
  11955.       break;}
  11956. ! case 616:
  11957. ! #line 3287 "parse.y"
  11958.   {
  11959.             tree duplicate;
  11960.             register tree label
  11961. --- 6849,6856 ----
  11962.             define_case_label (label);
  11963.           ;
  11964.       break;}
  11965. ! case 615:
  11966. ! #line 3285 "parse.y"
  11967.   {
  11968.             tree duplicate;
  11969.             register tree label
  11970. ***************
  11971. *** 6918,6957 ****
  11972.             define_case_label (NULL_TREE);
  11973.           ;
  11974.       break;}
  11975. ! case 618:
  11976. ! #line 3303 "parse.y"
  11977.   { emit_line_note (input_filename, lineno);
  11978.             if ( ! expand_exit_something ())
  11979.               error ("break statement not within loop or switch"); ;
  11980.       break;}
  11981. ! case 619:
  11982. ! #line 3307 "parse.y"
  11983.   { emit_line_note (input_filename, lineno);
  11984.             if (! expand_continue_loop (0))
  11985.               error ("continue statement not within a loop"); ;
  11986.       break;}
  11987. ! case 620:
  11988. ! #line 3311 "parse.y"
  11989.   { emit_line_note (input_filename, lineno);
  11990.             c_expand_return (NULL_TREE); ;
  11991.       break;}
  11992. ! case 621:
  11993. ! #line 3314 "parse.y"
  11994.   { emit_line_note (input_filename, lineno);
  11995.             c_expand_return (yyvsp[-1].ttype);
  11996.             finish_stmt ();
  11997.           ;
  11998.       break;}
  11999. ! case 622:
  12000. ! #line 3319 "parse.y"
  12001.   { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
  12002.             emit_line_note (input_filename, lineno);
  12003.             expand_asm (yyvsp[-2].ttype);
  12004.             finish_stmt ();
  12005.           ;
  12006.       break;}
  12007. ! case 623:
  12008. ! #line 3326 "parse.y"
  12009.   { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
  12010.             emit_line_note (input_filename, lineno);
  12011.             c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
  12012. --- 6866,6905 ----
  12013.             define_case_label (NULL_TREE);
  12014.           ;
  12015.       break;}
  12016. ! case 617:
  12017. ! #line 3301 "parse.y"
  12018.   { emit_line_note (input_filename, lineno);
  12019.             if ( ! expand_exit_something ())
  12020.               error ("break statement not within loop or switch"); ;
  12021.       break;}
  12022. ! case 618:
  12023. ! #line 3305 "parse.y"
  12024.   { emit_line_note (input_filename, lineno);
  12025.             if (! expand_continue_loop (0))
  12026.               error ("continue statement not within a loop"); ;
  12027.       break;}
  12028. ! case 619:
  12029. ! #line 3309 "parse.y"
  12030.   { emit_line_note (input_filename, lineno);
  12031.             c_expand_return (NULL_TREE); ;
  12032.       break;}
  12033. ! case 620:
  12034. ! #line 3312 "parse.y"
  12035.   { emit_line_note (input_filename, lineno);
  12036.             c_expand_return (yyvsp[-1].ttype);
  12037.             finish_stmt ();
  12038.           ;
  12039.       break;}
  12040. ! case 621:
  12041. ! #line 3317 "parse.y"
  12042.   { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
  12043.             emit_line_note (input_filename, lineno);
  12044.             expand_asm (yyvsp[-2].ttype);
  12045.             finish_stmt ();
  12046.           ;
  12047.       break;}
  12048. ! case 622:
  12049. ! #line 3324 "parse.y"
  12050.   { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
  12051.             emit_line_note (input_filename, lineno);
  12052.             c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
  12053. ***************
  12054. *** 6960,6967 ****
  12055.             finish_stmt ();
  12056.           ;
  12057.       break;}
  12058. ! case 624:
  12059. ! #line 3335 "parse.y"
  12060.   { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
  12061.             emit_line_note (input_filename, lineno);
  12062.             c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
  12063. --- 6908,6915 ----
  12064.             finish_stmt ();
  12065.           ;
  12066.       break;}
  12067. ! case 623:
  12068. ! #line 3333 "parse.y"
  12069.   { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
  12070.             emit_line_note (input_filename, lineno);
  12071.             c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
  12072. ***************
  12073. *** 6970,6977 ****
  12074.             finish_stmt ();
  12075.           ;
  12076.       break;}
  12077. ! case 625:
  12078. ! #line 3345 "parse.y"
  12079.   { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
  12080.             emit_line_note (input_filename, lineno);
  12081.             c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
  12082. --- 6918,6925 ----
  12083.             finish_stmt ();
  12084.           ;
  12085.       break;}
  12086. ! case 624:
  12087. ! #line 3343 "parse.y"
  12088.   { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
  12089.             emit_line_note (input_filename, lineno);
  12090.             c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
  12091. ***************
  12092. *** 6980,7062 ****
  12093.             finish_stmt ();
  12094.           ;
  12095.       break;}
  12096. ! case 626:
  12097. ! #line 3353 "parse.y"
  12098.   { emit_line_note (input_filename, lineno);
  12099.             expand_computed_goto (yyvsp[-1].ttype); ;
  12100.       break;}
  12101. ! case 627:
  12102. ! #line 3356 "parse.y"
  12103.   { tree decl;
  12104.             emit_line_note (input_filename, lineno);
  12105.             decl = lookup_label (yyvsp[-1].ttype);
  12106.             TREE_USED (decl) = 1;
  12107.             expand_goto (decl); ;
  12108.       break;}
  12109. ! case 628:
  12110. ! #line 3362 "parse.y"
  12111.   { finish_stmt (); ;
  12112.       break;}
  12113. ! case 629:
  12114. ! #line 3364 "parse.y"
  12115.   { error ("label must be followed by statement");
  12116.             yyungetc ('}', 0);
  12117.             finish_stmt (); ;
  12118.       break;}
  12119. ! case 630:
  12120. ! #line 3368 "parse.y"
  12121.   { finish_stmt (); ;
  12122.       break;}
  12123. ! case 632:
  12124. ! #line 3374 "parse.y"
  12125.   { expand_start_try_stmts (); ;
  12126.       break;}
  12127. ! case 633:
  12128. ! #line 3376 "parse.y"
  12129.   { expand_end_try_stmts ();
  12130.             expand_start_all_catch (); ;
  12131.       break;}
  12132. ! case 634:
  12133. ! #line 3379 "parse.y"
  12134.   { expand_end_all_catch (); ;
  12135.       break;}
  12136. ! case 635:
  12137. ! #line 3387 "parse.y"
  12138.   { expand_end_bindings (0,1,1);
  12139.             poplevel (2,0,0);
  12140.           ;
  12141.       break;}
  12142. ! case 636:
  12143. ! #line 3391 "parse.y"
  12144.   { expand_end_bindings (0,1,1);
  12145.             poplevel (2,0,0);
  12146.           ;
  12147.       break;}
  12148. ! case 637:
  12149. ! #line 3395 "parse.y"
  12150.   { expand_end_bindings (0,1,1);
  12151.             poplevel (2,0,0);
  12152.           ;
  12153.       break;}
  12154. ! case 639:
  12155. ! #line 3403 "parse.y"
  12156.   { emit_line_note (input_filename, lineno); ;
  12157.       break;}
  12158. ! case 640:
  12159. ! #line 3405 "parse.y"
  12160.   { expand_end_catch_block (); ;
  12161.       break;}
  12162. ! case 643:
  12163. ! #line 3415 "parse.y"
  12164.   { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
  12165.       break;}
  12166. ! case 644:
  12167. ! #line 3427 "parse.y"
  12168.   { expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ttype),
  12169.                           TREE_VALUE (yyvsp[-1].ttype)); ;
  12170.       break;}
  12171. ! case 645:
  12172. ! #line 3433 "parse.y"
  12173.   { tree label;
  12174.           do_label:
  12175.             label = define_label (input_filename, lineno, yyvsp[-1].ttype);
  12176. --- 6928,7010 ----
  12177.             finish_stmt ();
  12178.           ;
  12179.       break;}
  12180. ! case 625:
  12181. ! #line 3351 "parse.y"
  12182.   { emit_line_note (input_filename, lineno);
  12183.             expand_computed_goto (yyvsp[-1].ttype); ;
  12184.       break;}
  12185. ! case 626:
  12186. ! #line 3354 "parse.y"
  12187.   { tree decl;
  12188.             emit_line_note (input_filename, lineno);
  12189.             decl = lookup_label (yyvsp[-1].ttype);
  12190.             TREE_USED (decl) = 1;
  12191.             expand_goto (decl); ;
  12192.       break;}
  12193. ! case 627:
  12194. ! #line 3360 "parse.y"
  12195.   { finish_stmt (); ;
  12196.       break;}
  12197. ! case 628:
  12198. ! #line 3362 "parse.y"
  12199.   { error ("label must be followed by statement");
  12200.             yyungetc ('}', 0);
  12201.             finish_stmt (); ;
  12202.       break;}
  12203. ! case 629:
  12204. ! #line 3366 "parse.y"
  12205.   { finish_stmt (); ;
  12206.       break;}
  12207. ! case 631:
  12208. ! #line 3372 "parse.y"
  12209.   { expand_start_try_stmts (); ;
  12210.       break;}
  12211. ! case 632:
  12212. ! #line 3374 "parse.y"
  12213.   { expand_end_try_stmts ();
  12214.             expand_start_all_catch (); ;
  12215.       break;}
  12216. ! case 633:
  12217. ! #line 3377 "parse.y"
  12218.   { expand_end_all_catch (); ;
  12219.       break;}
  12220. ! case 634:
  12221. ! #line 3385 "parse.y"
  12222.   { expand_end_bindings (0,1,1);
  12223.             poplevel (2,0,0);
  12224.           ;
  12225.       break;}
  12226. ! case 635:
  12227. ! #line 3389 "parse.y"
  12228.   { expand_end_bindings (0,1,1);
  12229.             poplevel (2,0,0);
  12230.           ;
  12231.       break;}
  12232. ! case 636:
  12233. ! #line 3393 "parse.y"
  12234.   { expand_end_bindings (0,1,1);
  12235.             poplevel (2,0,0);
  12236.           ;
  12237.       break;}
  12238. ! case 638:
  12239. ! #line 3401 "parse.y"
  12240.   { emit_line_note (input_filename, lineno); ;
  12241.       break;}
  12242. ! case 639:
  12243. ! #line 3403 "parse.y"
  12244.   { expand_end_catch_block (); ;
  12245.       break;}
  12246. ! case 642:
  12247. ! #line 3413 "parse.y"
  12248.   { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
  12249.       break;}
  12250. ! case 643:
  12251. ! #line 3425 "parse.y"
  12252.   { expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ttype),
  12253.                           TREE_VALUE (yyvsp[-1].ttype)); ;
  12254.       break;}
  12255. ! case 644:
  12256. ! #line 3431 "parse.y"
  12257.   { tree label;
  12258.           do_label:
  12259.             label = define_label (input_filename, lineno, yyvsp[-1].ttype);
  12260. ***************
  12261. *** 7064,7088 ****
  12262.               expand_label (label);
  12263.           ;
  12264.       break;}
  12265.   case 646:
  12266.   #line 3440 "parse.y"
  12267.   { goto do_label; ;
  12268.       break;}
  12269.   case 647:
  12270. ! #line 3442 "parse.y"
  12271. ! { goto do_label; ;
  12272.       break;}
  12273.   case 648:
  12274.   #line 3447 "parse.y"
  12275. ! { yyval.ttype = NULL_TREE; ;
  12276.       break;}
  12277.   case 649:
  12278.   #line 3449 "parse.y"
  12279. ! { yyval.ttype = yyvsp[-1].ttype; ;
  12280.       break;}
  12281.   case 650:
  12282. ! #line 3451 "parse.y"
  12283. ! { yyval.ttype = NULL_TREE; ;
  12284.       break;}
  12285.   case 651:
  12286.   #line 3456 "parse.y"
  12287. --- 7012,7040 ----
  12288.               expand_label (label);
  12289.           ;
  12290.       break;}
  12291. + case 645:
  12292. + #line 3438 "parse.y"
  12293. + { goto do_label; ;
  12294. +     break;}
  12295.   case 646:
  12296.   #line 3440 "parse.y"
  12297.   { goto do_label; ;
  12298.       break;}
  12299.   case 647:
  12300. ! #line 3445 "parse.y"
  12301. ! { yyval.ttype = NULL_TREE; ;
  12302.       break;}
  12303.   case 648:
  12304.   #line 3447 "parse.y"
  12305. ! { yyval.ttype = yyvsp[-1].ttype; ;
  12306.       break;}
  12307.   case 649:
  12308.   #line 3449 "parse.y"
  12309. ! { yyval.ttype = NULL_TREE; ;
  12310.       break;}
  12311.   case 650:
  12312. ! #line 3454 "parse.y"
  12313. ! { yyval.itype = 0; ;
  12314.       break;}
  12315.   case 651:
  12316.   #line 3456 "parse.y"
  12317. ***************
  12318. *** 7090,7144 ****
  12319.       break;}
  12320.   case 652:
  12321.   #line 3458 "parse.y"
  12322. ! { yyval.itype = 0; ;
  12323.       break;}
  12324.   case 653:
  12325.   #line 3460 "parse.y"
  12326. - { yyval.itype = 1; ;
  12327. -     break;}
  12328. - case 654:
  12329. - #line 3462 "parse.y"
  12330.   { yyval.itype = -1; ;
  12331.       break;}
  12332. ! case 655:
  12333. ! #line 3469 "parse.y"
  12334.   { emit_line_note (input_filename, lineno);
  12335.             yyval.ttype = NULL_TREE; ;
  12336.       break;}
  12337. ! case 656:
  12338. ! #line 3472 "parse.y"
  12339.   { emit_line_note (input_filename, lineno); ;
  12340.       break;}
  12341. ! case 657:
  12342. ! #line 3477 "parse.y"
  12343.   { yyval.ttype = NULL_TREE; ;
  12344.       break;}
  12345. ! case 659:
  12346. ! #line 3480 "parse.y"
  12347.   { yyval.ttype = NULL_TREE; ;
  12348.       break;}
  12349. ! case 660:
  12350. ! #line 3486 "parse.y"
  12351.   { yyval.ttype = NULL_TREE; ;
  12352.       break;}
  12353. ! case 663:
  12354. ! #line 3493 "parse.y"
  12355.   { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  12356.       break;}
  12357. ! case 664:
  12358. ! #line 3498 "parse.y"
  12359.   { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
  12360.       break;}
  12361. ! case 665:
  12362. ! #line 3503 "parse.y"
  12363.   { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
  12364.       break;}
  12365. ! case 666:
  12366. ! #line 3505 "parse.y"
  12367.   { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  12368.       break;}
  12369. ! case 667:
  12370. ! #line 3515 "parse.y"
  12371.   {
  12372.             if (strict_prototype)
  12373.               yyval.ttype = void_list_node;
  12374. --- 7042,7092 ----
  12375.       break;}
  12376.   case 652:
  12377.   #line 3458 "parse.y"
  12378. ! { yyval.itype = 1; ;
  12379.       break;}
  12380.   case 653:
  12381.   #line 3460 "parse.y"
  12382.   { yyval.itype = -1; ;
  12383.       break;}
  12384. ! case 654:
  12385. ! #line 3467 "parse.y"
  12386.   { emit_line_note (input_filename, lineno);
  12387.             yyval.ttype = NULL_TREE; ;
  12388.       break;}
  12389. ! case 655:
  12390. ! #line 3470 "parse.y"
  12391.   { emit_line_note (input_filename, lineno); ;
  12392.       break;}
  12393. ! case 656:
  12394. ! #line 3475 "parse.y"
  12395.   { yyval.ttype = NULL_TREE; ;
  12396.       break;}
  12397. ! case 658:
  12398. ! #line 3478 "parse.y"
  12399.   { yyval.ttype = NULL_TREE; ;
  12400.       break;}
  12401. ! case 659:
  12402. ! #line 3484 "parse.y"
  12403.   { yyval.ttype = NULL_TREE; ;
  12404.       break;}
  12405. ! case 662:
  12406. ! #line 3491 "parse.y"
  12407.   { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  12408.       break;}
  12409. ! case 663:
  12410. ! #line 3496 "parse.y"
  12411.   { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
  12412.       break;}
  12413. ! case 664:
  12414. ! #line 3501 "parse.y"
  12415.   { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
  12416.       break;}
  12417. ! case 665:
  12418. ! #line 3503 "parse.y"
  12419.   { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  12420.       break;}
  12421. ! case 666:
  12422. ! #line 3513 "parse.y"
  12423.   {
  12424.             if (strict_prototype)
  12425.               yyval.ttype = void_list_node;
  12426. ***************
  12427. *** 7146,7184 ****
  12428.               yyval.ttype = NULL_TREE;
  12429.           ;
  12430.       break;}
  12431. ! case 669:
  12432. ! #line 3523 "parse.y"
  12433.   { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
  12434.             TREE_PARMLIST (yyval.ttype) = 1; ;
  12435.       break;}
  12436. ! case 670:
  12437. ! #line 3531 "parse.y"
  12438.   {
  12439.             yyval.ttype = chainon (yyval.ttype, void_list_node);
  12440.             TREE_PARMLIST (yyval.ttype) = 1;
  12441.           ;
  12442.       break;}
  12443. ! case 671:
  12444. ! #line 3536 "parse.y"
  12445.   {
  12446.             TREE_PARMLIST (yyval.ttype) = 1;
  12447.           ;
  12448.       break;}
  12449. ! case 672:
  12450. ! #line 3541 "parse.y"
  12451.   {
  12452.             TREE_PARMLIST (yyval.ttype) = 1;
  12453.           ;
  12454.       break;}
  12455. ! case 673:
  12456. ! #line 3545 "parse.y"
  12457.   {
  12458.             yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); 
  12459.             TREE_PARMLIST (yyval.ttype) = 1;
  12460.           ;
  12461.       break;}
  12462. ! case 674:
  12463. ! #line 3550 "parse.y"
  12464.   {
  12465.             /* ARM $8.2.5 has this as a boxed-off comment.  */
  12466.             if (pedantic)
  12467. --- 7094,7132 ----
  12468.               yyval.ttype = NULL_TREE;
  12469.           ;
  12470.       break;}
  12471. ! case 668:
  12472. ! #line 3521 "parse.y"
  12473.   { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
  12474.             TREE_PARMLIST (yyval.ttype) = 1; ;
  12475.       break;}
  12476. ! case 669:
  12477. ! #line 3529 "parse.y"
  12478.   {
  12479.             yyval.ttype = chainon (yyval.ttype, void_list_node);
  12480.             TREE_PARMLIST (yyval.ttype) = 1;
  12481.           ;
  12482.       break;}
  12483. ! case 670:
  12484. ! #line 3534 "parse.y"
  12485.   {
  12486.             TREE_PARMLIST (yyval.ttype) = 1;
  12487.           ;
  12488.       break;}
  12489. ! case 671:
  12490. ! #line 3539 "parse.y"
  12491.   {
  12492.             TREE_PARMLIST (yyval.ttype) = 1;
  12493.           ;
  12494.       break;}
  12495. ! case 672:
  12496. ! #line 3543 "parse.y"
  12497.   {
  12498.             yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); 
  12499.             TREE_PARMLIST (yyval.ttype) = 1;
  12500.           ;
  12501.       break;}
  12502. ! case 673:
  12503. ! #line 3548 "parse.y"
  12504.   {
  12505.             /* ARM $8.2.5 has this as a boxed-off comment.  */
  12506.             if (pedantic)
  12507. ***************
  12508. *** 7186,7212 ****
  12509.             yyval.ttype = NULL_TREE;
  12510.           ;
  12511.       break;}
  12512. ! case 675:
  12513. ! #line 3557 "parse.y"
  12514.   {
  12515.             TREE_PARMLIST (yyval.ttype) = 1;
  12516.           ;
  12517.       break;}
  12518. ! case 676:
  12519. ! #line 3561 "parse.y"
  12520.   {
  12521.             TREE_PARMLIST (yyval.ttype) = 1;
  12522.           ;
  12523.       break;}
  12524. ! case 677:
  12525. ! #line 3565 "parse.y"
  12526.   {
  12527.             yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype);
  12528.             TREE_PARMLIST (yyval.ttype) = 1;
  12529.           ;
  12530.       break;}
  12531. ! case 678:
  12532. ! #line 3570 "parse.y"
  12533.   {
  12534.             /* This helps us recover from really nasty
  12535.                parse errors, for example, a missing right
  12536. --- 7134,7160 ----
  12537.             yyval.ttype = NULL_TREE;
  12538.           ;
  12539.       break;}
  12540. ! case 674:
  12541. ! #line 3555 "parse.y"
  12542.   {
  12543.             TREE_PARMLIST (yyval.ttype) = 1;
  12544.           ;
  12545.       break;}
  12546. ! case 675:
  12547. ! #line 3559 "parse.y"
  12548.   {
  12549.             TREE_PARMLIST (yyval.ttype) = 1;
  12550.           ;
  12551.       break;}
  12552. ! case 676:
  12553. ! #line 3563 "parse.y"
  12554.   {
  12555.             yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype);
  12556.             TREE_PARMLIST (yyval.ttype) = 1;
  12557.           ;
  12558.       break;}
  12559. ! case 677:
  12560. ! #line 3568 "parse.y"
  12561.   {
  12562.             /* This helps us recover from really nasty
  12563.                parse errors, for example, a missing right
  12564. ***************
  12565. *** 7218,7225 ****
  12566.             yychar = ')';
  12567.           ;
  12568.       break;}
  12569. ! case 679:
  12570. ! #line 3581 "parse.y"
  12571.   {
  12572.             /* This helps us recover from really nasty
  12573.                parse errors, for example, a missing right
  12574. --- 7166,7173 ----
  12575.             yychar = ')';
  12576.           ;
  12577.       break;}
  12578. ! case 678:
  12579. ! #line 3579 "parse.y"
  12580.   {
  12581.             /* This helps us recover from really nasty
  12582.                parse errors, for example, a missing right
  12583. ***************
  12584. *** 7231,7414 ****
  12585.             yychar = ')';
  12586.           ;
  12587.       break;}
  12588.   case 680:
  12589.   #line 3596 "parse.y"
  12590. ! { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  12591.       break;}
  12592.   case 681:
  12593.   #line 3598 "parse.y"
  12594. ! { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
  12595.       break;}
  12596.   case 682:
  12597.   #line 3600 "parse.y"
  12598. ! { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  12599.       break;}
  12600.   case 683:
  12601.   #line 3602 "parse.y"
  12602. - { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  12603. -     break;}
  12604. - case 684:
  12605. - #line 3604 "parse.y"
  12606.   { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
  12607.       break;}
  12608. ! case 686:
  12609. ! #line 3610 "parse.y"
  12610.   { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  12611.       break;}
  12612.   case 687:
  12613.   #line 3633 "parse.y"
  12614.   { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  12615.       break;}
  12616.   case 688:
  12617.   #line 3635 "parse.y"
  12618. ! { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  12619.       break;}
  12620.   case 689:
  12621.   #line 3637 "parse.y"
  12622. ! { yyval.ttype = build_tree_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
  12623.       break;}
  12624.   case 690:
  12625.   #line 3639 "parse.y"
  12626. ! { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  12627.       break;}
  12628.   case 691:
  12629.   #line 3641 "parse.y"
  12630. ! { yyval.ttype = build_tree_list (yyval.ttype, NULL_TREE); ;
  12631.       break;}
  12632.   case 692:
  12633. ! #line 3643 "parse.y"
  12634. ! { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  12635.       break;}
  12636.   case 693:
  12637.   #line 3648 "parse.y"
  12638. - { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  12639. -     break;}
  12640. - case 694:
  12641. - #line 3650 "parse.y"
  12642.   { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
  12643.       break;}
  12644. ! case 697:
  12645. ! #line 3659 "parse.y"
  12646.   { see_typename (); ;
  12647.       break;}
  12648. ! case 698:
  12649. ! #line 3682 "parse.y"
  12650.   {
  12651.             warning ("type specifier omitted for parameter");
  12652.             yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-1].ttype)), NULL_TREE);
  12653.           ;
  12654.       break;}
  12655. ! case 699:
  12656. ! #line 3687 "parse.y"
  12657.   {
  12658.             warning ("type specifier omitted for parameter");
  12659.             yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
  12660.           ;
  12661.       break;}
  12662. ! case 700:
  12663. ! #line 3695 "parse.y"
  12664.   { yyval.ttype = NULL_TREE; ;
  12665.       break;}
  12666. ! case 701:
  12667. ! #line 3697 "parse.y"
  12668.   { yyval.ttype = yyvsp[-1].ttype; ;
  12669.       break;}
  12670. ! case 702:
  12671. ! #line 3702 "parse.y"
  12672.   { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  12673.       break;}
  12674. ! case 704:
  12675. ! #line 3708 "parse.y"
  12676.   {
  12677.             TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
  12678.             yyval.ttype = yyvsp[0].ttype;
  12679.           ;
  12680.       break;}
  12681.   case 705:
  12682.   #line 3716 "parse.y"
  12683. ! { yyval.ttype = NULL_TREE; ;
  12684.       break;}
  12685.   case 706:
  12686.   #line 3718 "parse.y"
  12687. ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  12688.       break;}
  12689.   case 707:
  12690.   #line 3720 "parse.y"
  12691. - { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  12692. -     break;}
  12693. - case 708:
  12694. - #line 3722 "parse.y"
  12695.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  12696.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  12697.           ;
  12698.       break;}
  12699. ! case 709:
  12700. ! #line 3728 "parse.y"
  12701.   { got_scope = NULL_TREE; ;
  12702.       break;}
  12703.   case 710:
  12704.   #line 3733 "parse.y"
  12705. ! { yyval.ttype = ansi_opname[MULT_EXPR]; ;
  12706.       break;}
  12707.   case 711:
  12708.   #line 3735 "parse.y"
  12709. ! { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
  12710.       break;}
  12711.   case 712:
  12712.   #line 3737 "parse.y"
  12713. ! { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
  12714.       break;}
  12715.   case 713:
  12716.   #line 3739 "parse.y"
  12717. ! { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
  12718.       break;}
  12719.   case 714:
  12720.   #line 3741 "parse.y"
  12721. ! { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
  12722.       break;}
  12723.   case 715:
  12724.   #line 3743 "parse.y"
  12725. ! { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
  12726.       break;}
  12727.   case 716:
  12728.   #line 3745 "parse.y"
  12729. ! { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
  12730.       break;}
  12731.   case 717:
  12732.   #line 3747 "parse.y"
  12733. ! { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
  12734.       break;}
  12735.   case 718:
  12736.   #line 3749 "parse.y"
  12737. ! { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
  12738.       break;}
  12739.   case 719:
  12740.   #line 3751 "parse.y"
  12741. ! { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
  12742.       break;}
  12743.   case 720:
  12744.   #line 3753 "parse.y"
  12745. ! { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  12746.       break;}
  12747.   case 721:
  12748.   #line 3755 "parse.y"
  12749. ! { yyval.ttype = ansi_opname[LT_EXPR]; ;
  12750.       break;}
  12751.   case 722:
  12752.   #line 3757 "parse.y"
  12753. ! { yyval.ttype = ansi_opname[GT_EXPR]; ;
  12754.       break;}
  12755.   case 723:
  12756.   #line 3759 "parse.y"
  12757. ! { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  12758.       break;}
  12759.   case 724:
  12760.   #line 3761 "parse.y"
  12761. ! { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
  12762.       break;}
  12763.   case 725:
  12764.   #line 3763 "parse.y"
  12765. ! { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
  12766.       break;}
  12767.   case 726:
  12768.   #line 3765 "parse.y"
  12769. --- 7179,7366 ----
  12770.             yychar = ')';
  12771.           ;
  12772.       break;}
  12773. + case 679:
  12774. + #line 3594 "parse.y"
  12775. + { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  12776. +     break;}
  12777.   case 680:
  12778.   #line 3596 "parse.y"
  12779. ! { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
  12780.       break;}
  12781.   case 681:
  12782.   #line 3598 "parse.y"
  12783. ! { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  12784.       break;}
  12785.   case 682:
  12786.   #line 3600 "parse.y"
  12787. ! { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  12788.       break;}
  12789.   case 683:
  12790.   #line 3602 "parse.y"
  12791.   { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
  12792.       break;}
  12793. ! case 685:
  12794. ! #line 3608 "parse.y"
  12795.   { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  12796.       break;}
  12797. + case 686:
  12798. + #line 3631 "parse.y"
  12799. + { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  12800. +     break;}
  12801.   case 687:
  12802.   #line 3633 "parse.y"
  12803.   { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  12804.       break;}
  12805.   case 688:
  12806.   #line 3635 "parse.y"
  12807. ! { yyval.ttype = build_tree_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
  12808.       break;}
  12809.   case 689:
  12810.   #line 3637 "parse.y"
  12811. ! { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  12812.       break;}
  12813.   case 690:
  12814.   #line 3639 "parse.y"
  12815. ! { yyval.ttype = build_tree_list (yyval.ttype, NULL_TREE); ;
  12816.       break;}
  12817.   case 691:
  12818.   #line 3641 "parse.y"
  12819. ! { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  12820.       break;}
  12821.   case 692:
  12822. ! #line 3646 "parse.y"
  12823. ! { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  12824.       break;}
  12825.   case 693:
  12826.   #line 3648 "parse.y"
  12827.   { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
  12828.       break;}
  12829. ! case 696:
  12830. ! #line 3657 "parse.y"
  12831.   { see_typename (); ;
  12832.       break;}
  12833. ! case 697:
  12834. ! #line 3680 "parse.y"
  12835.   {
  12836.             warning ("type specifier omitted for parameter");
  12837.             yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-1].ttype)), NULL_TREE);
  12838.           ;
  12839.       break;}
  12840. ! case 698:
  12841. ! #line 3685 "parse.y"
  12842.   {
  12843.             warning ("type specifier omitted for parameter");
  12844.             yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
  12845.           ;
  12846.       break;}
  12847. ! case 699:
  12848. ! #line 3693 "parse.y"
  12849.   { yyval.ttype = NULL_TREE; ;
  12850.       break;}
  12851. ! case 700:
  12852. ! #line 3695 "parse.y"
  12853.   { yyval.ttype = yyvsp[-1].ttype; ;
  12854.       break;}
  12855. ! case 701:
  12856. ! #line 3700 "parse.y"
  12857.   { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  12858.       break;}
  12859. ! case 703:
  12860. ! #line 3706 "parse.y"
  12861.   {
  12862.             TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
  12863.             yyval.ttype = yyvsp[0].ttype;
  12864.           ;
  12865.       break;}
  12866. + case 704:
  12867. + #line 3714 "parse.y"
  12868. + { yyval.ttype = NULL_TREE; ;
  12869. +     break;}
  12870.   case 705:
  12871.   #line 3716 "parse.y"
  12872. ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  12873.       break;}
  12874.   case 706:
  12875.   #line 3718 "parse.y"
  12876. ! { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  12877.       break;}
  12878.   case 707:
  12879.   #line 3720 "parse.y"
  12880.   { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  12881.             yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  12882.           ;
  12883.       break;}
  12884. ! case 708:
  12885. ! #line 3726 "parse.y"
  12886.   { got_scope = NULL_TREE; ;
  12887.       break;}
  12888. + case 709:
  12889. + #line 3731 "parse.y"
  12890. + { yyval.ttype = ansi_opname[MULT_EXPR]; ;
  12891. +     break;}
  12892.   case 710:
  12893.   #line 3733 "parse.y"
  12894. ! { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
  12895.       break;}
  12896.   case 711:
  12897.   #line 3735 "parse.y"
  12898. ! { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
  12899.       break;}
  12900.   case 712:
  12901.   #line 3737 "parse.y"
  12902. ! { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
  12903.       break;}
  12904.   case 713:
  12905.   #line 3739 "parse.y"
  12906. ! { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
  12907.       break;}
  12908.   case 714:
  12909.   #line 3741 "parse.y"
  12910. ! { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
  12911.       break;}
  12912.   case 715:
  12913.   #line 3743 "parse.y"
  12914. ! { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
  12915.       break;}
  12916.   case 716:
  12917.   #line 3745 "parse.y"
  12918. ! { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
  12919.       break;}
  12920.   case 717:
  12921.   #line 3747 "parse.y"
  12922. ! { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
  12923.       break;}
  12924.   case 718:
  12925.   #line 3749 "parse.y"
  12926. ! { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
  12927.       break;}
  12928.   case 719:
  12929.   #line 3751 "parse.y"
  12930. ! { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  12931.       break;}
  12932.   case 720:
  12933.   #line 3753 "parse.y"
  12934. ! { yyval.ttype = ansi_opname[LT_EXPR]; ;
  12935.       break;}
  12936.   case 721:
  12937.   #line 3755 "parse.y"
  12938. ! { yyval.ttype = ansi_opname[GT_EXPR]; ;
  12939.       break;}
  12940.   case 722:
  12941.   #line 3757 "parse.y"
  12942. ! { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  12943.       break;}
  12944.   case 723:
  12945.   #line 3759 "parse.y"
  12946. ! { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
  12947.       break;}
  12948.   case 724:
  12949.   #line 3761 "parse.y"
  12950. ! { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
  12951.       break;}
  12952.   case 725:
  12953.   #line 3763 "parse.y"
  12954. ! { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  12955.       break;}
  12956.   case 726:
  12957.   #line 3765 "parse.y"
  12958. ***************
  12959. *** 7416,7494 ****
  12960.       break;}
  12961.   case 727:
  12962.   #line 3767 "parse.y"
  12963. ! { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  12964.       break;}
  12965.   case 728:
  12966.   #line 3769 "parse.y"
  12967. ! { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
  12968.       break;}
  12969.   case 729:
  12970.   #line 3771 "parse.y"
  12971. ! { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
  12972.       break;}
  12973.   case 730:
  12974.   #line 3773 "parse.y"
  12975. ! { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
  12976.       break;}
  12977.   case 731:
  12978.   #line 3775 "parse.y"
  12979. ! { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
  12980.       break;}
  12981.   case 732:
  12982.   #line 3777 "parse.y"
  12983. ! { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
  12984.       break;}
  12985.   case 733:
  12986.   #line 3779 "parse.y"
  12987. ! { yyval.ttype = ansi_opname[COND_EXPR]; ;
  12988.       break;}
  12989.   case 734:
  12990.   #line 3781 "parse.y"
  12991. ! { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  12992.       break;}
  12993.   case 735:
  12994.   #line 3783 "parse.y"
  12995. ! { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
  12996.       break;}
  12997.   case 736:
  12998.   #line 3785 "parse.y"
  12999. ! { yyval.ttype = ansi_opname[MEMBER_REF]; ;
  13000.       break;}
  13001.   case 737:
  13002.   #line 3787 "parse.y"
  13003. ! { yyval.ttype = ansi_opname[CALL_EXPR]; ;
  13004.       break;}
  13005.   case 738:
  13006.   #line 3789 "parse.y"
  13007. ! { yyval.ttype = ansi_opname[ARRAY_REF]; ;
  13008.       break;}
  13009.   case 739:
  13010.   #line 3791 "parse.y"
  13011. ! { yyval.ttype = ansi_opname[NEW_EXPR]; ;
  13012.       break;}
  13013.   case 740:
  13014.   #line 3793 "parse.y"
  13015. ! { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
  13016.       break;}
  13017.   case 741:
  13018.   #line 3795 "parse.y"
  13019. ! { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
  13020.       break;}
  13021.   case 742:
  13022. ! #line 3797 "parse.y"
  13023. ! { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
  13024.       break;}
  13025.   case 743:
  13026.   #line 3800 "parse.y"
  13027. - { yyval.ttype = grokoptypename (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  13028. -     break;}
  13029. - case 744:
  13030. - #line 3802 "parse.y"
  13031.   { yyval.ttype = ansi_opname[ERROR_MARK]; ;
  13032.       break;}
  13033.   }
  13034.      /* the action file gets copied in in place of this dollarsign */
  13035. ! #line 480 "/usr/local/lib/bison.simple"
  13036.   
  13037.     yyvsp -= yylen;
  13038.     yyssp -= yylen;
  13039. --- 7368,7442 ----
  13040.       break;}
  13041.   case 727:
  13042.   #line 3767 "parse.y"
  13043. ! { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
  13044.       break;}
  13045.   case 728:
  13046.   #line 3769 "parse.y"
  13047. ! { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
  13048.       break;}
  13049.   case 729:
  13050.   #line 3771 "parse.y"
  13051. ! { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
  13052.       break;}
  13053.   case 730:
  13054.   #line 3773 "parse.y"
  13055. ! { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
  13056.       break;}
  13057.   case 731:
  13058.   #line 3775 "parse.y"
  13059. ! { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
  13060.       break;}
  13061.   case 732:
  13062.   #line 3777 "parse.y"
  13063. ! { yyval.ttype = ansi_opname[COND_EXPR]; ;
  13064.       break;}
  13065.   case 733:
  13066.   #line 3779 "parse.y"
  13067. ! { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  13068.       break;}
  13069.   case 734:
  13070.   #line 3781 "parse.y"
  13071. ! { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
  13072.       break;}
  13073.   case 735:
  13074.   #line 3783 "parse.y"
  13075. ! { yyval.ttype = ansi_opname[MEMBER_REF]; ;
  13076.       break;}
  13077.   case 736:
  13078.   #line 3785 "parse.y"
  13079. ! { yyval.ttype = ansi_opname[CALL_EXPR]; ;
  13080.       break;}
  13081.   case 737:
  13082.   #line 3787 "parse.y"
  13083. ! { yyval.ttype = ansi_opname[ARRAY_REF]; ;
  13084.       break;}
  13085.   case 738:
  13086.   #line 3789 "parse.y"
  13087. ! { yyval.ttype = ansi_opname[NEW_EXPR]; ;
  13088.       break;}
  13089.   case 739:
  13090.   #line 3791 "parse.y"
  13091. ! { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
  13092.       break;}
  13093.   case 740:
  13094.   #line 3793 "parse.y"
  13095. ! { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
  13096.       break;}
  13097.   case 741:
  13098.   #line 3795 "parse.y"
  13099. ! { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
  13100.       break;}
  13101.   case 742:
  13102. ! #line 3798 "parse.y"
  13103. ! { yyval.ttype = grokoptypename (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  13104.       break;}
  13105.   case 743:
  13106.   #line 3800 "parse.y"
  13107.   { yyval.ttype = ansi_opname[ERROR_MARK]; ;
  13108.       break;}
  13109.   }
  13110.      /* the action file gets copied in in place of this dollarsign */
  13111. ! #line 465 "/gnu/lib/bison.simple"
  13112.   
  13113.     yyvsp -= yylen;
  13114.     yyssp -= yylen;
  13115. ***************
  13116. *** 7684,7690 ****
  13117.     yystate = yyn;
  13118.     goto yynewstate;
  13119.   }
  13120. ! #line 3805 "parse.y"
  13121.   
  13122.   
  13123.   #ifdef SPEW_DEBUG
  13124. --- 7632,7638 ----
  13125.     yystate = yyn;
  13126.     goto yynewstate;
  13127.   }
  13128. ! #line 3803 "parse.y"
  13129.   
  13130.   
  13131.   #ifdef SPEW_DEBUG
  13132. diff -rc --new-file gnat-2.00/final.c /gnu/src/amiga/gnat-2.00/final.c
  13133. *** gnat-2.00/final.c    Wed Sep 21 00:05:02 1994
  13134. --- /gnu/src/amiga/gnat-2.00/final.c    Sat Dec  3 15:02:16 1994
  13135. ***************
  13136. *** 2021,2026 ****
  13137. --- 2021,2030 ----
  13138.   
  13139.     if (write_symbols != NO_DEBUG)
  13140.       {
  13141. + /* Phil.B: 03-Oct-94 added q_anote from albaugh@agames.com (Mike Albaugh) */
  13142. + #if defined(amigados) && defined(ASM_NOTE_SOURCE_LINE)
  13143. +   ASM_NOTE_SOURCE_LINE(file,last_linenum,filename);
  13144. + #endif
  13145.   #ifdef SDB_DEBUGGING_INFO
  13146.         if (write_symbols == SDB_DEBUG
  13147.   #if 0 /* People like having line numbers even in wrong file!  */
  13148. diff -rc --new-file gnat-2.00/gcc.c /gnu/src/amiga/gnat-2.00/gcc.c
  13149. *** gnat-2.00/gcc.c    Mon Nov  7 16:01:42 1994
  13150. --- /gnu/src/amiga/gnat-2.00/gcc.c    Thu Dec 22 19:56:33 1994
  13151. ***************
  13152. *** 207,212 ****
  13153. --- 207,217 ----
  13154.   
  13155.   static int save_temps_flag;
  13156.   
  13157. + #ifdef amigados
  13158. + /* Phil.B: 03-Oct-94 Flag indicating process priority */
  13159. + static int amiga_priority = 0;
  13160. + #endif /* amigados */
  13161.   /* The compiler version.  */
  13162.   
  13163.   static char *compiler_version;
  13164. ***************
  13165. *** 836,841 ****
  13166. --- 841,850 ----
  13167.      {"--pedantic-errors", "-pedantic-errors", 0},
  13168.      {"--pipe", "-pipe", 0},
  13169.      {"--prefix", "-B", "a"},
  13170. + /* Phil.B: 03-Oct-94, allow priority settings for all programs started by gcc */
  13171. + #ifdef amigados
  13172. +    {"--priority", "-P", "a"},
  13173. + #endif /* amigados */
  13174.      {"--preprocess", "-E", 0},
  13175.      {"--print-file-name", "-print-file-name=", "aj"},
  13176.      {"--print-libgcc-file-name", "-print-libgcc-file-name", 0},
  13177. ***************
  13178. *** 984,991 ****
  13179.           }
  13180.           }
  13181.         i++;
  13182. -     }
  13183.   
  13184.         /* Handle old-fashioned options--just copy them through,
  13185.        with their arguments.  */
  13186.         else if (argv[i][0] == '-')
  13187. --- 993,1000 ----
  13188.           }
  13189.           }
  13190.         i++;
  13191.   
  13192. +     }
  13193.         /* Handle old-fashioned options--just copy them through,
  13194.        with their arguments.  */
  13195.         else if (argv[i][0] == '-')
  13196. ***************
  13197. *** 1339,1355 ****
  13198.   #endif
  13199.   
  13200.   #ifndef STANDARD_EXEC_PREFIX
  13201. ! #define STANDARD_EXEC_PREFIX "/usr/local/lib/gcc-lib/"
  13202.   #endif /* !defined STANDARD_EXEC_PREFIX */
  13203.   
  13204.   static char *standard_exec_prefix = STANDARD_EXEC_PREFIX;
  13205. ! static char *standard_exec_prefix_1 = "/usr/lib/gcc/";
  13206.   #ifdef MD_EXEC_PREFIX
  13207.   static char *md_exec_prefix = MD_EXEC_PREFIX;
  13208.   #endif
  13209.   
  13210.   #ifndef STANDARD_STARTFILE_PREFIX
  13211. ! #define STANDARD_STARTFILE_PREFIX "/usr/local/lib/"
  13212.   #endif /* !defined STANDARD_STARTFILE_PREFIX */
  13213.   
  13214.   #ifdef MD_STARTFILE_PREFIX
  13215. --- 1348,1364 ----
  13216.   #endif
  13217.   
  13218.   #ifndef STANDARD_EXEC_PREFIX
  13219. ! #define STANDARD_EXEC_PREFIX "/gnu/lib/gcc-lib/"
  13220.   #endif /* !defined STANDARD_EXEC_PREFIX */
  13221.   
  13222.   static char *standard_exec_prefix = STANDARD_EXEC_PREFIX;
  13223. ! static char *standard_exec_prefix_1 = "/local/lib/gcc-lib/";
  13224.   #ifdef MD_EXEC_PREFIX
  13225.   static char *md_exec_prefix = MD_EXEC_PREFIX;
  13226.   #endif
  13227.   
  13228.   #ifndef STANDARD_STARTFILE_PREFIX
  13229. ! #define STANDARD_STARTFILE_PREFIX "/gnu/lib/"
  13230.   #endif /* !defined STANDARD_STARTFILE_PREFIX */
  13231.   
  13232.   #ifdef MD_STARTFILE_PREFIX
  13233. ***************
  13234. *** 1359,1369 ****
  13235.   static char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
  13236.   #endif
  13237.   static char *standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
  13238. ! static char *standard_startfile_prefix_1 = "/lib/";
  13239. ! static char *standard_startfile_prefix_2 = "/usr/lib/";
  13240.   
  13241.   #ifndef TOOLDIR_BASE_PREFIX
  13242. ! #define TOOLDIR_BASE_PREFIX "/usr/local/"
  13243.   #endif
  13244.   static char *tooldir_base_prefix = TOOLDIR_BASE_PREFIX;
  13245.   static char *tooldir_prefix;
  13246. --- 1368,1378 ----
  13247.   static char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
  13248.   #endif
  13249.   static char *standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
  13250. ! static char *standard_startfile_prefix_1 = "/local/lib/";
  13251. ! static char *standard_startfile_prefix_2 = "/local/lib/";
  13252.   
  13253.   #ifndef TOOLDIR_BASE_PREFIX
  13254. ! #define TOOLDIR_BASE_PREFIX "/local/"
  13255.   #endif
  13256.   static char *tooldir_base_prefix = TOOLDIR_BASE_PREFIX;
  13257.   static char *tooldir_prefix;
  13258. ***************
  13259. *** 1564,1574 ****
  13260. --- 1573,1589 ----
  13261.     base = choose_temp_base_try (P_tmpdir, base);
  13262.   #endif
  13263.   
  13264. + #ifdef amigados
  13265. +   if (!base) /* No env var set */
  13266. +     base = "RAM:";
  13267. + #else
  13268.     base = choose_temp_base_try (concat4 (dir_separator_str, "usr", 
  13269.                                           dir_separator_str, "tmp"), 
  13270.                                   base);
  13271.     base = choose_temp_base_try (concat (dir_separator_str, "tmp"), base);
  13272.    
  13273. + #endif
  13274.     /* If all else fails, use the current directory! */  
  13275.     if (base == (char *)0) base = concat(".", dir_separator_str);
  13276.   
  13277. ***************
  13278. *** 1577,1583 ****
  13279.                                                    "ccXXXXXX")) + 1);
  13280.     strcpy (temp_filename, base);
  13281.     if (len > 0 && temp_filename[len-1] != '/'
  13282. !       && temp_filename[len-1] != DIR_SEPARATOR)
  13283.       temp_filename[len++] = DIR_SEPARATOR;
  13284.     strcpy (temp_filename + len, "ccXXXXXX");
  13285.   
  13286. --- 1592,1602 ----
  13287.                                                    "ccXXXXXX")) + 1);
  13288.     strcpy (temp_filename, base);
  13289.     if (len > 0 && temp_filename[len-1] != '/'
  13290. !       && temp_filename[len-1] != DIR_SEPARATOR
  13291. ! #ifdef amigados
  13292. !                         && temp_filename[len-1] != ':'
  13293. ! #endif
  13294. !     )
  13295.       temp_filename[len++] = DIR_SEPARATOR;
  13296.     strcpy (temp_filename + len, "ccXXXXXX");
  13297.   
  13298. ***************
  13299. *** 1722,1728 ****
  13300.   
  13301.     /* Determine the filename to execute (special case for absolute paths).  */
  13302.   
  13303. !   if (*name == '/' || *name == DIR_SEPARATOR)
  13304.       {
  13305.         if (access (name, mode))
  13306.       {
  13307. --- 1741,1751 ----
  13308.   
  13309.     /* Determine the filename to execute (special case for absolute paths).  */
  13310.   
  13311. !   if (*name == '/' || *name == DIR_SEPARATOR
  13312. ! #ifdef amigados
  13313. !           || index (name, ':')
  13314. ! #endif
  13315. !     )
  13316.       {
  13317.         if (access (name, mode))
  13318.       {
  13319. ***************
  13320. *** 1942,1947 ****
  13321. --- 1965,1971 ----
  13322.      NOT_LAST is nonzero if this is not the last subcommand
  13323.      (i.e. its output should be piped to the next one.)  */
  13324.   
  13325. + #ifndef PEXECUTE
  13326.   #ifdef __MSDOS__
  13327.   
  13328.   #include <process.h>
  13329. ***************
  13330. *** 2143,2150 ****
  13331.   {
  13332.     return (search_flag ? spawnv : spawnvp) (1, program, FIX_ARGV (argv));
  13333.   }
  13334. ! #endif /* OS2 or WINNT */
  13335.   
  13336.   /* Execute the command specified by the arguments on the current line of spec.
  13337.      When using pipes, this includes several piped-together commands
  13338. --- 2167,2174 ----
  13339.   {
  13340.     return (search_flag ? spawnv : spawnvp) (1, program, FIX_ARGV (argv));
  13341.   }
  13342. ! #endif /* OS2 or WINNT*/
  13343. ! #endif /* !defined (PEXECUTE) */
  13344.   
  13345.   /* Execute the command specified by the arguments on the current line of spec.
  13346.      When using pipes, this includes several piped-together commands
  13347. ***************
  13348. *** 2239,2247 ****
  13349. --- 2263,2277 ----
  13350.       {
  13351.         char *string = commands[i].argv[0];
  13352.   
  13353. + #ifdef PEXECUTE
  13354. +       commands[i].pid = PEXECUTE (string != commands[i].prog,
  13355. +                   string, commands[i].argv,
  13356. +                   i + 1 < n_commands);
  13357. + #else
  13358.         commands[i].pid = pexecute (string != commands[i].prog,
  13359.                     string, commands[i].argv,
  13360.                     i + 1 < n_commands);
  13361. + #endif
  13362.   
  13363.         if (string != commands[i].prog)
  13364.       free (string);
  13365. ***************
  13366. *** 2262,2267 ****
  13367. --- 2292,2300 ----
  13368.       int pid;
  13369.       char *prog = "unknown";
  13370.   
  13371. + #ifdef PEXECUTE_RESULT
  13372. +     pid = PEXECUTE_RESULT (status, commands[i]);
  13373. + #else /* PEXECUTE_RESULT */
  13374.   #ifdef __MSDOS__
  13375.           status = pid = commands[i].pid;
  13376.   #else
  13377. ***************
  13378. *** 2271,2276 ****
  13379. --- 2304,2310 ----
  13380.       pid = wait (&status);
  13381.   #endif
  13382.   #endif
  13383. + #endif /* PEXECUTE_RESULT */
  13384.       if (pid < 0)
  13385.         abort ();
  13386.   
  13387. ***************
  13388. *** 2389,2394 ****
  13389. --- 2423,2429 ----
  13390.         if (*endp == PATH_SEPARATOR || *endp == 0)
  13391.           {
  13392.             strncpy (nstore, startp, endp-startp);
  13393. + #ifndef amigados
  13394.             if (endp == startp)
  13395.           strcpy (nstore, concat (".", dir_separator_str));
  13396.             else if (endp[-1] != '/' && endp[-1] != DIR_SEPARATOR)
  13397. ***************
  13398. *** 2398,2403 ****
  13399. --- 2433,2447 ----
  13400.           }
  13401.             else
  13402.           nstore[endp-startp] = 0;
  13403. + #else
  13404. +           if (endp[-1] != '/' && endp[-1] != ':')
  13405. +         {
  13406. +           nstore[endp-startp] = '/';
  13407. +           nstore[endp-startp+1] = 0;
  13408. +         }
  13409. +           else
  13410. +         nstore[endp-startp] = 0;
  13411. + #endif
  13412.             add_prefix (&exec_prefixes, nstore, 0, 0, NULL_PTR);
  13413.             if (*endp == 0)
  13414.           break;
  13415. ***************
  13416. *** 2420,2425 ****
  13417. --- 2464,2470 ----
  13418.         if (*endp == PATH_SEPARATOR || *endp == 0)
  13419.           {
  13420.             strncpy (nstore, startp, endp-startp);
  13421. + #ifndef amigados
  13422.             if (endp == startp)
  13423.           strcpy (nstore, concat (".", dir_separator_str));
  13424.             else if (endp[-1] != '/' && endp[-1] != DIR_SEPARATOR)
  13425. ***************
  13426. *** 2429,2434 ****
  13427. --- 2474,2488 ----
  13428.           }
  13429.             else
  13430.           nstore[endp-startp] = 0;
  13431. + #else
  13432. +           if (endp[-1] != '/' && endp[-1] != ':')
  13433. +         {
  13434. +           nstore[endp-startp] = '/';
  13435. +           nstore[endp-startp+1] = 0;
  13436. +         }
  13437. +           else
  13438. +         nstore[endp-startp] = 0;
  13439. + #endif
  13440.             add_prefix (&startfile_prefixes, nstore, 0, 0, NULL_PTR);
  13441.             if (*endp == 0)
  13442.           break;
  13443. ***************
  13444. *** 2452,2466 ****
  13445.         if (*endp == PATH_SEPARATOR || *endp == 0)
  13446.           {
  13447.             strncpy (nstore, startp, endp-startp);
  13448.             if (endp == startp)
  13449.           strcpy (nstore, concat (".", dir_separator_str));
  13450.             else if (endp[-1] != '/' && endp[-1] != DIR_SEPARATOR)
  13451. !         {
  13452.             nstore[endp-startp] = DIR_SEPARATOR;
  13453.             nstore[endp-startp+1] = 0;
  13454.           }
  13455.             else
  13456.           nstore[endp-startp] = 0;
  13457.             add_prefix (&startfile_prefixes, nstore, 0, 0, NULL_PTR);
  13458.             if (*endp == 0)
  13459.           break;
  13460. --- 2506,2530 ----
  13461.         if (*endp == PATH_SEPARATOR || *endp == 0)
  13462.           {
  13463.             strncpy (nstore, startp, endp-startp);
  13464. + #ifndef amigados
  13465.             if (endp == startp)
  13466.           strcpy (nstore, concat (".", dir_separator_str));
  13467.             else if (endp[-1] != '/' && endp[-1] != DIR_SEPARATOR)
  13468. !           {
  13469.             nstore[endp-startp] = DIR_SEPARATOR;
  13470.             nstore[endp-startp+1] = 0;
  13471.           }
  13472.             else
  13473.           nstore[endp-startp] = 0;
  13474. + #else
  13475. +           if (endp[-1] != '/' && endp[-1] != ':')
  13476. +         {
  13477. +           nstore[endp-startp] = '/';
  13478. +           nstore[endp-startp+1] = 0;
  13479. +         }
  13480. +           else
  13481. +         nstore[endp-startp] = 0;
  13482. + #endif
  13483.             add_prefix (&startfile_prefixes, nstore, 0, 0, NULL_PTR);
  13484.             if (*endp == 0)
  13485.           break;
  13486. ***************
  13487. *** 2480,2485 ****
  13488. --- 2544,2559 ----
  13489.   
  13490.     for (i = 1; i < argc; i++)
  13491.       {
  13492. + #ifdef amigados
  13493. +       /* Phil.B 03-Oct-94 added -priority keyword */
  13494. +       if (! strcmp (argv[i], "-priority"))
  13495. +         {
  13496. +       if (i + 1 == argc)
  13497. +         fatal ("argument to `-priority' is missing");
  13498. +           amiga_priority = atoi(argv[++i]);
  13499. +         }
  13500. +       else
  13501. + #endif /* amigados */
  13502.         if (! strcmp (argv[i], "-dumpspecs"))
  13503.       {
  13504.         printf ("*asm:\n%s\n\n", asm_spec);
  13505. ***************
  13506. *** 2657,2662 ****
  13507. --- 2731,2747 ----
  13508.             }
  13509.             break;
  13510.   
  13511. + #ifdef amigados
  13512. +             case 'P': /* Phil.B 03-Oct-94 added -priority keyword */
  13513. +           if (p[1] == 0 && i + 1 == argc)
  13514. +         fatal ("argument to `-P' is missing");
  13515. +           if (p[1] == 0)
  13516. +         amiga_priority = atoi(argv[++i]);
  13517. +           else
  13518. +         amiga_priority = atoi((char *)(p + 1));
  13519. +           break;
  13520. + #endif /* amigados */
  13521.           case 'v':    /* Print our subcommands and print versions.  */
  13522.             n_switches++;
  13523.             /* If they do anything other than exactly `-v', don't set
  13524. ***************
  13525. *** 2745,2754 ****
  13526.   
  13527.     add_prefix (&exec_prefixes, 
  13528.                 concat3 (tooldir_prefix, "bin", dir_separator_str),
  13529. !           0, 0, NULL_PTR);
  13530.     add_prefix (&startfile_prefixes,
  13531.             concat3 (tooldir_prefix, "lib", dir_separator_str),
  13532. !           0, 0, NULL_PTR);
  13533.   
  13534.     /* More prefixes are enabled in main, after we read the specs file
  13535.        and determine whether this is cross-compilation or not.  */
  13536. --- 2830,2839 ----
  13537.   
  13538.     add_prefix (&exec_prefixes, 
  13539.                 concat3 (tooldir_prefix, "bin", dir_separator_str),
  13540. !             0, 0, NULL_PTR);
  13541.     add_prefix (&startfile_prefixes,
  13542.             concat3 (tooldir_prefix, "lib", dir_separator_str),
  13543. !             0, 0, NULL_PTR);
  13544.   
  13545.     /* More prefixes are enabled in main, after we read the specs file
  13546.        and determine whether this is cross-compilation or not.  */
  13547. ***************
  13548. *** 2829,2835 ****
  13549.         register char *p = &argv[i][1];
  13550.         register int c = *p;
  13551.   
  13552. !       if (c == 'B' || c == 'b' || c == 'V')
  13553.           {
  13554.             /* Skip a separate arg, if any.  */
  13555.             if (p[1] == 0)
  13556. --- 2914,2925 ----
  13557.         register char *p = &argv[i][1];
  13558.         register int c = *p;
  13559.   
  13560. !           /* Phil.B: 05-Oct-94 added support for '-P' */
  13561. !       if (c == 'B' || c == 'b' || c == 'V'
  13562. ! #ifdef amigados
  13563. !           || c == 'P'
  13564. ! #endif /* amigdos */
  13565. ! )
  13566.           {
  13567.             /* Skip a separate arg, if any.  */
  13568.             if (p[1] == 0)
  13569. ***************
  13570. *** 4397,4406 ****
  13571. --- 4487,4500 ----
  13572.         register char *p;
  13573.         int len;
  13574.   
  13575. + #ifdef FILE_NAME_NONDIRECTORY
  13576. +       input_basename = FILE_NAME_NONDIRECTORY (input_filename);
  13577. + #else
  13578.         input_basename = input_filename;
  13579.         for (p = input_filename; *p; p++)
  13580.           if (*p == '/' || *p == DIR_SEPARATOR)
  13581.             input_basename = p + 1;
  13582. + #endif
  13583.   
  13584.         /* Find a suffix starting with the last period,
  13585.            and set basename_length to exclude that suffix.  */
  13586. ***************
  13587. *** 4612,4629 ****
  13588.     return value;
  13589.   }
  13590.   
  13591. ! /* Return a newly-allocated string whose contents concatenate those of s1, s2 */
  13592.   
  13593. ! static char *
  13594.   concat (s1, s2)
  13595.        char *s1, *s2;
  13596. ! {
  13597.     int len1 = strlen (s1);
  13598.     int len2 = strlen (s2);
  13599.     char *result = xmalloc (len1 + len2 + 1);
  13600. !   strcpy (result, s1);
  13601. !   strcpy (result + len1, s2);
  13602.     *(result + len1 + len2) = 0;
  13603.   
  13604.     return result;
  13605. --- 4706,4723 ----
  13606.     return value;
  13607.   }
  13608.   
  13609. ! /* Return a newly-allocated string whose contents concatenate those of s1, s2, s3.  */
  13610.   
  13611. !   static char *
  13612.   concat (s1, s2)
  13613.        char *s1, *s2;
  13614. !   {
  13615.     int len1 = strlen (s1);
  13616.     int len2 = strlen (s2);
  13617.     char *result = xmalloc (len1 + len2 + 1);
  13618. !   
  13619. !     strcpy (result, s1);
  13620. !     strcpy (result + len1, s2);
  13621.     *(result + len1 + len2) = 0;
  13622.   
  13623.     return result;
  13624. diff -rc --new-file gnat-2.00/gcc.info /gnu/src/amiga/gnat-2.00/gcc.info
  13625. *** gnat-2.00/gcc.info    Wed Nov 23 22:54:18 1994
  13626. --- /gnu/src/amiga/gnat-2.00/gcc.info    Thu Dec 22 22:41:36 1994
  13627. ***************
  13628. *** 37,60 ****
  13629.   gcc.info-4: 141516
  13630.   gcc.info-5: 189933
  13631.   gcc.info-6: 221957
  13632. ! gcc.info-7: 269574
  13633. ! gcc.info-8: 319268
  13634. ! gcc.info-9: 368568
  13635. ! gcc.info-10: 417318
  13636. ! gcc.info-11: 458309
  13637. ! gcc.info-12: 495659
  13638. ! gcc.info-13: 545024
  13639. ! gcc.info-14: 588340
  13640. ! gcc.info-15: 637892
  13641. ! gcc.info-16: 670616
  13642. ! gcc.info-17: 718011
  13643. ! gcc.info-18: 763563
  13644. ! gcc.info-19: 813295
  13645. ! gcc.info-20: 862496
  13646. ! gcc.info-21: 912088
  13647. ! gcc.info-22: 956435
  13648. ! gcc.info-23: 999520
  13649. ! gcc.info-24: 1022946
  13650.   
  13651.   Tag Table:
  13652.   (Indirect)
  13653. --- 37,60 ----
  13654.   gcc.info-4: 141516
  13655.   gcc.info-5: 189933
  13656.   gcc.info-6: 221957
  13657. ! gcc.info-7: 269579
  13658. ! gcc.info-8: 319273
  13659. ! gcc.info-9: 368573
  13660. ! gcc.info-10: 417323
  13661. ! gcc.info-11: 458314
  13662. ! gcc.info-12: 495664
  13663. ! gcc.info-13: 545029
  13664. ! gcc.info-14: 588345
  13665. ! gcc.info-15: 637897
  13666. ! gcc.info-16: 670621
  13667. ! gcc.info-17: 718016
  13668. ! gcc.info-18: 763568
  13669. ! gcc.info-19: 813300
  13670. ! gcc.info-20: 862501
  13671. ! gcc.info-21: 912093
  13672. ! gcc.info-22: 956440
  13673. ! gcc.info-23: 999525
  13674. ! gcc.info-24: 1022951
  13675.   
  13676.   Tag Table:
  13677.   (Indirect)
  13678. ***************
  13679. *** 101,290 ****
  13680.   Node: Running Protoize194233
  13681.   Node: Installation200462
  13682.   Node: Configurations221957
  13683. ! Node: Other Dir253053
  13684. ! Node: Cross-Compiler254769
  13685. ! Node: Steps of Cross256600
  13686. ! Node: Configure Cross257718
  13687. ! Node: Tools and Libraries258355
  13688. ! Node: Cross Runtime260798
  13689. ! Node: Cross Headers264552
  13690. ! Node: Build Cross266537
  13691. ! Node: Sun Install268442
  13692. ! Node: VMS Install269574
  13693. ! Node: Collect2279503
  13694. ! Node: Header Dirs282212
  13695. ! Node: C Extensions283626
  13696. ! Node: Statement Exprs286800
  13697. ! Node: Local Labels288694
  13698. ! Node: Labels as Values290756
  13699. ! Node: Nested Functions292621
  13700. ! Node: Constructing Calls296477
  13701. ! Node: Naming Types298534
  13702. ! Node: Typeof299628
  13703. ! Node: Lvalues301493
  13704. ! Node: Conditionals303933
  13705. ! Node: Long Long304824
  13706. ! Node: Complex306268
  13707. ! Node: Zero Length308130
  13708. ! Node: Variable Length308804
  13709. ! Node: Macro Varargs311329
  13710. ! Node: Subscripting313432
  13711. ! Node: Pointer Arith313915
  13712. ! Node: Initializers314480
  13713. ! Node: Constructors314945
  13714. ! Node: Labeled Elements316639
  13715. ! Node: Case Ranges319268
  13716. ! Node: Cast to Union319949
  13717. ! Node: Function Attributes321027
  13718. ! Node: Function Prototypes327904
  13719. ! Node: Dollar Signs329703
  13720. ! Node: Character Escapes330490
  13721. ! Node: Alignment330771
  13722. ! Node: Variable Attributes332247
  13723. ! Node: Inline337966
  13724. ! Node: Extended Asm341843
  13725. ! Node: Asm Labels352130
  13726. ! Node: Explicit Reg Vars353449
  13727. ! Node: Global Reg Vars354697
  13728. ! Node: Local Reg Vars359262
  13729. ! Node: Alternate Keywords360854
  13730. ! Node: Incomplete Enums362256
  13731. ! Node: Function Names363012
  13732. ! Node: C++ Extensions364017
  13733. ! Node: Naming Results365254
  13734. ! Node: Min and Max368568
  13735. ! Node: Destructors and Goto370018
  13736. ! Node: C++ Interface370568
  13737. ! Node: Template Instantiation375791
  13738. ! Node: C++ Signatures381583
  13739. ! Node: Trouble385844
  13740. ! Node: Actual Bugs387412
  13741. ! Node: Installation Problems388681
  13742. ! Node: Cross-Compiler Problems402467
  13743. ! Node: Interoperation403938
  13744. ! Node: External Bugs417318
  13745. ! Node: Incompatibilities419450
  13746. ! Node: Fixed Headers427998
  13747. ! Node: Disappointments430337
  13748. ! Node: C++ Misunderstandings434557
  13749. ! Node: Static Definitions435204
  13750. ! Node: Temporaries436258
  13751. ! Node: Protoize Caveats438462
  13752. ! Node: Non-bugs442417
  13753. ! Node: Warnings and Errors451377
  13754. ! Node: Bugs453148
  13755. ! Node: Bug Criteria454508
  13756. ! Node: Bug Lists456938
  13757. ! Node: Bug Reporting458309
  13758. ! Node: Sending Patches470432
  13759. ! Node: Service475784
  13760. ! Node: VMS476345
  13761. ! Node: Include Files and VMS476738
  13762. ! Node: Global Declarations480628
  13763. ! Node: VMS Misc484937
  13764. ! Node: Portability489263
  13765. ! Node: Interface491026
  13766. ! Node: Passes495659
  13767. ! Node: RTL513002
  13768. ! Node: RTL Objects514890
  13769. ! Node: Accessors517934
  13770. ! Node: Flags523260
  13771. ! Node: Machine Modes532279
  13772. ! Node: Constants539836
  13773. ! Node: Regs and Memory545024
  13774. ! Node: Arithmetic556734
  13775. ! Node: Comparisons562632
  13776. ! Node: Bit Fields566694
  13777. ! Node: Conversions568058
  13778. ! Node: RTL Declarations570946
  13779. ! Node: Side Effects571755
  13780. ! Node: Incdec584302
  13781. ! Node: Assembler586818
  13782. ! Node: Insns588340
  13783. ! Node: Calls609193
  13784. ! Node: Sharing611788
  13785. ! Node: Reading RTL614864
  13786. ! Node: Machine Desc615808
  13787. ! Node: Patterns617661
  13788. ! Node: Example620605
  13789. ! Node: RTL Template621733
  13790. ! Node: Output Template633931
  13791. ! Node: Output Statement637892
  13792. ! Node: Constraints641605
  13793. ! Node: Simple Constraints642608
  13794. ! Node: Multi-Alternative654041
  13795. ! Node: Class Preferences656877
  13796. ! Node: Modifiers657757
  13797. ! Node: Machine Constraints660917
  13798. ! Node: No Constraints669495
  13799. ! Node: Standard Names670616
  13800. ! Node: Pattern Ordering697615
  13801. ! Node: Dependent Patterns698841
  13802. ! Node: Jump Patterns701781
  13803. ! Node: Insn Canonicalizations707597
  13804. ! Node: Peephole Definitions711092
  13805. ! Node: Expander Definitions718011
  13806. ! Node: Insn Splitting725151
  13807. ! Node: Insn Attributes732165
  13808. ! Node: Defining Attributes733212
  13809. ! Node: Expressions735224
  13810. ! Node: Tagging Insns741536
  13811. ! Node: Attr Example745899
  13812. ! Node: Insn Lengths748275
  13813. ! Node: Constant Attributes751639
  13814. ! Node: Delay Slots752799
  13815. ! Node: Function Units756010
  13816. ! Node: Target Macros761680
  13817. ! Node: Driver763563
  13818. ! Node: Run-time Target773870
  13819. ! Node: Storage Layout779877
  13820. ! Node: Type Layout792844
  13821. ! Node: Registers799173
  13822. ! Node: Register Basics800153
  13823. ! Node: Allocation Order804190
  13824. ! Node: Values in Registers805608
  13825. ! Node: Leaf Functions809987
  13826. ! Node: Stack Registers812462
  13827. ! Node: Obsolete Register Macros813295
  13828. ! Node: Register Classes815990
  13829. ! Node: Stack and Calling835562
  13830. ! Node: Frame Layout835998
  13831. ! Node: Frame Registers839439
  13832. ! Node: Elimination843249
  13833. ! Node: Stack Arguments847505
  13834. ! Node: Register Arguments853821
  13835. ! Node: Scalar Return862496
  13836. ! Node: Aggregate Return866459
  13837. ! Node: Caller Saves870174
  13838. ! Node: Function Entry871324
  13839. ! Node: Profiling880252
  13840. ! Node: Varargs883156
  13841. ! Node: Trampolines889980
  13842. ! Node: Library Calls896442
  13843. ! Node: Addressing Modes904500
  13844. ! Node: Condition Code912088
  13845. ! Node: Costs918287
  13846. ! Node: Sections926666
  13847. ! Node: PIC931455
  13848. ! Node: Assembler Format934214
  13849. ! Node: File Framework935219
  13850. ! Node: Data Output939392
  13851. ! Node: Uninitialized Data945316
  13852. ! Node: Label Output948023
  13853. ! Node: Initialization956435
  13854. ! Node: Macros for Initialization962578
  13855. ! Node: Instruction Output966011
  13856. ! Node: Dispatch Tables974006
  13857. ! Node: Alignment Output976383
  13858. ! Node: Debugging Info978123
  13859. ! Node: All Debuggers978732
  13860. ! Node: DBX Options981146
  13861. ! Node: DBX Hooks986031
  13862. ! Node: File Names and DBX989370
  13863. ! Node: SDB and DWARF991343
  13864. ! Node: Cross-compilation993073
  13865. ! Node: Misc999520
  13866. ! Node: Config1016085
  13867. ! Node: Index1022946
  13868.   
  13869.   End Tag Table
  13870. --- 101,290 ----
  13871.   Node: Running Protoize194233
  13872.   Node: Installation200462
  13873.   Node: Configurations221957
  13874. ! Node: Other Dir253058
  13875. ! Node: Cross-Compiler254774
  13876. ! Node: Steps of Cross256605
  13877. ! Node: Configure Cross257723
  13878. ! Node: Tools and Libraries258360
  13879. ! Node: Cross Runtime260803
  13880. ! Node: Cross Headers264557
  13881. ! Node: Build Cross266542
  13882. ! Node: Sun Install268447
  13883. ! Node: VMS Install269579
  13884. ! Node: Collect2279508
  13885. ! Node: Header Dirs282217
  13886. ! Node: C Extensions283631
  13887. ! Node: Statement Exprs286805
  13888. ! Node: Local Labels288699
  13889. ! Node: Labels as Values290761
  13890. ! Node: Nested Functions292626
  13891. ! Node: Constructing Calls296482
  13892. ! Node: Naming Types298539
  13893. ! Node: Typeof299633
  13894. ! Node: Lvalues301498
  13895. ! Node: Conditionals303938
  13896. ! Node: Long Long304829
  13897. ! Node: Complex306273
  13898. ! Node: Zero Length308135
  13899. ! Node: Variable Length308809
  13900. ! Node: Macro Varargs311334
  13901. ! Node: Subscripting313437
  13902. ! Node: Pointer Arith313920
  13903. ! Node: Initializers314485
  13904. ! Node: Constructors314950
  13905. ! Node: Labeled Elements316644
  13906. ! Node: Case Ranges319273
  13907. ! Node: Cast to Union319954
  13908. ! Node: Function Attributes321032
  13909. ! Node: Function Prototypes327909
  13910. ! Node: Dollar Signs329708
  13911. ! Node: Character Escapes330495
  13912. ! Node: Alignment330776
  13913. ! Node: Variable Attributes332252
  13914. ! Node: Inline337971
  13915. ! Node: Extended Asm341848
  13916. ! Node: Asm Labels352135
  13917. ! Node: Explicit Reg Vars353454
  13918. ! Node: Global Reg Vars354702
  13919. ! Node: Local Reg Vars359267
  13920. ! Node: Alternate Keywords360859
  13921. ! Node: Incomplete Enums362261
  13922. ! Node: Function Names363017
  13923. ! Node: C++ Extensions364022
  13924. ! Node: Naming Results365259
  13925. ! Node: Min and Max368573
  13926. ! Node: Destructors and Goto370023
  13927. ! Node: C++ Interface370573
  13928. ! Node: Template Instantiation375796
  13929. ! Node: C++ Signatures381588
  13930. ! Node: Trouble385849
  13931. ! Node: Actual Bugs387417
  13932. ! Node: Installation Problems388686
  13933. ! Node: Cross-Compiler Problems402472
  13934. ! Node: Interoperation403943
  13935. ! Node: External Bugs417323
  13936. ! Node: Incompatibilities419455
  13937. ! Node: Fixed Headers428003
  13938. ! Node: Disappointments430342
  13939. ! Node: C++ Misunderstandings434562
  13940. ! Node: Static Definitions435209
  13941. ! Node: Temporaries436263
  13942. ! Node: Protoize Caveats438467
  13943. ! Node: Non-bugs442422
  13944. ! Node: Warnings and Errors451382
  13945. ! Node: Bugs453153
  13946. ! Node: Bug Criteria454513
  13947. ! Node: Bug Lists456943
  13948. ! Node: Bug Reporting458314
  13949. ! Node: Sending Patches470437
  13950. ! Node: Service475789
  13951. ! Node: VMS476350
  13952. ! Node: Include Files and VMS476743
  13953. ! Node: Global Declarations480633
  13954. ! Node: VMS Misc484942
  13955. ! Node: Portability489268
  13956. ! Node: Interface491031
  13957. ! Node: Passes495664
  13958. ! Node: RTL513007
  13959. ! Node: RTL Objects514895
  13960. ! Node: Accessors517939
  13961. ! Node: Flags523265
  13962. ! Node: Machine Modes532284
  13963. ! Node: Constants539841
  13964. ! Node: Regs and Memory545029
  13965. ! Node: Arithmetic556739
  13966. ! Node: Comparisons562637
  13967. ! Node: Bit Fields566699
  13968. ! Node: Conversions568063
  13969. ! Node: RTL Declarations570951
  13970. ! Node: Side Effects571760
  13971. ! Node: Incdec584307
  13972. ! Node: Assembler586823
  13973. ! Node: Insns588345
  13974. ! Node: Calls609198
  13975. ! Node: Sharing611793
  13976. ! Node: Reading RTL614869
  13977. ! Node: Machine Desc615813
  13978. ! Node: Patterns617666
  13979. ! Node: Example620610
  13980. ! Node: RTL Template621738
  13981. ! Node: Output Template633936
  13982. ! Node: Output Statement637897
  13983. ! Node: Constraints641610
  13984. ! Node: Simple Constraints642613
  13985. ! Node: Multi-Alternative654046
  13986. ! Node: Class Preferences656882
  13987. ! Node: Modifiers657762
  13988. ! Node: Machine Constraints660922
  13989. ! Node: No Constraints669500
  13990. ! Node: Standard Names670621
  13991. ! Node: Pattern Ordering697620
  13992. ! Node: Dependent Patterns698846
  13993. ! Node: Jump Patterns701786
  13994. ! Node: Insn Canonicalizations707602
  13995. ! Node: Peephole Definitions711097
  13996. ! Node: Expander Definitions718016
  13997. ! Node: Insn Splitting725156
  13998. ! Node: Insn Attributes732170
  13999. ! Node: Defining Attributes733217
  14000. ! Node: Expressions735229
  14001. ! Node: Tagging Insns741541
  14002. ! Node: Attr Example745904
  14003. ! Node: Insn Lengths748280
  14004. ! Node: Constant Attributes751644
  14005. ! Node: Delay Slots752804
  14006. ! Node: Function Units756015
  14007. ! Node: Target Macros761685
  14008. ! Node: Driver763568
  14009. ! Node: Run-time Target773875
  14010. ! Node: Storage Layout779882
  14011. ! Node: Type Layout792849
  14012. ! Node: Registers799178
  14013. ! Node: Register Basics800158
  14014. ! Node: Allocation Order804195
  14015. ! Node: Values in Registers805613
  14016. ! Node: Leaf Functions809992
  14017. ! Node: Stack Registers812467
  14018. ! Node: Obsolete Register Macros813300
  14019. ! Node: Register Classes815995
  14020. ! Node: Stack and Calling835567
  14021. ! Node: Frame Layout836003
  14022. ! Node: Frame Registers839444
  14023. ! Node: Elimination843254
  14024. ! Node: Stack Arguments847510
  14025. ! Node: Register Arguments853826
  14026. ! Node: Scalar Return862501
  14027. ! Node: Aggregate Return866464
  14028. ! Node: Caller Saves870179
  14029. ! Node: Function Entry871329
  14030. ! Node: Profiling880257
  14031. ! Node: Varargs883161
  14032. ! Node: Trampolines889985
  14033. ! Node: Library Calls896447
  14034. ! Node: Addressing Modes904505
  14035. ! Node: Condition Code912093
  14036. ! Node: Costs918292
  14037. ! Node: Sections926671
  14038. ! Node: PIC931460
  14039. ! Node: Assembler Format934219
  14040. ! Node: File Framework935224
  14041. ! Node: Data Output939397
  14042. ! Node: Uninitialized Data945321
  14043. ! Node: Label Output948028
  14044. ! Node: Initialization956440
  14045. ! Node: Macros for Initialization962583
  14046. ! Node: Instruction Output966016
  14047. ! Node: Dispatch Tables974011
  14048. ! Node: Alignment Output976388
  14049. ! Node: Debugging Info978128
  14050. ! Node: All Debuggers978737
  14051. ! Node: DBX Options981151
  14052. ! Node: DBX Hooks986036
  14053. ! Node: File Names and DBX989375
  14054. ! Node: SDB and DWARF991348
  14055. ! Node: Cross-compilation993078
  14056. ! Node: Misc999525
  14057. ! Node: Config1016090
  14058. ! Node: Index1022951
  14059.   
  14060.   End Tag Table
  14061. diff -rc --new-file gnat-2.00/gcc.info-6 /gnu/src/amiga/gnat-2.00/gcc.info-6
  14062. *** gnat-2.00/gcc.info-6    Wed Nov 23 22:54:08 1994
  14063. --- /gnu/src/amiga/gnat-2.00/gcc.info-6    Thu Dec 22 22:41:33 1994
  14064. ***************
  14065. *** 669,676 ****
  14066.        to AIX 3.2.4 include a version of the IBM assembler which does not
  14067.        accept debugging directives: assembler updates are available as
  14068.        PTFs.  See the file `README.RS6000' for more details on both of
  14069. !      these problems.  Only AIX is supported on the PowerPC.  GNU CC
  14070. !      does not yet support the 64-bit PowerPC instructions.
  14071.   
  14072.        Objective C does not work on this architecture.
  14073.   
  14074. --- 669,678 ----
  14075.        to AIX 3.2.4 include a version of the IBM assembler which does not
  14076.        accept debugging directives: assembler updates are available as
  14077.        PTFs.  See the file `README.RS6000' for more details on both of
  14078. !      these problems.
  14079. !      Only AIX is supported on the PowerPC.  GNU CC does not yet support
  14080. !      the 64-bit PowerPC instructions.
  14081.   
  14082.        Objective C does not work on this architecture.
  14083.   
  14084. diff -rc --new-file gnat-2.00/genconfig.c /gnu/src/amiga/gnat-2.00/genconfig.c
  14085. *** gnat-2.00/genconfig.c    Wed Jun 15 07:37:00 1994
  14086. --- /gnu/src/amiga/gnat-2.00/genconfig.c    Sat Dec  3 15:02:26 1994
  14087. ***************
  14088. *** 303,310 ****
  14089. --- 303,318 ----
  14090.     printf ("/* Generated automatically by the program `genconfig'\n\
  14091.   from the machine description file `md'.  */\n\n");
  14092.   
  14093. + #ifdef amigados
  14094. +   /* this constant probably better be 14 in general, or a cross compiling
  14095. +      host might choke on some amigados header files... */
  14096. +   /* Allow at least 14 operands for the sake of asm constructs.  */
  14097. +   max_recog_operands = 14;
  14098. + #else
  14099.     /* Allow at least 10 operands for the sake of asm constructs.  */
  14100.     max_recog_operands = 9;  /* We will add 1 later.  */
  14101. + #endif
  14102.     max_dup_operands = 1;
  14103.   
  14104.     /* Read the machine description.  */
  14105. diff -rc --new-file gnat-2.00/ginclude/stdarg.h /gnu/src/amiga/gnat-2.00/ginclude/stdarg.h
  14106. *** gnat-2.00/ginclude/stdarg.h    Sat Jul  9 02:04:26 1994
  14107. --- /gnu/src/amiga/gnat-2.00/ginclude/stdarg.h    Sat Dec  3 15:02:28 1994
  14108. ***************
  14109. *** 156,159 ****
  14110. --- 156,167 ----
  14111.   #endif /* _STDARG_H */
  14112.   
  14113.   #endif /* not _ANSI_STDARG_H_ */
  14114. + #ifdef amigados
  14115. + # ifndef _VA_LIST
  14116. + #  define _VA_LIST
  14117. +    typedef __gnuc_va_list va_list;
  14118. + # endif
  14119. + #endif /* amigados */
  14120.   #endif /* not _STDARG_H */
  14121. diff -rc --new-file gnat-2.00/ginclude/stddef.h /gnu/src/amiga/gnat-2.00/ginclude/stddef.h
  14122. *** gnat-2.00/ginclude/stddef.h    Thu Nov 17 22:26:40 1994
  14123. --- /gnu/src/amiga/gnat-2.00/ginclude/stddef.h    Sat Dec  3 15:02:28 1994
  14124. ***************
  14125. *** 3,8 ****
  14126. --- 3,48 ----
  14127.   #ifndef _ANSI_STDDEF_H
  14128.   #ifndef __STDDEF_H__
  14129.   
  14130. + #ifdef amigados
  14131. + /* GNU libc has special support in this file, 4.3bsd-net2 libc deserves that
  14132. +    just as well. The system headers are ANSI compliant, the used compiler IS
  14133. +    gcc, so it's really ok to use the system header, no reason to hassle
  14134. +    with a jungle of ifdefs. Besides, amigados is only defined if compiling
  14135. +    with host=amigados, it doesn't apply if compiling with target=amigados
  14136. +    on a different host with possibly different system headers. Same thing
  14137. +    would apply to gstdarg.h and gvarargs.h, but those headers are more
  14138. +    easily fixable than this one and I'm sick of writing the same comment
  14139. +    there as well. MW
  14140. +    Include the contents of <stddef.h> inline rather than with a #include,
  14141. +    to avoid infinite include recursion when this file is installed in
  14142. +    gcc's include directory as stddef.h.  (fnf)  */
  14143. + #define _STDDEF_H_
  14144. + #include <machine/ansi.h>
  14145. + typedef    _PTRDIFF_T_    ptrdiff_t;
  14146. + #ifdef    _SIZE_T_
  14147. + typedef    _SIZE_T_    size_t;
  14148. + #undef    _SIZE_T_
  14149. + #endif
  14150. + #ifdef    _WCHAR_T_
  14151. + typedef    _WCHAR_T_    wchar_t;
  14152. + #undef    _WCHAR_T_
  14153. + #endif
  14154. + #ifndef    NULL
  14155. + #define    NULL    0
  14156. + #endif
  14157. + #define    offsetof(type, member)    ((size_t)(&((type *)0)->member))
  14158. + #else /* not amigados */
  14159.   /* Any one of these symbols __need_* means that GNU libc
  14160.      wants us just to define one data type.  So don't define
  14161.      the symbols that indicate this file's entire job has been done.  */
  14162. ***************
  14163. *** 212,217 ****
  14164. --- 252,259 ----
  14165.   #ifndef __WCHAR_TYPE__
  14166.   #define __WCHAR_TYPE__ int
  14167.   #endif
  14168. + #endif /* not  amigados */
  14169.   typedef __WCHAR_TYPE__ wchar_t;
  14170.   #endif
  14171.   #endif
  14172. diff -rc --new-file gnat-2.00/ginclude/varargs.h /gnu/src/amiga/gnat-2.00/ginclude/varargs.h
  14173. *** gnat-2.00/ginclude/varargs.h    Sat Jul  9 02:04:32 1994
  14174. --- /gnu/src/amiga/gnat-2.00/ginclude/varargs.h    Sat Dec  3 15:02:29 1994
  14175. ***************
  14176. *** 173,175 ****
  14177. --- 173,182 ----
  14178.   #ifdef _BSD_VA_LIST
  14179.   #undef _BSD_VA_LIST
  14180.   #endif
  14181. + #ifdef amigados
  14182. + # ifndef _VA_LIST
  14183. + #  define _VA_LIST
  14184. +    typedef __gnuc_va_list va_list;
  14185. + # endif
  14186. + #endif /* amigados */
  14187. diff -rc --new-file gnat-2.00/protoize.c /gnu/src/amiga/gnat-2.00/protoize.c
  14188. *** gnat-2.00/protoize.c    Tue Nov  8 02:27:44 1994
  14189. --- /gnu/src/amiga/gnat-2.00/protoize.c    Sat Dec  3 15:02:35 1994
  14190. ***************
  14191. *** 847,854 ****
  14192. --- 847,859 ----
  14193.   {
  14194.     struct default_include *p;
  14195.   
  14196. + #ifdef FILE_NAME_ABSOLUTE_P
  14197. +   if (! FILE_NAME_ABSOLUTE_P (path))
  14198. +     abort ();
  14199. + #else
  14200.     if (path[0] != '/')
  14201.       abort ();        /* Must be an absolutized filename.  */
  14202. + #endif
  14203.   
  14204.     for (p = include_defaults; p->fname; p++)
  14205.       if (!strncmp (path, p->fname, strlen (p->fname))
  14206. ***************
  14207. *** 1275,1281 ****
  14208. --- 1280,1290 ----
  14209.     {
  14210.       const char *src_p;
  14211.   
  14212. + #ifdef FILE_NAME_ABSOLUTE_P
  14213. +     if (! FILE_NAME_ABSOLUTE_P (rel_filename))
  14214. + #else
  14215.       if (rel_filename[0] != '/')
  14216. + #endif
  14217.         {
  14218.           src_p = cwd2;
  14219.           while (*endp++ = *src_p++)
  14220. ***************
  14221. *** 1538,1543 ****
  14222. --- 1547,1571 ----
  14223.     return ++q;
  14224.   }
  14225.   
  14226. + /* Use this macro to advance a char * over the filename part in a line
  14227. +    read from an aux-info file. */
  14228. + #ifndef amigados
  14229. + /* Version for file systems where the colon has no special meaning */
  14230. + #define ADVANCE_PAST_FILENAME(CP) \
  14231. +   while (* (CP) != ':') (CP)++
  14232. + #else
  14233. + /* Have to heuristically decide whether the colon is part of the filename
  14234. +    or whether it serves to delimit the filename from the line number. If
  14235. +    it's the latter case, then the character following the colon *must*
  14236. +    be a digit. Note that this heuristic fails if the filename starts
  14237. +    with a digit. */
  14238. + #define ADVANCE_PAST_FILENAME(CP) \
  14239. +     while ((CP)[0] != ':' || !isdigit ((CP)[1])) \
  14240. +       (CP)++;
  14241. + #endif
  14242.   /* Given a line from  an aux info file, and a time at which the aux info
  14243.      file it came from was created, check to see if the item described in
  14244.      the line comes from a file which has been modified since the aux info
  14245. ***************
  14246. *** 1559,1566 ****
  14247.     {
  14248.       const char *filename_start = p = l + 3;
  14249.   
  14250. !     while (*p != ':')
  14251. !       p++;
  14252.       filename = (char *) alloca ((size_t) (p - filename_start) + 1);
  14253.       strncpy (filename, filename_start, (size_t) (p - filename_start));
  14254.       filename[p-filename_start] = '\0';
  14255. --- 1587,1593 ----
  14256.     {
  14257.       const char *filename_start = p = l + 3;
  14258.   
  14259. !     ADVANCE_PAST_FILENAME (p);
  14260.       filename = (char *) alloca ((size_t) (p - filename_start) + 1);
  14261.       strncpy (filename, filename_start, (size_t) (p - filename_start));
  14262.       filename[p-filename_start] = '\0';
  14263. ***************
  14264. *** 1617,1624 ****
  14265.       const char *filename_start = p = l + 3;
  14266.       char *filename;
  14267.   
  14268. !     while (*p != ':')
  14269. !       p++;
  14270.       filename = (char *) alloca ((size_t) (p - filename_start) + 1);
  14271.       strncpy (filename, filename_start, (size_t) (p - filename_start));
  14272.       filename[p-filename_start] = '\0';
  14273. --- 1644,1650 ----
  14274.       const char *filename_start = p = l + 3;
  14275.       char *filename;
  14276.   
  14277. !     ADVANCE_PAST_FILENAME (p);
  14278.       filename = (char *) alloca ((size_t) (p - filename_start) + 1);
  14279.       strncpy (filename, filename_start, (size_t) (p - filename_start));
  14280.       filename[p-filename_start] = '\0';
  14281. ***************
  14282. *** 2338,2344 ****
  14283.     {
  14284.       char *p = aux_info_base;
  14285.   
  14286. !     while (*p != ':')
  14287.         p++;
  14288.       p++;
  14289.       while (*p == ' ')
  14290. --- 2364,2372 ----
  14291.     {
  14292.       char *p = aux_info_base;
  14293.   
  14294. !     /* have to make sure at least one space is following the colon to make
  14295. !        sure the colon is not part of the filename */
  14296. !     while (*p != ':' && p[1] != ' ')
  14297.         p++;
  14298.       p++;
  14299.       while (*p == ' ')
  14300. ***************
  14301. *** 2352,2358 ****
  14302.         continue;
  14303.       aux_info_second_line = p;
  14304.       aux_info_relocated_name = 0;
  14305. !     if (invocation_filename[0] != '/')
  14306.         {
  14307.       /* INVOCATION_FILENAME is relative;
  14308.          append it to BASE_SOURCE_FILENAME's dir.  */
  14309. --- 2380,2390 ----
  14310.         continue;
  14311.       aux_info_second_line = p;
  14312.       aux_info_relocated_name = 0;
  14313. ! #ifdef FILE_NAME_ABSOLUTE_P
  14314. !     if (! FILE_NAME_ABSOLUTE_P (invocation_filename))
  14315. ! #else
  14316. !       if (invocation_filename[0] != '/')
  14317. ! #endif
  14318.         {
  14319.       /* INVOCATION_FILENAME is relative;
  14320.          append it to BASE_SOURCE_FILENAME's dir.  */
  14321. ***************
  14322. *** 2441,2447 ****
  14323.   #ifndef UNPROTOIZE
  14324.   
  14325.   /* Check an individual filename for a .c suffix.  If the filename has this
  14326. !    suffix, rename the file such that its suffix is changed to .C.  This
  14327.      function implements the -C option.  */
  14328.   
  14329.   static void
  14330. --- 2473,2479 ----
  14331.   #ifndef UNPROTOIZE
  14332.   
  14333.   /* Check an individual filename for a .c suffix.  If the filename has this
  14334. !    suffix, rename the file such that its suffix is changed to .cc.  This
  14335.      function implements the -C option.  */
  14336.   
  14337.   static void
  14338. ***************
  14339. *** 2450,2456 ****
  14340.   {
  14341.     const char *filename = hp->symbol;
  14342.     int last_char_index = strlen (filename) - 1;
  14343. !   char *const new_filename = (char *) alloca (strlen (filename) + 1);
  14344.   
  14345.     /* Note that we don't care here if the given file was converted or not.  It
  14346.        is possible that the given file was *not* converted, simply because there
  14347. --- 2482,2488 ----
  14348.   {
  14349.     const char *filename = hp->symbol;
  14350.     int last_char_index = strlen (filename) - 1;
  14351. !   char *const new_filename = (char *) alloca (strlen (filename) + 2);
  14352.   
  14353.     /* Note that we don't care here if the given file was converted or not.  It
  14354.        is possible that the given file was *not* converted, simply because there
  14355. ***************
  14356. *** 2462,2469 ****
  14357.       return;
  14358.   
  14359.     strcpy (new_filename, filename);
  14360. !   new_filename[last_char_index] = 'C';
  14361.   
  14362.     if (my_link (filename, new_filename) == -1)
  14363.       {
  14364.         fprintf (stderr, "%s: warning: can't link file `%s' to `%s': %s\n",
  14365. --- 2494,2518 ----
  14366.       return;
  14367.   
  14368.     strcpy (new_filename, filename);
  14369. !   strcat (new_filename + last_char_index, "cc");
  14370. !   
  14371. !   /* use rename(2) if available !! Update config files to include HAVE_rename
  14372. !      if the used OS provides it. Advantages are: it's atomic, it's one
  14373. !      system call compared to two. */
  14374. ! #ifdef HAVE_rename
  14375. !   /* if the mentioned systems (POSIX 1003.1-1988) have rename(2), this has
  14376. !      to be changed to `my_rename' as well. */
  14377.   
  14378. +   if (rename (filename, new_filename) == -1)
  14379. +     {
  14380. +       fprintf (stderr, "%s: warning: can't rename file `%s' to `%s': %s\n",
  14381. +            pname, shortpath (NULL, filename),
  14382. +            shortpath (NULL, new_filename), sys_errlist[errno]);
  14383. +       errors++;
  14384. +       return;
  14385. +     }
  14386. + #else
  14387.     if (my_link (filename, new_filename) == -1)
  14388.       {
  14389.         fprintf (stderr, "%s: warning: can't link file `%s' to `%s': %s\n",
  14390. ***************
  14391. *** 2480,2485 ****
  14392. --- 2529,2535 ----
  14393.         errors++;
  14394.         return;
  14395.       }
  14396. + #endif
  14397.   }
  14398.   
  14399.   #endif /* !defined (UNPROTOIZE) */
  14400. diff -rc --new-file gnat-2.00/real.c /gnu/src/amiga/gnat-2.00/real.c
  14401. *** gnat-2.00/real.c    Sat Nov  5 18:57:08 1994
  14402. --- /gnu/src/amiga/gnat-2.00/real.c    Sat Dec  3 15:02:40 1994
  14403. ***************
  14404. *** 4279,4287 ****
  14405. --- 4279,4293 ----
  14406.     if (y[NE - 1] == 0x7fff)
  14407.       {
  14408.         if (sign)
  14409. + #ifdef amigados
  14410.       sprintf (wstring, " -Infinity ");
  14411.         else
  14412.       sprintf (wstring, " Infinity ");
  14413. + #else
  14414. +     sprintf (wstring, " -NaN ");
  14415. +       else
  14416. +     sprintf (wstring, " NaN ");
  14417. + #endif
  14418.         goto bxit;
  14419.       }
  14420.   
  14421. diff -rc --new-file gnat-2.00/scan-types.sh /gnu/src/amiga/gnat-2.00/scan-types.sh
  14422. *** gnat-2.00/scan-types.sh    Mon Apr 18 07:07:12 1994
  14423. --- /gnu/src/amiga/gnat-2.00/scan-types.sh    Sat Dec  3 15:02:43 1994
  14424. ***************
  14425. *** 1,4 ****
  14426. ! #! /bin/sh
  14427.   # Deduce values of standard ANSI and POSIX types (e.g. size_t, pid_t).
  14428.   # Emits macros definitions for these, and some other types.
  14429.   # Intended to be used to massage the sys-protos.h file.
  14430. --- 1,4 ----
  14431. ! #!/bin/sh
  14432.   # Deduce values of standard ANSI and POSIX types (e.g. size_t, pid_t).
  14433.   # Emits macros definitions for these, and some other types.
  14434.   # Intended to be used to massage the sys-protos.h file.
  14435. diff -rc --new-file gnat-2.00/toplev.c /gnu/src/amiga/gnat-2.00/toplev.c
  14436. *** gnat-2.00/toplev.c    Tue Oct 25 20:09:12 1994
  14437. --- /gnu/src/amiga/gnat-2.00/toplev.c    Thu Dec 22 21:00:43 1994
  14438. ***************
  14439. *** 135,140 ****
  14440. --- 135,153 ----
  14441.   static void print_switch_values ();
  14442.   static char *decl_name ();
  14443.   
  14444. + #ifdef amigados_fails
  14445. + /* Phil.B: 03-Oct-94 Flag indicating process priority */
  14446. + static int amiga_priority = -1;
  14447. + /* Handle new stack allocating */
  14448. + #include <proto/exec.h>
  14449. + struct Task *amiga_task;
  14450. + #if 0
  14451. + struct StackSwapStruct oldstack, newstack;
  14452. + long amiga_stksize = 50000;
  14453. + int amiga_newstack = FALSE;
  14454. + #endif
  14455. + #endif /* amigados */
  14456.   /* Name of program invoked, sans directories.  */
  14457.   
  14458.   char *progname;
  14459. ***************
  14460. *** 530,535 ****
  14461. --- 543,549 ----
  14462.     {"unroll-all-loops", &flag_unroll_all_loops, 1},
  14463.     {"writable-strings", &flag_writable_strings, 1},
  14464.     {"peephole", &flag_no_peephole, 0},
  14465. +   {"large-baserel", &flag_pic, 4},
  14466.     {"force-mem", &flag_force_mem, 1},
  14467.     {"force-addr", &flag_force_addr, 1},
  14468.     {"function-cse", &flag_no_function_cse, 0},
  14469. ***************
  14470. *** 548,553 ****
  14471. --- 562,568 ----
  14472.     {"schedule-insns2", &flag_schedule_insns_after_reload, 1},
  14473.     {"pic", &flag_pic, 1},
  14474.     {"PIC", &flag_pic, 2},
  14475. +   {"baserel", &flag_pic, 3},
  14476.     {"fast-math", &flag_fast_math, 1},
  14477.     {"common", &flag_no_common, 0},
  14478.     {"inhibit-size-directive", &flag_inhibit_size_directive, 1},
  14479. ***************
  14480. *** 1966,1971 ****
  14481. --- 1981,1989 ----
  14482.        FILE *asm_file;
  14483.        char *input_name;
  14484.   {
  14485. + #ifdef FILE_NAME_NONDIRECTORY
  14486. +   char *na = FILE_NAME_NONDIRECTORY (input_name);
  14487. + #else
  14488.     int len = strlen (input_name);
  14489.     char *na = input_name + len;
  14490.   
  14491. ***************
  14492. *** 1976,1981 ****
  14493. --- 1994,2000 ----
  14494.       break;
  14495.         na--;
  14496.       }
  14497. + #endif
  14498.   
  14499.   #ifdef ASM_OUTPUT_MAIN_SOURCE_FILENAME
  14500.     ASM_OUTPUT_MAIN_SOURCE_FILENAME (asm_file, na);
  14501. ***************
  14502. *** 3368,3373 ****
  14503. --- 3387,3405 ----
  14504.     }
  14505.   #endif /* RLIMIT_STACK */
  14506.   
  14507. + #ifdef amigados_fails
  14508. +   {
  14509. +     char *envstr;
  14510. + #if 0
  14511. +     if (envstr = getenv("GCCSTACK"))
  14512. +       if ((i = atoi(envstr)) > amiga_stksize) amiga_stksize = i;
  14513. + #endif
  14514. +     if (envstr = getenv("GCCPRIORITY"))
  14515. +       if (((i = atoi(envstr)) > -20) && (i < 20)) amiga_priority = i;
  14516. +   }
  14517. + #endif /* amigados */
  14518.     signal (SIGFPE, float_signal);
  14519.   
  14520.   #ifdef SIGPIPE
  14521. ***************
  14522. *** 3612,3617 ****
  14523. --- 3644,3674 ----
  14524.           pedantic = 1;
  14525.         else if (!strcmp (str, "pedantic-errors"))
  14526.           flag_pedantic_errors = pedantic = 1;
  14527. + #ifdef amigados_fails
  14528. +       else if (!strcmp (str, "priority"))
  14529. +         {
  14530. +           char *p = str + 1;
  14531. +           if (*p)
  14532. +         amiga_priority = atoi (p);
  14533. +               if (amiga_priority < -25)
  14534. +             amiga_priority = -25;
  14535. +               else if (amiga_priority > 25)
  14536. +             amiga_priority = 25;
  14537. +         }
  14538. + #if 0
  14539. +       else if (!strcmp (str, "stacksize"))
  14540. +         {
  14541. +           char *p = str + 1;
  14542. +           long size;
  14543. +           if (*p)
  14544. +         size = atoi (p);
  14545. +               if ((size > 0) && (size > amiga_stksize))
  14546. +             amiga_stksize = size;
  14547. +         }
  14548. + #endif
  14549. + #endif /* amigados */
  14550.         else if (!strcmp (str, "quiet"))
  14551.           quiet_flag = 1;
  14552.         else if (!strcmp (str, "version"))
  14553. ***************
  14554. *** 3861,3866 ****
  14555. --- 3918,3955 ----
  14556.       filename = argv[i];
  14557.       }
  14558.   
  14559. + #ifdef amigados_fails
  14560. +   Forbid();
  14561. +   amiga_task = FindTask(NULL);
  14562. + #if 0
  14563. +   oldstack.stk_Lower = amiga_task->tc_SPLower;
  14564. +   oldstack.stk_Upper = amiga_task->tc_SPUpper;
  14565. +   oldstack.stk_Pointer = amiga_task->tc_SPReg;
  14566. +   newstack.stk_Lower = (APTR)((long)oldstack.stk_Upper - (long)oldstack.stk_Lower);
  14567. + #endif
  14568. +   Permit();
  14569. +   SetTaskPri(amiga_task, amiga_priority);
  14570. + #if 0
  14571. +   /* Allocate new stack (50000 default). First check if new stack > existing
  14572. +      stacksize */
  14573. +   amiga_newstack = FALSE;
  14574. +   if ((long)newstack.stk_Lower < amiga_stksize) {
  14575. +     Forbid();
  14576. +     if (newstack.stk_Lower = (APTR)malloc(amiga_stksize)) {
  14577. +       long stk_offset = (long)oldstack.stk_Upper - (long)oldstack.stk_Pointer;
  14578. +       amiga_newstack = TRUE;
  14579. +       newstack.stk_Upper = (APTR)((long)newstack.stk_Lower + amiga_stksize);
  14580. +       newstack.stk_Pointer = (APTR)((long)newstack.stk_Upper - stk_offset);
  14581. +       bcopy(oldstack.stk_Pointer, newstack.stk_Pointer, stk_offset);
  14582. +       StackSwap(&newstack);
  14583. +     } else
  14584. +       error("Can't allocate new %ld stack", amiga_stksize);
  14585. +     Permit();
  14586. +   }
  14587. + #endif
  14588. + #endif /* amigados */
  14589.     /* Initialize for bytecode output.  A good idea to do this as soon as
  14590.        possible after the "-f" options have been parsed. */
  14591.     if (output_bytecode)
  14592. ***************
  14593. *** 3947,3953 ****
  14594.   
  14595.     compile_file (filename);
  14596.   
  14597. ! #if !defined(OS2) && !defined(VMS) && !defined(WINNT)
  14598.     if (flag_print_mem)
  14599.       {
  14600.   #ifdef __alpha
  14601. --- 4036,4042 ----
  14602.   
  14603.     compile_file (filename);
  14604.   
  14605. ! #if !defined(OS2) && !defined(VMS) && !defined(WINNT) && !defined(amigados)
  14606.     if (flag_print_mem)
  14607.       {
  14608.   #ifdef __alpha
  14609. ***************
  14610. *** 3965,3971 ****
  14611.         system ("ps v");
  14612.   #endif /* not USG */
  14613.       }
  14614. ! #endif /* not OS2 and not VMS and not WINNT */
  14615.   
  14616.     if (errorcount)
  14617.       exit (FATAL_EXIT_CODE);
  14618. --- 4054,4069 ----
  14619.         system ("ps v");
  14620.   #endif /* not USG */
  14621.       }
  14622. ! #endif /* not OS2 and not VMS and not WINNT and not amigados*/
  14623. ! #if 0
  14624. !   if (amiga_newstack) {
  14625. !     Forbid();
  14626. !     StackSwap(&newstack);
  14627. !     free(newstack.stk_Lower);
  14628. !     Permit();
  14629. !   }
  14630. ! #endif
  14631.   
  14632.     if (errorcount)
  14633.       exit (FATAL_EXIT_CODE);
  14634.