diff options
author | Jeff Law <law@gcc.gnu.org> | 1997-11-02 01:46:26 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-11-02 01:46:26 -0700 |
commit | c3bcf315fa71e2dd20d719a192f4dac3c25e8895 (patch) | |
tree | e8b0579ef78e912fd52ada9b501d9ef921391281 | |
parent | 336b436af56bf1082c50897581fef100f92ad23d (diff) | |
download | gcc-c3bcf315fa71e2dd20d719a192f4dac3c25e8895.zip gcc-c3bcf315fa71e2dd20d719a192f4dac3c25e8895.tar.gz gcc-c3bcf315fa71e2dd20d719a192f4dac3c25e8895.tar.bz2 |
This commit was generated by cvs2svn to compensate for changes in r16274,
which included commits to RCS files with non-trunk default branches.
From-SVN: r16275
-rw-r--r-- | gcc/ORDERS | 1554 | ||||
-rw-r--r-- | gcc/SERVICE | 69 | ||||
-rw-r--r-- | gcc/c-parse.c | 2277 | ||||
-rw-r--r-- | gcc/c-parse.y | 41 | ||||
-rw-r--r-- | gcc/cexp.c | 219 | ||||
-rw-r--r-- | gcc/config/arm/xm-netbsd.h | 8 | ||||
-rw-r--r-- | gcc/objc/objc-parse.c | 3500 | ||||
-rw-r--r-- | gcc/objc/objc-parse.y | 41 |
8 files changed, 3918 insertions, 3791 deletions
@@ -1,6 +1,6 @@ The actual order form follows the descriptions of media contents. -Most of this file is excerpted from the January 1997 GNU's Bulletin. +Most of this file is excerpted from the July 1997 GNU's Bulletin. Please send suggestions for improvements to gnu@prep.ai.mit.edu or the postal address at the end of the order form. Thank You. @@ -8,7 +8,7 @@ address at the end of the order form. Thank You. ----------------------------------------------------------------------------- -FSF Order Form with Descriptions January, 1997 +FSF Order Form with Descriptions July, 1997 @@ -23,13 +23,14 @@ USA World Wide Web: http://www.gnu.ai.mit.edu There are some sections (e.g. ``Forthcoming GNUs'' and ``How to Get GNU Software'') which are not in this Order Form file. If you wish to see them, -ask gnu@prep.ai.mit.edu for the complete July, 1996 GNU's Bulletin. +ask gnu@prep.ai.mit.edu for the complete July, 1997 GNU's Bulletin. Table of Contents ----------------- + New European Distributor Donations Translate Into Free Software Cygnus Matches Donations! Free Software Redistributors Donate @@ -47,8 +48,8 @@ Table of Contents Is There a Maximum Price? January 1997 Compiler Tools Binaries CD-ROM Source Code CD-ROMs + July 1997 Source Code CD-ROMs January 1997 Source Code CD-ROMs - July 1996 Source Code CD-ROMs CD-ROM Subscription Service FSF T-shirt Free Software Foundation Order Form @@ -58,6 +59,21 @@ Table of Contents +New European Distributor +************************ + +The Free Software Foundation now has a European distribution agent: GNU +Distribution Europe, Belgium. + +Users in European Community countries can order GNU manuals, CD-ROMs and +T-shirts through this distribution agent, and get a lower overall price (due +to reduced shipping costs) and quicker delivery. + +Write to GNU Distribution Europe--Belgium, Sportstaat 28, 9000 Gent, Belgium; +Fax: +32-9-2224976; Phone: +32-9-2227542; Email: +`europe-order@gnu.ai.mit.edu'. + + Donations Translate Into Free Software ************************************** @@ -132,17 +148,18 @@ please contact Cygnus: Fax: +1 408 542 9700 Electronic-Mail: `info@cygnus.com' FTP: `ftp.cygnus.com' - World Wide Web: `http://www.Cygnus.com/' Free Software Redistributors Donate *********************************** -In adddition to their conference donation, Red Hat Software has agreed to -donate $1.00 to the FSF for every copy of Red Hat Archives sold. They have -also added a GNU logo to the back of that CD with the words "Supports the -Free Software Foundation". +The French redistributor PACT has agreed to donate $1.00 for each GNU/Linux +CD that they sell. + +Red Hat Software has agreed to donate $1.00 to the FSF for every copy of Red +Hat Archives sold. They have also added a GNU logo to the back of that CD +with the words "Supports the Free Software Foundation". The SNOW 2.1 CD producers added the words "Includes $5 donation to the FSF" to the front of their CD. Potential buyers will know just how much of the @@ -158,7 +175,7 @@ sales. Mr. Hiroshi, Mr. Kojima, and the other authors of the `Linux Primer' in Japan have donated money from the sales of their book. -Infomagic has continued to make sizeable donations to the FSF. +Infomagic has continued to make sizable donations to the FSF. At the request of author Arnold Robbins, Specialized Systems Consultants, Inc. continues to donate 3% of their profits from selling `Effective AWK @@ -191,10 +208,9 @@ Also, press developers for firm information about what kind of development they do or support. Some kinds make much more long-term difference than others. For example, maintaining a separate version of a GNU program contributes very little; maintaining a program on behalf of the GNU Project -<contributes much. Easy new ports contribute little, since someone else -would surely do them; difficult ports such as adding a new CPU to the GNU -compiler or Mach contribute more; major new features & programs contribute -the most. +contributes much. Easy new ports contribute little, since someone else would +surely do them; difficult ports such as adding a new CPU to the GNU compiler +or Mach contribute more; major new features & programs contribute the most. By establishing the idea that supporting further development is "the proper thing to do" when distributing free software for a fee, we can assure a @@ -212,11 +228,10 @@ themselves for general use. By basing your decision partially on this factor, you can help encourage those who profit from free software to contribute to its growth. -Wingnut (SRA's special GNU support group) regularly donates a part of its -income to the FSF to support the development of new GNU programs. Listing -them here is our way of thanking them. Wingnut has made a pledge to donate -10% of their income to the FSF, and has purchased several Deluxe Distribution -packages in Japan. Also see *Note Cygnus Matches Donations!::. +Wingnut (SRA's special GNU support group) supports the FSF by purchasing +Deluxe Distribution packages on a regular basis. In this way they transfer +10% of their income to the FSF. Listing them here is our way of thanking +them. Wingnut Project Software Research Associates, Inc. @@ -235,59 +250,58 @@ Major Changes in GNU Software and Documentation * Hurd Progress (Also *note What Is the Hurd::.) - We have made two test releases of the Hurd, and we will make another - (version 0.2) in this month. Stability is improving, and we have begun - modifying various user-level utilities to understand new Hurd filesystem - features (fileutils, shellutils, tar, etc.). + We have made three test releases of the Hurd, the most recent being 0.2. + The Hurd is currently much more reliable than previously, and various + utilities and file system translators, such as an FTP file system, have + been written that take advantage of the Hurd's unique design. One way for people to help out is to compile and run as much third-party free software as they can; in this way we can find bugs and deficiencies - with some rapidity. Volunteers with a PC are therefore eagerly sought - to get the new 0.2 release and compile their favorite Unix programs and - games. + with some rapidity. Volunteers with a PC are therefore eagerly sought to + get the 0.2 release and compile their favorite Unix programs and games. - * GNU System Progress + Daily snapshots of the Hurd sources are now available for those that + want to see the latest (non-stable) version; see the Hurd page on the + FSF Web site, `http://www.gnu.ai.mit.edu', for more information. - Version 0.2 of the GNU system will be released in this month, to coincide - with the 0.2 release of the Hurd. This complete GNU system is available - by FTP. We are working with Ian Murdock to develop an excellent package - management system for GNU. This will make administering and upgrading - the system much easier. Because of features only the Hurd has, the GNU - package management system will be simpler and more featureful than - similar package systems for various GNU/Linux distributions. + * New Source Code CD! (*note July 1997 Source Code CD-ROMs::.) - * New Source Code CD! (See *Note January 1997 Source Code CD-ROMs::) - - We are releasing the January 1997 (Edition 9) Source Code CD-ROM this + We are releasing the July 1997 (Edition 10) Source Code CD-ROM this month. Once again, it is a two disk set. It includes several new - programs: `gforth', `gpc', <Meta-HTML>, `stow', `units', VRweb, `wget', - `windows32api', and `xinfo'. On the CD-ROMs are full distributions of - X11R6.3, MIT Scheme, Emacs, GCC, and current versions of all other GNU - Software. *Note GNU Software::, for more about these packages. - - * New Compiler Tools CD-ROM - - We are releasing the January 1997 (Edition 4) Compiler Tools Binaries - CD. Support is included for several new operating systems. - - The Compiler Tools Binaries CD-ROM contains executables of the GNU - compiler tools for some systems that don't normally come with a - compiler. This allows users of those systems to compile their own - software without having to buy a proprietary compiler. - - We hope to include more systems with each update of this CD-ROM. If you - can help build binaries for new systems or have one to suggest, please - contact us at either address on the top menu. For more information, see - *Note Compiler Tools Binaries CD-ROM::. - - * New/Updated Manuals since Last Bulletin (See *Note Documentation::) - - Since the last bulletin, we have published new editions of: `Debugging - with GDB', for version 4.16 with a new color cover; `Texinfo' Manual, - edition 2.24; & the `GNU Emacs Manual', for version 19.33 with a new - color cover. `Using and Porting GNU CC' has been re-printed in a - lay-flat bound edition with a new color cover. A new Bison Manual with - a new color cover is planned. + packages: `aegis', `cook', `guavac', `lesstif', `prcs', `rsync', `swarm', + & `vera'. On the CD-ROMs are full distributions of X11R6.3,, + Emacs, GCC, and current versions of all other GNU Software. *Note GNU + Software::, for more about these packages. + + * New/Updated Manuals since Last Bulletin (*note Documentation::.) + + Since the last bulletin, we have published several updated editions of + our manuals (note the price changes): `GNU Emacs Manual', revised for + GNU Emacs version 20, now $30; & `Texinfo Manual', for version 3.11 of + Texinfo, now $25. We hope to have the following available very soon: + `GNU Tar manual', first time in print, freshly reorganized and + rewritten, $20; `GNU Software for MS-Windows and MS-DOS', a book and + CD-ROM set with a variety of GNU software compiled for MS-DOS and + Windows 3.1/95/97/NT, $35 ($140 for corporate orders). Watch our Web + site, `http://www.gnu.ai.mit.edu', for announcements of these + publications. + + * Fonts freed + + A free commercial-quality set of the basic 35 Postscript Type 1 fonts is + now finally available. The copyright holder of these fonts, URW++ + Design and Development Incorporated, has decided to release them under + the GPL. Each font includes `.pfb' (outlines), `.afm' (metrics), and + `.pfm' (Windows printer metrics) files. The fonts are compatible with + Adobe Type Manager and with general Type 1 manipulation tools, as well + as with Ghostscript and other Postscript language interpreters. + + The fonts are available in `ghostscript-fonts-4.0.tar.gz' on the usual + FTP sites. + + * DDD now works with LessTif (Also *note GNU Software::.) Release 2.1.1 + of DDD, the Data Display Debugger, now works with LessTif, a free Motif + clone. * Give to GNU the United Way! @@ -298,126 +312,107 @@ Major Changes in GNU Software and Documentation gift to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111." We especially appreciate the donations from Microsoft matching the United Way donations of their employees. Also see *Note - Donations Translate Into Free Software:: and *Note Cygnus Matches + Donations Translate Into Free Software::, and *Note Cygnus Matches Donations!::. + * Tapes and MS-DOS Diskettes No Longer Available from the FSF + + We no longer offer tapes or MS-DOS diskettes due to very low demand. + * GNU Software Works on MS-DOS (Also *note GNU Software::.) GNU Emacs 19 and many other GNU programs have been ported to MS-DOS for i386/i486/Pentium machines. We ship binaries & sources on the *Note Compiler Tools Binaries CD-ROM::. - * MULE Merge Almost Complete + * The FSF Takes Discover - MULE is the Multi-Lingual Emacs developed by Ken'ichi Handa at the - Electro-Technical Lab in Tsukuba, Japan. Handa has readied the code for - merging into Emacs and we expect to complete the merge soon. - - * GCC (For current status on GCC and GNAT, *note GNU Software::.) + The Free Software Foundation now accepts the Discover card for orders or + donations. We also accept the following: Carte Blanche, Diner's Club, + JCB, MasterCard, Visa, and American Express. Note that we are charged + about 5% of an order's total amount in credit card processing fees; + please consider paying by check instead or adding on a 5% donation to + make up the difference. We do *not* recommend that you send credit card + numbers to us via email, since we have no way of insuring that the + information will remain confidential. - New front ends for GCC are being done for Pascal & Chill. Pascal, - `gpc', stagnated for some years, but should be released by the time you - read this. See `http://agnes.dida.physik.uni-essen.de/~gnu-pascal'. - - * GUILE + * MULE Merge Complete - GUILE is currently available as a test release. GNU's Ubiquitous - Intelligent Language for Extension is an SCM-based library that can make - any ordinary C program extensible. (For SCM info, see "JACAL" in *Note - GNU Software::.) - - Also being developed are SCSH-compatible system call & Tk interfaces, a - module system, dynamic linking support, & a byte-code interpreter. - Support for Emacs Lisp & a more C-like language is coming. + MULE is the Multi-Lingual Emacs developed by Ken'ichi Handa at the + Electrotechnical Lab in Tsukuba, Japan. This code has been merged into + Emacs and is included in Emacs 20. - * Texinfo (For current status, *note GNU Software::.) + * GPC, the GNU Pascal Compiler - Texinfo now provides macro facilities and supports multicolumn tables. - It comes with an `install-info' program that packages can use to update - the `dir' file automatically when they install their Info files. + The GNU Pascal Compiler (GPC) is part of the GNU compiler family, GNU CC + or GCC. It combines a Pascal front end with the proven GNU compiler + backend for code generation and optimization. Unlike utilities such as + p2c, this is a true compiler, not just a converter. - * GNU Common Lisp (For current status, *note GNU Software::.) + Version 2.0 of GPC corresponds to GCC version 2.7.2.1. - Version 2.2.1 of GNU Common Lisp (GCL) was released in December '96. It - now includes a graphical interface to the Tk widget system. All - documentation is now Texinfo-based, with built-in regexp matching used - to access the documentation. A first pass at the Common Lisp condition - system is also included. Version 2.2.1 contains mainly updates to allow - GCL 2.2 to work correctly with current operating system levels, and to - fix bugs. Volunteers to help with the move to the ANSI standard are - most welcome; please contact `schelter@math.utexas.edu'. + The purpose of the GNU Pascal project is to produce a compiler which: + * combines the clarity of Pascal with powerful tools suitable for + real-life programming, - * Experimental Electronic Cash + * supports both the Pascal standard and the Extended Pascal standard + as defined by ISO, ANSI and IEEE. (ISO 7185:1990, ISO/IEC + 10206:1991, ANSI/IEEE 770X3.160-1989) - `http://www.lysator.liu.se/~nisse/NCash' is an experimental - implementation of anonymous electronic cash which is to be released as - free software. + * supports other Pascal standards (UCSD Pascal, Borland Pascal, + Pascal-SC) in so far as this serves the goal of clarity and + usability, - * HTML Professional and GPL + * can generate code for and run on any computer for which the GNU C + Compiler can generate code and run on. - The recent development and release of HTML Professional was made under - the terms of the GNU GPL. In order to facilitate distribution, the GPL - text was re-encoded into this more recent version of HTML, and is now - distributed with HTML Pro. An online copy can be retrieved at - `http://www.arbornet.org/~silmaril/dtds/html/gnugpl.html'. + The current release (2.0) implements Standard Pascal (ISO 7185, level 0) + and a large subset of Extended Pascal (ISO 10206) and Borland Pascal. - HTML Pro is an unofficial version of the HTML DTD. HTML Pro is - distributed for discussion by the `www-html' mailing list. It - composites all other known versions, and allows World Wide Web designers - to use recent experimental additions in a rational and structured manner. - It comes with a `.ced' file for GNU Emacs/psgml-mode and can be gotten at - `ftp://www.ucc.ie/pub/html/htmlpro.{zip|tar.gz|zip.hqx}'. - Documentation is at - `http://www.arbornet.org/~silmaril/dtds/html/htmlpro.html'. + The upcoming release 2.1 features better conformance to the various + Pascal standards, and of course bug fixes. - * Meta-HTML 5.01 Source Release + A growing group of GPC enthusiasts contributes to the project with code, + bug reports or fixes. - Version 5.01 of Universal Access Inc.'s <Meta-HTML> is now available. + `http://agnes.dida.physik.uni-essen.de/~gnu-pascal/', also known as + `http://home.pages.de/~gnu-pascal/', is the GNU Pascal home page; + sources may be downloaded from `ftp://kampi.hut.fi/jtv/gnu-pascal/' + (official) or `ftp://agnes.dida.physik.uni-essen.de/pub/gnu-pascal/' + (development versions). - <Meta-HTML> is a programming language specifically designed to work - within the environment of the World Wide Web. Although it is a genuine - programming language, suitable for large-scale symbolic manipulation, - <Meta-HTML> also provides the most commonly wanted Web functionality as - built-in primitives, so you don't have to write them. You can find out - more about the theory of implementation in this white paper - `http://www.metahtml.com/meta-html/manifesto.html'. + * GUILE - Web pages are authored using HTML and <Meta-HTML> statements freely - intermixed. When a page is requested by a browser, the page is passed - through the <Meta-HTML> engine, which dynamically processes any - <Meta-HTML> statements to produce a final HTML page which is delivered - to the browser. + GUILE 1.2 is released. GNU's Ubiquitous Intelligent Language for + Extension is an SCM-based library that can make any ordinary C program + extensible. (For SCM info, see "JACAL" in *Note GNU Software::.) + Nightly snapshots of the development sources are also available, in + `ftp://ftp.red-bean.com/pub/guile/guile-core-snap.tar.gz'. - The source distribution provides several different interpreter options: - a CGI engine which can be run by any Unix Web server; a full-featured - Web server (mhttpd) with the interpreter built in; a standalone - processor, much like Perl or Tcl; and an interactive debugger, with a - feel similar to GDB (mdb). + Also being developed are SCSH-compatible system call & Tk interfaces, a + module system, dynamic linking support, & a byte-code interpreter. + Support for Emacs Lisp & a more C-like language is coming. - There is a user mailing list: `metahtml-users@metahtml.com'. You can - subscribe on the Web at `http://www.metahtml.com/E-Mail/', or by sending - mail to `metahtml-users-request@metahtml.com'. + * A New FSF T-shirt! - Pre-compiled distribution sets for some systems are available via the - <Meta-HTML> Web site at `http://www.metahtml.com'. + We have a new T-shirt design. *Note FSF T-shirt::, for the description. - * VRweb Browser + * New free game - VRweb, a browser for 3D models on the Web written in the Virtual Reality - Modeling Language (VRML), is now available under the GPL. VRweb works - in conjunction with Web browsers on Unix & Windows platforms. + In August 1995, the action game Abuse by Jonathan Clark was released for + the first time. It wasn't free software then--but now, less than two + years later, the company Crack dot Com has rereleased it as free + software. Abuse was initially developed on Linux-based GNU systems, and + we've included it on our our source CD set. - VRweb is a joint project of IICM (home of Hyper-G), NCSA (home of - Mosaic), & the University of Minnesota (home of Gopher). The software - is freely available in binary & source. VRweb 1.2 for Unix has just - been released, VRweb 1.2 for Windows will follow in due course. You can - download VRweb from `ftp://iicm.tu-graz.ac.at/pub/Hyper-G/VRweb/UNIX' - and numerous mirror sites. Further information on VRweb can be found at - `http://hyperg.iicm.tu-graz.ac.at/vrweb'. + Beyond providing the free software community with a game that many + people enjoy, and code that could be useful for developing other free + games, this demonstrates an important fact about the economic + circumstances of computer game development: most non-free games bring + their profit in a very short period of time. Therefore, a game company + can turn a game into free software fairly soon, with little hardship. - VRML is a non-proprietary, platform-independent file format for 3D - graphics on the Internet. Also see `http://www.sdsc.edu/vrml/', the - VRML Repository. + Let's hope that other game developers follow this example. @@ -485,7 +480,7 @@ command use. GNU manuals are distributed as Texinfo source files, which yield both typeset hardcopy via the TeX document formatting system and online hypertext display via the menu-driven Info system. Source for these manuals comes with our software; here are the manuals that we publish as printed -books. See the *note Free Software Foundation Order Form::., to order them. +books. *Note Free Software Foundation Order Form::, to order them. Most GNU manuals are bound as soft cover books with "lay-flat" bindings. This allows you to open them so they lie flat on a table without creasing the @@ -504,11 +499,12 @@ after each manual's name were current at the time this Bulletin was published. GNU Debugger control, examine and alter data, modify a program's flow of control, and use GDB through GNU Emacs. -The `GNU Emacs Manual' (12th Edition for Version 19.33) describes editing with -GNU Emacs. It explains advanced features, including outline mode and regular -expression search; how to use special programming modes to write languages -like C++ and TeX; how to use the `tags' utility; how to compile and correct -code; how to make your own keybindings; and other elementary customizations. +The `GNU Emacs Manual' (13th Edition for Version 20) describes editing with +GNU Emacs. It explains advanced features, including international character +sets; outline mode and regular expression search; how to use special +programming modes to write languages like C++ and TeX; how to use the `tags' +utility; how to compile and correct code; how to make your own keybindings; +and other elementary customizations. `Programming in Emacs Lisp: An Introduction' (October 1995 Edition 1.04) is for people who are not necessarily interested in programming, but who do want @@ -528,7 +524,7 @@ features of this powerful string and record manipulation language. It clearly delineates those features which are part of POSIX `awk' from `gawk' extensions, providing a comprehensive guide to `awk' program portability. -`GNU Make' (Edition 0.50 for Version 3.75 Beta) describes GNU `make', a +`GNU Make' (Edition 0.51 for Version 3.76 Beta) describes GNU `make', a program used to rebuild parts of other programs. The manual tells how to write "makefiles", which specify how a program is to be compiled and how its files depend on each other. Included are an introductory chapter for novice @@ -580,14 +576,11 @@ includes manuals and reference cards. In the articles describing the contents of each medium, the version number listed after each program name was current when we published this Bulletin. When you order a newer CD-ROM, some of the programs may be newer and therefore the version number higher. -See the *note Free Software Foundation Order Form::., for ordering -information. +*Note Free Software Foundation Order Form::, for ordering information. Some of the contents of our FTP distributions are compressed. We have software on our FTP sites to uncompress these files. Due to patent troubles -with `compress', we use another compression program, `gzip'. (Such -prohibitions on software development are fought by the League for Programming -Freedom; *note What Is the LPF::., for details.) +with `compress', we use another compression program, `gzip'. You may need to build GNU `make' before you build our other software. Some vendors supply no `make' utility at all and some native `make' programs lack @@ -625,13 +618,29 @@ For future programs and features, see *Note Forthcoming GNUs::. Key to cross reference: BinCD January 1997 Binaries CD-ROM - SrcCD January 1997 Source CD-ROMs + SrcCD July 1997 Source CD-ROMs [FSFman] shows that we sell a manual for that package. [FSFrc] shows we sell -a reference card for that package. To order them, see the *note Free -Software Foundation Order Form::. *Note Documentation::, for more -information on the manuals. Source code for each manual or reference card is -included with each package. +a reference card for that package. To order them, *Note Free Software +Foundation Order Form::. *Note Documentation::, for more information on the +manuals. Source code for each manual or reference card is included with each +package. + + * `abuse' *Also *note GNUs Flashes::.* (SrcCD) + + The recently-freed program `abuse' is a dark, side-scrolling game with + Robotron-esque controls: you control your movement with the keyboard and + fire & aim with the mouse. You can get more info at + `http://crack.com/games/abuse'. + + * acct (SrcCD) + + acct is a system accounting package. It includes the programs `ac' + (summariize login accounting), `accton' (turn accounting on or off), + `last' (show who has logged in recently), `lastcomm' (show which + commands have been used), `sa' (summarize process accounting), + `dump-utmp' (print a `utmp' file in human-readable format), & + `dump-acct' (print an `acct' or `pacct' file in human-readable format). * `acm' (SrcCD) @@ -640,10 +649,18 @@ included with each package. one another using heat seeking missiles and cannons. We are working on a more accurate simulation of real airplane flight characteristics. + * aegis (SrcCD) + + Aegis is a transaction-based software configuration management system. + It provides a framework within which a team of developers may work on + many changes to a program concurrently, and Aegis coordinates + integrating these changes back into the master source of the program, + with as little disruption as possible. + * Apache *Also see* `http://www.apache.org/' (SrcCD) Apache is an HTTP server designed as a successor to the NCSA family of - web servers. It adds a significant amount of new functionality, has an + Web servers. It adds a significant amount of new functionality, has an extensive API for modular enhancements, is extremely flexible without compromising speed, and has an active development group and user community. @@ -660,8 +677,9 @@ included with each package. * Automake (SrcCD) - Automake is a tool for generating `Makefile.in's for use with Autoconf. - The generated makefiles are compliant with GNU Makefile standards. + Automake is a tool for generating `Makefile.in' files for use with + Autoconf. The generated makefiles are compliant with GNU Makefile + standards. * BASH (SrcCD) @@ -671,7 +689,7 @@ included with each package. and `vi' modes built-in), and the ability to rebind keys via the `readline' library. BASH conforms to the POSIX 1003.2-1992 standard. - * `bc' (SrcCD) + * bc (SrcCD) `bc' is an interactive algebraic language with arbitrary precision numbers. GNU `bc' follows the POSIX 1003.2-1992 standard with several @@ -694,31 +712,32 @@ included with each package. * Binutils (BinCD, SrcCD) - Binutils includes these programs: `ar', `c++filt', `demangle', `gas', - `gprof', `ld', `nlmconv', `nm', `objcopy', `objdump', `ranlib', `size', - `strings', & `strip'. + Binutils includes these programs: `addr2line', `ar', `c++filt', `gas', + `gprof', `ld', `nm', `objcopy', `objdump', `ranlib', `size', `strings', & + `strip'. Binutils version 2 uses the BFD library. The GNU assembler, `gas', - supports the a29k, Alpha, H8/300, H8/500, HP-PA, i386, i960, m68k, m88k, - MIPS, NS32K, SH, SPARC, Tahoe, Vax, and Z8000 CPUs, and attempts to be + supports the a29k, Alpha, ARM, D10V, H8/300, H8/500, HP-PA, i386, i960, + M32R, m68k, m88k, MIPS, Matsushita 10200 and 10300, NS32K, PowerPC, + RS/6000, SH, SPARC, Tahoe, Vax, and Z8000 CPUs, and attempts to be compatible with many other assemblers for Unix and embedded systems. It can produce mixed C and assembly listings, and includes a macro facility - similar to that in some other assemblers. GNU's linker, `ld', emits - source-line numbered error messages for multiply-defined symbols and - undefined references, and interprets a superset of AT&T's Linker Command - Language, which gives control over where segments are placed in memory. - `nlmconv' converts object files into Novell NetWare Loadable Modules. - `objdump' can disassemble code for most of the CPUs listed above, and - can display other data (e.g., symbols and relocations) from any file - format read by BFD. + similar to that in some other assemblers. GNU's linker, `ld', supports + shared libraries on many systems, emits source-line numbered error + messages for multiply-defined symbols and undefined references, and + interprets a superset of AT&T's Linker Command Language, which gives + control over where segments are placed in memory. `objdump' can + disassemble code for most of the CPUs listed above, and can display + other data (e.g., symbols and relocations) from any file format read by + BFD. - * Bison *See *Note Documentation::* (BinCD, SrcCD) [FSFman, FSFrc] + * Bison (BinCD, SrcCD) [FSFman, FSFrc] Bison is an upwardly compatible replacement for the parser generator `yacc'. Texinfo source for the `Bison Manual' and reference card are included. - * C Library *See *Note Forthcoming GNUs::* (BinCD, SrcCD) [FSFman] + * C Library (`glibc') (BinCD, SrcCD) [FSFman] The GNU C library supports ISO C-1989, ISO C/amendment 1-1995, POSIX 1003.1-1990, POSIX 1003.1b-1993, POSIX 1003.1c-1995 (when the underlying @@ -745,20 +764,19 @@ included with each package. The architecture-dependent parts of the C library have not been updated since development on version 2.0 started, so today it runs out of the box only on GNU/Hurd (all platforms GNU/Hurd also runs on) & GNU/Linux - (ix86, Alpha, m68k, work is in progress for MIPS & Sparc). Other - architectures will become available again as soon as somebody does the - port. + (ix86, Alpha, m68k, MIPS, Sparc, PowerPC; work is in progress for ARM). + Other architectures will become available again as soon as somebody does + the port. - * C++ Library (BinCD, SrcCD) + * C++ Library (`libg++') (BinCD, SrcCD) - The GNU C++ library (libg++) contains an extensive collection of - container and utility classes, including Obstacks, multiple-precision - Integers and Rationals, Complex numbers, BitSets, and BitStrings. + The GNU C++ library (traditionally called `libg++') includes libstdc++, + which implements the library facilities defined by the forthcoming ISO + C++ standard. This includes strings, iostream, and various container + classes. All of this is templatized. - The distribution also includes the libstdc++ library. This implements - library facilities defined by the forthcoming ANSI/ISO C++ standard, - including strings, the iostream library, and a port of the Standard - Template Library. + The package also contains the older libg++ library for backward + compatibility, but new programs should avoid using it. * Calc (SrcCD) [FSFman, FSFrc] @@ -768,8 +786,8 @@ included with each package. features including: choice of algebraic or RPN (stack-based) entry; logarithmic, trigonometric, & financial functions; arbitrary precision; complex numbers; vectors; matrices; dates; times; infinities; sets; - algebraic simplification; & differentiation & integration. It outputs to - `gnuplot', & comes with source for a manual & reference card (*note + algebraic simplification; & differentiation & integration. It outputs + to `gnuplot', & comes with source for a manual & reference card (*note Documentation::.). * `cfengine' (SrcCD) @@ -783,26 +801,26 @@ included with each package. * Chess (SrcCD) - GNU Chess lets most modern computers play a full game of chess. It has - a plain terminal interface, a curses interface, & the unique X Windows - interface `xboard'. Best results are obtained using GNU C to compile - GNU Chess. + GNU Chess enables you to play a game of chess with a computer instead of + a person. It is useful to practice with when there are significant + spare cpu cycles and a real person is unavailable. + + The program offers a plain terminal interface, one using curses, and a + reasonable X Windows interface `xboard'. Best results are obtained by + compiling with GNU C. - Recent improvements include "configure"-capability, correct thinking on - opponent's time, makefile for Windows NT, full Windows 95/NT - compatibility, parallel Unix & Windows 95/NT versions, major crash bug - fix & various other minor improvements & bug fixes. + Improvements this past year are in the Windows-compatible version, + mostly bugfixes. - Stuart Cracraft founded GNU Chess & is the project lead for the 10+ year - history of GNU Chess. Acknowledgements for this past year's work - include Chua Kong Sian, National Supercomputing Research Center, - Singapore; & Conor McCarthy, Biomolecular/Biomed Science at Griffith - University, Australia. + Stuart Cracraft started the GNU mascot back in the mid-1980's. John + Stanback (and innumerable contributors) are responsible for GNU's brain + development and its fair play. Acknowledgements for the past year's + work are due Conor McCarthy. Send bugs to `bug-gnu-chess@prep.ai.mit.edu' & general comments to - `info-gnu-chess@prep.ai.mit.edu'. Visit the author's website at - `http://www.win.net/~msm/index.html'. Play GNU Chess on the web at - `http://www.delorie.com/game-room/chess'. + `info-gnu-chess@prep.ai.mit.edu'. Visit the author's Web site at + `http://www.earthlink.net/~cracraft/index.html'. Play GNU Chess on the + Web at `http://www.delorie.com/game-room/chess'. * CLISP (SrcCD) @@ -812,11 +830,17 @@ included with each package. interpreter, a byte-compiler, a large subset of CLOS & a foreign language interface. The user interface language (English, German, French) can be chosen at run time. An X11 API is available through CLX & Garnet. - CLISP needs only 2 MB of memory & runs on many microcomputers (including - MS-DOS systems, OS/2, Windows NT, Windows 95, Amiga 500-4000, & Acorn - RISC PC) & all kinds of Unix systems. + CLISP needs only 2 MB of memory & runs on all kinds of Unix systems & on + many microcomputers (including MS-DOS systems, OS/2, Windows NT, Windows + 95, Amiga 500-4000, & Acorn RISC PC). See also item "Common Lisp", + which describes GCL, a complete Common Lisp implementation with compiler. - * Common Lisp *Also *note GNUs Flashes::.* (SrcCD) + * CLX (SrcCD) + + CLX is an X Window interface library for GCL. This is separate from the + built-in TK interface. + + * Common Lisp (`gcl') (SrcCD) GNU Common Lisp (GCL, formerly known as Kyoto Common Lisp) is a compiler & interpreter for Common Lisp. GCL is very portable & extremely @@ -841,13 +865,22 @@ included with each package. There is also an Xlib interface via C (xgcl-2). CLX runs with GCL, as does PCL (see "PCL" later in this article). - GCL version 2.2.1 is released under the GNU Library General Public + GCL version 2.2.2 is released under the GNU Library General Public License. - * CLX (SrcCD) + * cook (SrcCD) - CLX is an X Window interface library for GCL. This is separate from the - built-in TK interface. + Cook is a tool for constructing files, and maintaining referential + integrity between files. It is given a set of files to create, and + recipes of how to create and maintain them. In any non-trivial program + there will be prerequisites to performing the actions necessary to + creating any file, such as include files. The `cook' program provides a + mechanism to define these. + + Some features which distinguish Cook include a strong procedural + description language, and fingerprints to supplement file modification + time stamps. There is also a `make2cook' utility included to ease + transition. * `cpio' (SrcCD) @@ -865,6 +898,26 @@ included with each package. management or bug-tracking; these are handled by `make' and GNATS, respectively. + * `cxref' (SrcCD) + + `cxref' is a program that will produce documentation (in LaTeX or HTML) + including cross-references from C program source code. It has been + designed to work with ANSI C, incorporating K&R, and most popular GNU + extensions. The documentation for the subject program is produced from + comments in the code that are appropriately formatted. The cross + referencing comes from the code itself and requires no extra work. + + * DDD (SrcCD) + + The Data Display Debugger (DDD) is a common graphical user interface to + GDB, DBX, and XDB, the popular Unix debuggers. DDD provides a graphical + data display where complex data structures can be explored incrementally + and interactively. DDD has been designed to compete with well-known + commercial debuggers; as of release 2.1.1, DDD also compiles and runs + with LessTif, a free Motif clone, without loss of functionality. For + more details, see the DDD WWW page at + `http://www.cs.tu-bs.de/softech/ddd/'. + * DejaGnu (SrcCD) DejaGnu is a framework to test programs with a single front end for all @@ -883,7 +936,7 @@ included with each package. Chinese) & some non-Unix PC environments, & a library interface that can be used by other free software. - * DJGPP *Also see "GCC" in this article* (BinCD) + * DJGPP *Also see "GCC" below* (BinCD) DJ Delorie has ported GCC/G++ to i386s running DOS. DJGPP has a 32-bit i386 DOS extender with a symbolic debugger, development libraries, & @@ -894,8 +947,8 @@ included with each package. Windows 3.x, OS/2, QEMM, & QDPMI). Version 2 was released in Feb. 1996, & needs a DPMI environment; a free DPMI server is included. - FTP from `ftp.simtel.net' in `/pub/simtelnet/gnu/djgpp/' (or a SimTel - mirror site). + WWW at `http://www.delorie.com/djgpp/' or FTP from `ftp.simtel.net' in + `/pub/simtelnet/gnu/djgpp/' (or a SimTel mirror site). Ask `listserv@delorie.com', to join a DJGPP users mailing list. @@ -930,7 +983,7 @@ included with each package. This is a snapshot of Ohio State's GNU Emacs Lisp FTP Archive. FTP it from `archive.cis.ohio-state.edu' in `/pub/gnu/emacs/elisp-archive'. - * Emacs *Also *note Forthcoming GNUs::.* [FSFman(s), FSFrc] + * Emacs *Also *note GNUs Flashes::.* [FSFman(s), FSFrc] In 1975, Richard Stallman developed the first Emacs, an extensible, customizable real-time display editor & computing environment. GNU Emacs @@ -945,32 +998,24 @@ included with each package. Introduction' are distributed in separate packages. *Note Documentation::. + * Emacs 20 (SrcCD) [FSFman(s), FSFrc] + + Emacs 20.1 was just released recently. Its main new features include + support for many languages and many character codes (the MULE facility) + and a new convenient customization feature. The text-filling commands + handle indented and bulleted paragraphs conveniently; there are new help + facilities for looking up documentation about functions and symbols in + various languages. A new method of file-locking works even when using + NFS. Some dired commands have been made more systematic. + + We believe Emacs 20 operates on the same systems as Emacs 19, but we do + not have confirmation for all of them. + * Emacs 19 (SrcCD) [FSFman(s), FSFrc] Emacs 19 works with character-only terminals & with the X Window System - (with or without an X toolkit). Features new to Emacs 19 include: - multiple X windows ("frames" to Emacs), with a separate X window for the - minibuffer or a minibuffer attached to each X window; use of the X - toolkit; interfacing with the X resource manager; property lists - associated with regions of text in a buffer; multiple fonts & colors - defined by those properties; simplified/improved processing of function - keys, mouse movement & clicks; X selection processing, including - clipboard selections; hooks to be run if the point or mouse moves - outside a certain range; menu bars & popup menus defined by keymaps; - scrollbars; before- & after-change hooks; a source-level debugger for - Emacs Lisp programs; floating point numbers; improved buffer allocation, - including returning storage to the system when a buffer is killed; many - updated libraries; Autoconf-based configuration; support for version - control systems (CVS, RCS, & SCCS); & European character sets. - - Features added recently to Emacs 19 include the ability to open frames - on more than one X display from a single Emacs job, operation under - MS-DOS, MS Windows, and Windows NT, displaying multiple views of an - outline at the same time, Lisp-level timers for real time and idle time, - version control support for CVS and for multiple branches, text - properties for formatting text, commands to edit text properties and - save them in files, and GNU-standard long-named command line options. - Also see *Note Forthcoming GNUs::. + (with or without an X toolkit). It also runs on MS-DOS, MS Windows, and + with multiple-window support on MS Windows 95/NT. Emacs 19 works on: Acorn RISC (RISCiX); Alliant FX/2800 (BSD); Alpha (OSF/1 or GNU/Linux); Apollo (DomainOS); Bull DPX/2 2nn & 3nn (SysV.3) & @@ -993,13 +1038,14 @@ included with each package. * Emacs 18 (SrcCD) [FSFrc] Emacs 18 is several years old. We no longer maintain it, but still - distribute it for those using platforms which Emacs 19 does not support: - Alliant FX/80, Altos 3068, Amdahl (UTS), AT&T (3Bs & 7300 PC), CCI 5/32 - & 6/32, Celerity, DEC (VAX VMS), Dual, Encore (APC, DPC, & XPC), HLH - Orion (original & 1/05), ISI (Optimum V, 80386), Masscomp, NCR Tower 32 - (SVR2 & SVR3), Nixdorf Targon 31, Nu (TI & LMI), pfa50, Plexus, Prime - EXL, Stride (system rel. 2), Tahoe, Tandem Integrity S2, Tektronix 16000, - Triton 88, Ustation E30 (SS5E), Whitechapel (MG1), & Wicat. + distribute it for those using platforms which Emacs 19 does not support. + + * `enscript' (SrcCD) + + `enscript' is an upwardly-compatible replacement for the Adobe + `enscript' program. It formats ASCII files (outputting in Postscript) + and stores generated output to a file or sends it directly to the + printer. * `es' (SrcCD) @@ -1011,13 +1057,6 @@ included with each package. interactive use and scripting, particularly since its quoting rules are much less baroque than the C and Bourne shells. - * `enscript' (SrcCD) - - `enscript' is an upwardly-compatible replacement for the Adobe - `enscript' program. It formats ASCII files (outputting in Postscript) - and stores generated output to a file or sends it directly to the - printer. - * Exim (SrcCD) Exim is a new Internet mail transfer agent, similar in style to Smail 3. @@ -1027,13 +1066,13 @@ included with each package. domains on one mail host ("virtual domains") with several options for the way these are handled. - * `f2c' *Also see "Fortran" below & in *Note Forthcoming GNUs::* + * `f2c' *Also see "Fortran" below & in *Note Forthcoming GNUs::.* (SrcCD) `f2c' converts Fortran-77 source into C or C++, which can be compiled with GCC or G++. Get bug fixes by FTP from site `netlib.bell-labs.com' or by email from `netlib@netlib.bell-labs.com'. For a summary, see the - file `/netlib/f2c/readme.Z'. + file `/netlib/f2c/readme.gz'. * `ffcall' (SrcCD) @@ -1074,13 +1113,6 @@ included with each package. far more efficient scanners than `lex' does. Sources for the `Flex Manual' and reference card are included (*note Documentation::.). - * Fortran (`g77') *Also *note Forthcoming GNUs::.* (SrcCD) - - GNU Fortran (`g77'), developed by Craig Burley, is available for public - beta testing on the Internet. For now, `g77' produces code that is - mostly object-compatible with `f2c' & uses the same run-time library - (`libf2c'). - * Fontutils (SrcCD) The Fontutils convert between font formats, create fonts for use with @@ -1089,9 +1121,16 @@ included with each package. `charspace', `fontconvert', `gsrenderfont', `imageto', `imgrotate', `limn', & `xbfe'. - * GAWK (SrcCD) [FSFman] + * Fortran (`g77') *Also *note Forthcoming GNUs::.* (BinCD, SrcCD) - GAWK is upwardly compatible with the latest POSIX specification of + GNU Fortran (`g77'), developed by Craig Burley, is available for public + beta testing on the Internet. For now, `g77' produces code that is + mostly object-compatible with `f2c' & uses the same run-time library + (`libf2c'). + + * `gawk' (SrcCD) [FSFman] + + `gawk' is upwardly compatible with the latest POSIX specification of `awk'. It also provides several useful extensions not found in other `awk' implementations. Texinfo source for the `The GNU Awk User's Guide' comes with the software (*note Documentation::.). @@ -1102,17 +1141,17 @@ included with each package. styled calendar sheets, eternal holiday lists, and fixed date warning lists. - * GCC *Also *note GNUs Flashes::.* (BinCD, SrcCD) [FSFman] + * GCC (BinCD, SrcCD) [FSFman] Version 2 of the GNU C Compiler supports the languages C, C++, and Objective-C; the source file name suffix or a compiler option selects the language. (Also see "GNAT" later in this article for Ada language supports.) Objective-C support was donated by NeXT. The runtime support - needed to run Objective-C programs is now distributed with GCC (this + needed to run Objective-C programs is now distributed with GCC. (This does not include any Objective-C classes aside from `object', but see - "GNUstep" in *Note Forthcoming GNUs::). As much as possible, G++ is - kept compatible with the evolving draft ANSI standard, but not with - `cfront' (AT&T's compiler), which has been diverging from ANSI. + "GNUstep" in *Note Forthcoming GNUs::.) G++ seeks to be compliant with + the ANSI C++ language standard. See + `http://www.cygnus.com/misc/wp/index.html' for the latest draft. GCC is a fairly portable optimizing compiler which performs many optimizations. They include: automatic register allocation, common @@ -1154,15 +1193,13 @@ included with each package. Using the configuration scheme for GCC, building a cross-compiler is as easy as building a native compiler. - Version 1 of GCC, G++, & libg++ are no longer maintained. - Texinfo source for the `Using and Porting GNU CC' manual is included with GCC (*note Documentation::.). * GDB (BinCD, SrcCD) [FSFman, FSFrc] GDB, the GNU DeBugger, is a source-level debugger for C, C++, & Fortran. - It provides partial support for Modula-2 & Chill. + It provides partial support for Modula-2 & Chill. GDB can debug both C & C++, & will work with executables made by many different compilers; but, C++ debugging will have some limitations if @@ -1179,9 +1216,8 @@ included with each package. language, remote debugging over serial lines or TCP/IP, and watchpoints (breakpoints triggered when the value of an expression changes). - GDB uses a standard remote interface to a simulator library which (so - far) has simulators for the ARM, Hitachi H8/300, Hitachi H8/500, Hitachi - Super-H, PowerPC, WDC 65816, & Zilog Z8001/2. + GDB uses a standard remote interface to a simulator library which + includes simulators for the ARM, Hitachi H8/300, Hitachi SH, & PowerPC. GDB can perform cross-debugging. To say that GDB "targets" a platform means it can perform native or cross-debugging for it. To say that GDB @@ -1190,24 +1226,23 @@ included with each package. GDB can: - * "target" & "host": Amiga 3000 (Amix, NetBSD), DEC Alpha (OSF/1), - DECstation 3100 & 5000 (Ultrix), HP 9000/300 (BSD, HP-UX), HP - 9000/700 (HP-UX 9, 10), i386/i486/Pentium (GNU/Hurd, GNU/Linux, + * "target" & "host": Amiga 3000 (AmigaOS, Amix, NetBSD), DEC Alpha + (OSF/1), DECstation 3100 & 5000 (Ultrix), HP 9000/300 (BSD, HP-UX), + HP 9000/700 (HP-UX 9, 10), i386/i486/Pentium (GNU/Hurd, GNU/Linux, BSD, FreeBSD, LynxOS, NetBSD, SCO, Windows NT), IBM RS/6000 (AIX - 3.x, AIX 4.x, LynxOS), Motorola Delta m88k (System V, CX/UX), PC532 - (NetBSD), Motorola m68k MVME-167 (LynxOS), NCR 3000 (SVR4), PowerPC - (AIX 4.x, MacOS, Windows NT), SGI (Irix V3, V4, V5), SONY News - (NewsOS 3.x), SPARC (LynxOS, NetBSD, Solaris 2.x, & SunOS 4.1 ) - Sun-3 (SunOS 4.1), & Ultracomputer (a29k running Sym1). + 3.x, AIX 4.x, LynxOS), Motorola Delta m88k (System V, CX/UX), + Motorola m68k MVME-167 (LynxOS), NCR 3000 (SVR4), PC532 (NetBSD), + PowerPC (AIX 4.x, MacOS, Windows NT), SGI (Irix V3, V4, V5), SONY + News (NewsOS 3.x), SPARC (LynxOS, NetBSD, Solaris 2.x, & SunOS 4.1), + & Sun-3 (SunOS 4.1). - * "target", but not "host": AMD 29000 (COFF & a.out), ARM (RDP), + * "target", but not "host": AMD 29000, ARM (RDP), Fujitsu SPARClite, Hitachi H8/300, Hitachi SH (CMON, SH3, E7000), HP PA Pro (Winbond, - Oki), i386 (a.out, COFF, OS/9000), i960 (MON960, Nindy, VxWorks), - m68k/m68332 (a.out, COFF, CPU32BUG, EST, ROM68K, VxWorks), MIPS - (ELF, IDT ecoff, PMON, VxWorks), PowerPC (PPCBug), Matra Sparclet, - Fujitsu SPARClite (a.out, COFF), WDC 65816, & Z8000. + Oki), i960 (MON960, Nindy, VxWorks), m68k/m68332 (CPU32BUG, EST, + ROM68K, VxWorks), Matra Sparclet, MIPS (IDT, PMON, VxWorks), + PowerPC (PPCBug), & Z8000. - * "host", but not "target": IBM RT/PC (AIX), HP/Apollo 68k (BSD), & + * "host", but not "target": HP/Apollo 68k (BSD), IBM RT/PC (AIX), & m68k Apple Macintosh (MacOS). Sources for the manual, `Debugging with GDB', and a reference card are included (*note Documentation::.). @@ -1219,37 +1254,37 @@ included with each package. `gdbm' does not ordinarily make sparse files (unlike its Unix and BSD counterparts). - * `gettext' *Also *note Help the GNU Translation Project::.* (SrcCD) - - The GNU `gettext' tool set has everything maintainers need to - internationalize a package's user messages. Once a package has been - internationalized, `gettext''s many tools help translators localize - messages to their native language and automate handling the translation - files. - * Generic NQS (SrcCD) Generic NQS is a network queuing system for spreading batch jobs across a network of machines. It is designed to be simple to install on a heterogeneous network of machines, and has optimizations for running on the high end, symmetric multiprocessing servers that are currently on the - market. It is available for many more UNIX variants than any other + market. It is available for many more Unix variants than any other comparable product, and inter-operates with other NQS systems, including Cray's NQE. * `geomview' *See* `http://www.geom.umn.edu/software/geomview' (SrcCD) - `geomview' is an interactive geometry viewing program, for UNIX systems + `geomview' is an interactive geometry viewing program, for Unix systems with Motif, using X, GL, or OpenGL graphics. It allows multiple - independently controllable objects and cameras. `geomview' provides - interactive control for motion, appearances (including lighting, - shading, and materials), picking on an object, edge or vertex level, and - snapshots in PPM or SGI image files, Postscript, and Renderman RIB - format. `geomview' can be controlled through direct mouse manipulation, - control panels, and keyboard shortcuts. External programs can also - drive desired aspects of the viewer (such as continually loading - changing geometry or controlling the motion of certain objects) while - allowing interactive control of everything else. + independently controllable objects and cameras. External programs may + drive desired aspects of the viewer, e.g. loading changing geometry or + controlling motion, while allowing interactive mouse-and-GUI control of + everything else. Controllable features include motion, appearance + (wireframe, shading, lighting and material properties), mouse-based + selection, snapshoting (PPM or SGI image, Postscript, and RenderMan + formats), display in hyperbolic and spherical spaces, and projection + from higher dimensions. Includes converters to display Mathematica and + Maple 3-D graphics, and limited conversion to/from VRML. + + * `gettext' *Also *note Help the Translation Project::.* (SrcCD) + + The GNU `gettext' tool set has everything maintainers need to + internationalize a package's user messages. Once a package has been + internationalized, `gettext''s many tools help translators localize + messages to their native language and automate handling the translation + files. * `gforth' (SrcCD) @@ -1260,27 +1295,20 @@ included with each package. Ghostscript is an interpreter for the Postscript and PDF graphics languages. - The current version of GNU Ghostscript, 3.33, includes nearly a full - Postscript Level 2 interpreter and a PDF 1.0 interpreter. Significant - new features include: support for anti-aliased characters; the ability - to scan a directory and register all the fonts in it; support for Type 0 - (Japanese / Chinese / Korean) fonts; and the ability to compile all the - external initialization files into the executable. This version can - also run as a 32-bit MS Windows application. + The current version of GNU Ghostscript, 3.53, includes a Postscript + Level 2 interpreter and a PDF 1.1 interpreter (except for encryption). + Significant new features include the ability to convert PDF to + Postscript. - Thanks to the generosity of URW++ (Hamburg, Germany), the low-quality - bitmap-derived fonts distributed with older versions have been replaced - with commercial-quality, hinted outline fonts. - - Ghostscript executes commands in the Postscript language by writing - directly to a printer, drawing on an X window, or writing to files for - printing later or manipulating with other graphics programs. + Ghostscript executes commands in the Postscript and PDF languages by + writing directly to a printer, drawing on an X window, or writing to + files for printing later or manipulating with other graphics programs. Ghostscript includes a C-callable graphics library (for client programs - that do not want to deal with the Postscript language). It also supports - i386/i486/Pentiums running DOS with EGA, VGA or SuperVGA graphics (but - please do *not* ask the FSF staff any questions about this; we do not - use DOS). + that do not want to deal with the Postscript language). It also runs on + MS-DOS, MS Windows, OS/2, OpenVMS, and Mac OS (native on both 68K and + PowerPC) (but please do *not* ask the FSF staff any questions about this; + we do not use these operating systems). * Ghostview (SrcCD) @@ -1310,7 +1338,11 @@ included with each package. previous versions, it is much faster, contains lots of new functions, & has support for arbitrary precision floating-point numbers. - * Gnans (SrcCD) + * GN (SrcCD) + + GN is a gopher/HTTP server. + + * Gnans (SrcCD) Gnans is a program (and language) for the numerical study of deterministic and stochastic dynamical systems. The dynamical systems @@ -1322,8 +1354,8 @@ included with each package. GNAT, a front end for the entire Ada 95 language, including all special needs annexes, is available via anonymous FTP from `cs.nyu.edu' and various mirror sites in `/pub/gnat'. SGI, DEC, and Siemens Nixdorf have - chosen GNU Ada 95 as the Ada compiler for their systems. GNAT is - maintained by Ada Core Technologies. For more information, see + chosen GNU Ada 95 as the Ada compiler for some of their systems. GNAT + is maintained by Ada Core Technologies. For more information, see `http://www.gnat.com'. * GNATS (SrcCD) @@ -1336,6 +1368,10 @@ included with each package. system administration issues, project management, or any number of other applications. + * GnuGo (SrcCD) + + GnuGo plays the game of Go. It is not yet very sophisticated. + * GNUMATH (`gnussl') (SrcCD) GNUMATH is a library (`gnussl') that simplifies scientific programming @@ -1357,25 +1393,9 @@ included with each package. lets the user direct a running Emacs to edit files or evaluate arbitrary Emacs Lisp constructs from another process. - * GnuGo (SrcCD) - - GnuGo plays the game of Go. It is not yet very sophisticated. - - * `gperf' (SrcCD) + * `gpc' *Also *note GNUs Flashes::.* (SrcCD) - `gperf' generates perfect hash tables. The C version is in package - cperf. The C++ version is in libg++. Both produce hash functions in - either C or C++. - - * Graphics (SrcCD) - - GNU Graphics produces x-y plots from ASCII or binary data. It outputs - in Postscript, Tektronix 4010 compatible, and Unix device-independent - "plot" formats. It has a previewer for the X Window System. Features - include a `spline' interpolation program; examples of shell scripts - using `graph' and `plot'; a statistics toolkit; and output in TekniCAD - TDA and ln03 file formats. Email bugs or queries to Rich Murphey, - `Rich@lamprey.utmb.edu'. + `gpc' is the GNU Pascal Compiler. * grep (SrcCD) @@ -1404,7 +1424,17 @@ included with each package. documentation provided with Groff can be sent to `bug-groff@prep.ai.mit.edu'. - * `gzip' (SrcCD) + * `guavac' (SrcCD) + + `guavac' is a new free compiler for the Java language. + + * GUILE *Also *note GNUs Flashes::.* (SrcCD) + + GUILE is GNU's Ubiquitous Intelligent Language for Extension, an + interpreter for the Scheme programming language, packaged as a library + that you can link into your programs to make them extensible. + + * `gzip' (BinCD, SrcCD) `gzip' can expand LZW-compressed files but uses another, unpatented algorithm for compression which generally produces better results. It @@ -1455,18 +1485,18 @@ included with each package. GNU `indent' formats C source code into the GNU, BSD, K&R, or your own special indentation style. GNU `indent' is more robust & provides more functionality than other such programs, including handling C++ comments. - It runs on Unix, DOS, VMS and ATARI systems. + It runs on Unix, Windows, VMS, ATARI and other systems. - The next version will also format C++ source code. A Java version may - be considered in the future. + The next version which formats C++ source code will soon be released. * Inetutils (SrcCD) Inetutils has common networking utilities & servers. - This release is mainly support the GNU Hurd, which is source compatible - with BSD in many ways, & will probably only work on systems that are - similarly compatible. + Version 1.3a is more portable than previous releases: Inetutils now + works on GNU/Linux and SunOS/Solaris systems, although it still requires + a system with some degree of BSD compatibility. This release also has + many security holes plugged. * Ispell (SrcCD) @@ -1478,22 +1508,21 @@ included with each package. * JACAL *Not available from the FSF except by FTP* JACAL is a symbolic mathematics system for the manipulation & - simplification of algebraic equations & expressions. It is written in - Scheme using the SLIB portable Scheme Library. JACAL comes with SCM, an - IEEE P1178 & R4RS compliant Scheme implementation written in C. SCM runs - on Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Unix, & - similar systems. + simplification of algebraic expressions & equations. + + The FSF is not distributing JACAL on any physical media. You can FTP it, + or visit the Web site `http://www-swiss.ai.mit.edu/~jaffer/JACAL.html'. - The FSF is not distributing JACAL on any physical media. You can FTP it - or get it from the Web site below. Documentation is at - `http://www-swiss.ai.mit.edu/~jaffer/JACAL.html'. + * jargon (SrcCD) + + The jargon file is the online version of `The New Hacker's Dictionary'. * Karma (SrcCD) Karma is a signal and image processing library and visualization toolkit that provides interprocess communications, authentication, graphics display, and user interface to and manipulation of the Karma network - data structure. Several foreign data formats are also supported. Karma + data structure. Several foreign data formats are also supported. Karma comes packaged with a number of generic visualization tools and some astronomy-specific tools. @@ -1503,7 +1532,21 @@ included with each package. various features (such as the ability to scroll backwards) that most pagers lack. - * Lynx *Also see* `http://www.cc.ukans.edu/about_lynx' (SrcCD) + * LessTif (SrcCD) + + LessTif is a free clone of Motif. + + * Libtool (SrcCD) + + GNU libtool is a generic library support script which manages the + complexity of building and linking against shared libraries. Libtool + allows source code package maintainers to easily add shared library + support without breaking static-only platform compatibility. + + Libtool supports building static libraries on all known platforms. + Shared library support has been implemented for several platforms. + + * Lynx *Also see* `http://lynx.browser.org' (SrcCD) Lynx is a text-only World Wide Web browser for those running character-only ("cursor-addressable") terminals or terminal emulators. @@ -1516,7 +1559,7 @@ included with each package. built-in functions for including files, running shell commands, doing arithmetic, etc. - * `make' (BinCD, SrcCD) [FSFman] + * `make' (BinCD, SrcCD) [FSFman] GNU `make' supports POSIX 1003.2 and has all but a few obscure features of the BSD and System V versions of `make', and runs on MS-DOS, @@ -1535,6 +1578,16 @@ included with each package. Maxima is a Common Lisp implementation of MIT's Macsyma system for computer based algebra. + * MCSim (SrcCD) + + MCSim is a general purpose modeling and simulation program which also + performs standard or Markov chain Monte Carlo simulations. It allows + you to specify a set of linear or nonlinear equations (eventually + differential), and solve them using parameter values you choose or + parameter values sampled from specified statistical distributions. + Simulation outputs can be compared to experimental data for parameter + estimation. + * Meta-HTML (SrcCD) <Meta-HTML> is a programming language specifically designed for working @@ -1577,30 +1630,38 @@ included with each package. * `mtools' (SrcCD) - `mtools' is a set of public domain programs to allow Unix systems to - read, write, and manipulate files on an MS-DOS file system (usually a - diskette). + `mtools' is a collection of utilities to access MS-DOS disks from Unix + without mounting them. It supports Windows 95 style long file names, + OS/2 Xdf disks, ZIP/JAZ disks and 2m disks (store up to 1992k on a high + density 3 1/2 disk). - * MULE (SrcCD) + * MULE *Also *note GNUs Flashes::.* (SrcCD) MULE is a MULtilingual Enhancement to GNU Emacs. MULE text buffers can contain a mix of characters from many languages including: Japanese, Chinese, Korean, Vietnamese, Thai, modern European languages (including Greek & Russian), Arabic, & Hebrew. MULE also provides input methods - for all of them. MULE is being merged into GNU Emacs. *Note GNU & - Other Free Software in Japan::, for more information about MULE. + for all of them. *Note GNU & Other Free Software in Japan::, for more + information about MULE. + + The version 20 release of Emacs includes the MULE features, making MULE + itself obsolete. - * `ncurses' (SrcCD) + * `mutt' *Also see* `http://www.cs.hmc.edu/~me/mutt' (SrcCD) - `ncurses' implements the Unix `curses' API for developing screen-based - programs that are terminal independent. It is not merely an emulation - of old (BSD) curses/termcap, but is fully compatible with SVR4 - curses/terminfo. It includes color, multiple-highlight, & xterm - mouse-event support. + Mutt is a small but very powerful mail client: a hybrid, or "mutt," + consisting of features from various other curses-based e-mail clients. * NetHack (SrcCD) - NetHack is a Rogue-like adventure game supporting character & X displays. + NetHack is a display-oriented adventure game similar to Rogue. ASCII, + X11, and various PC based GUI displays are supported. + + NetHack runs on GNU/Linux, Amiga, Atari, BeBox, Mac, MS Windows, MS-DOS, + OS/2, Unix, VMS, and Windows NT. + + The current release of NetHack is 3.2.2. Bug reports concerning NetHack + should be sent to `nethack-bugs@linc.cis.upenn.edu'. * NIH Class Library (SrcCD) @@ -1619,7 +1680,7 @@ included with each package. regular expressions, and security fixes. It uses Autoconf for configuration and runs on any Unix-like system. - * Oaklisp (SrcCD) + * Oaklisp (SrcCD) Oaklisp is a fast, portable, object-oriented Scheme with first class types. @@ -1653,12 +1714,12 @@ included with each package. functions over finite & infinite intervals. Two- & three-dimensional plotting is available using `gnuplot'. - Version 2.0 of Octave was released in December '96. It includes support - for dynamically linked functions, user-defined data types, many new + Version 2.0.9 of Octave was released in July. It includes support for + dynamically linked functions, user-defined data types, many new functions, & a completely revised manual. Octave works on most Unix - systems & OS/2. A port to Windows NT/95 is underway. + systems, OS/2, and Windows NT/95. - * Oleo (SrcCD) + * Oleo (SrcCD) Oleo is a spreadsheet program (better for you than the more expensive spreadsheets). It supports the X Window System and character-based @@ -1675,9 +1736,9 @@ included with each package. * `patch' (SrcCD) - `patch' is our version of Larry Wall's program to take `diff''s output - and apply those differences to an original file to generate the modified - version. + `patch' applies `diff''s output to a set of original files to generate + the modified versions. Recent versions of GNU `patch' can update binary + files, and can remove files and directories when they become obsolete. * PCL (SrcCD) @@ -1690,17 +1751,41 @@ included with each package. `awk', & `sh', and provides interfaces to the Unix system calls & many C library routines. - * `pine' *Also *note Bad News and Good News about Pine::.* (SrcCD) + * `phttpd' (SrcCD) + + `phttpd' is a high speed World Wide Web server using multithreading, + memory mapping, and dynamic linking to achieve its goals of high speed, + scalability, and light weight. It is currently supported only on + Solaris (SunOS5). + + * plotutils (SrcCD) + + The GNU plotutils (plotting utilities) package includes `libplot', a + subroutine library for producing 2-D device-independent vector graphics, + and `graph', a sample application for plotting 2-D scientific data that + is built on top of `libplot'. Supported devices include X Window System + displays, Postscript devices, and Tektronix emulators. `xfig' output + format, which can be edited with the free graphics editor `xfig', is + also supported. The Postscript output format includes directives which + allow it to be edited with the `idraw' graphics editor. Included with + `graph' are `spline', a program that uses splines in tension to + interpolate data, and `ode', an application that will numerically + integrate a system of ordinary differential equations. + + * PRCS (SrcCD) - `pine' is a friendly menu-driven electronic mail manager and user - interface. + PRCS, the Project Revision Control System, is a version control program + with purpose similar to that of CVS. It was designed with simplicity in + mind. Like CVS, PRCS uses RCS to accomplish this task, but this is + inconsequential to the user, as RCS is completely hidden beneath a layer + of abstraction. - * `ptx' *Also *note Forthcoming GNUs::.* (SrcCD) + * `ptx' (SrcCD) GNU `ptx' is our version of the traditional permuted index generator. It handles multiple input files at once, has TeX compatible output, & outputs readable "KWIC" (KeyWords In Context) indexes without using - `nroff'. + `nroff'. Plans are to merge this package into `textutils'. It does not yet handle input files that do not fit in memory all at once. @@ -1719,7 +1804,19 @@ included with each package. conforms to GNU configuration standards & to POSIX 1003.1b-1993. Also see the CVS item above. - * `recode' *Also *note Forthcoming GNUs::.* (SrcCD) + * `readline' (BinCD, SrcCD) + + Brian Fox wrote the `readline' library one weekend in 1987, so that the + FSF would have a clean Emacs-like line editing facility that could be + used across multiple programs. After installing it in Bash, he went on + to test the reusability of the code by adding it to GDB, and then later, + to the GNU FTP client. The library supplies many entry points--the + simplest interface gives any program the ability to store a history of + input lines, and gives the end user a complete Emacs-like (or vi-like) + editing capability over the input, simply by replacing calls to `gets' + with calls to `readline'. + + * `recode' *Also *note Forthcoming GNUs::.* (SrcCD) GNU `recode' converts files between character sets and usages. When exact transliterations are not possible, it may delete the offending @@ -1740,15 +1837,23 @@ included with each package. * Roxen (SrcCD) Roxen is a modularized, object-oriented, non-forking World Wide Web - server with high performance and throughput. It was formerly named + server with high performance and throughput, and capabilities for on the + fly image generation (`http://www.roxen.com'). It was formerly named Spinner, but was renamed for trademark reasons. + * `rsync' (SrcCD) + + `rsync' is a replacement for `rcp' that has many more features. `rsync' + uses the "rsync algorithm", which provides a very fast method for + synchronizing large remote files, sending only the differences across + the link. It does not require both versions of a file to be local in + order to compute the differences. A technical report describing the + rsync algorithm is included with the package. + * `rx' (SrcCD) Tom Lord has written `rx', a new regular expression library which is - faster than the older GNU `regex' library. It is being distributed with - `sed'. `rx' is also an installation option for `fileutils', `id-utils', - and `textutils', and maybe for future versions of `cpio', `m4' and `ptx'. + generally faster and more correct than the older GNU `regex' library. * SAOimage (SrcCD) @@ -1758,24 +1863,6 @@ included with each package. colormap, panning and zooming, graphical annotation, and cursor tracking in pixel and sky coordinates, among other features. - * Scheme (SrcCD) - - Scheme is a simplified, lexically-scoped dialect of Lisp. It was - designed at MIT and other universities to teach students the art of - programming and to research new parallel programming constructs and - compilation techniques. - - We now distribute MIT Scheme 7.3, which conforms to the "Revised^4 - Report On the Algorithmic Language Scheme" (MIT AI Lab Memo 848b), for - which TeX source is included. It is written partly in C, but is - presently hard to bootstrap. Binaries to bootstrap it exist for: HP9000 - series 300, 400, 700, & 800 (running HP-UX 9.0), NeXT (NeXT OS 2 or 3.2), - DEC Alpha (OSF/1), IBM RS/6000 (AIX), Sun-3 or Sun-4 (SunOS 4.1), - DECstation 3100/5100 (Ultrix 4.0), Sony NeWS-3250 (NEWS OS 5.01), & - Intel i386 (MS-DOS, Windows 3.1 or NT). If your system isn't on this - list & you don't enjoy the bootstrap challenge, see "JACAL" earlier in - this article. - * `screen' (SrcCD) `screen' is a terminal multiplexer that runs several separate "screens" @@ -1820,9 +1907,9 @@ included with each package. It is primarily supported by Matthias Mutz on behalf of the FSF. - * SIPP (SrcCD) + * SIPP (SrcCD) - SIPP is a library for photorealisticly rendering 3D scenes. Scenes can + SIPP is a library for photorealistically rendering 3D scenes. Scenes can be illuminated by an arbitrary number of light sources; they are built up of object hierarchies, with arbitrarily many subobjects and subsurfaces. Surfaces can be rendered with either Phong, Gouraud, or flat shading. @@ -1834,11 +1921,11 @@ included with each package. replacement for `sendmail'. It uses a much simpler configuration format than `sendmail' and is designed to be setup with minimal effort. - * Smalltalk *Also *note Forthcoming GNUs::.* (SrcCD) + * Smalltalk (SrcCD) GNU Smalltalk is an interpreted object-oriented programming language - system written in highly portable C. It has been ported to DOS, many - Unix, & other OSes. Features include a binary image save capability, + system written in highly portable C. It has been ported to MS-DOS, many + Unixes, & other OSes. Features include a binary image save capability, the ability to call user-written C code with parameters, an Emacs editing mode, a version of the X protocol invocable from Smalltalk, optional byte-code compilation and/or execution tracing, & automatically @@ -1846,12 +1933,26 @@ included with each package. & protocol in the book "Smalltalk-80: The Language", except for the graphic user interface (GUI) related classes. - * SNePS (SrcCD) + * SNePS (SrcCD) SNePS is the Semantic Network Processing System. It is an implementation of a fully intensional theory of propositional knowledge representation and reasoning. SNePS runs under CLISP or GCL. + * `spell' (SrcCD) + + GNU `spell' is a clone of standard Unix `spell', implemented as a + wrapper to `ispell'. + + * `stow' (SrcCD) + + `stow' manages the installation of multiple software packages, keeping + them separate while making them appear (via symbolic links) to be + installed in the same place. For example, Emacs can be installed in + `/usr/local/stow/emacs' and Perl in `/usr/local/stow/perl', permitting + each to be administered separately, while with `stow' they will both + appear to be installed in `/usr/local'. + * Superopt (SrcCD) Superopt is a function sequence generator that uses an exhaustive @@ -1862,12 +1963,16 @@ included with each package. m68k, m68020, m88k, IBM POWER and PowerPC, AMD 29k, Intel x86 & 960, Pyramid, DEC Alpha, Hitachi SH, & HP-PA. - * `stow' (SrcCD) + * Swarm (SrcCD) - `stow' manages the installation of software packages, keeping them - separate while making them appear to be installed in the same place. + Swarm is a software package for multi-agent simulation of complex systems + being developed at The Santa Fe Institute. Swarm is intended to be a + useful tool for researchers in a variety of disciplines, especially + artificial life. The basic architecture of Swarm is the simulation of + collections of concurrently interacting agents: with this architecture, + a large variety of agent based models can be implemented. - * `tar' (SrcCD) + * `tar' (BinCD, SrcCD) GNU `tar' includes multi-volume support, the ability to archive sparse files, compression/decompression, remote archives, and special features @@ -1890,35 +1995,16 @@ included with each package. * TeX (SrcCD) - TeX is a document formatting system that handles complicated - typesetting, including mathematics. It is GNU's standard text formatter. - - The University of Washington maintains & supports a tape distribution of - TeX for Unix systems. The core material is Karl Berry's `web2c' TeX - package. Sources are available via anonymous FTP; retrieval - instructions are in `/pub/tex/unixtex.ftp' on `ftp.cs.umb.edu'. If you - receive any installation support from the University of Washington, - consider sending them a donation. - - To order a full distribution written in `tar' on either a 1/4inch - 4-track QIC-24 cartridge or a 4mm DAT cartridge, send $210.00 to: - - Pierre A. MacKay - Department of Classics - DH-10, Denny Hall 218 - University of Washington - Seattle, WA 98195 - USA - - Electronic-Mail: `mackay@cs.washington.edu' - Telephone: +1-206-543-2268 - - Please make checks payable to: `University of Washington'. Do not - specify any other payee. That causes accounting problems. Checks must - be in U.S. dollars, drawn on a U.S. bank. Only prepaid orders can be - handled. Overseas sites: please add to the base cost $20.00 to ship via - air parcel post or $30.00 to ship via courier. Please check with the - above for current prices & formats. + TeX is a document formatter that is used, among other things, by the FSF + for all its printed documentation. You will need it if you want to make + printed manuals. See `http://www.tug.org/web2c/'. + + The Source Code CD-ROM contains a minimal TeX collection, sufficient to + process Texinfo files. For a complete TeX distribution, including both + sources and precompiled binaries for many platforms, consider teTeX. + This is available on CD-ROM (see `http://www.tug.org/texlive.html'), or + by FTP. The FTP instructions change too frequently to include them here; + see `ftp://ftp.tug.org/tex/unixtex.ftp'. * Texinfo (SrcCD) [FSFman] @@ -1962,6 +2048,13 @@ included with each package. `ucblogo' implements the classic teaching language, Logo. + * `units' + + GNU `units' converts between different units of measurement, such as + miles/gallon to km/liter. (It can only handle multiplicative scale + changes, so it cannot convert Celsius to Fahrenheit though it could + convert temperature differences between those temperatures scales.) + * UUCP (SrcCD) GNU's UUCP system (written by Ian Lance Taylor) supports the `f', `g' @@ -1970,6 +2063,11 @@ included with each package. make TCP connections. With TLI libraries, it can make TLI connections. Source is included for a manual (not yet published by the FSF). + * vera (SrcCD) + + VERA (Virtual Entity of Relevant Acronyms) is a document listing + thousands of acronyms of the computer field. + * viewfax (SrcCD) Viewfax is a tool for displaying fax files on an X display. It can @@ -1978,8 +2076,10 @@ included with each package. * W3 (SrcCD) W3 (written by William Perry in Emacs Lisp) is an extensible, advanced - World Wide Web browser that runs as part of Emacs. It understands many - protocols & file formats: FTP, gopher, HTML, SMTP, Telnet, WAIS, etc. + World Wide Web browser that runs as part of Emacs. It supports all the + bells and whistles you find on the Web today, including frames, tables, + stylesheets, and much more. See + `http://www.cs.indiana.edu/elisp/w3/docs.html'. * `wdiff' (SrcCD) @@ -1987,11 +2087,11 @@ included with each package. the words deleted or added to the first to make the second. It has many output formats and works well with terminals and pagers. `wdiff' is very useful when two texts differ only by a few words and paragraphs - have been refilled. + have been refilled. Plans are to merge this package into `diffutils'. - * `wget' (SrcCD) + * `Wget' (SrcCD) - `wget' non-interactively retrieves files from the WWW using HTTP & FTP. + `Wget' non-interactively retrieves files from the WWW using HTTP & FTP. It is suitable for use in shell scripts. * `windows32api' (SrcCD) @@ -2034,6 +2134,30 @@ included with each package. `xinfo' is an X-windows program for reading Info files. It uses a special widget, which is available for use in other programs. + * xmcd *Also see* `http://sunsite.unc.edu/~cddb/xmcd/' (SrcCD) + + `xmcd' is an X11-based CD player utility and `cda' is a command-line + driven, non-graphical CD audio player. `xmcd' is developed to use the + OSF/Motif API (version 1.1 and later) and can also be used with LessTif, + the free Motif clone. + + In its evolution over the past few years, `xmcd' has established itself + as the premier CD player application for the X window system with an + attractive, easy-to-use user interface. It is feature-rich and runs on + virtually all of the popular Unix and OpenVMS platforms. It also + supports the widest array of CD-ROM and CD-R devices, including some + older SCSI-1 drives that do not work with other CD player applications. + The remote CD database query feature fully utilizes the Internet and + taps on a vast repository of CD artists/titles, track titles and other + information. Multi-disc changers are also supported. + + Like many other CD player applications, `xmcd' supports a CD database of + disc and track titles and other information. A distinguishing feature + of `xmcd' is the ability to connect to a remote CD database server to + query this information. Many public Internet CD database servers have + been established around the world for this purpose, and `xmcd' also + allows the user to submit new CD entries to the master database. + * `xshogi' (SrcCD) `xshogi' is a graphical Shogi (Japanese Chess) board for the X Window @@ -2045,9 +2169,18 @@ included with each package. `Ygl' emulates a subset of SGI's GL (Graphics Language) library under X11 on most platforms with an ANSI C compiler (including GCC). It has most two-dimensional graphics routines, the queue device & query - routines, double buffering, RGB mode with dithering, FORTRAN bindings, + routines, double buffering, RGB mode with dithering, Fortran bindings, etc. + * zlibc (SrcCD) + + Zlibc is an uncompressing C library for GNU/Linux and SunOS systems. It + is a preloadable shared object that allows executables to uncompress the + datafiles that they need on the fly. No kernel patch, no recompilation + of these executables and no recompilation of the libraries is needed; + the package overrides the `open' function (and other system call + functions) in the shared library. + Program/Package Cross Reference @@ -2055,7 +2188,7 @@ Program/Package Cross Reference Here is a list of the package each GNU program or library is in. You can FTP the current list in the file `/pub/gnu/ProgramIndex' from a GNU FTP host -(listed in *Note How to Get GNU Software::). +(*note How to Get GNU Software::.). * 4dview geomview @@ -3135,23 +3268,14 @@ the current list in the file `/pub/gnu/ProgramIndex' from a GNU FTP host -CD-ROMs -******* - -We offer these CD-ROMs: - - * Several editions of our *Note Source Code CD-ROMs::. - * January 1997 *Note Compiler Tools Binaries CD-ROM::. - - * December 1995 Compiler Tools Binaries CD-ROM, see the *note Free - Software Foundation Order Form::. + - * December 1994 Compiler Tools Binaries CD-ROM, see the *note Free - Software Foundation Order Form::. +CD-ROMs +******* - * December 1993 Compiler Tools Binaries CD-ROM, see the *note Free - Software Foundation Order Form::. +We have two series of CD-ROMs: the Source Code CD-ROM, and the Compiler +Tools Binaries CD-ROM. Our CDs are in ISO 9660 format & can be mounted as a read-only file system on most computers. If your driver supports it, you can mount each CD with "Rock @@ -3167,9 +3291,9 @@ targets. Pricing of the GNU CD-ROMs -------------------------- -If a business or organization is ultimately paying, the January 1997 Source CD -set costs $240. The set costs $60 if you, an individual, are paying out of -your own pocket. The January 1997 Compiler Tools Binaries CD-ROM costs $220 +If a business or organization is ultimately paying, the current GNU Source +CD set costs $240. The set costs $60 if you, an individual, are paying out +of your own pocket. The current Compiler Tools Binaries CD-ROM costs $220 for a business or organization, and $55 for an individual. @@ -3180,12 +3304,12 @@ What Do the Different Prices Mean? The software on our disks is free; anyone can copy it and anyone can run it. What we charge for is the physical disk and the service of distribution. -We charge two different prices depending on who is buying. When a company or -other organization buys the January 1997 Source CD-ROMs, we charge $240. -When an individual buys the same CD-ROMs, we charge just $60. This -distinction is not a matter of who is allowed to use the software. In either -case, once you have a copy, you can distribute as many copies as you wish and -there's no restriction on who can have or run them. The price distinction is +We charge two different prices depending on who is buying. When a company +or other organization buys the Source CD-ROMs, we charge $240. When an +individual buys the same CD-ROMs, we charge just $60. This distinction is +not a matter of who is allowed to use the software. In either case, once +you have a copy, you can distribute as many copies as you wish and there's +no restriction on who can have or run them. The price distinction is entirely a matter of what kind of entity pays for the CDs. You, the reader, are certainly an individual, not a company. If you are @@ -3228,19 +3352,18 @@ the U.S.) to the Free Software Foundation, a tax-exempt public charity. January 1997 Compiler Tools Binaries CD-ROM ------------------------------------------- -The fourth edition of our CD-ROM that has binaries and complete sources for -GNU compiler tools for some systems which lack a compiler, will be available -at the end of January 1997. This enables the people who use these systems to -compile GNU and other free software without having to buy a proprietary -compiler. You can also use these GNU tools to compile your own -C/C++/Objective-C programs. Older editions of this CD are available while -supplies last at a reduced price; see the *note Free Software Foundation -Order Form::. +In January 1997 we released the fourth edition of our CD-ROM that has +binaries and complete sources for GNU compiler tools for some systems which +lack a compiler. This enables the people who use these systems to compile +GNU and other free software without having to buy a proprietary compiler. +You can also use these GNU tools to compile your own C/C++/Objective-C +programs. Older editions of this CD are available while supplies last at a +reduced price; *Note Free Software Foundation Order Form::. We hope to have more systems on each update of this CD. If you can help build binaries for new systems (especially those that don't come with a C -compiler), or have one to suggest, please contact us at the addresses on the -top menu. +compiler), or have one to suggest, please contact us at the addresses on page +1. These packages: @@ -3272,35 +3395,32 @@ Source Code CD-ROMs We have several versions of our Source Code CD-ROMs available, including: - * *Note January 1997 Source Code CD-ROMs::, the newest release, has - programs, bug fixes, & improvements not on the other CDs. + * July 1997 Source Code CD-ROMs, the newest release, has programs, + bug fixes, & improvements. See below. - * *Note July 1996 Source Code CD-ROMs::. + * January 1997 Source Code CD-ROMs. - * December 1995 Source Code CD-ROMs, see the *note Free Software - Foundation Order Form::. + * July 1996 Source Code CD-ROMss. - * June 1995 Source Code CD-ROM, see the *note Free Software Foundation - Order Form::. + * December 1995 Source Code CD-ROMs. - * May 1994 Source Code CD-ROM, see the *note Free Software Foundation - Order Form::. + * June 1995 Source Code CD-ROM. - * November 1993 Source Code CD-ROM, see the *note Free Software Foundation - Order Form::. + * May 1994 Source Code CD-ROM. - * May 1993 Source Code CD-ROM, see the *note Free Software Foundation - Order Form::. + * November 1993 Source Code CD-ROM. - * October 1992 Source Code CD-ROM, see the *note Free Software Foundation - Order Form::. + * May 1993 Source Code CD-ROM. + + * October 1992 Source Code CD-ROM. The older Source CDs are available while supplies last at a reduced price (please note that the December 1994 Source CD is permanently out of stock). All the Source CDs have Texinfo source for the GNU manuals listed in *Note Documentation::. -MIT Scheme & much of X11 is *not* on the older Source CDs. +Much of X11 is *not* on the older Source CDs which are just one CD +instead of two. There are no precompiled programs on these Source CDs. You will need a C compiler (programs which need some other interpreter or compiler normally @@ -3309,188 +3429,217 @@ binaries for some systems on the *Note Compiler Tools Binaries CD-ROM::. -January 1997 Source Code CD-ROMs -................................ +July 1997 Source Code CD-ROMs +............................. -The 9th edition of our Source Code CD will be available at the end of January -1997 with two CD-ROM disks. It has programs, bug fixes, & improvements not -on the older Source CDs. It has these packages, & some manuals that are not -part of packages. The version number of each package listed might be higher -on the 9th edition CD due to new releases being made between now and then. +The 10th edition of our Source Code CD is available now with two CD-ROM disks. +It has programs, bug fixes, & improvements not on the older Source CDs. It +has these packages, & some manuals that are not part of packages. The +version number of each package listed might be higher on the 10th edition CD +due to new releases being made since this list was generated. - * acm 4.7 - * apache 1.2b2 + * abuse 2.0 + * acct 6.3 + * acm 4.8 + * aegis 2.3 + * apache 1.2.4 * Autoconf 2.12 - * Automake 1.0 - * BASH 1.14.7 - * bc 1.03 - * Binutils 2.7 + * Automake 1.2 + * BASH 2.01 + * bc 1.04 + * Binutils 2.8.1 * Bison 1.25 - * C Library 2.0 + * C Library 2.0.5 * Calc 2.02f - * cfengine 1.3.17a + * cfengine 1.4.1 * Chess 4.0.pl77 - * CLISP 1996.05.30 - * Common Lisp 2.2 + * CLISP 1997.08.07 + * Common Lisp 2.2.2 + * cook 1.10 * cperf 2.1a * cpio 2.4.2 * CVS 1.9 + * cxref 1.4 + * ddd 2.1.1 * DejaGnu 1.3 * Diffutils 2.7 * dld 3.3 * doschk 1.1 * ed 0.2 * Elib 1.0 - * elisp archive + * elisp archive 1997.08.19 * Emacs 18.59 * Emacs 19.34 - * enscript 1.4.0 + * Emacs 20.1 + * enscript 1.5.0 * es 0.84 - * Exim 1.59 - * f2c 1996.09.25 + * Exim 1.70 + * f2c 1997.07.13 * ffcall 1.1 - * Fileutils 3.14 + * Fileutils 3.16 * Findutils 4.1 * Finger 1.37 * flex 2.5.4 * Fontutils 0.6 - * g77 0.5.19 - * GAWK 3.0.1 + * g77 0.5.19.1 + * gawk 3.0.3 * gcal 2.10 - * GCC/G++/Objective-C 2.7.2.1 + * GCC/G++/Objective-C 2.7.2.3 * GDB 4.16 * gdbm 1.7.3 * Generic NQS 3.50.2 * geomview 1.6.1 * gettext 0.10 - * gforth 0.2.0 + * gforth 0.3.0 * Ghostscript 3.33 * Ghostview 1.5 - * Ghostview for Windows 1.0 - * GIT 4.3.14 + * Ghostview for Windows 2.1 + * GIT 4.3.16 * gmp 2.0.2 * GN 2.24 * Gnans 1.5.1 - * gnat 3.05 + * gnat 3.09 * GNATS 3.2 * GNU Emacs Lisp Reference Manual 1.03 * GNU Emacs Lisp Reference Manual 2.4.2 + * GNU Emacs Lisp Reference Manual 2.4.jp2.0 * GnuGo 1.2 * gnuplot 3.5 * gnuserv 2.1alpha * gnussl 0.2.1 - * Graphics 0.17 + * gpc 2.0 * grep 2.0 - * Groff 1.10 + * Groff 1.11 + * guavac 0.3.1 + * guile 1.2 * gzip 1.2.4 * hello 1.3 * hp2xx 3.1.4 - * HylaFAX 4.0b018 + * HylaFAX 4.0pl1 * Hyperbole 4.01 * ID Utils 3.2 + * ilisp 5.8.a04 * indent 1.9.1 - * Inetutils 1.2 + * Inetutils 1.3a * Ispell 3.1.20 + * jargon 4.0.0 * karma 1.6 - * less 321 + * less 332 + * LessTif 0.80 * libg++ 2.7.2 * libobjects 0.1.19 - * lynx 2.6 + * libtool 1.0 + * lynx 2.7.1 * m4 1.4 * make 3.75 * MandelSpawn 0.07 * maxima 5.2 - * mc 3.2.1 - * <Meta-HTML> 5.01 - * miscfiles 1.0 - * mkisofs 1.05GNU + * mc 4.0 + * MCSim 4.1 + * mesa 2.1 + * <Meta-HTML> 5.04 + * miscfiles 1.1 + * mkisofs 1.11 * mm 1.07 - * mtools 3.0 + * mtools 3.8 * MULE 2.3 - * ncurses 1.9.9e - * NetHack 3.2.1 + * mutt 0.81 + * NetHack 3.2.2 * NIHCL 3.1.4 - * nvi 1.76 + * nvi 1.79 * Oaklisp 930720 * OBST 3.4.3 - * Octave 2.0 + * Octave 2.0.9 * Oleo 1.6 * p2c 1.20 - * patch 2.1 + * patch 2.5 + * pcl-gcl 2.2 * perl 4.036 * perl 5.003 - * phttpd 0.99.72.1 - * pine 3.91 + * phttpd 0.99.76 + * pips 1.01 + * plotutils 1.1 + * prcs 1.2 * Programming in Emacs Lisp an Introduction 1.04 * ptx 0.4 * rc 1.4 * RCS 5.7 - * readline 2.0 + * readline 2.1 * recode 3.4 * regex 0.12 - * rx 1.4 - * SAOimage 1.19 - * screen 3.7.2 + * Roxen 1.1 + * rsync 1.6.3 + * rx 1.5 + * SAOimage 1.20 + * screen 3.7.4 * sed 2.05 * Sharutils 4.2 - * Shellutils 1.14 + * Shellutils 1.16 * Shogi 1.2p03 * SIPP 3.1 * smail 3.2 * Smalltalk 1.1.5 - * Roxen 1.0 + * sneps 2.3.1 + * spell 1.0 * stow 1.3.2 * Superopt 2.5 - * tar 1.11.8 + * swarm 1.0.2 + * tar 1.12 * Termcap 1.3 * Termutils 2.0 - * TeX 3.145 - * Texinfo 3.9 - * Textutils 1.20 - * tiff 3.4b035 + * TeX 3.1415 + * Texinfo 3.11 + * Textutils 1.22 + * tiff 3.4 * Tile Forth 2.1 * time 1.7 - * ucblogo 3.4 + * ucblogo 4.1 + * units 1.53 * UUCP 1.06.1 + * vera 1.0 + * vrweb 1.5 * W3 2.2.26 * wdiff 0.5 - * wget 1.4.2 + * wget 1.4.5 * windows32api 0.1.2 - * WN 1.17.1 + * WN 1.18.1 * X11R6.3 - * xboard 3.4.pl1 + * xboard 3.6.2 * xgrabsc 2.41 * xinfo 1.01.01 + * xmcd 2.2 * xshogi 1.2p03 * Ygl 3.1 + * zlibc 0.9e -July 1996 Source Code CD-ROMs -............................. +January 1997 Source Code CD-ROMs +................................ -We still have copies of the 8th edition of our Source CD with two CD-ROM +We still have copies of the 9th edition of our Source CD with two CD-ROM disks. It has these packages, & some manuals that are not part of packages: * acm 4.7 - * apache 1.1 - * Autoconf 2.10 + * apache 1.1.1 + * Autoconf 2.12 * Automake 1.0 - * BASH 1.14.6 + * BASH 2.0 * bc 1.03 * Binutils 2.7 * Bison 1.25 - * C Library 1.93 - * Calc 2.02d - * cfengine 1.3.7 + * C Library 2.0 + * Calc 2.02f + * cfengine 1.3.16 * Chess 4.0.pl77 * CLISP 1996.05.30 - * Common Lisp 2.2 + * Common Lisp 2.2.1 * cperf 2.1a * cpio 2.4.2 - * CVS 1.8.1 + * CVS 1.9 + * ddd 2.0 * DejaGnu 1.3 * Diffutils 2.7 * dld 3.3 @@ -3499,118 +3648,137 @@ disks. It has these packages, & some manuals that are not part of packages: * Elib 1.0 * elisp archive * Emacs 18.59 - * Emacs 19.31 - * Emacs 19.32 + * Emacs 19.34 * enscript 1.4.0 * es 0.84 - * Exim 0.53 - * f2c 1996.07.23 - * ffcall 1.0 - * Fileutils 3.13 + * Exim 1.59 + * f2c 1996.12.09 + * ffcall 1.1 + * Fileutils 3.16 * Findutils 4.1 * Finger 1.37 - * flex 2.5.3 + * flex 2.5.4 * Fontutils 0.6 - * g77 0.5.18 - * GAWK 3.0.0 - * gcal 1.01 - * GCC/G++/Objective-C 2.7.2 - * GCC 2.7.2.1 + * g77 0.5.19 + * gawk 3.0.1 + * gcal 2.10 + * GCC/G++/Objective-C 2.7.2.2 * GDB 4.16 * gdbm 1.7.3 - * Generic NQS 3.50.0 - * geomview 1.5.0 + * Generic NQS 3.50.2 + * geomview 1.6.1 * gettext 0.10 + * gforth 0.2.1 * Ghostscript 3.33 * Ghostview 1.5 - * Ghostview for Windows 1.0 - * GIT 4.3.11 + * Ghostview for Windows 2.1 + * GIT 4.3.16 * gmp 2.0.2 * GN 2.24 * Gnans 1.5.1 - * gnat 3.05 + * gnat 3.07 * GNATS 3.2 * GNU Emacs Lisp Reference Manual 1.03 - * GNU Emacs Lisp Reference Manual 2.4 + * GNU Emacs Lisp Reference Manual 2.4.2 + * GNU Emacs Lisp Reference Manual 2.4.jp2.0 * GnuGo 1.2 * gnuplot 3.5 * gnuserv 2.1alpha - * gnussl 0.2 + * gnussl 0.2.1 + * gpc 2.0 * Graphics 0.17 * grep 2.0 * Groff 1.10 + * guile 1.0 * gzip 1.2.4 * hello 1.3 * hp2xx 3.1.4 - * HylaFAX 4.0b018 - * ID Utils 3.1 + * HylaFAX 4.0pl1 + * Hyperbole 4.01 + * ID Utils 3.2 + * ilisp 5.8.a04 * indent 1.9.1 - * Inetutils 1.0 + * Inetutils 1.2j * Ispell 3.1.20 - * karma 1.4 + * jargon 4.0.0 + * karma 1.6 * less 321 * libg++ 2.7.2 * libobjects 0.1.19 - * lynx 2.5 + * lynx 2.6 * m4 1.4 * make 3.75 * MandelSpawn 0.07 * maxima 5.2 * mc 3.2.1 + * mesa 2.1 + * <Meta-HTML> 5.01 * miscfiles 1.0 * mkisofs 1.05GNU * mm 1.07 - * mtools 3.0 + * mtools 3.1 * MULE 2.3 + * mutt 0.57 * ncurses 1.9.9e - * NetHack 3.2.1 + * NetHack 3.2.2 * NIHCL 3.1.4 - * nvi 1.71 + * nvi 1.79 * Oaklisp 930720 * OBST 3.4.3 - * Octave 1.1.1 + * Octave 2.0.2 * Oleo 1.6 * p2c 1.20 * patch 2.1 + * pcl-gcl 2.1 * perl 4.036 * perl 5.003 * phttpd 0.99.72.1 * pine 3.91 + * pips 1.01 * Programming in Emacs Lisp an Introduction 1.04 * ptx 0.4 * rc 1.4 * RCS 5.7 * readline 2.0 + * recode 3.4 * regex 0.12 - * rx 1.0 - * SAOimage 1.18 - * screen 3.7.1 + * Roxen 1.1 + * rx 1.5 + * SAOimage 1.19 +s * scheme 7.4 + * screen 3.7.2 * sed 2.05 * Sharutils 4.2 - * Shellutils 1.12 + * Shellutils 1.16 * Shogi 1.2p03 * SIPP 3.1 * smail 3.2 - * Smalltalk 1.1.1 - * Spinner 1.0b14 + * Smalltalk 1.1.5 + * sneps 2.3.1 + * stow 1.3.2 * Superopt 2.5 * tar 1.11.8 * Termcap 1.3 * Termutils 2.0 - * TeX 3.145 - * Texinfo 3.7 - * Textutils 1.19 - * tiff 3.4b035 + * TeX 3.1415 + * Texinfo 3.9 + * Textutils 1.22 + * tiff 3.4 * Tile Forth 2.1 * time 1.7 - * ucblogo 3.3 + * ucblogo 3.6 + * units 1.53 * UUCP 1.06.1 + * vrweb 1.3 * W3 2.2.26 * wdiff 0.5 - * WN 1.15.3 + * wget 1.4.2b + * windows32api 0.1.2 + * WN 1.17.1 * X11R6.3 - * xboard 3.4.pl1 + * xboard 3.5.0 * xgrabsc 2.41 + * xinfo 1.01.01 * xshogi 1.2p03 * Ygl 3.1 @@ -3647,11 +3815,11 @@ being the dancing parentheses from the cover of our `GNU Emacs Lisp Reference Manual' (drawn by Berkeley, CA artist Etienne Suvasa). The shirt's back has the Preamble to the GNU General Public License. -These shirts come in black, purple, red, pink, burgundy, blue, and natural -(off-white). When you order, please give 3 choices. Black and purple are -printed in white; the other colors are printed in black. All shirts are -thick 100% cotton, and come in sizes S, M, L, XL, and XXL (but they run small -so you may want a larger size than usual). +These shirts come in black, natural (off-white), burgundy, and blue-green. +When you order, please give 3 choices. Black is printed in white and the +other colors are printed in black. All shirts are thick 100% cotton; black +and burgundy come in sizes M, L, XL, and XXL and the others in sizes L and XL +(they run small so you may want a larger size than usual). GNU T-shirts often create spontaneous friendships at conferences & on university campuses. They also make great gifts for friends & family, @@ -3665,24 +3833,25 @@ Free Software Foundation Order Form All items are distributed with permission to copy and to redistribute. Texinfo source for each manual and source for each reference card is on the appropriate CD-ROM; the prices for these media do not include printed -documentation. All items are provided on an ``as is'' basis, with no -warranty of any kind. Please allow four weeks for delivery (though it -won't usually take that long). +documentation. +All items are provided ``as is'', with no warranty of any kind. +Please allow three weeks for delivery +(though it won't usually take that long). - PRICE AND CONTENTS MAY CHANGE WITHOUT NOTICE AFTER July 31, 1997. + PRICE AND CONTENTS MAY CHANGE WITHOUT NOTICE AFTER January 31, 1998. A possibly more current version of this order form can be found on the World Wide Web at `http://www.gnu.ai.mit.edu/order/order.html' or can be found in file `/pub/gnu/GNUinfo/ORDERS' on a GNU FTP host -(listed in *Note How to Get GNU Software::). +(*note How to Get GNU Software::.). FSF Deluxe Distribution -....................... -(Please contact us with any questions. *note Deluxe Distribution::. +----------------------- +(Please contact us with any questions. *Note Deluxe Distribution::, for machine, operating system, and media types.) @@ -3694,22 +3863,22 @@ Operating system: ____________________________________________________________ Media type: __________________________________________________________________ -Version of X Window System to build: _________________________________________ +(Optional) Version of X Window System to link with: __________________________ CD-ROMs, in ISO 9660 format (*note CD-ROMs::.): -.............................................. +---------------------------------------------- -GNU Source Code CD-ROMs, Version 9 with X11R6.3 (*note January 1997 Source Code CD-ROMs::.): +GNU Source Code CD-ROMs, Version 10 with X11R6.3 (*note July 1997 Source Code CD-ROMs::.): ____ @ $240 = $ ______ for corporations and other organizations. ____ @ $ 60 = $ ______ for individuals. -Subscriptions, next 4 updates, of the Source Code CD-ROM, in ISO 9660 format +Subscriptions, next 4 updates of the Source Code CD-ROM, in ISO 9660 format (*note CD-ROM Subscription Service::.): ____ @ $720 = $ ______ for corporations and other organizations. @@ -3726,22 +3895,13 @@ ____ @ $55 = $ ______ for individuals. -Proceedings ------------ - -____ @ $ 25 = $ ______ The Proceedings of the First Conference - on Freely Redistributable Software - only - available while supplies last. - - - Manuals ------- These manuals (*note Documentation::.). The latest version of each manual will be shipped. Please contact us if you want a specific version. -____ @ $ 25 = $ ______ GNU Emacs manual, with a reference card. +____ @ $ 30 = $ ______ GNU Emacs manual, with a reference card. ____ @ $ 50 = $ ______ GNU Emacs Lisp Reference manual, in two volumes. @@ -3765,9 +3925,9 @@ ____ @ $ 20 = $ ______ Bison manual, with a reference card. ____ @ $ 20 = $ ______ Flex manual, with a reference card. -____ @ $ 20 = $ ______ Texinfo manual. +____ @ $ 25 = $ ______ Texinfo manual. -____ @ $ 15 = $ ______ Termcap manual. +____ @ $ 15 = $ ______ Termcap manual, 3rd Edition Revised. @@ -3777,7 +3937,7 @@ Reference Cards The following reference cards, in packets of ten. For single copies please contact us. -____ @ $ 10 = $ ______ GNU Emacs version 19 reference cards. +____ @ $ 10 = $ ______ GNU Emacs version 20 reference cards. ____ @ $ 10 = $ ______ GNU Emacs Calc reference cards. @@ -3792,10 +3952,10 @@ ____ @ $ 10 = $ ______ Flex reference cards. T-shirts -------- -GNU/FSF T-shirts, thick 100% cotton in sizes: M, L, XL, & XXL (they run -small); and in colors: black, purple, red, pink, burgundy, blue, & -natural (off-white); please list 1st, 2nd, and 3rd choice of color -(*note FSF T-shirt::.): +GNU/FSF T-shirts (*note FSF T-shirt::.), thick 100% cotton, available in +black or natural (off-white) in sizes M, L, XL, and XXL, +and in burgundy or blue-green in sizes L and XL. +Please list 1st, 2nd, and 3rd choice of color. ____ @ $ 15 = $ ______ Size _____ @@ -3805,7 +3965,7 @@ ____ @ $ 15 = $ ______ Size _____ Color choice: 1st _______ 2nd _______ 3rd _______ -____ @ $ 15 = $ ______ Size _____ +____ @ $ 15 = $ ______ Size _____ Color choice: 1st _______ 2nd _______ 3rd _______ @@ -3819,21 +3979,9 @@ Older Items Older items are only available while supplies last. -____ @ $ 5 = $ ______ GNU Emacs version 18 reference cards, in packets - of ten. - -____ @ $ 15 = $ ______ GNU Emacs Manual for Emacs version 19.29. - - -____ @ $ 10 = $ ______ Gawk Manual, Edition 0.16 for version 2.16. - - ____ @ $ 40 = $ ______ Using and Porting GCC, 8.5 x 11 inches, with plastic binding (same text as current edition) -____ @ $ 15 = $ ______ Debugging with GDB for Version 4.14 - - Please fill in the number of each older CD-ROM you order: GNU Compiler Tools Binaries CD-ROMs: @@ -3852,7 +4000,7 @@ Version 4 (May '94 - first edition with X11R6) ______ Version 6 (June '95) ______ Version 7 (Dec. '95) ______ -Version 8 (June '96) ______ +Version 8 (July '96) ______ Version 9 (Jan. '97) ______ Please put the total count and cost of the above older CD-ROMs here: @@ -3879,21 +4027,24 @@ Tax and Shipping Costs Reference manual ($ 5.00 * #ofMans); + $ 20.00 for *each* CD-ROM subscription ($20.00 * #ofSubs); - + $ 1.00 for *each* item other then the above + + $ 1.00 for *each* item other than the above (shipping for all other items = $ 1.00 * #ofOtherItems). + $ ______ Shipping fee for most Foreign Destinations: (Please do *not* use this formula for addresses in China, Guam, Indonesia, Israel, Malaysia, New Zealand, - Philippines, and Thailand. Please fax, - or contact us for an exact shipping quote.) + Philippines, and Thailand. Please contact us for + an exact shipping quote.) $ 20.00 base charge for orders to other addresses outside of U.S., Canada, & Puerto Rico: + $ 10.00 for each item ordered, ($ 10.00 * #ofItems) + $ 80.00 for each CD-ROM subscription ($ 80.00 * #ofSubs) (don't count as an item). + In Europe, ordering via GNU Distribution Europe-- + Belgium may reduce these costs + (*note New European Distributor::.). + $ ______ Optional (tax-deductible in the U.S.) donation. - ------ We suggest 5% if paying by credit card. + We suggest 5% if paying by credit card. TOTAL $ ______ We pay for shipping via UPS ground transportation in the contiguous 48 states and Canada. For very @@ -3902,7 +4053,7 @@ Tax and Shipping Costs Note: The shipping fee for foreign destinations covers express courier shipping. If you would like shipping via air mail, please contact - our distribution offfice for a quote on your order. + our distribution office for a quote on your order. Shipping Information -------------------- @@ -3917,10 +4068,10 @@ Street Address: ______________________________________________________________ City, State/Province: ________________________________________________________ -Zip Code/Postal Code Country: ________________________________________________ +Zip Code/Postal Code, Country: _______________________________________________ Telephone number in case of a problem with your order. -For international orders, please include a Fax number. _______________________ +For international orders, please include a fax number. _______________________ E-mail Address: ______________________________________________________________ @@ -3942,6 +4093,9 @@ For orders from outside the U.S.: You are responsible for paying all duties, tariffs, and taxes. If you refuse to pay the charges, the shipper will return or abandon the order. +In Europe, you may find it cheaper and more convenient to use our European +Distributor. *Note New European Distributor::. + --------------------------------------------------------------------------- | | @@ -3957,11 +4111,11 @@ For Credit Card Orders: ----------------------- The Free Software Foundation takes these credit cards: Carte Blanche, -Diner's Club, JCB, MasterCard, Visa, or American Express. Please note that -we are charged about 5% of an order's total amount in credit card -processing fees. Please consider paying by check instead, or adding on a 5% -donation to make up the difference. To place a credit card order, please -give us this information: +Diner's Club, Discover, JCB, MasterCard, Visa, or American Express. +Please note that we are charged about 5% of an order's total amount in +credit card processing fees. Please consider paying by check instead, +or adding on a 5% donation to make up the difference. To place a credit +card order, please give us this information: Card type: ___________________________________________________________________ @@ -3988,7 +4142,7 @@ Cardholder's Signature: ______________________________________________________ A possibly more current version of this order form can be found on the World Wide Web at `http://www.gnu.ai.mit.edu/order/order.html' or can be found in file `/pub/gnu/GNUinfo/ORDERS' on a GNU FTP host -(listed in *Note How to Get GNU Software::). +(*note How to Get GNU Software::.). @@ -3996,8 +4150,8 @@ can be found in file `/pub/gnu/GNUinfo/ORDERS' on a GNU FTP host 59 Temple Place - Suite 330 Boston, MA 02111 PRICES AND CONTENTS MAY CHANGE +1-617-542-5942 -WITHOUT NOTICE AFTER July 31, 1997 Fax (including Japan): +1-617-542-2652 +WITHOUT NOTICE AFTER January 31, 1998 Fax (including Japan): +1-617-542-2652 -Version: January 1997 ASCII etc/ORDERS +Version: July 1997 ASCII etc/ORDERS ----------------------------------------------------------------------------- diff --git a/gcc/SERVICE b/gcc/SERVICE index 786d476..da8a4ee 100644 --- a/gcc/SERVICE +++ b/gcc/SERVICE @@ -198,33 +198,6 @@ Rates: ~60 US$ / hour (Flux 2000.-) Updated: 1997-05-07 -Paul Black <paulb@triode.apana.org.au> -Sydney, Australia - - I am available for general consulting on GNU software. My specific -areas of interest are: - - general C, C++, ADA and APL programming - - Gnu/unix utilities - - Troff - - Real Time Software - - Linux - - IP Comms, SMTP, NNTP, HTTP and WWW - - Simulation - -I am happy to provide free consulting/services if the work is of the order of -a couple of hours. If more time is required, I am happy to negotiate depending -on the nature of the work, my indicative rate is $40 per hour. - -Entered: 1996-07-10 - -Keith Bostic - - I'm interested in supporting/extending the ex/vi editors, - which I wrote. On-site or by email, rates are based on the - project. <bostic@cs.berkeley.edu> - -Entered: 1996-07-15 - Philip Brown <phil@mitre.org> (703) 893-8967 (prefer email) @@ -415,8 +388,6 @@ Cygnus Solutions Sunnyvale, CA 94089 USA +1 408 542 9600 voice +1 408 542 9699 fax -Web Site: http://www.cygnus.com - Cygnus Solutions provides supported and maintained versions of gcc, g++, gdb with GUI, GNU linker and GNU macro assembler. In addition, Cygnus provides @@ -440,7 +411,7 @@ Cygnus Solutions contacts: ph: +1 408 542 9637 fx: +1 408 542 9699 email: <westcott@cygnus.com> -Updated: 1997-05-23 +Updated: 1997-09-02 by rms Marcus G. Daniels <marcusd@gnu.ai.mit.edu> 31060 S. Kaufman Rd. <marcus@tdb.com> @@ -671,24 +642,6 @@ Consulting rates: $70 to $175 per hour. Updated: 1997-05-07 -Ehud Karni <kehud@simonwiesel.net.il> - -I am an UNIX system programmer. My skills include writing in C and scripts. - -In the GNU domain, I consider myself an expert on Emacs. I have written several -packages in emacs-lisp (.el) including: better Hebrew support, another marking -system, emulation for CDC full screen editor (FSE), COBOL mode, mathematical -expression computing, and enhancements to vc.el (customization) and to ange-ftp -(added Novell and NT operating systems). - I have installed and tested Emacs and my el's on several machines: DG, -HP, Alpha (OSF) and PC (DOS). - I installed and worked with several other GNU packages - RCS, Gmake, GCC -and more, but I'm not an expert in these packages. - -I work in Israel and my normal rate is $40 per hour. - -Entered: 1996-07-15 - Joseph R. Kiniry <kiniry@cs.caltech.edu> Caltech Mailstop 256-80 http://www.cs.caltech.edu/~kiniry/ Pasadena, CA 91125 <jrk@metagenesis.com> @@ -717,26 +670,26 @@ Updated: 1997-05-07 Bradley M. Kuhn <bkuhn@acm.org> -http://www.smart.net/~bkuhn +http://www.ebb.org/bkuhn I am available for primarily Unix system administration consulting, including but not limited to installation, configuration and integration of GNU tools and other copy-lefted software such as GNU/Linux. -I am particularly skilled at end-user hand-holding and assisting in the -integration of GNU and other copy-lefted software into new environments that -have not used such tools in the past. +I am particularly skilled at integration of GNU and other copy-lefted software +into new environments that have not used such tools in the past, and porting +the GNU software to new Unix-based platforms. Please visit my homepage for more information on my background and skills. I am available for both 1099 (preferred) and W2 on-site contracting in the -Baltimore, MD metropolitan area, as well as remote consulting via dialup or +Cincinnati, OH metropolitan area, as well as remote consulting via dialup or Internet connection anywhere in the US. - + My rate is in the $40/hour range, depending on the circumstances. Rates for non-profit organizations are substantially lower, and possibly free. -Updated: 1996-12-31 +Updated: 1997-08-03 Fen Labalme <fen@comedia.com> CoMedia Consulting http//www.comedia.com/comedia/ @@ -1376,12 +1329,12 @@ Services: Internet access Rates: - DM 110 (~$70) per hour - Support contracts start at DM 170/month + DM 30/supported system. + DM 150 (~$85) per hour + Support contracts start at DM 220/month + DM 30/supported system. Willing to travel for sufficiently large jobs. Rates don't include taxes. -Updated: 1996-07-05 +Updated: 1997-08-04 Paul C.A. van Gool <P.vanGool@LR.TUDelft.NL> diff --git a/gcc/c-parse.c b/gcc/c-parse.c index 0c6f3d2..5c1cc1b 100644 --- a/gcc/c-parse.c +++ b/gcc/c-parse.c @@ -1,5 +1,6 @@ -/* A Bison parser, made from c-parse.y with Bison version GNU Bison version 1.24 +/* A Bison parser, made from c-parse.y + by Bison version A2.5 (Andrew Consortium) */ #define YYBISON 1 /* Identify Bison output. */ @@ -66,11 +67,12 @@ #line 56 "c-parse.y" +#include "config.h" + #include <stdio.h> #include <errno.h> #include <setjmp.h> -#include "config.h" #include "tree.h" #include "input.h" #include "c-lex.h" @@ -99,14 +101,16 @@ void yyerror (); /* Cause the `yydebug' variable to be defined. */ #define YYDEBUG 1 -#line 93 "c-parse.y" +#line 94 "c-parse.y" typedef union {long itype; tree ttype; enum tree_code code; char *filename; int lineno; int ends_in_label; } YYSTYPE; -#line 209 "c-parse.y" +#line 210 "c-parse.y" -/* Number of statements (loosely speaking) seen so far. */ +/* Number of statements (loosely speaking) and compound statements + seen so far. */ static int stmt_count; - +static int compstmt_count; + /* Input file and line number of the end of the body of last simple_if; used by the stmt-rule immediately after simple_if returns. */ static char *if_stmt_file; @@ -127,23 +131,6 @@ static int undeclared_variable_notice; #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL) extern void yyprint (); - -#ifndef YYLTYPE -typedef - struct yyltype - { - int timestamp; - int first_line; - int first_column; - int last_line; - int last_column; - char *text; - } - yyltype; - -#define YYLTYPE yyltype -#endif - #include <stdio.h> #ifndef __cplusplus @@ -154,11 +141,11 @@ typedef -#define YYFINAL 681 +#define YYFINAL 682 #define YYFLAG -32768 #define YYNTBASE 84 -#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 238) +#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 239) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -227,22 +214,22 @@ static const short yyprhs[] = { 0, 860, 862, 864, 868, 871, 874, 875, 877, 879, 882, 883, 886, 890, 894, 897, 901, 906, 910, 913, 917, 920, 922, 924, 927, 930, 931, 933, 936, 937, 938, - 940, 942, 945, 949, 951, 954, 957, 964, 970, 976, - 979, 982, 987, 988, 993, 994, 995, 999, 1004, 1008, - 1010, 1012, 1014, 1016, 1019, 1020, 1025, 1027, 1031, 1032, - 1033, 1041, 1047, 1050, 1051, 1052, 1053, 1066, 1067, 1074, - 1077, 1080, 1083, 1087, 1094, 1103, 1114, 1127, 1131, 1136, - 1138, 1140, 1141, 1148, 1152, 1158, 1161, 1164, 1165, 1167, - 1168, 1170, 1171, 1173, 1175, 1179, 1184, 1186, 1190, 1191, - 1194, 1197, 1198, 1203, 1206, 1207, 1209, 1211, 1215, 1217, - 1221, 1226, 1231, 1236, 1241, 1246, 1247, 1250, 1252, 1255, - 1257, 1261, 1263, 1267 + 940, 942, 945, 949, 951, 954, 956, 959, 966, 972, + 978, 981, 984, 989, 990, 995, 996, 997, 1001, 1006, + 1010, 1012, 1014, 1016, 1018, 1021, 1022, 1027, 1029, 1033, + 1034, 1035, 1043, 1049, 1052, 1053, 1054, 1055, 1068, 1069, + 1076, 1079, 1082, 1085, 1089, 1096, 1105, 1116, 1129, 1133, + 1138, 1140, 1142, 1143, 1150, 1154, 1160, 1163, 1166, 1167, + 1169, 1170, 1172, 1173, 1175, 1177, 1181, 1186, 1188, 1192, + 1193, 1196, 1199, 1200, 1205, 1208, 1209, 1211, 1213, 1217, + 1219, 1223, 1228, 1233, 1238, 1243, 1248, 1249, 1252, 1254, + 1257, 1259, 1263, 1265, 1269 }; static const short yyrhs[] = { -1, 85, 0, 0, 86, 88, 0, 0, 85, 87, 88, 0, 90, 0, 89, 0, 27, 59, 99, 76, 77, - 0, 237, 88, 0, 122, 136, 77, 0, 129, 122, + 0, 238, 88, 0, 122, 136, 77, 0, 129, 122, 136, 77, 0, 125, 122, 135, 77, 0, 129, 77, 0, 125, 77, 0, 1, 77, 0, 1, 78, 0, 77, 0, 0, 0, 125, 122, 165, 91, 116, 92, @@ -252,7 +239,7 @@ static const short yyrhs[] = { -1, 0, 122, 168, 1, 0, 3, 0, 4, 0, 43, 0, 49, 0, 48, 0, 54, 0, 55, 0, 79, 0, 80, 0, 101, 0, 0, 101, 0, 107, 0, - 101, 81, 107, 0, 113, 0, 50, 105, 0, 237, + 101, 81, 107, 0, 113, 0, 50, 105, 0, 238, 105, 0, 98, 105, 0, 40, 97, 0, 103, 102, 0, 103, 59, 183, 76, 0, 104, 102, 0, 104, 59, 183, 76, 0, 33, 105, 0, 34, 105, 0, @@ -268,18 +255,18 @@ static const short yyrhs[] = { -1, 107, 0, 0, 107, 37, 112, 38, 107, 0, 107, 36, 107, 0, 107, 35, 107, 0, 3, 0, 8, 0, 115, 0, 59, 99, 76, 0, 59, 1, 76, - 0, 0, 59, 114, 197, 76, 0, 113, 59, 100, + 0, 0, 59, 114, 198, 76, 0, 113, 59, 100, 76, 0, 113, 60, 99, 83, 0, 113, 58, 97, 0, 113, 57, 97, 0, 113, 54, 0, 113, 55, 0, 9, 0, 115, 9, 0, 0, 118, 0, 118, - 10, 0, 202, 203, 119, 0, 117, 0, 191, 0, + 10, 0, 203, 204, 119, 0, 117, 0, 191, 0, 118, 117, 0, 117, 191, 0, 127, 122, 135, 77, 0, 130, 122, 136, 77, 0, 127, 77, 0, 130, - 77, 0, 202, 203, 124, 0, 120, 0, 191, 0, + 77, 0, 203, 204, 124, 0, 120, 0, 191, 0, 121, 120, 0, 120, 191, 0, 0, 0, 125, 122, 135, 77, 0, 129, 122, 136, 77, 0, 125, 122, 159, 0, 129, 122, 162, 0, 125, 77, 0, 129, - 77, 0, 237, 124, 0, 133, 126, 0, 129, 133, + 77, 0, 238, 124, 0, 133, 126, 0, 129, 133, 126, 0, 0, 126, 134, 0, 126, 5, 0, 126, 143, 0, 133, 128, 0, 130, 133, 128, 0, 0, 128, 134, 0, 128, 5, 0, 130, 0, 143, 0, @@ -304,14 +291,14 @@ static const short yyrhs[] = { -1, 0, 60, 107, 83, 36, 155, 152, 0, 0, 60, 107, 83, 156, 152, 0, 0, 97, 38, 157, 152, 0, 0, 58, 97, 36, 158, 152, 0, 0, 0, - 165, 160, 116, 161, 197, 0, 0, 0, 168, 163, - 116, 164, 197, 0, 166, 0, 168, 0, 59, 166, - 76, 0, 166, 59, 232, 0, 166, 60, 99, 83, + 165, 160, 116, 161, 198, 0, 0, 0, 168, 163, + 116, 164, 198, 0, 166, 0, 168, 0, 59, 166, + 76, 0, 166, 59, 233, 0, 166, 60, 99, 83, 0, 166, 60, 83, 0, 50, 186, 166, 0, 143, - 123, 166, 0, 4, 0, 167, 59, 232, 0, 167, + 123, 166, 0, 4, 0, 167, 59, 233, 0, 167, 60, 99, 83, 0, 167, 60, 83, 0, 50, 186, 167, 0, 143, 123, 167, 0, 4, 0, 168, 59, - 232, 0, 59, 168, 76, 0, 50, 186, 168, 0, + 233, 0, 59, 168, 76, 0, 50, 186, 168, 0, 168, 60, 99, 83, 0, 168, 60, 83, 0, 143, 123, 168, 0, 3, 0, 0, 13, 97, 82, 170, 176, 78, 142, 0, 13, 82, 176, 78, 142, 0, @@ -322,98 +309,102 @@ static const short yyrhs[] = { -1, 12, 97, 0, 0, 81, 0, 0, 81, 0, 177, 0, 177, 178, 0, 0, 177, 178, 77, 0, 177, 77, 0, 131, 122, 179, 0, 131, 0, 185, 122, - 179, 0, 185, 0, 1, 0, 237, 178, 0, 180, - 0, 179, 81, 180, 0, 202, 203, 165, 142, 0, - 202, 203, 165, 38, 107, 142, 0, 202, 203, 38, + 179, 0, 185, 0, 1, 0, 238, 178, 0, 180, + 0, 179, 81, 180, 0, 203, 204, 165, 142, 0, + 203, 204, 165, 38, 107, 142, 0, 203, 204, 38, 107, 142, 0, 182, 0, 181, 81, 182, 0, 1, 0, 97, 0, 97, 36, 107, 0, 131, 184, 0, 185, 184, 0, 0, 187, 0, 7, 0, 185, 7, 0, 0, 186, 7, 0, 59, 187, 76, 0, 50, - 186, 187, 0, 50, 186, 0, 187, 59, 225, 0, + 186, 187, 0, 50, 186, 0, 187, 59, 226, 0, 187, 60, 99, 83, 0, 187, 60, 83, 0, 59, - 225, 0, 60, 99, 83, 0, 60, 83, 0, 189, - 0, 205, 0, 189, 205, 0, 189, 191, 0, 0, + 226, 0, 60, 99, 83, 0, 60, 83, 0, 189, + 0, 206, 0, 189, 206, 0, 189, 191, 0, 0, 188, 0, 1, 77, 0, 0, 0, 194, 0, 195, - 0, 194, 195, 0, 32, 236, 77, 0, 197, 0, - 1, 197, 0, 82, 78, 0, 82, 192, 193, 121, - 190, 78, 0, 82, 192, 193, 1, 78, 0, 82, - 192, 193, 188, 78, 0, 199, 204, 0, 199, 1, - 0, 15, 59, 99, 76, 0, 0, 18, 201, 204, - 17, 0, 0, 0, 202, 203, 207, 0, 202, 203, - 218, 204, 0, 202, 203, 206, 0, 207, 0, 218, - 0, 197, 0, 215, 0, 99, 77, 0, 0, 198, - 16, 208, 204, 0, 198, 0, 198, 16, 1, 0, - 0, 0, 17, 209, 59, 99, 76, 210, 204, 0, - 200, 59, 99, 76, 77, 0, 200, 1, 0, 0, - 0, 0, 19, 59, 220, 77, 211, 220, 77, 212, - 220, 76, 213, 204, 0, 0, 20, 59, 99, 76, - 214, 204, 0, 23, 77, 0, 24, 77, 0, 25, - 77, 0, 25, 99, 77, 0, 27, 219, 59, 99, - 76, 77, 0, 27, 219, 59, 99, 38, 221, 76, - 77, 0, 27, 219, 59, 99, 38, 221, 38, 221, - 76, 77, 0, 27, 219, 59, 99, 38, 221, 38, - 221, 38, 224, 76, 77, 0, 26, 97, 77, 0, - 26, 50, 99, 77, 0, 77, 0, 216, 0, 0, - 19, 59, 113, 76, 217, 204, 0, 21, 107, 38, - 0, 21, 107, 10, 107, 38, 0, 22, 38, 0, - 97, 38, 0, 0, 7, 0, 0, 99, 0, 0, - 222, 0, 223, 0, 222, 81, 223, 0, 9, 59, - 99, 76, 0, 115, 0, 224, 81, 115, 0, 0, - 226, 227, 0, 229, 76, 0, 0, 230, 77, 228, - 227, 0, 1, 76, 0, 0, 10, 0, 230, 0, - 230, 81, 10, 0, 231, 0, 230, 81, 231, 0, - 125, 122, 167, 142, 0, 125, 122, 168, 142, 0, - 125, 122, 184, 142, 0, 129, 122, 168, 142, 0, - 129, 122, 184, 142, 0, 0, 233, 234, 0, 227, - 0, 235, 76, 0, 3, 0, 235, 81, 3, 0, - 97, 0, 236, 81, 97, 0, 31, 0 + 0, 194, 195, 0, 32, 237, 77, 0, 198, 0, + 1, 198, 0, 82, 0, 197, 78, 0, 197, 192, + 193, 121, 190, 78, 0, 197, 192, 193, 1, 78, + 0, 197, 192, 193, 188, 78, 0, 200, 205, 0, + 200, 1, 0, 15, 59, 99, 76, 0, 0, 18, + 202, 205, 17, 0, 0, 0, 203, 204, 208, 0, + 203, 204, 219, 205, 0, 203, 204, 207, 0, 208, + 0, 219, 0, 198, 0, 216, 0, 99, 77, 0, + 0, 199, 16, 209, 205, 0, 199, 0, 199, 16, + 1, 0, 0, 0, 17, 210, 59, 99, 76, 211, + 205, 0, 201, 59, 99, 76, 77, 0, 201, 1, + 0, 0, 0, 0, 19, 59, 221, 77, 212, 221, + 77, 213, 221, 76, 214, 205, 0, 0, 20, 59, + 99, 76, 215, 205, 0, 23, 77, 0, 24, 77, + 0, 25, 77, 0, 25, 99, 77, 0, 27, 220, + 59, 99, 76, 77, 0, 27, 220, 59, 99, 38, + 222, 76, 77, 0, 27, 220, 59, 99, 38, 222, + 38, 222, 76, 77, 0, 27, 220, 59, 99, 38, + 222, 38, 222, 38, 225, 76, 77, 0, 26, 97, + 77, 0, 26, 50, 99, 77, 0, 77, 0, 217, + 0, 0, 19, 59, 113, 76, 218, 205, 0, 21, + 107, 38, 0, 21, 107, 10, 107, 38, 0, 22, + 38, 0, 97, 38, 0, 0, 7, 0, 0, 99, + 0, 0, 223, 0, 224, 0, 223, 81, 224, 0, + 9, 59, 99, 76, 0, 115, 0, 225, 81, 115, + 0, 0, 227, 228, 0, 230, 76, 0, 0, 231, + 77, 229, 228, 0, 1, 76, 0, 0, 10, 0, + 231, 0, 231, 81, 10, 0, 232, 0, 231, 81, + 232, 0, 125, 122, 167, 142, 0, 125, 122, 168, + 142, 0, 125, 122, 184, 142, 0, 129, 122, 168, + 142, 0, 129, 122, 184, 142, 0, 0, 234, 235, + 0, 228, 0, 236, 76, 0, 3, 0, 236, 81, + 3, 0, 97, 0, 237, 81, 97, 0, 31, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 236, 241, 255, 257, 257, 258, 260, 262, 263, 271, - 275, 286, 291, 296, 298, 300, 301, 302, 307, 314, - 316, 321, 326, 332, 334, 339, 344, 350, 352, 357, - 364, 366, 369, 371, 373, 375, 377, 379, 381, 385, - 389, 392, 395, 398, 402, 404, 407, 410, 414, 442, - 448, 451, 454, 457, 459, 463, 467, 471, 473, 476, - 480, 507, 509, 511, 513, 515, 517, 519, 521, 523, - 525, 527, 529, 531, 533, 537, 539, 543, 545, 548, - 552, 554, 561, 564, 567, 573, 672, 673, 675, 681, - 683, 697, 720, 722, 724, 728, 734, 736, 741, 743, - 748, 750, 751, 761, 766, 768, 769, 770, 777, 783, - 788, 791, 799, 804, 806, 807, 808, 815, 826, 830, - 836, 841, 846, 851, 853, 855, 864, 867, 871, 873, - 875, 880, 884, 887, 891, 894, 896, 908, 911, 913, - 915, 919, 923, 925, 928, 941, 944, 948, 950, 958, - 959, 960, 964, 966, 972, 973, 974, 977, 979, 982, - 984, 987, 990, 996, 1003, 1005, 1012, 1019, 1022, 1029, - 1032, 1036, 1039, 1043, 1048, 1051, 1055, 1058, 1060, 1062, - 1064, 1071, 1073, 1074, 1075, 1080, 1082, 1087, 1095, 1100, - 1104, 1107, 1109, 1114, 1117, 1119, 1121, 1125, 1128, 1128, - 1131, 1131, 1134, 1134, 1137, 1137, 1140, 1142, 1153, 1161, - 1165, 1176, 1184, 1191, 1193, 1198, 1201, 1206, 1208, 1210, - 1217, 1219, 1227, 1233, 1235, 1237, 1244, 1246, 1252, 1258, - 1260, 1262, 1264, 1271, 1273, 1276, 1281, 1283, 1287, 1289, - 1291, 1293, 1297, 1299, 1302, 1305, 1308, 1311, 1315, 1317, - 1320, 1322, 1326, 1329, 1334, 1336, 1338, 1352, 1359, 1364, - 1370, 1375, 1377, 1382, 1384, 1388, 1392, 1396, 1406, 1408, - 1413, 1418, 1421, 1425, 1428, 1432, 1435, 1438, 1441, 1445, - 1448, 1452, 1456, 1458, 1460, 1462, 1464, 1466, 1468, 1470, - 1480, 1488, 1490, 1492, 1496, 1498, 1501, 1504, 1515, 1517, - 1522, 1524, 1527, 1541, 1544, 1547, 1549, 1557, 1565, 1576, - 1581, 1584, 1597, 1605, 1609, 1613, 1617, 1623, 1627, 1632, - 1635, 1640, 1643, 1644, 1661, 1666, 1669, 1681, 1683, 1693, - 1703, 1704, 1712, 1715, 1727, 1731, 1748, 1758, 1767, 1772, - 1777, 1782, 1786, 1790, 1801, 1808, 1815, 1822, 1833, 1839, - 1842, 1847, 1870, 1904, 1929, 1960, 1975, 1986, 1990, 1994, - 1997, 2002, 2004, 2007, 2009, 2013, 2018, 2021, 2027, 2032, - 2037, 2039, 2048, 2049, 2055, 2057, 2067, 2069, 2073, 2076, - 2082, 2092, 2101, 2110, 2120, 2134, 2139, 2144, 2146, 2155, - 2158, 2163, 2166, 2170 + 239, 244, 258, 260, 260, 261, 263, 265, 266, 274, + 278, 289, 294, 299, 301, 303, 304, 305, 310, 317, + 319, 324, 329, 335, 337, 342, 347, 353, 355, 360, + 367, 369, 372, 374, 376, 378, 380, 382, 384, 388, + 392, 395, 398, 401, 405, 407, 410, 413, 417, 445, + 451, 454, 457, 460, 462, 466, 470, 474, 476, 479, + 483, 510, 512, 514, 516, 518, 520, 522, 524, 526, + 528, 530, 532, 534, 536, 540, 542, 546, 548, 551, + 555, 557, 564, 567, 570, 576, 675, 676, 678, 684, + 686, 700, 723, 725, 727, 731, 737, 739, 744, 746, + 751, 753, 754, 764, 769, 771, 772, 773, 780, 786, + 791, 794, 802, 807, 809, 810, 811, 818, 829, 833, + 839, 844, 849, 854, 856, 858, 867, 870, 874, 876, + 878, 883, 887, 890, 894, 897, 899, 911, 914, 916, + 918, 922, 926, 928, 931, 944, 947, 951, 953, 961, + 962, 963, 967, 969, 975, 976, 977, 980, 982, 985, + 987, 990, 993, 999, 1006, 1008, 1015, 1022, 1025, 1032, + 1035, 1039, 1042, 1046, 1051, 1054, 1058, 1061, 1063, 1065, + 1067, 1074, 1076, 1077, 1078, 1083, 1085, 1090, 1098, 1103, + 1107, 1110, 1112, 1117, 1120, 1122, 1124, 1128, 1131, 1131, + 1134, 1134, 1137, 1137, 1140, 1140, 1143, 1145, 1156, 1164, + 1168, 1179, 1187, 1194, 1196, 1201, 1204, 1209, 1211, 1213, + 1220, 1222, 1230, 1236, 1238, 1240, 1247, 1249, 1255, 1261, + 1263, 1265, 1267, 1274, 1276, 1279, 1284, 1286, 1290, 1292, + 1294, 1296, 1300, 1302, 1305, 1308, 1311, 1314, 1318, 1320, + 1323, 1325, 1329, 1332, 1337, 1339, 1341, 1355, 1362, 1367, + 1373, 1378, 1380, 1385, 1387, 1391, 1395, 1399, 1409, 1411, + 1416, 1421, 1424, 1428, 1431, 1435, 1438, 1441, 1444, 1448, + 1451, 1455, 1459, 1461, 1463, 1465, 1467, 1469, 1471, 1473, + 1483, 1491, 1493, 1495, 1499, 1501, 1504, 1507, 1518, 1520, + 1525, 1527, 1530, 1544, 1547, 1550, 1552, 1554, 1562, 1570, + 1581, 1586, 1589, 1603, 1612, 1616, 1620, 1624, 1630, 1634, + 1639, 1642, 1647, 1650, 1651, 1668, 1673, 1676, 1688, 1690, + 1700, 1710, 1711, 1719, 1722, 1734, 1738, 1755, 1765, 1774, + 1779, 1784, 1789, 1793, 1797, 1808, 1815, 1822, 1829, 1840, + 1846, 1849, 1854, 1877, 1911, 1936, 1967, 1982, 1993, 1997, + 2001, 2004, 2009, 2011, 2014, 2016, 2020, 2025, 2028, 2034, + 2039, 2044, 2046, 2055, 2056, 2062, 2064, 2074, 2076, 2080, + 2083, 2089, 2099, 2108, 2117, 2127, 2141, 2146, 2151, 2153, + 2162, 2165, 2170, 2173, 2177 }; +#endif + + +#if YYDEBUG != 0 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER", "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF", @@ -441,13 +432,13 @@ static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER" "component_decl_list2","component_decl","components","component_declarator", "enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals", "absdcl1","stmts","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls", -"label_decls","label_decl","compstmt_or_error","compstmt","simple_if","if_prefix", -"do_stmt_start","@33","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label", -"stmt_or_label","stmt","@34","@35","@36","@37","@38","@39","@40","all_iter_stmt", -"all_iter_stmt_simple","@41","label","maybe_type_qual","xexpr","asm_operands", -"nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","@42","parmlist_1", -"@43","parmlist_2","parms","parm","parmlist_or_identifiers","@44","parmlist_or_identifiers_1", -"identifiers","identifiers_or_typenames","extension","" +"label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt","simple_if", +"if_prefix","do_stmt_start","@33","save_filename","save_lineno","lineno_labeled_stmt", +"lineno_stmt_or_label","stmt_or_label","stmt","@34","@35","@36","@37","@38", +"@39","@40","all_iter_stmt","all_iter_stmt_simple","@41","label","maybe_type_qual", +"xexpr","asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist", +"@42","parmlist_1","@43","parmlist_2","parms","parm","parmlist_or_identifiers", +"@44","parmlist_or_identifiers_1","identifiers","identifiers_or_typenames","extension", NULL }; #endif @@ -482,16 +473,16 @@ static const short yyr1[] = { 0, 181, 182, 182, 183, 183, 184, 184, 185, 185, 186, 186, 187, 187, 187, 187, 187, 187, 187, 187, 187, 188, 189, 189, 189, 190, 190, 191, 192, 193, 193, - 194, 194, 195, 196, 196, 197, 197, 197, 197, 198, - 198, 199, 201, 200, 202, 203, 204, 204, 205, 206, - 206, 207, 207, 207, 208, 207, 207, 207, 209, 210, - 207, 207, 207, 211, 212, 213, 207, 214, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 215, 217, 216, 218, 218, 218, 218, 219, 219, 220, - 220, 221, 221, 222, 222, 223, 224, 224, 226, 225, - 227, 228, 227, 227, 229, 229, 229, 229, 230, 230, - 231, 231, 231, 231, 231, 233, 232, 234, 234, 235, - 235, 236, 236, 237 + 194, 194, 195, 196, 196, 197, 198, 198, 198, 198, + 199, 199, 200, 202, 201, 203, 204, 205, 205, 206, + 207, 207, 208, 208, 208, 209, 208, 208, 208, 210, + 211, 208, 208, 208, 212, 213, 214, 208, 215, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 216, 218, 217, 219, 219, 219, 219, 220, 220, + 221, 221, 222, 222, 223, 223, 224, 225, 225, 227, + 226, 228, 229, 228, 228, 230, 230, 230, 230, 231, + 231, 232, 232, 232, 232, 232, 234, 233, 235, 235, + 236, 236, 237, 237, 238 }; static const short yyr2[] = { 0, @@ -525,21 +516,21 @@ static const short yyr2[] = { 0, 1, 1, 3, 2, 2, 0, 1, 1, 2, 0, 2, 3, 3, 2, 3, 4, 3, 2, 3, 2, 1, 1, 2, 2, 0, 1, 2, 0, 0, 1, - 1, 2, 3, 1, 2, 2, 6, 5, 5, 2, - 2, 4, 0, 4, 0, 0, 3, 4, 3, 1, - 1, 1, 1, 2, 0, 4, 1, 3, 0, 0, - 7, 5, 2, 0, 0, 0, 12, 0, 6, 2, - 2, 2, 3, 6, 8, 10, 12, 3, 4, 1, - 1, 0, 6, 3, 5, 2, 2, 0, 1, 0, - 1, 0, 1, 1, 3, 4, 1, 3, 0, 2, - 2, 0, 4, 2, 0, 1, 1, 3, 1, 3, - 4, 4, 4, 4, 4, 0, 2, 1, 2, 1, - 3, 1, 3, 1 + 1, 2, 3, 1, 2, 1, 2, 6, 5, 5, + 2, 2, 4, 0, 4, 0, 0, 3, 4, 3, + 1, 1, 1, 1, 2, 0, 4, 1, 3, 0, + 0, 7, 5, 2, 0, 0, 0, 12, 0, 6, + 2, 2, 2, 3, 6, 8, 10, 12, 3, 4, + 1, 1, 0, 6, 3, 5, 2, 2, 0, 1, + 0, 1, 0, 1, 1, 3, 4, 1, 3, 0, + 2, 2, 0, 4, 2, 0, 1, 1, 3, 1, + 3, 4, 4, 4, 4, 4, 0, 2, 1, 2, + 1, 3, 1, 3, 1 }; static const short yydefact[] = { 3, 5, 0, 0, 0, 152, 143, 150, 142, 0, 0, - 0, 0, 0, 0, 394, 18, 4, 8, 7, 0, + 0, 0, 0, 0, 395, 18, 4, 8, 7, 0, 118, 118, 138, 129, 139, 172, 151, 0, 6, 16, 17, 31, 32, 246, 248, 255, 239, 255, 243, 0, 0, 0, 235, 280, 0, 0, 160, 119, 0, 15, @@ -549,647 +540,637 @@ static const short yydefact[] = { 3, 36, 37, 0, 38, 39, 0, 0, 40, 58, 0, 0, 62, 43, 45, 88, 0, 278, 0, 276, 148, 0, 276, 177, 0, 0, 11, 0, 0, 30, 0, - 386, 0, 0, 170, 222, 280, 0, 0, 158, 119, + 387, 0, 0, 170, 222, 280, 0, 0, 158, 119, 0, 214, 215, 0, 0, 128, 131, 155, 156, 130, 132, 157, 271, 272, 251, 269, 0, 170, 262, 257, 118, 254, 118, 0, 255, 170, 255, 54, 55, 49, 46, 0, 0, 0, 0, 48, 0, 0, 0, 50, 0, 52, 0, 0, 79, 77, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, - 98, 0, 0, 41, 0, 100, 47, 153, 280, 369, + 98, 0, 0, 41, 0, 100, 47, 153, 280, 370, 0, 274, 277, 146, 154, 279, 148, 275, 183, 184, 185, 182, 0, 175, 178, 281, 231, 230, 161, 162, - 234, 0, 229, 0, 233, 0, 0, 28, 0, 315, - 106, 316, 169, 171, 0, 0, 13, 0, 0, 22, - 0, 170, 386, 0, 12, 26, 0, 0, 252, 0, - 251, 238, 315, 256, 315, 263, 0, 242, 0, 90, - 89, 298, 0, 0, 9, 44, 0, 0, 85, 84, - 0, 0, 0, 0, 73, 74, 72, 71, 70, 68, - 69, 63, 64, 65, 66, 67, 96, 95, 0, 42, - 0, 284, 0, 288, 0, 290, 0, 369, 0, 149, - 147, 0, 177, 41, 0, 0, 390, 376, 118, 118, - 388, 0, 377, 379, 387, 0, 232, 297, 0, 108, - 103, 107, 0, 167, 220, 216, 159, 221, 20, 166, - 217, 219, 0, 24, 273, 270, 170, 0, 258, 264, - 316, 260, 170, 170, 306, 299, 92, 60, 59, 51, - 53, 0, 0, 78, 76, 93, 94, 283, 282, 370, - 289, 285, 287, 0, 174, 176, 86, 0, 163, 374, - 276, 276, 371, 372, 0, 389, 0, 0, 29, 304, - 104, 118, 118, 135, 0, 0, 164, 218, 0, 247, - 170, 315, 0, 237, 241, 0, 0, 300, 301, 0, - 80, 83, 286, 179, 0, 181, 228, 280, 369, 119, - 170, 170, 170, 280, 170, 170, 0, 378, 380, 391, - 305, 111, 0, 112, 0, 135, 133, 189, 187, 186, - 168, 21, 0, 25, 245, 265, 0, 170, 392, 0, - 0, 0, 315, 0, 0, 115, 316, 292, 302, 197, - 86, 0, 0, 195, 0, 194, 0, 249, 192, 0, - 0, 284, 0, 386, 0, 381, 382, 383, 284, 384, - 385, 373, 0, 0, 162, 134, 137, 136, 0, 165, - 170, 0, 266, 303, 0, 308, 117, 116, 296, 0, - 309, 294, 316, 293, 0, 0, 0, 0, 204, 61, - 0, 191, 81, 180, 226, 280, 227, 223, 225, 0, - 109, 110, 0, 268, 170, 393, 307, 0, 152, 0, - 329, 313, 0, 0, 0, 0, 0, 0, 0, 0, - 358, 350, 0, 0, 113, 118, 118, 322, 327, 0, - 0, 319, 320, 323, 351, 321, 0, 206, 0, 202, - 0, 0, 193, 0, 224, 188, 267, 0, 0, 315, - 360, 0, 0, 356, 340, 341, 342, 0, 0, 0, - 359, 0, 357, 324, 124, 0, 125, 0, 0, 311, - 316, 310, 333, 0, 126, 0, 0, 200, 0, 196, - 205, 0, 0, 0, 361, 45, 0, 0, 0, 354, - 343, 0, 348, 0, 0, 122, 208, 0, 123, 211, - 328, 315, 0, 0, 207, 0, 0, 203, 312, 0, - 314, 352, 334, 338, 0, 349, 0, 120, 0, 121, - 0, 326, 317, 315, 0, 198, 201, 330, 315, 360, - 315, 355, 362, 0, 209, 212, 318, 332, 0, 315, - 353, 0, 339, 0, 0, 363, 364, 344, 0, 0, - 199, 331, 335, 0, 362, 0, 0, 210, 213, 360, - 0, 0, 345, 365, 0, 366, 0, 0, 336, 367, - 0, 346, 315, 0, 0, 337, 347, 368, 0, 0, - 0 + 234, 0, 229, 0, 233, 0, 0, 28, 0, 316, + 106, 317, 169, 171, 0, 0, 13, 0, 0, 22, + 0, 170, 387, 0, 12, 26, 0, 0, 252, 0, + 251, 238, 316, 256, 316, 263, 0, 242, 0, 90, + 89, 306, 298, 0, 0, 9, 44, 0, 0, 85, + 84, 0, 0, 0, 0, 73, 74, 72, 71, 70, + 68, 69, 63, 64, 65, 66, 67, 96, 95, 0, + 42, 0, 284, 0, 288, 0, 290, 0, 370, 0, + 149, 147, 0, 177, 41, 0, 0, 391, 377, 118, + 118, 389, 0, 378, 380, 388, 0, 232, 297, 0, + 108, 103, 107, 0, 167, 220, 216, 159, 221, 20, + 166, 217, 219, 0, 24, 273, 270, 170, 0, 258, + 264, 317, 260, 170, 170, 307, 299, 92, 60, 59, + 51, 53, 0, 0, 78, 76, 93, 94, 283, 282, + 371, 289, 285, 287, 0, 174, 176, 86, 0, 163, + 375, 276, 276, 372, 373, 0, 390, 0, 0, 29, + 304, 104, 118, 118, 135, 0, 0, 164, 218, 0, + 247, 170, 316, 0, 237, 241, 0, 0, 300, 301, + 0, 80, 83, 286, 179, 0, 181, 228, 280, 370, + 119, 170, 170, 170, 280, 170, 170, 0, 379, 381, + 392, 305, 111, 0, 112, 0, 135, 133, 189, 187, + 186, 168, 21, 0, 25, 245, 265, 0, 170, 393, + 0, 0, 0, 316, 0, 0, 115, 317, 292, 302, + 197, 86, 0, 0, 195, 0, 194, 0, 249, 192, + 0, 0, 284, 0, 387, 0, 382, 383, 384, 284, + 385, 386, 374, 0, 0, 162, 134, 137, 136, 0, + 165, 170, 0, 266, 303, 0, 309, 117, 116, 296, + 0, 310, 294, 317, 293, 0, 0, 0, 0, 204, + 61, 0, 191, 81, 180, 226, 280, 227, 223, 225, + 0, 109, 110, 0, 268, 170, 394, 308, 0, 152, + 0, 330, 314, 0, 0, 0, 0, 0, 0, 0, + 0, 359, 351, 0, 0, 113, 118, 118, 323, 328, + 0, 0, 320, 321, 324, 352, 322, 0, 206, 0, + 202, 0, 0, 193, 0, 224, 188, 267, 0, 0, + 316, 361, 0, 0, 357, 341, 342, 343, 0, 0, + 0, 360, 0, 358, 325, 124, 0, 125, 0, 0, + 312, 317, 311, 334, 0, 126, 0, 0, 200, 0, + 196, 205, 0, 0, 0, 362, 45, 0, 0, 0, + 355, 344, 0, 349, 0, 0, 122, 208, 0, 123, + 211, 329, 316, 0, 0, 207, 0, 0, 203, 313, + 0, 315, 353, 335, 339, 0, 350, 0, 120, 0, + 121, 0, 327, 318, 316, 0, 198, 201, 331, 316, + 361, 316, 356, 363, 0, 209, 212, 319, 333, 0, + 316, 354, 0, 340, 0, 0, 364, 365, 345, 0, + 0, 199, 332, 336, 0, 363, 0, 0, 210, 213, + 361, 0, 0, 346, 366, 0, 367, 0, 0, 337, + 368, 0, 347, 316, 0, 0, 338, 348, 369, 0, + 0, 0 }; -static const short yydefgoto[] = { 679, - 1, 2, 3, 17, 18, 19, 231, 376, 237, 379, - 113, 309, 445, 86, 153, 279, 88, 89, 90, 91, - 92, 390, 93, 264, 263, 261, 450, 262, 94, 154, - 95, 218, 219, 220, 371, 432, 433, 20, 108, 525, - 299, 59, 372, 417, 300, 23, 99, 194, 24, 130, - 118, 46, 114, 119, 423, 47, 375, 223, 224, 26, - 203, 204, 205, 421, 469, 447, 448, 449, 488, 639, - 607, 579, 542, 576, 596, 619, 649, 599, 621, 650, - 210, 122, 495, 123, 27, 145, 147, 137, 62, 492, - 240, 64, 65, 142, 329, 330, 135, 136, 101, 192, - 102, 104, 193, 434, 435, 480, 221, 336, 387, 388, - 389, 369, 370, 529, 530, 531, 550, 571, 313, 572, - 438, 532, 533, 602, 549, 640, 630, 660, 673, 631, - 534, 535, 629, 536, 562, 587, 645, 646, 647, 671, - 284, 285, 301, 407, 302, 303, 304, 213, 214, 305, - 306, 430, 96 +static const short yydefgoto[] = { 680, + 1, 2, 3, 17, 18, 19, 231, 377, 237, 380, + 113, 310, 446, 86, 153, 280, 88, 89, 90, 91, + 92, 391, 93, 265, 264, 262, 451, 263, 94, 154, + 95, 218, 219, 220, 372, 433, 434, 20, 108, 526, + 300, 59, 373, 418, 301, 23, 99, 194, 24, 130, + 118, 46, 114, 119, 424, 47, 376, 223, 224, 26, + 203, 204, 205, 422, 470, 448, 449, 450, 489, 640, + 608, 580, 543, 577, 597, 620, 650, 600, 622, 651, + 210, 122, 496, 123, 27, 145, 147, 137, 62, 493, + 240, 64, 65, 142, 330, 331, 135, 136, 101, 192, + 102, 104, 193, 435, 436, 481, 221, 337, 388, 389, + 390, 370, 253, 371, 530, 531, 532, 551, 572, 314, + 573, 439, 533, 534, 603, 550, 641, 631, 661, 674, + 632, 535, 536, 630, 537, 563, 588, 646, 647, 648, + 672, 285, 286, 302, 408, 303, 304, 305, 213, 214, + 306, 307, 431, 96 }; -static const short yypact[] = { 90, - 99, 588, 588, 321,-32768,-32768,-32768,-32768, 77, 79, - 85, 49, 75, 87,-32768,-32768,-32768,-32768,-32768, 194, - 37, 2116, 245,-32768, 119,-32768,-32768, 588,-32768,-32768, --32768,-32768,-32768,-32768, 111,-32768, 133,-32768, 143, 1958, - 1892, 179,-32768,-32768, 194, 164,-32768, 119, 1352,-32768, - 457,-32768, 194, 245,-32768, 119,-32768,-32768, 404,-32768, --32768, 267,-32768, 181, 419,-32768, 201,-32768,-32768,-32768, --32768,-32768,-32768, 1958, 1958, 397,-32768,-32768,-32768, 1958, --32768,-32768, 848,-32768,-32768, 1958, 227, 229,-32768, 1985, - 2012,-32768, 2202, 1091, 299, 1958,-32768, 240, 204,-32768, - 242, 1002, 699, 441, 172,-32768, 457, 194,-32768, 264, --32768, 1427, 360, 119,-32768,-32768, 457, 217,-32768, 119, - 724, 344, 392, 220, 1412, 404,-32768,-32768,-32768,-32768, - 119,-32768,-32768, 292, 250,-32768, 267, 119,-32768,-32768, - 381, 300, 313, 822,-32768, 119,-32768,-32768,-32768,-32768, --32768, 317, 320, 326, 343,-32768, 347, 1958, 848,-32768, - 848,-32768, 1958, 1958, 390,-32768,-32768, 1958, 1958, 1958, - 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958,-32768, --32768, 397, 397, 1958, 1958,-32768,-32768,-32768,-32768, 204, - 1487,-32768, 442, 277,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 106,-32768, 371,-32768, 392,-32768,-32768, 408, - 392, 434,-32768, 636,-32768, 358, 372,-32768, 268, 59, --32768,-32768, 433, 119, 226, 346,-32768, 457, 457,-32768, - 360, 119,-32768, 1500,-32768,-32768, 360, 1958, 397, 387, - 250,-32768,-32768,-32768,-32768,-32768, 394,-32768, 396,-32768, --32768, 399, 405, 1781,-32768, 2202, 407, 410, 2202, 2202, - 1958, 455, 1958, 1958, 1751, 578, 1357, 607, 873, 707, - 707, 303, 303,-32768,-32768,-32768,-32768,-32768, 422, 229, - 412, 56, 429,-32768, 904,-32768, 421,-32768, 1553,-32768, - 277, 430, 699, 2039, 57, 449,-32768,-32768,-32768, 1709, --32768, 453, 265,-32768,-32768, 115,-32768,-32768, 55,-32768, --32768,-32768, 1083,-32768, 344,-32768,-32768, 344,-32768, 494, --32768,-32768, 452,-32768, 2202,-32768, 119, 458, 451,-32768, --32768, 451, 119, 119,-32768, 510,-32768,-32768,-32768,-32768, --32768, 507, 1958, 2231, 2243,-32768,-32768, 442,-32768,-32768, --32768,-32768,-32768, 464,-32768,-32768, 124, 474,-32768,-32768, - 309, 67,-32768,-32768, 1679,-32768, 549, 326,-32768,-32768, --32768, 476, 450,-32768, 1341, 55,-32768,-32768, 55,-32768, - 119,-32768, 333,-32768,-32768, 397, 942, 510,-32768, 1161, --32768, 2218,-32768,-32768, 1958,-32768,-32768,-32768, 67, 119, - 144, 160, 119,-32768, 160, 119, 904,-32768,-32768,-32768, --32768,-32768, 457,-32768, 194,-32768, 887,-32768,-32768, 2202, --32768,-32768, 1341,-32768,-32768,-32768, 1958, 130,-32768, 266, - 432, 667, 479, 481, 760,-32768,-32768,-32768,-32768,-32768, - 522, 397, 1958,-32768, 526, 2202, 487, 497,-32768, 1958, - 132, 207, 601,-32768, 1566,-32768,-32768,-32768, 176,-32768, --32768,-32768, 279, 281, 52, 887,-32768,-32768, 1161,-32768, - 2166, 1958,-32768,-32768, 397,-32768,-32768,-32768,-32768, 501, --32768,-32768,-32768,-32768, 1647, 545, 2064, 1161,-32768,-32768, - 1221,-32768, 2218,-32768, 454,-32768, 454,-32768,-32768, 500, --32768,-32768, 506,-32768, 2166,-32768,-32768, 1727, 547, 527, --32768,-32768, 529, 537, 1958, 559, 533, 536, 1905, 89, - 592,-32768, 565, 540,-32768, 555, 2120,-32768, 590, 1024, - 60,-32768,-32768,-32768,-32768,-32768, 1838,-32768, 1958, 597, - 557, 1281,-32768, 813,-32768,-32768,-32768, 1958, 585,-32768, - 1958, 1958, 2135,-32768,-32768,-32768,-32768, 568, 1958, 586, --32768, 608,-32768,-32768,-32768, 457,-32768, 194, 1104,-32768, --32768,-32768,-32768, 1958,-32768, 1281, 2117,-32768, 1281,-32768, --32768, 593, 1958, 666,-32768, 275, 622, 632, 1958,-32768, --32768, 637,-32768, 1958, 301,-32768, 108, 308,-32768, 1033, --32768,-32768, 1727, 633,-32768, 677, 1281,-32768,-32768, 642, --32768,-32768,-32768,-32768, 2184,-32768, 26,-32768, 360,-32768, - 360,-32768,-32768,-32768, 643,-32768,-32768,-32768,-32768, 1958, --32768,-32768, 710, 646,-32768,-32768,-32768,-32768, 1281,-32768, --32768, 647,-32768, 668, 47, 651,-32768,-32768, 326, 326, --32768,-32768,-32768, 1958, 710, 656, 710,-32768,-32768, 1958, - 658, 48,-32768,-32768, 659,-32768, 434, 662,-32768, 299, - 146,-32768,-32768, 663, 434,-32768,-32768, 299, 742, 743, --32768 +static const short yypact[] = { 66, + 82, 2070, 2070, 286,-32768,-32768,-32768,-32768, 77, 84, + 103, 30, 55, 79,-32768,-32768,-32768,-32768,-32768, 60, + 113, 405, 142,-32768, 183,-32768,-32768, 2070,-32768,-32768, +-32768,-32768,-32768,-32768, 163,-32768, 170,-32768, 173, 1932, + 1866, 165,-32768,-32768, 60, 35,-32768, 183, 589,-32768, + 530,-32768, 60, 142,-32768, 183,-32768,-32768, 1138,-32768, +-32768, 458,-32768, 192, 267,-32768, 200,-32768,-32768,-32768, +-32768,-32768,-32768, 1932, 1932, 229,-32768,-32768,-32768, 1932, +-32768,-32768, 850,-32768,-32768, 1932, 206, 211,-32768, 1959, + 1986,-32768, 2136, 366, 288, 1932,-32768, 243, 161,-32768, + 271, 438, 842, 237, 150,-32768, 530, 60,-32768, 254, +-32768, 1408, 361, 183,-32768,-32768, 530, 106,-32768, 183, + 732, 389, 413, 112, 1354, 1138,-32768,-32768,-32768,-32768, + 183,-32768,-32768, 318, 297,-32768, 458, 183,-32768,-32768, + 412, 306, 639, 824,-32768, 183,-32768,-32768,-32768,-32768, +-32768, 315, 321, 322, 331,-32768, 352, 1932, 850,-32768, + 850,-32768, 1932, 1932, 401,-32768,-32768, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932,-32768, +-32768, 229, 229, 1932, 1932,-32768,-32768,-32768,-32768, 161, + 1421,-32768, 442, 648,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 93,-32768, 394,-32768, 413,-32768,-32768, 443, + 413, 466,-32768, 907,-32768, 377, 407,-32768, 323, 59, +-32768,-32768, 456, 183, 199, 283,-32768, 530, 530,-32768, + 361, 183,-32768, 1474,-32768,-32768, 361, 1932, 229, 400, + 297,-32768,-32768,-32768,-32768,-32768, 409,-32768, 416,-32768, +-32768,-32768, 418, 423, 1755,-32768, 2136, 427, 432, 2136, + 2136, 1932, 479, 1932, 1932, 1725, 2193, 1903, 1130, 1357, + 960, 960, 455, 455,-32768,-32768,-32768,-32768,-32768, 450, + 211, 448, 310, 296,-32768, 628,-32768, 457,-32768, 1487, +-32768, 648, 465, 842, 2013, 52, 467,-32768,-32768,-32768, + 1088,-32768, 470, 257,-32768,-32768, 154,-32768,-32768, 57, +-32768,-32768,-32768, 861,-32768, 389,-32768,-32768, 389,-32768, + 512,-32768,-32768, 468,-32768, 2136,-32768, 183, 475, 473, +-32768,-32768, 473, 183, 183,-32768, 526,-32768,-32768,-32768, +-32768,-32768, 523, 1932, 2171, 2183,-32768,-32768, 442,-32768, +-32768,-32768,-32768,-32768, 482,-32768,-32768, 209, 490,-32768, +-32768, 177, 67,-32768,-32768, 1058,-32768, 576, 322,-32768, +-32768,-32768, 505, 451,-32768, 1343, 57,-32768,-32768, 57, +-32768, 183,-32768, 261,-32768,-32768, 229, 944, 526,-32768, + 1163,-32768, 2065,-32768,-32768, 1932,-32768,-32768,-32768, 67, + 183, 137, 242, 183,-32768, 242, 183, 628,-32768,-32768, +-32768,-32768,-32768, 530,-32768, 60,-32768, 387,-32768,-32768, + 2136,-32768,-32768, 1343,-32768,-32768,-32768, 1932, 187,-32768, + 276, 433, 672, 507, 508, 762,-32768,-32768,-32768,-32768, +-32768, 549, 229, 1932,-32768, 550, 2136, 514, 516,-32768, + 1932, 250, 188, 609,-32768, 1540,-32768,-32768,-32768, 216, +-32768,-32768,-32768, 309, 325, 155, 387,-32768,-32768, 1163, +-32768, 1642, 1932,-32768,-32768, 229,-32768,-32768,-32768,-32768, + 520,-32768,-32768,-32768,-32768, 1621, 564, 2109, 1163,-32768, +-32768, 1223,-32768, 2065,-32768, 459,-32768, 459,-32768,-32768, + 524,-32768,-32768, 532,-32768, 1642,-32768,-32768, 1701, 573, + 555,-32768,-32768, 559, 561, 1932, 584, 546, 547, 1879, + 201, 619,-32768, 590, 553,-32768, 567, 794,-32768, 611, + 1026, 61,-32768,-32768,-32768,-32768,-32768, 1812,-32768, 1932, + 600, 569, 1283,-32768, 302,-32768,-32768,-32768, 1932, 591, +-32768, 1932, 1932, 1565,-32768,-32768,-32768,-32768, 580, 1932, + 588,-32768, 610,-32768,-32768,-32768, 530,-32768, 60, 1106, +-32768,-32768,-32768,-32768, 1932,-32768, 1283, 2091,-32768, 1283, +-32768,-32768, 596, 1932, 665,-32768, 868, 630, 612, 1932, +-32768,-32768, 632,-32768, 1932, 350,-32768, 227, 355,-32768, + 955,-32768,-32768, 1701, 634,-32768, 675, 1283,-32768,-32768, + 637,-32768,-32768,-32768,-32768, 2158,-32768, 39,-32768, 361, +-32768, 361,-32768,-32768,-32768, 641,-32768,-32768,-32768,-32768, + 1932,-32768,-32768, 705, 642,-32768,-32768,-32768,-32768, 1283, +-32768,-32768, 646,-32768, 666, 47, 643,-32768,-32768, 322, + 322,-32768,-32768,-32768, 1932, 705, 651, 705,-32768,-32768, + 1932, 653, 48,-32768,-32768, 654,-32768, 466, 655,-32768, + 288, 303,-32768,-32768, 657, 466,-32768,-32768, 288, 735, + 740,-32768 }; static const short yypgoto[] = {-32768, --32768,-32768,-32768, 153,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -5,-32768, -40, 456, -137, 427,-32768,-32768, - -55,-32768, 398,-32768,-32768,-32768,-32768,-32768, 197,-32768, - -191, -207, 542,-32768,-32768, 332,-32768, 22, -98, 216, - 0, 711,-32768, 351, 7, -7, -15, 573, 11, -171, - -365, -45, -107, -52,-32768,-32768,-32768, 206, 14, 53, --32768, 483,-32768, 349,-32768, -411,-32768, -384,-32768,-32768, +-32768,-32768,-32768, 65,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, -5,-32768, -40, 446, -137, 424,-32768,-32768, + -55,-32768, 399,-32768,-32768,-32768,-32768,-32768, 190,-32768, + -191, -207, 527,-32768,-32768, 314,-32768, 22, -98, 215, + 0, 700,-32768, 339, 7, -7, -15, 560, 11, -149, + -366, -45, -107, -52,-32768,-32768,-32768, 202, 14, 53, +-32768, 464,-32768, 337,-32768, -378,-32768, -409,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -38, -63, -310, -13, -30,-32768,-32768,-32768,-32768,-32768, - 551, 24,-32768, 630, 550, 414, 653, 558, 27, -57, - 3, -89, -152, 365,-32768,-32768, -170,-32768,-32768,-32768, - 411, -292, -128,-32768,-32768,-32768,-32768, -95, -285, -422, - 367,-32768, 208,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 209,-32768, -555, 149,-32768, 150,-32768, - 525,-32768, -232,-32768,-32768,-32768, 459, -194,-32768,-32768, --32768,-32768, 9 + -38, -68, -298, -13, -30,-32768,-32768,-32768,-32768,-32768, + 528, 41,-32768, 620, 522, 391, 635, 537, 1, -79, + -11, -89, -139, 344,-32768,-32768, -180,-32768,-32768,-32768, + 403, -278,-32768, -128,-32768,-32768,-32768,-32768, -95, -286, + -495, 358,-32768, 193,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 214,-32768, -556, 147,-32768, 146, +-32768, 531,-32768, -233,-32768,-32768,-32768, 449, -195,-32768, +-32768,-32768,-32768, 9 }; -#define YYLAST 2295 +#define YYLAST 2245 static const short yytable[] = { 87, 98, 21, 21, 35, 37, 39, 49, 124, 22, 22, 28, 28, 121, 232, 54, 25, 25, 222, 148, 149, - 295, 229, 290, 319, 151, 253, 225, 21, 132, 324, - 156, 105, 55, 48, 22, 56, 28, 283, 321, 125, - 187, 25, 51, 53, 198, 383, 280, 463, 310, 141, - 401, 100, 350, 226, 209, 368, 134, 503, 48, -102, - 573, 67, 206, 633, 120, 186, 48, 143, 311, 43, - 150, 216, 131, 144, 642, 100, 541, 60, 110, 32, - 33, 32, 33, 422, 655, 667, 424, 32, 33, -1, - 207, 32, 33, 100, 211, 132, 14, 202, -2, 282, - 60, 634, 232, 105, 665, 189, 543, 40, 60, 155, - 111, 112, 197, 50, 190, 191, 404, 48, 574, 290, - 120, 48, 656, 668, 222, 399, 191, 584, 141, 348, - 120, 134, 359, 41, 110, 222, 252, -162, 559, 131, - -102, 222, 497, -162, 281, 42, 143, 331, 14, 331, - 287, 485, 144, 197, 100, 29, 280, 581, 34, 14, - 36, 315, 243, 132, 245, 318, 38, 472, 247, 100, - 249, 100, 60, 14, 462, 317, 277, 278, 43, 622, - 61, 292, 206, 60, -162, 257, 293, 258, -162, 14, - 366, 605, 63, 323, 608, 367, 43, 508, 339, 394, - 595, 637, 454, 455, 395, 14, 641, 494, 643, 43, - 397, 207, 158, 206, 66, 211, 436, 652, 111, 112, - 342, 674, 627, 14, 68, 404, 675, 25, 43, 115, - 111, 112, 206, 134, 399, 191, 14, 103, 120, 411, - 106, 120, 120, 44, 107, 468, 283, 208, 354, 57, - 676, 58, 45, 189, 651, 14, 398, 451, 138, 498, - 132, 477, 190, 191, 482, 399, 191, 133, 217, 32, - 33, -105, -105, -105, -105, 116, 60, -105, 146, -105, - -105, -105, 128, 129, 117, 603, 331, 202, 9, 10, - 11, 437, 54, 227, 468, -105, 235, 228, 25, 348, - 107, 453, 157, 403, 406, 373, 348, 186, 452, 158, - 55, 43, 397, 56, 459, 188, 5, 195, 7, 196, - 361, 362, 212, 374, 9, 10, 11, 238, 180, 181, - 239, 182, 183, 184, 185, 43, 115, 437, 14, 483, - 13, 364, 474, 242, 428, 365, 475, 402, 405, -105, - 612, 248, 177, 178, 179, 501, 528, 502, 398, 228, - 217, 107, 14, -315, -315, -315, -315, 399, 191, 464, - 427, -315, -315, -315, 400, 48, 244, 618, 25, 528, - 429, 228, 116, 416, 620, 105, 132, -315, 107, -261, - -261, 117, 250, 413, 415, 251, 120, 30, 31, 32, - 33, 465, 233, 234, 233, 234, 544, 252, 127, 128, - 129, 635, 48, 636, 500, 9, 10, 11, 254, 139, - 25, 316, 5, 255, 7, 97, 120, -82, 48, 294, - 9, 10, 11, 14, 110, 132, 486, 320, 207, 211, - 307, -101, 71, 43, 524, 207, 13, 206, 308, 15, - 111, 112, 60, 5, 57, 7, 58, -259, -259, 43, - 115, 9, 10, 11, 327, 400, 400, 524, 314, 506, - 14, 333, 48, 334, 528, 670, 335, 13, 558, 523, - 337, 187, 340, 678, 526, 341, 14, 288, 289, 232, - 44, 527, 343, 537, 347, 140, -253, 346, 25, 45, - 288, 289, 523, 351, 349, 355, 116, 582, 308, 476, - 585, 588, 454, 455, 560, 117, 160, 162, 592, 54, - 658, 659, 598, 222, 360, 222, 414, 597, 363, 377, - 207, 382, 380, 604, 378, 381, 526, 55, 384, 385, - 56, 386, 610, 527, 391, 537, 393, 566, 568, 396, - 25, 410, 412, 617, 600, 256, -295, 400, 481, -31, - 259, 260, 524, 489, 490, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 491, 507, 120, - 538, 48, 545, 546, -32, 548, 425, 551, 4, 585, - -118, 5, 6, 7, 8, 552, 554, 523, 561, 9, - 10, 11, 563, 43, 397, 569, 456, 457, 458, 555, - 460, 461, 556, 661, 12, 13, 564, 14, 15, 585, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 14, 565, 578, 473, 580, 325, 296, -118, 297, 5, - 6, 7, 8, 583, 591, 298, -118, 9, 10, 11, - 496, 172, 173, 174, 175, 176, 177, 178, 179, 45, - 344, 345, 593, 13, 16, 14, 594, 217, 609, -114, - -114, -114, -114, -114, -114, -114, 504, -114, -114, -114, - -114, -114, 611, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, 613, -114, - -114, 32, 33, 199, 200, 201, -114, 614, 625, -114, - 547, -375, 626, 616, -114, -114, -114, 628, 644, 638, - -114, -114, 648, 653, 230, -114, 654, -19, -19, -19, - -19, 657, 663, 666, 669, -19, -19, -19, 672, 677, - 392, 680, 681, -114, -114, -114, -114, 586, -114, 358, - 110, -19, 575, -162, 175, 176, 177, 178, 179, -162, - 217, 312, -315, -315, 478, 126, 466, -315, -315, 291, - -315, 470, 420, 246, -315, 356, -315, -315, -315, -315, - -315, -315, -315, -315, -315, -315, -315, 446, -315, 241, - -315, 328, -315, -315, 332, 426, 326, 479, 439, -315, - -162, 484, -315, 662, -162, -19, 664, -315, -315, -315, - 623, 624, 352, -315, -315, 43, 397, 0, -315, 206, - 420, 0, 139, 409, 471, 5, 0, 7, 97, 0, - 0, 0, 0, 9, 10, 11, -315, -291, -315, -315, - 487, -315, 14, 0, 0, 0, 0, 493, 152, 13, - 69, 5, 15, 7, 97, 70, 71, 0, 72, 9, - 10, 11, 496, 0, 0, 0, 446, 0, 0, 505, - 0, 45, 0, 0, 0, 13, 73, 0, 15, 0, - 74, 75, 0, 0, 0, 446, 0, 76, 446, 0, - 77, 467, 128, 129, 0, 78, 79, 80, 9, 10, - 11, 81, 82, 0, 296, 0, 83, 5, 6, 7, - 8, 0, 553, 298, 0, 9, 10, 11, 173, 174, - 175, 176, 177, 178, 179, 0, 84, 85, 0, -91, - 0, 13, 0, 14, 0, 0, 577, 0, 0, 446, - 0, 0, 431, 0, -315, -315, -315, -315, -315, -315, - -315, 0, -315, -315, -315, -315, -315, 0, -315, -315, - -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, - -315, -315, -315, 446, -315, -315, 446, 0, 0, -375, - 0, -315, 0, 0, -315, 0, 615, 0, 0, -315, - -315, -315, 0, 0, 0, -315, -315, 0, 0, 0, - -315, 0, 0, 0, 446, 5, 0, 7, 196, 0, - 0, 0, 0, 9, 10, 11, 0, 0, -315, 0, - -315, -315, 0, -315, 570, 0, -315, -315, 0, 13, - 0, -315, -315, 0, -315, 0, 446, 0, -315, 0, - -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, - -315, 189, -315, 0, -315, 0, -315, -315, 0, 110, - 190, 191, -162, -315, 0, 0, -315, 0, -162, 0, - 0, -315, -315, -315, 0, 0, 0, -315, -315, 0, - 0, 0, -315, 0, 0, 0, 5, 6, 7, 8, - 0, 111, 112, 0, 9, 10, 11, 0, 0, 0, - -315, 0, -315, -315, 601, -315, -325, -325, 0, -162, - 13, -325, -325, -162, -325, 0, 0, 0, -325, 0, - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, 0, -325, 0, -325, 0, -325, -325, 0, 0, - 0, 0, 0, -325, 180, 181, -325, 182, 183, 184, - 185, -325, -325, -325, 0, 0, 0, -325, -325, 0, - 0, 440, -325, 441, 33, 0, 0, 0, 70, 71, - 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, - -325, 0, -325, -325, 0, -325, 0, 0, 0, 73, - 0, 15, 0, 74, 75, 0, 0, 0, 0, 0, - 76, 0, 0, 77, 0, 0, 0, 0, 78, 79, - 80, 0, 0, 0, 81, 82, 0, 0, 442, 83, - 443, 440, 0, 441, 33, 0, 0, 0, 70, 71, - 0, 72, 0, 0, 0, 0, 0, 0, -190, 84, - 85, 0, 444, 0, 0, 0, 0, 0, 0, 73, - 0, 15, 0, 74, 75, 0, 0, 0, 0, 0, + 296, 229, 198, 320, 151, 254, 225, 21, 132, 325, + 156, 105, 55, 48, 22, 56, 28, 322, 311, 125, + 187, 25, 51, 53, 291, 384, 281, 464, 226, 141, + 284, 100, 351, 143, 209, 585, 134, 369, 48, -102, + 186, 574, 43, 402, 120, -1, 48, 29, 312, 43, + 150, 216, 131, 144, 643, 100, 634, 60, 67, 32, + 33, -2, 544, 155, 656, 668, 32, 33, 40, 14, + 207, 504, 61, 100, 211, 132, 14, 202, 423, 283, + 60, 425, 232, 105, 666, 32, 33, 623, 60, 44, + 542, 106, 197, 41, 635, 107, 405, 48, 45, 575, + 120, 48, 657, 669, 222, 400, 191, 360, 141, 638, + 120, 134, 143, 582, 642, 222, 644, 42, 252, 131, + -102, 222, 291, 349, 282, 653, 57, 332, 58, 332, + 288, 486, 144, 197, 100, 498, 316, 281, 34, 258, + 319, 259, 243, 132, 245, 36, 14, 606, 293, 100, + 609, 100, 60, 294, 463, 318, 278, 279, 677, 43, + 398, 110, 227, 60, 38, 247, 228, 249, 235, 50, + 43, 398, 107, 324, 206, 455, 456, 509, 628, 340, + 596, 43, 115, 32, 33, 206, 14, 437, 111, 112, + 189, 207, 14, 111, 112, 211, 14, 14, 43, 190, + 191, 343, 206, 103, 473, 208, 399, 25, 14, 367, + 652, 32, 33, 134, 368, 400, 191, 399, 120, 43, + 412, 120, 120, 206, 63, 14, 400, 191, 116, 355, + 560, 66, 478, 110, 68, 483, -162, 117, 452, 499, + 284, 132, -162, 43, 115, 405, 14, 139, 469, 138, + 5, 14, 7, 97, 400, 191, 60, 146, 9, 10, + 11, 157, 404, 407, 395, 604, 44, 332, 202, 396, + 14, 158, 438, 54, 13, 45, 186, 15, 428, 25, + 111, 112, 454, -162, 43, 398, 374, -162, 206, 453, + 116, 55, 212, 349, 56, 460, 206, 469, 188, 117, + 349, 362, 363, 217, 375, 495, -105, -105, -105, -105, + 158, 14, -105, 365, -105, -105, -105, 366, 438, 242, + 484, 233, 234, 140, -253, 429, 195, 248, 403, 406, + -105, 497, 475, 238, 289, 290, 476, 529, 317, 189, + 45, 217, 30, 31, -316, -316, -316, -316, 190, 191, + 465, 350, -316, -316, -316, 401, 48, 239, 675, 25, + 529, 430, 244, 676, 417, 502, 105, 132, -316, 228, + 250, 468, 128, 129, 414, 416, 251, 120, 9, 10, + 11, 503, 466, 252, -105, 107, 255, 545, 5, 6, + 7, 8, 636, 48, 637, 501, 9, 10, 11, 180, + 181, 25, 182, 183, 184, 185, 619, 120, 256, 48, + 228, 621, 13, 321, 14, 107, 132, 487, -82, 207, + 211, 5, -101, 7, 196, 525, 207, 233, 234, 9, + 10, 11, 295, 60, 5, 57, 7, 58, 133, 308, + 32, 33, 9, 10, 11, 13, 401, 401, 525, 110, + 507, 111, 112, 48, 71, 529, 671, 328, 13, 559, + 524, 52, 187, 309, 679, 527, 334, 189, -259, -259, + 232, 315, 528, 335, 538, 336, 190, 191, 338, 25, + 289, 290, 341, 524, 177, 178, 179, 342, 583, 309, + 477, 586, 589, 160, 162, 561, 344, 455, 456, 593, + 54, 659, 660, 599, 222, 347, 222, 415, 598, 381, + 348, 207, 43, 115, 605, 385, 386, 527, 55, 352, + 356, 56, 361, 611, 528, 364, 538, 378, 567, 569, + 379, 25, 382, 383, 618, 601, 257, 387, 401, 14, + 392, 260, 261, 525, 394, 397, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 411, 116, + 120, 413, 48, 426, -295, 482, -31, 490, 117, 109, + 586, 491, -27, -27, -27, -27, 492, 508, 524, 539, + -27, -27, -27, 457, 458, 459, 546, 461, 462, 547, + -32, 43, 398, 549, 662, 110, -27, 552, -162, 553, + 586, 555, 556, 557, -162, 562, 570, 564, 297, 565, + 474, 5, 6, 7, 8, 579, 326, 299, 14, 9, + 10, 11, 5, 566, 7, 196, 581, 111, 112, 584, + 9, 10, 11, 128, 129, 13, 592, 14, 497, 9, + 10, 11, 345, 346, 594, -162, 13, 45, 595, -162, + -27, 610, 217, 505, -114, -114, -114, -114, -114, -114, + -114, 612, -114, -114, -114, -114, -114, 615, -114, -114, + -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, + -114, -114, -114, -376, -114, -114, 614, 548, 617, 626, + 627, -114, 629, 645, -114, -261, -261, 639, 649, -114, + -114, -114, 654, 658, 655, -114, -114, 664, 667, 670, + -114, 673, 230, 678, 681, -19, -19, -19, -19, 682, + 359, 587, 393, -19, -19, -19, 313, 479, -114, -114, + -114, -114, 576, -114, 126, 467, 292, 357, 110, -19, + 471, -162, 217, 246, -316, -316, 333, -162, 329, -316, + -316, 241, -316, 427, 421, 327, -316, 480, -316, -316, + -316, -316, -316, -316, -316, -316, -316, -316, -316, 447, + -316, 440, -316, 485, -316, -316, 624, 5, 6, 7, + 8, -316, 663, 665, -316, 9, 10, 11, -162, -316, + -316, -316, -162, -19, 410, -316, -316, 625, 0, 353, + -316, 13, 421, 14, 139, 0, 472, 5, 0, 7, + 97, 0, 0, 0, 0, 9, 10, 11, -316, -291, + -316, -316, 488, -316, 32, 33, 199, 200, 201, 494, + 152, 13, 69, 5, 15, 7, 97, 70, 71, 0, + 72, 9, 10, 11, 5, 6, 7, 8, 447, 0, + 568, 506, 9, 10, 11, 0, 0, 13, 73, 0, + 15, 0, 74, 75, 0, 0, 0, 447, 13, 76, + 447, 0, 77, 0, 0, 0, 0, 78, 79, 80, + 0, 0, 0, 81, 82, 0, 0, 297, 83, 298, + 5, 6, 7, 8, 554, 0, 299, 0, 9, 10, + 11, 180, 181, 0, 182, 183, 184, 185, 84, 85, + 0, -91, 0, 0, 13, 0, 14, 0, 578, 0, + 0, 447, 0, 613, 432, 0, -316, -316, -316, -316, + -316, -316, -316, 0, -316, -316, -316, -316, -316, 0, + -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, + -316, -316, -316, -316, -316, 447, -316, -316, 447, 0, + 0, 110, -376, -316, -162, 0, -316, 0, 616, 0, + -162, -316, -316, -316, 0, 0, 0, -316, -316, 0, + 0, 0, -316, 0, 0, 0, 447, 175, 176, 177, + 178, 179, 0, 111, 112, 0, 0, 0, 0, 0, + -316, 0, -316, -316, 0, -316, 571, 0, -316, -316, + 0, -162, 0, -316, -316, -162, -316, 0, 447, 0, + -316, 0, -316, -316, -316, -316, -316, -316, -316, -316, + -316, -316, -316, 0, -316, 0, -316, 0, -316, -316, + 0, 5, 6, 7, 8, -316, 0, 409, -316, 9, + 10, 11, 0, -316, -316, -316, 0, 0, 0, -316, + -316, 0, 0, 0, -316, 13, 0, 14, 0, 0, + 0, 5, 6, 7, 8, 0, 0, 0, 0, 9, + 10, 11, -316, 0, -316, -316, 602, -316, -326, -326, + 0, 0, 0, -326, -326, 13, -326, 14, 0, 0, + -326, 0, -326, -326, -326, -326, -326, -326, -326, -326, + -326, -326, -326, 0, -326, 0, -326, 0, -326, -326, + 0, 0, 127, 128, 129, -326, 0, 0, -326, 9, + 10, 11, 0, -326, -326, -326, 0, 0, 0, -326, + -326, 0, 0, 441, -326, 442, 33, 14, 0, 0, + 70, 71, 0, 72, 172, 173, 174, 175, 176, 177, + 178, 179, -326, 0, -326, -326, 0, -326, 0, 0, + 0, 73, 0, 15, 0, 74, 75, 0, 0, 0, + 0, 0, 76, 0, 0, 77, 0, 0, 0, 0, + 78, 79, 80, 0, 0, 0, 81, 82, 0, 0, + 443, 83, 444, 441, 0, 442, 33, 0, 0, 0, + 70, 71, 0, 72, 0, 0, 0, 0, 0, 0, + -190, 84, 85, 0, 445, 0, 0, 0, 0, 0, + 0, 73, 0, 15, 0, 74, 75, 0, 0, 0, + 0, 0, 76, 0, 0, 77, 0, 0, 0, 0, + 78, 79, 80, 0, 0, 0, 81, 82, 0, 0, + 443, 83, 444, 441, 0, 442, 33, 0, 0, 0, + 70, 71, 0, 72, 0, 0, 0, 0, 0, 0, + -250, 84, 85, 0, 445, 0, 0, 0, 0, 0, + 0, 73, 0, 15, 0, 74, 75, 0, 0, 0, + 0, 0, 76, 0, 0, 77, 0, 0, 0, 0, + 78, 79, 80, 0, 0, 0, 81, 82, 0, 0, + 443, 83, 444, 419, 0, 69, 0, 0, 0, 0, + 70, 71, 0, 72, 236, 0, 0, -23, -23, -23, + -23, 84, 85, 0, 445, -23, -23, -23, 0, 0, + 0, 73, 0, 15, 0, 74, 75, 0, 0, 0, + 110, -23, 76, -162, 0, 77, 0, 0, 0, -162, + 78, 79, 80, 0, 0, 0, 81, 82, 0, 0, + 0, 83, 173, 174, 175, 176, 177, 178, 179, 0, + 69, 0, 111, 112, 0, 70, 71, 0, 72, 0, + 0, 84, 85, 69, 420, 0, 0, 0, 70, 71, + -162, 72, 0, 0, -162, -23, 73, 0, 15, 0, + 74, 75, 0, 0, 0, 0, 0, 76, 0, 73, + 77, 15, 0, 74, 75, 78, 79, 80, 0, 0, + 76, 81, 82, 77, 0, 0, 83, 0, 78, 79, + 80, 0, 0, 0, 81, 82, 69, 0, 0, 83, + 0, 70, 71, 0, 72, 0, 84, 85, 0, 69, + 215, 0, 0, 0, 70, 71, 0, 72, 0, 84, + 85, 0, 73, 287, 15, 0, 74, 75, 0, 0, + 0, 0, 0, 76, 0, 73, 77, 15, 0, 74, + 75, 78, 79, 80, 0, 0, 76, 81, 82, 77, + 0, 0, 83, 0, 78, 79, 80, 0, 0, 0, + 81, 82, 69, 0, 0, 83, 0, 70, 71, 0, + 72, 0, 84, 85, 0, 0, 323, 0, 0, 0, + 0, 0, 0, 0, 0, 84, 85, 0, 73, 354, + 15, 0, 74, 75, 590, 0, 0, 0, 0, 76, + 0, 0, 77, 0, 0, 0, 0, 78, 79, 80, + 0, 0, 0, 81, 82, 0, 0, 0, 83, 163, + 164, 165, 591, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 0, 84, 85, + 0, 0, 500, 442, 510, 6, 7, 8, 70, 71, + 0, 72, 9, 10, 11, 511, 0, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 13, 73, + 14, 15, 0, 74, 75, 0, 0, 0, 0, 0, 76, 0, 0, 77, 0, 0, 0, 0, 78, 79, - 80, 0, 0, 0, 81, 82, 0, 0, 442, 83, - 443, 440, 0, 441, 33, 0, 0, 0, 70, 71, - 0, 72, 0, 0, 0, 0, 0, 0, -250, 84, - 85, 0, 444, 0, 0, 0, 0, 0, 0, 73, - 0, 15, 0, 74, 75, 0, 0, 0, 0, 0, - 76, 0, 0, 77, 0, 0, 0, 0, 78, 79, - 80, 0, 0, 0, 81, 82, 0, 0, 442, 83, - 443, 418, 0, 69, 0, 0, 0, 0, 70, 71, - 0, 72, 109, 0, 0, -27, -27, -27, -27, 84, - 85, 0, 444, -27, -27, -27, 0, 0, 0, 73, - 0, 15, 0, 74, 75, 0, 0, 0, 110, -27, - 76, -162, 0, 77, 0, 0, 0, -162, 78, 79, - 80, 0, 0, 0, 81, 82, 0, 0, 0, 83, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 0, - 111, 112, 236, 0, 0, -23, -23, -23, -23, 84, - 85, 0, 419, -23, -23, -23, 0, 0, -162, 69, - 0, 0, -162, -27, 70, 71, 0, 72, 110, -23, - 0, -162, 0, 0, 0, 0, 0, -162, 0, 0, - 0, 0, 0, 0, 0, 73, 0, 15, 0, 74, - 75, 0, 0, 0, 0, 0, 76, 0, 0, 77, - 111, 112, 0, 0, 78, 79, 80, 0, 0, 0, - 81, 82, 0, 0, 0, 83, 0, 0, -162, 69, - 0, 0, -162, -23, 70, 71, 0, 72, 0, 0, - 0, 0, 69, 0, 0, 84, 85, 70, 71, 215, - 72, 0, 0, 0, 0, 73, 0, 15, 0, 74, - 75, 0, 0, 0, 0, 0, 76, 0, 73, 77, - 15, 0, 74, 75, 78, 79, 80, 0, 0, 76, - 81, 82, 77, 0, 0, 83, 0, 78, 79, 80, - 0, 0, 0, 81, 82, 69, 0, 0, 83, 0, - 70, 71, 0, 72, 0, 84, 85, 0, 69, 286, - 0, 0, 0, 70, 71, 0, 72, 0, 84, 85, - 0, 73, 322, 15, 0, 74, 75, 0, 0, 0, - 0, 0, 76, 0, 73, 77, 15, 0, 74, 75, - 78, 79, 80, 0, 0, 76, 81, 82, 77, 0, - 0, 83, 0, 78, 79, 80, 0, 0, 0, 81, - 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, - 0, 84, 85, 0, 0, 353, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 85, 0, 0, 499, 441, - 509, 6, 7, 8, 70, 71, 0, 72, 9, 10, - 11, 510, 0, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 13, 73, 14, 15, 0, 74, - 75, 0, 5, 6, 7, 8, 76, 0, 408, 77, - 9, 10, 11, 0, 78, 79, 80, 0, 0, 0, - 81, 82, 0, 0, 0, 83, 13, 0, 14, 0, - 0, 0, 5, 6, 7, 8, 0, 0, 0, 0, - 9, 10, 11, 522, 0, 84, 85, 0, 252, 441, - 33, 0, 0, 0, 70, 71, 13, 72, 14, 0, - 0, 510, 0, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 0, 73, 0, 15, 0, 74, - 75, 0, 0, 0, 0, 0, 76, 0, 0, 77, - 0, 0, 0, 0, 78, 79, 80, 0, 0, 0, - 81, 82, 0, 69, 0, 83, 0, 0, 70, 71, - 0, 72, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 522, 0, 84, 85, 0, 252, 73, + 80, 14, 0, 0, 81, 82, 163, 164, 165, 83, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 0, 0, 0, 523, 0, 84, + 85, 0, 252, 442, 33, 0, 0, 0, 70, 71, + 0, 72, 0, 0, 0, 511, 0, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 0, 73, 0, 15, 0, 74, 75, 0, 0, 0, 0, 0, 76, 0, 0, 77, 0, 0, 0, 0, 78, 79, - 80, 0, 0, 0, 81, 82, 0, 0, 0, 83, - 69, 5, 6, 7, 8, 70, 71, 0, 72, 9, - 10, 11, 0, 0, 0, 0, 0, 0, 0, 84, - 85, 0, 338, 0, 0, 13, 73, 14, 15, 0, - 74, 75, 0, 0, 0, 0, 0, 76, 0, 0, - 77, 0, 0, 0, 0, 78, 79, 80, 0, 0, - 0, 81, 82, 0, 69, 5, 83, 7, 97, 70, - 71, 0, 72, 9, 10, 11, 0, 69, 0, 0, - 0, 0, 70, 71, 0, 72, 84, 85, 0, 13, - 73, 0, 15, 0, 74, 75, 0, 0, 0, 0, - 0, 76, 0, 73, 77, 15, 0, 74, 75, 78, - 79, 80, 0, 0, 76, 81, 82, 77, 0, 0, - 83, 0, 78, 79, 80, 0, 0, 0, 81, 82, - 69, 0, 0, 83, 0, 70, 71, 0, 72, 0, - 84, 85, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 557, 0, 84, 85, 0, 73, 69, 15, 0, - 74, 75, 70, 71, 0, 72, 0, 76, 0, 0, - 77, 0, 0, 0, 0, 78, 79, 80, 0, 0, - 0, 81, 82, 73, 69, 15, 83, 74, 75, 70, - 71, 0, 72, 0, 76, 0, 0, 77, 0, 0, - 0, 0, 78, 79, 80, 0, 84, 85, 81, 82, - 73, 357, 15, 159, 74, 75, 70, 71, 0, 72, + 80, 0, 0, 0, 81, 82, 0, 69, 0, 83, + 0, 0, 70, 71, 0, 72, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 523, 0, 84, + 85, 0, 252, 73, 0, 15, 0, 74, 75, 0, + 0, 0, 0, 0, 76, 0, 0, 77, 0, 0, + 0, 0, 78, 79, 80, 0, 0, 0, 81, 82, + 0, 0, 0, 83, 69, 5, 6, 7, 8, 70, + 71, 0, 72, 9, 10, 11, 0, 0, 0, 0, + 0, 0, 0, 84, 85, 0, 339, 0, 0, 13, + 73, 14, 15, 0, 74, 75, 0, 0, 0, 0, + 0, 76, 0, 0, 77, 0, 0, 0, 0, 78, + 79, 80, 0, 0, 0, 81, 82, 0, 69, 5, + 83, 7, 97, 70, 71, 0, 72, 9, 10, 11, + 0, 69, 0, 0, 0, 0, 70, 71, 0, 72, + 84, 85, 0, 13, 73, 0, 15, 0, 74, 75, + 0, 0, 0, 0, 0, 76, 0, 73, 77, 15, + 0, 74, 75, 78, 79, 80, 0, 0, 76, 81, + 82, 77, 0, 0, 83, 0, 78, 79, 80, 0, + 0, 0, 81, 82, 69, 0, 0, 83, 0, 70, + 71, 0, 72, 0, 84, 85, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 558, 0, 84, 85, 0, + 73, 69, 15, 0, 74, 75, 70, 71, 0, 72, 0, 76, 0, 0, 77, 0, 0, 0, 0, 78, - 79, 80, 0, 84, 85, 81, 82, 73, 0, 15, - 161, 74, 75, 539, 0, 0, 0, 0, 76, 0, + 79, 80, 0, 0, 0, 81, 82, 73, 69, 15, + 83, 74, 75, 70, 71, 0, 72, 0, 76, 0, 0, 77, 0, 0, 0, 0, 78, 79, 80, 0, - 84, 85, 81, 82, 0, 0, 0, 83, 163, 164, - 165, 0, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 0, 84, 85, 5, - 6, 7, 8, 5, 6, 7, 8, 9, 10, 11, + 84, 85, 81, 82, 73, 358, 15, 159, 74, 75, + 70, 71, 0, 72, 0, 76, 0, 0, 77, 0, + 0, 0, 0, 78, 79, 80, 0, 84, 85, 81, + 82, 73, 0, 15, 161, 74, 75, 0, 0, 0, + 0, 0, 76, 0, 0, 77, 0, 0, 0, 0, + 78, 79, 80, 0, 84, 85, 81, 82, 0, 0, + 4, 83, -118, 5, 6, 7, 8, 0, 0, 0, 0, 9, 10, 11, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 13, 589, 14, 540, 13, 0, 14, - 0, 163, 164, 165, 0, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 163, - 164, 165, 590, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 0, 0, 0, - 0, 0, 52, 0, 0, 14, 567, 0, 0, 606, - 163, 164, 165, 0, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 163, 164, - 165, 632, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 163, 164, 165, 0, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 165, 0, 166, 167, 168, 169, + 0, 84, 85, 0, 0, 0, 12, 13, 0, 14, + 15, 165, 0, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 0, 540, -118, + 0, 0, 0, 0, 0, 163, 164, 165, -118, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 163, 164, 165, 16, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 163, 164, 165, 607, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 0, 0, + 0, 541, 163, 164, 165, 633, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179 }; static const short yycheck[] = { 40, 41, 2, 3, 9, 10, 11, 20, 53, 2, 3, 2, 3, 51, 121, 22, 2, 3, 113, 74, 75, - 212, 120, 194, 231, 80, 154, 116, 28, 59, 237, - 86, 45, 22, 20, 28, 22, 28, 190, 233, 53, - 96, 28, 21, 22, 102, 331, 184, 413, 219, 65, - 361, 41, 285, 117, 107, 1, 62, 469, 45, 1, - 1, 38, 7, 38, 51, 9, 53, 65, 10, 3, - 76, 112, 59, 65, 630, 65, 488, 25, 27, 3, - 4, 3, 4, 376, 38, 38, 379, 3, 4, 0, - 104, 3, 4, 83, 108, 126, 30, 103, 0, 189, - 48, 76, 210, 117, 660, 50, 491, 59, 56, 83, - 59, 60, 102, 77, 59, 60, 50, 104, 59, 291, - 107, 108, 76, 76, 220, 59, 60, 550, 144, 282, - 117, 137, 76, 59, 27, 231, 82, 30, 50, 126, - 82, 237, 453, 36, 185, 59, 144, 243, 30, 245, - 191, 437, 144, 143, 144, 3, 294, 542, 82, 30, - 82, 225, 141, 194, 143, 229, 82, 38, 145, 159, - 147, 161, 120, 30, 407, 228, 182, 183, 3, 602, - 28, 76, 7, 131, 77, 159, 81, 161, 81, 30, - 76, 576, 82, 234, 579, 81, 3, 483, 254, 76, - 566, 624, 59, 60, 81, 30, 629, 76, 631, 3, - 4, 225, 81, 7, 82, 229, 387, 640, 59, 60, - 261, 76, 607, 30, 82, 50, 81, 214, 3, 4, - 59, 60, 7, 239, 59, 60, 30, 59, 225, 368, - 77, 228, 229, 50, 81, 417, 399, 76, 289, 5, - 673, 7, 59, 50, 639, 30, 50, 395, 78, 454, - 291, 432, 59, 60, 435, 59, 60, 1, 1, 3, - 4, 4, 5, 6, 7, 50, 224, 10, 78, 12, - 13, 14, 6, 7, 59, 571, 382, 293, 12, 13, - 14, 387, 300, 77, 466, 28, 77, 81, 285, 452, - 81, 400, 76, 361, 362, 313, 459, 9, 398, 81, - 300, 3, 4, 300, 404, 76, 4, 76, 6, 7, - 299, 300, 59, 313, 12, 13, 14, 36, 54, 55, - 81, 57, 58, 59, 60, 3, 4, 433, 30, 435, - 28, 77, 77, 138, 383, 81, 81, 361, 362, 82, - 76, 146, 50, 51, 52, 77, 485, 77, 50, 81, - 1, 81, 30, 4, 5, 6, 7, 59, 60, 415, - 38, 12, 13, 14, 361, 362, 77, 77, 365, 508, - 386, 81, 50, 373, 77, 399, 417, 28, 81, 77, - 78, 59, 76, 372, 373, 76, 383, 77, 78, 3, - 4, 415, 59, 60, 59, 60, 496, 82, 5, 6, - 7, 619, 399, 621, 455, 12, 13, 14, 76, 1, - 407, 76, 4, 77, 6, 7, 413, 38, 415, 59, - 12, 13, 14, 30, 27, 466, 442, 232, 452, 453, - 83, 82, 9, 3, 485, 459, 28, 7, 77, 31, - 59, 60, 400, 4, 5, 6, 7, 77, 78, 3, - 4, 12, 13, 14, 78, 452, 453, 508, 36, 475, - 30, 78, 459, 78, 603, 667, 78, 28, 519, 485, - 76, 537, 76, 675, 485, 76, 30, 59, 60, 597, - 50, 485, 38, 485, 83, 77, 78, 76, 485, 59, - 59, 60, 508, 83, 76, 76, 50, 548, 77, 78, - 551, 552, 59, 60, 520, 59, 90, 91, 559, 527, - 649, 650, 568, 619, 76, 621, 77, 566, 76, 36, - 544, 81, 327, 574, 83, 78, 537, 527, 333, 334, - 527, 32, 583, 537, 38, 537, 83, 526, 527, 76, - 537, 3, 77, 594, 568, 158, 78, 544, 78, 38, - 163, 164, 603, 38, 78, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 81, 78, 566, - 36, 568, 83, 78, 38, 59, 381, 59, 1, 630, - 3, 4, 5, 6, 7, 59, 38, 603, 7, 12, - 13, 14, 38, 3, 4, 16, 401, 402, 403, 77, - 405, 406, 77, 654, 27, 28, 77, 30, 31, 660, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 30, 77, 36, 428, 78, 238, 1, 50, 3, 4, - 5, 6, 7, 59, 77, 10, 59, 12, 13, 14, - 50, 45, 46, 47, 48, 49, 50, 51, 52, 59, - 263, 264, 77, 28, 77, 30, 59, 1, 76, 3, - 4, 5, 6, 7, 8, 9, 471, 11, 12, 13, - 14, 15, 17, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 77, 33, - 34, 3, 4, 5, 6, 7, 40, 76, 76, 43, - 505, 76, 36, 77, 48, 49, 50, 76, 9, 77, - 54, 55, 77, 77, 1, 59, 59, 4, 5, 6, - 7, 81, 77, 76, 76, 12, 13, 14, 77, 77, - 343, 0, 0, 77, 78, 79, 80, 551, 82, 294, - 27, 28, 537, 30, 48, 49, 50, 51, 52, 36, - 1, 220, 3, 4, 433, 55, 416, 8, 9, 197, - 11, 423, 375, 144, 15, 293, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 390, 29, 137, - 31, 241, 33, 34, 245, 382, 239, 433, 388, 40, - 77, 435, 43, 655, 81, 82, 657, 48, 49, 50, - 603, 603, 288, 54, 55, 3, 4, -1, 59, 7, - 423, -1, 1, 365, 427, 4, -1, 6, 7, -1, - -1, -1, -1, 12, 13, 14, 77, 78, 79, 80, - 443, 82, 30, -1, -1, -1, -1, 450, 1, 28, - 3, 4, 31, 6, 7, 8, 9, -1, 11, 12, - 13, 14, 50, -1, -1, -1, 469, -1, -1, 472, - -1, 59, -1, -1, -1, 28, 29, -1, 31, -1, - 33, 34, -1, -1, -1, 488, -1, 40, 491, -1, - 43, 5, 6, 7, -1, 48, 49, 50, 12, 13, - 14, 54, 55, -1, 1, -1, 59, 4, 5, 6, - 7, -1, 515, 10, -1, 12, 13, 14, 46, 47, - 48, 49, 50, 51, 52, -1, 79, 80, -1, 82, - -1, 28, -1, 30, -1, -1, 539, -1, -1, 542, - -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, - 9, -1, 11, 12, 13, 14, 15, -1, 17, 18, + 212, 120, 102, 231, 80, 154, 116, 28, 59, 237, + 86, 45, 22, 20, 28, 22, 28, 233, 219, 53, + 96, 28, 21, 22, 194, 332, 184, 414, 117, 65, + 190, 41, 286, 65, 107, 551, 62, 1, 45, 1, + 9, 1, 3, 362, 51, 0, 53, 3, 10, 3, + 76, 112, 59, 65, 631, 65, 38, 25, 38, 3, + 4, 0, 492, 83, 38, 38, 3, 4, 59, 30, + 104, 470, 28, 83, 108, 126, 30, 103, 377, 189, + 48, 380, 210, 117, 661, 3, 4, 603, 56, 50, + 489, 77, 102, 59, 76, 81, 50, 104, 59, 59, + 107, 108, 76, 76, 220, 59, 60, 76, 144, 625, + 117, 137, 144, 543, 630, 231, 632, 59, 82, 126, + 82, 237, 292, 283, 185, 641, 5, 243, 7, 245, + 191, 438, 144, 143, 144, 454, 225, 295, 82, 159, + 229, 161, 141, 194, 143, 82, 30, 577, 76, 159, + 580, 161, 120, 81, 408, 228, 182, 183, 674, 3, + 4, 27, 77, 131, 82, 145, 81, 147, 77, 77, + 3, 4, 81, 234, 7, 59, 60, 484, 608, 255, + 567, 3, 4, 3, 4, 7, 30, 388, 59, 60, + 50, 225, 30, 59, 60, 229, 30, 30, 3, 59, + 60, 262, 7, 59, 38, 76, 50, 214, 30, 76, + 640, 3, 4, 239, 81, 59, 60, 50, 225, 3, + 369, 228, 229, 7, 82, 30, 59, 60, 50, 290, + 50, 82, 433, 27, 82, 436, 30, 59, 396, 455, + 400, 292, 36, 3, 4, 50, 30, 1, 418, 78, + 4, 30, 6, 7, 59, 60, 224, 78, 12, 13, + 14, 76, 362, 363, 76, 572, 50, 383, 294, 81, + 30, 81, 388, 301, 28, 59, 9, 31, 38, 286, + 59, 60, 401, 77, 3, 4, 314, 81, 7, 399, + 50, 301, 59, 453, 301, 405, 7, 467, 76, 59, + 460, 300, 301, 1, 314, 76, 4, 5, 6, 7, + 81, 30, 10, 77, 12, 13, 14, 81, 434, 138, + 436, 59, 60, 77, 78, 384, 76, 146, 362, 363, + 28, 50, 77, 36, 59, 60, 81, 486, 76, 50, + 59, 1, 77, 78, 4, 5, 6, 7, 59, 60, + 416, 76, 12, 13, 14, 362, 363, 81, 76, 366, + 509, 387, 77, 81, 374, 77, 400, 418, 28, 81, + 76, 5, 6, 7, 373, 374, 76, 384, 12, 13, + 14, 77, 416, 82, 82, 81, 76, 497, 4, 5, + 6, 7, 620, 400, 622, 456, 12, 13, 14, 54, + 55, 408, 57, 58, 59, 60, 77, 414, 77, 416, + 81, 77, 28, 232, 30, 81, 467, 443, 38, 453, + 454, 4, 82, 6, 7, 486, 460, 59, 60, 12, + 13, 14, 59, 401, 4, 5, 6, 7, 1, 83, + 3, 4, 12, 13, 14, 28, 453, 454, 509, 27, + 476, 59, 60, 460, 9, 604, 668, 78, 28, 520, + 486, 77, 538, 77, 676, 486, 78, 50, 77, 78, + 598, 36, 486, 78, 486, 78, 59, 60, 76, 486, + 59, 60, 76, 509, 50, 51, 52, 76, 549, 77, + 78, 552, 553, 90, 91, 521, 38, 59, 60, 560, + 528, 650, 651, 569, 620, 76, 622, 77, 567, 328, + 83, 545, 3, 4, 575, 334, 335, 538, 528, 83, + 76, 528, 76, 584, 538, 76, 538, 36, 527, 528, + 83, 538, 78, 81, 595, 569, 158, 32, 545, 30, + 38, 163, 164, 604, 83, 76, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 3, 50, + 567, 77, 569, 382, 78, 78, 38, 38, 59, 1, + 631, 78, 4, 5, 6, 7, 81, 78, 604, 36, + 12, 13, 14, 402, 403, 404, 83, 406, 407, 78, + 38, 3, 4, 59, 655, 27, 28, 59, 30, 59, + 661, 38, 77, 77, 36, 7, 16, 38, 1, 77, + 429, 4, 5, 6, 7, 36, 238, 10, 30, 12, + 13, 14, 4, 77, 6, 7, 78, 59, 60, 59, + 12, 13, 14, 6, 7, 28, 77, 30, 50, 12, + 13, 14, 264, 265, 77, 77, 28, 59, 59, 81, + 82, 76, 1, 472, 3, 4, 5, 6, 7, 8, + 9, 17, 11, 12, 13, 14, 15, 76, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 576, 33, 34, 579, -1, -1, 76, - -1, 40, -1, -1, 43, -1, 589, -1, -1, 48, - 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, - 59, -1, -1, -1, 607, 4, -1, 6, 7, -1, - -1, -1, -1, 12, 13, 14, -1, -1, 77, -1, - 79, 80, -1, 82, 1, -1, 3, 4, -1, 28, - -1, 8, 9, -1, 11, -1, 639, -1, 15, -1, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 50, 29, -1, 31, -1, 33, 34, -1, 27, - 59, 60, 30, 40, -1, -1, 43, -1, 36, -1, - -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, - -1, -1, 59, -1, -1, -1, 4, 5, 6, 7, - -1, 59, 60, -1, 12, 13, 14, -1, -1, -1, - 77, -1, 79, 80, 1, 82, 3, 4, -1, 77, - 28, 8, 9, 81, 11, -1, -1, -1, 15, -1, + 29, 30, 31, 76, 33, 34, 77, 506, 77, 76, + 36, 40, 76, 9, 43, 77, 78, 77, 77, 48, + 49, 50, 77, 81, 59, 54, 55, 77, 76, 76, + 59, 77, 1, 77, 0, 4, 5, 6, 7, 0, + 295, 552, 344, 12, 13, 14, 220, 434, 77, 78, + 79, 80, 538, 82, 55, 417, 197, 294, 27, 28, + 424, 30, 1, 144, 3, 4, 245, 36, 241, 8, + 9, 137, 11, 383, 376, 239, 15, 434, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 391, + 29, 389, 31, 436, 33, 34, 604, 4, 5, 6, + 7, 40, 656, 658, 43, 12, 13, 14, 77, 48, + 49, 50, 81, 82, 366, 54, 55, 604, -1, 289, + 59, 28, 424, 30, 1, -1, 428, 4, -1, 6, + 7, -1, -1, -1, -1, 12, 13, 14, 77, 78, + 79, 80, 444, 82, 3, 4, 5, 6, 7, 451, + 1, 28, 3, 4, 31, 6, 7, 8, 9, -1, + 11, 12, 13, 14, 4, 5, 6, 7, 470, -1, + 77, 473, 12, 13, 14, -1, -1, 28, 29, -1, + 31, -1, 33, 34, -1, -1, -1, 489, 28, 40, + 492, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, -1, 1, 59, 3, + 4, 5, 6, 7, 516, -1, 10, -1, 12, 13, + 14, 54, 55, -1, 57, 58, 59, 60, 79, 80, + -1, 82, -1, -1, 28, -1, 30, -1, 540, -1, + -1, 543, -1, 76, 1, -1, 3, 4, 5, 6, + 7, 8, 9, -1, 11, 12, 13, 14, 15, -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, -1, 29, -1, 31, -1, 33, 34, -1, -1, - -1, -1, -1, 40, 54, 55, 43, 57, 58, 59, - 60, 48, 49, 50, -1, -1, -1, 54, 55, -1, - -1, 1, 59, 3, 4, -1, -1, -1, 8, 9, - -1, 11, -1, -1, -1, -1, -1, -1, -1, -1, - 77, -1, 79, 80, -1, 82, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, - 60, 1, -1, 3, 4, -1, -1, -1, 8, 9, - -1, 11, -1, -1, -1, -1, -1, -1, 78, 79, - 80, -1, 82, -1, -1, -1, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, - 60, 1, -1, 3, 4, -1, -1, -1, 8, 9, - -1, 11, -1, -1, -1, -1, -1, -1, 78, 79, - 80, -1, 82, -1, -1, -1, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, + 27, 28, 29, 30, 31, 577, 33, 34, 580, -1, + -1, 27, 76, 40, 30, -1, 43, -1, 590, -1, + 36, 48, 49, 50, -1, -1, -1, 54, 55, -1, + -1, -1, 59, -1, -1, -1, 608, 48, 49, 50, + 51, 52, -1, 59, 60, -1, -1, -1, -1, -1, + 77, -1, 79, 80, -1, 82, 1, -1, 3, 4, + -1, 77, -1, 8, 9, 81, 11, -1, 640, -1, + 15, -1, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, -1, 29, -1, 31, -1, 33, 34, + -1, 4, 5, 6, 7, 40, -1, 10, 43, 12, + 13, 14, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, -1, -1, 59, 28, -1, 30, -1, -1, + -1, 4, 5, 6, 7, -1, -1, -1, -1, 12, + 13, 14, 77, -1, 79, 80, 1, 82, 3, 4, + -1, -1, -1, 8, 9, 28, 11, 30, -1, -1, + 15, -1, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, -1, 29, -1, 31, -1, 33, 34, + -1, -1, 5, 6, 7, 40, -1, -1, 43, 12, + 13, 14, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, -1, 1, 59, 3, 4, 30, -1, -1, + 8, 9, -1, 11, 45, 46, 47, 48, 49, 50, + 51, 52, 77, -1, 79, 80, -1, 82, -1, -1, + -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, + -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, + 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, + 58, 59, 60, 1, -1, 3, 4, -1, -1, -1, + 8, 9, -1, 11, -1, -1, -1, -1, -1, -1, + 78, 79, 80, -1, 82, -1, -1, -1, -1, -1, + -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, + -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, + 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, + 58, 59, 60, 1, -1, 3, 4, -1, -1, -1, + 8, 9, -1, 11, -1, -1, -1, -1, -1, -1, + 78, 79, 80, -1, 82, -1, -1, -1, -1, -1, + -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, + -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, + 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, + 58, 59, 60, 1, -1, 3, -1, -1, -1, -1, + 8, 9, -1, 11, 1, -1, -1, 4, 5, 6, + 7, 79, 80, -1, 82, 12, 13, 14, -1, -1, + -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, + 27, 28, 40, 30, -1, 43, -1, -1, -1, 36, + 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, + -1, 59, 46, 47, 48, 49, 50, 51, 52, -1, + 3, -1, 59, 60, -1, 8, 9, -1, 11, -1, + -1, 79, 80, 3, 82, -1, -1, -1, 8, 9, + 77, 11, -1, -1, 81, 82, 29, -1, 31, -1, + 33, 34, -1, -1, -1, -1, -1, 40, -1, 29, + 43, 31, -1, 33, 34, 48, 49, 50, -1, -1, + 40, 54, 55, 43, -1, -1, 59, -1, 48, 49, + 50, -1, -1, -1, 54, 55, 3, -1, -1, 59, + -1, 8, 9, -1, 11, -1, 79, 80, -1, 3, + 83, -1, -1, -1, 8, 9, -1, 11, -1, 79, + 80, -1, 29, 83, 31, -1, 33, 34, -1, -1, + -1, -1, -1, 40, -1, 29, 43, 31, -1, 33, + 34, 48, 49, 50, -1, -1, 40, 54, 55, 43, + -1, -1, 59, -1, 48, 49, 50, -1, -1, -1, + 54, 55, 3, -1, -1, 59, -1, 8, 9, -1, + 11, -1, 79, 80, -1, -1, 83, -1, -1, -1, + -1, -1, -1, -1, -1, 79, 80, -1, 29, 83, + 31, -1, 33, 34, 10, -1, -1, -1, -1, 40, + -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, -1, -1, 59, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, -1, 79, 80, + -1, -1, 83, 3, 4, 5, 6, 7, 8, 9, + -1, 11, 12, 13, 14, 15, -1, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, - 60, 1, -1, 3, -1, -1, -1, -1, 8, 9, - -1, 11, 1, -1, -1, 4, 5, 6, 7, 79, - 80, -1, 82, 12, 13, 14, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, 27, 28, - 40, 30, -1, 43, -1, -1, -1, 36, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, - 59, 60, 1, -1, -1, 4, 5, 6, 7, 79, - 80, -1, 82, 12, 13, 14, -1, -1, 77, 3, - -1, -1, 81, 82, 8, 9, -1, 11, 27, 28, - -1, 30, -1, -1, -1, -1, -1, 36, -1, -1, - -1, -1, -1, -1, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - 59, 60, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, -1, -1, 77, 3, - -1, -1, 81, 82, 8, 9, -1, 11, -1, -1, - -1, -1, 3, -1, -1, 79, 80, 8, 9, 83, - 11, -1, -1, -1, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, 29, 43, - 31, -1, 33, 34, 48, 49, 50, -1, -1, 40, - 54, 55, 43, -1, -1, 59, -1, 48, 49, 50, - -1, -1, -1, 54, 55, 3, -1, -1, 59, -1, - 8, 9, -1, 11, -1, 79, 80, -1, 3, 83, - -1, -1, -1, 8, 9, -1, 11, -1, 79, 80, - -1, 29, 83, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, 29, 43, 31, -1, 33, 34, - 48, 49, 50, -1, -1, 40, 54, 55, 43, -1, - -1, 59, -1, 48, 49, 50, -1, -1, -1, 54, - 55, -1, -1, -1, 59, -1, -1, -1, -1, -1, - -1, 79, 80, -1, -1, 83, -1, -1, -1, -1, - -1, -1, -1, -1, 79, 80, -1, -1, 83, 3, - 4, 5, 6, 7, 8, 9, -1, 11, 12, 13, - 14, 15, -1, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, -1, 33, - 34, -1, 4, 5, 6, 7, 40, -1, 10, 43, - 12, 13, 14, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 28, -1, 30, -1, - -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, - 12, 13, 14, 77, -1, 79, 80, -1, 82, 3, - 4, -1, -1, -1, 8, 9, 28, 11, 30, -1, - -1, 15, -1, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, 3, -1, 59, -1, -1, 8, 9, - -1, 11, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 77, -1, 79, 80, -1, 82, 29, + 50, 30, -1, -1, 54, 55, 35, 36, 37, 59, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, -1, -1, -1, 77, -1, 79, + 80, -1, 82, 3, 4, -1, -1, -1, 8, 9, + -1, 11, -1, -1, -1, 15, -1, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 3, 4, 5, 6, 7, 8, 9, -1, 11, 12, - 13, 14, -1, -1, -1, -1, -1, -1, -1, 79, - 80, -1, 82, -1, -1, 28, 29, 30, 31, -1, - 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, - 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, - -1, 54, 55, -1, 3, 4, 59, 6, 7, 8, - 9, -1, 11, 12, 13, 14, -1, 3, -1, -1, - -1, -1, 8, 9, -1, 11, 79, 80, -1, 28, - 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, - -1, 40, -1, 29, 43, 31, -1, 33, 34, 48, - 49, 50, -1, -1, 40, 54, 55, 43, -1, -1, - 59, -1, 48, 49, 50, -1, -1, -1, 54, 55, - 3, -1, -1, 59, -1, 8, 9, -1, 11, -1, - 79, 80, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 77, -1, 79, 80, -1, 29, 3, 31, -1, - 33, 34, 8, 9, -1, 11, -1, 40, -1, -1, - 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, - -1, 54, 55, 29, 3, 31, 59, 33, 34, 8, - 9, -1, 11, -1, 40, -1, -1, 43, -1, -1, - -1, -1, 48, 49, 50, -1, 79, 80, 54, 55, - 29, 3, 31, 59, 33, 34, 8, 9, -1, 11, + 50, -1, -1, -1, 54, 55, -1, 3, -1, 59, + -1, -1, 8, 9, -1, 11, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 77, -1, 79, + 80, -1, 82, 29, -1, 31, -1, 33, 34, -1, + -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, + -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, + -1, -1, -1, 59, 3, 4, 5, 6, 7, 8, + 9, -1, 11, 12, 13, 14, -1, -1, -1, -1, + -1, -1, -1, 79, 80, -1, 82, -1, -1, 28, + 29, 30, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, 3, 4, + 59, 6, 7, 8, 9, -1, 11, 12, 13, 14, + -1, 3, -1, -1, -1, -1, 8, 9, -1, 11, + 79, 80, -1, 28, 29, -1, 31, -1, 33, 34, + -1, -1, -1, -1, -1, 40, -1, 29, 43, 31, + -1, 33, 34, 48, 49, 50, -1, -1, 40, 54, + 55, 43, -1, -1, 59, -1, 48, 49, 50, -1, + -1, -1, 54, 55, 3, -1, -1, 59, -1, 8, + 9, -1, 11, -1, 79, 80, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 77, -1, 79, 80, -1, + 29, 3, 31, -1, 33, 34, 8, 9, -1, 11, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, - 49, 50, -1, 79, 80, 54, 55, 29, -1, 31, - 59, 33, 34, 10, -1, -1, -1, -1, 40, -1, + 49, 50, -1, -1, -1, 54, 55, 29, 3, 31, + 59, 33, 34, 8, 9, -1, 11, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, - 79, 80, 54, 55, -1, -1, -1, 59, 35, 36, - 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, 79, 80, 4, - 5, 6, 7, 4, 5, 6, 7, 12, 13, 14, + 79, 80, 54, 55, 29, 3, 31, 59, 33, 34, + 8, 9, -1, 11, -1, 40, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, 79, 80, 54, + 55, 29, -1, 31, 59, 33, 34, -1, -1, -1, + -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, + 48, 49, 50, -1, 79, 80, 54, 55, -1, -1, + 1, 59, 3, 4, 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 28, 10, 30, 83, 28, -1, 30, - -1, 35, 36, 37, -1, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, - -1, -1, 77, -1, -1, 30, 77, -1, -1, 83, - 35, 36, 37, -1, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 35, 36, 37, -1, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 37, -1, 39, 40, 41, 42, + -1, 79, 80, -1, -1, -1, 27, 28, -1, 30, + 31, 37, -1, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, -1, 10, 50, + -1, -1, -1, -1, -1, 35, 36, 37, 59, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 35, 36, 37, 77, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 35, 36, 37, 83, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, + -1, 83, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/local/share/bison.simple" +#line 3 "/usr/share/bison.simple" /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -1382,7 +1363,7 @@ __yy_memcpy (char *from, char *to, int count) #endif #endif -#line 192 "/usr/local/share/bison.simple" +#line 192 "/usr/share/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -1681,14 +1662,14 @@ yyreduce: switch (yyn) { case 1: -#line 237 "c-parse.y" +#line 240 "c-parse.y" { if (pedantic) pedwarn ("ANSI C forbids an empty source file"); finish_file (); ; break;} case 2: -#line 242 "c-parse.y" +#line 245 "c-parse.y" { /* In case there were missing closebraces, get us back to the global binding level. */ @@ -1698,15 +1679,15 @@ case 2: ; break;} case 3: -#line 256 "c-parse.y" +#line 259 "c-parse.y" {yyval.ttype = NULL_TREE; ; break;} case 5: -#line 257 "c-parse.y" +#line 260 "c-parse.y" {yyval.ttype = NULL_TREE; ; break;} case 9: -#line 264 "c-parse.y" +#line 267 "c-parse.y" { STRIP_NOPS (yyvsp[-2].ttype); if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST) @@ -1716,11 +1697,11 @@ case 9: error ("argument of `asm' is not a constant string"); ; break;} case 10: -#line 272 "c-parse.y" +#line 275 "c-parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 11: -#line 277 "c-parse.y" +#line 280 "c-parse.y" { if (pedantic) error ("ANSI C forbids data definition with no type or storage class"); else if (!flag_traditional) @@ -1732,45 +1713,45 @@ case 11: resume_momentary (yyvsp[-2].itype); ; break;} case 12: -#line 287 "c-parse.y" +#line 290 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 13: -#line 292 "c-parse.y" +#line 295 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 14: -#line 297 "c-parse.y" +#line 300 "c-parse.y" { pedwarn ("empty declaration"); ; break;} case 15: -#line 299 "c-parse.y" +#line 302 "c-parse.y" { shadow_tag (yyvsp[-1].ttype); ; break;} case 18: -#line 303 "c-parse.y" +#line 306 "c-parse.y" { if (pedantic) pedwarn ("ANSI C does not allow extra `;' outside of a function"); ; break;} case 19: -#line 309 "c-parse.y" +#line 312 "c-parse.y" { if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 0)) YYERROR1; reinit_parse_for_function (); ; break;} case 20: -#line 314 "c-parse.y" +#line 317 "c-parse.y" { store_parm_decls (); ; break;} case 21: -#line 316 "c-parse.y" +#line 319 "c-parse.y" { finish_function (0); current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -1778,25 +1759,25 @@ case 21: resume_momentary (yyvsp[-5].itype); ; break;} case 22: -#line 322 "c-parse.y" +#line 325 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 23: -#line 327 "c-parse.y" +#line 330 "c-parse.y" { if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 0)) YYERROR1; reinit_parse_for_function (); ; break;} case 24: -#line 332 "c-parse.y" +#line 335 "c-parse.y" { store_parm_decls (); ; break;} case 25: -#line 334 "c-parse.y" +#line 337 "c-parse.y" { finish_function (0); current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -1804,25 +1785,25 @@ case 25: resume_momentary (yyvsp[-5].itype); ; break;} case 26: -#line 340 "c-parse.y" +#line 343 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 27: -#line 345 "c-parse.y" +#line 348 "c-parse.y" { if (! start_function (NULL_TREE, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 0)) YYERROR1; reinit_parse_for_function (); ; break;} case 28: -#line 350 "c-parse.y" +#line 353 "c-parse.y" { store_parm_decls (); ; break;} case 29: -#line 352 "c-parse.y" +#line 355 "c-parse.y" { finish_function (0); current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -1830,72 +1811,72 @@ case 29: resume_momentary (yyvsp[-5].itype); ; break;} case 30: -#line 358 "c-parse.y" +#line 361 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 33: -#line 370 "c-parse.y" +#line 373 "c-parse.y" { yyval.code = ADDR_EXPR; ; break;} case 34: -#line 372 "c-parse.y" +#line 375 "c-parse.y" { yyval.code = NEGATE_EXPR; ; break;} case 35: -#line 374 "c-parse.y" +#line 377 "c-parse.y" { yyval.code = CONVERT_EXPR; ; break;} case 36: -#line 376 "c-parse.y" +#line 379 "c-parse.y" { yyval.code = PREINCREMENT_EXPR; ; break;} case 37: -#line 378 "c-parse.y" +#line 381 "c-parse.y" { yyval.code = PREDECREMENT_EXPR; ; break;} case 38: -#line 380 "c-parse.y" +#line 383 "c-parse.y" { yyval.code = BIT_NOT_EXPR; ; break;} case 39: -#line 382 "c-parse.y" +#line 385 "c-parse.y" { yyval.code = TRUTH_NOT_EXPR; ; break;} case 40: -#line 386 "c-parse.y" +#line 389 "c-parse.y" { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ; break;} case 41: -#line 391 "c-parse.y" +#line 394 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 43: -#line 397 "c-parse.y" +#line 400 "c-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 44: -#line 399 "c-parse.y" +#line 402 "c-parse.y" { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 46: -#line 405 "c-parse.y" +#line 408 "c-parse.y" { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ; break;} case 47: -#line 408 "c-parse.y" +#line 411 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 48: -#line 411 "c-parse.y" +#line 414 "c-parse.y" { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); overflow_warning (yyval.ttype); ; break;} case 49: -#line 415 "c-parse.y" +#line 418 "c-parse.y" { tree label = lookup_label (yyvsp[0].ttype); if (pedantic) pedwarn ("ANSI C forbids `&&'"); @@ -1910,57 +1891,57 @@ case 49: ; break;} case 50: -#line 443 "c-parse.y" +#line 446 "c-parse.y" { skip_evaluation--; if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF - && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) + && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) error ("`sizeof' applied to a bit-field"); yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ; break;} case 51: -#line 449 "c-parse.y" +#line 452 "c-parse.y" { skip_evaluation--; yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ; break;} case 52: -#line 452 "c-parse.y" +#line 455 "c-parse.y" { skip_evaluation--; yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ; break;} case 53: -#line 455 "c-parse.y" +#line 458 "c-parse.y" { skip_evaluation--; yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ; break;} case 54: -#line 458 "c-parse.y" +#line 461 "c-parse.y" { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ; break;} case 55: -#line 460 "c-parse.y" +#line 463 "c-parse.y" { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ; break;} case 56: -#line 464 "c-parse.y" +#line 467 "c-parse.y" { skip_evaluation++; ; break;} case 57: -#line 468 "c-parse.y" +#line 471 "c-parse.y" { skip_evaluation++; ; break;} case 59: -#line 474 "c-parse.y" +#line 477 "c-parse.y" { tree type = groktypename (yyvsp[-2].ttype); yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ; break;} case 60: -#line 477 "c-parse.y" +#line 480 "c-parse.y" { start_init (NULL_TREE, NULL, 0); yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype); really_start_incremental_init (yyvsp[-2].ttype); ; break;} case 61: -#line 481 "c-parse.y" +#line 484 "c-parse.y" { char *name; tree result = pop_init_level (0); tree type = yyvsp[-5].ttype; @@ -1987,90 +1968,90 @@ case 61: ; break;} case 63: -#line 510 "c-parse.y" +#line 513 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 64: -#line 512 "c-parse.y" +#line 515 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 65: -#line 514 "c-parse.y" +#line 517 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 66: -#line 516 "c-parse.y" +#line 519 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 67: -#line 518 "c-parse.y" +#line 521 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 68: -#line 520 "c-parse.y" +#line 523 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 69: -#line 522 "c-parse.y" +#line 525 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 70: -#line 524 "c-parse.y" +#line 527 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 71: -#line 526 "c-parse.y" +#line 529 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 72: -#line 528 "c-parse.y" +#line 531 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 73: -#line 530 "c-parse.y" +#line 533 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 74: -#line 532 "c-parse.y" +#line 535 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 75: -#line 534 "c-parse.y" +#line 537 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} case 76: -#line 537 "c-parse.y" +#line 540 "c-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node; yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 77: -#line 540 "c-parse.y" +#line 543 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} case 78: -#line 543 "c-parse.y" +#line 546 "c-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node; yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 79: -#line 546 "c-parse.y" +#line 549 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} case 80: -#line 549 "c-parse.y" +#line 552 "c-parse.y" { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node) - (yyvsp[-4].ttype == boolean_false_node)); ; break;} case 81: -#line 552 "c-parse.y" +#line 555 "c-parse.y" { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 82: -#line 555 "c-parse.y" +#line 558 "c-parse.y" { if (pedantic) pedwarn ("ANSI C forbids omitting the middle term of a ?: expression"); /* Make sure first operand is calculated only once. */ @@ -2079,23 +2060,23 @@ case 82: skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} case 83: -#line 562 "c-parse.y" +#line 565 "c-parse.y" { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 84: -#line 565 "c-parse.y" +#line 568 "c-parse.y" { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} case 85: -#line 568 "c-parse.y" +#line 571 "c-parse.y" { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); /* This inhibits warnings in truthvalue_conversion. */ C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ; break;} case 86: -#line 575 "c-parse.y" +#line 578 "c-parse.y" { yyval.ttype = lastiddecl; if (!yyval.ttype || yyval.ttype == error_mark_node) @@ -2195,11 +2176,11 @@ case 86: ; break;} case 88: -#line 674 "c-parse.y" +#line 677 "c-parse.y" { yyval.ttype = combine_strings (yyvsp[0].ttype); ; break;} case 89: -#line 676 "c-parse.y" +#line 679 "c-parse.y" { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)); if (class == 'e' || class == '1' || class == '2' || class == '<') @@ -2207,11 +2188,11 @@ case 89: yyval.ttype = yyvsp[-1].ttype; ; break;} case 90: -#line 682 "c-parse.y" +#line 685 "c-parse.y" { yyval.ttype = error_mark_node; ; break;} case 91: -#line 684 "c-parse.y" +#line 687 "c-parse.y" { if (current_function_decl == 0) { error ("braced-group within expression allowed only inside a function"); @@ -2227,7 +2208,7 @@ case 91: yyval.ttype = expand_start_stmt_expr (); ; break;} case 92: -#line 698 "c-parse.y" +#line 701 "c-parse.y" { tree rtl_exp; if (pedantic) pedwarn ("ANSI C forbids braced-groups within expressions"); @@ -2252,21 +2233,21 @@ case 92: ; break;} case 93: -#line 721 "c-parse.y" +#line 724 "c-parse.y" { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 94: -#line 723 "c-parse.y" +#line 726 "c-parse.y" { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 95: -#line 725 "c-parse.y" +#line 728 "c-parse.y" { yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 96: -#line 729 "c-parse.y" +#line 732 "c-parse.y" { tree expr = build_indirect_ref (yyvsp[-2].ttype, "->"); @@ -2274,56 +2255,56 @@ case 96: ; break;} case 97: -#line 735 "c-parse.y" +#line 738 "c-parse.y" { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} case 98: -#line 737 "c-parse.y" +#line 740 "c-parse.y" { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} case 100: -#line 744 "c-parse.y" +#line 747 "c-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 103: -#line 753 "c-parse.y" +#line 756 "c-parse.y" { c_mark_varargs (); if (pedantic) pedwarn ("ANSI C does not permit use of `varargs.h'"); ; break;} case 104: -#line 763 "c-parse.y" +#line 766 "c-parse.y" { ; break;} case 109: -#line 779 "c-parse.y" +#line 782 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 110: -#line 784 "c-parse.y" +#line 787 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 111: -#line 789 "c-parse.y" +#line 792 "c-parse.y" { shadow_tag_warned (yyvsp[-1].ttype, 1); pedwarn ("empty declaration"); ; break;} case 112: -#line 792 "c-parse.y" +#line 795 "c-parse.y" { pedwarn ("empty declaration"); ; break;} case 113: -#line 801 "c-parse.y" +#line 804 "c-parse.y" { ; break;} case 118: -#line 816 "c-parse.y" +#line 819 "c-parse.y" { yyval.itype = suspend_momentary (); pending_xref_error (); declspec_stack = tree_cons (prefix_attributes, @@ -2333,131 +2314,131 @@ case 118: ¤t_declspecs, &prefix_attributes); ; break;} case 119: -#line 827 "c-parse.y" +#line 830 "c-parse.y" { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ; break;} case 120: -#line 832 "c-parse.y" +#line 835 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 121: -#line 837 "c-parse.y" +#line 840 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 122: -#line 842 "c-parse.y" +#line 845 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} case 123: -#line 847 "c-parse.y" +#line 850 "c-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} case 124: -#line 852 "c-parse.y" +#line 855 "c-parse.y" { shadow_tag (yyvsp[-1].ttype); ; break;} case 125: -#line 854 "c-parse.y" +#line 857 "c-parse.y" { pedwarn ("empty declaration"); ; break;} case 126: -#line 856 "c-parse.y" +#line 859 "c-parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 127: -#line 866 "c-parse.y" +#line 869 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 128: -#line 868 "c-parse.y" +#line 871 "c-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ; break;} case 129: -#line 872 "c-parse.y" +#line 875 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 130: -#line 874 "c-parse.y" +#line 877 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 131: -#line 876 "c-parse.y" +#line 879 "c-parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 132: -#line 881 "c-parse.y" +#line 884 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 133: -#line 886 "c-parse.y" +#line 889 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 134: -#line 888 "c-parse.y" +#line 891 "c-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ; break;} case 135: -#line 893 "c-parse.y" +#line 896 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 136: -#line 895 "c-parse.y" +#line 898 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 137: -#line 897 "c-parse.y" +#line 900 "c-parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 138: -#line 910 "c-parse.y" +#line 913 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 139: -#line 912 "c-parse.y" +#line 915 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 140: -#line 914 "c-parse.y" +#line 917 "c-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 141: -#line 916 "c-parse.y" +#line 919 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 142: -#line 921 "c-parse.y" +#line 924 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); TREE_STATIC (yyval.ttype) = 1; ; break;} case 143: -#line 924 "c-parse.y" +#line 927 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 144: -#line 926 "c-parse.y" +#line 929 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 145: -#line 929 "c-parse.y" +#line 932 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); @@ -2465,138 +2446,138 @@ case 145: TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 146: -#line 943 "c-parse.y" +#line 946 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 147: -#line 945 "c-parse.y" +#line 948 "c-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ; break;} case 148: -#line 949 "c-parse.y" +#line 952 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 149: -#line 951 "c-parse.y" +#line 954 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 152: -#line 961 "c-parse.y" +#line 964 "c-parse.y" { /* For a typedef name, record the meaning, not the name. In case of `foo foo, bar;'. */ yyval.ttype = lookup_name (yyvsp[0].ttype); ; break;} case 153: -#line 965 "c-parse.y" +#line 968 "c-parse.y" { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ; break;} case 154: -#line 967 "c-parse.y" +#line 970 "c-parse.y" { yyval.ttype = groktypename (yyvsp[-1].ttype); ; break;} case 162: -#line 989 "c-parse.y" +#line 992 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 163: -#line 991 "c-parse.y" +#line 994 "c-parse.y" { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; break;} case 164: -#line 998 "c-parse.y" +#line 1001 "c-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, yyvsp[-1].ttype, prefix_attributes); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} case 165: -#line 1003 "c-parse.y" +#line 1006 "c-parse.y" { finish_init (); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} case 166: -#line 1006 "c-parse.y" +#line 1009 "c-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, yyvsp[0].ttype, prefix_attributes); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} case 167: -#line 1014 "c-parse.y" +#line 1017 "c-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, yyvsp[-1].ttype, prefix_attributes); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} case 168: -#line 1019 "c-parse.y" +#line 1022 "c-parse.y" { finish_init (); decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} case 169: -#line 1023 "c-parse.y" +#line 1026 "c-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, yyvsp[0].ttype, prefix_attributes); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} case 170: -#line 1031 "c-parse.y" +#line 1034 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 171: -#line 1033 "c-parse.y" +#line 1036 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 172: -#line 1038 "c-parse.y" +#line 1041 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 173: -#line 1040 "c-parse.y" +#line 1043 "c-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 174: -#line 1045 "c-parse.y" +#line 1048 "c-parse.y" { yyval.ttype = yyvsp[-2].ttype; ; break;} case 175: -#line 1050 "c-parse.y" +#line 1053 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 176: -#line 1052 "c-parse.y" +#line 1055 "c-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 177: -#line 1057 "c-parse.y" +#line 1060 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 178: -#line 1059 "c-parse.y" +#line 1062 "c-parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; break;} case 179: -#line 1061 "c-parse.y" +#line 1064 "c-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; break;} case 180: -#line 1063 "c-parse.y" +#line 1066 "c-parse.y" { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; break;} case 181: -#line 1065 "c-parse.y" +#line 1068 "c-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 187: -#line 1083 "c-parse.y" +#line 1086 "c-parse.y" { really_start_incremental_init (NULL_TREE); /* Note that the call to clear_momentary is in process_init_element. */ push_momentary (); ; break;} case 188: -#line 1088 "c-parse.y" +#line 1091 "c-parse.y" { yyval.ttype = pop_init_level (0); if (yyval.ttype == error_mark_node && ! (yychar == STRING || yychar == CONSTANT)) @@ -2605,48 +2586,48 @@ case 188: pop_momentary_nofree (); ; break;} case 189: -#line 1096 "c-parse.y" +#line 1099 "c-parse.y" { yyval.ttype = error_mark_node; ; break;} case 190: -#line 1102 "c-parse.y" +#line 1105 "c-parse.y" { if (pedantic) pedwarn ("ANSI C forbids empty initializer braces"); ; break;} case 194: -#line 1116 "c-parse.y" +#line 1119 "c-parse.y" { process_init_element (yyvsp[0].ttype); ; break;} case 195: -#line 1118 "c-parse.y" +#line 1121 "c-parse.y" { push_init_level (0); ; break;} case 196: -#line 1120 "c-parse.y" +#line 1123 "c-parse.y" { process_init_element (pop_init_level (0)); ; break;} case 198: -#line 1126 "c-parse.y" +#line 1129 "c-parse.y" { set_init_index (yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} case 200: -#line 1129 "c-parse.y" +#line 1132 "c-parse.y" { set_init_index (yyvsp[-2].ttype, NULL_TREE); ; break;} case 202: -#line 1132 "c-parse.y" +#line 1135 "c-parse.y" { set_init_index (yyvsp[-1].ttype, NULL_TREE); ; break;} case 204: -#line 1135 "c-parse.y" +#line 1138 "c-parse.y" { set_init_label (yyvsp[-1].ttype); ; break;} case 206: -#line 1138 "c-parse.y" +#line 1141 "c-parse.y" { set_init_label (yyvsp[-1].ttype); ; break;} case 208: -#line 1144 "c-parse.y" +#line 1147 "c-parse.y" { push_c_function_context (); if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 1)) @@ -2657,16 +2638,16 @@ case 208: reinit_parse_for_function (); ; break;} case 209: -#line 1153 "c-parse.y" +#line 1156 "c-parse.y" { store_parm_decls (); ; break;} case 210: -#line 1161 "c-parse.y" +#line 1164 "c-parse.y" { finish_function (1); pop_c_function_context (); ; break;} case 211: -#line 1167 "c-parse.y" +#line 1170 "c-parse.y" { push_c_function_context (); if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 1)) @@ -2677,172 +2658,172 @@ case 211: reinit_parse_for_function (); ; break;} case 212: -#line 1176 "c-parse.y" +#line 1179 "c-parse.y" { store_parm_decls (); ; break;} case 213: -#line 1184 "c-parse.y" +#line 1187 "c-parse.y" { finish_function (1); pop_c_function_context (); ; break;} case 216: -#line 1200 "c-parse.y" +#line 1203 "c-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 217: -#line 1202 "c-parse.y" +#line 1205 "c-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 218: -#line 1207 "c-parse.y" +#line 1210 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 219: -#line 1209 "c-parse.y" +#line 1212 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 220: -#line 1211 "c-parse.y" +#line 1214 "c-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 221: -#line 1218 "c-parse.y" +#line 1221 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 223: -#line 1229 "c-parse.y" +#line 1232 "c-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 224: -#line 1234 "c-parse.y" +#line 1237 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 225: -#line 1236 "c-parse.y" +#line 1239 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 226: -#line 1238 "c-parse.y" +#line 1241 "c-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 227: -#line 1245 "c-parse.y" +#line 1248 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 229: -#line 1254 "c-parse.y" +#line 1257 "c-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 230: -#line 1259 "c-parse.y" +#line 1262 "c-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 231: -#line 1261 "c-parse.y" +#line 1264 "c-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 232: -#line 1263 "c-parse.y" +#line 1266 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 233: -#line 1265 "c-parse.y" +#line 1268 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 234: -#line 1272 "c-parse.y" +#line 1275 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 236: -#line 1278 "c-parse.y" +#line 1281 "c-parse.y" { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype); /* Start scope of tag before parsing components. */ ; break;} case 237: -#line 1282 "c-parse.y" +#line 1285 "c-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 238: -#line 1284 "c-parse.y" +#line 1287 "c-parse.y" { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE), yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 239: -#line 1288 "c-parse.y" +#line 1291 "c-parse.y" { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ; break;} case 240: -#line 1290 "c-parse.y" +#line 1293 "c-parse.y" { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ; break;} case 241: -#line 1292 "c-parse.y" +#line 1295 "c-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 242: -#line 1294 "c-parse.y" +#line 1297 "c-parse.y" { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE), yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 243: -#line 1298 "c-parse.y" +#line 1301 "c-parse.y" { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ; break;} case 244: -#line 1300 "c-parse.y" +#line 1303 "c-parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = start_enum (yyvsp[-1].ttype); ; break;} case 245: -#line 1303 "c-parse.y" +#line 1306 "c-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), yyvsp[0].ttype); resume_momentary (yyvsp[-5].itype); ; break;} case 246: -#line 1306 "c-parse.y" +#line 1309 "c-parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = start_enum (NULL_TREE); ; break;} case 247: -#line 1309 "c-parse.y" +#line 1312 "c-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), yyvsp[0].ttype); resume_momentary (yyvsp[-5].itype); ; break;} case 248: -#line 1312 "c-parse.y" +#line 1315 "c-parse.y" { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ; break;} case 252: -#line 1323 "c-parse.y" +#line 1326 "c-parse.y" { if (pedantic) pedwarn ("comma at end of enumerator list"); ; break;} case 253: -#line 1328 "c-parse.y" +#line 1331 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 254: -#line 1330 "c-parse.y" +#line 1333 "c-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); pedwarn ("no semicolon at end of struct or union"); ; break;} case 255: -#line 1335 "c-parse.y" +#line 1338 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 256: -#line 1337 "c-parse.y" +#line 1340 "c-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 257: -#line 1339 "c-parse.y" +#line 1342 "c-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} case 258: -#line 1354 "c-parse.y" +#line 1357 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -2850,14 +2831,14 @@ case 258: resume_momentary (yyvsp[-1].itype); ; break;} case 259: -#line 1360 "c-parse.y" +#line 1363 "c-parse.y" { if (pedantic) pedwarn ("ANSI C forbids member declarations with no members"); shadow_tag(yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} case 260: -#line 1365 "c-parse.y" +#line 1368 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -2865,140 +2846,140 @@ case 260: resume_momentary (yyvsp[-1].itype); ; break;} case 261: -#line 1371 "c-parse.y" +#line 1374 "c-parse.y" { if (pedantic) pedwarn ("ANSI C forbids member declarations with no members"); shadow_tag(yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} case 262: -#line 1376 "c-parse.y" +#line 1379 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 263: -#line 1378 "c-parse.y" +#line 1381 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 265: -#line 1385 "c-parse.y" +#line 1388 "c-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 266: -#line 1390 "c-parse.y" +#line 1393 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE); decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 267: -#line 1394 "c-parse.y" +#line 1397 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype); decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 268: -#line 1397 "c-parse.y" +#line 1400 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype); decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 270: -#line 1409 "c-parse.y" +#line 1412 "c-parse.y" { if (yyvsp[-2].ttype == error_mark_node) yyval.ttype = yyvsp[-2].ttype; else yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ; break;} case 271: -#line 1414 "c-parse.y" +#line 1417 "c-parse.y" { yyval.ttype = error_mark_node; ; break;} case 272: -#line 1420 "c-parse.y" +#line 1423 "c-parse.y" { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ; break;} case 273: -#line 1422 "c-parse.y" +#line 1425 "c-parse.y" { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 274: -#line 1427 "c-parse.y" +#line 1430 "c-parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 275: -#line 1429 "c-parse.y" +#line 1432 "c-parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 276: -#line 1434 "c-parse.y" +#line 1437 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 278: -#line 1440 "c-parse.y" +#line 1443 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 279: -#line 1442 "c-parse.y" +#line 1445 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 280: -#line 1447 "c-parse.y" +#line 1450 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 281: -#line 1449 "c-parse.y" +#line 1452 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 282: -#line 1454 "c-parse.y" +#line 1457 "c-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 283: -#line 1457 "c-parse.y" +#line 1460 "c-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 284: -#line 1459 "c-parse.y" +#line 1462 "c-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} case 285: -#line 1461 "c-parse.y" +#line 1464 "c-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 286: -#line 1463 "c-parse.y" +#line 1466 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 287: -#line 1465 "c-parse.y" +#line 1468 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 288: -#line 1467 "c-parse.y" +#line 1470 "c-parse.y" { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 289: -#line 1469 "c-parse.y" +#line 1472 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} case 290: -#line 1471 "c-parse.y" +#line 1474 "c-parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ; break;} case 291: -#line 1482 "c-parse.y" +#line 1485 "c-parse.y" { if (pedantic && yyvsp[0].ends_in_label) pedwarn ("ANSI C forbids label at end of compound statement"); ; break;} case 293: -#line 1491 "c-parse.y" +#line 1494 "c-parse.y" { yyval.ends_in_label = yyvsp[0].ends_in_label; ; break;} case 294: -#line 1493 "c-parse.y" +#line 1496 "c-parse.y" { yyval.ends_in_label = 0; ; break;} case 298: -#line 1505 "c-parse.y" +#line 1508 "c-parse.y" { emit_line_note (input_filename, lineno); pushlevel (0); clear_last_expr (); @@ -3007,12 +2988,12 @@ case 298: ; break;} case 300: -#line 1518 "c-parse.y" +#line 1521 "c-parse.y" { if (pedantic) pedwarn ("ANSI C forbids label declarations"); ; break;} case 303: -#line 1529 "c-parse.y" +#line 1532 "c-parse.y" { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { @@ -3023,15 +3004,19 @@ case 303: ; break;} case 304: -#line 1543 "c-parse.y" +#line 1546 "c-parse.y" {; break;} case 306: -#line 1548 "c-parse.y" -{ yyval.ttype = convert (void_type_node, integer_zero_node); ; +#line 1550 "c-parse.y" +{ compstmt_count++; ; break;} case 307: -#line 1550 "c-parse.y" +#line 1553 "c-parse.y" +{ yyval.ttype = convert (void_type_node, integer_zero_node); ; + break;} +case 308: +#line 1555 "c-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), 1, 0); yyval.ttype = poplevel (1, 1, 0); @@ -3040,8 +3025,8 @@ case 307: else pop_momentary (); ; break;} -case 308: -#line 1558 "c-parse.y" +case 309: +#line 1563 "c-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); yyval.ttype = poplevel (kept_level_p (), 0, 0); @@ -3050,8 +3035,8 @@ case 308: else pop_momentary (); ; break;} -case 309: -#line 1566 "c-parse.y" +case 310: +#line 1571 "c-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); yyval.ttype = poplevel (kept_level_p (), 0, 0); @@ -3060,62 +3045,64 @@ case 309: else pop_momentary (); ; break;} -case 312: -#line 1586 "c-parse.y" +case 313: +#line 1591 "c-parse.y" { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); - expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0); + c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, + compstmt_count); yyval.itype = stmt_count; if_stmt_file = yyvsp[-5].filename; if_stmt_line = yyvsp[-4].lineno; position_after_white_space (); ; break;} -case 313: -#line 1599 "c-parse.y" +case 314: +#line 1605 "c-parse.y" { stmt_count++; + compstmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); /* See comment in `while' alternative, above. */ emit_nop (); expand_start_loop_continue_elsewhere (1); position_after_white_space (); ; break;} -case 314: -#line 1606 "c-parse.y" -{ expand_loop_continue_here (); ; - break;} case 315: -#line 1610 "c-parse.y" -{ yyval.filename = input_filename; ; +#line 1613 "c-parse.y" +{ expand_loop_continue_here (); ; break;} case 316: -#line 1614 "c-parse.y" -{ yyval.lineno = lineno; ; +#line 1617 "c-parse.y" +{ yyval.filename = input_filename; ; break;} case 317: -#line 1619 "c-parse.y" -{ ; +#line 1621 "c-parse.y" +{ yyval.lineno = lineno; ; break;} case 318: -#line 1624 "c-parse.y" +#line 1626 "c-parse.y" { ; break;} case 319: -#line 1629 "c-parse.y" -{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; +#line 1631 "c-parse.y" +{ ; break;} case 320: -#line 1634 "c-parse.y" -{ yyval.ends_in_label = 0; ; +#line 1636 "c-parse.y" +{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; break;} case 321: -#line 1636 "c-parse.y" -{ yyval.ends_in_label = 1; ; +#line 1641 "c-parse.y" +{ yyval.ends_in_label = 0; ; break;} case 322: -#line 1642 "c-parse.y" +#line 1643 "c-parse.y" +{ yyval.ends_in_label = 1; ; + break;} +case 323: +#line 1649 "c-parse.y" { stmt_count++; ; break;} -case 324: -#line 1645 "c-parse.y" +case 325: +#line 1652 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); /* It appears that this should not be done--that a non-lvalue array @@ -3133,21 +3120,21 @@ case 324: iterator_expand (yyvsp[-1].ttype); clear_momentary (); ; break;} -case 325: -#line 1662 "c-parse.y" -{ expand_start_else (); +case 326: +#line 1669 "c-parse.y" +{ c_expand_start_else (); yyvsp[-1].itype = stmt_count; position_after_white_space (); ; break;} -case 326: -#line 1666 "c-parse.y" -{ expand_end_cond (); +case 327: +#line 1673 "c-parse.y" +{ c_expand_end_cond (); if (extra_warnings && stmt_count == yyvsp[-3].itype) warning ("empty body in an else-statement"); ; break;} -case 327: -#line 1670 "c-parse.y" -{ expand_end_cond (); +case 328: +#line 1677 "c-parse.y" +{ c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an else statement. Increment stmt_count so we don't @@ -3156,12 +3143,12 @@ case 327: warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); ; break;} -case 328: -#line 1682 "c-parse.y" -{ expand_end_cond (); ; - break;} case 329: -#line 1684 "c-parse.y" +#line 1689 "c-parse.y" +{ c_expand_end_cond (); ; + break;} +case 330: +#line 1691 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); /* The emit_nop used to come before emit_line_note, @@ -3172,8 +3159,8 @@ case 329: We will see. --rms, July 15, 1991. */ emit_nop (); ; break;} -case 330: -#line 1694 "c-parse.y" +case 331: +#line 1701 "c-parse.y" { /* Don't start the loop till we have succeeded in parsing the end test. This is to make sure that we end every loop we start. */ @@ -3183,25 +3170,25 @@ case 330: truthvalue_conversion (yyvsp[-1].ttype)); position_after_white_space (); ; break;} -case 331: -#line 1703 "c-parse.y" +case 332: +#line 1710 "c-parse.y" { expand_end_loop (); ; break;} -case 332: -#line 1706 "c-parse.y" +case 333: +#line 1713 "c-parse.y" { emit_line_note (input_filename, lineno); expand_exit_loop_if_false (NULL_PTR, truthvalue_conversion (yyvsp[-2].ttype)); expand_end_loop (); clear_momentary (); ; break;} -case 333: -#line 1713 "c-parse.y" +case 334: +#line 1720 "c-parse.y" { expand_end_loop (); clear_momentary (); ; break;} -case 334: -#line 1717 "c-parse.y" +case 335: +#line 1724 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); /* See comment in `while' alternative, above. */ @@ -3213,13 +3200,13 @@ case 334: fn without calling expand_end_loop. */ ; break;} -case 335: -#line 1729 "c-parse.y" +case 336: +#line 1736 "c-parse.y" { yyvsp[0].lineno = lineno; yyval.filename = input_filename; ; break;} -case 336: -#line 1732 "c-parse.y" +case 337: +#line 1739 "c-parse.y" { /* Start the loop. Doing this after parsing all the expressions ensures we will end the loop. */ @@ -3236,8 +3223,8 @@ case 336: yyvsp[-2].filename = input_filename; position_after_white_space (); ; break;} -case 337: -#line 1748 "c-parse.y" +case 338: +#line 1755 "c-parse.y" { /* Emit the increment expression, with a line number. */ emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno); expand_loop_continue_here (); @@ -3249,8 +3236,8 @@ case 337: pop_momentary (); expand_end_loop (); ; break;} -case 338: -#line 1759 "c-parse.y" +case 339: +#line 1766 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); c_expand_start_case (yyvsp[-1].ttype); @@ -3259,42 +3246,42 @@ case 338: push_momentary (); position_after_white_space (); ; break;} -case 339: -#line 1767 "c-parse.y" +case 340: +#line 1774 "c-parse.y" { expand_end_case (yyvsp[-3].ttype); if (yychar == CONSTANT || yychar == STRING) pop_momentary_nofree (); else pop_momentary (); ; break;} -case 340: -#line 1773 "c-parse.y" +case 341: +#line 1780 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if ( ! expand_exit_something ()) error ("break statement not within loop or switch"); ; break;} -case 341: -#line 1778 "c-parse.y" +case 342: +#line 1785 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if (! expand_continue_loop (NULL_PTR)) error ("continue statement not within a loop"); ; break;} -case 342: -#line 1783 "c-parse.y" +case 343: +#line 1790 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); c_expand_return (NULL_TREE); ; break;} -case 343: -#line 1787 "c-parse.y" +case 344: +#line 1794 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); c_expand_return (yyvsp[-1].ttype); ; break;} -case 344: -#line 1791 "c-parse.y" +case 345: +#line 1798 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno); STRIP_NOPS (yyvsp[-2].ttype); @@ -3305,32 +3292,32 @@ case 344: else error ("argument of `asm' is not a constant string"); ; break;} -case 345: -#line 1802 "c-parse.y" +case 346: +#line 1809 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno); c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 346: -#line 1809 "c-parse.y" +case 347: +#line 1816 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno); c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 347: -#line 1817 "c-parse.y" +case 348: +#line 1824 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno); c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 348: -#line 1823 "c-parse.y" +case 349: +#line 1830 "c-parse.y" { tree decl; stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); @@ -3342,16 +3329,16 @@ case 348: } ; break;} -case 349: -#line 1834 "c-parse.y" +case 350: +#line 1841 "c-parse.y" { if (pedantic) pedwarn ("ANSI C forbids `goto *expr;'"); stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ; break;} -case 352: -#line 1849 "c-parse.y" +case 353: +#line 1856 "c-parse.y" { /* The value returned by this action is */ /* 1 if everything is OK */ @@ -3373,15 +3360,15 @@ case 352: } ; break;} -case 353: -#line 1870 "c-parse.y" +case 354: +#line 1877 "c-parse.y" { if (yyvsp[-1].itype) iterator_for_loop_end (yyvsp[-3].ttype); ; break;} -case 354: -#line 1905 "c-parse.y" +case 355: +#line 1912 "c-parse.y" { register tree value = check_case_value (yyvsp[-1].ttype); register tree label = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE); @@ -3407,8 +3394,8 @@ case 354: } position_after_white_space (); ; break;} -case 355: -#line 1930 "c-parse.y" +case 356: +#line 1937 "c-parse.y" { register tree value1 = check_case_value (yyvsp[-3].ttype); register tree value2 = check_case_value (yyvsp[-1].ttype); register tree label @@ -3440,8 +3427,8 @@ case 355: } position_after_white_space (); ; break;} -case 356: -#line 1961 "c-parse.y" +case 357: +#line 1968 "c-parse.y" { tree duplicate; register tree label @@ -3457,8 +3444,8 @@ case 356: } position_after_white_space (); ; break;} -case 357: -#line 1976 "c-parse.y" +case 358: +#line 1983 "c-parse.y" { tree label = define_label (input_filename, lineno, yyvsp[-1].ttype); stmt_count++; emit_nop (); @@ -3466,53 +3453,53 @@ case 357: expand_label (label); position_after_white_space (); ; break;} -case 358: -#line 1988 "c-parse.y" +case 359: +#line 1995 "c-parse.y" { emit_line_note (input_filename, lineno); yyval.ttype = NULL_TREE; ; break;} -case 359: -#line 1991 "c-parse.y" -{ emit_line_note (input_filename, lineno); ; - break;} case 360: -#line 1996 "c-parse.y" -{ yyval.ttype = NULL_TREE; ; +#line 1998 "c-parse.y" +{ emit_line_note (input_filename, lineno); ; break;} -case 362: +case 361: #line 2003 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 365: +case 363: #line 2010 "c-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; +{ yyval.ttype = NULL_TREE; ; break;} case 366: -#line 2015 "c-parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; +#line 2017 "c-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 367: -#line 2020 "c-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; +#line 2022 "c-parse.y" +{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 368: -#line 2022 "c-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; +#line 2027 "c-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; break;} case 369: -#line 2028 "c-parse.y" +#line 2029 "c-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; + break;} +case 370: +#line 2035 "c-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (0); ; break;} -case 370: -#line 2032 "c-parse.y" +case 371: +#line 2039 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 372: -#line 2040 "c-parse.y" +case 373: +#line 2047 "c-parse.y" { tree parm; if (pedantic) pedwarn ("ANSI C forbids forward parameter declarations"); @@ -3521,20 +3508,20 @@ case 372: TREE_ASM_WRITTEN (parm) = 1; clear_parm_order (); ; break;} -case 373: -#line 2048 "c-parse.y" +case 374: +#line 2055 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 374: -#line 2050 "c-parse.y" +case 375: +#line 2057 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; break;} -case 375: -#line 2056 "c-parse.y" +case 376: +#line 2063 "c-parse.y" { yyval.ttype = get_parm_info (0); ; break;} -case 376: -#line 2058 "c-parse.y" +case 377: +#line 2065 "c-parse.y" { yyval.ttype = get_parm_info (0); /* Gcc used to allow this as an extension. However, it does not work for all targets, and thus has been disabled. @@ -3545,24 +3532,24 @@ case 376: error ("ANSI C requires a named argument before `...'"); ; break;} -case 377: -#line 2068 "c-parse.y" -{ yyval.ttype = get_parm_info (1); ; - break;} case 378: -#line 2070 "c-parse.y" -{ yyval.ttype = get_parm_info (0); ; +#line 2075 "c-parse.y" +{ yyval.ttype = get_parm_info (1); ; break;} case 379: -#line 2075 "c-parse.y" -{ push_parm_decl (yyvsp[0].ttype); ; +#line 2077 "c-parse.y" +{ yyval.ttype = get_parm_info (0); ; break;} case 380: -#line 2077 "c-parse.y" +#line 2082 "c-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 381: #line 2084 "c-parse.y" +{ push_parm_decl (yyvsp[0].ttype); ; + break;} +case 382: +#line 2091 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -3572,8 +3559,8 @@ case 381: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 382: -#line 2093 "c-parse.y" +case 383: +#line 2100 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -3583,8 +3570,8 @@ case 382: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 383: -#line 2102 "c-parse.y" +case 384: +#line 2109 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -3594,8 +3581,8 @@ case 383: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 384: -#line 2111 "c-parse.y" +case 385: +#line 2118 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -3605,8 +3592,8 @@ case 384: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 385: -#line 2121 "c-parse.y" +case 386: +#line 2128 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -3616,50 +3603,50 @@ case 385: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 386: -#line 2135 "c-parse.y" +case 387: +#line 2142 "c-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (1); ; break;} -case 387: -#line 2139 "c-parse.y" +case 388: +#line 2146 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 389: -#line 2147 "c-parse.y" +case 390: +#line 2154 "c-parse.y" { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) error ("`...' in old-style identifier list"); yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ; break;} -case 390: -#line 2157 "c-parse.y" +case 391: +#line 2164 "c-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 391: -#line 2159 "c-parse.y" +case 392: +#line 2166 "c-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} -case 392: -#line 2165 "c-parse.y" +case 393: +#line 2172 "c-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 393: -#line 2167 "c-parse.y" +case 394: +#line 2174 "c-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} -case 394: -#line 2172 "c-parse.y" +case 395: +#line 2179 "c-parse.y" { yyval.itype = pedantic; pedantic = 0; ; break;} } /* the action file gets copied in in place of this dollarsign */ -#line 487 "/usr/local/share/bison.simple" +#line 487 "/usr/share/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -3855,5 +3842,5 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 2176 "c-parse.y" +#line 2183 "c-parse.y" diff --git a/gcc/c-parse.y b/gcc/c-parse.y index fd2b0f9..58b7525 100644 --- a/gcc/c-parse.y +++ b/gcc/c-parse.y @@ -54,11 +54,12 @@ State 434 contains 2 shift/reduce conflicts. (Four ways to parse this.) */ %{ +#include "config.h" + #include <stdio.h> #include <errno.h> #include <setjmp.h> -#include "config.h" #include "tree.h" #include "input.h" #include "c-lex.h" @@ -207,9 +208,11 @@ void yyerror (); %{ -/* Number of statements (loosely speaking) seen so far. */ +/* Number of statements (loosely speaking) and compound statements + seen so far. */ static int stmt_count; - +static int compstmt_count; + /* Input file and line number of the end of the body of last simple_if; used by the stmt-rule immediately after simple_if returns. */ static char *if_stmt_file; @@ -442,7 +445,7 @@ unary_expr: | sizeof unary_expr %prec UNARY { skip_evaluation--; if (TREE_CODE ($2) == COMPONENT_REF - && DECL_BIT_FIELD (TREE_OPERAND ($2, 1))) + && DECL_C_BIT_FIELD (TREE_OPERAND ($2, 1))) error ("`sizeof' applied to a bit-field"); $$ = c_sizeof (TREE_TYPE ($2)); } | sizeof '(' typename ')' %prec HYPERUNARY @@ -1544,9 +1547,11 @@ compstmt_or_error: | error compstmt ; -compstmt: '{' '}' +compstmt_start: '{' { compstmt_count++; } + +compstmt: compstmt_start '}' { $$ = convert (void_type_node, integer_zero_node); } - | '{' pushlevel maybe_label_decls decls xstmts '}' + | compstmt_start pushlevel maybe_label_decls decls xstmts '}' { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), 1, 0); $$ = poplevel (1, 1, 0); @@ -1554,7 +1559,7 @@ compstmt: '{' '}' pop_momentary_nofree (); else pop_momentary (); } - | '{' pushlevel maybe_label_decls error '}' + | compstmt_start pushlevel maybe_label_decls error '}' { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); $$ = poplevel (kept_level_p (), 0, 0); @@ -1562,7 +1567,7 @@ compstmt: '{' '}' pop_momentary_nofree (); else pop_momentary (); } - | '{' pushlevel maybe_label_decls stmts '}' + | compstmt_start pushlevel maybe_label_decls stmts '}' { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); $$ = poplevel (kept_level_p (), 0, 0); @@ -1575,8 +1580,8 @@ compstmt: '{' '}' /* Value is number of statements counted as of the closeparen. */ simple_if: if_prefix lineno_labeled_stmt -/* Make sure expand_end_cond is run once - for each call to expand_start_cond. +/* Make sure c_expand_end_cond is run once + for each call to c_expand_start_cond. Otherwise a crash is likely. */ | if_prefix error ; @@ -1584,7 +1589,8 @@ simple_if: if_prefix: IF '(' expr ')' { emit_line_note ($<filename>-1, $<lineno>0); - expand_start_cond (truthvalue_conversion ($3), 0); + c_expand_start_cond (truthvalue_conversion ($3), 0, + compstmt_count); $<itype>$ = stmt_count; if_stmt_file = $<filename>-1; if_stmt_line = $<lineno>0; @@ -1597,6 +1603,7 @@ if_prefix: do_stmt_start: DO { stmt_count++; + compstmt_count++; emit_line_note ($<filename>-1, $<lineno>0); /* See comment in `while' alternative, above. */ emit_nop (); @@ -1659,15 +1666,15 @@ stmt: iterator_expand ($1); clear_momentary (); } | simple_if ELSE - { expand_start_else (); + { c_expand_start_else (); $<itype>1 = stmt_count; position_after_white_space (); } lineno_labeled_stmt - { expand_end_cond (); + { c_expand_end_cond (); if (extra_warnings && stmt_count == $<itype>1) warning ("empty body in an else-statement"); } | simple_if %prec IF - { expand_end_cond (); + { c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an else statement. Increment stmt_count so we don't @@ -1675,11 +1682,11 @@ stmt: if (extra_warnings && stmt_count++ == $<itype>1) warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); } -/* Make sure expand_end_cond is run once - for each call to expand_start_cond. +/* Make sure c_expand_end_cond is run once + for each call to c_expand_start_cond. Otherwise a crash is likely. */ | simple_if ELSE error - { expand_end_cond (); } + { c_expand_end_cond (); } | WHILE { stmt_count++; emit_line_note ($<filename>-1, $<lineno>0); @@ -1,5 +1,6 @@ -/* A Bison parser, made from cexp.y with Bison version GNU Bison version 1.24 +/* A Bison parser, made from cexp.y + by Bison version A2.5 (Andrew Consortium) */ #define YYBISON 1 /* Identify Bison output. */ @@ -25,15 +26,11 @@ /* #define YYDEBUG 1 */ /* The following symbols should be autoconfigured: - HAVE_STDLIB_H STDC_HEADERS In the mean time, we'll get by with approximations based on existing GCC configuration symbols. */ #ifdef POSIX -# ifndef HAVE_STDLIB_H -# define HAVE_STDLIB_H 1 -# endif # ifndef STDC_HEADERS # define STDC_HEADERS 1 # endif @@ -47,6 +44,10 @@ # include <stdlib.h> #endif +#if HAVE_LIMITS_H +# include <limits.h> +#endif + #ifdef MULTIBYTE_CHARS #include <locale.h> #endif @@ -82,18 +83,38 @@ struct arglist { #endif /* Find the largest host integer type and set its size and type. - Don't blindly use `long'; on some crazy hosts it is shorter than `int'. */ + Watch out: on some crazy hosts `long' is shorter than `int'. */ -#ifndef HOST_BITS_PER_WIDE_INT +#ifndef HOST_WIDE_INT +# if HAVE_INTTYPES_H +# include <inttypes.h> +# define HOST_WIDE_INT intmax_t +# define unsigned_HOST_WIDE_INT uintmax_t +# else +# if (HOST_BITS_PER_LONG <= HOST_BITS_PER_INT \ + && HOST_BITS_PER_LONGLONG <= HOST_BITS_PER_INT) +# define HOST_WIDE_INT int +# else +# if (HOST_BITS_PER_LONGLONG <= HOST_BITS_PER_LONG \ + || ! (defined LONG_LONG_MAX || defined LLONG_MAX)) +# define HOST_WIDE_INT long +# else +# define HOST_WIDE_INT long long +# endif +# endif +# endif +#endif -#if HOST_BITS_PER_LONG > HOST_BITS_PER_INT -#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG -#define HOST_WIDE_INT long -#else -#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_INT -#define HOST_WIDE_INT int +#ifndef unsigned_HOST_WIDE_INT +#define unsigned_HOST_WIDE_INT unsigned HOST_WIDE_INT #endif +#ifndef CHAR_BIT +#define CHAR_BIT 8 +#endif + +#ifndef HOST_BITS_PER_WIDE_INT +#define HOST_BITS_PER_WIDE_INT (CHAR_BIT * sizeof (HOST_WIDE_INT)) #endif #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) @@ -194,17 +215,13 @@ extern int warn_undef; #define MAX_WCHAR_TYPE_SIZE WCHAR_TYPE_SIZE #endif -#if MAX_CHAR_TYPE_SIZE < HOST_BITS_PER_WIDE_INT -#define MAX_CHAR_TYPE_MASK (~ (~ (HOST_WIDE_INT) 0 << MAX_CHAR_TYPE_SIZE)) -#else -#define MAX_CHAR_TYPE_MASK (~ (HOST_WIDE_INT) 0) -#endif +#define MAX_CHAR_TYPE_MASK (MAX_CHAR_TYPE_SIZE < HOST_BITS_PER_WIDE_INT \ + ? (~ (~ (HOST_WIDE_INT) 0 << MAX_CHAR_TYPE_SIZE)) \ + : ~ (HOST_WIDE_INT) 0) -#if MAX_WCHAR_TYPE_SIZE < HOST_BITS_PER_WIDE_INT -#define MAX_WCHAR_TYPE_MASK (~ (~ (HOST_WIDE_INT) 0 << MAX_WCHAR_TYPE_SIZE)) -#else -#define MAX_WCHAR_TYPE_MASK (~ (HOST_WIDE_INT) 0) -#endif +#define MAX_WCHAR_TYPE_MASK (MAX_WCHAR_TYPE_SIZE < HOST_BITS_PER_WIDE_INT \ + ? ~ (~ (HOST_WIDE_INT) 0 << MAX_WCHAR_TYPE_SIZE) \ + : ~ (HOST_WIDE_INT) 0) /* Suppose A1 + B1 = SUM1, using 2's complement arithmetic ignoring overflow. Suppose A, B and SUM have the same respective signs as A1, B1, and SUM1. @@ -227,37 +244,20 @@ void pedwarn PRINTF_PROTO_1((char *, ...)); void warning PRINTF_PROTO_1((char *, ...)); static int parse_number PROTO((int)); -static HOST_WIDE_INT left_shift PROTO((struct constant *, unsigned HOST_WIDE_INT)); -static HOST_WIDE_INT right_shift PROTO((struct constant *, unsigned HOST_WIDE_INT)); +static HOST_WIDE_INT left_shift PROTO((struct constant *, unsigned_HOST_WIDE_INT)); +static HOST_WIDE_INT right_shift PROTO((struct constant *, unsigned_HOST_WIDE_INT)); static void integer_overflow PROTO((void)); /* `signedp' values */ #define SIGNED (~0) #define UNSIGNED 0 -#line 244 "cexp.y" +#line 260 "cexp.y" typedef union { struct constant {HOST_WIDE_INT value; int signedp;} integer; struct name {U_CHAR *address; int length;} name; struct arglist *keywords; } YYSTYPE; - -#ifndef YYLTYPE -typedef - struct yyltype - { - int timestamp; - int first_line; - int first_column; - int last_line; - int last_column; - char *text; - } - yyltype; - -#define YYLTYPE yyltype -#endif - #include <stdio.h> #ifndef __cplusplus @@ -333,17 +333,20 @@ static const short yyrhs[] = { 35, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 274, 279, 280, 287, 292, 295, 297, 300, 304, 306, - 311, 316, 329, 346, 359, 365, 371, 377, 383, 386, - 389, 396, 403, 410, 417, 420, 423, 426, 429, 432, - 435, 438, 440, 443, 446, 448, 450, 458, 460, 473 + 290, 295, 296, 303, 308, 311, 313, 316, 320, 322, + 327, 332, 345, 362, 375, 381, 387, 393, 399, 402, + 405, 412, 419, 426, 433, 436, 439, 442, 445, 448, + 451, 454, 456, 459, 462, 464, 466, 474, 476, 489 }; +#endif + + +#if YYDEBUG != 0 static const char * const yytname[] = { "$","error","$undefined.","INT","CHAR", "NAME","ERROR","'?'","':'","','","OR","AND","'|'","'^'","'&'","EQUAL","NOTEQUAL", "'<'","'>'","LEQ","GEQ","LSH","RSH","'+'","'-'","'*'","'/'","'%'","UNARY","'!'", -"'~'","'#'","'('","')'","start","exp1","exp","@1","@2","@3","@4","@5","keywords", -"" +"'~'","'#'","'('","')'","start","exp1","exp","@1","@2","@3","@4","@5","keywords", NULL }; #endif @@ -439,7 +442,7 @@ static const short yycheck[] = { 4, 26, 27, 23, 24, 25, 26, 27, 0, 9 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/local/share/bison.simple" +#line 3 "/usr/share/bison.simple" /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -632,7 +635,7 @@ __yy_memcpy (char *from, char *to, int count) #endif #endif -#line 192 "/usr/local/share/bison.simple" +#line 192 "/usr/share/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -931,59 +934,59 @@ yyreduce: switch (yyn) { case 1: -#line 275 "cexp.y" +#line 291 "cexp.y" { expression_value = yyvsp[0].integer.value; ; break;} case 3: -#line 281 "cexp.y" +#line 297 "cexp.y" { if (pedantic) pedwarn ("comma operator in operand of `#if'"); yyval.integer = yyvsp[0].integer; ; break;} case 4: -#line 288 "cexp.y" +#line 304 "cexp.y" { yyval.integer.value = - yyvsp[0].integer.value; yyval.integer.signedp = yyvsp[0].integer.signedp; if ((yyval.integer.value & yyvsp[0].integer.value & yyval.integer.signedp) < 0) integer_overflow (); ; break;} case 5: -#line 293 "cexp.y" +#line 309 "cexp.y" { yyval.integer.value = ! yyvsp[0].integer.value; yyval.integer.signedp = SIGNED; ; break;} case 6: -#line 296 "cexp.y" +#line 312 "cexp.y" { yyval.integer = yyvsp[0].integer; ; break;} case 7: -#line 298 "cexp.y" +#line 314 "cexp.y" { yyval.integer.value = ~ yyvsp[0].integer.value; yyval.integer.signedp = yyvsp[0].integer.signedp; ; break;} case 8: -#line 301 "cexp.y" +#line 317 "cexp.y" { yyval.integer.value = check_assertion (yyvsp[0].name.address, yyvsp[0].name.length, 0, NULL_PTR); yyval.integer.signedp = SIGNED; ; break;} case 9: -#line 305 "cexp.y" +#line 321 "cexp.y" { keyword_parsing = 1; ; break;} case 10: -#line 307 "cexp.y" +#line 323 "cexp.y" { yyval.integer.value = check_assertion (yyvsp[-4].name.address, yyvsp[-4].name.length, 1, yyvsp[-1].keywords); keyword_parsing = 0; yyval.integer.signedp = SIGNED; ; break;} case 11: -#line 312 "cexp.y" +#line 328 "cexp.y" { yyval.integer = yyvsp[-1].integer; ; break;} case 12: -#line 317 "cexp.y" +#line 333 "cexp.y" { yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; if (yyval.integer.signedp) { @@ -994,11 +997,11 @@ case 12: integer_overflow (); } else - yyval.integer.value = ((unsigned HOST_WIDE_INT) yyvsp[-2].integer.value + yyval.integer.value = ((unsigned_HOST_WIDE_INT) yyvsp[-2].integer.value * yyvsp[0].integer.value); ; break;} case 13: -#line 330 "cexp.y" +#line 346 "cexp.y" { if (yyvsp[0].integer.value == 0) { if (!skip_evaluation) @@ -1013,11 +1016,11 @@ case 13: integer_overflow (); } else - yyval.integer.value = ((unsigned HOST_WIDE_INT) yyvsp[-2].integer.value + yyval.integer.value = ((unsigned_HOST_WIDE_INT) yyvsp[-2].integer.value / yyvsp[0].integer.value); ; break;} case 14: -#line 347 "cexp.y" +#line 363 "cexp.y" { if (yyvsp[0].integer.value == 0) { if (!skip_evaluation) @@ -1028,11 +1031,11 @@ case 14: if (yyval.integer.signedp) yyval.integer.value = yyvsp[-2].integer.value % yyvsp[0].integer.value; else - yyval.integer.value = ((unsigned HOST_WIDE_INT) yyvsp[-2].integer.value + yyval.integer.value = ((unsigned_HOST_WIDE_INT) yyvsp[-2].integer.value % yyvsp[0].integer.value); ; break;} case 15: -#line 360 "cexp.y" +#line 376 "cexp.y" { yyval.integer.value = yyvsp[-2].integer.value + yyvsp[0].integer.value; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; if (overflow_sum_sign (yyvsp[-2].integer.value, yyvsp[0].integer.value, @@ -1040,7 +1043,7 @@ case 15: integer_overflow (); ; break;} case 16: -#line 366 "cexp.y" +#line 382 "cexp.y" { yyval.integer.value = yyvsp[-2].integer.value - yyvsp[0].integer.value; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; if (overflow_sum_sign (yyval.integer.value, yyvsp[0].integer.value, @@ -1048,7 +1051,7 @@ case 16: integer_overflow (); ; break;} case 17: -#line 372 "cexp.y" +#line 388 "cexp.y" { yyval.integer.signedp = yyvsp[-2].integer.signedp; if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0) yyval.integer.value = right_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value); @@ -1056,7 +1059,7 @@ case 17: yyval.integer.value = left_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ; break;} case 18: -#line 378 "cexp.y" +#line 394 "cexp.y" { yyval.integer.signedp = yyvsp[-2].integer.signedp; if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0) yyval.integer.value = left_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value); @@ -1064,110 +1067,110 @@ case 18: yyval.integer.value = right_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ; break;} case 19: -#line 384 "cexp.y" +#line 400 "cexp.y" { yyval.integer.value = (yyvsp[-2].integer.value == yyvsp[0].integer.value); yyval.integer.signedp = SIGNED; ; break;} case 20: -#line 387 "cexp.y" +#line 403 "cexp.y" { yyval.integer.value = (yyvsp[-2].integer.value != yyvsp[0].integer.value); yyval.integer.signedp = SIGNED; ; break;} case 21: -#line 390 "cexp.y" +#line 406 "cexp.y" { yyval.integer.signedp = SIGNED; if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp) yyval.integer.value = yyvsp[-2].integer.value <= yyvsp[0].integer.value; else - yyval.integer.value = ((unsigned HOST_WIDE_INT) yyvsp[-2].integer.value + yyval.integer.value = ((unsigned_HOST_WIDE_INT) yyvsp[-2].integer.value <= yyvsp[0].integer.value); ; break;} case 22: -#line 397 "cexp.y" +#line 413 "cexp.y" { yyval.integer.signedp = SIGNED; if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp) yyval.integer.value = yyvsp[-2].integer.value >= yyvsp[0].integer.value; else - yyval.integer.value = ((unsigned HOST_WIDE_INT) yyvsp[-2].integer.value + yyval.integer.value = ((unsigned_HOST_WIDE_INT) yyvsp[-2].integer.value >= yyvsp[0].integer.value); ; break;} case 23: -#line 404 "cexp.y" +#line 420 "cexp.y" { yyval.integer.signedp = SIGNED; if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp) yyval.integer.value = yyvsp[-2].integer.value < yyvsp[0].integer.value; else - yyval.integer.value = ((unsigned HOST_WIDE_INT) yyvsp[-2].integer.value + yyval.integer.value = ((unsigned_HOST_WIDE_INT) yyvsp[-2].integer.value < yyvsp[0].integer.value); ; break;} case 24: -#line 411 "cexp.y" +#line 427 "cexp.y" { yyval.integer.signedp = SIGNED; if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp) yyval.integer.value = yyvsp[-2].integer.value > yyvsp[0].integer.value; else - yyval.integer.value = ((unsigned HOST_WIDE_INT) yyvsp[-2].integer.value + yyval.integer.value = ((unsigned_HOST_WIDE_INT) yyvsp[-2].integer.value > yyvsp[0].integer.value); ; break;} case 25: -#line 418 "cexp.y" +#line 434 "cexp.y" { yyval.integer.value = yyvsp[-2].integer.value & yyvsp[0].integer.value; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ; break;} case 26: -#line 421 "cexp.y" +#line 437 "cexp.y" { yyval.integer.value = yyvsp[-2].integer.value ^ yyvsp[0].integer.value; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ; break;} case 27: -#line 424 "cexp.y" +#line 440 "cexp.y" { yyval.integer.value = yyvsp[-2].integer.value | yyvsp[0].integer.value; yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ; break;} case 28: -#line 427 "cexp.y" +#line 443 "cexp.y" { skip_evaluation += !yyvsp[-1].integer.value; ; break;} case 29: -#line 429 "cexp.y" +#line 445 "cexp.y" { skip_evaluation -= !yyvsp[-3].integer.value; yyval.integer.value = (yyvsp[-3].integer.value && yyvsp[0].integer.value); yyval.integer.signedp = SIGNED; ; break;} case 30: -#line 433 "cexp.y" +#line 449 "cexp.y" { skip_evaluation += !!yyvsp[-1].integer.value; ; break;} case 31: -#line 435 "cexp.y" +#line 451 "cexp.y" { skip_evaluation -= !!yyvsp[-3].integer.value; yyval.integer.value = (yyvsp[-3].integer.value || yyvsp[0].integer.value); yyval.integer.signedp = SIGNED; ; break;} case 32: -#line 439 "cexp.y" +#line 455 "cexp.y" { skip_evaluation += !yyvsp[-1].integer.value; ; break;} case 33: -#line 441 "cexp.y" +#line 457 "cexp.y" { skip_evaluation += !!yyvsp[-4].integer.value - !yyvsp[-4].integer.value; ; break;} case 34: -#line 443 "cexp.y" +#line 459 "cexp.y" { skip_evaluation -= !!yyvsp[-6].integer.value; yyval.integer.value = yyvsp[-6].integer.value ? yyvsp[-3].integer.value : yyvsp[0].integer.value; yyval.integer.signedp = yyvsp[-3].integer.signedp & yyvsp[0].integer.signedp; ; break;} case 35: -#line 447 "cexp.y" +#line 463 "cexp.y" { yyval.integer = yylval.integer; ; break;} case 36: -#line 449 "cexp.y" +#line 465 "cexp.y" { yyval.integer = yylval.integer; ; break;} case 37: -#line 451 "cexp.y" +#line 467 "cexp.y" { if (warn_undef && !skip_evaluation) warning ("`%.*s' is not defined", yyvsp[0].name.length, yyvsp[0].name.address); @@ -1175,11 +1178,11 @@ case 37: yyval.integer.signedp = SIGNED; ; break;} case 38: -#line 459 "cexp.y" +#line 475 "cexp.y" { yyval.keywords = 0; ; break;} case 39: -#line 461 "cexp.y" +#line 477 "cexp.y" { struct arglist *temp; yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist)); yyval.keywords->next = yyvsp[-2].keywords; @@ -1194,7 +1197,7 @@ case 39: temp->next->length = 1; ; break;} case 40: -#line 474 "cexp.y" +#line 490 "cexp.y" { yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist)); yyval.keywords->name = yyvsp[-1].name.address; yyval.keywords->length = yyvsp[-1].name.length; @@ -1202,7 +1205,7 @@ case 40: break;} } /* the action file gets copied in in place of this dollarsign */ -#line 487 "/usr/local/share/bison.simple" +#line 487 "/usr/share/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -1398,7 +1401,7 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 479 "cexp.y" +#line 495 "cexp.y" /* During parsing of a C expression, the pointer to the next character @@ -1418,7 +1421,7 @@ parse_number (olen) { register char *p = lexptr; register int c; - register unsigned HOST_WIDE_INT n = 0, nd, max_over_base; + register unsigned_HOST_WIDE_INT n = 0, nd, max_over_base; register int base = 10; register int len = olen; register int overflow = 0; @@ -1436,7 +1439,7 @@ parse_number (olen) } } - max_over_base = (unsigned HOST_WIDE_INT) -1 / base; + max_over_base = (unsigned_HOST_WIDE_INT) -1 / base; for (; len > 0; len--) { c = *p++; @@ -1674,11 +1677,11 @@ yylex () sizeof ("__CHAR_UNSIGNED__") - 1, -1) || ((result >> (num_bits - 1)) & 1) == 0) yylval.integer.value - = result & (~ (unsigned HOST_WIDE_INT) 0 + = result & (~ (unsigned_HOST_WIDE_INT) 0 >> (HOST_BITS_PER_WIDE_INT - num_bits)); else yylval.integer.value - = result | ~(~ (unsigned HOST_WIDE_INT) 0 + = result | ~(~ (unsigned_HOST_WIDE_INT) 0 >> (HOST_BITS_PER_WIDE_INT - num_bits)); } else @@ -1885,7 +1888,7 @@ parse_escape (string_ptr, result_mask) } case 'x': { - register unsigned HOST_WIDE_INT i = 0, overflow = 0; + register unsigned_HOST_WIDE_INT i = 0, overflow = 0; register int digits_found = 0, digit; for (;;) { @@ -1938,7 +1941,7 @@ integer_overflow () static HOST_WIDE_INT left_shift (a, b) struct constant *a; - unsigned HOST_WIDE_INT b; + unsigned_HOST_WIDE_INT b; { /* It's unclear from the C standard whether shifts can overflow. The following code ignores overflow; perhaps a C standard @@ -1946,20 +1949,20 @@ left_shift (a, b) if (b >= HOST_BITS_PER_WIDE_INT) return 0; else - return (unsigned HOST_WIDE_INT) a->value << b; + return (unsigned_HOST_WIDE_INT) a->value << b; } static HOST_WIDE_INT right_shift (a, b) struct constant *a; - unsigned HOST_WIDE_INT b; + unsigned_HOST_WIDE_INT b; { if (b >= HOST_BITS_PER_WIDE_INT) return a->signedp ? a->value >> (HOST_BITS_PER_WIDE_INT - 1) : 0; else if (a->signedp) return a->value >> b; else - return (unsigned HOST_WIDE_INT) a->value >> b; + return (unsigned_HOST_WIDE_INT) a->value >> b; } /* This page contains the entry point to this file. */ diff --git a/gcc/config/arm/xm-netbsd.h b/gcc/config/arm/xm-netbsd.h index 1c7a656..a0de5bf 100644 --- a/gcc/config/arm/xm-netbsd.h +++ b/gcc/config/arm/xm-netbsd.h @@ -7,4 +7,12 @@ #undef HAVE_VPRINTF #endif +#ifndef SYS_SIGLIST_DECLARED +#define SYS_SIGLIST_DECLARED +#endif + +#ifndef HAVE_STRERROR +#define HAVE_STRERROR +#endif + #include <xm-netbsd.h> diff --git a/gcc/objc/objc-parse.c b/gcc/objc/objc-parse.c index 6a04682..9c80c87 100644 --- a/gcc/objc/objc-parse.c +++ b/gcc/objc/objc-parse.c @@ -66,11 +66,12 @@ #line 33 "objc-parse.y" +#include "config.h" + #include <stdio.h> #include <errno.h> #include <setjmp.h> -#include "config.h" #include "tree.h" #include "input.h" #include "c-lex.h" @@ -100,14 +101,16 @@ void yyerror (); /* Cause the `yydebug' variable to be defined. */ #define YYDEBUG 1 -#line 71 "objc-parse.y" +#line 72 "objc-parse.y" typedef union {long itype; tree ttype; enum tree_code code; char *filename; int lineno; int ends_in_label; } YYSTYPE; -#line 198 "objc-parse.y" +#line 199 "objc-parse.y" -/* Number of statements (loosely speaking) seen so far. */ +/* Number of statements (loosely speaking) and compound statements + seen so far. */ static int stmt_count; - +static int compstmt_count; + /* Input file and line number of the end of the body of last simple_if; used by the stmt-rule immediately after simple_if returns. */ static char *if_stmt_file; @@ -166,11 +169,11 @@ typedef -#define YYFINAL 940 +#define YYFINAL 941 #define YYFLAG -32768 #define YYNTBASE 84 -#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 305) +#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 306) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -240,37 +243,37 @@ static const short yyprhs[] = { 0, 873, 875, 879, 882, 885, 886, 888, 890, 893, 894, 897, 901, 905, 908, 912, 917, 921, 924, 928, 931, 933, 935, 938, 941, 942, 944, 947, 948, 949, 951, - 953, 956, 960, 962, 965, 968, 975, 981, 987, 990, - 993, 998, 999, 1004, 1005, 1006, 1010, 1015, 1019, 1021, - 1023, 1025, 1027, 1030, 1031, 1036, 1038, 1042, 1043, 1044, - 1052, 1058, 1061, 1062, 1063, 1064, 1077, 1078, 1085, 1088, - 1091, 1094, 1098, 1105, 1114, 1125, 1138, 1142, 1147, 1149, - 1151, 1152, 1159, 1163, 1169, 1172, 1175, 1176, 1178, 1179, - 1181, 1182, 1184, 1186, 1190, 1195, 1197, 1201, 1202, 1205, - 1208, 1209, 1214, 1217, 1218, 1220, 1222, 1226, 1228, 1232, - 1237, 1242, 1247, 1252, 1257, 1258, 1261, 1263, 1266, 1268, - 1272, 1274, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, - 1294, 1298, 1302, 1307, 1308, 1309, 1320, 1321, 1328, 1329, - 1330, 1343, 1344, 1353, 1354, 1361, 1364, 1365, 1374, 1379, - 1380, 1390, 1396, 1397, 1404, 1405, 1407, 1411, 1415, 1417, - 1419, 1421, 1423, 1424, 1428, 1431, 1435, 1439, 1441, 1442, - 1444, 1448, 1450, 1454, 1457, 1458, 1459, 1460, 1468, 1469, - 1470, 1471, 1479, 1480, 1481, 1484, 1486, 1488, 1491, 1492, - 1496, 1498, 1500, 1501, 1502, 1508, 1509, 1510, 1516, 1521, - 1523, 1529, 1532, 1533, 1536, 1537, 1539, 1541, 1543, 1546, - 1549, 1554, 1557, 1560, 1562, 1566, 1569, 1572, 1575, 1576, - 1579, 1580, 1584, 1586, 1588, 1591, 1593, 1595, 1597, 1599, + 953, 956, 960, 962, 965, 967, 970, 977, 983, 989, + 992, 995, 1000, 1001, 1006, 1007, 1008, 1012, 1017, 1021, + 1023, 1025, 1027, 1029, 1032, 1033, 1038, 1040, 1044, 1045, + 1046, 1054, 1060, 1063, 1064, 1065, 1066, 1079, 1080, 1087, + 1090, 1093, 1096, 1100, 1107, 1116, 1127, 1140, 1144, 1149, + 1151, 1153, 1154, 1161, 1165, 1171, 1174, 1177, 1178, 1180, + 1181, 1183, 1184, 1186, 1188, 1192, 1197, 1199, 1203, 1204, + 1207, 1210, 1211, 1216, 1219, 1220, 1222, 1224, 1228, 1230, + 1234, 1239, 1244, 1249, 1254, 1259, 1260, 1263, 1265, 1268, + 1270, 1274, 1276, 1280, 1282, 1284, 1286, 1288, 1290, 1292, + 1294, 1296, 1300, 1304, 1309, 1310, 1311, 1322, 1323, 1330, + 1331, 1332, 1345, 1346, 1355, 1356, 1363, 1366, 1367, 1376, + 1381, 1382, 1392, 1398, 1399, 1406, 1407, 1409, 1413, 1417, + 1419, 1421, 1423, 1425, 1426, 1430, 1433, 1437, 1441, 1443, + 1444, 1446, 1450, 1452, 1456, 1459, 1460, 1461, 1462, 1470, + 1471, 1472, 1473, 1481, 1482, 1483, 1486, 1488, 1490, 1493, + 1494, 1498, 1500, 1502, 1503, 1504, 1510, 1511, 1512, 1518, + 1523, 1525, 1531, 1534, 1535, 1538, 1539, 1541, 1543, 1545, + 1548, 1551, 1556, 1559, 1562, 1564, 1568, 1571, 1574, 1577, + 1578, 1581, 1582, 1586, 1588, 1590, 1593, 1595, 1597, 1599, 1601, 1603, 1605, 1607, 1609, 1611, 1613, 1615, 1617, 1619, 1621, 1623, 1625, 1627, 1629, 1631, 1633, 1635, 1637, 1639, - 1641, 1648, 1652, 1658, 1661, 1663, 1665, 1667, 1670, 1672, - 1676, 1679, 1681, 1683, 1684, 1685, 1692, 1694, 1696, 1698, - 1701, 1704, 1706, 1711, 1716 + 1641, 1643, 1650, 1654, 1660, 1663, 1665, 1667, 1669, 1672, + 1674, 1678, 1681, 1683, 1685, 1686, 1687, 1694, 1696, 1698, + 1700, 1703, 1706, 1708, 1713, 1718 }; static const short yyrhs[] = { -1, 85, 0, 0, 86, 88, 0, 0, 85, 87, 88, - 0, 90, 0, 89, 0, 236, 0, 27, 59, 99, - 76, 77, 0, 235, 88, 0, 123, 137, 77, 0, + 0, 90, 0, 89, 0, 237, 0, 27, 59, 99, + 76, 77, 0, 236, 88, 0, 123, 137, 77, 0, 130, 123, 137, 77, 0, 126, 123, 136, 77, 0, 130, 77, 0, 126, 77, 0, 1, 77, 0, 1, 78, 0, 77, 0, 0, 0, 126, 123, 163, 91, @@ -281,7 +284,7 @@ static const short yyrhs[] = { -1, 0, 72, 0, 67, 0, 43, 0, 49, 0, 48, 0, 54, 0, 55, 0, 79, 0, 80, 0, 101, 0, 0, 101, 0, 107, 0, 101, 81, 107, 0, - 113, 0, 50, 105, 0, 235, 105, 0, 98, 105, + 113, 0, 50, 105, 0, 236, 105, 0, 98, 105, 0, 40, 97, 0, 103, 102, 0, 103, 59, 181, 76, 0, 104, 102, 0, 104, 59, 181, 76, 0, 33, 105, 0, 34, 105, 0, 11, 0, 29, 0, @@ -297,27 +300,27 @@ static const short yyrhs[] = { -1, 37, 112, 38, 107, 0, 107, 36, 107, 0, 107, 35, 107, 0, 3, 0, 8, 0, 115, 0, 59, 99, 76, 0, 59, 1, 76, 0, 0, 59, 114, - 195, 76, 0, 113, 59, 100, 76, 0, 113, 60, + 196, 76, 0, 113, 59, 100, 76, 0, 113, 60, 99, 83, 0, 113, 58, 97, 0, 113, 57, 97, - 0, 113, 54, 0, 113, 55, 0, 296, 0, 302, - 0, 303, 0, 304, 0, 116, 0, 9, 0, 115, + 0, 113, 54, 0, 113, 55, 0, 297, 0, 303, + 0, 304, 0, 305, 0, 116, 0, 9, 0, 115, 9, 0, 75, 0, 116, 75, 0, 0, 119, 0, - 119, 10, 0, 200, 201, 120, 0, 118, 0, 189, + 119, 10, 0, 201, 202, 120, 0, 118, 0, 189, 0, 119, 118, 0, 118, 189, 0, 128, 123, 136, 77, 0, 131, 123, 137, 77, 0, 128, 77, 0, - 131, 77, 0, 200, 201, 125, 0, 121, 0, 189, + 131, 77, 0, 201, 202, 125, 0, 121, 0, 189, 0, 122, 121, 0, 121, 189, 0, 0, 0, 126, 123, 136, 77, 0, 130, 123, 137, 77, 0, 126, 123, 157, 0, 130, 123, 160, 0, 126, 77, 0, - 130, 77, 0, 235, 125, 0, 134, 127, 0, 130, + 130, 77, 0, 236, 125, 0, 134, 127, 0, 130, 134, 127, 0, 0, 127, 135, 0, 127, 5, 0, 127, 144, 0, 134, 129, 0, 131, 134, 129, 0, 0, 129, 135, 0, 129, 5, 0, 131, 0, 144, 0, 130, 131, 0, 130, 144, 0, 7, 0, 5, 0, 131, 7, 0, 131, 5, 0, 134, 133, 0, 183, 134, 133, 0, 0, 133, 135, 0, 6, 0, - 167, 0, 4, 0, 67, 252, 0, 72, 252, 0, - 253, 0, 28, 59, 99, 76, 0, 28, 59, 181, + 167, 0, 4, 0, 67, 253, 0, 72, 253, 0, + 254, 0, 28, 59, 99, 76, 0, 28, 59, 181, 76, 0, 6, 0, 7, 0, 167, 0, 139, 0, 136, 81, 139, 0, 141, 0, 137, 81, 139, 0, 0, 27, 59, 115, 76, 0, 0, 163, 138, 143, @@ -332,14 +335,14 @@ static const short yyrhs[] = { -1, 152, 172, 0, 153, 0, 152, 81, 153, 0, 107, 0, 0, 82, 154, 151, 78, 0, 1, 0, 0, 97, 38, 155, 153, 0, 0, 58, 97, 36, 156, - 153, 0, 0, 0, 163, 158, 117, 159, 195, 0, - 0, 0, 166, 161, 117, 162, 195, 0, 164, 0, - 166, 0, 59, 164, 76, 0, 164, 59, 230, 0, + 153, 0, 0, 0, 163, 158, 117, 159, 196, 0, + 0, 0, 166, 161, 117, 162, 196, 0, 164, 0, + 166, 0, 59, 164, 76, 0, 164, 59, 231, 0, 164, 60, 99, 83, 0, 164, 60, 83, 0, 50, 184, 164, 0, 144, 124, 164, 0, 4, 0, 72, - 0, 165, 59, 230, 0, 165, 60, 99, 83, 0, + 0, 165, 59, 231, 0, 165, 60, 99, 83, 0, 165, 60, 83, 0, 50, 184, 165, 0, 144, 124, - 165, 0, 4, 0, 166, 59, 230, 0, 59, 166, + 165, 0, 4, 0, 166, 59, 231, 0, 59, 166, 76, 0, 50, 184, 166, 0, 166, 60, 99, 83, 0, 166, 60, 83, 0, 144, 124, 166, 0, 3, 0, 0, 13, 97, 82, 168, 174, 78, 143, 0, @@ -351,157 +354,158 @@ static const short yyrhs[] = { -1, 81, 0, 0, 81, 0, 175, 0, 175, 176, 0, 0, 175, 176, 77, 0, 175, 77, 0, 65, 59, 67, 76, 0, 132, 123, 177, 0, 132, 0, 183, - 123, 177, 0, 183, 0, 1, 0, 235, 176, 0, - 178, 0, 177, 81, 178, 0, 200, 201, 163, 143, - 0, 200, 201, 163, 38, 107, 143, 0, 200, 201, + 123, 177, 0, 183, 0, 1, 0, 236, 176, 0, + 178, 0, 177, 81, 178, 0, 201, 202, 163, 143, + 0, 201, 202, 163, 38, 107, 143, 0, 201, 202, 38, 107, 143, 0, 180, 0, 179, 81, 180, 0, 1, 0, 97, 0, 97, 36, 107, 0, 132, 182, 0, 183, 182, 0, 0, 185, 0, 7, 0, 183, 7, 0, 0, 184, 7, 0, 59, 185, 76, 0, - 50, 184, 185, 0, 50, 184, 0, 185, 59, 223, + 50, 184, 185, 0, 50, 184, 0, 185, 59, 224, 0, 185, 60, 99, 83, 0, 185, 60, 83, 0, - 59, 223, 0, 60, 99, 83, 0, 60, 83, 0, - 187, 0, 203, 0, 187, 203, 0, 187, 189, 0, + 59, 224, 0, 60, 99, 83, 0, 60, 83, 0, + 187, 0, 204, 0, 187, 204, 0, 187, 189, 0, 0, 186, 0, 1, 77, 0, 0, 0, 192, 0, - 193, 0, 192, 193, 0, 32, 234, 77, 0, 195, - 0, 1, 195, 0, 82, 78, 0, 82, 190, 191, - 122, 188, 78, 0, 82, 190, 191, 1, 78, 0, - 82, 190, 191, 186, 78, 0, 197, 202, 0, 197, - 1, 0, 15, 59, 99, 76, 0, 0, 18, 199, - 202, 17, 0, 0, 0, 200, 201, 205, 0, 200, - 201, 216, 202, 0, 200, 201, 204, 0, 205, 0, - 216, 0, 195, 0, 213, 0, 99, 77, 0, 0, - 196, 16, 206, 202, 0, 196, 0, 196, 16, 1, - 0, 0, 0, 17, 207, 59, 99, 76, 208, 202, - 0, 198, 59, 99, 76, 77, 0, 198, 1, 0, - 0, 0, 0, 19, 59, 218, 77, 209, 218, 77, - 210, 218, 76, 211, 202, 0, 0, 20, 59, 99, - 76, 212, 202, 0, 23, 77, 0, 24, 77, 0, - 25, 77, 0, 25, 99, 77, 0, 27, 217, 59, - 99, 76, 77, 0, 27, 217, 59, 99, 38, 219, - 76, 77, 0, 27, 217, 59, 99, 38, 219, 38, - 219, 76, 77, 0, 27, 217, 59, 99, 38, 219, - 38, 219, 38, 222, 76, 77, 0, 26, 97, 77, - 0, 26, 50, 99, 77, 0, 77, 0, 214, 0, - 0, 19, 59, 113, 76, 215, 202, 0, 21, 107, - 38, 0, 21, 107, 10, 107, 38, 0, 22, 38, - 0, 97, 38, 0, 0, 7, 0, 0, 99, 0, - 0, 220, 0, 221, 0, 220, 81, 221, 0, 9, - 59, 99, 76, 0, 115, 0, 222, 81, 115, 0, - 0, 224, 225, 0, 227, 76, 0, 0, 228, 77, - 226, 225, 0, 1, 76, 0, 0, 10, 0, 228, - 0, 228, 81, 10, 0, 229, 0, 228, 81, 229, - 0, 126, 123, 165, 143, 0, 126, 123, 166, 143, - 0, 126, 123, 182, 143, 0, 130, 123, 166, 143, - 0, 130, 123, 182, 143, 0, 0, 231, 232, 0, - 225, 0, 233, 76, 0, 3, 0, 233, 81, 3, - 0, 97, 0, 234, 81, 97, 0, 31, 0, 240, - 0, 238, 0, 239, 0, 250, 0, 260, 0, 63, - 0, 97, 0, 237, 81, 97, 0, 73, 237, 77, - 0, 74, 97, 97, 77, 0, 0, 0, 61, 97, - 252, 82, 241, 254, 78, 242, 267, 63, 0, 0, - 61, 97, 252, 243, 267, 63, 0, 0, 0, 61, - 97, 38, 97, 252, 82, 244, 254, 78, 245, 267, - 63, 0, 0, 61, 97, 38, 97, 252, 246, 267, - 63, 0, 0, 62, 97, 82, 247, 254, 78, 0, - 62, 97, 0, 0, 62, 97, 38, 97, 82, 248, - 254, 78, 0, 62, 97, 38, 97, 0, 0, 61, - 97, 59, 97, 76, 252, 249, 267, 63, 0, 62, - 97, 59, 97, 76, 0, 0, 71, 97, 252, 251, - 267, 63, 0, 0, 253, 0, 45, 237, 45, 0, - 254, 255, 256, 0, 256, 0, 69, 0, 70, 0, - 68, 0, 0, 256, 257, 77, 0, 256, 77, 0, - 132, 123, 258, 0, 183, 123, 258, 0, 1, 0, - 0, 259, 0, 258, 81, 259, 0, 163, 0, 163, - 38, 107, 0, 38, 107, 0, 0, 0, 0, 48, - 261, 277, 262, 278, 263, 194, 0, 0, 0, 0, - 49, 264, 277, 265, 278, 266, 194, 0, 0, 0, - 268, 269, 0, 272, 0, 89, 0, 269, 272, 0, - 0, 269, 270, 89, 0, 77, 0, 1, 0, 0, - 0, 48, 273, 277, 274, 271, 0, 0, 0, 49, - 275, 277, 276, 271, 0, 59, 181, 76, 286, 0, - 286, 0, 59, 181, 76, 287, 284, 0, 287, 284, - 0, 0, 77, 279, 0, 0, 280, 0, 281, 0, - 189, 0, 280, 281, 0, 281, 189, 0, 126, 123, - 282, 77, 0, 126, 77, 0, 130, 77, 0, 283, - 0, 282, 81, 283, 0, 165, 143, 0, 166, 143, - 0, 182, 143, 0, 0, 81, 10, 0, 0, 81, - 285, 227, 0, 288, 0, 290, 0, 287, 290, 0, - 3, 0, 4, 0, 72, 0, 289, 0, 12, 0, - 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, - 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, - 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, - 11, 0, 28, 0, 29, 0, 6, 0, 7, 0, - 288, 38, 59, 181, 76, 97, 0, 288, 38, 97, - 0, 38, 59, 181, 76, 97, 0, 38, 97, 0, - 288, 0, 292, 0, 294, 0, 292, 294, 0, 101, - 0, 288, 38, 293, 0, 38, 293, 0, 99, 0, - 67, 0, 0, 0, 60, 297, 295, 298, 291, 83, - 0, 288, 0, 300, 0, 301, 0, 300, 301, 0, - 288, 38, 0, 38, 0, 64, 59, 299, 76, 0, - 71, 59, 97, 76, 0, 66, 59, 181, 76, 0 + 193, 0, 192, 193, 0, 32, 235, 77, 0, 196, + 0, 1, 196, 0, 82, 0, 195, 78, 0, 195, + 190, 191, 122, 188, 78, 0, 195, 190, 191, 1, + 78, 0, 195, 190, 191, 186, 78, 0, 198, 203, + 0, 198, 1, 0, 15, 59, 99, 76, 0, 0, + 18, 200, 203, 17, 0, 0, 0, 201, 202, 206, + 0, 201, 202, 217, 203, 0, 201, 202, 205, 0, + 206, 0, 217, 0, 196, 0, 214, 0, 99, 77, + 0, 0, 197, 16, 207, 203, 0, 197, 0, 197, + 16, 1, 0, 0, 0, 17, 208, 59, 99, 76, + 209, 203, 0, 199, 59, 99, 76, 77, 0, 199, + 1, 0, 0, 0, 0, 19, 59, 219, 77, 210, + 219, 77, 211, 219, 76, 212, 203, 0, 0, 20, + 59, 99, 76, 213, 203, 0, 23, 77, 0, 24, + 77, 0, 25, 77, 0, 25, 99, 77, 0, 27, + 218, 59, 99, 76, 77, 0, 27, 218, 59, 99, + 38, 220, 76, 77, 0, 27, 218, 59, 99, 38, + 220, 38, 220, 76, 77, 0, 27, 218, 59, 99, + 38, 220, 38, 220, 38, 223, 76, 77, 0, 26, + 97, 77, 0, 26, 50, 99, 77, 0, 77, 0, + 215, 0, 0, 19, 59, 113, 76, 216, 203, 0, + 21, 107, 38, 0, 21, 107, 10, 107, 38, 0, + 22, 38, 0, 97, 38, 0, 0, 7, 0, 0, + 99, 0, 0, 221, 0, 222, 0, 221, 81, 222, + 0, 9, 59, 99, 76, 0, 115, 0, 223, 81, + 115, 0, 0, 225, 226, 0, 228, 76, 0, 0, + 229, 77, 227, 226, 0, 1, 76, 0, 0, 10, + 0, 229, 0, 229, 81, 10, 0, 230, 0, 229, + 81, 230, 0, 126, 123, 165, 143, 0, 126, 123, + 166, 143, 0, 126, 123, 182, 143, 0, 130, 123, + 166, 143, 0, 130, 123, 182, 143, 0, 0, 232, + 233, 0, 226, 0, 234, 76, 0, 3, 0, 234, + 81, 3, 0, 97, 0, 235, 81, 97, 0, 31, + 0, 241, 0, 239, 0, 240, 0, 251, 0, 261, + 0, 63, 0, 97, 0, 238, 81, 97, 0, 73, + 238, 77, 0, 74, 97, 97, 77, 0, 0, 0, + 61, 97, 253, 82, 242, 255, 78, 243, 268, 63, + 0, 0, 61, 97, 253, 244, 268, 63, 0, 0, + 0, 61, 97, 38, 97, 253, 82, 245, 255, 78, + 246, 268, 63, 0, 0, 61, 97, 38, 97, 253, + 247, 268, 63, 0, 0, 62, 97, 82, 248, 255, + 78, 0, 62, 97, 0, 0, 62, 97, 38, 97, + 82, 249, 255, 78, 0, 62, 97, 38, 97, 0, + 0, 61, 97, 59, 97, 76, 253, 250, 268, 63, + 0, 62, 97, 59, 97, 76, 0, 0, 71, 97, + 253, 252, 268, 63, 0, 0, 254, 0, 45, 238, + 45, 0, 255, 256, 257, 0, 257, 0, 69, 0, + 70, 0, 68, 0, 0, 257, 258, 77, 0, 257, + 77, 0, 132, 123, 259, 0, 183, 123, 259, 0, + 1, 0, 0, 260, 0, 259, 81, 260, 0, 163, + 0, 163, 38, 107, 0, 38, 107, 0, 0, 0, + 0, 48, 262, 278, 263, 279, 264, 194, 0, 0, + 0, 0, 49, 265, 278, 266, 279, 267, 194, 0, + 0, 0, 269, 270, 0, 273, 0, 89, 0, 270, + 273, 0, 0, 270, 271, 89, 0, 77, 0, 1, + 0, 0, 0, 48, 274, 278, 275, 272, 0, 0, + 0, 49, 276, 278, 277, 272, 0, 59, 181, 76, + 287, 0, 287, 0, 59, 181, 76, 288, 285, 0, + 288, 285, 0, 0, 77, 280, 0, 0, 281, 0, + 282, 0, 189, 0, 281, 282, 0, 282, 189, 0, + 126, 123, 283, 77, 0, 126, 77, 0, 130, 77, + 0, 284, 0, 283, 81, 284, 0, 165, 143, 0, + 166, 143, 0, 182, 143, 0, 0, 81, 10, 0, + 0, 81, 286, 228, 0, 289, 0, 291, 0, 288, + 291, 0, 3, 0, 4, 0, 72, 0, 290, 0, + 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, + 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, + 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, + 27, 0, 11, 0, 28, 0, 29, 0, 6, 0, + 7, 0, 289, 38, 59, 181, 76, 97, 0, 289, + 38, 97, 0, 38, 59, 181, 76, 97, 0, 38, + 97, 0, 289, 0, 293, 0, 295, 0, 293, 295, + 0, 101, 0, 289, 38, 294, 0, 38, 294, 0, + 99, 0, 67, 0, 0, 0, 60, 298, 296, 299, + 292, 83, 0, 289, 0, 301, 0, 302, 0, 301, + 302, 0, 289, 38, 0, 38, 0, 64, 59, 300, + 76, 0, 71, 59, 97, 76, 0, 66, 59, 181, + 76, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 236, 241, 255, 257, 257, 258, 260, 262, 263, 264, - 272, 276, 287, 292, 297, 299, 301, 302, 303, 308, - 315, 317, 322, 327, 333, 335, 340, 345, 351, 353, - 358, 365, 367, 368, 369, 372, 374, 376, 378, 380, - 382, 384, 388, 392, 395, 398, 401, 405, 407, 410, - 413, 417, 445, 451, 454, 457, 460, 462, 466, 470, - 474, 476, 479, 483, 510, 512, 514, 516, 518, 520, - 522, 524, 526, 528, 530, 532, 534, 536, 540, 542, - 546, 548, 551, 555, 557, 564, 567, 570, 576, 736, - 737, 739, 745, 747, 761, 784, 786, 788, 800, 814, - 816, 818, 820, 822, 824, 826, 831, 833, 839, 841, - 845, 847, 848, 858, 863, 865, 866, 867, 874, 880, - 885, 888, 896, 901, 903, 904, 905, 912, 923, 927, - 933, 938, 943, 948, 950, 952, 961, 964, 968, 970, - 972, 977, 981, 984, 988, 991, 993, 1005, 1008, 1010, - 1012, 1016, 1020, 1022, 1025, 1038, 1041, 1045, 1047, 1055, - 1056, 1057, 1061, 1063, 1068, 1070, 1072, 1078, 1079, 1080, - 1083, 1085, 1088, 1090, 1093, 1096, 1102, 1109, 1111, 1118, - 1125, 1128, 1135, 1138, 1142, 1145, 1149, 1154, 1157, 1161, - 1164, 1166, 1168, 1170, 1177, 1179, 1180, 1181, 1186, 1188, - 1193, 1201, 1206, 1210, 1213, 1215, 1220, 1223, 1225, 1227, - 1231, 1234, 1234, 1237, 1239, 1250, 1258, 1262, 1273, 1281, - 1288, 1290, 1295, 1298, 1303, 1305, 1307, 1314, 1316, 1317, - 1325, 1331, 1333, 1335, 1342, 1344, 1350, 1356, 1358, 1360, - 1362, 1369, 1371, 1374, 1379, 1381, 1385, 1387, 1389, 1391, - 1395, 1397, 1400, 1403, 1406, 1409, 1413, 1415, 1418, 1420, - 1424, 1427, 1432, 1434, 1436, 1440, 1464, 1471, 1476, 1482, - 1487, 1489, 1494, 1496, 1500, 1504, 1508, 1518, 1520, 1525, - 1530, 1533, 1537, 1540, 1544, 1547, 1550, 1553, 1557, 1560, - 1564, 1568, 1570, 1572, 1574, 1576, 1578, 1580, 1582, 1592, - 1600, 1602, 1604, 1608, 1610, 1613, 1616, 1629, 1631, 1636, - 1638, 1641, 1655, 1658, 1661, 1663, 1671, 1679, 1690, 1695, - 1698, 1711, 1719, 1723, 1727, 1731, 1737, 1741, 1746, 1749, - 1754, 1757, 1758, 1775, 1780, 1783, 1795, 1797, 1807, 1817, - 1818, 1826, 1829, 1841, 1845, 1862, 1872, 1881, 1886, 1891, - 1896, 1900, 1904, 1915, 1922, 1929, 1936, 1947, 1953, 1956, - 1961, 1984, 2018, 2043, 2074, 2089, 2100, 2104, 2108, 2111, - 2116, 2118, 2121, 2123, 2127, 2132, 2135, 2141, 2146, 2151, - 2153, 2162, 2163, 2169, 2171, 2181, 2183, 2187, 2190, 2196, - 2206, 2215, 2224, 2234, 2248, 2253, 2258, 2260, 2269, 2272, - 2277, 2280, 2284, 2292, 2294, 2295, 2296, 2297, 2298, 2312, - 2315, 2319, 2325, 2331, 2338, 2343, 2349, 2356, 2362, 2368, - 2373, 2379, 2386, 2392, 2398, 2404, 2412, 2418, 2424, 2432, - 2439, 2445, 2454, 2461, 2469, 2474, 2477, 2487, 2489, 2492, - 2494, 2495, 2498, 2503, 2504, 2521, 2528, 2534, 2538, 2541, - 2542, 2545, 2553, 2559, 2568, 2578, 2585, 2589, 2594, 2603, - 2610, 2614, 2624, 2626, 2627, 2629, 2631, 2632, 2633, 2634, - 2636, 2638, 2641, 2647, 2652, 2652, 2657, 2661, 2663, 2669, - 2674, 2679, 2688, 2690, 2696, 2698, 2701, 2703, 2704, 2705, - 2708, 2714, 2716, 2720, 2723, 2730, 2736, 2741, 2748, 2753, - 2758, 2763, 2770, 2774, 2777, 2783, 2785, 2786, 2787, 2790, - 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, - 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2810, - 2813, 2819, 2824, 2829, 2835, 2837, 2840, 2842, 2849, 2861, - 2866, 2872, 2874, 2880, 2884, 2885, 2891, 2893, 2896, 2898, - 2904, 2909, 2915, 2922, 2931 + 239, 244, 258, 260, 260, 261, 263, 265, 266, 267, + 275, 279, 290, 295, 300, 302, 304, 305, 306, 311, + 318, 320, 325, 330, 336, 338, 343, 348, 354, 356, + 361, 368, 370, 371, 372, 375, 377, 379, 381, 383, + 385, 387, 391, 395, 398, 401, 404, 408, 410, 413, + 416, 420, 448, 454, 457, 460, 463, 465, 469, 473, + 477, 479, 482, 486, 513, 515, 517, 519, 521, 523, + 525, 527, 529, 531, 533, 535, 537, 539, 543, 545, + 549, 551, 554, 558, 560, 567, 570, 573, 579, 739, + 740, 742, 748, 750, 764, 787, 789, 791, 803, 817, + 819, 821, 823, 825, 827, 829, 834, 836, 842, 844, + 848, 850, 851, 861, 866, 868, 869, 870, 877, 883, + 888, 891, 899, 904, 906, 907, 908, 915, 926, 930, + 936, 941, 946, 951, 953, 955, 964, 967, 971, 973, + 975, 980, 984, 987, 991, 994, 996, 1008, 1011, 1013, + 1015, 1019, 1023, 1025, 1028, 1041, 1044, 1048, 1050, 1058, + 1059, 1060, 1064, 1066, 1071, 1073, 1075, 1081, 1082, 1083, + 1086, 1088, 1091, 1093, 1096, 1099, 1105, 1112, 1114, 1121, + 1128, 1131, 1138, 1141, 1145, 1148, 1152, 1157, 1160, 1164, + 1167, 1169, 1171, 1173, 1180, 1182, 1183, 1184, 1189, 1191, + 1196, 1204, 1209, 1213, 1216, 1218, 1223, 1226, 1228, 1230, + 1234, 1237, 1237, 1240, 1242, 1253, 1261, 1265, 1276, 1284, + 1291, 1293, 1298, 1301, 1306, 1308, 1310, 1317, 1319, 1320, + 1328, 1334, 1336, 1338, 1345, 1347, 1353, 1359, 1361, 1363, + 1365, 1372, 1374, 1377, 1382, 1384, 1388, 1390, 1392, 1394, + 1398, 1400, 1403, 1406, 1409, 1412, 1416, 1418, 1421, 1423, + 1427, 1430, 1435, 1437, 1439, 1443, 1467, 1474, 1479, 1485, + 1490, 1492, 1497, 1499, 1503, 1507, 1511, 1521, 1523, 1528, + 1533, 1536, 1540, 1543, 1547, 1550, 1553, 1556, 1560, 1563, + 1567, 1571, 1573, 1575, 1577, 1579, 1581, 1583, 1585, 1595, + 1603, 1605, 1607, 1611, 1613, 1616, 1619, 1632, 1634, 1639, + 1641, 1644, 1658, 1661, 1664, 1666, 1668, 1676, 1684, 1695, + 1700, 1703, 1717, 1726, 1730, 1734, 1738, 1744, 1748, 1753, + 1756, 1761, 1764, 1765, 1782, 1787, 1790, 1802, 1804, 1814, + 1824, 1825, 1833, 1836, 1848, 1852, 1869, 1879, 1888, 1893, + 1898, 1903, 1907, 1911, 1922, 1929, 1936, 1943, 1954, 1960, + 1963, 1968, 1991, 2025, 2050, 2081, 2096, 2107, 2111, 2115, + 2118, 2123, 2125, 2128, 2130, 2134, 2139, 2142, 2148, 2153, + 2158, 2160, 2169, 2170, 2176, 2178, 2188, 2190, 2194, 2197, + 2203, 2213, 2222, 2231, 2241, 2255, 2260, 2265, 2267, 2276, + 2279, 2284, 2287, 2291, 2299, 2301, 2302, 2303, 2304, 2305, + 2319, 2322, 2326, 2332, 2338, 2345, 2350, 2356, 2363, 2369, + 2375, 2380, 2386, 2393, 2399, 2405, 2411, 2419, 2425, 2431, + 2439, 2446, 2452, 2461, 2468, 2476, 2481, 2484, 2494, 2496, + 2499, 2501, 2502, 2505, 2510, 2511, 2528, 2535, 2541, 2545, + 2548, 2549, 2552, 2560, 2566, 2575, 2585, 2592, 2596, 2601, + 2610, 2617, 2621, 2631, 2633, 2634, 2636, 2638, 2639, 2640, + 2641, 2643, 2645, 2648, 2654, 2659, 2659, 2664, 2668, 2670, + 2676, 2681, 2686, 2695, 2697, 2703, 2705, 2708, 2710, 2711, + 2712, 2715, 2721, 2723, 2727, 2730, 2737, 2743, 2748, 2755, + 2760, 2765, 2770, 2777, 2781, 2784, 2790, 2792, 2793, 2794, + 2797, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, + 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, + 2817, 2820, 2826, 2831, 2836, 2842, 2844, 2847, 2849, 2856, + 2868, 2873, 2879, 2881, 2887, 2891, 2892, 2898, 2900, 2903, + 2905, 2911, 2916, 2922, 2929, 2938 }; static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER", @@ -530,17 +534,17 @@ static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER" "component_decl_list2","component_decl","components","component_declarator", "enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals", "absdcl1","stmts","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls", -"label_decls","label_decl","compstmt_or_error","compstmt","simple_if","if_prefix", -"do_stmt_start","@30","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label", -"stmt_or_label","stmt","@31","@32","@33","@34","@35","@36","@37","all_iter_stmt", -"all_iter_stmt_simple","@38","label","maybe_type_qual","xexpr","asm_operands", -"nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","@39","parmlist_1", -"@40","parmlist_2","parms","parm","parmlist_or_identifiers","@41","parmlist_or_identifiers_1", -"identifiers","identifiers_or_typenames","extension","objcdef","identifier_list", -"classdecl","aliasdecl","classdef","@42","@43","@44","@45","@46","@47","@48", -"@49","@50","protocoldef","@51","protocolrefs","non_empty_protocolrefs","ivar_decl_list", -"visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator","methoddef", -"@52","@53","@54","@55","@56","@57","methodprotolist","@58","methodprotolist2", +"label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt","simple_if", +"if_prefix","do_stmt_start","@30","save_filename","save_lineno","lineno_labeled_stmt", +"lineno_stmt_or_label","stmt_or_label","stmt","@31","@32","@33","@34","@35", +"@36","@37","all_iter_stmt","all_iter_stmt_simple","@38","label","maybe_type_qual", +"xexpr","asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist", +"@39","parmlist_1","@40","parmlist_2","parms","parm","parmlist_or_identifiers", +"@41","parmlist_or_identifiers_1","identifiers","identifiers_or_typenames","extension", +"objcdef","identifier_list","classdecl","aliasdecl","classdef","@42","@43","@44", +"@45","@46","@47","@48","@49","@50","protocoldef","@51","protocolrefs","non_empty_protocolrefs", +"ivar_decl_list","visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator", +"methoddef","@52","@53","@54","@55","@56","@57","methodprotolist","@58","methodprotolist2", "@59","semi_or_error","methodproto","@60","@61","@62","@63","methoddecl","optarglist", "myxdecls","mydecls","mydecl","myparms","myparm","optparmlist","@64","unaryselector", "keywordselector","selector","reservedwords","keyworddecl","messageargs","keywordarglist", @@ -582,31 +586,31 @@ static const short yyr1[] = { 0, 180, 180, 181, 181, 182, 182, 183, 183, 184, 184, 185, 185, 185, 185, 185, 185, 185, 185, 185, 186, 187, 187, 187, 188, 188, 189, 190, 191, 191, 192, - 192, 193, 194, 194, 195, 195, 195, 195, 196, 196, - 197, 199, 198, 200, 201, 202, 202, 203, 204, 204, - 205, 205, 205, 206, 205, 205, 205, 207, 208, 205, - 205, 205, 209, 210, 211, 205, 212, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 213, - 215, 214, 216, 216, 216, 216, 217, 217, 218, 218, - 219, 219, 220, 220, 221, 222, 222, 224, 223, 225, - 226, 225, 225, 227, 227, 227, 227, 228, 228, 229, - 229, 229, 229, 229, 231, 230, 232, 232, 233, 233, - 234, 234, 235, 236, 236, 236, 236, 236, 236, 237, - 237, 238, 239, 241, 242, 240, 243, 240, 244, 245, - 240, 246, 240, 247, 240, 240, 248, 240, 240, 249, - 240, 240, 251, 250, 252, 252, 253, 254, 254, 255, - 255, 255, 256, 256, 256, 257, 257, 257, 258, 258, - 258, 259, 259, 259, 261, 262, 263, 260, 264, 265, - 266, 260, 267, 268, 267, 269, 269, 269, 270, 269, - 271, 271, 273, 274, 272, 275, 276, 272, 277, 277, - 277, 277, 278, 278, 279, 279, 280, 280, 280, 280, - 281, 281, 281, 282, 282, 283, 283, 283, 284, 284, - 285, 284, 286, 287, 287, 288, 288, 288, 288, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 290, 290, 290, 290, 291, 291, 292, 292, 293, 294, - 294, 295, 295, 297, 298, 296, 299, 299, 300, 300, - 301, 301, 302, 303, 304 + 192, 193, 194, 194, 195, 196, 196, 196, 196, 197, + 197, 198, 200, 199, 201, 202, 203, 203, 204, 205, + 205, 206, 206, 206, 207, 206, 206, 206, 208, 209, + 206, 206, 206, 210, 211, 212, 206, 213, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 214, 216, 215, 217, 217, 217, 217, 218, 218, 219, + 219, 220, 220, 221, 221, 222, 223, 223, 225, 224, + 226, 227, 226, 226, 228, 228, 228, 228, 229, 229, + 230, 230, 230, 230, 230, 232, 231, 233, 233, 234, + 234, 235, 235, 236, 237, 237, 237, 237, 237, 237, + 238, 238, 239, 240, 242, 243, 241, 244, 241, 245, + 246, 241, 247, 241, 248, 241, 241, 249, 241, 241, + 250, 241, 241, 252, 251, 253, 253, 254, 255, 255, + 256, 256, 256, 257, 257, 257, 258, 258, 258, 259, + 259, 259, 260, 260, 260, 262, 263, 264, 261, 265, + 266, 267, 261, 268, 269, 268, 270, 270, 270, 271, + 270, 272, 272, 274, 275, 273, 276, 277, 273, 278, + 278, 278, 278, 279, 279, 280, 280, 281, 281, 281, + 281, 282, 282, 282, 283, 283, 284, 284, 284, 285, + 285, 286, 285, 287, 288, 288, 289, 289, 289, 289, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 290, 291, 291, 291, 291, 292, 292, 293, 293, 294, + 295, 295, 296, 296, 298, 299, 297, 300, 300, 301, + 301, 302, 302, 303, 304, 305 }; static const short yyr2[] = { 0, @@ -641,54 +645,54 @@ static const short yyr2[] = { 0, 1, 3, 2, 2, 0, 1, 1, 2, 0, 2, 3, 3, 2, 3, 4, 3, 2, 3, 2, 1, 1, 2, 2, 0, 1, 2, 0, 0, 1, 1, - 2, 3, 1, 2, 2, 6, 5, 5, 2, 2, - 4, 0, 4, 0, 0, 3, 4, 3, 1, 1, - 1, 1, 2, 0, 4, 1, 3, 0, 0, 7, - 5, 2, 0, 0, 0, 12, 0, 6, 2, 2, - 2, 3, 6, 8, 10, 12, 3, 4, 1, 1, - 0, 6, 3, 5, 2, 2, 0, 1, 0, 1, - 0, 1, 1, 3, 4, 1, 3, 0, 2, 2, - 0, 4, 2, 0, 1, 1, 3, 1, 3, 4, - 4, 4, 4, 4, 0, 2, 1, 2, 1, 3, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 3, 4, 0, 0, 10, 0, 6, 0, 0, - 12, 0, 8, 0, 6, 2, 0, 8, 4, 0, - 9, 5, 0, 6, 0, 1, 3, 3, 1, 1, - 1, 1, 0, 3, 2, 3, 3, 1, 0, 1, - 3, 1, 3, 2, 0, 0, 0, 7, 0, 0, - 0, 7, 0, 0, 2, 1, 1, 2, 0, 3, - 1, 1, 0, 0, 5, 0, 0, 5, 4, 1, - 5, 2, 0, 2, 0, 1, 1, 1, 2, 2, - 4, 2, 2, 1, 3, 2, 2, 2, 0, 2, - 0, 3, 1, 1, 2, 1, 1, 1, 1, 1, + 2, 3, 1, 2, 1, 2, 6, 5, 5, 2, + 2, 4, 0, 4, 0, 0, 3, 4, 3, 1, + 1, 1, 1, 2, 0, 4, 1, 3, 0, 0, + 7, 5, 2, 0, 0, 0, 12, 0, 6, 2, + 2, 2, 3, 6, 8, 10, 12, 3, 4, 1, + 1, 0, 6, 3, 5, 2, 2, 0, 1, 0, + 1, 0, 1, 1, 3, 4, 1, 3, 0, 2, + 2, 0, 4, 2, 0, 1, 1, 3, 1, 3, + 4, 4, 4, 4, 4, 0, 2, 1, 2, 1, + 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 3, 4, 0, 0, 10, 0, 6, 0, + 0, 12, 0, 8, 0, 6, 2, 0, 8, 4, + 0, 9, 5, 0, 6, 0, 1, 3, 3, 1, + 1, 1, 1, 0, 3, 2, 3, 3, 1, 0, + 1, 3, 1, 3, 2, 0, 0, 0, 7, 0, + 0, 0, 7, 0, 0, 2, 1, 1, 2, 0, + 3, 1, 1, 0, 0, 5, 0, 0, 5, 4, + 1, 5, 2, 0, 2, 0, 1, 1, 1, 2, + 2, 4, 2, 2, 1, 3, 2, 2, 2, 0, + 2, 0, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 6, 3, 5, 2, 1, 1, 1, 2, 1, 3, - 2, 1, 1, 0, 0, 6, 1, 1, 1, 2, - 2, 1, 4, 4, 4 + 1, 6, 3, 5, 2, 1, 1, 1, 2, 1, + 3, 2, 1, 1, 0, 0, 6, 1, 1, 1, + 2, 2, 1, 4, 4, 4 }; static const short yydefact[] = { 3, 5, 0, 0, 0, 162, 153, 160, 152, 0, 0, - 0, 0, 0, 0, 403, 0, 455, 459, 0, 0, - 409, 435, 0, 435, 0, 0, 19, 4, 8, 7, + 0, 0, 0, 0, 404, 0, 456, 460, 0, 0, + 410, 436, 0, 436, 0, 0, 19, 4, 8, 7, 0, 128, 128, 148, 139, 149, 185, 161, 0, 9, - 405, 406, 404, 407, 165, 408, 6, 17, 18, 32, + 406, 407, 405, 408, 165, 409, 6, 17, 18, 32, 33, 35, 34, 254, 256, 263, 247, 263, 251, 0, - 0, 0, 410, 0, 0, 0, 435, 426, 163, 436, - 435, 164, 0, 0, 243, 289, 0, 0, 173, 129, + 0, 0, 411, 0, 0, 0, 436, 427, 163, 437, + 436, 164, 0, 0, 243, 289, 0, 0, 173, 129, 0, 16, 0, 15, 0, 150, 139, 151, 155, 154, 137, 186, 11, 0, 252, 0, 0, 0, 244, 0, 248, 89, 90, 107, 59, 60, 0, 0, 0, 36, - 38, 37, 0, 39, 40, 0, 544, 0, 0, 0, + 38, 37, 0, 39, 40, 0, 545, 0, 0, 0, 109, 41, 42, 0, 0, 43, 61, 0, 0, 65, 46, 48, 91, 106, 0, 102, 103, 104, 105, 287, - 0, 285, 158, 0, 285, 190, 437, 0, 506, 507, - 529, 530, 526, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 527, - 528, 0, 0, 508, 456, 480, 499, 503, 509, 504, - 460, 0, 0, 417, 0, 0, 424, 433, 412, 0, - 0, 0, 12, 0, 0, 31, 0, 395, 0, 0, + 0, 285, 158, 0, 285, 190, 438, 0, 507, 508, + 530, 531, 527, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 528, + 529, 0, 0, 509, 457, 481, 500, 504, 510, 505, + 461, 0, 0, 418, 0, 0, 425, 434, 413, 0, + 0, 0, 12, 0, 0, 31, 0, 396, 0, 0, 183, 229, 289, 0, 230, 0, 171, 129, 0, 221, 222, 0, 0, 138, 141, 168, 169, 140, 142, 170, 280, 281, 259, 278, 0, 0, 183, 271, 265, 128, @@ -697,790 +701,781 @@ static const short yydefact[] = { 3, 0, 0, 53, 0, 55, 0, 0, 82, 80, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 0, 0, 44, 0, 108, 110, - 50, 166, 289, 378, 0, 283, 286, 156, 167, 288, - 158, 284, 196, 197, 198, 195, 0, 188, 191, 411, - 0, 534, 0, 483, 501, 482, 0, 505, 0, 483, - 435, 0, 414, 464, 429, 0, 443, 464, 413, 290, + 50, 166, 289, 379, 0, 283, 286, 156, 167, 288, + 158, 284, 196, 197, 198, 195, 0, 188, 191, 412, + 0, 535, 0, 484, 502, 483, 0, 506, 0, 484, + 436, 0, 415, 465, 430, 0, 444, 465, 414, 290, 239, 238, 174, 175, 242, 0, 237, 0, 241, 0, - 0, 29, 0, 324, 116, 325, 182, 184, 0, 0, - 14, 0, 0, 23, 0, 183, 395, 0, 13, 27, - 0, 0, 260, 0, 259, 0, 246, 324, 264, 324, - 272, 0, 250, 0, 93, 92, 307, 0, 0, 543, - 542, 545, 552, 547, 0, 548, 549, 0, 0, 10, - 47, 0, 0, 88, 87, 0, 0, 0, 0, 76, - 77, 75, 74, 73, 71, 72, 66, 67, 68, 69, - 70, 99, 98, 0, 45, 0, 293, 0, 297, 0, - 299, 0, 378, 0, 159, 157, 0, 190, 44, 0, - 0, 0, 457, 500, 384, 0, 532, 461, 422, 435, - 443, 0, 0, 427, 432, 0, 0, 0, 0, 0, - 399, 385, 128, 128, 397, 0, 386, 388, 396, 0, - 240, 306, 0, 118, 113, 117, 0, 180, 227, 223, - 172, 228, 21, 179, 224, 226, 0, 25, 282, 279, - 183, 0, 266, 267, 273, 325, 269, 183, 183, 315, - 308, 95, 63, 62, 0, 551, 553, 0, 550, 555, - 554, 54, 56, 0, 0, 81, 79, 96, 97, 292, - 291, 379, 298, 294, 296, 0, 187, 189, 89, 0, - 0, 479, 499, 128, 0, 488, 484, 486, 0, 0, - 502, 386, 0, 0, 419, 464, 430, 0, 418, 473, - 476, 467, 0, 128, 128, 469, 466, 443, 442, 440, - 441, 425, 443, 448, 445, 128, 128, 0, 434, 176, - 383, 285, 285, 380, 381, 0, 398, 0, 0, 30, - 313, 114, 128, 128, 145, 0, 0, 177, 225, 0, - 255, 183, 324, 0, 245, 249, 0, 0, 309, 310, - 0, 0, 535, 0, 536, 537, 83, 86, 295, 192, - 0, 194, 533, 481, 492, 285, 493, 489, 490, 458, - 0, 462, 443, 0, 464, 415, 0, 0, 175, 0, - 0, 0, 468, 0, 0, 449, 449, 444, 236, 289, - 378, 129, 183, 183, 183, 289, 183, 183, 0, 387, - 389, 400, 314, 121, 0, 122, 0, 145, 143, 202, - 200, 199, 181, 22, 0, 26, 253, 274, 0, 183, - 401, 0, 0, 0, 324, 0, 0, 125, 325, 301, - 311, 210, 89, 0, 208, 0, 207, 0, 257, 205, - 539, 541, 0, 546, 0, 538, 0, 0, 183, 183, - 183, 0, 494, 531, 0, 423, 0, 464, 474, 477, - 470, 428, 0, 452, 446, 450, 447, 293, 0, 395, - 0, 390, 391, 392, 293, 393, 394, 382, 0, 0, - 144, 147, 146, 0, 178, 183, 0, 275, 312, 0, - 317, 127, 126, 305, 0, 318, 303, 325, 302, 0, - 0, 0, 211, 64, 0, 204, 540, 84, 193, 496, - 497, 498, 491, 285, 420, 431, 0, 0, 0, 454, - 0, 0, 234, 289, 235, 231, 233, 0, 119, 120, - 0, 277, 183, 402, 316, 0, 162, 0, 338, 322, - 0, 0, 0, 0, 0, 0, 0, 0, 367, 435, - 435, 359, 0, 0, 123, 128, 128, 331, 336, 0, - 0, 328, 329, 332, 360, 330, 0, 213, 0, 0, - 206, 495, 464, 416, 472, 471, 475, 478, 453, 451, - 0, 232, 201, 276, 0, 0, 324, 369, 0, 0, - 365, 349, 350, 351, 0, 0, 0, 368, 0, 366, - 333, 134, 0, 135, 0, 0, 320, 325, 319, 342, - 0, 136, 0, 209, 212, 0, 0, 0, 0, 370, - 48, 0, 0, 0, 363, 352, 0, 357, 0, 0, - 132, 215, 0, 133, 218, 337, 324, 0, 0, 214, - 421, 321, 0, 323, 361, 343, 347, 0, 358, 0, - 130, 0, 131, 0, 335, 326, 324, 0, 339, 324, - 369, 324, 364, 371, 0, 216, 219, 327, 341, 324, - 362, 0, 348, 0, 0, 372, 373, 353, 0, 0, - 340, 344, 0, 371, 0, 0, 217, 220, 369, 0, - 0, 354, 374, 0, 375, 0, 0, 345, 376, 0, - 355, 324, 0, 0, 346, 356, 377, 0, 0, 0 + 0, 29, 0, 325, 116, 326, 182, 184, 0, 0, + 14, 0, 0, 23, 0, 183, 396, 0, 13, 27, + 0, 0, 260, 0, 259, 0, 246, 325, 264, 325, + 272, 0, 250, 0, 93, 92, 315, 307, 0, 0, + 544, 543, 546, 553, 548, 0, 549, 550, 0, 0, + 10, 47, 0, 0, 88, 87, 0, 0, 0, 0, + 76, 77, 75, 74, 73, 71, 72, 66, 67, 68, + 69, 70, 99, 98, 0, 45, 0, 293, 0, 297, + 0, 299, 0, 379, 0, 159, 157, 0, 190, 44, + 0, 0, 0, 458, 501, 385, 0, 533, 462, 423, + 436, 444, 0, 0, 428, 433, 0, 0, 0, 0, + 0, 400, 386, 128, 128, 398, 0, 387, 389, 397, + 0, 240, 306, 0, 118, 113, 117, 0, 180, 227, + 223, 172, 228, 21, 179, 224, 226, 0, 25, 282, + 279, 183, 0, 266, 267, 273, 326, 269, 183, 183, + 316, 308, 95, 63, 62, 0, 552, 554, 0, 551, + 556, 555, 54, 56, 0, 0, 81, 79, 96, 97, + 292, 291, 380, 298, 294, 296, 0, 187, 189, 89, + 0, 0, 480, 500, 128, 0, 489, 485, 487, 0, + 0, 503, 387, 0, 0, 420, 465, 431, 0, 419, + 474, 477, 468, 0, 128, 128, 470, 467, 444, 443, + 441, 442, 426, 444, 449, 446, 128, 128, 0, 435, + 176, 384, 285, 285, 381, 382, 0, 399, 0, 0, + 30, 313, 114, 128, 128, 145, 0, 0, 177, 225, + 0, 255, 183, 325, 0, 245, 249, 0, 0, 309, + 310, 0, 0, 536, 0, 537, 538, 83, 86, 295, + 192, 0, 194, 534, 482, 493, 285, 494, 490, 491, + 459, 0, 463, 444, 0, 465, 416, 0, 0, 175, + 0, 0, 0, 469, 0, 0, 450, 450, 445, 236, + 289, 379, 129, 183, 183, 183, 289, 183, 183, 0, + 388, 390, 401, 314, 121, 0, 122, 0, 145, 143, + 202, 200, 199, 181, 22, 0, 26, 253, 274, 0, + 183, 402, 0, 0, 0, 325, 0, 0, 125, 326, + 301, 311, 210, 89, 0, 208, 0, 207, 0, 257, + 205, 540, 542, 0, 547, 0, 539, 0, 0, 183, + 183, 183, 0, 495, 532, 0, 424, 0, 465, 475, + 478, 471, 429, 0, 453, 447, 451, 448, 293, 0, + 396, 0, 391, 392, 393, 293, 394, 395, 383, 0, + 0, 144, 147, 146, 0, 178, 183, 0, 275, 312, + 0, 318, 127, 126, 305, 0, 319, 303, 326, 302, + 0, 0, 0, 211, 64, 0, 204, 541, 84, 193, + 497, 498, 499, 492, 285, 421, 432, 0, 0, 0, + 455, 0, 0, 234, 289, 235, 231, 233, 0, 119, + 120, 0, 277, 183, 403, 317, 0, 162, 0, 339, + 323, 0, 0, 0, 0, 0, 0, 0, 0, 368, + 436, 436, 360, 0, 0, 123, 128, 128, 332, 337, + 0, 0, 329, 330, 333, 361, 331, 0, 213, 0, + 0, 206, 496, 465, 417, 473, 472, 476, 479, 454, + 452, 0, 232, 201, 276, 0, 0, 325, 370, 0, + 0, 366, 350, 351, 352, 0, 0, 0, 369, 0, + 367, 334, 134, 0, 135, 0, 0, 321, 326, 320, + 343, 0, 136, 0, 209, 212, 0, 0, 0, 0, + 371, 48, 0, 0, 0, 364, 353, 0, 358, 0, + 0, 132, 215, 0, 133, 218, 338, 325, 0, 0, + 214, 422, 322, 0, 324, 362, 344, 348, 0, 359, + 0, 130, 0, 131, 0, 336, 327, 325, 0, 340, + 325, 370, 325, 365, 372, 0, 216, 219, 328, 342, + 325, 363, 0, 349, 0, 0, 373, 374, 354, 0, + 0, 341, 345, 0, 372, 0, 0, 217, 220, 370, + 0, 0, 355, 375, 0, 376, 0, 0, 346, 377, + 0, 356, 325, 0, 0, 347, 357, 378, 0, 0, + 0 }; -static const short yydefgoto[] = { 938, - 1, 2, 3, 28, 29, 30, 345, 567, 351, 570, - 200, 453, 666, 124, 242, 404, 126, 127, 128, 129, - 130, 581, 131, 389, 388, 386, 677, 387, 132, 243, - 133, 134, 332, 333, 334, 562, 654, 655, 31, 195, - 785, 443, 91, 563, 639, 444, 34, 142, 288, 35, - 218, 206, 78, 201, 207, 645, 79, 566, 337, 338, - 37, 297, 298, 299, 643, 714, 668, 669, 670, 732, - 800, 843, 861, 882, 909, 864, 884, 910, 324, 210, - 679, 211, 38, 234, 236, 225, 94, 736, 354, 97, - 98, 231, 474, 475, 223, 224, 144, 681, 145, 191, - 287, 656, 657, 725, 335, 481, 578, 579, 580, 560, - 561, 789, 790, 791, 817, 838, 457, 839, 660, 792, - 793, 867, 816, 900, 891, 919, 932, 892, 794, 795, - 890, 796, 829, 852, 905, 906, 907, 930, 409, 410, - 445, 629, 446, 447, 448, 327, 328, 449, 450, 652, - 135, 40, 64, 41, 42, 43, 431, 688, 314, 603, - 803, 526, 317, 538, 605, 44, 318, 69, 45, 436, - 543, 437, 548, 695, 696, 46, 65, 304, 520, 66, - 310, 524, 432, 433, 536, 612, 807, 537, 607, 748, - 608, 749, 175, 423, 517, 518, 519, 682, 683, 306, - 425, 176, 177, 178, 179, 180, 584, 585, 672, 586, - 372, 136, 245, 485, 375, 376, 377, 137, 138, 139 +static const short yydefgoto[] = { 939, + 1, 2, 3, 28, 29, 30, 345, 568, 351, 571, + 200, 454, 667, 124, 242, 405, 126, 127, 128, 129, + 130, 582, 131, 390, 389, 387, 678, 388, 132, 243, + 133, 134, 332, 333, 334, 563, 655, 656, 31, 195, + 786, 444, 91, 564, 640, 445, 34, 142, 288, 35, + 218, 206, 78, 201, 207, 646, 79, 567, 337, 338, + 37, 297, 298, 299, 644, 715, 669, 670, 671, 733, + 801, 844, 862, 883, 910, 865, 885, 911, 324, 210, + 680, 211, 38, 234, 236, 225, 94, 737, 354, 97, + 98, 231, 475, 476, 223, 224, 144, 682, 145, 191, + 287, 657, 658, 726, 335, 482, 579, 580, 581, 561, + 368, 562, 790, 791, 792, 818, 839, 458, 840, 661, + 793, 794, 868, 817, 901, 892, 920, 933, 893, 795, + 796, 891, 797, 830, 853, 906, 907, 908, 931, 410, + 411, 446, 630, 447, 448, 449, 327, 328, 450, 451, + 653, 135, 40, 64, 41, 42, 43, 432, 689, 314, + 604, 804, 527, 317, 539, 606, 44, 318, 69, 45, + 437, 544, 438, 549, 696, 697, 46, 65, 304, 521, + 66, 310, 525, 433, 434, 537, 613, 808, 538, 608, + 749, 609, 750, 175, 424, 518, 519, 520, 683, 684, + 306, 426, 176, 177, 178, 179, 180, 585, 586, 673, + 587, 373, 136, 245, 486, 376, 377, 378, 137, 138, + 139 }; -static const short yypact[] = { 128, - 132, 2936, 2936, 108,-32768,-32768,-32768,-32768, 139, 253, - 266, 86, 103, 111,-32768, 99,-32768,-32768, 99, 99, --32768, 158, 99, 158, 99, 99,-32768,-32768,-32768,-32768, - 169, 137, 2416, 115,-32768, 197,-32768,-32768, 2936,-32768, +static const short yypact[] = { 120, + 131, 2895, 2895, 468,-32768,-32768,-32768,-32768, 98, 118, + 257, 110, 122, 132,-32768, 266,-32768,-32768, 266, 266, +-32768, 158, 266, 158, 266, 266,-32768,-32768,-32768,-32768, + 234, 153, 2375, 497,-32768, 218,-32768,-32768, 2895,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 155, 214, 210, 214, 212, 2645, - 2483, 252,-32768, 50, 3210, 3210, 151, 51,-32768,-32768, - 158,-32768, 209, 99,-32768,-32768, 169, 286,-32768, 197, - 1661,-32768, 319,-32768, 169, 115,-32768, 197,-32768,-32768, - 729,-32768,-32768, 120,-32768, 255, 277, 1592,-32768, 283, --32768,-32768,-32768,-32768,-32768,-32768, 2645, 2645, 99,-32768, --32768,-32768, 2645,-32768,-32768, 932,-32768, 288, 312, 314, --32768,-32768,-32768, 2645, 305, 311,-32768, 2699, 2753,-32768, - 3581, 622, 396, 346, 2645,-32768,-32768,-32768,-32768,-32768, - 356, 267,-32768, 359, 3364, 269,-32768, 99,-32768,-32768, +-32768,-32768,-32768,-32768, 172, 210, 203, 210, 221, 2604, + 2442, 254,-32768, 61, 3182, 3182, 81, 133,-32768,-32768, + 158,-32768, 151, 266,-32768,-32768, 234, 253,-32768, 218, + 1662,-32768, 540,-32768, 234, 497,-32768, 218,-32768,-32768, + 879,-32768,-32768, 94,-32768, 263, 289, 1593,-32768, 298, +-32768,-32768,-32768,-32768,-32768,-32768, 2604, 2604, 266,-32768, +-32768,-32768, 2604,-32768,-32768, 933,-32768, 278, 323, 326, +-32768,-32768,-32768, 2604, 331, 361,-32768, 2658, 2712,-32768, + 3553, 1169, 403, 370, 2604,-32768,-32768,-32768,-32768,-32768, + 396, 267,-32768, 402, 3336, 302,-32768, 266,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 398, 3487,-32768,-32768,-32768, 2377, 415,-32768,-32768, --32768, 99, 99, 377, 99, 99,-32768,-32768,-32768, 397, - 105, 119,-32768, 319, 169,-32768, 420,-32768, 1846, 1806, - 197,-32768,-32768, 319,-32768, 327,-32768, 197, 1759, 434, - 484, 364, 1680, 729,-32768,-32768,-32768,-32768, 197,-32768, --32768, 473, 439,-32768, 120, 448, 197,-32768,-32768, 534, - 445, 352, 3175, 214, 197, 214,-32768,-32768,-32768,-32768, - 454, 456, 472, 481, 2537, 3272, 3487, 99,-32768, 485, - 2645, 932,-32768, 932,-32768, 2645, 2645, 557,-32768,-32768, - 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, - 2645, 2645,-32768,-32768, 99, 99, 2645, 2645,-32768,-32768, --32768,-32768,-32768, 267, 1905,-32768, 562, 766,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 225,-32768, 547,-32768, - 3487,-32768, 542, 550, 624,-32768, 415,-32768, 408, 550, - 158, 560,-32768, 581, 566, 578,-32768, 581,-32768,-32768, - 484,-32768,-32768, 641, 484, 660,-32768, 3089,-32768, 602, - 614,-32768, 682, 83,-32768,-32768, 634, 197, 110, 243, --32768, 319, 319,-32768, 1806, 197,-32768, 1964,-32768,-32768, - 1806, 2645, 99, 619, 439, 627,-32768,-32768,-32768,-32768, --32768, 620,-32768, 628,-32768,-32768, 629, 633, 2297,-32768, --32768,-32768,-32768, 662, 640, 3272,-32768, 642, 644,-32768, - 3581, 648, 650, 3581, 3581, 2645, 679, 2645, 2645, 2456, - 783, 879, 1653, 1750, 760, 760, 537, 537,-32768,-32768, --32768,-32768,-32768, 652, 311, 667, 336, 245,-32768, 3108, --32768, 673,-32768, 2023,-32768, 766, 669, 269, 2807, 695, - 3300, 850,-32768,-32768, 3375, 3487,-32768,-32768, 693, 158, --32768, 718, 3011,-32768,-32768, 184, 2884, 719, 78, 707, --32768,-32768,-32768, 3450,-32768, 711, 430,-32768,-32768, 298, --32768,-32768, 76,-32768,-32768,-32768, 3469,-32768, 434,-32768, --32768, 434,-32768, 752,-32768,-32768, 708,-32768, 3581,-32768, - 197, 715,-32768, 713,-32768,-32768, 713, 197, 197,-32768, - 763,-32768,-32768,-32768, 3336,-32768,-32768, 662,-32768,-32768, --32768,-32768,-32768, 761, 2645, 1473, 1820,-32768,-32768, 562, --32768,-32768,-32768,-32768,-32768, 722,-32768,-32768, 339, 730, - 99,-32768, 2377, 740, 3119,-32768,-32768, 3450, 1778, 76, --32768, 741, 765, 76,-32768, 581,-32768, 348,-32768,-32768, --32768,-32768, 169, 137, 2416, 335,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 3506, 767,-32768,-32768, --32768, 593, 238,-32768,-32768, 3439,-32768, 834, 472,-32768, --32768,-32768, 768, 725,-32768, 839, 76,-32768,-32768, 76, --32768, 197,-32768, 257,-32768,-32768, 99, 1101, 763,-32768, - 1421, 2645, 805, 769, 3336,-32768,-32768, 1394,-32768,-32768, - 2645,-32768,-32768,-32768,-32768, 593,-32768,-32768,-32768,-32768, - 99,-32768,-32768, 790, 581,-32768, 3210, 3210, 70, 319, - 169, 3039,-32768, 459, 2902, 280, 280,-32768,-32768,-32768, - 238, 197, 340, 347, 197,-32768, 347, 197, 3108,-32768, --32768,-32768,-32768,-32768, 319,-32768, 169,-32768, 659,-32768, --32768, 3581,-32768,-32768, 839,-32768,-32768,-32768, 2645, 81, --32768, 435, 564, 1021, 780, 782, 1181,-32768,-32768,-32768, --32768,-32768, 828, 99,-32768, 833, 3581, 796, 800,-32768, - 311,-32768, 2645,-32768, 805,-32768, 2645, 427, 340, 347, - 197, 464,-32768,-32768, 515,-32768, 820, 581,-32768,-32768, --32768,-32768, 2645, 846, 804,-32768, 804, 587, 510,-32768, - 2082,-32768,-32768,-32768, 600,-32768,-32768,-32768, 501, 521, - 659,-32768,-32768, 1421,-32768, 3214, 2645,-32768,-32768, 99, --32768,-32768,-32768,-32768, 808,-32768,-32768,-32768,-32768, 2163, - 854, 1421,-32768,-32768, 1501,-32768,-32768, 1394,-32768,-32768, --32768,-32768,-32768, 593,-32768,-32768, 829, 80, 80, 3581, - 2645, 280, 598,-32768, 598,-32768,-32768, 813,-32768,-32768, - 822,-32768, 3214,-32768,-32768, 2243, 853, 842,-32768,-32768, - 843, 845, 2645, 868, 830, 831, 2591, 372, 902, 187, - 226,-32768, 873, 838,-32768, 865, 3138,-32768, 900, 1261, - 91,-32768,-32768,-32768,-32768,-32768, 2405,-32768, 869, 1581, --32768,-32768, 581,-32768,-32768,-32768,-32768,-32768, 3581,-32768, - 278,-32768,-32768,-32768, 2645, 861,-32768, 2645, 2645, 3545, --32768,-32768,-32768,-32768, 871, 2645, 872,-32768, 891,-32768, --32768,-32768, 319,-32768, 169, 1341,-32768,-32768,-32768,-32768, - 2645,-32768, 1581,-32768,-32768, 888, 877, 2645, 937,-32768, - 441, 880, 882, 2645,-32768,-32768, 885,-32768, 2645, 523, --32768, 442, 524,-32768, 663,-32768,-32768, 2243, 892,-32768, --32768,-32768, 893,-32768,-32768,-32768,-32768, 3563,-32768, 58, --32768, 1806,-32768, 1806,-32768,-32768,-32768, 887,-32768,-32768, - 2645,-32768,-32768, 947, 890,-32768,-32768,-32768,-32768,-32768, --32768, 896,-32768, 911, 60, 895,-32768,-32768, 472, 472, --32768,-32768, 2645, 947, 897, 947,-32768,-32768, 2645, 903, - 68,-32768,-32768, 907,-32768, 660, 901,-32768, 396, 429, --32768,-32768, 908, 660,-32768,-32768, 396, 984, 988,-32768 +-32768, 129, 3459,-32768,-32768,-32768, 2336, 457,-32768,-32768, +-32768, 266, 266, 449, 266, 266,-32768,-32768,-32768, 461, + 642, 54,-32768, 540, 234,-32768, 474,-32768, 1805, 683, + 218,-32768,-32768, 540,-32768, 259,-32768, 218, 1760, 526, + 529, 318, 1681, 879,-32768,-32768,-32768,-32768, 218,-32768, +-32768, 505, 470,-32768, 94, 491, 218,-32768,-32768, 525, + 486, 3078, 374, 210, 218, 210,-32768,-32768,-32768,-32768, + 490, 499, 495, 503, 2496, 3244, 3459, 266,-32768, 517, + 2604, 933,-32768, 933,-32768, 2604, 2604, 558,-32768,-32768, + 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2604, 2604, + 2604, 2604,-32768,-32768, 266, 266, 2604, 2604,-32768,-32768, +-32768,-32768,-32768, 267, 1864,-32768, 547, 711,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 29,-32768, 539,-32768, + 3459,-32768, 537, 542, 618,-32768, 457,-32768, 147, 542, + 158, 559,-32768, 574, 573, 585,-32768, 574,-32768,-32768, + 529,-32768,-32768, 635, 529, 654,-32768, 3048,-32768, 582, + 589,-32768, 276, 82,-32768,-32768, 631, 218, 269, 219, +-32768, 540, 540,-32768, 683, 218,-32768, 1923,-32768,-32768, + 683, 2604, 266, 591, 470, 595,-32768,-32768,-32768,-32768, +-32768, 592,-32768, 596,-32768,-32768,-32768, 599, 597, 2256, +-32768,-32768,-32768,-32768, 640, 606, 3244,-32768, 607, 610, +-32768, 3553, 615, 617, 3553, 3553, 2604, 656, 2604, 2604, + 2834, 2942, 880, 784, 1653, 900, 900, 478, 478,-32768, +-32768,-32768,-32768,-32768, 622, 361, 616, 456, 242,-32768, + 3067,-32768, 621,-32768, 1982,-32768, 711, 624, 302, 2766, + 632, 3272, 851,-32768,-32768, 3347, 3459,-32768,-32768, 628, + 158,-32768, 658, 2970,-32768,-32768, 347, 2843, 666, 84, + 643,-32768,-32768,-32768, 3422,-32768, 659, 327,-32768,-32768, + 176,-32768,-32768, 86,-32768,-32768,-32768, 3441,-32768, 526, +-32768,-32768, 526,-32768, 701,-32768,-32768, 660,-32768, 3553, +-32768, 218, 663,-32768, 661,-32768,-32768, 661, 218, 218, +-32768, 713,-32768,-32768,-32768, 3308,-32768,-32768, 640,-32768, +-32768,-32768,-32768,-32768, 708, 2604, 2417, 1396,-32768,-32768, + 547,-32768,-32768,-32768,-32768,-32768, 668,-32768,-32768, 211, + 681, 266,-32768, 2336, 676, 3097,-32768,-32768, 3422, 1779, + 86,-32768, 679, 700, 86,-32768, 574,-32768, 352,-32768, +-32768,-32768,-32768, 234, 153, 2375, 262,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 3478, 705,-32768, +-32768,-32768, 464, 93,-32768,-32768, 3411,-32768, 780, 495, +-32768,-32768,-32768, 707, 726,-32768, 840, 86,-32768,-32768, + 86,-32768, 218,-32768, 368,-32768,-32768, 266, 1102, 713, +-32768, 1422, 2604, 750, 706, 3308,-32768,-32768, 1475,-32768, +-32768, 2604,-32768,-32768,-32768,-32768, 464,-32768,-32768,-32768, +-32768, 266,-32768,-32768, 729, 574,-32768, 3182, 3182, 76, + 540, 234, 2998,-32768, 430, 2861, 1377, 1377,-32768,-32768, +-32768, 93, 218, 238, 330, 218,-32768, 330, 218, 3067, +-32768,-32768,-32768,-32768,-32768, 540,-32768, 234,-32768, 767, +-32768,-32768, 3553,-32768,-32768, 840,-32768,-32768,-32768, 2604, + 212,-32768, 377, 545, 1022, 716, 717, 1182,-32768,-32768, +-32768,-32768,-32768, 758, 266,-32768, 762, 3553, 735, 737, +-32768, 361,-32768, 2604,-32768, 750,-32768, 2604, 273, 238, + 330, 218, 383,-32768,-32768, 442,-32768, 760, 574,-32768, +-32768,-32768,-32768, 2604, 789, 757,-32768, 757, 588, 677, +-32768, 2041,-32768,-32768,-32768, 594,-32768,-32768,-32768, 389, + 416, 767,-32768,-32768, 1422,-32768, 3186, 2604,-32768,-32768, + 266,-32768,-32768,-32768,-32768, 764,-32768,-32768,-32768,-32768, + 2122, 808, 1422,-32768,-32768, 1502,-32768,-32768, 1475,-32768, +-32768,-32768,-32768,-32768, 464,-32768,-32768, 782, 72, 72, + 3553, 2604, 1377, 583,-32768, 583,-32768,-32768, 763,-32768, +-32768, 775,-32768, 3186,-32768,-32768, 2202, 816, 800,-32768, +-32768, 802, 813, 2604, 829, 798, 805, 2550, 429, 890, + 79, 141,-32768, 849, 824,-32768, 825, 3147,-32768, 887, + 1262, 103,-32768,-32768,-32768,-32768,-32768, 2364,-32768, 827, + 1582,-32768,-32768, 574,-32768,-32768,-32768,-32768,-32768, 3553, +-32768, 601,-32768,-32768,-32768, 2604, 848,-32768, 2604, 2604, + 3517,-32768,-32768,-32768,-32768, 831, 2604, 833,-32768, 853, +-32768,-32768,-32768, 540,-32768, 234, 1342,-32768,-32768,-32768, +-32768, 2604,-32768, 1582,-32768,-32768, 854, 845, 2604, 899, +-32768, 752, 866, 878, 2604,-32768,-32768, 881,-32768, 2604, + 432,-32768, 320, 440,-32768, 332,-32768,-32768, 2202, 883, +-32768,-32768,-32768, 889,-32768,-32768,-32768,-32768, 3535,-32768, + 52,-32768, 683,-32768, 683,-32768,-32768,-32768, 886,-32768, +-32768, 2604,-32768,-32768, 946, 891,-32768,-32768,-32768,-32768, +-32768,-32768, 892,-32768, 898, 69, 893,-32768,-32768, 495, + 495,-32768,-32768, 2604, 946, 894, 946,-32768,-32768, 2604, + 901, 145,-32768,-32768, 903,-32768, 654, 907,-32768, 403, + 303,-32768,-32768, 908, 654,-32768,-32768, 403, 970, 975, +-32768 }; static const short yypgoto[] = {-32768, --32768,-32768,-32768, 102, -367,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -9,-32768, -52, 570, -231, 533,-32768,-32768, - -45,-32768, 220,-32768,-32768,-32768,-32768,-32768, 172,-32768, - -295,-32768, -308, 661,-32768,-32768, 342,-32768, 17, -195, - 203, 16, 914,-32768, 367, 21, -11, -65, 703, 11, - -249, -574, -58, -206, -127,-32768,-32768,-32768, 196, 3, - -6,-32768, 584,-32768, 361,-32768, -607,-32768, -662,-32768, +-32768,-32768,-32768, 192, -367,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, -9,-32768, -52, 560, -231, 530,-32768,-32768, + -54,-32768, 220,-32768,-32768,-32768,-32768,-32768, 167,-32768, + -295,-32768, -312, 655,-32768,-32768, 334,-32768, 17, -195, + 193, 16, 909,-32768, 356, 21, -11, -61, 710, 11, + -276, -575, -58, -206, -118,-32768,-32768,-32768, 196, 3, + -6,-32768, 579,-32768, 357,-32768, -604,-32768, -657,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -68, -135, - -498, 14, -66,-32768,-32768,-32768,-32768,-32768, 653, 12, --32768, 776, 655, 437, 788, 664, -12, -89, -50, -168, - -232, 363,-32768,-32768, -269,-32768,-32768,-32768, 440, -290, - -205,-32768,-32768,-32768,-32768, -122, -435, -741, 366,-32768, - 148,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 153,-32768, -739, 117,-32768, 121,-32768, 643,-32768, - -351,-32768, 632, 635, 497, -307,-32768,-32768,-32768,-32768, - 18,-32768, 1033,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, -20, 4, -348, --32768, 516,-32768, 450, 310,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -306,-32768,-32768,-32768, 316, 532,-32768,-32768, --32768,-32768, -37, 762,-32768,-32768, 555,-32768, 333, 565, --32768, 658, 665, -145,-32768, -119,-32768,-32768, 409, 498, --32768,-32768,-32768,-32768,-32768,-32768, 714,-32768,-32768,-32768 + -489, 14, -66,-32768,-32768,-32768,-32768,-32768, 647, 19, +-32768, 773, 649, 433, 785, 664, -27, -79, -55, -168, + -226, 355,-32768,-32768, -285,-32768,-32768,-32768, 434, -413, +-32768, -205,-32768,-32768,-32768,-32768, -122, -415, -734, 358, +-32768, 149,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 150,-32768, -658, 105,-32768, 107,-32768, 608, +-32768, -359,-32768, 612, 633, 475, -307,-32768,-32768,-32768, +-32768, 18,-32768, 1029,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -20, 4, + -364,-32768, 513,-32768, 443, 305,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, -286,-32768,-32768,-32768, 310, 531,-32768, +-32768,-32768,-32768, -25, 753,-32768,-32768, 550,-32768, 321, + 564,-32768, 651, 652, -121,-32768, -148,-32768,-32768, 405, + 494,-32768,-32768,-32768,-32768,-32768,-32768, 714,-32768,-32768, +-32768 }; -#define YYLAST 3633 +#define YYLAST 3605 static const short yytable[] = { 55, 57, 59, 346, 72, 36, 36, 63, 125, 141, 67, - 68, 438, 343, 71, 209, 63, 74, 32, 32, 39, - 39, 86, 33, 33, 220, 70, 212, 70, 181, 92, - 439, 307, 230, 80, 339, 88, 463, 368, 415, 465, - 574, 36, 468, 87, 81, 405, 184, 232, 83, 85, - 188, 408, 286, 623, 32, 292, 39, 308, 502, 33, - 709, 237, 238, 454, 190, 532, 323, 240, 340, 100, - 70, 143, 801, 92, 70, 849, 559, 336, 249, 80, - 805, 92, 528, -112, 222, 208, 279, 80, 185, 281, - 192, 840, 455, 219, 147, 894, 197, 914, 213, 239, - 374, 50, 51, 244, 47, 926, 761, 75, 143, 186, - 14, 320, 75, 202, 407, 233, 320, 346, 717, 89, - 221, 90, 50, 51, 799, 885, 143, -1, 198, 199, - 148, -2, 187, 895, 14, 915, 296, 845, 300, 14, - 93, 50, 51, 927, 60, 898, 330, 220, 901, 841, - 903, 902, 516, 550, 76, 291, 806, 367, 911, 203, - 303, 61, 302, 77, -112, 52, 415, 230, 204, 62, - 53, 75, 311, 312, 500, 315, 316, 198, 199, 924, - 870, 205, 232, 143, 48, 49, 52, 405, 182, 614, - 935, 53, 371, 80, 322, 16, 208, 80, 14, 753, - 755, 92, 16, 459, 321, 52, 208, 462, 325, 183, - 53, 336, 92, 82, 461, 222, 219, 192, 76, 604, - 54, 220, 336, 730, -35, 406, 14, 77, 336, 600, - 488, 16, 412, 602, 378, 476, 95, 476, 379, 382, - 75, 383, 291, 143, 691, 362, 358, 364, 360, 599, - 233, 539, 540, 541, 685, 50, 51, 143, 860, 75, - 202, 542, 143, -34, 143, 402, 403, 14, 50, 51, - 16, 50, 51, 293, 294, 295, 644, 708, 96, 646, - 75, 619, 75, 202, 320, 189, 14, 626, 420, 148, - 429, 99, 766, 101, 649, 467, 621, 285, 687, 427, - 417, 347, 348, 413, 414, 418, 203, 14, 658, 14, - 146, 143, 753, 226, 70, 204, 283, 693, 460, 52, - 501, 75, 202, 484, 53, 284, 285, 754, 205, 203, - 36, 92, 52, 494, 56, 52, 77, 53, 204, 583, - 53, 208, 320, 222, 208, 208, 246, 58, 14, 220, - 671, 205, 321, 633, 227, 5, 325, 7, 290, 678, - 235, 506, 193, 9, 10, 11, 194, 307, 203, 14, - 247, 546, 248, 557, 50, 51, 14, 204, 558, 13, - 250, 747, 530, 531, 722, 283, 547, 727, 408, 713, - 205, 251, 756, 308, 284, 285, 16, -465, 700, 701, - 50, 51, 868, 341, 279, 198, 199, 342, 296, 527, - 50, 51, 36, 523, 590, 539, 540, 541, 22, 591, - 280, 826, 357, 24, 36, 606, 699, 36, -270, -270, - 363, 282, 86, 70, 289, 36, 143, 514, 52, 675, - 349, 671, 515, 53, 194, 564, 88, 143, 534, 533, - 476, 698, 309, 535, 87, 659, 301, 705, 313, 552, - 553, 713, 625, 628, 52, 500, 426, 565, 197, 53, - 381, -175, 500, 319, 52, 384, 385, -175, 326, 53, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 347, 348, 273, 274, 846, 275, 276, 277, - 278, 593, 739, 86, 933, 650, 555, 251, 352, 934, - 556, 719, 75, 619, 356, 720, 875, 88, -175, 353, - 36, 359, -175, 86, 788, 87, 539, 540, 541, 365, - 596, 366, 659, 514, 728, 80, 692, 88, 515, 14, - 743, 464, 198, 199, 744, 87, 609, 694, 694, 546, - 610, 611, 212, 367, 622, 80, 369, 291, 36, 754, - 788, 380, 616, 617, 547, 624, 627, 651, 77, 689, - 690, 469, 220, 896, 638, 897, 208, 759, 710, 635, - 637, 342, 539, 540, 541, 811, 270, 271, 272, 75, - 619, 684, 745, 320, -85, 75, 619, 760, 622, 881, - 883, 194, 75, 342, 194, 419, 320, 496, 497, 680, - -268, -268, 208, 80, 36, 92, 14, 421, 208, 208, - 413, 414, 14, 80, 609, 143, 422, 534, 533, 14, - 929, 36, 535, 424, 192, 430, 620, 208, 937, 80, - 452, 721, 620, -463, 220, 621, 285, 434, 758, 626, - 609, 621, 285, 435, 731, 346, 700, 701, 621, 285, - 253, 255, 788, 712, 216, 217, 571, 197, 104, 458, - 9, 10, 11, 575, 576, 273, 274, 784, 275, 276, - 277, 278, 331, 694, 451, -115, -115, -115, -115, 197, - 452, -115, -175, -115, -115, -115, 471, 478, -175, 486, - 622, 622, 473, 917, 918, 479, 480, 80, 482, -115, - 764, 321, 325, 784, 588, 487, 495, 490, 321, 491, - 783, 198, 199, 492, 825, 493, -115, 498, 5, 89, - 7, 90, 36, 215, 216, 217, 9, 10, 11, -175, - 9, 10, 11, -175, 507, 786, 622, 797, -115, 499, - 787, 281, 13, -115, 208, 503, 783, 680, 14, 336, - 72, 336, 847, -115, 862, 850, 853, 647, 827, 16, - 511, 216, 217, 857, 525, 86, 863, 9, 10, 11, - 529, 549, 551, 70, 70, 642, 554, 568, 869, 88, - 569, 22, 572, 573, 577, 873, 24, 87, 587, 36, - 667, 636, 833, 835, 589, 592, 880, 268, 269, 270, - 271, 272, 786, 622, 797, 784, 595, 787, 702, 703, - 704, 556, 706, 707, 321, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 208, 632, 80, 850, 640, - 601, 102, 673, 618, 634, 718, 103, 104, 865, 105, - 331, 674, 686, 5, 6, 7, 8, -304, 783, 726, - 920, 9, 10, 11, 642, -32, 850, 106, 716, 15, - 733, 107, 108, 734, 740, 741, 742, 13, 109, 14, - 735, 110, 746, 751, 752, 765, 111, 112, 113, 798, - -33, 804, 114, 115, 16, 812, 738, 116, 117, 813, - 815, 818, 118, 819, 119, 821, 822, 823, 828, 120, - 830, 762, 750, 121, 831, 836, 22, 122, 123, 848, - 641, 24, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -485, 241, 667, 102, 5, 763, 7, 140, 103, - 104, 832, 105, 9, 10, 11, 844, 856, 858, 859, - 871, 667, 872, 874, 667, 904, 876, 877, 814, 13, - 106, 879, 15, 899, 107, 108, 908, 888, 889, 913, - 809, 109, 912, 922, 110, 916, 16, 931, 925, 111, - 112, 113, 928, 939, 936, 114, 115, 940, 510, 851, - 116, 117, 820, 416, 456, 118, 723, 119, 22, 842, - 214, 508, 120, 24, 711, 715, 121, 472, 361, 648, - 122, 123, 355, -94, 477, 886, 470, 724, 661, 667, - 887, 331, 729, -124, -124, -124, -124, -124, -124, -124, - 921, -124, -124, -124, -124, -124, 923, -124, -124, -124, + 68, 416, 343, 71, 209, 63, 74, 32, 32, 39, + 39, 86, 33, 33, 220, 70, 212, 70, 308, 92, + 440, 439, 464, 80, 339, 88, 230, 369, 469, 466, + 181, 36, 232, 87, 81, 406, 184, 455, 83, 85, + 188, 503, 237, 238, 32, 307, 39, 409, 240, 33, + 710, 575, 286, 624, 190, 292, 533, 529, 340, 249, + 70, 143, 806, 92, 70, 323, 100, 336, 802, 80, + 281, 92, -112, 850, 222, 208, 560, 80, 244, 895, + 192, 456, 279, 219, 221, 75, 50, 51, 213, 239, + 50, 51, 197, 841, 418, 147, 915, 601, 143, 419, + 762, 603, 198, 199, 408, 233, -35, 346, 182, -1, + 50, 51, 14, 16, 375, 16, 143, 896, 800, 322, + -2, 50, 51, 886, 198, 199, 296, 517, 300, 183, + 416, 148, 627, 846, 916, 303, 330, 220, 807, 50, + 51, 622, 285, 899, 645, 291, 902, 647, 904, 551, + 52, 842, 302, -112, 52, 53, 912, 367, 60, 53, + 185, 230, 311, 312, 615, 315, 316, 232, -34, 54, + 61, 501, 927, 143, 52, 16, 871, 301, 406, 53, + 62, 186, 372, 80, 47, 52, 208, 80, 936, 56, + 53, 92, 16, 460, 321, 427, 208, 463, 325, 754, + 756, 336, 92, 52, 187, 222, 219, 192, 53, 379, + 928, 220, 336, 462, 383, 407, 384, 189, 336, 82, + 93, 148, 413, 903, 600, 477, 75, 477, 380, 686, + 605, 14, 291, 143, 731, 692, 358, 14, 360, 718, + 233, 558, 362, 95, 364, 489, 559, 143, 861, 50, + 51, 925, 143, 14, 143, 403, 404, 14, 50, 51, + 709, 75, 202, 421, 96, 320, 331, 347, 348, -115, + -115, -115, -115, 76, 99, -115, 591, -115, -115, -115, + 430, 592, 77, 659, 461, 468, 701, 702, 14, 428, + 414, 415, 101, -115, 50, 51, 293, 294, 295, 531, + 532, 143, 146, 767, 70, 485, 283, 502, 203, 688, + -115, 226, 754, 52, -466, 284, 285, 204, 53, 193, + 36, 92, 52, 194, 495, 341, 246, 53, 58, 342, + 205, 208, -115, 222, 208, 208, 197, -115, 740, -175, + 220, 672, 321, 251, 634, -175, 325, -115, 197, 14, + 679, -175, 507, 714, 584, 308, 227, -175, 52, 723, + 75, 202, 728, 53, 228, 235, 547, 5, 934, 7, + 140, 247, 548, 935, 248, 9, 10, 11, 198, 199, + 198, 199, 307, 757, 349, 409, -175, 14, 194, 524, + -175, 13, 748, 556, 15, 650, 250, 557, -175, 296, + 528, 279, -175, 36, 540, 541, 542, 203, 16, 540, + 541, 542, 357, 869, 543, 36, 204, 700, 36, 607, + 363, 50, 51, 86, 70, 714, 36, 143, 515, 205, + 22, 251, 672, 516, 280, 24, 565, 88, 143, 535, + 534, 477, 699, 720, 536, 87, 660, 721, 706, 744, + 553, 554, 320, 745, 676, 760, 75, 620, 566, 342, + 382, 282, 501, 626, 629, 385, 386, 289, 827, 501, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 761, 14, 309, 52, 194, 540, 541, 542, + 53, 89, 594, 90, 86, 283, 651, 693, 882, 540, + 541, 542, 342, 621, 284, 285, 884, 847, 88, 746, + 194, 36, 622, 285, 86, 789, 87, 270, 271, 272, + 313, 597, 326, 660, 515, 729, 80, 319, 88, 516, + 352, 465, 75, 202, 48, 49, 87, 610, 695, 695, + 353, 611, 612, 212, 547, 623, 80, 356, 291, 36, + 548, 789, 359, 617, 618, 365, 625, 628, 652, 14, + 897, 470, 898, 220, 366, 639, 367, 208, 370, 711, + 636, 638, 690, 691, 347, 348, 812, 198, 199, 203, + 75, 620, 685, 381, 320, -85, 75, 420, 204, 623, + 320, -268, -268, 75, 620, 414, 415, 320, 497, 498, + 681, 205, 422, 208, 80, 36, 92, 14, 423, 208, + 208, 453, 722, 14, 80, 610, 143, 425, 535, 534, + 14, 930, 36, 536, 431, 192, -464, 621, 208, 938, + 80, 701, 702, 627, 75, 220, 622, 285, 320, 759, + 755, 610, 622, 285, 435, 732, 346, 253, 255, 77, + 436, 197, 104, 789, 452, 453, 459, 572, 472, 479, + 474, 14, 483, 480, 576, 577, 481, 487, 785, 75, + 620, 488, 491, 331, 695, 492, -325, -325, -325, -325, + 493, 76, 494, 496, -325, -325, -325, 499, 500, 508, + 77, 623, 623, 504, 918, 919, 14, 512, 80, 526, + -325, 765, 321, 325, 785, 589, 216, 217, 552, 321, + 530, 784, 9, 10, 11, 826, 755, -325, 550, 5, + 89, 7, 90, 36, 555, 77, 569, 9, 10, 11, + 573, 574, 570, 281, 578, 588, 787, 623, 798, -325, + 590, 788, 596, 13, -325, 208, 593, 784, 681, 557, + 336, 72, 336, 848, -111, 863, 851, 854, 648, 828, + 16, 713, 216, 217, 858, 602, 86, 864, 9, 10, + 11, 619, 633, 635, 70, 70, 643, 674, 675, 870, + 88, 687, 22, -304, 727, -32, 874, 24, 87, 734, + 36, 668, 637, 834, 836, 273, 274, 881, 275, 276, + 277, 278, 735, 787, 623, 798, 785, 736, 788, 703, + 704, 705, 747, 707, 708, 321, 752, 876, 265, 266, + 267, 268, 269, 270, 271, 272, 208, 753, 80, 851, + 641, 766, 102, 799, 805, 813, 719, 103, 104, 866, + 105, 331, 814, -33, 5, 6, 7, 8, 816, 784, + 819, 921, 9, 10, 11, 643, 822, 851, 106, 717, + 15, 820, 107, 108, 823, 741, 742, 743, 13, 109, + 14, 824, 110, 215, 216, 217, 831, 111, 112, 113, + 9, 10, 11, 114, 115, 16, 829, 739, 116, 117, + 832, 833, 837, 118, 845, 119, 849, 857, 14, 859, + 120, 860, 763, 751, 121, 875, 872, 22, 122, 123, + 873, 642, 24, 264, 265, 266, 267, 268, 269, 270, + 271, 272, -486, 241, 668, 102, 5, 764, 7, 140, + 103, 104, 877, 105, 9, 10, 11, 268, 269, 270, + 271, 272, 668, 878, 905, 668, 914, 880, 889, 815, + 13, 106, 900, 15, 890, 107, 108, 909, 913, 940, + 923, 810, 109, 917, 941, 110, 926, 16, 929, 511, + 111, 112, 113, 932, 937, 852, 114, 115, 457, 724, + 843, 116, 117, 821, 712, 214, 118, 509, 119, 22, + 417, 473, 716, 120, 24, 361, 649, 121, 478, 355, + 725, 122, 123, 662, -94, 730, 471, 887, 888, 922, + 668, 505, 331, 924, -124, -124, -124, -124, -124, -124, + -124, 632, -124, -124, -124, -124, -124, 522, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, 631, -124, -124, 504, 521, 73, 615, 522, - -124, 810, 667, -124, 808, -124, 697, 613, -124, -124, - -124, 428, 598, 878, -124, -124, 802, 594, 512, -124, - -124, 737, 676, 0, -124, 513, -124, -124, 0, 489, - 0, -124, -124, 0, 0, -124, 0, -124, -124, -124, - -124, 653, -124, -324, -324, -324, -324, -324, -324, -324, - 0, -324, -324, -324, -324, -324, 0, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, - -324, -324, 0, -324, -324, 0, 0, 0, 0, 0, - -324, 0, 0, -324, 0, -324, 0, 0, -324, -324, - -324, 0, 0, 0, -324, -324, 0, 0, 0, -324, - -324, 0, 0, 0, -324, 0, -324, -324, 0, 0, - 0, -324, -324, 0, 0, -324, 0, -324, 0, -324, - -324, 331, -324, -324, -324, 0, 0, 0, -324, -324, - 0, -324, 0, 0, 0, -324, 0, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, 0, -324, - 0, -324, 0, -324, -324, 0, 0, 0, 0, 0, - -324, 0, 0, -324, 0, 0, 0, 0, -324, -324, - -324, 0, 0, 0, -324, -324, 0, 0, 0, -324, - -324, 0, 0, 0, -324, 0, -324, -324, 0, 0, - 0, -324, -324, 0, 0, -324, 0, -324, -300, -324, - -324, 837, -324, -324, -324, 0, 0, 0, -324, -324, - 0, -324, 0, 0, 0, -324, 0, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, 0, -324, - 0, -324, 0, -324, -324, 0, 0, 0, 0, 0, - -324, 0, 0, -324, 0, 0, 0, 0, -324, -324, - -324, 0, 0, 0, -324, -324, 0, 0, 0, -324, - -324, 0, 0, 0, -324, 0, -324, -324, 0, 0, - 0, -324, -324, 0, 0, -324, 0, -324, 0, -324, - -324, 866, -324, -334, -334, 0, 0, 0, -334, -334, - 0, -334, 0, 0, 0, -334, 0, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, 0, -334, - 0, -334, 0, -334, -334, 0, 0, 0, 0, 0, - -334, 0, 0, -334, 0, 0, 0, 0, -334, -334, - -334, 0, 0, 0, -334, -334, 0, 0, 0, -334, - -334, 0, 0, 0, -334, 0, -334, -334, 0, 0, - 0, -334, -334, 0, 0, -334, 0, -334, 0, -334, - -334, 662, -334, 663, 51, 0, 0, 0, 103, 104, - 258, 105, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 0, 0, 0, 106, - 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, - 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, - 113, 0, 0, 0, 114, 115, 0, 0, 664, 116, - 117, 0, 0, 0, 118, 0, 119, 52, 0, 0, - 0, 120, 53, 0, 0, 121, 0, 0, -203, 122, - 123, 662, 665, 663, 51, 0, 0, 0, 103, 104, - 0, 105, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 0, 0, 0, 0, 106, - 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, - 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, - 113, 0, 0, 0, 114, 115, 0, 0, 664, 116, - 117, 0, 0, 0, 118, 0, 119, 52, 0, 0, - 0, 120, 53, 0, 0, 121, 0, 0, -258, 122, - 123, 662, 665, 663, 51, 0, 0, 0, 103, 104, - 0, 105, 228, 0, 0, 5, 0, 7, 140, 0, - 0, 0, 0, 9, 10, 11, 0, 0, 0, 106, - 0, 15, 0, 107, 108, 0, 0, 0, 0, 13, - 109, 0, 15, 110, 0, 0, 0, 0, 111, 112, - 113, 0, 0, 0, 114, 115, 16, 0, 664, 116, - 117, 0, 0, 0, 118, 0, 119, 52, 0, 0, - 0, 120, 53, 0, 0, 121, 0, 0, 22, 122, - 123, 196, 665, 24, -28, -28, -28, -28, 229, -261, - 0, 0, -28, -28, -28, 0, 0, 0, 0, 0, - 350, 0, 0, -24, -24, -24, -24, 197, -28, 0, - -175, -24, -24, -24, 0, 0, -175, 265, 266, 267, - 268, 269, 270, 271, 272, -28, 197, -24, 0, -175, - 0, 0, 0, 0, 0, -175, 0, 0, 0, 198, - 199, 0, 0, 0, -24, 0, 0, -28, 0, 0, - 0, 0, -28, 0, 0, 0, 0, -175, 198, 199, - 0, -175, -28, 0, 0, 0, -24, 0, 0, 0, - 0, -24, 0, 0, 0, 0, -175, 0, 0, 344, - -175, -24, -20, -20, -20, -20, 0, 0, 0, 0, - -20, -20, -20, 0, 0, 0, 0, 0, 331, 0, - 0, -487, -487, -487, -487, 197, -20, 0, -175, -487, - -487, -487, 0, 0, -175, 266, 267, 268, 269, 270, - 271, 272, 0, -20, 0, -487, 331, -487, 0, -324, - -324, -324, -324, 0, 0, 0, 0, -324, -324, -324, - 0, 0, -487, 0, 0, -20, 0, 0, 0, 0, - -20, 0, 0, -324, 0, -175, 0, 0, 0, -175, - -20, 0, 0, 0, -487, 0, 0, 0, 102, -487, - -324, 0, 0, 103, 104, 0, 105, 0, 0, -487, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -324, 0, 106, 0, 15, -324, 107, 108, - 0, 0, 0, 0, 0, 109, 0, -111, 110, 0, - 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, - 115, 0, 0, 0, 116, 117, 0, 102, 0, 118, - 0, 119, 103, 104, 0, 105, 120, 0, 0, 0, - 121, 0, 0, 0, 122, 123, 0, 0, 329, 0, - 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, - 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, - 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, - 0, 0, 0, 116, 117, 0, 102, 0, 118, 0, + -124, -124, -124, 73, -124, -124, 616, 811, 523, 809, + 698, -124, 429, 668, -124, 803, -124, 614, 599, -124, + -124, -124, 513, 514, 879, -124, -124, 595, 738, 677, + -124, -124, 0, 0, 0, -124, 0, -124, -124, 0, + 490, 0, -124, -124, 0, 0, -124, 0, -124, -124, + -124, -124, 654, -124, -325, -325, -325, -325, -325, -325, + -325, 0, -325, -325, -325, -325, -325, 0, -325, -325, + -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, + -325, -325, -325, 0, -325, -325, 0, 0, 0, 0, + 0, -325, 0, 0, -325, 0, -325, 0, 0, -325, + -325, -325, 0, 0, 0, -325, -325, 0, 0, 0, + -325, -325, 0, 0, 0, -325, 0, -325, -325, 0, + 0, 0, -325, -325, 0, 0, -325, 0, -325, 0, + -325, -325, 331, -325, -325, -325, 0, 0, 0, -325, + -325, 0, -325, 0, 0, 0, -325, 0, -325, -325, + -325, -325, -325, -325, -325, -325, -325, -325, -325, 0, + -325, 0, -325, 0, -325, -325, 0, 0, 0, 0, + 0, -325, 273, 274, -325, 275, 276, 277, 278, -325, + -325, -325, 0, 0, 0, -325, -325, 0, 0, 0, + -325, -325, 0, 0, 0, -325, 0, -325, -325, 0, + 0, 0, -325, -325, 0, 0, -325, 0, -325, -300, + -325, -325, 838, -325, -325, -325, 0, 0, 0, -325, + -325, 0, -325, 0, 0, 0, -325, 0, -325, -325, + -325, -325, -325, -325, -325, -325, -325, -325, -325, 0, + -325, 0, -325, 0, -325, -325, 0, 0, 0, 0, + 0, -325, 0, 0, -325, 0, 0, 0, 0, -325, + -325, -325, 0, 0, 0, -325, -325, 0, 0, 0, + -325, -325, 0, 0, 0, -325, 0, -325, -325, 0, + 0, 0, -325, -325, 0, 0, -325, 0, -325, 0, + -325, -325, 867, -325, -335, -335, 0, 0, 0, -335, + -335, 0, -335, 0, 0, 0, -335, 0, -335, -335, + -335, -335, -335, -335, -335, -335, -335, -335, -335, 0, + -335, 0, -335, 0, -335, -335, 0, 0, 0, 75, + 202, -335, 0, 0, -335, 0, 0, 0, 0, -335, + -335, -335, 0, 0, 0, -335, -335, 0, 0, 0, + -335, -335, 0, 0, 0, -335, 14, -335, -335, 0, + 0, 0, -335, -335, 694, 0, -335, 0, -335, 0, + -335, -335, 663, -335, 664, 51, 203, 0, 0, 103, + 104, 0, 105, 0, 0, 204, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 205, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 0, 665, + 116, 117, 0, 0, 0, 118, 0, 119, 52, 0, + 0, 0, 120, 53, 0, 0, 121, 0, 0, -203, + 122, 123, 663, 666, 664, 51, 0, 0, 0, 103, + 104, 258, 105, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 0, 0, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 0, 665, + 116, 117, 0, 0, 0, 118, 0, 119, 52, 0, + 0, 0, 120, 53, 0, 0, 121, 0, 0, -258, + 122, 123, 663, 666, 664, 51, 0, 0, 0, 103, + 104, 0, 105, 228, 0, 0, 5, 0, 7, 140, + 0, 0, 0, 0, 9, 10, 11, 0, 0, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 13, 109, 0, 15, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 16, 0, 665, + 116, 117, 0, 0, 0, 118, 0, 119, 52, 0, + 0, 0, 120, 53, 0, 0, 121, 0, 0, 22, + 122, 123, 196, 666, 24, -28, -28, -28, -28, 229, + -261, 0, 0, -28, -28, -28, 0, 0, 0, 0, + 0, 350, 0, 0, -24, -24, -24, -24, 197, -28, + 0, -175, -24, -24, -24, 0, 0, -175, 266, 267, + 268, 269, 270, 271, 272, 0, -28, 197, -24, 0, + -175, 0, 0, 0, 0, 0, -175, 0, 0, 0, + 198, 199, 0, 0, 0, -24, 0, 0, -28, 0, + 0, 0, 0, -28, 0, 0, 0, 0, -175, 198, + 199, 0, -175, -28, 0, 0, 0, -24, 0, 0, + 0, 0, -24, 0, 0, 0, 0, -175, 0, 0, + 344, -175, -24, -20, -20, -20, -20, 0, 0, 0, + 0, -20, -20, -20, 0, 0, 0, 0, 0, 331, + 0, 0, -488, -488, -488, -488, 197, -20, 0, -175, + -488, -488, -488, 0, 0, -175, 0, 0, 0, 0, + 0, 0, 0, 0, -20, 0, -488, 102, -488, 0, + 0, 0, 103, 104, 0, 105, 0, 0, 0, 0, + 0, 0, 0, -488, 0, 0, -20, 0, 0, 0, + 0, -20, 0, 106, 0, 15, -175, 107, 108, 0, + -175, -20, 0, 0, 109, -488, 0, 110, 0, 0, + -488, 0, 111, 112, 113, 0, 0, 0, 114, 115, + -488, 0, 0, 116, 117, 0, 102, 0, 118, 0, 119, 103, 104, 0, 105, 120, 0, 0, 0, 121, - 0, 0, 0, 122, 123, 0, 0, 411, 0, 0, + 0, 0, 0, 122, 123, 0, 0, 329, 0, 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, 116, 117, 0, 102, 0, 118, 0, 119, 103, 104, 0, 105, 120, 0, 0, 0, 121, 0, - 0, 0, 122, 123, 0, 0, 466, 0, 0, 0, + 0, 0, 122, 123, 0, 0, 412, 0, 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, 116, 117, 0, 102, 0, 118, 0, 119, 103, 104, 0, 105, 120, 0, 0, 0, 121, 0, 0, - 0, 122, 123, 0, 0, 505, 0, 0, 0, 0, + 0, 122, 123, 0, 0, 467, 0, 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, - 116, 117, 0, 0, 0, 118, 0, 119, 0, 0, - 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, - 122, 123, 0, 0, 757, 663, 767, 6, 7, 8, - 103, 104, 0, 105, 9, 10, 11, 768, 0, 769, - 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, - 13, 106, 14, 15, 0, 107, 108, 0, 0, 0, - 0, 0, 109, 0, 0, 110, 0, 16, 0, 0, - 111, 112, 113, 0, 0, 0, 114, 115, 0, 0, - 0, 116, 117, 0, 0, 0, 118, 0, 119, 780, - 0, 0, 0, 120, 781, 0, 0, 121, 0, 782, - 0, 122, 123, 0, 367, 663, 51, 0, 0, 0, - 103, 104, 0, 105, 0, 0, 0, 768, 0, 769, - 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, - 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, - 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, - 111, 112, 113, 0, 0, 0, 114, 115, 0, 102, - 0, 116, 117, 0, 103, 104, 118, 105, 119, 52, - 0, 0, 0, 120, 53, 0, 0, 121, 0, 782, - 0, 122, 123, 0, 367, 106, 0, 15, 0, 107, - 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, - 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, - 114, 115, 0, 0, 0, 116, 117, 0, 0, 0, - 118, 0, 119, 0, 0, 0, 0, 120, 0, 0, - 0, 121, 0, 0, 0, 122, 123, 0, 483, 149, - 150, 0, 151, 152, 0, 0, 0, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 0, 102, 5, 6, - 7, 8, 103, 104, 172, 105, 9, 10, 11, 5, - 6, 7, 8, 0, 0, 0, 0, 9, 10, 11, - 0, 0, 13, 106, 14, 15, 0, 107, 108, 0, - 0, 0, 0, 13, 109, 14, 0, 110, 174, 16, - 0, 0, 111, 112, 113, 0, 0, 305, 114, 115, - 16, 0, 0, 116, 117, 0, 0, 0, 118, 0, - 119, 22, 0, 0, 0, 120, 24, 0, 0, 121, - 0, 0, 22, 122, 123, 102, 5, 24, 7, 140, - 103, 104, 84, 105, 9, 10, 11, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 0, 0, - 13, 106, 0, 15, 0, 107, 108, 0, 0, 0, - 0, 0, 109, 0, 0, 110, 0, 16, 0, 0, - 111, 112, 113, 0, 0, 0, 114, 115, 0, 102, - 0, 116, 117, 0, 103, 104, 118, 105, 119, 22, - 0, 0, 0, 120, 24, 0, 0, 121, 0, 0, - 0, 122, 123, 0, 0, 106, 0, 15, 0, 107, - 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, - 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, - 114, 115, 0, 102, 0, 116, 117, 0, 103, 104, - 118, 105, 119, 370, 0, 0, 0, 120, 0, 0, - 0, 121, 0, 0, 0, 122, 123, 0, 0, 106, + 116, 117, 0, 102, 0, 118, 0, 119, 103, 104, + 0, 105, 120, 0, 0, 0, 121, 0, 0, 0, + 122, 123, 0, 0, 506, 0, 0, 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, 112, - 113, 0, 0, 0, 114, 115, 0, 102, 0, 116, - 117, 0, 103, 104, 118, 105, 119, 0, 0, 0, - 0, 120, 0, 0, 0, 121, 0, 824, 0, 122, - 123, 0, 0, 106, 0, 15, 0, 107, 108, 0, - 0, 0, 0, 0, 109, 0, 0, 110, 0, 0, - 0, 0, 111, 112, 113, 0, 0, 0, 114, 115, - 0, 102, 0, 116, 117, 0, 103, 104, 118, 105, - 119, 0, 0, 0, 0, 120, 0, 0, 0, 121, - 0, 0, 0, 122, 123, 0, 0, 106, 0, 15, - 0, 107, 108, 0, 0, 0, 0, 0, 109, 0, - 0, 110, 0, 0, 0, 0, 111, 112, 113, 0, - 0, 0, 114, 115, 0, 102, 0, 252, 117, 0, - 103, 104, 118, 105, 119, 0, 0, 0, 0, 120, - 0, 0, 0, 121, 0, 0, 0, 122, 123, 0, - 0, 106, 0, 15, 0, 107, 108, 0, 0, 0, - 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, - 111, 112, 113, 0, 0, 0, 114, 115, 0, 509, - 0, 254, 117, 0, 103, 104, 118, 105, 119, 0, - 0, 0, 0, 120, 0, 0, 0, 121, 0, 0, - 0, 122, 123, 0, 0, 106, 0, 15, 0, 107, - 108, 0, 0, 0, 0, 0, 109, 0, 0, 110, - 0, 0, 0, 0, 111, 112, 113, 0, 0, 0, - 114, 115, 0, 0, 0, 116, 117, 0, 0, 0, - 118, 0, 119, 0, 0, 0, 0, 120, 0, 0, - 0, 121, 0, 0, 544, 122, 123, 5, 0, 7, - 140, 0, 0, 0, 0, 9, 10, 11, 0, 0, - 0, 0, 544, 0, 0, 5, 0, 7, 140, 0, - 0, 13, 0, 9, 10, 11, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 13, - 0, 0, 0, 0, 0, 0, 4, 0, -128, 5, - 6, 7, 8, 0, 0, 0, 16, 9, 10, 11, - 22, -439, -439, -439, 0, 24, 0, 0, 0, 0, - 545, -439, 12, 13, 0, 14, 15, 0, 22, -438, - -438, -438, 0, 24, 0, 0, 0, 0, 545, -438, - 16, 0, 0, 17, 18, -128, 0, 0, 0, 0, - 0, 0, 0, 0, -128, 0, 19, 20, 21, 0, - 0, 0, 22, 0, 0, 0, 23, 24, 25, 26, - 0, 4, 27, -128, 5, 6, 7, 8, 0, 0, - 0, 0, 9, 10, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 4, - 14, -128, 5, 6, 7, 8, 0, 0, 0, 0, - 9, 10, 11, 0, 0, 16, 0, 0, 530, 531, - -128, 0, 0, 0, 0, 0, 13, 0, 14, -128, - 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, - 0, 0, 24, 16, 0, 0, 0, 27, -128, 440, - 0, 441, 5, 6, 7, 8, 0, -128, 442, 0, - 9, 10, 11, 0, 0, 22, 0, 0, 440, 0, - 24, 5, 6, 7, 8, 27, 13, 442, 14, 9, - 10, 11, 5, 6, 7, 8, 0, 0, 0, 0, - 9, 10, 11, 16, 0, 13, 0, 14, 0, 0, - 0, 5, 6, 7, 8, 0, 13, 0, 14, 9, - 10, 11, 16, 0, 0, 22, 0, 0, 0, 0, - 24, 0, 0, 16, -384, 13, 0, 14, 0, 0, - 0, 0, 0, 0, 22, 228, 0, 0, 5, 24, - 7, 140, 16, -384, 0, 22, 9, 10, 11, 0, - 24, 0, 0, 0, 0, 597, 0, 0, 0, 0, - 0, 0, 13, 0, 22, 15, 0, 0, 0, 24, - 0, 0, 149, 150, 834, 151, 152, 0, 0, 16, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 0, - 0, 22, 0, 14, 0, 0, 24, 172, 256, 257, - 258, 0, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 0, 0, 173, 0, + 113, 0, 0, 0, 114, 115, 0, 0, 0, 116, + 117, 0, 0, 0, 118, 0, 119, 0, 0, 0, + 0, 120, 0, 0, 0, 121, 0, 0, 0, 122, + 123, 0, 0, 758, 664, 768, 6, 7, 8, 103, + 104, 0, 105, 9, 10, 11, 769, 0, 770, 771, + 772, 773, 774, 775, 776, 777, 778, 779, 780, 13, + 106, 14, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 16, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, + 116, 117, 0, 0, 0, 118, 0, 119, 781, 0, + 0, 0, 120, 782, 0, 0, 121, 0, 783, 0, + 122, 123, 0, 367, 664, 51, 0, 0, 0, 103, + 104, 0, 105, 0, 0, 0, 769, 0, 770, 771, + 772, 773, 774, 775, 776, 777, 778, 779, 780, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 102, 0, + 116, 117, 0, 103, 104, 118, 105, 119, 52, 0, + 0, 0, 120, 53, 0, 0, 121, 0, 783, 0, + 122, 123, 0, 367, 106, 0, 15, 0, 107, 108, + 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, + 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, + 115, 0, 0, 0, 116, 117, 0, 0, 0, 118, + 0, 119, 0, 0, 0, 0, 120, 0, 0, 0, + 121, 0, 0, 0, 122, 123, 0, 484, 149, 150, + 0, 151, 152, 0, 0, 0, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 0, 102, 5, 6, 7, + 8, 103, 104, 172, 105, 9, 10, 11, 5, 6, + 7, 8, 0, 0, 0, 0, 9, 10, 11, 0, + 0, 13, 106, 14, 15, 0, 107, 108, 0, 0, + 0, 0, 13, 109, 14, 0, 110, 174, 16, 0, + 0, 111, 112, 113, 0, 0, 305, 114, 115, 16, + 0, 0, 116, 117, 0, 0, 0, 118, 0, 119, + 22, 0, 0, 0, 120, 24, 0, 0, 121, 0, + 0, 22, 122, 123, 102, 5, 24, 7, 140, 103, + 104, 84, 105, 9, 10, 11, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 13, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 16, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 102, 0, + 116, 117, 0, 103, 104, 118, 105, 119, 22, 0, + 0, 0, 120, 24, 0, 0, 121, 0, 0, 0, + 122, 123, 0, 0, 106, 0, 15, 0, 107, 108, + 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, + 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, + 115, 0, 102, 0, 116, 117, 0, 103, 104, 118, + 105, 119, 371, 0, 0, 0, 120, 0, 0, 0, + 121, 0, 0, 0, 122, 123, 0, 0, 106, 0, + 15, 0, 107, 108, 0, 0, 0, 0, 0, 109, + 0, 0, 110, 0, 0, 0, 0, 111, 112, 113, + 0, 0, 0, 114, 115, 0, 102, 0, 116, 117, + 0, 103, 104, 118, 105, 119, 0, 0, 0, 0, + 120, 0, 0, 0, 121, 0, 825, 0, 122, 123, + 0, 0, 106, 0, 15, 0, 107, 108, 0, 0, + 0, 0, 0, 109, 0, 0, 110, 0, 0, 0, + 0, 111, 112, 113, 0, 0, 0, 114, 115, 0, + 102, 0, 116, 117, 0, 103, 104, 118, 105, 119, + 0, 0, 0, 0, 120, 0, 0, 0, 121, 0, + 0, 0, 122, 123, 0, 0, 106, 0, 15, 0, + 107, 108, 0, 0, 0, 0, 0, 109, 0, 0, + 110, 0, 0, 0, 0, 111, 112, 113, 0, 0, + 0, 114, 115, 0, 102, 0, 252, 117, 0, 103, + 104, 118, 105, 119, 0, 0, 0, 0, 120, 0, + 0, 0, 121, 0, 0, 0, 122, 123, 0, 0, + 106, 0, 15, 0, 107, 108, 0, 0, 0, 0, + 0, 109, 0, 0, 110, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 0, 114, 115, 0, 510, 0, + 254, 117, 0, 103, 104, 118, 105, 119, 0, 0, + 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, + 122, 123, 0, 0, 106, 0, 15, 0, 107, 108, + 0, 0, 0, 0, 0, 109, 0, 0, 110, 0, + 0, 0, 0, 111, 112, 113, 0, 0, 0, 114, + 115, 0, 0, 0, 116, 117, 0, 0, 0, 118, + 0, 119, 0, 0, 0, 0, 120, 0, 0, 0, + 121, 0, 0, 545, 122, 123, 5, 0, 7, 140, + 0, 0, 0, 0, 9, 10, 11, 0, 0, 0, + 0, 545, 0, 0, 5, 0, 7, 140, 0, 0, + 13, 0, 9, 10, 11, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 0, 16, 13, 0, + 0, 0, 0, 0, 0, 4, 0, -128, 5, 6, + 7, 8, 0, 0, 0, 16, 9, 10, 11, 22, + -440, -440, -440, 0, 24, 0, 0, 0, 0, 546, + -440, 12, 13, 0, 14, 15, 0, 22, -439, -439, + -439, 0, 24, 0, 0, 0, 0, 546, -439, 16, + 0, 0, 17, 18, -128, 0, 0, 0, 0, 0, + 0, 0, 0, -128, 0, 19, 20, 21, 0, 0, + 0, 22, 0, 0, 0, 23, 24, 25, 26, 0, + 4, 27, -128, 5, 6, 7, 8, 0, 0, 0, + 0, 9, 10, 11, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 0, 0, 0, 13, 4, 14, + -128, 5, 6, 7, 8, 0, 0, 0, 0, 9, + 10, 11, 0, 0, 16, 0, 0, 531, 532, -128, + 0, 0, 0, 0, 0, 13, 0, 14, -128, 0, + 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, + 0, 24, 16, 0, 0, 0, 27, -128, 441, 0, + 442, 5, 6, 7, 8, 0, -128, 443, 0, 9, + 10, 11, 0, 0, 22, 0, 0, 441, 0, 24, + 5, 6, 7, 8, 27, 13, 443, 14, 9, 10, + 11, 5, 0, 7, 290, 0, 0, 0, 0, 9, + 10, 11, 16, 0, 13, 0, 14, 0, 0, 0, + 5, 6, 7, 8, 0, 13, 0, 0, 9, 10, + 11, 16, 0, 0, 22, 0, 0, 0, 0, 24, + 0, 0, 16, -385, 13, 0, 14, 0, 0, 0, + 0, 0, 0, 22, 0, 0, 0, 0, 24, 0, + 0, 16, -385, 0, 22, 0, 0, 0, 0, 24, + 5, 6, 7, 8, -270, -270, 0, 0, 9, 10, + 11, 0, 0, 22, 0, 0, 0, 0, 24, 0, + 0, 0, 0, 598, 13, 0, 14, 0, 0, 0, 0, 0, 0, 0, 149, 150, 0, 151, 152, 0, - 0, 174, 153, 154, 155, 156, 157, 158, 159, 160, + 0, 16, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 0, 149, 150, 0, 151, 152, 0, 0, 373, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 149, 150, - 0, 151, 152, 174, 0, 0, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 0, 0, 5, 0, 7, - 290, 174, 0, 582, 0, 9, 10, 11, 5, 6, - 7, 8, 0, 0, 442, 0, 9, 10, 11, 0, - 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 13, 0, 14, 0, 0, 174, 16, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 16, - 0, 0, 284, 285, 0, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 0, 24, 0, 0, 0, 0, - 0, 22, 5, 6, 7, 8, 24, 0, 630, 0, - 9, 10, 11, 5, 6, 7, 8, 0, 0, 0, - 0, 9, 10, 11, 0, 0, 13, 0, 14, 0, - 0, 0, 5, 6, 7, 8, 0, 13, 0, 14, - 9, 10, 11, 16, 0, 0, 0, 0, 0, 0, - 5, 0, 7, 140, 16, 0, 13, 0, 9, 10, - 11, 0, 0, 0, 0, 22, 0, 0, 0, 5, - 24, 7, 290, 16, 13, 0, 22, 9, 10, 11, - 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 0, 13, 0, 22, 0, 0, 0, 0, + 171, 0, 0, 22, 0, 14, 0, 0, 24, 172, + 256, 257, 258, 835, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 0, 0, + 173, 0, 0, 0, 0, 0, 149, 150, 0, 151, + 152, 0, 0, 174, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 0, 149, 150, 0, 151, 152, 0, + 0, 374, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 149, 150, 0, 151, 152, 174, 0, 0, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 0, 0, 5, + 0, 7, 290, 174, 0, 583, 0, 9, 10, 11, + 5, 6, 7, 8, 0, 0, 443, 0, 9, 10, + 11, 0, 0, 13, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 13, 0, 14, 0, 0, 174, + 16, 0, 0, 0, 0, 283, 0, 0, 0, 0, + 0, 16, 0, 0, 284, 285, 0, 0, 0, 0, + 0, 0, 22, 0, 0, 0, 0, 24, 0, 0, + 0, 0, 0, 22, 5, 6, 7, 8, 24, 0, + 631, 0, 9, 10, 11, 5, 6, 7, 8, 0, + 0, 0, 0, 9, 10, 11, 0, 0, 13, 0, + 14, 0, 0, 0, 5, 6, 7, 8, 0, 13, + 0, 14, 9, 10, 11, 16, 0, 0, 0, 0, + 0, 0, 5, 0, 7, 140, 16, 0, 13, 0, + 9, 10, 11, 0, 0, 0, 0, 22, 0, 0, + 0, 5, 24, 7, 290, 16, 13, 0, 22, 9, + 10, 11, 0, 24, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 13, 0, 22, 0, 0, + 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 22, 855, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 0, 0, 22, 854, 0, 0, 0, 24, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 22, 0, 0, 0, 0, 24, 0, 256, - 257, 258, 855, 259, 260, 261, 262, 263, 264, 265, + 0, 0, 0, 0, 22, 0, 0, 0, 0, 24, + 0, 256, 257, 258, 856, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 256, + 257, 258, 894, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 256, 257, 258, - 893, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 256, 257, 258, 0, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272 + 0, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272 }; static const short yycheck[] = { 9, 10, 11, 209, 24, 2, 3, 16, 60, 61, 19, - 20, 318, 208, 23, 83, 25, 26, 2, 3, 2, - 3, 33, 2, 3, 91, 22, 85, 24, 66, 36, - 326, 177, 98, 31, 203, 33, 345, 243, 288, 347, - 476, 39, 351, 33, 31, 277, 67, 98, 32, 33, - 71, 284, 142, 552, 39, 145, 39, 177, 410, 39, - 635, 107, 108, 333, 74, 433, 194, 113, 204, 58, - 67, 61, 735, 80, 71, 817, 1, 200, 124, 77, - 1, 88, 431, 1, 94, 83, 9, 85, 38, 135, - 77, 1, 10, 91, 45, 38, 27, 38, 85, 109, - 246, 3, 4, 116, 3, 38, 714, 3, 98, 59, - 30, 7, 3, 4, 283, 98, 7, 324, 38, 5, - 1, 7, 3, 4, 732, 867, 116, 0, 59, 60, - 81, 0, 82, 76, 30, 76, 146, 800, 148, 30, - 39, 3, 4, 76, 59, 887, 199, 214, 890, 59, - 892, 891, 422, 76, 50, 145, 77, 82, 900, 50, - 173, 59, 172, 59, 82, 67, 416, 233, 59, 59, - 72, 3, 182, 183, 407, 185, 186, 59, 60, 919, - 843, 72, 233, 173, 77, 78, 67, 419, 38, 538, - 932, 72, 245, 191, 76, 45, 194, 195, 30, 698, - 699, 208, 45, 339, 191, 67, 204, 343, 195, 59, - 72, 334, 219, 77, 342, 225, 214, 204, 50, 526, - 82, 288, 345, 659, 38, 278, 30, 59, 351, 520, - 376, 45, 285, 524, 247, 358, 82, 360, 248, 252, - 3, 254, 232, 233, 612, 234, 230, 236, 232, 519, - 233, 68, 69, 70, 603, 3, 4, 247, 833, 3, - 4, 78, 252, 38, 254, 275, 276, 30, 3, 4, - 45, 3, 4, 5, 6, 7, 567, 629, 65, 570, - 3, 4, 3, 4, 7, 77, 30, 50, 301, 81, - 311, 82, 728, 82, 38, 348, 59, 60, 605, 309, - 76, 59, 60, 59, 60, 81, 50, 30, 578, 30, - 59, 301, 811, 59, 311, 59, 50, 38, 76, 67, - 76, 3, 4, 369, 72, 59, 60, 50, 72, 50, - 328, 338, 67, 386, 82, 67, 59, 72, 59, 485, - 72, 339, 7, 353, 342, 343, 59, 82, 30, 416, - 582, 72, 339, 559, 78, 4, 343, 6, 7, 591, - 78, 414, 77, 12, 13, 14, 81, 513, 50, 30, - 59, 437, 59, 76, 3, 4, 30, 59, 81, 28, - 76, 688, 48, 49, 654, 50, 437, 657, 621, 639, - 72, 81, 700, 513, 59, 60, 45, 63, 59, 60, - 3, 4, 838, 77, 9, 59, 60, 81, 418, 430, - 3, 4, 410, 426, 76, 68, 69, 70, 67, 81, - 75, 50, 227, 72, 422, 78, 622, 425, 77, 78, - 235, 76, 444, 430, 76, 433, 426, 422, 67, 585, - 77, 673, 422, 72, 81, 457, 444, 437, 433, 433, - 573, 620, 38, 433, 444, 578, 59, 626, 82, 443, - 444, 711, 552, 553, 67, 698, 59, 457, 27, 72, - 251, 30, 705, 77, 67, 256, 257, 36, 59, 72, + 20, 288, 208, 23, 83, 25, 26, 2, 3, 2, + 3, 33, 2, 3, 91, 22, 85, 24, 177, 36, + 326, 318, 345, 31, 203, 33, 98, 243, 351, 347, + 66, 39, 98, 33, 31, 277, 67, 333, 32, 33, + 71, 411, 107, 108, 39, 177, 39, 284, 113, 39, + 636, 477, 142, 553, 74, 145, 434, 432, 204, 124, + 67, 61, 1, 80, 71, 194, 58, 200, 736, 77, + 135, 88, 1, 818, 94, 83, 1, 85, 116, 38, + 77, 10, 9, 91, 1, 3, 3, 4, 85, 109, + 3, 4, 27, 1, 76, 45, 38, 521, 98, 81, + 715, 525, 59, 60, 283, 98, 38, 324, 38, 0, + 3, 4, 30, 45, 246, 45, 116, 76, 733, 76, + 0, 3, 4, 868, 59, 60, 146, 423, 148, 59, + 417, 81, 50, 801, 76, 173, 199, 214, 77, 3, + 4, 59, 60, 888, 568, 145, 891, 571, 893, 76, + 67, 59, 172, 82, 67, 72, 901, 82, 59, 72, + 38, 233, 182, 183, 539, 185, 186, 233, 38, 82, + 59, 408, 38, 173, 67, 45, 844, 59, 420, 72, + 59, 59, 245, 191, 3, 67, 194, 195, 933, 82, + 72, 208, 45, 339, 191, 59, 204, 343, 195, 699, + 700, 334, 219, 67, 82, 225, 214, 204, 72, 247, + 76, 288, 345, 342, 252, 278, 254, 77, 351, 77, + 39, 81, 285, 892, 520, 358, 3, 360, 248, 604, + 527, 30, 232, 233, 660, 613, 230, 30, 232, 38, + 233, 76, 234, 82, 236, 377, 81, 247, 834, 3, + 4, 920, 252, 30, 254, 275, 276, 30, 3, 4, + 630, 3, 4, 301, 65, 7, 1, 59, 60, 4, + 5, 6, 7, 50, 82, 10, 76, 12, 13, 14, + 311, 81, 59, 579, 76, 348, 59, 60, 30, 309, + 59, 60, 82, 28, 3, 4, 5, 6, 7, 48, + 49, 301, 59, 729, 311, 370, 50, 76, 50, 606, + 45, 59, 812, 67, 63, 59, 60, 59, 72, 77, + 328, 338, 67, 81, 387, 77, 59, 72, 82, 81, + 72, 339, 67, 353, 342, 343, 27, 72, 76, 30, + 417, 583, 339, 81, 560, 36, 343, 82, 27, 30, + 592, 30, 415, 640, 486, 514, 78, 36, 67, 655, + 3, 4, 658, 72, 1, 78, 438, 4, 76, 6, + 7, 59, 438, 81, 59, 12, 13, 14, 59, 60, + 59, 60, 514, 701, 77, 622, 77, 30, 81, 427, + 81, 28, 689, 77, 31, 38, 76, 81, 77, 419, + 431, 9, 81, 411, 68, 69, 70, 50, 45, 68, + 69, 70, 227, 839, 78, 423, 59, 623, 426, 78, + 235, 3, 4, 445, 431, 712, 434, 427, 423, 72, + 67, 81, 674, 423, 75, 72, 458, 445, 438, 434, + 434, 574, 621, 77, 434, 445, 579, 81, 627, 77, + 444, 445, 7, 81, 586, 77, 3, 4, 458, 81, + 251, 76, 699, 553, 554, 256, 257, 76, 50, 706, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 59, 60, 54, 55, 803, 57, 58, 59, - 60, 511, 76, 515, 76, 574, 77, 81, 36, 81, - 81, 77, 3, 4, 67, 81, 76, 515, 77, 81, - 518, 77, 81, 535, 730, 515, 68, 69, 70, 76, - 514, 76, 655, 518, 657, 533, 78, 535, 518, 30, - 77, 346, 59, 60, 81, 535, 533, 616, 617, 615, - 534, 535, 611, 82, 552, 553, 76, 547, 556, 50, - 766, 77, 546, 547, 615, 552, 553, 577, 59, 607, - 608, 352, 639, 882, 564, 884, 574, 77, 637, 563, - 564, 81, 68, 69, 70, 754, 50, 51, 52, 3, - 4, 601, 78, 7, 38, 3, 4, 77, 596, 77, - 77, 81, 3, 81, 81, 59, 7, 388, 389, 596, - 77, 78, 610, 611, 612, 622, 30, 76, 616, 617, - 59, 60, 30, 621, 611, 615, 77, 612, 612, 30, - 926, 629, 612, 10, 621, 76, 50, 635, 934, 637, - 77, 78, 50, 63, 711, 59, 60, 82, 701, 50, - 637, 59, 60, 76, 664, 862, 59, 60, 59, 60, - 128, 129, 868, 5, 6, 7, 471, 27, 9, 36, - 12, 13, 14, 478, 479, 54, 55, 730, 57, 58, - 59, 60, 1, 752, 83, 4, 5, 6, 7, 27, - 77, 10, 30, 12, 13, 14, 78, 78, 36, 38, - 698, 699, 76, 909, 910, 78, 78, 705, 76, 28, - 720, 698, 699, 766, 495, 76, 38, 76, 705, 76, - 730, 59, 60, 76, 777, 76, 45, 76, 4, 5, - 6, 7, 730, 5, 6, 7, 12, 13, 14, 77, - 12, 13, 14, 81, 76, 730, 744, 730, 67, 83, - 730, 797, 28, 72, 752, 83, 766, 744, 30, 882, - 781, 884, 815, 82, 833, 818, 819, 572, 778, 45, - 76, 6, 7, 826, 82, 787, 835, 12, 13, 14, - 63, 63, 76, 780, 781, 566, 76, 36, 841, 787, - 83, 67, 78, 81, 32, 848, 72, 787, 38, 797, - 581, 77, 786, 787, 83, 76, 859, 48, 49, 50, - 51, 52, 797, 811, 797, 868, 77, 797, 623, 624, - 625, 81, 627, 628, 811, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 833, 3, 835, 891, 1, - 76, 3, 38, 77, 77, 650, 8, 9, 835, 11, - 1, 83, 63, 4, 5, 6, 7, 78, 868, 78, - 913, 12, 13, 14, 645, 38, 919, 29, 649, 31, - 38, 33, 34, 78, 679, 680, 681, 28, 40, 30, - 81, 43, 63, 38, 81, 78, 48, 49, 50, 36, - 38, 63, 54, 55, 45, 83, 677, 59, 60, 78, - 59, 59, 64, 59, 66, 38, 77, 77, 7, 71, - 38, 716, 693, 75, 77, 16, 67, 79, 80, 59, - 82, 72, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 82, 1, 714, 3, 4, 717, 6, 7, 8, - 9, 77, 11, 12, 13, 14, 78, 77, 77, 59, - 63, 732, 76, 17, 735, 9, 77, 76, 763, 28, - 29, 77, 31, 77, 33, 34, 77, 76, 76, 59, - 751, 40, 77, 77, 43, 81, 45, 77, 76, 48, - 49, 50, 76, 0, 77, 54, 55, 0, 419, 818, - 59, 60, 773, 291, 334, 64, 655, 66, 67, 797, - 87, 418, 71, 72, 638, 645, 75, 355, 233, 573, - 79, 80, 225, 82, 360, 868, 353, 655, 579, 800, - 868, 1, 657, 3, 4, 5, 6, 7, 8, 9, - 914, 11, 12, 13, 14, 15, 916, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 556, 33, 34, 413, 425, 25, 543, 425, - 40, 752, 843, 43, 749, 45, 617, 536, 48, 49, - 50, 310, 518, 854, 54, 55, 744, 513, 421, 59, - 60, 673, 585, -1, 64, 421, 66, 67, -1, 376, - -1, 71, 72, -1, -1, 75, -1, 77, 78, 79, - 80, 1, 82, 3, 4, 5, 6, 7, 8, 9, - -1, 11, 12, 13, 14, 15, -1, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, 45, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, 77, -1, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, -1, -1, -1, 15, -1, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, 77, 78, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, -1, -1, -1, 15, -1, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, 77, -1, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, -1, -1, -1, 15, -1, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, 77, -1, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - 37, 11, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, -1, 78, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, -1, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, -1, 78, 79, - 80, 1, 82, 3, 4, -1, -1, -1, 8, 9, - -1, 11, 1, -1, -1, 4, -1, 6, 7, -1, - -1, -1, -1, 12, 13, 14, -1, -1, -1, 29, - -1, 31, -1, 33, 34, -1, -1, -1, -1, 28, - 40, -1, 31, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, 45, -1, 58, 59, - 60, -1, -1, -1, 64, -1, 66, 67, -1, -1, - -1, 71, 72, -1, -1, 75, -1, -1, 67, 79, - 80, 1, 82, 72, 4, 5, 6, 7, 77, 78, - -1, -1, 12, 13, 14, -1, -1, -1, -1, -1, - 1, -1, -1, 4, 5, 6, 7, 27, 28, -1, - 30, 12, 13, 14, -1, -1, 36, 45, 46, 47, - 48, 49, 50, 51, 52, 45, 27, 28, -1, 30, - -1, -1, -1, -1, -1, 36, -1, -1, -1, 59, - 60, -1, -1, -1, 45, -1, -1, 67, -1, -1, - -1, -1, 72, -1, -1, -1, -1, 77, 59, 60, - -1, 81, 82, -1, -1, -1, 67, -1, -1, -1, - -1, 72, -1, -1, -1, -1, 77, -1, -1, 1, - 81, 82, 4, 5, 6, 7, -1, -1, -1, -1, - 12, 13, 14, -1, -1, -1, -1, -1, 1, -1, - -1, 4, 5, 6, 7, 27, 28, -1, 30, 12, - 13, 14, -1, -1, 36, 46, 47, 48, 49, 50, - 51, 52, -1, 45, -1, 28, 1, 30, -1, 4, - 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, - -1, -1, 45, -1, -1, 67, -1, -1, -1, -1, - 72, -1, -1, 28, -1, 77, -1, -1, -1, 81, - 82, -1, -1, -1, 67, -1, -1, -1, 3, 72, - 45, -1, -1, 8, 9, -1, 11, -1, -1, 82, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 67, -1, 29, -1, 31, 72, 33, 34, - -1, -1, -1, -1, -1, 40, -1, 82, 43, -1, - -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, - 55, -1, -1, -1, 59, 60, -1, 3, -1, 64, - -1, 66, 8, 9, -1, 11, 71, -1, -1, -1, - 75, -1, -1, -1, 79, 80, -1, -1, 83, -1, - -1, -1, -1, 29, -1, 31, -1, 33, 34, -1, - -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, - -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, - -1, -1, -1, 59, 60, -1, 3, -1, 64, -1, + 271, 272, 77, 30, 38, 67, 81, 68, 69, 70, + 72, 5, 512, 7, 516, 50, 575, 78, 77, 68, + 69, 70, 81, 50, 59, 60, 77, 804, 516, 78, + 81, 519, 59, 60, 536, 731, 516, 50, 51, 52, + 82, 515, 59, 656, 519, 658, 534, 77, 536, 519, + 36, 346, 3, 4, 77, 78, 536, 534, 617, 618, + 81, 535, 536, 612, 616, 553, 554, 67, 548, 557, + 616, 767, 77, 547, 548, 76, 553, 554, 578, 30, + 883, 352, 885, 640, 76, 565, 82, 575, 76, 638, + 564, 565, 608, 609, 59, 60, 755, 59, 60, 50, + 3, 4, 602, 77, 7, 38, 3, 59, 59, 597, + 7, 77, 78, 3, 4, 59, 60, 7, 389, 390, + 597, 72, 76, 611, 612, 613, 623, 30, 77, 617, + 618, 77, 78, 30, 622, 612, 616, 10, 613, 613, + 30, 927, 630, 613, 76, 622, 63, 50, 636, 935, + 638, 59, 60, 50, 3, 712, 59, 60, 7, 702, + 50, 638, 59, 60, 82, 665, 863, 128, 129, 59, + 76, 27, 9, 869, 83, 77, 36, 472, 78, 78, + 76, 30, 76, 78, 479, 480, 78, 38, 731, 3, + 4, 76, 76, 1, 753, 76, 4, 5, 6, 7, + 76, 50, 76, 38, 12, 13, 14, 76, 83, 76, + 59, 699, 700, 83, 910, 911, 30, 76, 706, 82, + 28, 721, 699, 700, 767, 496, 6, 7, 76, 706, + 63, 731, 12, 13, 14, 778, 50, 45, 63, 4, + 5, 6, 7, 731, 76, 59, 36, 12, 13, 14, + 78, 81, 83, 798, 32, 38, 731, 745, 731, 67, + 83, 731, 77, 28, 72, 753, 76, 767, 745, 81, + 883, 782, 885, 816, 82, 834, 819, 820, 573, 779, + 45, 5, 6, 7, 827, 76, 788, 836, 12, 13, + 14, 77, 3, 77, 781, 782, 567, 38, 83, 842, + 788, 63, 67, 78, 78, 38, 849, 72, 788, 38, + 798, 582, 77, 787, 788, 54, 55, 860, 57, 58, + 59, 60, 78, 798, 812, 798, 869, 81, 798, 624, + 625, 626, 63, 628, 629, 812, 38, 76, 45, 46, + 47, 48, 49, 50, 51, 52, 834, 81, 836, 892, + 1, 78, 3, 36, 63, 83, 651, 8, 9, 836, + 11, 1, 78, 38, 4, 5, 6, 7, 59, 869, + 59, 914, 12, 13, 14, 646, 38, 920, 29, 650, + 31, 59, 33, 34, 77, 680, 681, 682, 28, 40, + 30, 77, 43, 5, 6, 7, 38, 48, 49, 50, + 12, 13, 14, 54, 55, 45, 7, 678, 59, 60, + 77, 77, 16, 64, 78, 66, 59, 77, 30, 77, + 71, 59, 717, 694, 75, 17, 63, 67, 79, 80, + 76, 82, 72, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 82, 1, 715, 3, 4, 718, 6, 7, + 8, 9, 77, 11, 12, 13, 14, 48, 49, 50, + 51, 52, 733, 76, 9, 736, 59, 77, 76, 764, + 28, 29, 77, 31, 76, 33, 34, 77, 77, 0, + 77, 752, 40, 81, 0, 43, 76, 45, 76, 420, + 48, 49, 50, 77, 77, 819, 54, 55, 334, 656, + 798, 59, 60, 774, 639, 87, 64, 419, 66, 67, + 291, 355, 646, 71, 72, 233, 574, 75, 360, 225, + 656, 79, 80, 580, 82, 658, 353, 869, 869, 915, + 801, 414, 1, 917, 3, 4, 5, 6, 7, 8, + 9, 557, 11, 12, 13, 14, 15, 426, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 25, 33, 34, 544, 753, 426, 750, + 618, 40, 310, 844, 43, 745, 45, 537, 519, 48, + 49, 50, 422, 422, 855, 54, 55, 514, 674, 586, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + 377, -1, 71, 72, -1, -1, 75, -1, 77, 78, + 79, 80, 1, 82, 3, 4, 5, 6, 7, 8, + 9, -1, 11, 12, 13, 14, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, -1, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, -1, -1, -1, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, 54, 55, 43, 57, 58, 59, 60, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, 78, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, -1, -1, -1, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, -1, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, -1, -1, -1, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, 3, + 4, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, 30, 66, 67, -1, + -1, -1, 71, 72, 38, -1, 75, -1, 77, -1, + 79, 80, 1, 82, 3, 4, 50, -1, -1, 8, + 9, -1, 11, -1, -1, 59, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 72, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, 58, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, -1, 78, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, 37, 11, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, 58, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, -1, 78, + 79, 80, 1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, 1, -1, -1, 4, -1, 6, 7, + -1, -1, -1, -1, 12, 13, 14, -1, -1, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + 28, 40, -1, 31, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, 45, -1, 58, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, -1, 67, + 79, 80, 1, 82, 72, 4, 5, 6, 7, 77, + 78, -1, -1, 12, 13, 14, -1, -1, -1, -1, + -1, 1, -1, -1, 4, 5, 6, 7, 27, 28, + -1, 30, 12, 13, 14, -1, -1, 36, 46, 47, + 48, 49, 50, 51, 52, -1, 45, 27, 28, -1, + 30, -1, -1, -1, -1, -1, 36, -1, -1, -1, + 59, 60, -1, -1, -1, 45, -1, -1, 67, -1, + -1, -1, -1, 72, -1, -1, -1, -1, 77, 59, + 60, -1, 81, 82, -1, -1, -1, 67, -1, -1, + -1, -1, 72, -1, -1, -1, -1, 77, -1, -1, + 1, 81, 82, 4, 5, 6, 7, -1, -1, -1, + -1, 12, 13, 14, -1, -1, -1, -1, -1, 1, + -1, -1, 4, 5, 6, 7, 27, 28, -1, 30, + 12, 13, 14, -1, -1, 36, -1, -1, -1, -1, + -1, -1, -1, -1, 45, -1, 28, 3, 30, -1, + -1, -1, 8, 9, -1, 11, -1, -1, -1, -1, + -1, -1, -1, 45, -1, -1, 67, -1, -1, -1, + -1, 72, -1, 29, -1, 31, 77, 33, 34, -1, + 81, 82, -1, -1, 40, 67, -1, 43, -1, -1, + 72, -1, 48, 49, 50, -1, -1, -1, 54, 55, + 82, -1, -1, 59, 60, -1, 3, -1, 64, -1, 66, 8, 9, -1, 11, 71, -1, -1, -1, 75, -1, -1, -1, 79, 80, -1, -1, 83, -1, -1, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, @@ -1498,156 +1493,163 @@ static const short yycheck[] = { 9, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, - 59, 60, -1, -1, -1, 64, -1, 66, -1, -1, - -1, -1, 71, -1, -1, -1, 75, -1, -1, -1, - 79, 80, -1, -1, 83, 3, 4, 5, 6, 7, - 8, 9, -1, 11, 12, 13, 14, 15, -1, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, - -1, 59, 60, -1, -1, -1, 64, -1, 66, 67, - -1, -1, -1, 71, 72, -1, -1, 75, -1, 77, - -1, 79, 80, -1, 82, 3, 4, -1, -1, -1, - 8, 9, -1, 11, -1, -1, -1, 15, -1, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, 3, - -1, 59, 60, -1, 8, 9, 64, 11, 66, 67, - -1, -1, -1, 71, 72, -1, -1, 75, -1, 77, - -1, 79, 80, -1, 82, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 60, -1, -1, -1, - 64, -1, 66, -1, -1, -1, -1, 71, -1, -1, - -1, 75, -1, -1, -1, 79, 80, -1, 82, 3, - 4, -1, 6, 7, -1, -1, -1, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 3, 4, 5, - 6, 7, 8, 9, 38, 11, 12, 13, 14, 4, - 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, - -1, -1, 28, 29, 30, 31, -1, 33, 34, -1, - -1, -1, -1, 28, 40, 30, -1, 43, 72, 45, - -1, -1, 48, 49, 50, -1, -1, 81, 54, 55, - 45, -1, -1, 59, 60, -1, -1, -1, 64, -1, - 66, 67, -1, -1, -1, 71, 72, -1, -1, 75, - -1, -1, 67, 79, 80, 3, 4, 72, 6, 7, - 8, 9, 77, 11, 12, 13, 14, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, - 28, 29, -1, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, 3, - -1, 59, 60, -1, 8, 9, 64, 11, 66, 67, - -1, -1, -1, 71, 72, -1, -1, 75, -1, -1, - -1, 79, 80, -1, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, 3, -1, 59, 60, -1, 8, 9, - 64, 11, 66, 67, -1, -1, -1, 71, -1, -1, - -1, 75, -1, -1, -1, 79, 80, -1, -1, 29, + 59, 60, -1, 3, -1, 64, -1, 66, 8, 9, + -1, 11, 71, -1, -1, -1, 75, -1, -1, -1, + 79, 80, -1, -1, 83, -1, -1, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, -1, 3, -1, 59, - 60, -1, 8, 9, 64, 11, 66, -1, -1, -1, - -1, 71, -1, -1, -1, 75, -1, 77, -1, 79, - 80, -1, -1, 29, -1, 31, -1, 33, 34, -1, - -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, - -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, - -1, 3, -1, 59, 60, -1, 8, 9, 64, 11, - 66, -1, -1, -1, -1, 71, -1, -1, -1, 75, - -1, -1, -1, 79, 80, -1, -1, 29, -1, 31, - -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, - -1, -1, 54, 55, -1, 3, -1, 59, 60, -1, - 8, 9, 64, 11, 66, -1, -1, -1, -1, 71, - -1, -1, -1, 75, -1, -1, -1, 79, 80, -1, - -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, 3, - -1, 59, 60, -1, 8, 9, 64, 11, 66, -1, - -1, -1, -1, 71, -1, -1, -1, 75, -1, -1, - -1, 79, 80, -1, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 60, -1, -1, -1, - 64, -1, 66, -1, -1, -1, -1, 71, -1, -1, - -1, 75, -1, -1, 1, 79, 80, 4, -1, 6, - 7, -1, -1, -1, -1, 12, 13, 14, -1, -1, - -1, -1, 1, -1, -1, 4, -1, 6, 7, -1, - -1, 28, -1, 12, 13, 14, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 45, 28, - -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, - 5, 6, 7, -1, -1, -1, 45, 12, 13, 14, - 67, 68, 69, 70, -1, 72, -1, -1, -1, -1, - 77, 78, 27, 28, -1, 30, 31, -1, 67, 68, - 69, 70, -1, 72, -1, -1, -1, -1, 77, 78, - 45, -1, -1, 48, 49, 50, -1, -1, -1, -1, - -1, -1, -1, -1, 59, -1, 61, 62, 63, -1, - -1, -1, 67, -1, -1, -1, 71, 72, 73, 74, - -1, 1, 77, 3, 4, 5, 6, 7, -1, -1, - -1, -1, 12, 13, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 28, 1, - 30, 3, 4, 5, 6, 7, -1, -1, -1, -1, - 12, 13, 14, -1, -1, 45, -1, -1, 48, 49, - 50, -1, -1, -1, -1, -1, 28, -1, 30, 59, - -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, - -1, -1, 72, 45, -1, -1, -1, 77, 50, 1, - -1, 3, 4, 5, 6, 7, -1, 59, 10, -1, - 12, 13, 14, -1, -1, 67, -1, -1, 1, -1, - 72, 4, 5, 6, 7, 77, 28, 10, 30, 12, - 13, 14, 4, 5, 6, 7, -1, -1, -1, -1, - 12, 13, 14, 45, -1, 28, -1, 30, -1, -1, - -1, 4, 5, 6, 7, -1, 28, -1, 30, 12, - 13, 14, 45, -1, -1, 67, -1, -1, -1, -1, - 72, -1, -1, 45, 76, 28, -1, 30, -1, -1, - -1, -1, -1, -1, 67, 1, -1, -1, 4, 72, - 6, 7, 45, 76, -1, 67, 12, 13, 14, -1, - 72, -1, -1, -1, -1, 77, -1, -1, -1, -1, - -1, -1, 28, -1, 67, 31, -1, -1, -1, 72, - -1, -1, 3, 4, 77, 6, 7, -1, -1, 45, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, - -1, 67, -1, 30, -1, -1, 72, 38, 35, 36, - 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, -1, 59, -1, - -1, -1, -1, -1, 3, 4, -1, 6, 7, -1, - -1, 72, 11, 12, 13, 14, 15, 16, 17, 18, + 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, + 60, -1, -1, -1, 64, -1, 66, -1, -1, -1, + -1, 71, -1, -1, -1, 75, -1, -1, -1, 79, + 80, -1, -1, 83, 3, 4, 5, 6, 7, 8, + 9, -1, 11, 12, 13, 14, 15, -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 3, 4, -1, 6, 7, -1, -1, 38, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, - -1, -1, -1, -1, -1, -1, -1, 38, 3, 4, - -1, 6, 7, 72, -1, -1, 11, 12, 13, 14, + 29, 30, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, -1, + 79, 80, -1, 82, 3, 4, -1, -1, -1, 8, + 9, -1, 11, -1, -1, -1, 15, -1, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, 3, -1, + 59, 60, -1, 8, 9, 64, 11, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, 77, -1, + 79, 80, -1, 82, 29, -1, 31, -1, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, -1, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, -1, -1, 71, -1, -1, -1, + 75, -1, -1, -1, 79, 80, -1, 82, 3, 4, + -1, 6, 7, -1, -1, -1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, -1, -1, 4, -1, 6, - 7, 72, -1, 38, -1, 12, 13, 14, 4, 5, - 6, 7, -1, -1, 10, -1, 12, 13, 14, -1, - -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 28, -1, 30, -1, -1, 72, 45, -1, - -1, -1, -1, 50, -1, -1, -1, -1, -1, 45, - -1, -1, 59, 60, -1, -1, -1, -1, -1, -1, - 67, -1, -1, -1, -1, 72, -1, -1, -1, -1, - -1, 67, 4, 5, 6, 7, 72, -1, 10, -1, - 12, 13, 14, 4, 5, 6, 7, -1, -1, -1, - -1, 12, 13, 14, -1, -1, 28, -1, 30, -1, - -1, -1, 4, 5, 6, 7, -1, 28, -1, 30, - 12, 13, 14, 45, -1, -1, -1, -1, -1, -1, - 4, -1, 6, 7, 45, -1, 28, -1, 12, 13, - 14, -1, -1, -1, -1, 67, -1, -1, -1, 4, - 72, 6, 7, 45, 28, -1, 67, 12, 13, 14, - -1, 72, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 45, -1, 28, -1, 67, -1, -1, -1, -1, + 25, 26, 27, 28, 29, -1, 3, 4, 5, 6, + 7, 8, 9, 38, 11, 12, 13, 14, 4, 5, + 6, 7, -1, -1, -1, -1, 12, 13, 14, -1, + -1, 28, 29, 30, 31, -1, 33, 34, -1, -1, + -1, -1, 28, 40, 30, -1, 43, 72, 45, -1, + -1, 48, 49, 50, -1, -1, 81, 54, 55, 45, + -1, -1, 59, 60, -1, -1, -1, 64, -1, 66, + 67, -1, -1, -1, 71, 72, -1, -1, 75, -1, + -1, 67, 79, 80, 3, 4, 72, 6, 7, 8, + 9, 77, 11, 12, 13, 14, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 28, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, 3, -1, + 59, 60, -1, 8, 9, 64, 11, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, -1, -1, + 79, 80, -1, -1, 29, -1, 31, -1, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, 3, -1, 59, 60, -1, 8, 9, 64, + 11, 66, 67, -1, -1, -1, 71, -1, -1, -1, + 75, -1, -1, -1, 79, 80, -1, -1, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, 3, -1, 59, 60, + -1, 8, 9, 64, 11, 66, -1, -1, -1, -1, + 71, -1, -1, -1, 75, -1, 77, -1, 79, 80, + -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, + -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, + 3, -1, 59, 60, -1, 8, 9, 64, 11, 66, + -1, -1, -1, -1, 71, -1, -1, -1, 75, -1, + -1, -1, 79, 80, -1, -1, 29, -1, 31, -1, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, + -1, 54, 55, -1, 3, -1, 59, 60, -1, 8, + 9, 64, 11, 66, -1, -1, -1, -1, 71, -1, + -1, -1, 75, -1, -1, -1, 79, 80, -1, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, 3, -1, + 59, 60, -1, 8, 9, 64, 11, 66, -1, -1, + -1, -1, 71, -1, -1, -1, 75, -1, -1, -1, + 79, 80, -1, -1, 29, -1, 31, -1, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, -1, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, -1, -1, 71, -1, -1, -1, + 75, -1, -1, 1, 79, 80, 4, -1, 6, 7, + -1, -1, -1, -1, 12, 13, 14, -1, -1, -1, + -1, 1, -1, -1, 4, -1, 6, 7, -1, -1, + 28, -1, 12, 13, 14, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, -1, 45, 28, -1, + -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, + 6, 7, -1, -1, -1, 45, 12, 13, 14, 67, + 68, 69, 70, -1, 72, -1, -1, -1, -1, 77, + 78, 27, 28, -1, 30, 31, -1, 67, 68, 69, + 70, -1, 72, -1, -1, -1, -1, 77, 78, 45, + -1, -1, 48, 49, 50, -1, -1, -1, -1, -1, + -1, -1, -1, 59, -1, 61, 62, 63, -1, -1, + -1, 67, -1, -1, -1, 71, 72, 73, 74, -1, + 1, 77, 3, 4, 5, 6, 7, -1, -1, -1, + -1, 12, 13, 14, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, -1, -1, -1, 28, 1, 30, + 3, 4, 5, 6, 7, -1, -1, -1, -1, 12, + 13, 14, -1, -1, 45, -1, -1, 48, 49, 50, + -1, -1, -1, -1, -1, 28, -1, 30, 59, -1, + -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, + -1, 72, 45, -1, -1, -1, 77, 50, 1, -1, + 3, 4, 5, 6, 7, -1, 59, 10, -1, 12, + 13, 14, -1, -1, 67, -1, -1, 1, -1, 72, + 4, 5, 6, 7, 77, 28, 10, 30, 12, 13, + 14, 4, -1, 6, 7, -1, -1, -1, -1, 12, + 13, 14, 45, -1, 28, -1, 30, -1, -1, -1, + 4, 5, 6, 7, -1, 28, -1, -1, 12, 13, + 14, 45, -1, -1, 67, -1, -1, -1, -1, 72, + -1, -1, 45, 76, 28, -1, 30, -1, -1, -1, + -1, -1, -1, 67, -1, -1, -1, -1, 72, -1, + -1, 45, 76, -1, 67, -1, -1, -1, -1, 72, + 4, 5, 6, 7, 77, 78, -1, -1, 12, 13, + 14, -1, -1, 67, -1, -1, -1, -1, 72, -1, + -1, -1, -1, 77, 28, -1, 30, -1, -1, -1, + -1, -1, -1, -1, 3, 4, -1, 6, 7, -1, + -1, 45, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, -1, -1, 67, -1, 30, -1, -1, 72, 38, + 35, 36, 37, 77, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, + 59, -1, -1, -1, -1, -1, 3, 4, -1, 6, + 7, -1, -1, 72, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, -1, 3, 4, -1, 6, 7, -1, + -1, 38, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, -1, -1, -1, -1, -1, -1, -1, -1, 38, + 3, 4, -1, 6, 7, 72, -1, -1, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, -1, -1, 4, + -1, 6, 7, 72, -1, 38, -1, 12, 13, 14, + 4, 5, 6, 7, -1, -1, 10, -1, 12, 13, + 14, -1, -1, 28, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 28, -1, 30, -1, -1, 72, + 45, -1, -1, -1, -1, 50, -1, -1, -1, -1, + -1, 45, -1, -1, 59, 60, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, 72, -1, -1, + -1, -1, -1, 67, 4, 5, 6, 7, 72, -1, + 10, -1, 12, 13, 14, 4, 5, 6, 7, -1, + -1, -1, -1, 12, 13, 14, -1, -1, 28, -1, + 30, -1, -1, -1, 4, 5, 6, 7, -1, 28, + -1, 30, 12, 13, 14, 45, -1, -1, -1, -1, + -1, -1, 4, -1, 6, 7, 45, -1, 28, -1, + 12, 13, 14, -1, -1, -1, -1, 67, -1, -1, + -1, 4, 72, 6, 7, 45, 28, -1, 67, 12, + 13, 14, -1, 72, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 45, -1, 28, -1, 67, -1, -1, + -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 45, -1, -1, 67, 10, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 45, -1, -1, 67, 10, -1, -1, -1, 72, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, 72, -1, 35, + -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, + -1, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 35, 36, 37, -1, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52 + -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/local/share/bison.simple" @@ -2142,14 +2144,14 @@ yyreduce: switch (yyn) { case 1: -#line 237 "objc-parse.y" +#line 240 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids an empty source file"); finish_file (); ; break;} case 2: -#line 242 "objc-parse.y" +#line 245 "objc-parse.y" { /* In case there were missing closebraces, get us back to the global binding level. */ @@ -2159,15 +2161,15 @@ case 2: ; break;} case 3: -#line 256 "objc-parse.y" +#line 259 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} case 5: -#line 257 "objc-parse.y" +#line 260 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} case 10: -#line 265 "objc-parse.y" +#line 268 "objc-parse.y" { STRIP_NOPS (yyvsp[-2].ttype); if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST) @@ -2177,11 +2179,11 @@ case 10: error ("argument of `asm' is not a constant string"); ; break;} case 11: -#line 273 "objc-parse.y" +#line 276 "objc-parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 12: -#line 278 "objc-parse.y" +#line 281 "objc-parse.y" { if (pedantic) error ("ANSI C forbids data definition with no type or storage class"); else if (!flag_traditional) @@ -2193,45 +2195,45 @@ case 12: resume_momentary (yyvsp[-2].itype); ; break;} case 13: -#line 288 "objc-parse.y" +#line 291 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 14: -#line 293 "objc-parse.y" +#line 296 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 15: -#line 298 "objc-parse.y" +#line 301 "objc-parse.y" { pedwarn ("empty declaration"); ; break;} case 16: -#line 300 "objc-parse.y" +#line 303 "objc-parse.y" { shadow_tag (yyvsp[-1].ttype); ; break;} case 19: -#line 304 "objc-parse.y" +#line 307 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C does not allow extra `;' outside of a function"); ; break;} case 20: -#line 310 "objc-parse.y" +#line 313 "objc-parse.y" { if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 0)) YYERROR1; reinit_parse_for_function (); ; break;} case 21: -#line 315 "objc-parse.y" +#line 318 "objc-parse.y" { store_parm_decls (); ; break;} case 22: -#line 317 "objc-parse.y" +#line 320 "objc-parse.y" { finish_function (0); current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -2239,25 +2241,25 @@ case 22: resume_momentary (yyvsp[-5].itype); ; break;} case 23: -#line 323 "objc-parse.y" +#line 326 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 24: -#line 328 "objc-parse.y" +#line 331 "objc-parse.y" { if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 0)) YYERROR1; reinit_parse_for_function (); ; break;} case 25: -#line 333 "objc-parse.y" +#line 336 "objc-parse.y" { store_parm_decls (); ; break;} case 26: -#line 335 "objc-parse.y" +#line 338 "objc-parse.y" { finish_function (0); current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -2265,25 +2267,25 @@ case 26: resume_momentary (yyvsp[-5].itype); ; break;} case 27: -#line 341 "objc-parse.y" +#line 344 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 28: -#line 346 "objc-parse.y" +#line 349 "objc-parse.y" { if (! start_function (NULL_TREE, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 0)) YYERROR1; reinit_parse_for_function (); ; break;} case 29: -#line 351 "objc-parse.y" +#line 354 "objc-parse.y" { store_parm_decls (); ; break;} case 30: -#line 353 "objc-parse.y" +#line 356 "objc-parse.y" { finish_function (0); current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -2291,72 +2293,72 @@ case 30: resume_momentary (yyvsp[-5].itype); ; break;} case 31: -#line 359 "objc-parse.y" +#line 362 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 36: -#line 373 "objc-parse.y" +#line 376 "objc-parse.y" { yyval.code = ADDR_EXPR; ; break;} case 37: -#line 375 "objc-parse.y" +#line 378 "objc-parse.y" { yyval.code = NEGATE_EXPR; ; break;} case 38: -#line 377 "objc-parse.y" +#line 380 "objc-parse.y" { yyval.code = CONVERT_EXPR; ; break;} case 39: -#line 379 "objc-parse.y" +#line 382 "objc-parse.y" { yyval.code = PREINCREMENT_EXPR; ; break;} case 40: -#line 381 "objc-parse.y" +#line 384 "objc-parse.y" { yyval.code = PREDECREMENT_EXPR; ; break;} case 41: -#line 383 "objc-parse.y" +#line 386 "objc-parse.y" { yyval.code = BIT_NOT_EXPR; ; break;} case 42: -#line 385 "objc-parse.y" +#line 388 "objc-parse.y" { yyval.code = TRUTH_NOT_EXPR; ; break;} case 43: -#line 389 "objc-parse.y" +#line 392 "objc-parse.y" { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ; break;} case 44: -#line 394 "objc-parse.y" +#line 397 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 46: -#line 400 "objc-parse.y" +#line 403 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 47: -#line 402 "objc-parse.y" +#line 405 "objc-parse.y" { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 49: -#line 408 "objc-parse.y" +#line 411 "objc-parse.y" { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ; break;} case 50: -#line 411 "objc-parse.y" +#line 414 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 51: -#line 414 "objc-parse.y" +#line 417 "objc-parse.y" { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); overflow_warning (yyval.ttype); ; break;} case 52: -#line 418 "objc-parse.y" +#line 421 "objc-parse.y" { tree label = lookup_label (yyvsp[0].ttype); if (pedantic) pedwarn ("ANSI C forbids `&&'"); @@ -2371,57 +2373,57 @@ case 52: ; break;} case 53: -#line 446 "objc-parse.y" +#line 449 "objc-parse.y" { skip_evaluation--; if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF - && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) + && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) error ("`sizeof' applied to a bit-field"); yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ; break;} case 54: -#line 452 "objc-parse.y" +#line 455 "objc-parse.y" { skip_evaluation--; yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ; break;} case 55: -#line 455 "objc-parse.y" +#line 458 "objc-parse.y" { skip_evaluation--; yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ; break;} case 56: -#line 458 "objc-parse.y" +#line 461 "objc-parse.y" { skip_evaluation--; yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ; break;} case 57: -#line 461 "objc-parse.y" +#line 464 "objc-parse.y" { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ; break;} case 58: -#line 463 "objc-parse.y" +#line 466 "objc-parse.y" { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ; break;} case 59: -#line 467 "objc-parse.y" +#line 470 "objc-parse.y" { skip_evaluation++; ; break;} case 60: -#line 471 "objc-parse.y" +#line 474 "objc-parse.y" { skip_evaluation++; ; break;} case 62: -#line 477 "objc-parse.y" +#line 480 "objc-parse.y" { tree type = groktypename (yyvsp[-2].ttype); yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ; break;} case 63: -#line 480 "objc-parse.y" +#line 483 "objc-parse.y" { start_init (NULL_TREE, NULL, 0); yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype); really_start_incremental_init (yyvsp[-2].ttype); ; break;} case 64: -#line 484 "objc-parse.y" +#line 487 "objc-parse.y" { char *name; tree result = pop_init_level (0); tree type = yyvsp[-5].ttype; @@ -2448,90 +2450,90 @@ case 64: ; break;} case 66: -#line 513 "objc-parse.y" +#line 516 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 67: -#line 515 "objc-parse.y" +#line 518 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 68: -#line 517 "objc-parse.y" +#line 520 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 69: -#line 519 "objc-parse.y" +#line 522 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 70: -#line 521 "objc-parse.y" +#line 524 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 71: -#line 523 "objc-parse.y" +#line 526 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 72: -#line 525 "objc-parse.y" +#line 528 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 73: -#line 527 "objc-parse.y" +#line 530 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 74: -#line 529 "objc-parse.y" +#line 532 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 75: -#line 531 "objc-parse.y" +#line 534 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 76: -#line 533 "objc-parse.y" +#line 536 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 77: -#line 535 "objc-parse.y" +#line 538 "objc-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 78: -#line 537 "objc-parse.y" +#line 540 "objc-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} case 79: -#line 540 "objc-parse.y" +#line 543 "objc-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node; yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 80: -#line 543 "objc-parse.y" +#line 546 "objc-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} case 81: -#line 546 "objc-parse.y" +#line 549 "objc-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node; yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 82: -#line 549 "objc-parse.y" +#line 552 "objc-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} case 83: -#line 552 "objc-parse.y" +#line 555 "objc-parse.y" { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node) - (yyvsp[-4].ttype == boolean_false_node)); ; break;} case 84: -#line 555 "objc-parse.y" +#line 558 "objc-parse.y" { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 85: -#line 558 "objc-parse.y" +#line 561 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids omitting the middle term of a ?: expression"); /* Make sure first operand is calculated only once. */ @@ -2540,23 +2542,23 @@ case 85: skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} case 86: -#line 565 "objc-parse.y" +#line 568 "objc-parse.y" { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 87: -#line 568 "objc-parse.y" +#line 571 "objc-parse.y" { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} case 88: -#line 571 "objc-parse.y" +#line 574 "objc-parse.y" { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); /* This inhibits warnings in truthvalue_conversion. */ C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ; break;} case 89: -#line 578 "objc-parse.y" +#line 581 "objc-parse.y" { yyval.ttype = lastiddecl; if (!yyval.ttype || yyval.ttype == error_mark_node) @@ -2717,11 +2719,11 @@ case 89: ; break;} case 91: -#line 738 "objc-parse.y" +#line 741 "objc-parse.y" { yyval.ttype = combine_strings (yyvsp[0].ttype); ; break;} case 92: -#line 740 "objc-parse.y" +#line 743 "objc-parse.y" { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)); if (class == 'e' || class == '1' || class == '2' || class == '<') @@ -2729,11 +2731,11 @@ case 92: yyval.ttype = yyvsp[-1].ttype; ; break;} case 93: -#line 746 "objc-parse.y" +#line 749 "objc-parse.y" { yyval.ttype = error_mark_node; ; break;} case 94: -#line 748 "objc-parse.y" +#line 751 "objc-parse.y" { if (current_function_decl == 0) { error ("braced-group within expression allowed only inside a function"); @@ -2749,7 +2751,7 @@ case 94: yyval.ttype = expand_start_stmt_expr (); ; break;} case 95: -#line 762 "objc-parse.y" +#line 765 "objc-parse.y" { tree rtl_exp; if (pedantic) pedwarn ("ANSI C forbids braced-groups within expressions"); @@ -2774,15 +2776,15 @@ case 95: ; break;} case 96: -#line 785 "objc-parse.y" +#line 788 "objc-parse.y" { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 97: -#line 787 "objc-parse.y" +#line 790 "objc-parse.y" { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 98: -#line 789 "objc-parse.y" +#line 792 "objc-parse.y" { if (doing_objc_thang) { @@ -2796,7 +2798,7 @@ case 98: ; break;} case 99: -#line 801 "objc-parse.y" +#line 804 "objc-parse.y" { tree expr = build_indirect_ref (yyvsp[-2].ttype, "->"); @@ -2812,80 +2814,80 @@ case 99: ; break;} case 100: -#line 815 "objc-parse.y" +#line 818 "objc-parse.y" { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} case 101: -#line 817 "objc-parse.y" +#line 820 "objc-parse.y" { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} case 102: -#line 819 "objc-parse.y" +#line 822 "objc-parse.y" { yyval.ttype = build_message_expr (yyvsp[0].ttype); ; break;} case 103: -#line 821 "objc-parse.y" +#line 824 "objc-parse.y" { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ; break;} case 104: -#line 823 "objc-parse.y" +#line 826 "objc-parse.y" { yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ; break;} case 105: -#line 825 "objc-parse.y" +#line 828 "objc-parse.y" { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ; break;} case 106: -#line 827 "objc-parse.y" +#line 830 "objc-parse.y" { yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ; break;} case 108: -#line 834 "objc-parse.y" +#line 837 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 110: -#line 842 "objc-parse.y" +#line 845 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 113: -#line 850 "objc-parse.y" +#line 853 "objc-parse.y" { c_mark_varargs (); if (pedantic) pedwarn ("ANSI C does not permit use of `varargs.h'"); ; break;} case 114: -#line 860 "objc-parse.y" +#line 863 "objc-parse.y" { ; break;} case 119: -#line 876 "objc-parse.y" +#line 879 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 120: -#line 881 "objc-parse.y" +#line 884 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 121: -#line 886 "objc-parse.y" +#line 889 "objc-parse.y" { shadow_tag_warned (yyvsp[-1].ttype, 1); pedwarn ("empty declaration"); ; break;} case 122: -#line 889 "objc-parse.y" +#line 892 "objc-parse.y" { pedwarn ("empty declaration"); ; break;} case 123: -#line 898 "objc-parse.y" +#line 901 "objc-parse.y" { ; break;} case 128: -#line 913 "objc-parse.y" +#line 916 "objc-parse.y" { yyval.itype = suspend_momentary (); pending_xref_error (); declspec_stack = tree_cons (prefix_attributes, @@ -2895,131 +2897,131 @@ case 128: ¤t_declspecs, &prefix_attributes); ; break;} case 129: -#line 924 "objc-parse.y" +#line 927 "objc-parse.y" { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ; break;} case 130: -#line 929 "objc-parse.y" +#line 932 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 131: -#line 934 "objc-parse.y" +#line 937 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} case 132: -#line 939 "objc-parse.y" +#line 942 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} case 133: -#line 944 "objc-parse.y" +#line 947 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} case 134: -#line 949 "objc-parse.y" +#line 952 "objc-parse.y" { shadow_tag (yyvsp[-1].ttype); ; break;} case 135: -#line 951 "objc-parse.y" +#line 954 "objc-parse.y" { pedwarn ("empty declaration"); ; break;} case 136: -#line 953 "objc-parse.y" +#line 956 "objc-parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 137: -#line 963 "objc-parse.y" +#line 966 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 138: -#line 965 "objc-parse.y" +#line 968 "objc-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ; break;} case 139: -#line 969 "objc-parse.y" +#line 972 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 140: -#line 971 "objc-parse.y" +#line 974 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 141: -#line 973 "objc-parse.y" +#line 976 "objc-parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 142: -#line 978 "objc-parse.y" +#line 981 "objc-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 143: -#line 983 "objc-parse.y" +#line 986 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 144: -#line 985 "objc-parse.y" +#line 988 "objc-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ; break;} case 145: -#line 990 "objc-parse.y" +#line 993 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 146: -#line 992 "objc-parse.y" +#line 995 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 147: -#line 994 "objc-parse.y" +#line 997 "objc-parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 148: -#line 1007 "objc-parse.y" +#line 1010 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 149: -#line 1009 "objc-parse.y" +#line 1012 "objc-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 150: -#line 1011 "objc-parse.y" +#line 1014 "objc-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 151: -#line 1013 "objc-parse.y" +#line 1016 "objc-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 152: -#line 1018 "objc-parse.y" +#line 1021 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); TREE_STATIC (yyval.ttype) = 1; ; break;} case 153: -#line 1021 "objc-parse.y" +#line 1024 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 154: -#line 1023 "objc-parse.y" +#line 1026 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 155: -#line 1026 "objc-parse.y" +#line 1029 "objc-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); @@ -3027,150 +3029,150 @@ case 155: TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 156: -#line 1040 "objc-parse.y" +#line 1043 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 157: -#line 1042 "objc-parse.y" +#line 1045 "objc-parse.y" { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ; break;} case 158: -#line 1046 "objc-parse.y" +#line 1049 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 159: -#line 1048 "objc-parse.y" +#line 1051 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 162: -#line 1058 "objc-parse.y" +#line 1061 "objc-parse.y" { /* For a typedef name, record the meaning, not the name. In case of `foo foo, bar;'. */ yyval.ttype = lookup_name (yyvsp[0].ttype); ; break;} case 163: -#line 1062 "objc-parse.y" +#line 1065 "objc-parse.y" { yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 164: -#line 1064 "objc-parse.y" +#line 1067 "objc-parse.y" { yyval.ttype = get_object_reference (yyvsp[0].ttype); ; break;} case 165: -#line 1069 "objc-parse.y" +#line 1072 "objc-parse.y" { yyval.ttype = get_object_reference (yyvsp[0].ttype); ; break;} case 166: -#line 1071 "objc-parse.y" +#line 1074 "objc-parse.y" { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ; break;} case 167: -#line 1073 "objc-parse.y" +#line 1076 "objc-parse.y" { yyval.ttype = groktypename (yyvsp[-1].ttype); ; break;} case 175: -#line 1095 "objc-parse.y" +#line 1098 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 176: -#line 1097 "objc-parse.y" +#line 1100 "objc-parse.y" { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; break;} case 177: -#line 1104 "objc-parse.y" +#line 1107 "objc-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, yyvsp[-1].ttype, prefix_attributes); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} case 178: -#line 1109 "objc-parse.y" +#line 1112 "objc-parse.y" { finish_init (); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} case 179: -#line 1112 "objc-parse.y" +#line 1115 "objc-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, yyvsp[0].ttype, prefix_attributes); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} case 180: -#line 1120 "objc-parse.y" +#line 1123 "objc-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, yyvsp[-1].ttype, prefix_attributes); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} case 181: -#line 1125 "objc-parse.y" +#line 1128 "objc-parse.y" { finish_init (); decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} case 182: -#line 1129 "objc-parse.y" +#line 1132 "objc-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, yyvsp[0].ttype, prefix_attributes); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} case 183: -#line 1137 "objc-parse.y" +#line 1140 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 184: -#line 1139 "objc-parse.y" +#line 1142 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 185: -#line 1144 "objc-parse.y" +#line 1147 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 186: -#line 1146 "objc-parse.y" +#line 1149 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 187: -#line 1151 "objc-parse.y" +#line 1154 "objc-parse.y" { yyval.ttype = yyvsp[-2].ttype; ; break;} case 188: -#line 1156 "objc-parse.y" +#line 1159 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 189: -#line 1158 "objc-parse.y" +#line 1161 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 190: -#line 1163 "objc-parse.y" +#line 1166 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 191: -#line 1165 "objc-parse.y" +#line 1168 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; break;} case 192: -#line 1167 "objc-parse.y" +#line 1170 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; break;} case 193: -#line 1169 "objc-parse.y" +#line 1172 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; break;} case 194: -#line 1171 "objc-parse.y" +#line 1174 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 200: -#line 1189 "objc-parse.y" +#line 1192 "objc-parse.y" { really_start_incremental_init (NULL_TREE); /* Note that the call to clear_momentary is in process_init_element. */ push_momentary (); ; break;} case 201: -#line 1194 "objc-parse.y" +#line 1197 "objc-parse.y" { yyval.ttype = pop_init_level (0); if (yyval.ttype == error_mark_node && ! (yychar == STRING || yychar == CONSTANT)) @@ -3179,36 +3181,36 @@ case 201: pop_momentary_nofree (); ; break;} case 202: -#line 1202 "objc-parse.y" +#line 1205 "objc-parse.y" { yyval.ttype = error_mark_node; ; break;} case 203: -#line 1208 "objc-parse.y" +#line 1211 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids empty initializer braces"); ; break;} case 207: -#line 1222 "objc-parse.y" +#line 1225 "objc-parse.y" { process_init_element (yyvsp[0].ttype); ; break;} case 208: -#line 1224 "objc-parse.y" +#line 1227 "objc-parse.y" { push_init_level (0); ; break;} case 209: -#line 1226 "objc-parse.y" +#line 1229 "objc-parse.y" { process_init_element (pop_init_level (0)); ; break;} case 211: -#line 1232 "objc-parse.y" +#line 1235 "objc-parse.y" { set_init_label (yyvsp[-1].ttype); ; break;} case 213: -#line 1235 "objc-parse.y" +#line 1238 "objc-parse.y" { set_init_label (yyvsp[-1].ttype); ; break;} case 215: -#line 1241 "objc-parse.y" +#line 1244 "objc-parse.y" { push_c_function_context (); if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 1)) @@ -3219,16 +3221,16 @@ case 215: reinit_parse_for_function (); ; break;} case 216: -#line 1250 "objc-parse.y" +#line 1253 "objc-parse.y" { store_parm_decls (); ; break;} case 217: -#line 1258 "objc-parse.y" +#line 1261 "objc-parse.y" { finish_function (1); pop_c_function_context (); ; break;} case 218: -#line 1264 "objc-parse.y" +#line 1267 "objc-parse.y" { push_c_function_context (); if (! start_function (current_declspecs, yyvsp[0].ttype, prefix_attributes, NULL_TREE, 1)) @@ -3239,172 +3241,172 @@ case 218: reinit_parse_for_function (); ; break;} case 219: -#line 1273 "objc-parse.y" +#line 1276 "objc-parse.y" { store_parm_decls (); ; break;} case 220: -#line 1281 "objc-parse.y" +#line 1284 "objc-parse.y" { finish_function (1); pop_c_function_context (); ; break;} case 223: -#line 1297 "objc-parse.y" +#line 1300 "objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 224: -#line 1299 "objc-parse.y" +#line 1302 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 225: -#line 1304 "objc-parse.y" +#line 1307 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 226: -#line 1306 "objc-parse.y" +#line 1309 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 227: -#line 1308 "objc-parse.y" +#line 1311 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 228: -#line 1315 "objc-parse.y" +#line 1318 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 231: -#line 1327 "objc-parse.y" +#line 1330 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 232: -#line 1332 "objc-parse.y" +#line 1335 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 233: -#line 1334 "objc-parse.y" +#line 1337 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 234: -#line 1336 "objc-parse.y" +#line 1339 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 235: -#line 1343 "objc-parse.y" +#line 1346 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 237: -#line 1352 "objc-parse.y" +#line 1355 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 238: -#line 1357 "objc-parse.y" +#line 1360 "objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 239: -#line 1359 "objc-parse.y" +#line 1362 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 240: -#line 1361 "objc-parse.y" +#line 1364 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 241: -#line 1363 "objc-parse.y" +#line 1366 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 242: -#line 1370 "objc-parse.y" +#line 1373 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 244: -#line 1376 "objc-parse.y" +#line 1379 "objc-parse.y" { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype); /* Start scope of tag before parsing components. */ ; break;} case 245: -#line 1380 "objc-parse.y" +#line 1383 "objc-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 246: -#line 1382 "objc-parse.y" +#line 1385 "objc-parse.y" { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE), yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 247: -#line 1386 "objc-parse.y" +#line 1389 "objc-parse.y" { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ; break;} case 248: -#line 1388 "objc-parse.y" +#line 1391 "objc-parse.y" { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ; break;} case 249: -#line 1390 "objc-parse.y" +#line 1393 "objc-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 250: -#line 1392 "objc-parse.y" +#line 1395 "objc-parse.y" { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE), yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 251: -#line 1396 "objc-parse.y" +#line 1399 "objc-parse.y" { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ; break;} case 252: -#line 1398 "objc-parse.y" +#line 1401 "objc-parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = start_enum (yyvsp[-1].ttype); ; break;} case 253: -#line 1401 "objc-parse.y" +#line 1404 "objc-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), yyvsp[0].ttype); resume_momentary (yyvsp[-5].itype); ; break;} case 254: -#line 1404 "objc-parse.y" +#line 1407 "objc-parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = start_enum (NULL_TREE); ; break;} case 255: -#line 1407 "objc-parse.y" +#line 1410 "objc-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), yyvsp[0].ttype); resume_momentary (yyvsp[-5].itype); ; break;} case 256: -#line 1410 "objc-parse.y" +#line 1413 "objc-parse.y" { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ; break;} case 260: -#line 1421 "objc-parse.y" +#line 1424 "objc-parse.y" { if (pedantic) pedwarn ("comma at end of enumerator list"); ; break;} case 261: -#line 1426 "objc-parse.y" +#line 1429 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 262: -#line 1428 "objc-parse.y" +#line 1431 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); pedwarn ("no semicolon at end of struct or union"); ; break;} case 263: -#line 1433 "objc-parse.y" +#line 1436 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 264: -#line 1435 "objc-parse.y" +#line 1438 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 265: -#line 1437 "objc-parse.y" +#line 1440 "objc-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} case 266: -#line 1441 "objc-parse.y" +#line 1444 "objc-parse.y" { tree interface = lookup_interface (yyvsp[-1].ttype); @@ -3419,7 +3421,7 @@ case 266: ; break;} case 267: -#line 1466 "objc-parse.y" +#line 1469 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -3427,14 +3429,14 @@ case 267: resume_momentary (yyvsp[-1].itype); ; break;} case 268: -#line 1472 "objc-parse.y" +#line 1475 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids member declarations with no members"); shadow_tag(yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} case 269: -#line 1477 "objc-parse.y" +#line 1480 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -3442,140 +3444,140 @@ case 269: resume_momentary (yyvsp[-1].itype); ; break;} case 270: -#line 1483 "objc-parse.y" +#line 1486 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids member declarations with no members"); shadow_tag(yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} case 271: -#line 1488 "objc-parse.y" +#line 1491 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 272: -#line 1490 "objc-parse.y" +#line 1493 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 274: -#line 1497 "objc-parse.y" +#line 1500 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 275: -#line 1502 "objc-parse.y" +#line 1505 "objc-parse.y" { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE); decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 276: -#line 1506 "objc-parse.y" +#line 1509 "objc-parse.y" { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype); decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 277: -#line 1509 "objc-parse.y" +#line 1512 "objc-parse.y" { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype); decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 279: -#line 1521 "objc-parse.y" +#line 1524 "objc-parse.y" { if (yyvsp[-2].ttype == error_mark_node) yyval.ttype = yyvsp[-2].ttype; else yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ; break;} case 280: -#line 1526 "objc-parse.y" +#line 1529 "objc-parse.y" { yyval.ttype = error_mark_node; ; break;} case 281: -#line 1532 "objc-parse.y" +#line 1535 "objc-parse.y" { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ; break;} case 282: -#line 1534 "objc-parse.y" +#line 1537 "objc-parse.y" { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 283: -#line 1539 "objc-parse.y" +#line 1542 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 284: -#line 1541 "objc-parse.y" +#line 1544 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 285: -#line 1546 "objc-parse.y" +#line 1549 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 287: -#line 1552 "objc-parse.y" +#line 1555 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 288: -#line 1554 "objc-parse.y" +#line 1557 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 289: -#line 1559 "objc-parse.y" +#line 1562 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 290: -#line 1561 "objc-parse.y" +#line 1564 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 291: -#line 1566 "objc-parse.y" +#line 1569 "objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 292: -#line 1569 "objc-parse.y" +#line 1572 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 293: -#line 1571 "objc-parse.y" +#line 1574 "objc-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} case 294: -#line 1573 "objc-parse.y" +#line 1576 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 295: -#line 1575 "objc-parse.y" +#line 1578 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 296: -#line 1577 "objc-parse.y" +#line 1580 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ; break;} case 297: -#line 1579 "objc-parse.y" +#line 1582 "objc-parse.y" { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 298: -#line 1581 "objc-parse.y" +#line 1584 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} case 299: -#line 1583 "objc-parse.y" +#line 1586 "objc-parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ; break;} case 300: -#line 1594 "objc-parse.y" +#line 1597 "objc-parse.y" { if (pedantic && yyvsp[0].ends_in_label) pedwarn ("ANSI C forbids label at end of compound statement"); ; break;} case 302: -#line 1603 "objc-parse.y" +#line 1606 "objc-parse.y" { yyval.ends_in_label = yyvsp[0].ends_in_label; ; break;} case 303: -#line 1605 "objc-parse.y" +#line 1608 "objc-parse.y" { yyval.ends_in_label = 0; ; break;} case 307: -#line 1617 "objc-parse.y" +#line 1620 "objc-parse.y" { emit_line_note (input_filename, lineno); pushlevel (0); clear_last_expr (); @@ -3586,12 +3588,12 @@ case 307: ; break;} case 309: -#line 1632 "objc-parse.y" +#line 1635 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids label declarations"); ; break;} case 312: -#line 1643 "objc-parse.y" +#line 1646 "objc-parse.y" { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { @@ -3602,15 +3604,19 @@ case 312: ; break;} case 313: -#line 1657 "objc-parse.y" +#line 1660 "objc-parse.y" {; break;} case 315: -#line 1662 "objc-parse.y" -{ yyval.ttype = convert (void_type_node, integer_zero_node); ; +#line 1664 "objc-parse.y" +{ compstmt_count++; ; break;} case 316: -#line 1664 "objc-parse.y" +#line 1667 "objc-parse.y" +{ yyval.ttype = convert (void_type_node, integer_zero_node); ; + break;} +case 317: +#line 1669 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), 1, 0); yyval.ttype = poplevel (1, 1, 0); @@ -3619,8 +3625,8 @@ case 316: else pop_momentary (); ; break;} -case 317: -#line 1672 "objc-parse.y" +case 318: +#line 1677 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); yyval.ttype = poplevel (kept_level_p (), 0, 0); @@ -3629,8 +3635,8 @@ case 317: else pop_momentary (); ; break;} -case 318: -#line 1680 "objc-parse.y" +case 319: +#line 1685 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); yyval.ttype = poplevel (kept_level_p (), 0, 0); @@ -3639,62 +3645,64 @@ case 318: else pop_momentary (); ; break;} -case 321: -#line 1700 "objc-parse.y" +case 322: +#line 1705 "objc-parse.y" { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); - expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0); + c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, + compstmt_count); yyval.itype = stmt_count; if_stmt_file = yyvsp[-5].filename; if_stmt_line = yyvsp[-4].lineno; position_after_white_space (); ; break;} -case 322: -#line 1713 "objc-parse.y" +case 323: +#line 1719 "objc-parse.y" { stmt_count++; + compstmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); /* See comment in `while' alternative, above. */ emit_nop (); expand_start_loop_continue_elsewhere (1); position_after_white_space (); ; break;} -case 323: -#line 1720 "objc-parse.y" -{ expand_loop_continue_here (); ; - break;} case 324: -#line 1724 "objc-parse.y" -{ yyval.filename = input_filename; ; +#line 1727 "objc-parse.y" +{ expand_loop_continue_here (); ; break;} case 325: -#line 1728 "objc-parse.y" -{ yyval.lineno = lineno; ; +#line 1731 "objc-parse.y" +{ yyval.filename = input_filename; ; break;} case 326: -#line 1733 "objc-parse.y" -{ ; +#line 1735 "objc-parse.y" +{ yyval.lineno = lineno; ; break;} case 327: -#line 1738 "objc-parse.y" +#line 1740 "objc-parse.y" { ; break;} case 328: -#line 1743 "objc-parse.y" -{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; +#line 1745 "objc-parse.y" +{ ; break;} case 329: -#line 1748 "objc-parse.y" -{ yyval.ends_in_label = 0; ; +#line 1750 "objc-parse.y" +{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; break;} case 330: -#line 1750 "objc-parse.y" -{ yyval.ends_in_label = 1; ; +#line 1755 "objc-parse.y" +{ yyval.ends_in_label = 0; ; break;} case 331: -#line 1756 "objc-parse.y" +#line 1757 "objc-parse.y" +{ yyval.ends_in_label = 1; ; + break;} +case 332: +#line 1763 "objc-parse.y" { stmt_count++; ; break;} -case 333: -#line 1759 "objc-parse.y" +case 334: +#line 1766 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); /* It appears that this should not be done--that a non-lvalue array @@ -3712,21 +3720,21 @@ case 333: iterator_expand (yyvsp[-1].ttype); clear_momentary (); ; break;} -case 334: -#line 1776 "objc-parse.y" -{ expand_start_else (); +case 335: +#line 1783 "objc-parse.y" +{ c_expand_start_else (); yyvsp[-1].itype = stmt_count; position_after_white_space (); ; break;} -case 335: -#line 1780 "objc-parse.y" -{ expand_end_cond (); +case 336: +#line 1787 "objc-parse.y" +{ c_expand_end_cond (); if (extra_warnings && stmt_count == yyvsp[-3].itype) warning ("empty body in an else-statement"); ; break;} -case 336: -#line 1784 "objc-parse.y" -{ expand_end_cond (); +case 337: +#line 1791 "objc-parse.y" +{ c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an else statement. Increment stmt_count so we don't @@ -3735,12 +3743,12 @@ case 336: warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); ; break;} -case 337: -#line 1796 "objc-parse.y" -{ expand_end_cond (); ; - break;} case 338: -#line 1798 "objc-parse.y" +#line 1803 "objc-parse.y" +{ c_expand_end_cond (); ; + break;} +case 339: +#line 1805 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); /* The emit_nop used to come before emit_line_note, @@ -3751,8 +3759,8 @@ case 338: We will see. --rms, July 15, 1991. */ emit_nop (); ; break;} -case 339: -#line 1808 "objc-parse.y" +case 340: +#line 1815 "objc-parse.y" { /* Don't start the loop till we have succeeded in parsing the end test. This is to make sure that we end every loop we start. */ @@ -3762,25 +3770,25 @@ case 339: truthvalue_conversion (yyvsp[-1].ttype)); position_after_white_space (); ; break;} -case 340: -#line 1817 "objc-parse.y" +case 341: +#line 1824 "objc-parse.y" { expand_end_loop (); ; break;} -case 341: -#line 1820 "objc-parse.y" +case 342: +#line 1827 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_exit_loop_if_false (NULL_PTR, truthvalue_conversion (yyvsp[-2].ttype)); expand_end_loop (); clear_momentary (); ; break;} -case 342: -#line 1827 "objc-parse.y" +case 343: +#line 1834 "objc-parse.y" { expand_end_loop (); clear_momentary (); ; break;} -case 343: -#line 1831 "objc-parse.y" +case 344: +#line 1838 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); /* See comment in `while' alternative, above. */ @@ -3792,13 +3800,13 @@ case 343: fn without calling expand_end_loop. */ ; break;} -case 344: -#line 1843 "objc-parse.y" +case 345: +#line 1850 "objc-parse.y" { yyvsp[0].lineno = lineno; yyval.filename = input_filename; ; break;} -case 345: -#line 1846 "objc-parse.y" +case 346: +#line 1853 "objc-parse.y" { /* Start the loop. Doing this after parsing all the expressions ensures we will end the loop. */ @@ -3815,8 +3823,8 @@ case 345: yyvsp[-2].filename = input_filename; position_after_white_space (); ; break;} -case 346: -#line 1862 "objc-parse.y" +case 347: +#line 1869 "objc-parse.y" { /* Emit the increment expression, with a line number. */ emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno); expand_loop_continue_here (); @@ -3828,8 +3836,8 @@ case 346: pop_momentary (); expand_end_loop (); ; break;} -case 347: -#line 1873 "objc-parse.y" +case 348: +#line 1880 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); c_expand_start_case (yyvsp[-1].ttype); @@ -3838,42 +3846,42 @@ case 347: push_momentary (); position_after_white_space (); ; break;} -case 348: -#line 1881 "objc-parse.y" +case 349: +#line 1888 "objc-parse.y" { expand_end_case (yyvsp[-3].ttype); if (yychar == CONSTANT || yychar == STRING) pop_momentary_nofree (); else pop_momentary (); ; break;} -case 349: -#line 1887 "objc-parse.y" +case 350: +#line 1894 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if ( ! expand_exit_something ()) error ("break statement not within loop or switch"); ; break;} -case 350: -#line 1892 "objc-parse.y" +case 351: +#line 1899 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if (! expand_continue_loop (NULL_PTR)) error ("continue statement not within a loop"); ; break;} -case 351: -#line 1897 "objc-parse.y" +case 352: +#line 1904 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); c_expand_return (NULL_TREE); ; break;} -case 352: -#line 1901 "objc-parse.y" +case 353: +#line 1908 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); c_expand_return (yyvsp[-1].ttype); ; break;} -case 353: -#line 1905 "objc-parse.y" +case 354: +#line 1912 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno); STRIP_NOPS (yyvsp[-2].ttype); @@ -3884,32 +3892,32 @@ case 353: else error ("argument of `asm' is not a constant string"); ; break;} -case 354: -#line 1916 "objc-parse.y" +case 355: +#line 1923 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno); c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 355: -#line 1923 "objc-parse.y" +case 356: +#line 1930 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno); c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 356: -#line 1931 "objc-parse.y" +case 357: +#line 1938 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno); c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 357: -#line 1937 "objc-parse.y" +case 358: +#line 1944 "objc-parse.y" { tree decl; stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); @@ -3921,16 +3929,16 @@ case 357: } ; break;} -case 358: -#line 1948 "objc-parse.y" +case 359: +#line 1955 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids `goto *expr;'"); stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ; break;} -case 361: -#line 1963 "objc-parse.y" +case 362: +#line 1970 "objc-parse.y" { /* The value returned by this action is */ /* 1 if everything is OK */ @@ -3952,15 +3960,15 @@ case 361: } ; break;} -case 362: -#line 1984 "objc-parse.y" +case 363: +#line 1991 "objc-parse.y" { if (yyvsp[-1].itype) iterator_for_loop_end (yyvsp[-3].ttype); ; break;} -case 363: -#line 2019 "objc-parse.y" +case 364: +#line 2026 "objc-parse.y" { register tree value = check_case_value (yyvsp[-1].ttype); register tree label = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE); @@ -3986,8 +3994,8 @@ case 363: } position_after_white_space (); ; break;} -case 364: -#line 2044 "objc-parse.y" +case 365: +#line 2051 "objc-parse.y" { register tree value1 = check_case_value (yyvsp[-3].ttype); register tree value2 = check_case_value (yyvsp[-1].ttype); register tree label @@ -4019,8 +4027,8 @@ case 364: } position_after_white_space (); ; break;} -case 365: -#line 2075 "objc-parse.y" +case 366: +#line 2082 "objc-parse.y" { tree duplicate; register tree label @@ -4036,8 +4044,8 @@ case 365: } position_after_white_space (); ; break;} -case 366: -#line 2090 "objc-parse.y" +case 367: +#line 2097 "objc-parse.y" { tree label = define_label (input_filename, lineno, yyvsp[-1].ttype); stmt_count++; emit_nop (); @@ -4045,53 +4053,53 @@ case 366: expand_label (label); position_after_white_space (); ; break;} -case 367: -#line 2102 "objc-parse.y" +case 368: +#line 2109 "objc-parse.y" { emit_line_note (input_filename, lineno); yyval.ttype = NULL_TREE; ; break;} -case 368: -#line 2105 "objc-parse.y" -{ emit_line_note (input_filename, lineno); ; - break;} case 369: -#line 2110 "objc-parse.y" -{ yyval.ttype = NULL_TREE; ; +#line 2112 "objc-parse.y" +{ emit_line_note (input_filename, lineno); ; break;} -case 371: +case 370: #line 2117 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 374: +case 372: #line 2124 "objc-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; +{ yyval.ttype = NULL_TREE; ; break;} case 375: -#line 2129 "objc-parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; +#line 2131 "objc-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 376: -#line 2134 "objc-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; +#line 2136 "objc-parse.y" +{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 377: -#line 2136 "objc-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; +#line 2141 "objc-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; break;} case 378: -#line 2142 "objc-parse.y" +#line 2143 "objc-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; + break;} +case 379: +#line 2149 "objc-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (0); ; break;} -case 379: -#line 2146 "objc-parse.y" +case 380: +#line 2153 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 381: -#line 2154 "objc-parse.y" +case 382: +#line 2161 "objc-parse.y" { tree parm; if (pedantic) pedwarn ("ANSI C forbids forward parameter declarations"); @@ -4100,20 +4108,20 @@ case 381: TREE_ASM_WRITTEN (parm) = 1; clear_parm_order (); ; break;} -case 382: -#line 2162 "objc-parse.y" +case 383: +#line 2169 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} -case 383: -#line 2164 "objc-parse.y" +case 384: +#line 2171 "objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; break;} -case 384: -#line 2170 "objc-parse.y" +case 385: +#line 2177 "objc-parse.y" { yyval.ttype = get_parm_info (0); ; break;} -case 385: -#line 2172 "objc-parse.y" +case 386: +#line 2179 "objc-parse.y" { yyval.ttype = get_parm_info (0); /* Gcc used to allow this as an extension. However, it does not work for all targets, and thus has been disabled. @@ -4124,24 +4132,24 @@ case 385: error ("ANSI C requires a named argument before `...'"); ; break;} -case 386: -#line 2182 "objc-parse.y" -{ yyval.ttype = get_parm_info (1); ; - break;} case 387: -#line 2184 "objc-parse.y" -{ yyval.ttype = get_parm_info (0); ; +#line 2189 "objc-parse.y" +{ yyval.ttype = get_parm_info (1); ; break;} case 388: -#line 2189 "objc-parse.y" -{ push_parm_decl (yyvsp[0].ttype); ; +#line 2191 "objc-parse.y" +{ yyval.ttype = get_parm_info (0); ; break;} case 389: -#line 2191 "objc-parse.y" +#line 2196 "objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 390: #line 2198 "objc-parse.y" +{ push_parm_decl (yyvsp[0].ttype); ; + break;} +case 391: +#line 2205 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4151,8 +4159,8 @@ case 390: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 391: -#line 2207 "objc-parse.y" +case 392: +#line 2214 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4162,8 +4170,8 @@ case 391: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 392: -#line 2216 "objc-parse.y" +case 393: +#line 2223 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4173,8 +4181,8 @@ case 392: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 393: -#line 2225 "objc-parse.y" +case 394: +#line 2232 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4184,8 +4192,8 @@ case 393: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 394: -#line 2235 "objc-parse.y" +case 395: +#line 2242 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4195,49 +4203,49 @@ case 394: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 395: -#line 2249 "objc-parse.y" +case 396: +#line 2256 "objc-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (1); ; break;} -case 396: -#line 2253 "objc-parse.y" +case 397: +#line 2260 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 398: -#line 2261 "objc-parse.y" +case 399: +#line 2268 "objc-parse.y" { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) error ("`...' in old-style identifier list"); yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ; break;} -case 399: -#line 2271 "objc-parse.y" +case 400: +#line 2278 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 400: -#line 2273 "objc-parse.y" +case 401: +#line 2280 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} -case 401: -#line 2279 "objc-parse.y" +case 402: +#line 2286 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 402: -#line 2281 "objc-parse.y" +case 403: +#line 2288 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} -case 403: -#line 2286 "objc-parse.y" +case 404: +#line 2293 "objc-parse.y" { yyval.itype = pedantic; pedantic = 0; ; break;} -case 409: -#line 2299 "objc-parse.y" +case 410: +#line 2306 "objc-parse.y" { if (objc_implementation_context) { @@ -4249,115 +4257,115 @@ case 409: warning ("`@end' must appear in an implementation context"); ; break;} -case 410: -#line 2314 "objc-parse.y" +case 411: +#line 2321 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 411: -#line 2316 "objc-parse.y" +case 412: +#line 2323 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} -case 412: -#line 2321 "objc-parse.y" +case 413: +#line 2328 "objc-parse.y" { objc_declare_class (yyvsp[-1].ttype); ; break;} -case 413: -#line 2327 "objc-parse.y" +case 414: +#line 2334 "objc-parse.y" { objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} -case 414: -#line 2333 "objc-parse.y" +case 415: +#line 2340 "objc-parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype); objc_public_flag = 0; ; break;} -case 415: -#line 2339 "objc-parse.y" +case 416: +#line 2346 "objc-parse.y" { continue_class (objc_interface_context); ; break;} -case 416: -#line 2344 "objc-parse.y" +case 417: +#line 2351 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 417: -#line 2350 "objc-parse.y" +case 418: +#line 2357 "objc-parse.y" { objc_interface_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} -case 418: -#line 2357 "objc-parse.y" +case 419: +#line 2364 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 419: -#line 2363 "objc-parse.y" +case 420: +#line 2370 "objc-parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); objc_public_flag = 0; ; break;} -case 420: -#line 2369 "objc-parse.y" +case 421: +#line 2376 "objc-parse.y" { continue_class (objc_interface_context); ; break;} -case 421: -#line 2374 "objc-parse.y" +case 422: +#line 2381 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 422: -#line 2380 "objc-parse.y" +case 423: +#line 2387 "objc-parse.y" { objc_interface_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} -case 423: -#line 2387 "objc-parse.y" +case 424: +#line 2394 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 424: -#line 2393 "objc-parse.y" +case 425: +#line 2400 "objc-parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); objc_public_flag = 0; ; break;} -case 425: -#line 2399 "objc-parse.y" +case 426: +#line 2406 "objc-parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} -case 426: -#line 2405 "objc-parse.y" +case 427: +#line 2412 "objc-parse.y" { objc_implementation_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE); @@ -4365,23 +4373,23 @@ case 426: = continue_class (objc_implementation_context); ; break;} -case 427: -#line 2413 "objc-parse.y" +case 428: +#line 2420 "objc-parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); objc_public_flag = 0; ; break;} -case 428: -#line 2419 "objc-parse.y" +case 429: +#line 2426 "objc-parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} -case 429: -#line 2425 "objc-parse.y" +case 430: +#line 2432 "objc-parse.y" { objc_implementation_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); @@ -4389,23 +4397,23 @@ case 429: = continue_class (objc_implementation_context); ; break;} -case 430: -#line 2433 "objc-parse.y" +case 431: +#line 2440 "objc-parse.y" { objc_interface_context = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} -case 431: -#line 2440 "objc-parse.y" +case 432: +#line 2447 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 432: -#line 2446 "objc-parse.y" +case 433: +#line 2453 "objc-parse.y" { objc_implementation_context = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); @@ -4413,30 +4421,30 @@ case 432: = continue_class (objc_implementation_context); ; break;} -case 433: -#line 2456 "objc-parse.y" +case 434: +#line 2463 "objc-parse.y" { remember_protocol_qualifiers (); objc_interface_context = start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 434: -#line 2462 "objc-parse.y" +case 435: +#line 2469 "objc-parse.y" { forget_protocol_qualifiers(); finish_protocol(objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 435: -#line 2471 "objc-parse.y" +case 436: +#line 2478 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 437: -#line 2479 "objc-parse.y" +case 438: +#line 2486 "objc-parse.y" { if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR) yyval.ttype = yyvsp[-1].ttype; @@ -4444,57 +4452,57 @@ case 437: YYERROR1; ; break;} -case 440: -#line 2493 "objc-parse.y" +case 441: +#line 2500 "objc-parse.y" { objc_public_flag = 2; ; break;} -case 441: -#line 2494 "objc-parse.y" +case 442: +#line 2501 "objc-parse.y" { objc_public_flag = 0; ; break;} -case 442: -#line 2495 "objc-parse.y" +case 443: +#line 2502 "objc-parse.y" { objc_public_flag = 1; ; break;} -case 443: -#line 2500 "objc-parse.y" +case 444: +#line 2507 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 445: -#line 2505 "objc-parse.y" +case 446: +#line 2512 "objc-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} -case 446: -#line 2523 "objc-parse.y" +case 447: +#line 2530 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} -case 447: -#line 2529 "objc-parse.y" +case 448: +#line 2536 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-1].itype); ; break;} -case 448: -#line 2535 "objc-parse.y" -{ yyval.ttype = NULL_TREE; ; - break;} case 449: -#line 2540 "objc-parse.y" +#line 2542 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 452: +case 450: #line 2547 "objc-parse.y" +{ yyval.ttype = NULL_TREE; ; + break;} +case 453: +#line 2554 "objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, @@ -4502,16 +4510,16 @@ case 452: NULL_TREE); ; break;} -case 453: -#line 2554 "objc-parse.y" +case 454: +#line 2561 "objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, yyvsp[-2].ttype, current_declspecs, yyvsp[0].ttype); ; break;} -case 454: -#line 2560 "objc-parse.y" +case 455: +#line 2567 "objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, @@ -4519,8 +4527,8 @@ case 454: current_declspecs, yyvsp[0].ttype); ; break;} -case 455: -#line 2570 "objc-parse.y" +case 456: +#line 2577 "objc-parse.y" { remember_protocol_qualifiers (); if (objc_implementation_context) @@ -4529,8 +4537,8 @@ case 455: fatal ("method definition not in class context"); ; break;} -case 456: -#line 2578 "objc-parse.y" +case 457: +#line 2585 "objc-parse.y" { forget_protocol_qualifiers (); add_class_method (objc_implementation_context, yyvsp[0].ttype); @@ -4538,21 +4546,21 @@ case 456: objc_method_context = yyvsp[0].ttype; ; break;} -case 457: -#line 2585 "objc-parse.y" +case 458: +#line 2592 "objc-parse.y" { continue_method_def (); ; break;} -case 458: -#line 2589 "objc-parse.y" +case 459: +#line 2596 "objc-parse.y" { finish_method_def (); objc_method_context = NULL_TREE; ; break;} -case 459: -#line 2595 "objc-parse.y" +case 460: +#line 2602 "objc-parse.y" { remember_protocol_qualifiers (); if (objc_implementation_context) @@ -4561,8 +4569,8 @@ case 459: fatal ("method definition not in class context"); ; break;} -case 460: -#line 2603 "objc-parse.y" +case 461: +#line 2610 "objc-parse.y" { forget_protocol_qualifiers (); add_instance_method (objc_implementation_context, yyvsp[0].ttype); @@ -4570,260 +4578,260 @@ case 460: objc_method_context = yyvsp[0].ttype; ; break;} -case 461: -#line 2610 "objc-parse.y" +case 462: +#line 2617 "objc-parse.y" { continue_method_def (); ; break;} -case 462: -#line 2614 "objc-parse.y" +case 463: +#line 2621 "objc-parse.y" { finish_method_def (); objc_method_context = NULL_TREE; ; break;} -case 464: -#line 2626 "objc-parse.y" +case 465: +#line 2633 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} -case 469: -#line 2633 "objc-parse.y" +case 470: +#line 2640 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} -case 473: -#line 2643 "objc-parse.y" +case 474: +#line 2650 "objc-parse.y" { objc_inherit_code = CLASS_METHOD_DECL; ; break;} -case 474: -#line 2647 "objc-parse.y" +case 475: +#line 2654 "objc-parse.y" { add_class_method (objc_interface_context, yyvsp[0].ttype); ; break;} -case 476: -#line 2653 "objc-parse.y" +case 477: +#line 2660 "objc-parse.y" { objc_inherit_code = INSTANCE_METHOD_DECL; ; break;} -case 477: -#line 2657 "objc-parse.y" +case 478: +#line 2664 "objc-parse.y" { add_instance_method (objc_interface_context, yyvsp[0].ttype); ; break;} -case 479: -#line 2665 "objc-parse.y" +case 480: +#line 2672 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} -case 480: -#line 2670 "objc-parse.y" +case 481: +#line 2677 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} -case 481: -#line 2675 "objc-parse.y" +case 482: +#line 2682 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 482: -#line 2680 "objc-parse.y" +case 483: +#line 2687 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 491: -#line 2710 "objc-parse.y" +case 492: +#line 2717 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 492: -#line 2715 "objc-parse.y" -{ shadow_tag (yyvsp[-1].ttype); ; - break;} case 493: -#line 2717 "objc-parse.y" -{ pedwarn ("empty declaration"); ; +#line 2722 "objc-parse.y" +{ shadow_tag (yyvsp[-1].ttype); ; break;} case 494: -#line 2722 "objc-parse.y" -{ push_parm_decl (yyvsp[0].ttype); ; +#line 2724 "objc-parse.y" +{ pedwarn ("empty declaration"); ; break;} case 495: -#line 2724 "objc-parse.y" +#line 2729 "objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 496: -#line 2732 "objc-parse.y" +#line 2731 "objc-parse.y" +{ push_parm_decl (yyvsp[0].ttype); ; + break;} +case 497: +#line 2739 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, yyvsp[0].ttype)); ; break;} -case 497: -#line 2737 "objc-parse.y" +case 498: +#line 2744 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, yyvsp[0].ttype)); ; break;} -case 498: -#line 2742 "objc-parse.y" +case 499: +#line 2749 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, yyvsp[0].ttype)); ; break;} -case 499: -#line 2750 "objc-parse.y" +case 500: +#line 2757 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 500: -#line 2754 "objc-parse.y" +case 501: +#line 2761 "objc-parse.y" { /* oh what a kludge! */ yyval.ttype = (tree)1; ; break;} -case 501: -#line 2759 "objc-parse.y" +case 502: +#line 2766 "objc-parse.y" { pushlevel (0); ; break;} -case 502: -#line 2763 "objc-parse.y" +case 503: +#line 2770 "objc-parse.y" { /* returns a tree list node generated by get_parm_info */ yyval.ttype = yyvsp[0].ttype; poplevel (0, 0, 0); ; break;} -case 505: -#line 2778 "objc-parse.y" +case 506: +#line 2785 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 510: -#line 2791 "objc-parse.y" -{ yyval.ttype = get_identifier (token_buffer); ; - break;} case 511: -#line 2792 "objc-parse.y" +#line 2798 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 512: -#line 2793 "objc-parse.y" +#line 2799 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 513: -#line 2794 "objc-parse.y" +#line 2800 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 514: -#line 2795 "objc-parse.y" +#line 2801 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 515: -#line 2796 "objc-parse.y" +#line 2802 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 516: -#line 2797 "objc-parse.y" +#line 2803 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 517: -#line 2798 "objc-parse.y" +#line 2804 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 518: -#line 2799 "objc-parse.y" +#line 2805 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 519: -#line 2800 "objc-parse.y" +#line 2806 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 520: -#line 2801 "objc-parse.y" +#line 2807 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 521: -#line 2802 "objc-parse.y" +#line 2808 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 522: -#line 2803 "objc-parse.y" +#line 2809 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 523: -#line 2804 "objc-parse.y" +#line 2810 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 524: -#line 2805 "objc-parse.y" +#line 2811 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 525: -#line 2806 "objc-parse.y" +#line 2812 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 526: -#line 2807 "objc-parse.y" +#line 2813 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 527: -#line 2808 "objc-parse.y" +#line 2814 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} case 528: -#line 2809 "objc-parse.y" +#line 2815 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 531: -#line 2815 "objc-parse.y" +case 529: +#line 2816 "objc-parse.y" +{ yyval.ttype = get_identifier (token_buffer); ; + break;} +case 532: +#line 2822 "objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 532: -#line 2820 "objc-parse.y" +case 533: +#line 2827 "objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); ; break;} -case 533: -#line 2825 "objc-parse.y" +case 534: +#line 2832 "objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 534: -#line 2830 "objc-parse.y" +case 535: +#line 2837 "objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; break;} -case 538: -#line 2843 "objc-parse.y" +case 539: +#line 2850 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 539: -#line 2851 "objc-parse.y" +case 540: +#line 2858 "objc-parse.y" { if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE) /* just return the expr., remove a level of indirection */ @@ -4833,60 +4841,54 @@ case 539: yyval.ttype = yyvsp[0].ttype; ; break;} -case 540: -#line 2863 "objc-parse.y" +case 541: +#line 2870 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 541: -#line 2867 "objc-parse.y" +case 542: +#line 2874 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 543: -#line 2875 "objc-parse.y" +case 544: +#line 2882 "objc-parse.y" { yyval.ttype = get_class_reference (yyvsp[0].ttype); ; break;} -case 544: -#line 2882 "objc-parse.y" +case 545: +#line 2889 "objc-parse.y" { objc_receiver_context = 1; ; break;} -case 545: -#line 2884 "objc-parse.y" +case 546: +#line 2891 "objc-parse.y" { objc_receiver_context = 0; ; break;} -case 546: -#line 2886 "objc-parse.y" +case 547: +#line 2893 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 550: -#line 2899 "objc-parse.y" -{ - yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); - ; - break;} case 551: #line 2906 "objc-parse.y" { - yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE); + yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 552: -#line 2910 "objc-parse.y" +#line 2913 "objc-parse.y" { - yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE); + yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE); ; break;} case 553: #line 2917 "objc-parse.y" { - yyval.ttype = yyvsp[-1].ttype; + yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE); ; break;} case 554: @@ -4896,7 +4898,13 @@ case 554: ; break;} case 555: -#line 2933 "objc-parse.y" +#line 2931 "objc-parse.y" +{ + yyval.ttype = yyvsp[-1].ttype; + ; + break;} +case 556: +#line 2940 "objc-parse.y" { yyval.ttype = groktypename (yyvsp[-1].ttype); ; @@ -5099,5 +5107,5 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 2938 "objc-parse.y" +#line 2945 "objc-parse.y" diff --git a/gcc/objc/objc-parse.y b/gcc/objc/objc-parse.y index e063599..4dc0bcf 100644 --- a/gcc/objc/objc-parse.y +++ b/gcc/objc/objc-parse.y @@ -31,11 +31,12 @@ Boston, MA 02111-1307, USA. */ %expect 66 %{ +#include "config.h" + #include <stdio.h> #include <errno.h> #include <setjmp.h> -#include "config.h" #include "tree.h" #include "input.h" #include "c-lex.h" @@ -196,9 +197,11 @@ void yyerror (); %type <ttype> CLASSNAME OBJC_STRING OBJECTNAME %{ -/* Number of statements (loosely speaking) seen so far. */ +/* Number of statements (loosely speaking) and compound statements + seen so far. */ static int stmt_count; - +static int compstmt_count; + /* Input file and line number of the end of the body of last simple_if; used by the stmt-rule immediately after simple_if returns. */ static char *if_stmt_file; @@ -445,7 +448,7 @@ unary_expr: | sizeof unary_expr %prec UNARY { skip_evaluation--; if (TREE_CODE ($2) == COMPONENT_REF - && DECL_BIT_FIELD (TREE_OPERAND ($2, 1))) + && DECL_C_BIT_FIELD (TREE_OPERAND ($2, 1))) error ("`sizeof' applied to a bit-field"); $$ = c_sizeof (TREE_TYPE ($2)); } | sizeof '(' typename ')' %prec HYPERUNARY @@ -1658,9 +1661,11 @@ compstmt_or_error: | error compstmt ; -compstmt: '{' '}' +compstmt_start: '{' { compstmt_count++; } + +compstmt: compstmt_start '}' { $$ = convert (void_type_node, integer_zero_node); } - | '{' pushlevel maybe_label_decls decls xstmts '}' + | compstmt_start pushlevel maybe_label_decls decls xstmts '}' { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), 1, 0); $$ = poplevel (1, 1, 0); @@ -1668,7 +1673,7 @@ compstmt: '{' '}' pop_momentary_nofree (); else pop_momentary (); } - | '{' pushlevel maybe_label_decls error '}' + | compstmt_start pushlevel maybe_label_decls error '}' { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); $$ = poplevel (kept_level_p (), 0, 0); @@ -1676,7 +1681,7 @@ compstmt: '{' '}' pop_momentary_nofree (); else pop_momentary (); } - | '{' pushlevel maybe_label_decls stmts '}' + | compstmt_start pushlevel maybe_label_decls stmts '}' { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); $$ = poplevel (kept_level_p (), 0, 0); @@ -1689,8 +1694,8 @@ compstmt: '{' '}' /* Value is number of statements counted as of the closeparen. */ simple_if: if_prefix lineno_labeled_stmt -/* Make sure expand_end_cond is run once - for each call to expand_start_cond. +/* Make sure c_expand_end_cond is run once + for each call to c_expand_start_cond. Otherwise a crash is likely. */ | if_prefix error ; @@ -1698,7 +1703,8 @@ simple_if: if_prefix: IF '(' expr ')' { emit_line_note ($<filename>-1, $<lineno>0); - expand_start_cond (truthvalue_conversion ($3), 0); + c_expand_start_cond (truthvalue_conversion ($3), 0, + compstmt_count); $<itype>$ = stmt_count; if_stmt_file = $<filename>-1; if_stmt_line = $<lineno>0; @@ -1711,6 +1717,7 @@ if_prefix: do_stmt_start: DO { stmt_count++; + compstmt_count++; emit_line_note ($<filename>-1, $<lineno>0); /* See comment in `while' alternative, above. */ emit_nop (); @@ -1773,15 +1780,15 @@ stmt: iterator_expand ($1); clear_momentary (); } | simple_if ELSE - { expand_start_else (); + { c_expand_start_else (); $<itype>1 = stmt_count; position_after_white_space (); } lineno_labeled_stmt - { expand_end_cond (); + { c_expand_end_cond (); if (extra_warnings && stmt_count == $<itype>1) warning ("empty body in an else-statement"); } | simple_if %prec IF - { expand_end_cond (); + { c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an else statement. Increment stmt_count so we don't @@ -1789,11 +1796,11 @@ stmt: if (extra_warnings && stmt_count++ == $<itype>1) warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); } -/* Make sure expand_end_cond is run once - for each call to expand_start_cond. +/* Make sure c_expand_end_cond is run once + for each call to c_expand_start_cond. Otherwise a crash is likely. */ | simple_if ELSE error - { expand_end_cond (); } + { c_expand_end_cond (); } | WHILE { stmt_count++; emit_line_note ($<filename>-1, $<lineno>0); |