home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / guavac-0.2.5-diffs.gz / guavac-0.2.5-diffs
Text File  |  1996-10-13  |  279KB  |  8,518 lines

  1. This file contains patches that transform the baseline version into
  2. the amiga version.  Assuming that you have unarchived the baseline
  3. version in the current directory, just run the command:
  4.  
  5.     patch -p1 -E -b .pbak <diff-file
  6.  
  7. where 'diff-file' is this patch file.  After running patch you should
  8. remove all the generated *.pbak files, and look for any *.rej files
  9. that indicate a problem patching the baseline source.
  10.  
  11. diff -rup --new-file baseline/contrib/guavac/Makefile.in amiga/contrib/guavac/Makefile.in
  12. --- baseline/contrib/guavac/Makefile.in    Fri Aug  2 20:01:36 1996
  13. +++ amiga/contrib/guavac/Makefile.in    Sat Sep 28 00:00:00 1996
  14. @@ -3,6 +3,13 @@
  15.  # Autoconf for Guavac by Joerg Heitkoetter <joke@Germany.EU.net>, 1996.
  16.  # $Id: Makefile.in,v 1.5 1996/08/03 03:01:36 geppetto Exp $
  17.  
  18. +# Joop van de Wege 24-Jul-1996
  19. +# Added CC=@CXX@ and CC='$(CC)' to MDEFINES so that 'zextract.c' is
  20. +# compiled using gcc instead of using unset CC.
  21. +# Added $(srcdir) to install of classes.zip.
  22. +# It tried to install from the current directory which is wrong
  23. +# when the build dir =! source dir.
  24. +
  25.  # This program is free software; you can redistribute it and/or modify
  26.  # it under the terms of the GNU General Public License as published by
  27.  # the Free Software Foundation; either version 2, or (at your option)
  28. @@ -34,6 +41,7 @@ datadir = $(prefix)/share
  29.  datasubdir = $(datadir)/guavac
  30.  
  31.  CCC = @CXX@
  32. +CC  = @CXX@                        # JOOP: added 24-Jul-1996
  33.  CFLAGS = @CFLAGS@
  34.  GNUFLAGS = @GNUFLAGS@
  35.  TEMPLATEFLAGS = @TEMPLATEFLAGS@
  36. @@ -46,8 +54,8 @@ RANLIB = @RANLIB@
  37.  LN_S = @LN_S@
  38.  AR = ar
  39.  
  40. -
  41. -MDEFINES = CCC='$(CCC)' CFLAGS='$(CFLAGS) $(GNUFLAGS)' \
  42. +# JOOP: added CC='$(CC)' to line below.
  43. +MDEFINES = CCC='$(CCC)' CC='$(CC)' CFLAGS='$(CFLAGS) $(GNUFLAGS)' \
  44.  TEMPLATEFLAGS='$(TEMPLATEFLAGS)' LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)' \
  45.  prefix='$(prefix)' exec_prefix='$(exec_prefix)' \
  46.  bindir='$(bindir)' infodir='$(infodir)' mandir='$(mandir)'
  47. @@ -72,7 +80,7 @@ install: all
  48.      $(INSTALL) -d $(datadir)
  49.      $(INSTALL) -d $(datasubdir)
  50.      rm -rf $(datasubdir)/classes.zip
  51. -    $(INSTALL_DATA) classes.zip $(datasubdir)/classes.zip
  52. +    $(INSTALL_DATA) $(srcdir)/classes.zip $(datasubdir)/classes.zip
  53.  
  54.  uninstall:
  55.      for subdir in $(SUBDIRS); do \
  56. diff -rup --new-file baseline/contrib/guavac/Product-Info amiga/contrib/guavac/Product-Info
  57. --- baseline/contrib/guavac/Product-Info    Wed Dec 31 17:00:00 1969
  58. +++ amiga/contrib/guavac/Product-Info    Sat Sep 28 00:00:00 1996
  59. @@ -0,0 +1,25 @@
  60. +.name
  61. +guavac
  62. +.fullname
  63. +Java Compiler
  64. +.type
  65. +Programmer Tool
  66. +.short
  67. +A portable compiler for Java.
  68. +.description
  69. +A portable Java compiler that was developed as part of a much larger project
  70. +to implement a distributed collaborative space using Java bytecode within a
  71. +MUD-like system.
  72. +.version
  73. +0.2.5
  74. +.author
  75. +Effective Edge
  76. +.email
  77. +info@eecs.com
  78. +.distribution
  79. +GNU Public License
  80. +.described-by
  81. +Fred Fish (fnf@ninemoons.com)
  82. +.submittal
  83. +Transfered via ftp from summit.stanford.edu in pub/guavac
  84. +
  85. diff -rup --new-file baseline/contrib/guavac/common/Makefile.in amiga/contrib/guavac/common/Makefile.in
  86. --- baseline/contrib/guavac/common/Makefile.in    Sat Jun 29 15:35:55 1996
  87. +++ amiga/contrib/guavac/common/Makefile.in    Sat Sep 28 00:00:00 1996
  88. @@ -22,6 +22,8 @@ VERSION = @VERSION@
  89.  
  90.  SHELL = /bin/sh
  91.  srcdir = @srcdir@
  92. +VPATH = @srcdir@
  93. +@SET_MAKE@
  94.  
  95.  # This directory's subdirectories are mostly independent; you can cd
  96.  # into them and run `make' without going through this Makefile.
  97. @@ -48,6 +50,8 @@ exec_prefix = @exec_prefix@
  98.  bindir = $(exec_prefix)/bin
  99.  infodir = $(prefix)/info
  100.  
  101. +INCLUDES = -I. -I..
  102. +INTERNAL_CFLAGS = $(CFLAGS) $(INCLUDES)
  103.  SUBDIRS = 
  104.  
  105.  DISTFILES = Makefile.in *.[hC]
  106. @@ -67,39 +71,39 @@ libcommon.a: ${COMMONOBJS}
  107.      fi
  108.  
  109.  CommonInstantiations.o: CommonInstantiations.C
  110. -    ${CCC} ${CFLAGS} -c CommonInstantiations.C
  111. +    ${CCC} ${INTERNAL_CFLAGS} -c $(srcdir)/CommonInstantiations.C
  112.  UnicodeInstantiations.o: UnicodeInstantiations.C
  113. -    ${CCC} ${CFLAGS} -c UnicodeInstantiations.C
  114. +    ${CCC} ${INTERNAL_CFLAGS} -c $(srcdir)/UnicodeInstantiations.C
  115.  JavaAttribute.o: JavaAttribute.C
  116. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaAttribute.C
  117. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaAttribute.C
  118.  JavaClassFile.o: JavaClassFile.C
  119. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaClassFile.C
  120. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaClassFile.C
  121.  JavaConstant.o : JavaConstant.C
  122. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaConstant.C
  123. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaConstant.C
  124.  JavaFieldInfo.o: JavaFieldInfo.C
  125. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaFieldInfo.C
  126. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaFieldInfo.C
  127.  JavaMethodInfo.o: JavaMethodInfo.C
  128. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaMethodInfo.C
  129. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaMethodInfo.C
  130.  unicode_string.o: unicode_string.C
  131. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c unicode_string.C
  132. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/unicode_string.C
  133.  JavaFieldSignature.o: JavaFieldSignature.C
  134. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaFieldSignature.C
  135. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaFieldSignature.C
  136.  JavaTypeSignature.o: JavaTypeSignature.C
  137. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaTypeSignature.C
  138. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaTypeSignature.C
  139.  JavaMethodSignature.o: JavaMethodSignature.C
  140. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaMethodSignature.C
  141. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaMethodSignature.C
  142.  JavaAccessFlags.o: JavaAccessFlags.C
  143. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaAccessFlags.C
  144. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaAccessFlags.C
  145.  JavaCodeAttribute.o: JavaCodeAttribute.C
  146. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaCodeAttribute.C
  147. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaCodeAttribute.C
  148.  FilePath.o: FilePath.C
  149. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c FilePath.C
  150. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/FilePath.C
  151.  JavaExceptionsTable.o: JavaExceptionsTable.C
  152. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaExceptionsTable.C
  153. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaExceptionsTable.C
  154.  CommandLine.o: CommandLine.C
  155. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c CommandLine.C
  156. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/CommandLine.C
  157.  Bitset.o: Bitset.C
  158. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c Bitset.C
  159. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/Bitset.C
  160.  
  161.  install: all
  162.  
  163. @@ -113,6 +117,8 @@ clean: mostlyclean
  164.  
  165.  distclean: clean
  166.      rm -f Makefile
  167. +
  168. +realclean: distclean
  169.  
  170.  DISTDIR=../$(PRODUCT)-$(VERSION)/common
  171.  
  172. diff -rup --new-file baseline/contrib/guavac/compiler/Makefile.in amiga/contrib/guavac/compiler/Makefile.in
  173. --- baseline/contrib/guavac/compiler/Makefile.in    Fri Aug  2 20:05:17 1996
  174. +++ amiga/contrib/guavac/compiler/Makefile.in    Sat Sep 28 00:00:00 1996
  175. @@ -3,6 +3,10 @@
  176.  # Autoconf for Guavac by Joerg Heitkoetter <joke@Germany.EU.net>, 1996.
  177.  # $Id: Makefile.in,v 1.10 1996/08/03 03:03:03 geppetto Exp geppetto $
  178.  
  179. +# Joop van de Wege
  180. +# 24-Jul-1996 Added LDFLAGS to final link step of 'guavac' and 'disassemble'
  181. +# 28-Jul-1996 Added lots of $(srcdir) and fixed parser.C/lexer.C
  182. +
  183.  # This program is free software; you can redistribute it and/or modify
  184.  # it under the terms of the GNU General Public License as published by
  185.  # the Free Software Foundation; either version 2, or (at your option)
  186. @@ -53,6 +57,8 @@ infodir = $(prefix)/info
  187.  datadir = $(prefix)/share
  188.  datasubdir = $(datadir)/guavac
  189.  
  190. +INCLUDES = -I. -I.. -I$(srcdir)/../common
  191. +INTERNAL_CFLAGS = $(CFLAGS) $(INCLUDES)
  192.  SUBDIRS = 
  193.  
  194.  DISTFILES = Makefile.in *.[hcCly] zextract.license.terms
  195. @@ -60,7 +66,7 @@ DISTFILES = Makefile.in *.[hcCly] zextra
  196.  all: guavad guavac
  197.  
  198.  guavad: DisassembleMain.o ../common/libcommon.a
  199. -    ${CCC} ${CFLAGS} -o $@ DisassembleMain.o ${COMPILELIBS}
  200. +    ${CCC} ${INTERNAL_CFLAGS} -o $@ DisassembleMain.o ${COMPILELIBS} ${LDFLAGS}
  201.  
  202.  COMPILEROBJS = CompilerInstantiations.o CompilerInstantiations2.o \
  203.      CompilerInstantiations3.o CompilerMain.o parser.o lexer.o Compiler.o \
  204. @@ -70,62 +76,62 @@ COMPILEROBJS = CompilerInstantiations.o 
  205.      zextract.o
  206.  
  207.  guavac: ${COMPILEROBJS} ../common/libcommon.a
  208. -    ${CCC} ${CFLAGS} -o $@ ${COMPILEROBJS} ${COMPILELIBS}
  209. +    ${CCC} ${INTERNAL_CFLAGS} -o $@ ${COMPILEROBJS} ${COMPILELIBS} ${LDFLAGS}
  210.  
  211.  CompilerInstantiations.o: CompilerInstantiations.C
  212. -    ${CCC} ${CFLAGS} -c CompilerInstantiations.C
  213. +    ${CCC} ${INTERNAL_CFLAGS} -c CompilerInstantiations.C
  214.  CompilerInstantiations2.o: CompilerInstantiations2.C
  215. -    ${CCC} ${CFLAGS} -c CompilerInstantiations2.C
  216. +    ${CCC} ${INTERNAL_CFLAGS} -c CompilerInstantiations2.C
  217.  CompilerInstantiations3.o: CompilerInstantiations3.C
  218. -    ${CCC} ${CFLAGS} -c CompilerInstantiations3.C
  219. +    ${CCC} ${INTERNAL_CFLAGS} -c CompilerInstantiations3.C
  220.  
  221.  lexer.o: lexer.C
  222. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c lexer.C
  223. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c lexer.C
  224.  lexer.C: lexer.l
  225. -    ${LEX} lexer.l
  226. +    ${LEX} $(srcdir)/lexer.l
  227.  
  228.  parser.o: parser.C
  229. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c parser.C
  230. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c parser.C
  231.  parser.C: parser.y
  232. -    ${YACC} -d parser.y -o parser.C
  233. +    ${YACC} -d $(srcdir)/parser.y -o parser.C
  234.      mv parser.C.h parser.h
  235.  
  236.  zextract.o: zextract.c
  237. -    ${CCC} ${CFLAGS} -c zextract.c
  238. +    ${CCC} ${INTERNAL_CFLAGS} -c $(srcdir)/zextract.c
  239.  
  240.  DisassembleMain.o: DisassembleMain.C
  241. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c DisassembleMain.C
  242. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/DisassembleMain.C
  243.  CompilerMain.o: CompilerMain.C
  244. -    ${CCC} ${CFLAGS}  -DDEFAULT_CLASSPATH=\".:$(datasubdir)/classes.zip\" ${TEMPLATEFLAGS} -c CompilerMain.C
  245. +    ${CCC} ${INTERNAL_CFLAGS}  -DDEFAULT_CLASSPATH=\".:$(datasubdir)/classes.zip\" ${TEMPLATEFLAGS} -c $(srcdir)/CompilerMain.C
  246.  Compiler.o: Compiler.C
  247. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c Compiler.C
  248. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/Compiler.C
  249.  BinaryExpression.o: BinaryExpression.C
  250. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c BinaryExpression.C
  251. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/BinaryExpression.C
  252.  Expression.o: Expression.C
  253. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c Expression.C
  254. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/Expression.C
  255.  IntermediateClass.o: IntermediateClass.C
  256. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c IntermediateClass.C
  257. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/IntermediateClass.C
  258.  IntermediateFunction.o: IntermediateFunction.C
  259. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c IntermediateFunction.C
  260. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/IntermediateFunction.C
  261.  VariableDeclaration.o: VariableDeclaration.C
  262. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c VariableDeclaration.C
  263. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/VariableDeclaration.C
  264.  Statement.o: Statement.C
  265. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c Statement.C
  266. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/Statement.C
  267.  CompileError.o: CompileError.C
  268. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c CompileError.C
  269. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/CompileError.C
  270.  FilterMain.o: FilterMain.C
  271. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c FilterMain.C
  272. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/FilterMain.C
  273.  CompileContext.o: CompileContext.C
  274. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c CompileContext.C
  275. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/CompileContext.C
  276.  NonlocalBranch.o: NonlocalBranch.C
  277. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c NonlocalBranch.C
  278. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/NonlocalBranch.C
  279.  CodeSequence.o: CodeSequence.C
  280. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c CodeSequence.C
  281. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/CodeSequence.C
  282.  JavaDirectory.o: JavaDirectory.C
  283. -    ${CCC} ${CFLAGS} ${TEMPLATEFLAGS} -c JavaDirectory.C
  284. +    ${CCC} ${INTERNAL_CFLAGS} ${TEMPLATEFLAGS} -c $(srcdir)/JavaDirectory.C
  285.  
  286.  classfilter: FilterMain.o
  287. -    ${CCC} ${CFLAGS} FilterMain.o ${COMPILELIBS} -o classfilter
  288. +    ${CCC} ${INTERNAL_CFLAGS} FilterMain.o ${COMPILELIBS} -o classfilter
  289.  
  290.  install: all
  291.      $(INSTALL_PROGRAM) guavac ${bindir}
  292. diff -rup --new-file baseline/contrib/guavac/compiler/lexer.C amiga/contrib/guavac/compiler/lexer.C
  293. --- baseline/contrib/guavac/compiler/lexer.C    Fri Aug  2 20:04:37 1996
  294. +++ amiga/contrib/guavac/compiler/lexer.C    Wed Dec 31 17:00:00 1969
  295. @@ -1,2395 +0,0 @@
  296. -#line 2 "lexer.C"
  297. -/* A lexical scanner generated by flex */
  298. -
  299. -/* Scanner skeleton version:
  300. - * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.85 95/04/24 10:48:47 vern Exp $
  301. - */
  302. -
  303. -#define FLEX_SCANNER
  304. -#define YY_FLEX_MAJOR_VERSION 2
  305. -#define YY_FLEX_MINOR_VERSION 5
  306. -
  307. -#include <stdio.h>
  308. -
  309. -
  310. -/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
  311. -#ifdef c_plusplus
  312. -#ifndef __cplusplus
  313. -#define __cplusplus
  314. -#endif
  315. -#endif
  316. -
  317. -
  318. -#ifdef __cplusplus
  319. -
  320. -#include <stdlib.h>
  321. -#include <unistd.h>
  322. -
  323. -/* Use prototypes in function declarations. */
  324. -#define YY_USE_PROTOS
  325. -
  326. -/* The "const" storage-class-modifier is valid. */
  327. -#define YY_USE_CONST
  328. -
  329. -#else    /* ! __cplusplus */
  330. -
  331. -#if __STDC__
  332. -
  333. -#define YY_USE_PROTOS
  334. -#define YY_USE_CONST
  335. -
  336. -#endif    /* __STDC__ */
  337. -#endif    /* ! __cplusplus */
  338. -
  339. -#ifdef __TURBOC__
  340. - #pragma warn -rch
  341. - #pragma warn -use
  342. -#include <io.h>
  343. -#include <stdlib.h>
  344. -#define YY_USE_CONST
  345. -#define YY_USE_PROTOS
  346. -#endif
  347. -
  348. -#ifdef YY_USE_CONST
  349. -#define yyconst const
  350. -#else
  351. -#define yyconst
  352. -#endif
  353. -
  354. -
  355. -#ifdef YY_USE_PROTOS
  356. -#define YY_PROTO(proto) proto
  357. -#else
  358. -#define YY_PROTO(proto) ()
  359. -#endif
  360. -
  361. -/* Returned upon end-of-file. */
  362. -#define YY_NULL 0
  363. -
  364. -/* Promotes a possibly negative, possibly signed char to an unsigned
  365. - * integer for use as an array index.  If the signed char is negative,
  366. - * we want to instead treat it as an 8-bit unsigned char, hence the
  367. - * double cast.
  368. - */
  369. -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
  370. -
  371. -/* Enter a start condition.  This macro really ought to take a parameter,
  372. - * but we do it the disgusting crufty way forced on us by the ()-less
  373. - * definition of BEGIN.
  374. - */
  375. -#define BEGIN yy_start = 1 + 2 *
  376. -
  377. -/* Translate the current start state into a value that can be later handed
  378. - * to BEGIN to return to the state.  The YYSTATE alias is for lex
  379. - * compatibility.
  380. - */
  381. -#define YY_START ((yy_start - 1) / 2)
  382. -#define YYSTATE YY_START
  383. -
  384. -/* Action number for EOF rule of a given start state. */
  385. -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  386. -
  387. -/* Special action meaning "start processing a new file". */
  388. -#define YY_NEW_FILE yyrestart( yyin )
  389. -
  390. -#define YY_END_OF_BUFFER_CHAR 0
  391. -
  392. -/* Size of default input buffer. */
  393. -#define YY_BUF_SIZE 16384
  394. -
  395. -typedef struct yy_buffer_state *YY_BUFFER_STATE;
  396. -
  397. -extern int yyleng;
  398. -extern FILE *yyin, *yyout;
  399. -
  400. -#define EOB_ACT_CONTINUE_SCAN 0
  401. -#define EOB_ACT_END_OF_FILE 1
  402. -#define EOB_ACT_LAST_MATCH 2
  403. -
  404. -/* The funky do-while in the following #define is used to turn the definition
  405. - * int a single C statement (which needs a semi-colon terminator).  This
  406. - * avoids problems with code like:
  407. - *
  408. - *     if ( condition_holds )
  409. - *        yyless( 5 );
  410. - *    else
  411. - *        do_something_else();
  412. - *
  413. - * Prior to using the do-while the compiler would get upset at the
  414. - * "else" because it interpreted the "if" statement as being all
  415. - * done when it reached the ';' after the yyless() call.
  416. - */
  417. -
  418. -/* Return all but the first 'n' matched characters back to the input stream. */
  419. -
  420. -#define yyless(n) \
  421. -    do \
  422. -        { \
  423. -        /* Undo effects of setting up yytext. */ \
  424. -        *yy_cp = yy_hold_char; \
  425. -        yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
  426. -        YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  427. -        } \
  428. -    while ( 0 )
  429. -
  430. -#define unput(c) yyunput( c, yytext_ptr )
  431. -
  432. -/* The following is because we cannot portably get our hands on size_t
  433. - * (without autoconf's help, which isn't available because we want
  434. - * flex-generated scanners to compile on their own).
  435. - */
  436. -typedef unsigned int yy_size_t;
  437. -
  438. -
  439. -struct yy_buffer_state
  440. -    {
  441. -    FILE *yy_input_file;
  442. -
  443. -    char *yy_ch_buf;        /* input buffer */
  444. -    char *yy_buf_pos;        /* current position in input buffer */
  445. -
  446. -    /* Size of input buffer in bytes, not including room for EOB
  447. -     * characters.
  448. -     */
  449. -    yy_size_t yy_buf_size;
  450. -
  451. -    /* Number of characters read into yy_ch_buf, not including EOB
  452. -     * characters.
  453. -     */
  454. -    int yy_n_chars;
  455. -
  456. -    /* Whether we "own" the buffer - i.e., we know we created it,
  457. -     * and can realloc() it to grow it, and should free() it to
  458. -     * delete it.
  459. -     */
  460. -    int yy_is_our_buffer;
  461. -
  462. -    /* Whether this is an "interactive" input source; if so, and
  463. -     * if we're using stdio for input, then we want to use getc()
  464. -     * instead of fread(), to make sure we stop fetching input after
  465. -     * each newline.
  466. -     */
  467. -    int yy_is_interactive;
  468. -
  469. -    /* Whether we're considered to be at the beginning of a line.
  470. -     * If so, '^' rules will be active on the next match, otherwise
  471. -     * not.
  472. -     */
  473. -    int yy_at_bol;
  474. -
  475. -    /* Whether to try to fill the input buffer when we reach the
  476. -     * end of it.
  477. -     */
  478. -    int yy_fill_buffer;
  479. -
  480. -    int yy_buffer_status;
  481. -#define YY_BUFFER_NEW 0
  482. -#define YY_BUFFER_NORMAL 1
  483. -    /* When an EOF's been seen but there's still some text to process
  484. -     * then we mark the buffer as YY_EOF_PENDING, to indicate that we
  485. -     * shouldn't try reading from the input source any more.  We might
  486. -     * still have a bunch of tokens to match, though, because of
  487. -     * possible backing-up.
  488. -     *
  489. -     * When we actually see the EOF, we change the status to "new"
  490. -     * (via yyrestart()), so that the user can continue scanning by
  491. -     * just pointing yyin at a new input file.
  492. -     */
  493. -#define YY_BUFFER_EOF_PENDING 2
  494. -    };
  495. -
  496. -static YY_BUFFER_STATE yy_current_buffer = 0;
  497. -
  498. -/* We provide macros for accessing buffer states in case in the
  499. - * future we want to put the buffer states in a more general
  500. - * "scanner state".
  501. - */
  502. -#define YY_CURRENT_BUFFER yy_current_buffer
  503. -
  504. -
  505. -/* yy_hold_char holds the character lost when yytext is formed. */
  506. -static char yy_hold_char;
  507. -
  508. -static int yy_n_chars;        /* number of characters read into yy_ch_buf */
  509. -
  510. -
  511. -int yyleng;
  512. -
  513. -/* Points to current character in buffer. */
  514. -static char *yy_c_buf_p = (char *) 0;
  515. -static int yy_init = 1;        /* whether we need to initialize */
  516. -static int yy_start = 0;    /* start state number */
  517. -
  518. -/* Flag which is used to allow yywrap()'s to do buffer switches
  519. - * instead of setting up a fresh yyin.  A bit of a hack ...
  520. - */
  521. -static int yy_did_buffer_switch_on_eof;
  522. -
  523. -void yyrestart YY_PROTO(( FILE *input_file ));
  524. -
  525. -void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
  526. -void yy_load_buffer_state YY_PROTO(( void ));
  527. -YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
  528. -void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
  529. -void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
  530. -void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
  531. -#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
  532. -
  533. -YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
  534. -YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *str ));
  535. -YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
  536. -
  537. -static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
  538. -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
  539. -static void yy_flex_free YY_PROTO(( void * ));
  540. -
  541. -#define yy_new_buffer yy_create_buffer
  542. -
  543. -#define yy_set_interactive(is_interactive) \
  544. -    { \
  545. -    if ( ! yy_current_buffer ) \
  546. -        yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
  547. -    yy_current_buffer->yy_is_interactive = is_interactive; \
  548. -    }
  549. -
  550. -#define yy_set_bol(at_bol) \
  551. -    { \
  552. -    if ( ! yy_current_buffer ) \
  553. -        yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
  554. -    yy_current_buffer->yy_at_bol = at_bol; \
  555. -    }
  556. -
  557. -#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
  558. -
  559. -
  560. -#define YY_USES_REJECT
  561. -
  562. -#define yywrap() 1
  563. -#define YY_SKIP_YYWRAP
  564. -typedef unsigned char YY_CHAR;
  565. -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  566. -typedef int yy_state_type;
  567. -extern int yylineno;
  568. -int yylineno = 1;
  569. -extern char *yytext;
  570. -#define yytext_ptr yytext
  571. -
  572. -static yy_state_type yy_get_previous_state YY_PROTO(( void ));
  573. -static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
  574. -static int yy_get_next_buffer YY_PROTO(( void ));
  575. -static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
  576. -
  577. -/* Done after the current pattern has been matched and before the
  578. - * corresponding action - sets up yytext.
  579. - */
  580. -#define YY_DO_BEFORE_ACTION \
  581. -    yytext_ptr = yy_bp; \
  582. -    yyleng = (int) (yy_cp - yy_bp); \
  583. -    yy_hold_char = *yy_cp; \
  584. -    *yy_cp = '\0'; \
  585. -    yy_c_buf_p = yy_cp;
  586. -
  587. -#define YY_NUM_RULES 91
  588. -#define YY_END_OF_BUFFER 92
  589. -static yyconst short int yy_acclist[416] =
  590. -    {   0,
  591. -       92,   90,   91,    7,   90,   91,    7,   91,   88,   90,
  592. -       91,   90,   91,   89,   90,   91,   88,   90,   91,   88,
  593. -       90,   91,   90,   91,   88,   90,   91,   88,   90,   91,
  594. -       88,   90,   91,   88,   90,   91,   88,   90,   91,   88,
  595. -       90,   91,   13,   90,   91,   11,   90,   91,   88,   90,
  596. -       91,   88,   90,   91,   88,   90,   91,   88,   90,   91,
  597. -       89,   90,   91,   89,   90,   91,   89,   90,   91,   89,
  598. -       90,   91,   89,   90,   91,   89,   90,   91,   89,   90,
  599. -       91,   89,   90,   91,   89,   90,   91,   89,   90,   91,
  600. -       89,   90,   91,   89,   90,   91,   89,   90,   91,   89,
  601. -
  602. -       90,   91,   89,   90,   91,   88,   90,   91,    3,   91,
  603. -        4,   91,    3,   91,    3,   91,    7,   87,   17,   89,
  604. -       73,   82,   74,   71,   80,   69,   81,   70,   16,    5,
  605. -        6,   72,   16,   13,   16,   15,   10,   11,    8,   79,
  606. -       84,   86,   85,   77,   75,   89,   89,   89,   89,   89,
  607. -       89,   89,   89,   89,   28,   89,   89,   89,   89,   89,
  608. -       89,   89,   37,   89,   89,   89,   89,   89,   89,   89,
  609. -       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
  610. -       89,   89,   89,   76,   83,    2,    1,   14,    6,   16,
  611. -       16,   12,   68,   66,   78,   89,   89,   89,   89,   89,
  612. -
  613. -       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
  614. -       89,   36,   89,   89,   89,   41,   89,   89,   89,   45,
  615. -       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
  616. -       89,   89,   89,   89,   89,   89,   63,   89,   89,   89,
  617. -       89,   16,    9,   67,   89,   89,   89,   21,   89,   22,
  618. -       89,   89,   24,   89,   89,   89,   89,   89,   30,   89,
  619. -       89,   89,   89,   89,   89,   89,   89,   89,   43,   89,
  620. -       89,   46,   89,   89,   89,   89,   89,   89,   89,   89,
  621. -       89,   89,   89,   57,   89,   89,   89,   62,   89,   64,
  622. -       89,   89,   89,   89,   89,   20,   89,   23,   89,   25,
  623. -
  624. -       89,   89,   89,   89,   89,   32,   89,   33,   89,   35,
  625. -       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
  626. -       89,   52,   89,   89,   54,   89,   89,   89,   59,   89,
  627. -       89,   89,   65,   89,   89,   89,   89,   89,   29,   89,
  628. -       89,   89,   89,   39,   89,   89,   89,   44,   89,   89,
  629. -       89,   89,   50,   89,   51,   89,   53,   89,   55,   89,
  630. -       89,   60,   89,   89,   89,   89,   19,   89,   89,   27,
  631. -       89,   31,   89,   34,   89,   89,   89,   89,   47,   89,
  632. -       48,   89,   89,   89,   89,   89,   18,   89,   26,   89,
  633. -       89,   89,   89,   89,   89,   89,   58,   89,   89,   89,
  634. -
  635. -       42,   89,   49,   89,   89,   61,   89,   38,   89,   40,
  636. -       89,   89,   89,   56,   89
  637. -    } ;
  638. -
  639. -static yyconst short int yy_accept[341] =
  640. -    {   0,
  641. -        1,    1,    1,    1,    1,    2,    4,    7,    9,   12,
  642. -       14,   17,   20,   23,   25,   28,   31,   34,   37,   40,
  643. -       43,   46,   49,   52,   55,   58,   61,   64,   67,   70,
  644. -       73,   76,   79,   82,   85,   88,   91,   94,   97,  100,
  645. -      103,  106,  109,  111,  113,  115,  117,  118,  119,  119,
  646. -      120,  120,  120,  121,  122,  123,  124,  124,  124,  124,
  647. -      125,  126,  127,  128,  129,  130,  131,  132,  133,  134,
  648. -      135,  135,  136,  136,  137,  138,  138,  139,  140,  141,
  649. -      142,  143,  144,  145,  146,  147,  148,  149,  150,  151,
  650. -      152,  153,  154,  155,  157,  158,  159,  160,  161,  162,
  651. -
  652. -      163,  165,  166,  167,  168,  169,  170,  171,  172,  173,
  653. -      174,  175,  176,  177,  178,  179,  180,  181,  182,  183,
  654. -      184,  185,  186,  187,  188,  188,  188,  189,  189,  189,
  655. -      189,  190,  191,  191,  192,  193,  194,  195,  196,  197,
  656. -      198,  199,  200,  201,  202,  203,  204,  205,  206,  207,
  657. -      208,  209,  210,  211,  212,  214,  215,  216,  218,  219,
  658. -      220,  222,  223,  224,  225,  226,  227,  228,  229,  230,
  659. -      231,  232,  233,  234,  235,  236,  237,  239,  240,  241,
  660. -      242,  242,  242,  242,  242,  242,  243,  244,  245,  246,
  661. -      247,  248,  250,  252,  253,  255,  256,  257,  258,  259,
  662. -
  663. -      261,  262,  263,  264,  265,  266,  267,  268,  269,  271,
  664. -      272,  274,  275,  276,  277,  278,  279,  280,  281,  282,
  665. -      283,  284,  286,  287,  288,  290,  292,  293,  294,  294,
  666. -      294,  294,  294,  295,  296,  298,  300,  302,  303,  304,
  667. -      305,  306,  308,  310,  312,  313,  314,  315,  316,  317,
  668. -      318,  319,  320,  321,  322,  324,  325,  327,  328,  329,
  669. -      331,  332,  333,  335,  335,  335,  335,  335,  336,  337,
  670. -      338,  339,  341,  342,  343,  344,  346,  347,  348,  350,
  671. -      351,  352,  353,  355,  357,  359,  361,  362,  364,  365,
  672. -      366,  366,  366,  366,  366,  366,  367,  369,  370,  372,
  673. -
  674. -      374,  376,  377,  378,  379,  381,  383,  384,  385,  386,
  675. -      387,  387,  387,  387,  387,  389,  391,  392,  393,  394,
  676. -      395,  396,  397,  399,  399,  399,  399,  399,  400,  401,
  677. -      403,  405,  406,  408,  410,  412,  413,  414,  416,  416
  678. -    } ;
  679. -
  680. -static yyconst int yy_ec[256] =
  681. -    {   0,
  682. -        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
  683. -        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
  684. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  685. -        1,    2,    4,    5,    1,    6,    7,    8,    9,   10,
  686. -       10,   11,   12,   10,   13,   14,   15,   16,   17,   18,
  687. -       19,   20,   20,   20,   20,   21,   21,   10,   10,   22,
  688. -       23,   24,   10,    1,   25,   25,   25,   26,   27,   28,
  689. -        6,    6,    6,    6,    6,   29,    6,    6,    6,    6,
  690. -        6,    6,    6,    6,    6,    6,    6,   30,    6,    6,
  691. -       31,   32,   33,   34,    6,    1,   35,   36,   37,   38,
  692. -
  693. -       39,   40,   41,   42,   43,    6,   44,   45,   46,   47,
  694. -       48,   49,    6,   50,   51,   52,   53,   54,   55,   56,
  695. -       57,   58,   10,   59,   10,   10,    1,    1,    1,    1,
  696. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  697. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  698. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  699. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  700. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  701. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  702. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  703. -
  704. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  705. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  706. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  707. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  708. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  709. -        1,    1,    1,    1,    1
  710. -    } ;
  711. -
  712. -static yyconst int yy_meta[60] =
  713. -    {   0,
  714. -        1,    1,    2,    1,    1,    3,    1,    1,    4,    1,
  715. -        1,    1,    1,    1,    1,    5,    5,    5,    5,    5,
  716. -        5,    1,    1,    1,    6,    5,    6,    5,    3,    3,
  717. -        1,    1,    1,    1,    6,    6,    6,    5,    6,    5,
  718. -        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
  719. -        3,    3,    3,    3,    3,    3,    3,    3,    1
  720. -    } ;
  721. -
  722. -static yyconst short int yy_base[352] =
  723. -    {   0,
  724. -        0,    0,   57,   58,  642,  643,   60,   62,  618,   61,
  725. -        0,  617,   59,   39,  643,  616,   62,   63,   78,   64,
  726. -       86,  129,   55,  615,   57,  614,  600,   60,   85,   70,
  727. -       45,   93,  113,  587,   84,  126,  595,  120,   41,  585,
  728. -      590,  106,  643,  643,  616,  619,   86,  643,  139,  643,
  729. -      173,   81,    0,  643,  643,  643,  620,  123,  177,  643,
  730. -      643,  643,  643,  643,  215,  643,    0,  643,  174,  110,
  731. -      242,  643,  190,  643,  643,    0,    0,  643,  605,  643,
  732. -      643,  643,   98,  643,  576,  578,  586,  572,  100,  588,
  733. -      587,  574,  580,  566,  567,  565,  571,  568,  566,  563,
  734. -
  735. -        0,  563,  112,  564,  558,  554,  563,  570,  139,  570,
  736. -      553,  556,  568,  553,  558,  553,  138,  161,  140,  556,
  737. -      643,  643,  643,  643,  195,  278,  643,  581,  588,  203,
  738. -        0,    0,  228,  212,  168,  643,  643,  573,  543,  549,
  739. -      558,  553,  552,  553,  539,  537,  535,  551,  549,  545,
  740. -      544,  531,  546,  545,    0,  153,  527,  539,  536,  533,
  741. -        0,  530,  530,  519,  520,  526,  517,  519,  516,  528,
  742. -      514,  528,  513,  515,  515,  522,    0,  522,  524,  513,
  743. -      246,  303,  539,    0,  255,  262,  643,  643,  506,  516,
  744. -      510,    0,    0,  511,    0,  501,  508,  497,  504,    0,
  745. -
  746. -      501,  508,  501,  493,  505,  493,  507,  491,    0,  486,
  747. -        0,  504,  503,  498,  493,  485,  482,  490,  482,  494,
  748. -      488,    0,  474,  462,    0,    0,  457,  464,  260,  328,
  749. -      463,    0,  446,  445,    0,    0,    0,  432,  422,  426,
  750. -      426,    0,  418,    0,  414,  407,  411,  411,  398,  395,
  751. -      382,  395,  394,  383,    0,  392,    0,  386,  368,  366,
  752. -      373,  372,    0,  345,  363,  292,    0,  377,  366,  358,
  753. -      353,    0,  346,  339,  355,    0,  355,  352,    0,  336,
  754. -      330,  310,    0,    0,    0,    0,  312,    0,  319,  312,
  755. -      354,  388,  280,  317,  277,  300,    0,  312,    0,    0,
  756. -
  757. -        0,  285,  288,  270,    0,    0,  250,  240,  237,  228,
  758. -      390,  407,  424,  436,    0,    0,  214,  209,  200,  199,
  759. -      186,  176,    0,  430,  452,  457,  469,  174,  177,    0,
  760. -        0,  141,    0,    0,    0,  145,  116,    0,  643,  489,
  761. -      495,  499,  505,  511,  513,  516,  130,  518,  106,  520,
  762. -      522
  763. -    } ;
  764. -
  765. -static yyconst short int yy_def[352] =
  766. -    {   0,
  767. -      339,    1,  340,  340,  339,  339,  339,  339,  339,  341,
  768. -      342,  339,  339,  343,  339,  339,  339,  339,  339,  339,
  769. -      339,  339,  339,  339,  339,  339,  342,  342,  342,  342,
  770. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  771. -      342,  339,  339,  339,  339,  339,  339,  339,  341,  339,
  772. -      341,  341,  342,  339,  339,  339,  339,  339,  343,  339,
  773. -      339,  339,  339,  339,  339,  339,  344,  339,   65,   21,
  774. -      339,  339,  339,  339,  339,  345,   22,  339,  339,  339,
  775. -      339,  339,  339,  339,  342,  342,  342,  342,  342,  342,
  776. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  777. -
  778. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  779. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  780. -      339,  339,  339,  339,  341,  341,  339,  339,  346,  339,
  781. -      344,   69,  339,  347,  345,  339,  339,  339,  342,  342,
  782. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  783. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  784. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  785. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  786. -      341,  126,  339,  348,  339,  349,  339,  339,  342,  342,
  787. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  788. -
  789. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  790. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  791. -      342,  342,  342,  342,  342,  342,  342,  342,  341,  126,
  792. -      339,  350,  342,  342,  342,  342,  342,  342,  342,  342,
  793. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  794. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  795. -      342,  342,  342,  341,  126,  339,  351,  342,  342,  342,
  796. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  797. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  798. -      341,  341,  341,  339,  339,  342,  342,  342,  342,  342,
  799. -
  800. -      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  801. -      341,  341,  339,  339,  342,  342,  342,  342,  342,  342,
  802. -      342,  342,  342,  341,  341,  339,  339,  342,  342,  342,
  803. -      342,  342,  342,  342,  342,  342,  342,  342,    0,  339,
  804. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  805. -      339
  806. -    } ;
  807. -
  808. -static yyconst short int yy_nxt[703] =
  809. -    {   0,
  810. -        6,    7,    8,    9,   10,   11,   12,   13,   14,   15,
  811. -       16,   17,   18,   19,   20,   21,   22,   22,   22,   22,
  812. -       22,   23,   24,   25,   11,   11,   11,   11,   11,   11,
  813. -       15,    6,   15,   26,   27,   28,   29,   30,   31,   32,
  814. -       11,   11,   33,   11,   34,   11,   35,   11,   36,   37,
  815. -       38,   39,   11,   40,   41,   11,   11,   11,   42,   44,
  816. -       44,   47,   47,   47,   47,   50,   55,   45,   45,   58,
  817. -       59,   46,   46,   61,   66,   63,   79,   80,   67,   82,
  818. -       83,   56,  117,  339,   62,   64,   68,   47,   47,   95,
  819. -      118,   51,   52,   65,   65,   65,   65,   65,   65,   69,
  820. -
  821. -       96,   70,   70,   70,   70,   70,   71,   86,   93,   87,
  822. -      186,   72,   73,   74,   75,   76,   88,   94,  105,   89,
  823. -      137,  138,  106,   72,   73,   74,   90,   97,  121,   91,
  824. -       75,  127,   92,  126,  134,   98,  107,   99,  128,  339,
  825. -      100,   76,   69,   50,   77,   77,   77,   77,   77,   77,
  826. -      143,  144,  101,  338,   72,   73,   74,   78,  102,  103,
  827. -      108,  112,  157,  158,  122,  339,   72,   73,   74,   51,
  828. -       52,  113,  114,   78,  115,  109,  116,   50,  110,  339,
  829. -      173,  164,  178,  337,  179,   57,  165,  174,  125,  132,
  830. -      132,  132,  132,  132,  132,  175,  187,  205,  336,   50,
  831. -
  832. -      206,  133,  133,   51,   52,  134,  134,  134,  134,  134,
  833. -      134,  181,  187,  176,  185,  185,  335,  177,  186,  186,
  834. -      186,  186,  186,  186,  334,   51,   52,  333,  332,  129,
  835. -       65,   65,   65,   65,   65,   65,  331,   72,  330,   74,
  836. -       72,  130,   74,  134,  134,  134,  134,  134,  134,   72,
  837. -       50,   74,   72,  130,   74,   69,  329,   71,   71,   71,
  838. -       71,   71,   71,  229,   50,  328,  323,   72,   73,   74,
  839. -      186,  186,  186,  186,  186,  186,   51,   52,  264,   72,
  840. -       73,   74,   50,  322,   50,  127,  321,   72,  320,   74,
  841. -       51,   52,  294,  182,  182,  182,  182,  182,  182,   72,
  842. -
  843. -      127,   74,  182,  182,  182,  182,  319,  294,   51,   52,
  844. -       51,   52,  182,  182,  182,  182,  182,  182,  230,  230,
  845. -      230,  230,  230,  230,  295,  127,  318,  230,  230,  230,
  846. -      230,  317,  313,  314,  314,  314,  314,  230,  230,  230,
  847. -      230,  230,  230,  265,  265,  265,  265,  265,  265,   50,
  848. -      316,  315,  265,  265,  265,  265,  310,  309,   50,  308,
  849. -      291,  307,  265,  265,  265,  265,  265,  265,  306,  311,
  850. -      312,  312,  312,  312,  305,   51,   52,  292,  293,  293,
  851. -      293,  293,  293,  293,   51,   52,  304,  293,  293,  293,
  852. -      293,  303,   50,  302,   50,  301,  300,  293,  293,  293,
  853. -
  854. -      293,  293,  293,  291,  299,  324,  325,  325,  325,  325,
  855. -      298,   50,  297,  296,  290,  289,  288,  287,   51,   52,
  856. -       51,   52,  311,  312,  312,  312,  312,  286,  285,  284,
  857. -      283,  282,  127,  281,   50,  280,  279,   51,   52,  326,
  858. -      327,  327,  327,  327,  127,  324,  325,  325,  325,  325,
  859. -      278,  313,  314,  314,  314,  314,   50,  277,  276,  275,
  860. -       51,   52,  274,  273,  272,  127,  271,  324,  325,  325,
  861. -      325,  325,  326,  327,  327,  327,  327,  127,  270,  269,
  862. -      268,  266,   51,   52,  326,  327,  327,  327,  327,   43,
  863. -       43,   43,   43,   43,   43,   49,   49,   49,   49,   49,
  864. -
  865. -       49,   53,  263,   53,   53,   57,   57,   57,  262,   57,
  866. -       57,  131,  261,  131,  131,  131,  131,  135,  135,  184,
  867. -      184,  184,  232,  232,  267,  267,   57,   57,  260,  259,
  868. -      258,  257,  256,  255,  254,  253,  252,  251,  250,  249,
  869. -      248,  247,  246,  245,  244,  243,  242,  241,  240,  239,
  870. -      238,  237,  236,  235,  234,  233,  231,  228,  227,  226,
  871. -      225,  224,  223,  222,  221,  220,  219,  218,  217,  216,
  872. -      215,  214,  213,  212,  211,  210,  209,  208,  207,  204,
  873. -      203,  202,  201,  200,  199,  198,  197,  196,  195,  194,
  874. -      193,  192,  191,  190,  189,  188,  127,  183,  180,  172,
  875. -
  876. -      171,  170,  169,  168,  167,  166,  163,  162,  161,  160,
  877. -      159,  156,  155,  154,  153,  152,  151,  150,  149,  148,
  878. -      147,  146,  145,  142,  141,  140,  139,  136,  127,  124,
  879. -      123,  120,  119,  111,  104,   85,   84,   81,   60,   54,
  880. -       48,  339,    5,  339,  339,  339,  339,  339,  339,  339,
  881. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  882. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  883. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  884. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  885. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  886. -
  887. -      339,  339
  888. -    } ;
  889. -
  890. -static yyconst short int yy_chk[703] =
  891. -    {   0,
  892. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  893. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  894. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  895. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  896. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  897. -        1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
  898. -        4,    7,    7,    8,    8,   10,   13,    3,    4,   14,
  899. -       14,    3,    4,   17,   20,   18,   23,   23,   20,   25,
  900. -       25,   13,   39,   52,   17,   18,   20,   47,   47,   31,
  901. -       39,   10,   10,   19,   19,   19,   19,   19,   19,   21,
  902. -
  903. -       31,   21,   21,   21,   21,   21,   21,   28,   30,   28,
  904. -      349,   21,   21,   21,   21,   21,   28,   30,   35,   29,
  905. -       83,   83,   35,   21,   21,   21,   29,   32,   42,   29,
  906. -       21,   58,   29,   52,  347,   32,   35,   32,   58,   70,
  907. -       32,   21,   22,   49,   22,   22,   22,   22,   22,   22,
  908. -       89,   89,   33,  337,   22,   22,   22,   22,   33,   33,
  909. -       36,   38,  103,  103,   42,   70,   22,   22,   22,   49,
  910. -       49,   38,   38,   22,   38,   36,   38,   51,   36,   59,
  911. -      117,  109,  119,  336,  119,   59,  109,  117,   51,   69,
  912. -       69,   69,   69,   69,   69,  118,  135,  156,  332,  125,
  913. -
  914. -      156,   73,   73,   51,   51,   73,   73,   73,   73,   73,
  915. -       73,  125,  135,  118,  130,  130,  329,  118,  130,  130,
  916. -      130,  130,  130,  130,  328,  125,  125,  322,  321,   59,
  917. -       65,   65,   65,   65,   65,   65,  320,  134,  319,  134,
  918. -       65,   65,   65,  133,  133,  133,  133,  133,  133,  134,
  919. -      181,  134,   65,   65,   65,   71,  318,   71,   71,   71,
  920. -       71,   71,   71,  181,  229,  317,  310,   71,   71,   71,
  921. -      185,  185,  185,  185,  185,  185,  181,  181,  229,   71,
  922. -       71,   71,  126,  309,  293,  295,  308,  186,  307,  186,
  923. -      229,  229,  295,  126,  126,  126,  126,  126,  126,  186,
  924. -
  925. -      266,  186,  126,  126,  126,  126,  304,  266,  126,  126,
  926. -      293,  293,  126,  126,  126,  126,  126,  126,  182,  182,
  927. -      182,  182,  182,  182,  266,  294,  303,  182,  182,  182,
  928. -      182,  302,  294,  294,  294,  294,  294,  182,  182,  182,
  929. -      182,  182,  182,  230,  230,  230,  230,  230,  230,  264,
  930. -      298,  296,  230,  230,  230,  230,  290,  289,  291,  287,
  931. -      264,  282,  230,  230,  230,  230,  230,  230,  281,  291,
  932. -      291,  291,  291,  291,  280,  264,  264,  264,  265,  265,
  933. -      265,  265,  265,  265,  291,  291,  278,  265,  265,  265,
  934. -      265,  277,  292,  275,  311,  274,  273,  265,  265,  265,
  935. -
  936. -      265,  265,  265,  292,  271,  311,  311,  311,  311,  311,
  937. -      270,  312,  269,  268,  262,  261,  260,  259,  292,  292,
  938. -      311,  311,  312,  312,  312,  312,  312,  258,  256,  254,
  939. -      253,  252,  313,  251,  324,  250,  249,  312,  312,  313,
  940. -      313,  313,  313,  313,  314,  324,  324,  324,  324,  324,
  941. -      248,  314,  314,  314,  314,  314,  325,  247,  246,  245,
  942. -      324,  324,  243,  241,  240,  326,  239,  325,  325,  325,
  943. -      325,  325,  326,  326,  326,  326,  326,  327,  238,  234,
  944. -      233,  231,  325,  325,  327,  327,  327,  327,  327,  340,
  945. -      340,  340,  340,  340,  340,  341,  341,  341,  341,  341,
  946. -
  947. -      341,  342,  228,  342,  342,  343,  343,  343,  227,  343,
  948. -      343,  344,  224,  344,  344,  344,  344,  345,  345,  346,
  949. -      346,  346,  348,  348,  350,  350,  351,  351,  223,  221,
  950. -      220,  219,  218,  217,  216,  215,  214,  213,  212,  210,
  951. -      208,  207,  206,  205,  204,  203,  202,  201,  199,  198,
  952. -      197,  196,  194,  191,  190,  189,  183,  180,  179,  178,
  953. -      176,  175,  174,  173,  172,  171,  170,  169,  168,  167,
  954. -      166,  165,  164,  163,  162,  160,  159,  158,  157,  154,
  955. -      153,  152,  151,  150,  149,  148,  147,  146,  145,  144,
  956. -      143,  142,  141,  140,  139,  138,  129,  128,  120,  116,
  957. -
  958. -      115,  114,  113,  112,  111,  110,  108,  107,  106,  105,
  959. -      104,  102,  100,   99,   98,   97,   96,   95,   94,   93,
  960. -       92,   91,   90,   88,   87,   86,   85,   79,   57,   46,
  961. -       45,   41,   40,   37,   34,   27,   26,   24,   16,   12,
  962. -        9,    5,  339,  339,  339,  339,  339,  339,  339,  339,
  963. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  964. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  965. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  966. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  967. -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
  968. -
  969. -      339,  339
  970. -    } ;
  971. -
  972. -static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
  973. -static char *yy_full_match;
  974. -static int yy_lp;
  975. -#define REJECT \
  976. -{ \
  977. -*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
  978. -yy_cp = yy_full_match; /* restore poss. backed-over text */ \
  979. -++yy_lp; \
  980. -goto find_rule; \
  981. -}
  982. -#define yymore() yymore_used_but_not_detected
  983. -#define YY_MORE_ADJ 0
  984. -char *yytext;
  985. -#line 1 "lexer.l"
  986. -#define INITIAL 0
  987. -#line 2 "lexer.l"
  988. -// Copyright (c) 1995  David Engberg  All rights reserved
  989. -// $Id: lexer.l,v 1.6 1996/08/03 03:03:06 geppetto Exp $
  990. - #include <string>
  991. - #include <cstdio>
  992. - #include <cctype>
  993. - #include <stream.h>
  994. - #include "unicode_string.h"
  995. - #include "parser_decls.h"
  996. - #include "parser.h"
  997. -
  998. - YY_BUFFER_STATE gInputBuffer;
  999. -
  1000. - unicode_string LexStringToUnicode(const char* inputString);
  1001. - unsigned long long ParseLong(const char* inputString, unsigned short base);
  1002. -#define YY_NEVER_INTERACTIVE 1
  1003. -#define INCOMMENT 1
  1004. -
  1005. -/*
  1006. - * The {DIGIT}+ part of both of these is contrary to the written spec, but
  1007. - * their compiler accepts 0f as a valid float literal, so I needed to add this
  1008. - * for compatibility.
  1009. - */
  1010. -/* haven't dealt with their Unicode scheme yet. */
  1011. -#line 717 "lexer.C"
  1012. -
  1013. -/* Macros after this point can all be overridden by user definitions in
  1014. - * section 1.
  1015. - */
  1016. -
  1017. -#ifndef YY_SKIP_YYWRAP
  1018. -#ifdef __cplusplus
  1019. -extern "C" int yywrap YY_PROTO(( void ));
  1020. -#else
  1021. -extern int yywrap YY_PROTO(( void ));
  1022. -#endif
  1023. -#endif
  1024. -
  1025. -#ifndef YY_NO_UNPUT
  1026. -static void yyunput YY_PROTO(( int c, char *buf_ptr ));
  1027. -#endif
  1028. -
  1029. -#ifndef yytext_ptr
  1030. -static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
  1031. -#endif
  1032. -
  1033. -#ifndef YY_NO_INPUT
  1034. -#ifdef __cplusplus
  1035. -static int yyinput YY_PROTO(( void ));
  1036. -#else
  1037. -static int input YY_PROTO(( void ));
  1038. -#endif
  1039. -#endif
  1040. -
  1041. -#if YY_STACK_USED
  1042. -static int yy_start_stack_ptr = 0;
  1043. -static int yy_start_stack_depth = 0;
  1044. -static int *yy_start_stack = 0;
  1045. -#ifndef YY_NO_PUSH_STATE
  1046. -static void yy_push_state YY_PROTO(( int new_state ));
  1047. -#endif
  1048. -#ifndef YY_NO_POP_STATE
  1049. -static void yy_pop_state YY_PROTO(( void ));
  1050. -#endif
  1051. -#ifndef YY_NO_TOP_STATE
  1052. -static int yy_top_state YY_PROTO(( void ));
  1053. -#endif
  1054. -
  1055. -#else
  1056. -#define YY_NO_PUSH_STATE 1
  1057. -#define YY_NO_POP_STATE 1
  1058. -#define YY_NO_TOP_STATE 1
  1059. -#endif
  1060. -
  1061. -#ifdef YY_MALLOC_DECL
  1062. -YY_MALLOC_DECL
  1063. -#else
  1064. -#if __STDC__
  1065. -#ifndef __cplusplus
  1066. -#include <stdlib.h>
  1067. -#endif
  1068. -#else
  1069. -/* Just try to get by without declaring the routines.  This will fail
  1070. - * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
  1071. - * or sizeof(void*) != sizeof(int).
  1072. - */
  1073. -#endif
  1074. -#endif
  1075. -
  1076. -/* Amount of stuff to slurp up with each read. */
  1077. -#ifndef YY_READ_BUF_SIZE
  1078. -#define YY_READ_BUF_SIZE 8192
  1079. -#endif
  1080. -
  1081. -/* Copy whatever the last rule matched to the standard output. */
  1082. -
  1083. -#ifndef ECHO
  1084. -/* This used to be an fputs(), but since the string might contain NUL's,
  1085. - * we now use fwrite().
  1086. - */
  1087. -#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
  1088. -#endif
  1089. -
  1090. -/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
  1091. - * is returned in "result".
  1092. - */
  1093. -#ifndef YY_INPUT
  1094. -#define YY_INPUT(buf,result,max_size) \
  1095. -    if ( yy_current_buffer->yy_is_interactive ) \
  1096. -        { \
  1097. -        int c = '*', n; \
  1098. -        for ( n = 0; n < max_size && \
  1099. -                 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
  1100. -            buf[n] = (char) c; \
  1101. -        if ( c == '\n' ) \
  1102. -            buf[n++] = (char) c; \
  1103. -        if ( c == EOF && ferror( yyin ) ) \
  1104. -            YY_FATAL_ERROR( "input in flex scanner failed" ); \
  1105. -        result = n; \
  1106. -        } \
  1107. -    else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
  1108. -          && ferror( yyin ) ) \
  1109. -        YY_FATAL_ERROR( "input in flex scanner failed" );
  1110. -#endif
  1111. -
  1112. -/* No semi-colon after return; correct usage is to write "yyterminate();" -
  1113. - * we don't want an extra ';' after the "return" because that will cause
  1114. - * some compilers to complain about unreachable statements.
  1115. - */
  1116. -#ifndef yyterminate
  1117. -#define yyterminate() return YY_NULL
  1118. -#endif
  1119. -
  1120. -/* Number of entries by which start-condition stack grows. */
  1121. -#ifndef YY_START_STACK_INCR
  1122. -#define YY_START_STACK_INCR 25
  1123. -#endif
  1124. -
  1125. -/* Report a fatal error. */
  1126. -#ifndef YY_FATAL_ERROR
  1127. -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
  1128. -#endif
  1129. -
  1130. -/* Default declaration of generated scanner - a define so the user can
  1131. - * easily add parameters.
  1132. - */
  1133. -#ifndef YY_DECL
  1134. -#define YY_DECL int yylex YY_PROTO(( void ))
  1135. -#endif
  1136. -
  1137. -/* Code executed at the beginning of each rule, after yytext and yyleng
  1138. - * have been set up.
  1139. - */
  1140. -#ifndef YY_USER_ACTION
  1141. -#define YY_USER_ACTION
  1142. -#endif
  1143. -
  1144. -/* Code executed at the end of each rule. */
  1145. -#ifndef YY_BREAK
  1146. -#define YY_BREAK break;
  1147. -#endif
  1148. -
  1149. -#define YY_RULE_SETUP \
  1150. -    YY_USER_ACTION
  1151. -
  1152. -YY_DECL
  1153. -    {
  1154. -    register yy_state_type yy_current_state;
  1155. -    register char *yy_cp, *yy_bp;
  1156. -    register int yy_act;
  1157. -
  1158. -#line 58 "lexer.l"
  1159. -
  1160. -
  1161. -#line 867 "lexer.C"
  1162. -
  1163. -    if ( yy_init )
  1164. -        {
  1165. -        yy_init = 0;
  1166. -
  1167. -#ifdef YY_USER_INIT
  1168. -        YY_USER_INIT;
  1169. -#endif
  1170. -
  1171. -        if ( ! yy_start )
  1172. -            yy_start = 1;    /* first start state */
  1173. -
  1174. -        if ( ! yyin )
  1175. -            yyin = stdin;
  1176. -
  1177. -        if ( ! yyout )
  1178. -            yyout = stdout;
  1179. -
  1180. -        if ( ! yy_current_buffer )
  1181. -            yy_current_buffer =
  1182. -                yy_create_buffer( yyin, YY_BUF_SIZE );
  1183. -
  1184. -        yy_load_buffer_state();
  1185. -        }
  1186. -
  1187. -    while ( 1 )        /* loops until end-of-file is reached */
  1188. -        {
  1189. -        yy_cp = yy_c_buf_p;
  1190. -
  1191. -        /* Support of yytext. */
  1192. -        *yy_cp = yy_hold_char;
  1193. -
  1194. -        /* yy_bp points to the position in yy_ch_buf of the start of
  1195. -         * the current run.
  1196. -         */
  1197. -        yy_bp = yy_cp;
  1198. -
  1199. -        yy_current_state = yy_start;
  1200. -        yy_state_ptr = yy_state_buf;
  1201. -        *yy_state_ptr++ = yy_current_state;
  1202. -yy_match:
  1203. -        do
  1204. -            {
  1205. -            register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
  1206. -            while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  1207. -                {
  1208. -                yy_current_state = (int) yy_def[yy_current_state];
  1209. -                if ( yy_current_state >= 340 )
  1210. -                    yy_c = yy_meta[(unsigned int) yy_c];
  1211. -                }
  1212. -            yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  1213. -            *yy_state_ptr++ = yy_current_state;
  1214. -            ++yy_cp;
  1215. -            }
  1216. -        while ( yy_base[yy_current_state] != 643 );
  1217. -
  1218. -yy_find_action:
  1219. -        yy_current_state = *--yy_state_ptr;
  1220. -        yy_lp = yy_accept[yy_current_state];
  1221. -find_rule: /* we branch to this label when backing up */
  1222. -        for ( ; ; ) /* until we find what rule we matched */
  1223. -            {
  1224. -            if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
  1225. -                {
  1226. -                yy_act = yy_acclist[yy_lp];
  1227. -                    {
  1228. -                    yy_full_match = yy_cp;
  1229. -                    break;
  1230. -                    }
  1231. -                }
  1232. -            --yy_cp;
  1233. -            yy_current_state = *--yy_state_ptr;
  1234. -            yy_lp = yy_accept[yy_current_state];
  1235. -            }
  1236. -
  1237. -        YY_DO_BEFORE_ACTION;
  1238. -
  1239. -        if ( yy_act != YY_END_OF_BUFFER )
  1240. -            {
  1241. -            int yyl;
  1242. -            for ( yyl = 0; yyl < yyleng; ++yyl )
  1243. -                if ( yytext[yyl] == '\n' )
  1244. -                    ++yylineno;
  1245. -            }
  1246. -
  1247. -do_action:    /* This label is used only to access EOF actions. */
  1248. -
  1249. -
  1250. -        switch ( yy_act )
  1251. -    { /* beginning of action switch */
  1252. -case 1:
  1253. -YY_RULE_SETUP
  1254. -#line 60 "lexer.l"
  1255. -;
  1256. -    YY_BREAK
  1257. -case 2:
  1258. -YY_RULE_SETUP
  1259. -#line 61 "lexer.l"
  1260. -{ BEGIN(INITIAL); }
  1261. -    YY_BREAK
  1262. -case 3:
  1263. -YY_RULE_SETUP
  1264. -#line 62 "lexer.l"
  1265. -;
  1266. -    YY_BREAK
  1267. -case 4:
  1268. -YY_RULE_SETUP
  1269. -#line 63 "lexer.l"
  1270. -;
  1271. -    YY_BREAK
  1272. -case 5:
  1273. -YY_RULE_SETUP
  1274. -#line 64 "lexer.l"
  1275. -{ BEGIN(INCOMMENT); }
  1276. -    YY_BREAK
  1277. -case 6:
  1278. -YY_RULE_SETUP
  1279. -#line 65 "lexer.l"
  1280. -;
  1281. -    YY_BREAK
  1282. -case 7:
  1283. -YY_RULE_SETUP
  1284. -#line 66 "lexer.l"
  1285. -;
  1286. -    YY_BREAK
  1287. -case 8:
  1288. -YY_RULE_SETUP
  1289. -#line 67 "lexer.l"
  1290. -{ yytext[yyleng - 1] = '\0';
  1291. -                  yylval.doubleLong = ::ParseLong(yytext, 10);
  1292. -                  return(LONG_LITERAL); }
  1293. -    YY_BREAK
  1294. -case 9:
  1295. -YY_RULE_SETUP
  1296. -#line 70 "lexer.l"
  1297. -{ yytext[yyleng - 1] = '\0';
  1298. -                  yylval.doubleLong = ::ParseLong(yytext + 2, 16);
  1299. -                  return(LONG_LITERAL); }
  1300. -    YY_BREAK
  1301. -case 10:
  1302. -YY_RULE_SETUP
  1303. -#line 73 "lexer.l"
  1304. -{ yytext[yyleng - 1] = '\0';
  1305. -                  yylval.doubleLong = ::ParseLong(yytext + 1, 8);
  1306. -                  return(LONG_LITERAL); }
  1307. -    YY_BREAK
  1308. -case 11:
  1309. -YY_RULE_SETUP
  1310. -#line 76 "lexer.l"
  1311. -{ yylval.longNumber = ::atoi(yytext); return(INT_LITERAL); }
  1312. -    YY_BREAK
  1313. -case 12:
  1314. -YY_RULE_SETUP
  1315. -#line 77 "lexer.l"
  1316. -{ yylval.longNumber = ::strtol(yytext, 0, 16);
  1317. -                  return(INT_LITERAL); }
  1318. -    YY_BREAK
  1319. -case 13:
  1320. -YY_RULE_SETUP
  1321. -#line 79 "lexer.l"
  1322. -{ yylval.longNumber = ::strtol(yytext, 0, 8);
  1323. -                  return(INT_LITERAL); }
  1324. -    YY_BREAK
  1325. -case 14:
  1326. -YY_RULE_SETUP
  1327. -#line 81 "lexer.l"
  1328. -{ yytext[yyleng - 1] = '\0';
  1329. -                  unicode_string tempString = ::LexStringToUnicode(yytext + 1);
  1330. -          if (tempString.length() > 0) {
  1331. -            yylval.longNumber = tempString[tempString.length() - 1];
  1332. -            return (CHARACTER_LITERAL);
  1333. -          } else {
  1334. -            return(ERROR);
  1335. -          }
  1336. -                }
  1337. -    YY_BREAK
  1338. -case 15:
  1339. -YY_RULE_SETUP
  1340. -#line 90 "lexer.l"
  1341. -{ yylval.floatNumber = ::atof(yytext); return(FLOAT_LITERAL); }
  1342. -    YY_BREAK
  1343. -case 16:
  1344. -YY_RULE_SETUP
  1345. -#line 91 "lexer.l"
  1346. -{ yylval.doubleFloat = ::atof(yytext);
  1347. -                  return(DOUBLE_LITERAL); }
  1348. -    YY_BREAK
  1349. -case 17:
  1350. -YY_RULE_SETUP
  1351. -#line 93 "lexer.l"
  1352. -{ yytext[yyleng - 1] = '\0';
  1353. -                  yylval.text =
  1354. -                     new unicode_string(::LexStringToUnicode(yytext + 1));
  1355. -                  yytext[yyleng] = '"';   // restore it, just in case
  1356. -                  return(STRING_LITERAL); }
  1357. -    YY_BREAK
  1358. -case 18:
  1359. -YY_RULE_SETUP
  1360. -#line 98 "lexer.l"
  1361. -{ return(ABSTRACT); }
  1362. -    YY_BREAK
  1363. -case 19:
  1364. -YY_RULE_SETUP
  1365. -#line 99 "lexer.l"
  1366. -{ return(BOOLEAN); }
  1367. -    YY_BREAK
  1368. -case 20:
  1369. -YY_RULE_SETUP
  1370. -#line 100 "lexer.l"
  1371. -{ return(BREAK); }
  1372. -    YY_BREAK
  1373. -case 21:
  1374. -YY_RULE_SETUP
  1375. -#line 101 "lexer.l"
  1376. -{ return(BYTE); }
  1377. -    YY_BREAK
  1378. -case 22:
  1379. -YY_RULE_SETUP
  1380. -#line 102 "lexer.l"
  1381. -{ return(CASE); }
  1382. -    YY_BREAK
  1383. -case 23:
  1384. -YY_RULE_SETUP
  1385. -#line 103 "lexer.l"
  1386. -{ return(CATCH); }
  1387. -    YY_BREAK
  1388. -case 24:
  1389. -YY_RULE_SETUP
  1390. -#line 104 "lexer.l"
  1391. -{ return(CHAR); }
  1392. -    YY_BREAK
  1393. -case 25:
  1394. -YY_RULE_SETUP
  1395. -#line 105 "lexer.l"
  1396. -{ return(CLASS); }
  1397. -    YY_BREAK
  1398. -case 26:
  1399. -YY_RULE_SETUP
  1400. -#line 106 "lexer.l"
  1401. -{ return(CONTINUE); }
  1402. -    YY_BREAK
  1403. -case 27:
  1404. -YY_RULE_SETUP
  1405. -#line 107 "lexer.l"
  1406. -{ return(DEFAULT ); }
  1407. -    YY_BREAK
  1408. -case 28:
  1409. -YY_RULE_SETUP
  1410. -#line 108 "lexer.l"
  1411. -{ return(DO); }
  1412. -    YY_BREAK
  1413. -case 29:
  1414. -YY_RULE_SETUP
  1415. -#line 109 "lexer.l"
  1416. -{ return(DOUBLE); }
  1417. -    YY_BREAK
  1418. -case 30:
  1419. -YY_RULE_SETUP
  1420. -#line 110 "lexer.l"
  1421. -{ return(ELSE); }
  1422. -    YY_BREAK
  1423. -case 31:
  1424. -YY_RULE_SETUP
  1425. -#line 111 "lexer.l"
  1426. -{ return(EXTENDS); }
  1427. -    YY_BREAK
  1428. -case 32:
  1429. -YY_RULE_SETUP
  1430. -#line 112 "lexer.l"
  1431. -{ return(FALSE_TOKEN); }
  1432. -    YY_BREAK
  1433. -case 33:
  1434. -YY_RULE_SETUP
  1435. -#line 113 "lexer.l"
  1436. -{ return(FINAL); }
  1437. -    YY_BREAK
  1438. -case 34:
  1439. -YY_RULE_SETUP
  1440. -#line 114 "lexer.l"
  1441. -{ return(FINALLY); }
  1442. -    YY_BREAK
  1443. -case 35:
  1444. -YY_RULE_SETUP
  1445. -#line 115 "lexer.l"
  1446. -{ return(FLOAT); }
  1447. -    YY_BREAK
  1448. -case 36:
  1449. -YY_RULE_SETUP
  1450. -#line 116 "lexer.l"
  1451. -{ return(FOR); }
  1452. -    YY_BREAK
  1453. -case 37:
  1454. -YY_RULE_SETUP
  1455. -#line 117 "lexer.l"
  1456. -{ return(IF); }
  1457. -    YY_BREAK
  1458. -case 38:
  1459. -YY_RULE_SETUP
  1460. -#line 118 "lexer.l"
  1461. -{ return(IMPLEMENTS ); }
  1462. -    YY_BREAK
  1463. -case 39:
  1464. -YY_RULE_SETUP
  1465. -#line 119 "lexer.l"
  1466. -{ return(IMPORT); }
  1467. -    YY_BREAK
  1468. -case 40:
  1469. -YY_RULE_SETUP
  1470. -#line 120 "lexer.l"
  1471. -{ return(INSTANCEOF); }
  1472. -    YY_BREAK
  1473. -case 41:
  1474. -YY_RULE_SETUP
  1475. -#line 121 "lexer.l"
  1476. -{ return(INT); }
  1477. -    YY_BREAK
  1478. -case 42:
  1479. -YY_RULE_SETUP
  1480. -#line 122 "lexer.l"
  1481. -{ return(INTERFACE); }
  1482. -    YY_BREAK
  1483. -case 43:
  1484. -YY_RULE_SETUP
  1485. -#line 123 "lexer.l"
  1486. -{ return(LONG); }
  1487. -    YY_BREAK
  1488. -case 44:
  1489. -YY_RULE_SETUP
  1490. -#line 124 "lexer.l"
  1491. -{ return(NATIVE); }
  1492. -    YY_BREAK
  1493. -case 45:
  1494. -YY_RULE_SETUP
  1495. -#line 125 "lexer.l"
  1496. -{ return(NEW); }
  1497. -    YY_BREAK
  1498. -case 46:
  1499. -YY_RULE_SETUP
  1500. -#line 126 "lexer.l"
  1501. -{ return(NULL_TOKEN); }
  1502. -    YY_BREAK
  1503. -case 47:
  1504. -YY_RULE_SETUP
  1505. -#line 127 "lexer.l"
  1506. -{ return(PACKAGE ); }
  1507. -    YY_BREAK
  1508. -case 48:
  1509. -YY_RULE_SETUP
  1510. -#line 128 "lexer.l"
  1511. -{ return(PRIVATE); }
  1512. -    YY_BREAK
  1513. -case 49:
  1514. -YY_RULE_SETUP
  1515. -#line 129 "lexer.l"
  1516. -{ return(PROTECTED); }
  1517. -    YY_BREAK
  1518. -case 50:
  1519. -YY_RULE_SETUP
  1520. -#line 130 "lexer.l"
  1521. -{ return(PUBLIC); }
  1522. -    YY_BREAK
  1523. -case 51:
  1524. -YY_RULE_SETUP
  1525. -#line 131 "lexer.l"
  1526. -{ return(RETURN); }
  1527. -    YY_BREAK
  1528. -case 52:
  1529. -YY_RULE_SETUP
  1530. -#line 132 "lexer.l"
  1531. -{ return(SHORT); }
  1532. -    YY_BREAK
  1533. -case 53:
  1534. -YY_RULE_SETUP
  1535. -#line 133 "lexer.l"
  1536. -{ return(STATIC); }
  1537. -    YY_BREAK
  1538. -case 54:
  1539. -YY_RULE_SETUP
  1540. -#line 134 "lexer.l"
  1541. -{ return(SUPER); }
  1542. -    YY_BREAK
  1543. -case 55:
  1544. -YY_RULE_SETUP
  1545. -#line 135 "lexer.l"
  1546. -{ return(SWITCH); }
  1547. -    YY_BREAK
  1548. -case 56:
  1549. -YY_RULE_SETUP
  1550. -#line 136 "lexer.l"
  1551. -{ return(SYNCHRONIZED ); }
  1552. -    YY_BREAK
  1553. -case 57:
  1554. -YY_RULE_SETUP
  1555. -#line 137 "lexer.l"
  1556. -{ return(THIS); }
  1557. -    YY_BREAK
  1558. -case 58:
  1559. -YY_RULE_SETUP
  1560. -#line 138 "lexer.l"
  1561. -{ return(VOLATILE); }
  1562. -    YY_BREAK
  1563. -case 59:
  1564. -YY_RULE_SETUP
  1565. -#line 139 "lexer.l"
  1566. -{ return(THROW); }
  1567. -    YY_BREAK
  1568. -case 60:
  1569. -YY_RULE_SETUP
  1570. -#line 140 "lexer.l"
  1571. -{ return(THROWS); }
  1572. -    YY_BREAK
  1573. -case 61:
  1574. -YY_RULE_SETUP
  1575. -#line 141 "lexer.l"
  1576. -{ return(TRANSIENT); }
  1577. -    YY_BREAK
  1578. -case 62:
  1579. -YY_RULE_SETUP
  1580. -#line 142 "lexer.l"
  1581. -{ return(TRUE_TOKEN); }
  1582. -    YY_BREAK
  1583. -case 63:
  1584. -YY_RULE_SETUP
  1585. -#line 143 "lexer.l"
  1586. -{ return(TRY); }
  1587. -    YY_BREAK
  1588. -case 64:
  1589. -YY_RULE_SETUP
  1590. -#line 144 "lexer.l"
  1591. -{ return(VOID); }
  1592. -    YY_BREAK
  1593. -case 65:
  1594. -YY_RULE_SETUP
  1595. -#line 145 "lexer.l"
  1596. -{ return(WHILE ); }
  1597. -    YY_BREAK
  1598. -case 66:
  1599. -YY_RULE_SETUP
  1600. -#line 146 "lexer.l"
  1601. -{ return(SHIFT_RIGHT_EQUALS); }
  1602. -    YY_BREAK
  1603. -case 67:
  1604. -YY_RULE_SETUP
  1605. -#line 147 "lexer.l"
  1606. -{ return(FILL_SHIFT_RIGHT_EQUALS); }
  1607. -    YY_BREAK
  1608. -case 68:
  1609. -YY_RULE_SETUP
  1610. -#line 148 "lexer.l"
  1611. -{ return(SHIFT_LEFT_EQUALS); }
  1612. -    YY_BREAK
  1613. -case 69:
  1614. -YY_RULE_SETUP
  1615. -#line 149 "lexer.l"
  1616. -{ return(ADD_EQUALS); }
  1617. -    YY_BREAK
  1618. -case 70:
  1619. -YY_RULE_SETUP
  1620. -#line 150 "lexer.l"
  1621. -{ return(SUB_EQUALS); }
  1622. -    YY_BREAK
  1623. -case 71:
  1624. -YY_RULE_SETUP
  1625. -#line 151 "lexer.l"
  1626. -{ return(MUL_EQUALS); }
  1627. -    YY_BREAK
  1628. -case 72:
  1629. -YY_RULE_SETUP
  1630. -#line 152 "lexer.l"
  1631. -{ return(DIV_EQUALS); }
  1632. -    YY_BREAK
  1633. -case 73:
  1634. -YY_RULE_SETUP
  1635. -#line 153 "lexer.l"
  1636. -{ return(MOD_EQUALS); }
  1637. -    YY_BREAK
  1638. -case 74:
  1639. -YY_RULE_SETUP
  1640. -#line 154 "lexer.l"
  1641. -{ return(AND_EQUALS); }
  1642. -    YY_BREAK
  1643. -case 75:
  1644. -YY_RULE_SETUP
  1645. -#line 155 "lexer.l"
  1646. -{ return(XOR_EQUALS); }
  1647. -    YY_BREAK
  1648. -case 76:
  1649. -YY_RULE_SETUP
  1650. -#line 156 "lexer.l"
  1651. -{ return(OR_EQUALS); }
  1652. -    YY_BREAK
  1653. -case 77:
  1654. -YY_RULE_SETUP
  1655. -#line 157 "lexer.l"
  1656. -{ return(BITSHIFT_RIGHT); }
  1657. -    YY_BREAK
  1658. -case 78:
  1659. -YY_RULE_SETUP
  1660. -#line 158 "lexer.l"
  1661. -{ return(FILL_SHIFT_RIGHT); }
  1662. -    YY_BREAK
  1663. -case 79:
  1664. -YY_RULE_SETUP
  1665. -#line 159 "lexer.l"
  1666. -{ return(SHIFT_LEFT); }
  1667. -    YY_BREAK
  1668. -case 80:
  1669. -YY_RULE_SETUP
  1670. -#line 160 "lexer.l"
  1671. -{ return(INCR); }
  1672. -    YY_BREAK
  1673. -case 81:
  1674. -YY_RULE_SETUP
  1675. -#line 161 "lexer.l"
  1676. -{ return(DECR); }
  1677. -    YY_BREAK
  1678. -case 82:
  1679. -YY_RULE_SETUP
  1680. -#line 162 "lexer.l"
  1681. -{ return(AND); }
  1682. -    YY_BREAK
  1683. -case 83:
  1684. -YY_RULE_SETUP
  1685. -#line 163 "lexer.l"
  1686. -{ return(OR); }
  1687. -    YY_BREAK
  1688. -case 84:
  1689. -YY_RULE_SETUP
  1690. -#line 164 "lexer.l"
  1691. -{ return(LTEQ); }
  1692. -    YY_BREAK
  1693. -case 85:
  1694. -YY_RULE_SETUP
  1695. -#line 165 "lexer.l"
  1696. -{ return(GTEQ); }
  1697. -    YY_BREAK
  1698. -case 86:
  1699. -YY_RULE_SETUP
  1700. -#line 166 "lexer.l"
  1701. -{ return(EQUAL_COMPARE); }
  1702. -    YY_BREAK
  1703. -case 87:
  1704. -YY_RULE_SETUP
  1705. -#line 167 "lexer.l"
  1706. -{ return(NOT_EQUAL); }
  1707. -    YY_BREAK
  1708. -case 88:
  1709. -YY_RULE_SETUP
  1710. -#line 168 "lexer.l"
  1711. -{ return(*yytext); }
  1712. -    YY_BREAK
  1713. -case 89:
  1714. -YY_RULE_SETUP
  1715. -#line 169 "lexer.l"
  1716. -{ yylval.text =
  1717. -                     new unicode_string(::LexStringToUnicode(yytext));
  1718. -                  return(SYMBOL); }
  1719. -    YY_BREAK
  1720. -case 90:
  1721. -YY_RULE_SETUP
  1722. -#line 172 "lexer.l"
  1723. -{ yylval.longNumber = *yytext;  return(ERROR); }
  1724. -    YY_BREAK
  1725. -case 91:
  1726. -YY_RULE_SETUP
  1727. -#line 174 "lexer.l"
  1728. -ECHO;
  1729. -    YY_BREAK
  1730. -#line 1436 "lexer.C"
  1731. -            case YY_STATE_EOF(INITIAL):
  1732. -            case YY_STATE_EOF(INCOMMENT):
  1733. -                yyterminate();
  1734. -
  1735. -    case YY_END_OF_BUFFER:
  1736. -        {
  1737. -        /* Amount of text matched not including the EOB char. */
  1738. -        int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
  1739. -
  1740. -        /* Undo the effects of YY_DO_BEFORE_ACTION. */
  1741. -        *yy_cp = yy_hold_char;
  1742. -
  1743. -        if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
  1744. -            {
  1745. -            /* We're scanning a new file or input source.  It's
  1746. -             * possible that this happened because the user
  1747. -             * just pointed yyin at a new source and called
  1748. -             * yylex().  If so, then we have to assure
  1749. -             * consistency between yy_current_buffer and our
  1750. -             * globals.  Here is the right place to do so, because
  1751. -             * this is the first action (other than possibly a
  1752. -             * back-up) that will match for the new input source.
  1753. -             */
  1754. -            yy_n_chars = yy_current_buffer->yy_n_chars;
  1755. -            yy_current_buffer->yy_input_file = yyin;
  1756. -            yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
  1757. -            }
  1758. -
  1759. -        /* Note that here we test for yy_c_buf_p "<=" to the position
  1760. -         * of the first EOB in the buffer, since yy_c_buf_p will
  1761. -         * already have been incremented past the NUL character
  1762. -         * (since all states make transitions on EOB to the
  1763. -         * end-of-buffer state).  Contrast this with the test
  1764. -         * in input().
  1765. -         */
  1766. -        if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  1767. -            { /* This was really a NUL. */
  1768. -            yy_state_type yy_next_state;
  1769. -
  1770. -            yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
  1771. -
  1772. -            yy_current_state = yy_get_previous_state();
  1773. -
  1774. -            /* Okay, we're now positioned to make the NUL
  1775. -             * transition.  We couldn't have
  1776. -             * yy_get_previous_state() go ahead and do it
  1777. -             * for us because it doesn't know how to deal
  1778. -             * with the possibility of jamming (and we don't
  1779. -             * want to build jamming into it because then it
  1780. -             * will run more slowly).
  1781. -             */
  1782. -
  1783. -            yy_next_state = yy_try_NUL_trans( yy_current_state );
  1784. -
  1785. -            yy_bp = yytext_ptr + YY_MORE_ADJ;
  1786. -
  1787. -            if ( yy_next_state )
  1788. -                {
  1789. -                /* Consume the NUL. */
  1790. -                yy_cp = ++yy_c_buf_p;
  1791. -                yy_current_state = yy_next_state;
  1792. -                goto yy_match;
  1793. -                }
  1794. -
  1795. -            else
  1796. -                {
  1797. -                yy_cp = yy_c_buf_p;
  1798. -                goto yy_find_action;
  1799. -                }
  1800. -            }
  1801. -
  1802. -        else switch ( yy_get_next_buffer() )
  1803. -            {
  1804. -            case EOB_ACT_END_OF_FILE:
  1805. -                {
  1806. -                yy_did_buffer_switch_on_eof = 0;
  1807. -
  1808. -                if ( yywrap() )
  1809. -                    {
  1810. -                    /* Note: because we've taken care in
  1811. -                     * yy_get_next_buffer() to have set up
  1812. -                     * yytext, we can now set up
  1813. -                     * yy_c_buf_p so that if some total
  1814. -                     * hoser (like flex itself) wants to
  1815. -                     * call the scanner after we return the
  1816. -                     * YY_NULL, it'll still work - another
  1817. -                     * YY_NULL will get returned.
  1818. -                     */
  1819. -                    yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
  1820. -
  1821. -                    yy_act = YY_STATE_EOF(YY_START);
  1822. -                    goto do_action;
  1823. -                    }
  1824. -
  1825. -                else
  1826. -                    {
  1827. -                    if ( ! yy_did_buffer_switch_on_eof )
  1828. -                        YY_NEW_FILE;
  1829. -                    }
  1830. -                break;
  1831. -                }
  1832. -
  1833. -            case EOB_ACT_CONTINUE_SCAN:
  1834. -                yy_c_buf_p =
  1835. -                    yytext_ptr + yy_amount_of_matched_text;
  1836. -
  1837. -                yy_current_state = yy_get_previous_state();
  1838. -
  1839. -                yy_cp = yy_c_buf_p;
  1840. -                yy_bp = yytext_ptr + YY_MORE_ADJ;
  1841. -                goto yy_match;
  1842. -
  1843. -            case EOB_ACT_LAST_MATCH:
  1844. -                yy_c_buf_p =
  1845. -                &yy_current_buffer->yy_ch_buf[yy_n_chars];
  1846. -
  1847. -                yy_current_state = yy_get_previous_state();
  1848. -
  1849. -                yy_cp = yy_c_buf_p;
  1850. -                yy_bp = yytext_ptr + YY_MORE_ADJ;
  1851. -                goto yy_find_action;
  1852. -            }
  1853. -        break;
  1854. -        }
  1855. -
  1856. -    default:
  1857. -        YY_FATAL_ERROR(
  1858. -            "fatal flex scanner internal error--no action found" );
  1859. -    } /* end of action switch */
  1860. -        } /* end of scanning one token */
  1861. -    } /* end of yylex */
  1862. -
  1863. -
  1864. -/* yy_get_next_buffer - try to read in a new buffer
  1865. - *
  1866. - * Returns a code representing an action:
  1867. - *    EOB_ACT_LAST_MATCH -
  1868. - *    EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  1869. - *    EOB_ACT_END_OF_FILE - end of file
  1870. - */
  1871. -
  1872. -static int yy_get_next_buffer()
  1873. -    {
  1874. -    register char *dest = yy_current_buffer->yy_ch_buf;
  1875. -    register char *source = yytext_ptr;
  1876. -    register int number_to_move, i;
  1877. -    int ret_val;
  1878. -
  1879. -    if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
  1880. -        YY_FATAL_ERROR(
  1881. -        "fatal flex scanner internal error--end of buffer missed" );
  1882. -
  1883. -    if ( yy_current_buffer->yy_fill_buffer == 0 )
  1884. -        { /* Don't try to fill the buffer, so this is an EOF. */
  1885. -        if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
  1886. -            {
  1887. -            /* We matched a singled characater, the EOB, so
  1888. -             * treat this as a final EOF.
  1889. -             */
  1890. -            return EOB_ACT_END_OF_FILE;
  1891. -            }
  1892. -
  1893. -        else
  1894. -            {
  1895. -            /* We matched some text prior to the EOB, first
  1896. -             * process it.
  1897. -             */
  1898. -            return EOB_ACT_LAST_MATCH;
  1899. -            }
  1900. -        }
  1901. -
  1902. -    /* Try to read more data. */
  1903. -
  1904. -    /* First move last chars to start of buffer. */
  1905. -    number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
  1906. -
  1907. -    for ( i = 0; i < number_to_move; ++i )
  1908. -        *(dest++) = *(source++);
  1909. -
  1910. -    if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
  1911. -        /* don't do the read, it's not guaranteed to return an EOF,
  1912. -         * just force an EOF
  1913. -         */
  1914. -        yy_n_chars = 0;
  1915. -
  1916. -    else
  1917. -        {
  1918. -        int num_to_read =
  1919. -            yy_current_buffer->yy_buf_size - number_to_move - 1;
  1920. -
  1921. -        while ( num_to_read <= 0 )
  1922. -            { /* Not enough room in the buffer - grow it. */
  1923. -#ifdef YY_USES_REJECT
  1924. -            YY_FATAL_ERROR(
  1925. -"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
  1926. -#else
  1927. -
  1928. -            /* just a shorter name for the current buffer */
  1929. -            YY_BUFFER_STATE b = yy_current_buffer;
  1930. -
  1931. -            int yy_c_buf_p_offset =
  1932. -                (int) (yy_c_buf_p - b->yy_ch_buf);
  1933. -
  1934. -            if ( b->yy_is_our_buffer )
  1935. -                {
  1936. -                int new_size = b->yy_buf_size * 2;
  1937. -
  1938. -                if ( new_size <= 0 )
  1939. -                    b->yy_buf_size += b->yy_buf_size / 8;
  1940. -                else
  1941. -                    b->yy_buf_size *= 2;
  1942. -
  1943. -                b->yy_ch_buf = (char *)
  1944. -                    /* Include room in for 2 EOB chars. */
  1945. -                    yy_flex_realloc( (void *) b->yy_ch_buf,
  1946. -                             b->yy_buf_size + 2 );
  1947. -                }
  1948. -            else
  1949. -                /* Can't grow it, we don't own it. */
  1950. -                b->yy_ch_buf = 0;
  1951. -
  1952. -            if ( ! b->yy_ch_buf )
  1953. -                YY_FATAL_ERROR(
  1954. -                "fatal error - scanner input buffer overflow" );
  1955. -
  1956. -            yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
  1957. -
  1958. -            num_to_read = yy_current_buffer->yy_buf_size -
  1959. -                        number_to_move - 1;
  1960. -#endif
  1961. -            }
  1962. -
  1963. -        if ( num_to_read > YY_READ_BUF_SIZE )
  1964. -            num_to_read = YY_READ_BUF_SIZE;
  1965. -
  1966. -        /* Read in more data. */
  1967. -        YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
  1968. -            yy_n_chars, num_to_read );
  1969. -        }
  1970. -
  1971. -    if ( yy_n_chars == 0 )
  1972. -        {
  1973. -        if ( number_to_move == YY_MORE_ADJ )
  1974. -            {
  1975. -            ret_val = EOB_ACT_END_OF_FILE;
  1976. -            yyrestart( yyin );
  1977. -            }
  1978. -
  1979. -        else
  1980. -            {
  1981. -            ret_val = EOB_ACT_LAST_MATCH;
  1982. -            yy_current_buffer->yy_buffer_status =
  1983. -                YY_BUFFER_EOF_PENDING;
  1984. -            }
  1985. -        }
  1986. -
  1987. -    else
  1988. -        ret_val = EOB_ACT_CONTINUE_SCAN;
  1989. -
  1990. -    yy_n_chars += number_to_move;
  1991. -    yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
  1992. -    yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
  1993. -
  1994. -    yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
  1995. -
  1996. -    return ret_val;
  1997. -    }
  1998. -
  1999. -
  2000. -/* yy_get_previous_state - get the state just before the EOB char was reached */
  2001. -
  2002. -static yy_state_type yy_get_previous_state()
  2003. -    {
  2004. -    register yy_state_type yy_current_state;
  2005. -    register char *yy_cp;
  2006. -
  2007. -    yy_current_state = yy_start;
  2008. -    yy_state_ptr = yy_state_buf;
  2009. -    *yy_state_ptr++ = yy_current_state;
  2010. -
  2011. -    for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
  2012. -        {
  2013. -        register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
  2014. -        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  2015. -            {
  2016. -            yy_current_state = (int) yy_def[yy_current_state];
  2017. -            if ( yy_current_state >= 340 )
  2018. -                yy_c = yy_meta[(unsigned int) yy_c];
  2019. -            }
  2020. -        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  2021. -        *yy_state_ptr++ = yy_current_state;
  2022. -        }
  2023. -
  2024. -    return yy_current_state;
  2025. -    }
  2026. -
  2027. -
  2028. -/* yy_try_NUL_trans - try to make a transition on the NUL character
  2029. - *
  2030. - * synopsis
  2031. - *    next_state = yy_try_NUL_trans( current_state );
  2032. - */
  2033. -
  2034. -#ifdef YY_USE_PROTOS
  2035. -static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
  2036. -#else
  2037. -static yy_state_type yy_try_NUL_trans( yy_current_state )
  2038. -yy_state_type yy_current_state;
  2039. -#endif
  2040. -    {
  2041. -    register int yy_is_jam;
  2042. -
  2043. -    register YY_CHAR yy_c = 1;
  2044. -    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  2045. -        {
  2046. -        yy_current_state = (int) yy_def[yy_current_state];
  2047. -        if ( yy_current_state >= 340 )
  2048. -            yy_c = yy_meta[(unsigned int) yy_c];
  2049. -        }
  2050. -    yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  2051. -    *yy_state_ptr++ = yy_current_state;
  2052. -    yy_is_jam = (yy_current_state == 339);
  2053. -
  2054. -    return yy_is_jam ? 0 : yy_current_state;
  2055. -    }
  2056. -
  2057. -
  2058. -#ifndef YY_NO_UNPUT
  2059. -#ifdef YY_USE_PROTOS
  2060. -static void yyunput( int c, register char *yy_bp )
  2061. -#else
  2062. -static void yyunput( c, yy_bp )
  2063. -int c;
  2064. -register char *yy_bp;
  2065. -#endif
  2066. -    {
  2067. -    register char *yy_cp = yy_c_buf_p;
  2068. -
  2069. -    /* undo effects of setting up yytext */
  2070. -    *yy_cp = yy_hold_char;
  2071. -
  2072. -    if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  2073. -        { /* need to shift things up to make room */
  2074. -        /* +2 for EOB chars. */
  2075. -        register int number_to_move = yy_n_chars + 2;
  2076. -        register char *dest = &yy_current_buffer->yy_ch_buf[
  2077. -                    yy_current_buffer->yy_buf_size + 2];
  2078. -        register char *source =
  2079. -                &yy_current_buffer->yy_ch_buf[number_to_move];
  2080. -
  2081. -        while ( source > yy_current_buffer->yy_ch_buf )
  2082. -            *--dest = *--source;
  2083. -
  2084. -        yy_cp += (int) (dest - source);
  2085. -        yy_bp += (int) (dest - source);
  2086. -        yy_n_chars = yy_current_buffer->yy_buf_size;
  2087. -
  2088. -        if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  2089. -            YY_FATAL_ERROR( "flex scanner push-back overflow" );
  2090. -        }
  2091. -
  2092. -    *--yy_cp = (char) c;
  2093. -
  2094. -    if ( c == '\n' )
  2095. -        --yylineno;
  2096. -
  2097. -    yytext_ptr = yy_bp;
  2098. -    yy_hold_char = *yy_cp;
  2099. -    yy_c_buf_p = yy_cp;
  2100. -    }
  2101. -#endif    /* ifndef YY_NO_UNPUT */
  2102. -
  2103. -
  2104. -#ifdef __cplusplus
  2105. -static int yyinput()
  2106. -#else
  2107. -static int input()
  2108. -#endif
  2109. -    {
  2110. -    int c;
  2111. -
  2112. -    *yy_c_buf_p = yy_hold_char;
  2113. -
  2114. -    if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
  2115. -        {
  2116. -        /* yy_c_buf_p now points to the character we want to return.
  2117. -         * If this occurs *before* the EOB characters, then it's a
  2118. -         * valid NUL; if not, then we've hit the end of the buffer.
  2119. -         */
  2120. -        if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  2121. -            /* This was really a NUL. */
  2122. -            *yy_c_buf_p = '\0';
  2123. -
  2124. -        else
  2125. -            { /* need more input */
  2126. -            yytext_ptr = yy_c_buf_p;
  2127. -            ++yy_c_buf_p;
  2128. -
  2129. -            switch ( yy_get_next_buffer() )
  2130. -                {
  2131. -                case EOB_ACT_END_OF_FILE:
  2132. -                    {
  2133. -                    if ( yywrap() )
  2134. -                        {
  2135. -                        yy_c_buf_p =
  2136. -                        yytext_ptr + YY_MORE_ADJ;
  2137. -                        return EOF;
  2138. -                        }
  2139. -
  2140. -                    if ( ! yy_did_buffer_switch_on_eof )
  2141. -                        YY_NEW_FILE;
  2142. -#ifdef __cplusplus
  2143. -                    return yyinput();
  2144. -#else
  2145. -                    return input();
  2146. -#endif
  2147. -                    }
  2148. -
  2149. -                case EOB_ACT_CONTINUE_SCAN:
  2150. -                    yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
  2151. -                    break;
  2152. -
  2153. -                case EOB_ACT_LAST_MATCH:
  2154. -#ifdef __cplusplus
  2155. -                    YY_FATAL_ERROR(
  2156. -                    "unexpected last match in yyinput()" );
  2157. -#else
  2158. -                    YY_FATAL_ERROR(
  2159. -                    "unexpected last match in input()" );
  2160. -#endif
  2161. -                }
  2162. -            }
  2163. -        }
  2164. -
  2165. -    c = *(unsigned char *) yy_c_buf_p;    /* cast for 8-bit char's */
  2166. -    *yy_c_buf_p = '\0';    /* preserve yytext */
  2167. -    yy_hold_char = *++yy_c_buf_p;
  2168. -
  2169. -    if ( c == '\n' )
  2170. -        ++yylineno;
  2171. -
  2172. -    return c;
  2173. -    }
  2174. -
  2175. -
  2176. -#ifdef YY_USE_PROTOS
  2177. -void yyrestart( FILE *input_file )
  2178. -#else
  2179. -void yyrestart( input_file )
  2180. -FILE *input_file;
  2181. -#endif
  2182. -    {
  2183. -    if ( ! yy_current_buffer )
  2184. -        yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
  2185. -
  2186. -    yy_init_buffer( yy_current_buffer, input_file );
  2187. -    yy_load_buffer_state();
  2188. -    }
  2189. -
  2190. -
  2191. -#ifdef YY_USE_PROTOS
  2192. -void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
  2193. -#else
  2194. -void yy_switch_to_buffer( new_buffer )
  2195. -YY_BUFFER_STATE new_buffer;
  2196. -#endif
  2197. -    {
  2198. -    if ( yy_current_buffer == new_buffer )
  2199. -        return;
  2200. -
  2201. -    if ( yy_current_buffer )
  2202. -        {
  2203. -        /* Flush out information for old buffer. */
  2204. -        *yy_c_buf_p = yy_hold_char;
  2205. -        yy_current_buffer->yy_buf_pos = yy_c_buf_p;
  2206. -        yy_current_buffer->yy_n_chars = yy_n_chars;
  2207. -        }
  2208. -
  2209. -    yy_current_buffer = new_buffer;
  2210. -    yy_load_buffer_state();
  2211. -
  2212. -    /* We don't actually know whether we did this switch during
  2213. -     * EOF (yywrap()) processing, but the only time this flag
  2214. -     * is looked at is after yywrap() is called, so it's safe
  2215. -     * to go ahead and always set it.
  2216. -     */
  2217. -    yy_did_buffer_switch_on_eof = 1;
  2218. -    }
  2219. -
  2220. -
  2221. -#ifdef YY_USE_PROTOS
  2222. -void yy_load_buffer_state( void )
  2223. -#else
  2224. -void yy_load_buffer_state()
  2225. -#endif
  2226. -    {
  2227. -    yy_n_chars = yy_current_buffer->yy_n_chars;
  2228. -    yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
  2229. -    yyin = yy_current_buffer->yy_input_file;
  2230. -    yy_hold_char = *yy_c_buf_p;
  2231. -    }
  2232. -
  2233. -
  2234. -#ifdef YY_USE_PROTOS
  2235. -YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
  2236. -#else
  2237. -YY_BUFFER_STATE yy_create_buffer( file, size )
  2238. -FILE *file;
  2239. -int size;
  2240. -#endif
  2241. -    {
  2242. -    YY_BUFFER_STATE b;
  2243. -
  2244. -    b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
  2245. -    if ( ! b )
  2246. -        YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2247. -
  2248. -    b->yy_buf_size = size;
  2249. -
  2250. -    /* yy_ch_buf has to be 2 characters longer than the size given because
  2251. -     * we need to put in 2 end-of-buffer characters.
  2252. -     */
  2253. -    b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
  2254. -    if ( ! b->yy_ch_buf )
  2255. -        YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2256. -
  2257. -    b->yy_is_our_buffer = 1;
  2258. -
  2259. -    yy_init_buffer( b, file );
  2260. -
  2261. -    return b;
  2262. -    }
  2263. -
  2264. -
  2265. -#ifdef YY_USE_PROTOS
  2266. -void yy_delete_buffer( YY_BUFFER_STATE b )
  2267. -#else
  2268. -void yy_delete_buffer( b )
  2269. -YY_BUFFER_STATE b;
  2270. -#endif
  2271. -    {
  2272. -    if ( ! b )
  2273. -        return;
  2274. -
  2275. -    if ( b == yy_current_buffer )
  2276. -        yy_current_buffer = (YY_BUFFER_STATE) 0;
  2277. -
  2278. -    if ( b->yy_is_our_buffer )
  2279. -        yy_flex_free( (void *) b->yy_ch_buf );
  2280. -
  2281. -    yy_flex_free( (void *) b );
  2282. -    }
  2283. -
  2284. -
  2285. -#ifndef YY_ALWAYS_INTERACTIVE
  2286. -#ifndef YY_NEVER_INTERACTIVE
  2287. -extern int isatty YY_PROTO(( int ));
  2288. -#endif
  2289. -#endif
  2290. -
  2291. -#ifdef YY_USE_PROTOS
  2292. -void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
  2293. -#else
  2294. -void yy_init_buffer( b, file )
  2295. -YY_BUFFER_STATE b;
  2296. -FILE *file;
  2297. -#endif
  2298. -
  2299. -
  2300. -    {
  2301. -    yy_flush_buffer( b );
  2302. -
  2303. -    b->yy_input_file = file;
  2304. -    b->yy_fill_buffer = 1;
  2305. -
  2306. -#if YY_ALWAYS_INTERACTIVE
  2307. -    b->yy_is_interactive = 1;
  2308. -#else
  2309. -#if YY_NEVER_INTERACTIVE
  2310. -    b->yy_is_interactive = 0;
  2311. -#else
  2312. -    b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
  2313. -#endif
  2314. -#endif
  2315. -    }
  2316. -
  2317. -
  2318. -#ifdef YY_USE_PROTOS
  2319. -void yy_flush_buffer( YY_BUFFER_STATE b )
  2320. -#else
  2321. -void yy_flush_buffer( b )
  2322. -YY_BUFFER_STATE b;
  2323. -#endif
  2324. -
  2325. -    {
  2326. -    b->yy_n_chars = 0;
  2327. -
  2328. -    /* We always need two end-of-buffer characters.  The first causes
  2329. -     * a transition to the end-of-buffer state.  The second causes
  2330. -     * a jam in that state.
  2331. -     */
  2332. -    b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
  2333. -    b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  2334. -
  2335. -    b->yy_buf_pos = &b->yy_ch_buf[0];
  2336. -
  2337. -    b->yy_at_bol = 1;
  2338. -    b->yy_buffer_status = YY_BUFFER_NEW;
  2339. -
  2340. -    if ( b == yy_current_buffer )
  2341. -        yy_load_buffer_state();
  2342. -    }
  2343. -
  2344. -
  2345. -#ifndef YY_NO_SCAN_BUFFER
  2346. -#ifdef YY_USE_PROTOS
  2347. -YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
  2348. -#else
  2349. -YY_BUFFER_STATE yy_scan_buffer( base, size )
  2350. -char *base;
  2351. -yy_size_t size;
  2352. -#endif
  2353. -    {
  2354. -    YY_BUFFER_STATE b;
  2355. -
  2356. -    if ( size < 2 ||
  2357. -         base[size-2] != YY_END_OF_BUFFER_CHAR ||
  2358. -         base[size-1] != YY_END_OF_BUFFER_CHAR )
  2359. -        /* They forgot to leave room for the EOB's. */
  2360. -        return 0;
  2361. -
  2362. -    b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
  2363. -    if ( ! b )
  2364. -        YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
  2365. -
  2366. -    b->yy_buf_size = size - 2;    /* "- 2" to take care of EOB's */
  2367. -    b->yy_buf_pos = b->yy_ch_buf = base;
  2368. -    b->yy_is_our_buffer = 0;
  2369. -    b->yy_input_file = 0;
  2370. -    b->yy_n_chars = b->yy_buf_size;
  2371. -    b->yy_is_interactive = 0;
  2372. -    b->yy_at_bol = 1;
  2373. -    b->yy_fill_buffer = 0;
  2374. -    b->yy_buffer_status = YY_BUFFER_NEW;
  2375. -
  2376. -    yy_switch_to_buffer( b );
  2377. -
  2378. -    return b;
  2379. -    }
  2380. -#endif
  2381. -
  2382. -
  2383. -#ifndef YY_NO_SCAN_STRING
  2384. -#ifdef YY_USE_PROTOS
  2385. -YY_BUFFER_STATE yy_scan_string( yyconst char *str )
  2386. -#else
  2387. -YY_BUFFER_STATE yy_scan_string( str )
  2388. -yyconst char *str;
  2389. -#endif
  2390. -    {
  2391. -    int len;
  2392. -    for ( len = 0; str[len]; ++len )
  2393. -        ;
  2394. -
  2395. -    return yy_scan_bytes( str, len );
  2396. -    }
  2397. -#endif
  2398. -
  2399. -
  2400. -#ifndef YY_NO_SCAN_BYTES
  2401. -#ifdef YY_USE_PROTOS
  2402. -YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
  2403. -#else
  2404. -YY_BUFFER_STATE yy_scan_bytes( bytes, len )
  2405. -yyconst char *bytes;
  2406. -int len;
  2407. -#endif
  2408. -    {
  2409. -    YY_BUFFER_STATE b;
  2410. -    char *buf;
  2411. -    yy_size_t n;
  2412. -    int i;
  2413. -
  2414. -    /* Get memory for full buffer, including space for trailing EOB's. */
  2415. -    n = len + 2;
  2416. -    buf = (char *) yy_flex_alloc( n );
  2417. -    if ( ! buf )
  2418. -        YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
  2419. -
  2420. -    for ( i = 0; i < len; ++i )
  2421. -        buf[i] = bytes[i];
  2422. -
  2423. -    buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
  2424. -
  2425. -    b = yy_scan_buffer( buf, n );
  2426. -    if ( ! b )
  2427. -        YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
  2428. -
  2429. -    /* It's okay to grow etc. this buffer, and we should throw it
  2430. -     * away when we're done.
  2431. -     */
  2432. -    b->yy_is_our_buffer = 1;
  2433. -
  2434. -    return b;
  2435. -    }
  2436. -#endif
  2437. -
  2438. -
  2439. -#ifndef YY_NO_PUSH_STATE
  2440. -#ifdef YY_USE_PROTOS
  2441. -static void yy_push_state( int new_state )
  2442. -#else
  2443. -static void yy_push_state( new_state )
  2444. -int new_state;
  2445. -#endif
  2446. -    {
  2447. -    if ( yy_start_stack_ptr >= yy_start_stack_depth )
  2448. -        {
  2449. -        yy_size_t new_size;
  2450. -
  2451. -        yy_start_stack_depth += YY_START_STACK_INCR;
  2452. -        new_size = yy_start_stack_depth * sizeof( int );
  2453. -
  2454. -        if ( ! yy_start_stack )
  2455. -            yy_start_stack = (int *) yy_flex_alloc( new_size );
  2456. -
  2457. -        else
  2458. -            yy_start_stack = (int *) yy_flex_realloc(
  2459. -                    (void *) yy_start_stack, new_size );
  2460. -
  2461. -        if ( ! yy_start_stack )
  2462. -            YY_FATAL_ERROR(
  2463. -            "out of memory expanding start-condition stack" );
  2464. -        }
  2465. -
  2466. -    yy_start_stack[yy_start_stack_ptr++] = YY_START;
  2467. -
  2468. -    BEGIN(new_state);
  2469. -    }
  2470. -#endif
  2471. -
  2472. -
  2473. -#ifndef YY_NO_POP_STATE
  2474. -static void yy_pop_state()
  2475. -    {
  2476. -    if ( --yy_start_stack_ptr < 0 )
  2477. -        YY_FATAL_ERROR( "start-condition stack underflow" );
  2478. -
  2479. -    BEGIN(yy_start_stack[yy_start_stack_ptr]);
  2480. -    }
  2481. -#endif
  2482. -
  2483. -
  2484. -#ifndef YY_NO_TOP_STATE
  2485. -static int yy_top_state()
  2486. -    {
  2487. -    return yy_start_stack[yy_start_stack_ptr - 1];
  2488. -    }
  2489. -#endif
  2490. -
  2491. -#ifndef YY_EXIT_FAILURE
  2492. -#define YY_EXIT_FAILURE 2
  2493. -#endif
  2494. -
  2495. -#ifdef YY_USE_PROTOS
  2496. -static void yy_fatal_error( yyconst char msg[] )
  2497. -#else
  2498. -static void yy_fatal_error( msg )
  2499. -char msg[];
  2500. -#endif
  2501. -    {
  2502. -    (void) fprintf( stderr, "%s\n", msg );
  2503. -    exit( YY_EXIT_FAILURE );
  2504. -    }
  2505. -
  2506. -
  2507. -
  2508. -/* Redefine yyless() so it works in section 3 code. */
  2509. -
  2510. -#undef yyless
  2511. -#define yyless(n) \
  2512. -    do \
  2513. -        { \
  2514. -        /* Undo effects of setting up yytext. */ \
  2515. -        yytext[yyleng] = yy_hold_char; \
  2516. -        yy_c_buf_p = yytext + n - YY_MORE_ADJ; \
  2517. -        yy_hold_char = *yy_c_buf_p; \
  2518. -        *yy_c_buf_p = '\0'; \
  2519. -        yyleng = n; \
  2520. -        } \
  2521. -    while ( 0 )
  2522. -
  2523. -
  2524. -/* Internal utility routines. */
  2525. -
  2526. -#ifndef yytext_ptr
  2527. -#ifdef YY_USE_PROTOS
  2528. -static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
  2529. -#else
  2530. -static void yy_flex_strncpy( s1, s2, n )
  2531. -char *s1;
  2532. -yyconst char *s2;
  2533. -int n;
  2534. -#endif
  2535. -    {
  2536. -    register int i;
  2537. -    for ( i = 0; i < n; ++i )
  2538. -        s1[i] = s2[i];
  2539. -    }
  2540. -#endif
  2541. -
  2542. -
  2543. -#ifdef YY_USE_PROTOS
  2544. -static void *yy_flex_alloc( yy_size_t size )
  2545. -#else
  2546. -static void *yy_flex_alloc( size )
  2547. -yy_size_t size;
  2548. -#endif
  2549. -    {
  2550. -    return (void *) malloc( size );
  2551. -    }
  2552. -
  2553. -#ifdef YY_USE_PROTOS
  2554. -static void *yy_flex_realloc( void *ptr, yy_size_t size )
  2555. -#else
  2556. -static void *yy_flex_realloc( ptr, size )
  2557. -void *ptr;
  2558. -yy_size_t size;
  2559. -#endif
  2560. -    {
  2561. -    /* The cast to (char *) in the following accommodates both
  2562. -     * implementations that use char* generic pointers, and those
  2563. -     * that use void* generic pointers.  It works with the latter
  2564. -     * because both ANSI C and C++ allow castless assignment from
  2565. -     * any pointer type to void*, and deal with argument conversions
  2566. -     * as though doing an assignment.
  2567. -     */
  2568. -    return (void *) realloc( (char *) ptr, size );
  2569. -    }
  2570. -
  2571. -#ifdef YY_USE_PROTOS
  2572. -static void yy_flex_free( void *ptr )
  2573. -#else
  2574. -static void yy_flex_free( ptr )
  2575. -void *ptr;
  2576. -#endif
  2577. -    {
  2578. -    free( ptr );
  2579. -    }
  2580. -
  2581. -#if YY_MAIN
  2582. -int main()
  2583. -    {
  2584. -    yylex();
  2585. -    return 0;
  2586. -    }
  2587. -#endif
  2588. -#line 174 "lexer.l"
  2589. -
  2590. -
  2591. -void
  2592. -InitializeLexer(const string& tokenizeString)
  2593. -{
  2594. -  yylineno = 1;
  2595. -  const char* inputBytes = tokenizeString.c_str();
  2596. -  gInputBuffer = yy_scan_bytes(inputBytes, tokenizeString.length());
  2597. -}
  2598. -
  2599. -void
  2600. -FinishLexer()
  2601. -{
  2602. -  yy_delete_buffer(gInputBuffer);
  2603. -}
  2604. -
  2605. -unicode_string
  2606. -LexStringToUnicode(const char* inputString) {
  2607. -  unicode_string tempString;
  2608. -  while (*inputString != '\0') {
  2609. -    unsigned short characterValue = 0;
  2610. -    if (*inputString == '\\') {
  2611. -      switch (inputString[1]) {
  2612. -        case '0': case '1': case '2': case '3':
  2613. -    case '4': case '5': case '6': case '7':
  2614. -          characterValue = inputString[1] - '0';
  2615. -      if (inputString[2] >= '0' && inputString[2] <= '9') {
  2616. -        characterValue *= 8;
  2617. -        characterValue += inputString[2] - '0';
  2618. -        ++inputString;
  2619. -      }
  2620. -      if ((*(inputString - 2) <= '3') &&
  2621. -          (inputString[2] >= '0' && inputString[2] <= '9')) {
  2622. -        characterValue *= 8;
  2623. -        characterValue += inputString[2] - '0';
  2624. -        ++inputString;
  2625. -      }
  2626. -      tempString += characterValue;
  2627. -      break;
  2628. -    case 'u':
  2629. -      if (isxdigit(inputString[2]) && isxdigit(inputString[3]) &&
  2630. -          isxdigit(inputString[4]) && isxdigit(inputString[5])) {
  2631. -        char hexBuffer[5];
  2632. -        ::strncpy(hexBuffer, inputString + 2, 4);
  2633. -        tempString += (unicode_char)::strtol(hexBuffer, 0, 16);
  2634. -        inputString += 4;
  2635. -      } else {
  2636. -        tempString += 0x5c;
  2637. -      }
  2638. -      break;
  2639. -    case 'b':
  2640. -      tempString += 0x8;
  2641. -      break;
  2642. -    case 't':
  2643. -      tempString += 0x9;
  2644. -      break;
  2645. -    case 'n':
  2646. -      tempString += 0xa;
  2647. -      break;
  2648. -    case 'f':
  2649. -      tempString += 0xc;
  2650. -          break;
  2651. -        case 'r':
  2652. -          tempString += 0xd;
  2653. -      break;
  2654. -    case '"':
  2655. -          tempString += 0x22;
  2656. -          break;
  2657. -        case '\'':
  2658. -          tempString += 0x27;
  2659. -          break;
  2660. -        case '\\':
  2661. -          tempString += 0x5c;
  2662. -          break;
  2663. -        default:
  2664. -          tempString += 0x5c;
  2665. -      }
  2666. -      ++inputString;
  2667. -    } else {
  2668. -      tempString += (unicode_string::value_type)*inputString;
  2669. -    }
  2670. -    inputString++;
  2671. -  }
  2672. -  return tempString;
  2673. -}
  2674. -
  2675. -unsigned long long
  2676. -ParseLong(const char* inputString, unsigned short base) {
  2677. -  unsigned long long result = 0;
  2678. -  for (; *inputString != 0; ++inputString) {
  2679. -    unsigned long adder;
  2680. -    if (*inputString >= '0' && *inputString <= '9') {
  2681. -      adder = *inputString - '0';
  2682. -    } else if (*inputString >= 'a' && *inputString <= 'z') {
  2683. -      adder = (*inputString - 'a') + 10;
  2684. -    } else if (*inputString >= 'A' && *inputString <= 'Z') {
  2685. -      adder = (*inputString - 'A') + 10;
  2686. -    }
  2687. -    result = result * base + adder;
  2688. -  }
  2689. -  return result;
  2690. -}
  2691. diff -rup --new-file baseline/contrib/guavac/compiler/parser.C amiga/contrib/guavac/compiler/parser.C
  2692. --- baseline/contrib/guavac/compiler/parser.C    Fri Aug  2 20:04:42 1996
  2693. +++ amiga/contrib/guavac/compiler/parser.C    Wed Dec 31 17:00:00 1969
  2694. @@ -1,3230 +0,0 @@
  2695. -
  2696. -/*  A Bison parser, made from parser.y with Bison version GNU Bison version 1.22
  2697. -  */
  2698. -
  2699. -#define YYBISON 1  /* Identify Bison output.  */
  2700. -
  2701. -#define    ERROR    258
  2702. -#define    ABSTRACT    259
  2703. -#define    BOOLEAN    260
  2704. -#define    BREAK    261
  2705. -#define    BYTE    262
  2706. -#define    CASE    263
  2707. -#define    CATCH    264
  2708. -#define    CHAR    265
  2709. -#define    CLASS    266
  2710. -#define    CONTINUE    267
  2711. -#define    DEFAULT    268
  2712. -#define    DO    269
  2713. -#define    DOUBLE    270
  2714. -#define    EXTENDS    271
  2715. -#define    FALSE_TOKEN    272
  2716. -#define    FINAL    273
  2717. -#define    FINALLY    274
  2718. -#define    FLOAT    275
  2719. -#define    FOR    276
  2720. -#define    IF    277
  2721. -#define    IMPLEMENTS    278
  2722. -#define    IMPORT    279
  2723. -#define    INSTANCEOF    280
  2724. -#define    INT    281
  2725. -#define    INTERFACE    282
  2726. -#define    LONG    283
  2727. -#define    NATIVE    284
  2728. -#define    NULL_TOKEN    285
  2729. -#define    PACKAGE    286
  2730. -#define    PRIVATE    287
  2731. -#define    PROTECTED    288
  2732. -#define    PUBLIC    289
  2733. -#define    RETURN    290
  2734. -#define    SHORT    291
  2735. -#define    STATIC    292
  2736. -#define    SUPER    293
  2737. -#define    SWITCH    294
  2738. -#define    SYNCHRONIZED    295
  2739. -#define    THIS    296
  2740. -#define    THROW    297
  2741. -#define    THROWS    298
  2742. -#define    TRANSIENT    299
  2743. -#define    VOLATILE    300
  2744. -#define    TRUE_TOKEN    301
  2745. -#define    TRY    302
  2746. -#define    VOID    303
  2747. -#define    WHILE    304
  2748. -#define    INT_LITERAL    305
  2749. -#define    CHARACTER_LITERAL    306
  2750. -#define    LONG_LITERAL    307
  2751. -#define    FLOAT_LITERAL    308
  2752. -#define    DOUBLE_LITERAL    309
  2753. -#define    SYMBOL    310
  2754. -#define    STRING_LITERAL    311
  2755. -#define    NOT_AN_OPERATOR    312
  2756. -#define    SHIFT_RIGHT_EQUALS    313
  2757. -#define    FILL_SHIFT_RIGHT_EQUALS    314
  2758. -#define    SHIFT_LEFT_EQUALS    315
  2759. -#define    ADD_EQUALS    316
  2760. -#define    SUB_EQUALS    317
  2761. -#define    MUL_EQUALS    318
  2762. -#define    DIV_EQUALS    319
  2763. -#define    MOD_EQUALS    320
  2764. -#define    AND_EQUALS    321
  2765. -#define    XOR_EQUALS    322
  2766. -#define    OR_EQUALS    323
  2767. -#define    OR    324
  2768. -#define    AND    325
  2769. -#define    EQUAL_COMPARE    326
  2770. -#define    NOT_EQUAL    327
  2771. -#define    LTEQ    328
  2772. -#define    GTEQ    329
  2773. -#define    BITSHIFT_RIGHT    330
  2774. -#define    FILL_SHIFT_RIGHT    331
  2775. -#define    SHIFT_LEFT    332
  2776. -#define    CAST    333
  2777. -#define    INCR    334
  2778. -#define    DECR    335
  2779. -#define    UMINUS    336
  2780. -#define    UPLUS    337
  2781. -#define    POST_INCR    338
  2782. -#define    POST_DECR    339
  2783. -#define    NEW    340
  2784. -#define    LOWER_THAN_ELSE    341
  2785. -#define    ELSE    342
  2786. -
  2787. -#line 1 "parser.y"
  2788. -
  2789. -// Copyright (c) 1995  David Engberg  All rights reserved
  2790. -// $Id: parser.y,v 1.11 1996/05/03 23:39:15 geppetto Exp $
  2791. -#include <map>
  2792. -#include <stream.h>
  2793. -#include <cstdlib>
  2794. -#include <deque>
  2795. -#include "unicode_string.h"
  2796. -#include "Compiler.h"
  2797. -#include "parser_decls.h"
  2798. -#include "JavaAccessFlags.h"
  2799. -#include "JavaTypeSignature.h"
  2800. -#include "JavaFieldSignature.h"
  2801. -#include "Expression.h"
  2802. -#include "VariableDeclaration.h"
  2803. -#include "Statement.h"
  2804. -#include "IntermediateClass.h"
  2805. -#include "BinaryExpression.h"
  2806. -
  2807. -CCompiler* gCurrentCompiler = 0;
  2808. -const unicode_char kSymbolDivider = (unicode_char)'/';
  2809. -
  2810. -CExpression* InterpretSymbolExpression(const unicode_string& symbol);
  2811. -
  2812. -#ifndef NDEBUG
  2813. -#ifndef YYDEBUG
  2814. -#define YYDEBUG 1
  2815. -#endif
  2816. -#endif
  2817. -
  2818. -
  2819. -#line 33 "parser.y"
  2820. -typedef union {
  2821. -  unicode_string* text;
  2822. -  deque<unicode_string>* stringList;
  2823. -  unsigned long longNumber;   // also used for a single character, etc.
  2824. -  unsigned long long doubleLong;
  2825. -  float floatNumber;
  2826. -  double doubleFloat;
  2827. -  CJavaAccessFlags* modifiers;
  2828. -  CJavaTypeSignature* typeSignature;
  2829. -  CJavaFieldSignature* fieldSignature;
  2830. -  deque<CJavaFieldSignature>* fieldList;
  2831. -  CExpression* expression;
  2832. -  ExpressionList* expressionList;
  2833. -  deque<CVariableDeclaration*>* variableList;
  2834. -  CStatement* statement;
  2835. -  CCompoundStatement* compoundStatement;
  2836. -  StatementList* statementList;
  2837. -  deque<CCatchClause*>* catchList;
  2838. -  CCatchClause* catchClause;
  2839. -} YYSTYPE;
  2840. -
  2841. -#ifndef YYLTYPE
  2842. -typedef
  2843. -  struct yyltype
  2844. -    {
  2845. -      int timestamp;
  2846. -      int first_line;
  2847. -      int first_column;
  2848. -      int last_line;
  2849. -      int last_column;
  2850. -      char *text;
  2851. -   }
  2852. -  yyltype;
  2853. -
  2854. -#define YYLTYPE yyltype
  2855. -#endif
  2856. -
  2857. -#include <stdio.h>
  2858. -
  2859. -#ifndef __cplusplus
  2860. -#ifndef __STDC__
  2861. -#define const
  2862. -#endif
  2863. -#endif
  2864. -
  2865. -
  2866. -
  2867. -#define    YYFINAL        414
  2868. -#define    YYFLAG        -32768
  2869. -#define    YYNTBASE    112
  2870. -
  2871. -#define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 183)
  2872. -
  2873. -static const char yytranslate[] = {     0,
  2874. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2875. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2876. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2877. -     2,     2,    94,     2,     2,     2,    90,    75,     2,   101,
  2878. -   102,    88,    86,   111,    87,   105,    89,     2,     2,     2,
  2879. -     2,     2,     2,     2,     2,     2,     2,    71,   108,    81,
  2880. -    69,    82,    70,     2,     2,     2,     2,     2,     2,     2,
  2881. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2882. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2883. -   103,     2,   104,    76,     2,     2,     2,     2,     2,     2,
  2884. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2885. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2886. -     2,     2,   109,    74,   110,    95,     2,     2,     2,     2,
  2887. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2888. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2889. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2890. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2891. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2892. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2893. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2894. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2895. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2896. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2897. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2898. -     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  2899. -     2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
  2900. -     6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
  2901. -    16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  2902. -    26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
  2903. -    36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
  2904. -    46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
  2905. -    56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
  2906. -    66,    67,    68,    72,    73,    77,    78,    79,    80,    83,
  2907. -    84,    85,    91,    92,    93,    96,    97,    98,    99,   100,
  2908. -   106,   107
  2909. -};
  2910. -
  2911. -#if YYDEBUG != 0
  2912. -static const short yyprhs[] = {     0,
  2913. -     0,     4,     5,     9,    10,    13,    19,    23,    24,    27,
  2914. -    29,    31,    33,    34,    42,    43,    50,    51,    54,    57,
  2915. -    60,    61,    64,    65,    68,    69,    72,    75,    79,    81,
  2916. -    84,    86,    88,    90,    93,    95,    98,    99,   110,   111,
  2917. -   112,   124,   125,   128,   129,   132,   139,   146,   148,   150,
  2918. -   151,   153,   155,   159,   163,   166,   171,   177,   178,   181,
  2919. -   183,   187,   188,   191,   193,   197,   198,   200,   201,   206,
  2920. -   207,   210,   212,   215,   218,   220,   223,   225,   231,   239,
  2921. -   245,   253,   256,   260,   263,   267,   270,   274,   275,   285,
  2922. -   289,   295,   299,   304,   308,   314,   319,   323,   324,   326,
  2923. -   328,   331,   333,   334,   336,   338,   342,   343,   345,   348,
  2924. -   350,   353,   354,   355,   364,   366,   368,   372,   374,   380,
  2925. -   384,   388,   392,   396,   400,   404,   408,   412,   416,   420,
  2926. -   424,   428,   432,   436,   440,   444,   448,   452,   456,   459,
  2927. -   462,   465,   468,   472,   474,   476,   478,   480,   482,   484,
  2928. -   488,   492,   497,   502,   506,   508,   512,   516,   520,   524,
  2929. -   528,   532,   536,   540,   544,   548,   552,   556,   559,   562,
  2930. -   565,   568,   570,   572,   577,   584,   590,   595,   602,   607,
  2931. -   612,   615,   621,   624,   629,   635,   636,   640,   642,   644,
  2932. -   646,   648,   650,   652,   654,   656,   657,   659,   661,   665,
  2933. -   669,   671,   674,   677,   679,   681,   683,   685,   687,   689,
  2934. -   691,   693,   695,   696,   699,   702,   705,   708,   711,   714,
  2935. -   717,   720,   723,   726,   728,   732,   734,   738
  2936. -};
  2937. -
  2938. -static const short yyrhs[] = {   113,
  2939. -   114,   116,     0,     0,    31,   180,   108,     0,     0,   114,
  2940. -   115,     0,    24,   180,   105,    88,   108,     0,    24,   180,
  2941. -   108,     0,     0,   116,   117,     0,   108,     0,   118,     0,
  2942. -   120,     0,     0,   122,    11,   182,   123,   125,   119,   126,
  2943. -     0,     0,   122,    27,   182,   124,   121,   126,     0,     0,
  2944. -   122,    18,     0,   122,    34,     0,   122,     4,     0,     0,
  2945. -    16,   180,     0,     0,    16,   181,     0,     0,    23,   181,
  2946. -     0,   109,   110,     0,   109,   127,   110,     0,   128,     0,
  2947. -   127,   128,     0,   108,     0,   130,     0,   132,     0,   179,
  2948. -   141,     0,   129,     0,   179,   148,     0,     0,   179,   176,
  2949. -   182,   101,   138,   102,   172,   135,   131,   137,     0,     0,
  2950. -     0,   179,   182,   133,   101,   138,   102,   135,   109,   134,
  2951. -   136,   110,     0,     0,    43,   181,     0,     0,   151,   150,
  2952. -     0,    38,   101,   174,   102,   108,   150,     0,    41,   101,
  2953. -   174,   102,   108,   150,     0,   108,     0,   148,     0,     0,
  2954. -   139,     0,   140,     0,   139,   111,   140,     0,   176,   182,
  2955. -   172,     0,   142,   108,     0,   176,   182,   172,   143,     0,
  2956. -   142,   111,   182,   172,   143,     0,     0,    69,   144,     0,
  2957. -   163,     0,   109,   145,   110,     0,     0,   146,   147,     0,
  2958. -   144,     0,   146,   111,   144,     0,     0,   111,     0,     0,
  2959. -   109,   149,   150,   110,     0,     0,   150,   151,     0,   108,
  2960. -     0,     1,   108,     0,     1,   110,     0,   148,     0,   167,
  2961. -   108,     0,   141,     0,    22,   101,   163,   102,   151,     0,
  2962. -    22,   101,   163,   102,   151,   107,   151,     0,    49,   101,
  2963. -   163,   102,   151,     0,    14,   151,    49,   101,   163,   102,
  2964. -   108,     0,     6,   108,     0,     6,   182,   108,     0,    12,
  2965. -   108,     0,    12,   182,   108,     0,    35,   108,     0,    35,
  2966. -   163,   108,     0,     0,    21,   101,   152,   154,   153,   108,
  2967. -   155,   102,   151,     0,    42,   163,   108,     0,    40,   101,
  2968. -   163,   102,   151,     0,   182,    71,   151,     0,    47,   148,
  2969. -   159,   157,     0,    47,   148,   158,     0,    39,   101,   163,
  2970. -   102,   148,     0,     8,   163,    71,   151,     0,    13,    71,
  2971. -   151,     0,     0,   163,     0,   108,     0,   156,   108,     0,
  2972. -   141,     0,     0,   156,     0,   167,     0,   156,   111,   167,
  2973. -     0,     0,   158,     0,    19,   148,     0,   160,     0,   159,
  2974. -   160,     0,     0,     0,     9,   101,   161,   180,   182,   162,
  2975. -   102,   148,     0,   180,     0,   165,     0,   177,   163,   104,
  2976. -     0,   167,     0,   163,    70,   163,    71,   163,     0,   163,
  2977. -    72,   163,     0,   163,    73,   163,     0,   163,    74,   163,
  2978. -     0,   163,    75,   163,     0,   163,    76,   163,     0,   163,
  2979. -    77,   163,     0,   163,    78,   163,     0,   163,    79,   163,
  2980. -     0,   163,    80,   163,     0,   163,    81,   163,     0,   163,
  2981. -    82,   163,     0,   163,    83,   163,     0,   163,    84,   163,
  2982. -     0,   163,    85,   163,     0,   163,    86,   163,     0,   163,
  2983. -    87,   163,     0,   163,    88,   163,     0,   163,    89,   163,
  2984. -     0,   163,    90,   163,     0,    87,   163,     0,    86,   163,
  2985. -     0,    94,   163,     0,    95,   163,     0,   163,    25,   176,
  2986. -     0,   169,     0,   166,     0,    38,     0,    41,     0,    30,
  2987. -     0,   173,     0,   101,   165,   102,     0,   101,   180,   102,
  2988. -     0,   166,   103,   163,   104,     0,   168,   103,   163,   104,
  2989. -     0,   165,   105,   182,     0,   164,     0,   163,    69,   163,
  2990. -     0,   163,    58,   163,     0,   163,    59,   163,     0,   163,
  2991. -    60,   163,     0,   163,    61,   163,     0,   163,    62,   163,
  2992. -     0,   163,    63,   163,     0,   163,    64,   163,     0,   163,
  2993. -    65,   163,     0,   163,    66,   163,     0,   163,    67,   163,
  2994. -     0,   163,    68,   163,     0,    92,   163,     0,    93,   163,
  2995. -     0,   163,    92,     0,   163,    93,     0,   168,     0,   170,
  2996. -     0,   180,   101,   174,   102,     0,   165,   105,   182,   101,
  2997. -   174,   102,     0,   101,   178,   172,   102,   163,     0,   101,
  2998. -   180,   102,   163,     0,   101,   177,   104,   172,   102,   163,
  2999. -     0,   100,   178,   103,   171,     0,   100,   180,   103,   171,
  3000. -     0,   100,   180,     0,   100,   180,   101,   174,   102,     0,
  3001. -   163,   104,     0,   163,   104,   103,   171,     0,   163,   104,
  3002. -   103,   104,   172,     0,     0,   172,   103,   104,     0,    50,
  3003. -     0,    56,     0,    51,     0,    52,     0,    53,     0,    54,
  3004. -     0,    46,     0,    17,     0,     0,   175,     0,   163,     0,
  3005. -   175,   111,   163,     0,   177,   104,   172,     0,   180,     0,
  3006. -   178,   172,     0,   180,   103,     0,     5,     0,     7,     0,
  3007. -    10,     0,    36,     0,    26,     0,    20,     0,    28,     0,
  3008. -    15,     0,    48,     0,     0,   179,    32,     0,   179,    34,
  3009. -     0,   179,    33,     0,   179,    37,     0,   179,    44,     0,
  3010. -   179,    45,     0,   179,    18,     0,   179,     4,     0,   179,
  3011. -    29,     0,   179,    40,     0,   182,     0,   180,   105,   182,
  3012. -     0,   180,     0,   181,   111,   180,     0,    55,     0
  3013. -};
  3014. -
  3015. -#endif
  3016. -
  3017. -#if YYDEBUG != 0
  3018. -static const short yyrline[] = { 0,
  3019. -   131,   134,   135,   142,   143,   146,   156,   168,   169,   172,
  3020. -   173,   174,   177,   184,   187,   202,   205,   207,   216,   225,
  3021. -   236,   238,   242,   244,   248,   250,   254,   255,   258,   259,
  3022. -   262,   263,   264,   265,   279,   282,   302,   329,   349,   359,
  3023. -   372,   379,   381,   385,   387,   394,   400,   408,   410,   414,
  3024. -   416,   420,   425,   442,   455,   471,   515,   554,   556,   560,
  3025. -   562,   566,   568,   572,   577,   584,   585,   588,   590,   597,
  3026. -   599,   608,   610,   612,   614,   616,   618,   620,   622,   624,
  3027. -   626,   628,   630,   632,   634,   636,   638,   640,   641,   646,
  3028. -   648,   650,   652,   661,   668,   670,   672,   676,   678,   682,
  3029. -   684,   693,   697,   699,   703,   708,   715,   717,   721,   725,
  3030. -   730,   737,   739,   751,   759,   764,   768,   775,   777,   779,
  3031. -   781,   783,   785,   787,   789,   791,   793,   795,   797,   799,
  3032. -   801,   803,   805,   807,   809,   811,   813,   815,   817,   819,
  3033. -   821,   823,   825,   830,   832,   834,   836,   838,   842,   844,
  3034. -   846,   851,   853,   855,   860,   864,   873,   882,   891,   900,
  3035. -   909,   918,   927,   936,   945,   954,   963,   972,   974,   976,
  3036. -   978,   980,   982,   986,  1008,  1015,  1025,  1030,  1039,  1052,
  3037. -  1061,  1066,  1073,  1078,  1083,  1094,  1096,  1100,  1102,  1107,
  3038. -  1109,  1111,  1113,  1115,  1117,  1121,  1123,  1127,  1132,  1139,
  3039. -  1144,  1149,  1160,  1164,  1166,  1168,  1170,  1172,  1174,  1176,
  3040. -  1178,  1180,  1184,  1186,  1195,  1204,  1213,  1222,  1231,  1240,
  3041. -  1249,  1258,  1267,  1278,  1280,  1289,  1295,  1303
  3042. -};
  3043. -
  3044. -static const char * const yytname[] = {   "$","error","$illegal.","ERROR","ABSTRACT",
  3045. -"BOOLEAN","BREAK","BYTE","CASE","CATCH","CHAR","CLASS","CONTINUE","DEFAULT",
  3046. -"DO","DOUBLE","EXTENDS","FALSE_TOKEN","FINAL","FINALLY","FLOAT","FOR","IF","IMPLEMENTS",
  3047. -"IMPORT","INSTANCEOF","INT","INTERFACE","LONG","NATIVE","NULL_TOKEN","PACKAGE",
  3048. -"PRIVATE","PROTECTED","PUBLIC","RETURN","SHORT","STATIC","SUPER","SWITCH","SYNCHRONIZED",
  3049. -"THIS","THROW","THROWS","TRANSIENT","VOLATILE","TRUE_TOKEN","TRY","VOID","WHILE",
  3050. -"INT_LITERAL","CHARACTER_LITERAL","LONG_LITERAL","FLOAT_LITERAL","DOUBLE_LITERAL",
  3051. -"SYMBOL","STRING_LITERAL","NOT_AN_OPERATOR","SHIFT_RIGHT_EQUALS","FILL_SHIFT_RIGHT_EQUALS",
  3052. -"SHIFT_LEFT_EQUALS","ADD_EQUALS","SUB_EQUALS","MUL_EQUALS","DIV_EQUALS","MOD_EQUALS",
  3053. -"AND_EQUALS","XOR_EQUALS","OR_EQUALS","'='","'?'","':'","OR","AND","'|'","'&'",
  3054. -"'^'","EQUAL_COMPARE","NOT_EQUAL","LTEQ","GTEQ","'<'","'>'","BITSHIFT_RIGHT",
  3055. -"FILL_SHIFT_RIGHT","SHIFT_LEFT","'+'","'-'","'*'","'/'","'%'","CAST","INCR",
  3056. -"DECR","'!'","'~'","UMINUS","UPLUS","POST_INCR","POST_DECR","NEW","'('","')'",
  3057. -"'['","']'","'.'","LOWER_THAN_ELSE","ELSE","';'","'{'","'}'","','","compilationUnit",
  3058. -"optPackage","importList","import","typeDeclarationList","typeDeclaration","classDeclaration",
  3059. -"@1","interfaceDeclaration","@2","classModifierList","extends","interfaceExtends",
  3060. -"interfaces","classBlock","fieldList","field","staticInitializer","methodDeclaration",
  3061. -"@3","constructorDeclaration","@4","@5","optThrows","optConstructorStatements",
  3062. -"methodBlock","optParameterList","parameterList","parameter","variableDeclaration",
  3063. -"partialVariable","optInitializer","initializer","optVariableInitializerList",
  3064. -"variableInitializerList","optComma","compoundStatement","@6","statementList",
  3065. -"statement","@7","optExpression","forInit","forIncr","expressionStatements",
  3066. -"optFinally","finally","catchList","catchItem","@8","@9","expression","symbolArrayExpression",
  3067. -"nonSymbolExpression","nonSymbolComplexPrimary","expressionStatement","methodCall",
  3068. -"cast","newExpression","allocationBounds","optArrayBounds","literal","optArgumentList",
  3069. -"argumentList","type","qualifiedSymbolWithLBracket","simpleType","modifierList",
  3070. -"qualifiedSymbol","qualifiedSymbolList","simpleSymbol",""
  3071. -};
  3072. -#endif
  3073. -
  3074. -static const short yyr1[] = {     0,
  3075. -   112,   113,   113,   114,   114,   115,   115,   116,   116,   117,
  3076. -   117,   117,   119,   118,   121,   120,   122,   122,   122,   122,
  3077. -   123,   123,   124,   124,   125,   125,   126,   126,   127,   127,
  3078. -   128,   128,   128,   128,   128,   129,   131,   130,   133,   134,
  3079. -   132,   135,   135,   136,   136,   136,   136,   137,   137,   138,
  3080. -   138,   139,   139,   140,   141,   142,   142,   143,   143,   144,
  3081. -   144,   145,   145,   146,   146,   147,   147,   149,   148,   150,
  3082. -   150,   151,   151,   151,   151,   151,   151,   151,   151,   151,
  3083. -   151,   151,   151,   151,   151,   151,   151,   152,   151,   151,
  3084. -   151,   151,   151,   151,   151,   151,   151,   153,   153,   154,
  3085. -   154,   154,   155,   155,   156,   156,   157,   157,   158,   159,
  3086. -   159,   161,   162,   160,   163,   163,   164,   165,   165,   165,
  3087. -   165,   165,   165,   165,   165,   165,   165,   165,   165,   165,
  3088. -   165,   165,   165,   165,   165,   165,   165,   165,   165,   165,
  3089. -   165,   165,   165,   165,   165,   165,   165,   165,   166,   166,
  3090. -   166,   166,   166,   166,   166,   167,   167,   167,   167,   167,
  3091. -   167,   167,   167,   167,   167,   167,   167,   167,   167,   167,
  3092. -   167,   167,   167,   168,   168,   169,   169,   169,   170,   170,
  3093. -   170,   170,   171,   171,   171,   172,   172,   173,   173,   173,
  3094. -   173,   173,   173,   173,   173,   174,   174,   175,   175,   176,
  3095. -   176,   176,   177,   178,   178,   178,   178,   178,   178,   178,
  3096. -   178,   178,   179,   179,   179,   179,   179,   179,   179,   179,
  3097. -   179,   179,   179,   180,   180,   181,   181,   182
  3098. -};
  3099. -
  3100. -static const short yyr2[] = {     0,
  3101. -     3,     0,     3,     0,     2,     5,     3,     0,     2,     1,
  3102. -     1,     1,     0,     7,     0,     6,     0,     2,     2,     2,
  3103. -     0,     2,     0,     2,     0,     2,     2,     3,     1,     2,
  3104. -     1,     1,     1,     2,     1,     2,     0,    10,     0,     0,
  3105. -    11,     0,     2,     0,     2,     6,     6,     1,     1,     0,
  3106. -     1,     1,     3,     3,     2,     4,     5,     0,     2,     1,
  3107. -     3,     0,     2,     1,     3,     0,     1,     0,     4,     0,
  3108. -     2,     1,     2,     2,     1,     2,     1,     5,     7,     5,
  3109. -     7,     2,     3,     2,     3,     2,     3,     0,     9,     3,
  3110. -     5,     3,     4,     3,     5,     4,     3,     0,     1,     1,
  3111. -     2,     1,     0,     1,     1,     3,     0,     1,     2,     1,
  3112. -     2,     0,     0,     8,     1,     1,     3,     1,     5,     3,
  3113. -     3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
  3114. -     3,     3,     3,     3,     3,     3,     3,     3,     2,     2,
  3115. -     2,     2,     3,     1,     1,     1,     1,     1,     1,     3,
  3116. -     3,     4,     4,     3,     1,     3,     3,     3,     3,     3,
  3117. -     3,     3,     3,     3,     3,     3,     3,     2,     2,     2,
  3118. -     2,     1,     1,     4,     6,     5,     4,     6,     4,     4,
  3119. -     2,     5,     2,     4,     5,     0,     3,     1,     1,     1,
  3120. -     1,     1,     1,     1,     1,     0,     1,     1,     3,     3,
  3121. -     1,     2,     2,     1,     1,     1,     1,     1,     1,     1,
  3122. -     1,     1,     0,     2,     2,     2,     2,     2,     2,     2,
  3123. -     2,     2,     2,     1,     3,     1,     3,     1
  3124. -};
  3125. -
  3126. -static const short yydefact[] = {     2,
  3127. -     0,     4,   228,     0,   224,     8,     0,     3,     0,     5,
  3128. -    17,   225,     0,    10,     9,    11,    12,     0,     0,     7,
  3129. -    20,     0,    18,     0,    19,     0,    21,    23,     6,     0,
  3130. -    25,     0,    15,    22,     0,    13,   226,    24,     0,    26,
  3131. -     0,     0,   213,    16,    14,   227,    31,    27,   213,    29,
  3132. -    35,    32,    33,     0,    28,    30,   221,   204,   205,   206,
  3133. -   211,   220,   209,   208,   210,   222,   214,   216,   215,   207,
  3134. -   217,   223,   218,   219,   212,    68,    34,     0,    36,     0,
  3135. -     0,   186,   201,   224,    70,    55,     0,   186,   186,   202,
  3136. -   203,     0,     0,   186,    50,    58,   200,     0,    50,     0,
  3137. -     0,     0,     0,     0,     0,   195,     0,     0,   148,     0,
  3138. -   146,     0,     0,   147,     0,   194,     0,     0,   188,   190,
  3139. -   191,   192,   193,   189,     0,     0,     0,     0,     0,     0,
  3140. -     0,     0,    72,    69,    77,    75,    71,     0,   155,   116,
  3141. -   145,   118,   172,   144,   173,   149,     0,     0,   115,   224,
  3142. -    58,     0,    51,    52,     0,     0,    56,   187,     0,    73,
  3143. -    74,    82,     0,     0,   118,     0,   115,    84,     0,     0,
  3144. -     0,    88,     0,    86,     0,     0,     0,     0,     0,     0,
  3145. -   140,   139,   168,   169,   141,   142,     0,   181,   116,     0,
  3146. -   186,   115,     0,     0,     0,     0,     0,     0,     0,     0,
  3147. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3148. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3149. -     0,     0,     0,     0,     0,   170,   171,     0,     0,    76,
  3150. -     0,   186,     0,   196,     0,    57,   186,     0,   186,    62,
  3151. -    59,    60,    42,    83,     0,    85,    97,     0,     0,     0,
  3152. -    87,     0,     0,    90,     0,     0,    94,   107,   110,     0,
  3153. -     0,   196,     0,   150,   186,     0,   151,   143,   157,   158,
  3154. -   159,   160,   161,   162,   163,   164,   165,   166,   167,   156,
  3155. -     0,   120,   121,   122,   123,   124,   125,   126,   127,   128,
  3156. -   129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
  3157. -   154,     0,     0,   117,   198,     0,   197,    92,    42,    53,
  3158. -    54,    64,     0,    66,     0,     0,    96,     0,   100,   102,
  3159. -    98,     0,   118,     0,     0,     0,   112,   109,    93,   108,
  3160. -   111,     0,     0,   179,     0,   180,     0,     0,   177,     0,
  3161. -   196,   152,   153,   174,     0,    37,    61,    67,    63,    43,
  3162. -    40,     0,     0,    99,   101,     0,    78,    95,    91,     0,
  3163. -    80,   183,   182,     0,   176,   119,     0,   199,     0,    65,
  3164. -     0,     0,   103,   118,     0,     0,     0,   178,   175,    48,
  3165. -    38,    49,   146,   147,     0,    70,    81,     0,   104,    79,
  3166. -   113,   186,   184,   196,   196,    41,     0,     0,     0,   185,
  3167. -     0,     0,    89,     0,     0,     0,   114,    70,    70,     0,
  3168. -     0,     0,     0,     0
  3169. -};
  3170. -
  3171. -static const short yydefgoto[] = {   412,
  3172. -     2,     6,    10,    11,    15,    16,    41,    17,    39,    18,
  3173. -    31,    33,    36,    44,    49,    50,    51,    52,   369,    53,
  3174. -    92,   371,   316,   385,   381,   152,   153,   154,   135,    78,
  3175. -   157,   241,   313,   314,   349,   136,    85,    93,   137,   249,
  3176. -   353,   321,   388,   322,   329,   257,   258,   259,   360,   399,
  3177. -   138,   139,   140,   141,   165,   143,   144,   145,   334,    96,
  3178. -   146,   306,   307,   147,   166,    82,    54,   167,    38,     5
  3179. -};
  3180. -
  3181. -static const short yypact[] = {     7,
  3182. -   -25,-32768,-32768,   -81,-32768,    24,   -25,-32768,   -25,-32768,
  3183. -    11,-32768,   -73,-32768,-32768,-32768,-32768,    98,   -22,-32768,
  3184. --32768,   -25,-32768,   -25,-32768,   -38,    48,    74,-32768,   -25,
  3185. -    59,   -25,-32768,    -9,   -25,-32768,    -9,    -8,    -2,    -8,
  3186. -    -2,   -25,   -54,-32768,-32768,    -9,-32768,-32768,     0,-32768,
  3187. --32768,-32768,-32768,   513,-32768,-32768,-32768,-32768,-32768,-32768,
  3188. --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  3189. --32768,-32768,-32768,-32768,-32768,-32768,-32768,   -62,-32768,   -25,
  3190. -    23,-32768,     8,    28,-32768,-32768,   -25,    34,-32768,    47,
  3191. --32768,    56,   634,-32768,    32,   -46,    47,    33,    32,    18,
  3192. -   -39,  1601,   -36,   100,  1164,-32768,    82,    95,-32768,  1441,
  3193. --32768,    96,    97,-32768,  1601,-32768,    81,    99,-32768,-32768,
  3194. --32768,-32768,-32768,-32768,  1601,  1601,  1601,  1601,  1601,  1601,
  3195. -    32,  1353,-32768,-32768,-32768,-32768,-32768,  2422,-32768,   102,
  3196. -   105,    93,   106,-32768,-32768,-32768,   -25,  1460,   -10,   131,
  3197. -   -46,   103,   101,-32768,   -25,  1380,-32768,-32768,   108,-32768,
  3198. --32768,-32768,   107,  2290,-32768,  1601,    19,-32768,   110,  1164,
  3199. -   162,-32768,  1601,-32768,  1664,  1601,  1601,  1730,    17,  1601,
  3200. -   -15,   -15,   -15,   -15,   -15,   -15,   111,    90,   -43,  1521,
  3201. --32768,    84,    32,  1601,  1601,  1601,  1601,  1601,  1601,  1601,
  3202. -  1601,  1601,  1601,  1601,  1601,  1601,  1601,  1601,  1601,  1601,
  3203. -  1601,  1601,  1601,  1601,  1601,  1601,  1601,  1601,  1601,  1601,
  3204. -  1601,  1601,  1601,  1601,  1601,-32768,-32768,   -25,  1601,-32768,
  3205. -  1601,-32768,  1796,  1601,  1164,-32768,-32768,    32,-32768,  1380,
  3206. --32768,  2422,   173,-32768,  1164,-32768,-32768,   118,  1261,  2060,
  3207. --32768,  2106,  2152,-32768,   119,    81,-32768,    17,-32768,  2198,
  3208. -  1601,  1601,  1601,-32768,-32768,    15,  1620,-32768,  2422,  2422,
  3209. -  2422,  2422,  2422,  2422,  2422,  2422,  2422,  2422,  2422,  2422,
  3210. -  2356,   618,   724,   830,   936,  1042,  1148,  1148,    89,    89,
  3211. -    89,    89,    66,    66,    66,    75,    75,    41,    41,    41,
  3212. -   120,  1862,  1928,-32768,  2422,   121,   115,-32768,   -29,-32768,
  3213. -    47,-32768,   112,   117,   -25,   123,-32768,  1601,-32768,-32768,
  3214. -  1601,   -27,   -23,  1164,    81,  1164,-32768,-32768,-32768,-32768,
  3215. --32768,  1164,  1994,-32768,   127,-32768,    39,  1601,    41,  1601,
  3216. -  1601,-32768,-32768,-32768,  1601,-32768,-32768,  1380,-32768,    -8,
  3217. --32768,  2244,   122,  2422,-32768,  1601,   128,-32768,-32768,   -25,
  3218. --32768,   133,-32768,  1601,    41,   497,   136,  2422,    36,-32768,
  3219. -   740,   132,  1601,     4,  1164,   -30,  1540,    41,-32768,-32768,
  3220. --32768,-32768,   138,   141,   135,-32768,-32768,   144,   139,-32768,
  3221. --32768,-32768,-32768,  1601,  1601,-32768,   846,  1164,   145,    47,
  3222. -   147,   149,-32768,    81,   146,   148,-32768,-32768,-32768,   952,
  3223. -  1058,   243,   252,-32768
  3224. -};
  3225. -
  3226. -static const short yypgoto[] = {-32768,
  3227. --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  3228. --32768,-32768,-32768,   212,-32768,   206,-32768,-32768,-32768,-32768,
  3229. --32768,-32768,   -51,-32768,-32768,   158,-32768,    22,   -50,-32768,
  3230. -   113,  -227,-32768,-32768,-32768,   -52,-32768,  -365,   -99,-32768,
  3231. --32768,-32768,-32768,  -111,-32768,     5,-32768,    10,-32768,-32768,
  3232. -   273,-32768,   134,-32768,   -65,-32768,-32768,-32768,  -254,   -77,
  3233. --32768,  -255,-32768,   -44,   -32,    16,-32768,    -1,   -34,    -4
  3234. -};
  3235. -
  3236. -
  3237. -#define    YYLAST        2515
  3238. -
  3239. -
  3240. -static const short yytable[] = {     4,
  3241. -    40,    79,    12,    77,    90,   171,   335,    13,   336,    80,
  3242. -    -1,    97,   312,   315,    12,     3,   151,    27,     3,    28,
  3243. -   397,    81,   156,     7,     3,   255,     8,   142,    34,     3,
  3244. -    37,    19,     3,    37,    20,   256,    58,     1,    59,   142,
  3245. -    46,    60,   410,   411,  -201,    86,    61,     9,    87,    84,
  3246. -   155,    63,    83,    47,   155,    48,    98,    64,   264,    65,
  3247. -   148,   228,    81,    30,   179,    26,    81,    70,   162,    29,
  3248. -   247,   168,   148,    98,     7,    88,-32768,-32768,  -105,    75,
  3249. -   355,    35,    94,   356,  -105,   367,     3,  -105,   150,    32,
  3250. -   234,   149,    91,    83,     7,     7,   163,    83,   169,   190,
  3251. -   150,    21,    42,   149,   142,  -106,    43,    47,    22,    55,
  3252. -    91,  -106,     7,   266,  -106,    23,   338,    98,    14,   234,
  3253. -   370,    91,   393,     7,    24,   160,    89,   161,   -39,   188,
  3254. -   192,    25,   226,   227,    95,   308,   158,   148,   401,   402,
  3255. -   364,    98,   232,   380,    76,   317,   187,   191,   268,    98,
  3256. -   239,   221,   222,   223,   224,   225,    99,   226,   227,   309,
  3257. -    81,   311,   223,   224,   225,   150,   226,   227,   149,   142,
  3258. -   170,   218,   219,   220,   221,   222,   223,   224,   225,   142,
  3259. -   226,   227,   172,   323,   234,   267,    91,   337,     7,    76,
  3260. -   262,    83,   263,   155,     7,   173,   176,   177,   320,   180,
  3261. -   230,   235,   148,   328,   237,    81,   228,   229,   231,   243,
  3262. -   248,   238,   148,   261,   244,   315,   148,   246,   318,   327,
  3263. -   341,   347,   344,   301,   357,   345,   359,   348,   363,   373,
  3264. -   150,   351,   361,   149,   375,   377,    83,   379,   394,   387,
  3265. -   150,   395,   413,   149,   396,   398,   404,   149,   405,   356,
  3266. -   406,   414,    45,   408,    56,   409,   159,   346,   142,   310,
  3267. -   142,   389,   330,   236,     0,   189,   142,   331,     0,     0,
  3268. -     0,   386,   358,     0,     0,   390,     0,     0,     0,     0,
  3269. -   350,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3270. -   374,   148,     0,   148,     0,     0,     0,     0,   403,   148,
  3271. -     0,     0,     0,     0,     0,   142,     0,   323,     0,   142,
  3272. -     0,     0,     0,    37,   400,     0,   382,     0,     0,   150,
  3273. -     0,   150,   149,     0,   149,     0,     0,   150,     0,     0,
  3274. -   149,   142,   142,     0,     0,     0,     0,     0,   148,     0,
  3275. -     0,     0,   148,     0,   142,   142,     0,     0,     0,     0,
  3276. -     0,   407,     0,     0,     0,     0,     0,     0,   376,     0,
  3277. -     0,     0,     0,     0,   148,   148,   150,     0,     0,   149,
  3278. -   150,   391,     0,   149,   164,     0,     0,   148,   148,     0,
  3279. -     0,     0,   175,     0,     0,     0,     0,   178,     0,     0,
  3280. -     0,     0,   150,   150,     0,   149,   149,   181,   182,   183,
  3281. -   184,   185,   186,     0,     0,   150,   150,     0,   149,   149,
  3282. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3283. -   233,     0,     0,     0,     0,     0,     0,     0,   242,     0,
  3284. -     0,     0,     0,     0,     0,     0,     0,     0,   233,     0,
  3285. -     0,     0,     0,     0,     0,   250,     0,     0,   252,   253,
  3286. -     0,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  3287. -     0,     0,   233,     0,     0,     0,   269,   270,   271,   272,
  3288. -   273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
  3289. -   283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
  3290. -   293,   294,   295,   296,   297,   298,   299,   300,     0,     0,
  3291. -     0,   302,     0,   303,     0,     0,   305,     0,     0,     0,
  3292. -     0,     0,   242,     0,     0,     0,    57,    58,     0,    59,
  3293. -     0,   193,    60,     0,     0,     0,     0,    61,     0,     0,
  3294. -    62,     0,    63,   333,   305,   333,     0,     0,    64,   339,
  3295. -    65,    66,     0,     0,    67,    68,    69,     0,    70,    71,
  3296. -     0,     0,    72,     0,     0,     0,    73,    74,     0,     0,
  3297. -    75,     0,     0,     0,     0,     0,   206,     3,   207,   208,
  3298. -   209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
  3299. -   219,   220,   221,   222,   223,   224,   225,     0,   226,   227,
  3300. -   352,     0,     0,   354,     0,     0,     0,     0,     0,     0,
  3301. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3302. -   365,     0,   366,   305,     0,     0,     0,   368,     0,     0,
  3303. -   242,    76,     0,     0,     0,     0,     0,     0,     0,     0,
  3304. -     0,     0,     0,     0,   100,     0,   378,     0,    58,   101,
  3305. -    59,   102,   193,    60,     0,   103,   104,   105,    61,   333,
  3306. -   106,     0,     0,    63,   107,   108,     0,     0,     0,    64,
  3307. -     0,    65,     0,   109,     0,     0,   305,   305,   110,    70,
  3308. -     0,   111,   112,   113,   114,   115,     0,     0,     0,   116,
  3309. -   117,    75,   118,   119,   120,   121,   122,   123,     3,   124,
  3310. -   208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
  3311. -   218,   219,   220,   221,   222,   223,   224,   225,     0,   226,
  3312. -   227,     0,     0,     0,     0,     0,     0,     0,     0,   125,
  3313. -   126,     0,     0,     0,     0,   127,   128,   129,   130,     0,
  3314. -     0,     0,     0,   131,   132,     0,     0,     0,     0,     0,
  3315. -   100,   133,    76,   134,    58,   101,    59,   102,   193,    60,
  3316. -     0,   103,   104,   105,    61,     0,   106,     0,     0,    63,
  3317. -   107,   108,     0,     0,     0,    64,     0,    65,     0,   109,
  3318. -     0,     0,     0,     0,   110,    70,     0,   383,   112,   113,
  3319. -   384,   115,     0,     0,     0,   116,   117,    75,   118,   119,
  3320. -   120,   121,   122,   123,     3,   124,     0,   209,   210,   211,
  3321. -   212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
  3322. -   222,   223,   224,   225,     0,   226,   227,     0,     0,     0,
  3323. -     0,     0,     0,     0,     0,   125,   126,     0,     0,     0,
  3324. -     0,   127,   128,   129,   130,     0,     0,     0,     0,   131,
  3325. -   132,     0,     0,     0,     0,     0,   100,   133,    76,   -44,
  3326. -    58,   101,    59,   102,   193,    60,     0,   103,   104,   105,
  3327. -    61,     0,   106,     0,     0,    63,   107,   108,     0,     0,
  3328. -     0,    64,     0,    65,     0,   109,     0,     0,     0,     0,
  3329. -   110,    70,     0,   111,   112,   113,   114,   115,     0,     0,
  3330. -     0,   116,   117,    75,   118,   119,   120,   121,   122,   123,
  3331. -     3,   124,     0,     0,   210,   211,   212,   213,   214,   215,
  3332. -   216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
  3333. -     0,   226,   227,     0,     0,     0,     0,     0,     0,     0,
  3334. -     0,   125,   126,     0,     0,     0,     0,   127,   128,   129,
  3335. -   130,     0,     0,     0,     0,   131,   132,     0,     0,     0,
  3336. -     0,     0,   100,   133,    76,   -45,    58,   101,    59,   102,
  3337. -   193,    60,     0,   103,   104,   105,    61,     0,   106,     0,
  3338. -     0,    63,   107,   108,     0,     0,     0,    64,     0,    65,
  3339. -     0,   109,     0,     0,     0,     0,   110,    70,     0,   111,
  3340. -   112,   113,   114,   115,     0,     0,     0,   116,   117,    75,
  3341. -   118,   119,   120,   121,   122,   123,     3,   124,     0,     0,
  3342. -     0,   211,   212,   213,   214,   215,   216,   217,   218,   219,
  3343. -   220,   221,   222,   223,   224,   225,     0,   226,   227,     0,
  3344. -     0,     0,     0,     0,     0,     0,     0,   125,   126,     0,
  3345. -     0,     0,     0,   127,   128,   129,   130,     0,     0,     0,
  3346. -     0,   131,   132,     0,     0,     0,     0,     0,   100,   133,
  3347. -    76,   -46,    58,   101,    59,   102,   193,    60,     0,   103,
  3348. -   104,   105,    61,     0,   106,     0,     0,    63,   107,   108,
  3349. -     0,     0,     0,    64,     0,    65,     0,   109,     0,     0,
  3350. -     0,     0,   110,    70,     0,   111,   112,   113,   114,   115,
  3351. -     0,     0,     0,   116,   117,    75,   118,   119,   120,   121,
  3352. -   122,   123,     3,   124,     0,     0,     0,     0,   212,   213,
  3353. -   214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
  3354. -   224,   225,     0,   226,   227,     0,     0,     0,     0,     0,
  3355. -     0,     0,     0,   125,   126,     0,     0,     0,     0,   127,
  3356. -   128,   129,   130,     0,     0,     0,     0,   131,   132,     0,
  3357. -     0,     0,     0,     0,   100,   133,    76,   -47,    58,   101,
  3358. -    59,   102,   193,    60,     0,   103,   104,   105,    61,     0,
  3359. -   106,     0,     0,    63,   107,   108,     0,     0,     0,    64,
  3360. -     0,    65,     0,   109,     0,     0,     0,     0,   110,    70,
  3361. -     0,   111,   112,   113,   114,   115,     0,     0,     0,   116,
  3362. -   117,    75,   118,   119,   120,   121,   122,   123,     3,   124,
  3363. -     0,     0,     0,     0,     0,     0,   214,   215,   216,   217,
  3364. -   218,   219,   220,   221,   222,   223,   224,   225,     0,   226,
  3365. -   227,     0,     0,     0,     0,     0,     0,     0,     0,   125,
  3366. -   126,     0,     0,     0,     0,   127,   128,   129,   130,     0,
  3367. -     0,     0,     0,   131,   132,    58,     0,    59,     0,     0,
  3368. -    60,   133,    76,     0,     0,    61,     0,   106,     0,     0,
  3369. -    63,     0,     0,     0,     0,     0,    64,     0,    65,     0,
  3370. -   109,     0,     0,     0,     0,     0,    70,     0,   111,     0,
  3371. -     0,   114,     0,     0,     0,     0,   116,     0,    75,     0,
  3372. -   119,   120,   121,   122,   123,     3,   124,     0,     0,     0,
  3373. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3374. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3375. -     0,     0,     0,     0,     0,     0,   125,   126,     0,     0,
  3376. -     0,     0,   127,   128,   129,   130,     0,    58,     0,    59,
  3377. -   131,   132,    60,     0,     0,     0,     0,    61,   319,   106,
  3378. -     0,     0,    63,     0,     0,     0,     0,     0,    64,     0,
  3379. -    65,     0,   109,     0,     0,     0,     0,     0,    70,     0,
  3380. -   111,     0,     0,   114,     0,     0,   106,     0,   116,     0,
  3381. -    75,     0,   119,   120,   121,   122,   123,     3,   124,   109,
  3382. -     0,     0,     0,     0,     0,     0,     0,   111,     0,     0,
  3383. -   114,     0,     0,     0,     0,   116,     0,     0,     0,   119,
  3384. -   120,   121,   122,   123,     3,   124,     0,     0,   125,   126,
  3385. -     0,     0,     0,     0,   127,   128,   129,   130,     0,     0,
  3386. -     0,     0,   131,   132,     0,     0,     0,   106,     0,     0,
  3387. -     0,     0,     0,     0,     0,   125,   126,     0,     0,     0,
  3388. -   109,   127,   128,   129,   130,     0,   106,     0,   111,   131,
  3389. -   132,   114,     0,     0,     0,     0,   116,     0,   240,   109,
  3390. -   119,   120,   121,   122,   123,     3,   124,   111,     0,     0,
  3391. -   114,     0,     0,     0,     0,   116,     0,     0,     0,   119,
  3392. -   120,   121,   122,   123,     3,   124,     0,     0,     0,     0,
  3393. -     0,     0,     0,     0,     0,     0,   125,   126,     0,     0,
  3394. -     0,     0,   127,   128,   129,   130,     0,   106,     0,     0,
  3395. -   131,   132,     0,     0,     0,   125,   126,     0,   174,     0,
  3396. -   109,   127,   128,   129,   130,     0,   106,     0,   111,   131,
  3397. -   132,   114,     0,    89,     0,     0,   116,     0,     0,   109,
  3398. -   119,   120,   121,   122,   123,     3,   124,   111,     0,     0,
  3399. -   114,     0,     0,     0,     0,   116,     0,     0,     0,   119,
  3400. -   120,   121,   122,   123,     3,   124,     0,     0,     0,     0,
  3401. -     0,     0,     0,     0,     0,     0,   125,   126,     0,     0,
  3402. -     0,     0,   127,   128,   129,   130,     0,   106,     0,     0,
  3403. -   131,   132,     0,     0,   265,   125,   126,     0,     0,     0,
  3404. -   109,   127,   128,   129,   130,     0,   106,     0,   111,   131,
  3405. -   132,   114,     0,   392,     0,     0,   116,     0,     0,   109,
  3406. -   119,   120,   121,   122,   123,     3,   124,   111,     0,     0,
  3407. -   114,     0,     0,     0,     0,   116,     0,     0,     0,   119,
  3408. -   120,   121,   122,   123,     3,   124,     0,     0,     0,     0,
  3409. -     0,     0,     0,     0,     0,     0,   125,   126,   193,     0,
  3410. -     0,     0,   127,   128,   129,   130,     0,     0,     0,     0,
  3411. -   131,   132,     0,     0,     0,     0,     0,     0,     0,     0,
  3412. -     0,     0,     0,   129,   130,     0,     0,     0,     0,   131,
  3413. -   132,   194,   195,   196,   197,   198,   199,   200,   201,   202,
  3414. -   203,   204,   205,   206,     0,   207,   208,   209,   210,   211,
  3415. -   212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
  3416. -   222,   223,   224,   225,   193,   226,   227,     0,     0,     0,
  3417. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3418. -     0,   251,     0,     0,     0,     0,     0,     0,     0,     0,
  3419. -     0,     0,     0,     0,     0,     0,     0,   194,   195,   196,
  3420. -   197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
  3421. -     0,   207,   208,   209,   210,   211,   212,   213,   214,   215,
  3422. -   216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
  3423. -   193,   226,   227,     0,     0,     0,     0,     0,     0,     0,
  3424. -     0,     0,     0,     0,     0,     0,     0,   254,     0,     0,
  3425. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3426. -     0,     0,     0,   194,   195,   196,   197,   198,   199,   200,
  3427. -   201,   202,   203,   204,   205,   206,     0,   207,   208,   209,
  3428. -   210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
  3429. -   220,   221,   222,   223,   224,   225,   193,   226,   227,     0,
  3430. -     0,     0,     0,     0,     0,     0,     0,     0,     0,   304,
  3431. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3432. -     0,     0,     0,     0,     0,     0,     0,     0,     0,   194,
  3433. -   195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
  3434. -   205,   206,     0,   207,   208,   209,   210,   211,   212,   213,
  3435. -   214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
  3436. -   224,   225,   193,   226,   227,     0,     0,     0,     0,     0,
  3437. -     0,     0,     0,     0,     0,   342,     0,     0,     0,     0,
  3438. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3439. -     0,     0,     0,     0,     0,   194,   195,   196,   197,   198,
  3440. -   199,   200,   201,   202,   203,   204,   205,   206,     0,   207,
  3441. -   208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
  3442. -   218,   219,   220,   221,   222,   223,   224,   225,   193,   226,
  3443. -   227,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3444. -     0,   343,     0,     0,     0,     0,     0,     0,     0,     0,
  3445. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3446. -     0,   194,   195,   196,   197,   198,   199,   200,   201,   202,
  3447. -   203,   204,   205,   206,     0,   207,   208,   209,   210,   211,
  3448. -   212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
  3449. -   222,   223,   224,   225,   193,   226,   227,     0,     0,     0,
  3450. -     0,     0,     0,     0,     0,     0,     0,   362,     0,     0,
  3451. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3452. -     0,     0,     0,     0,     0,     0,     0,   194,   195,   196,
  3453. -   197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
  3454. -   193,   207,   208,   209,   210,   211,   212,   213,   214,   215,
  3455. -   216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
  3456. -     0,   226,   227,     0,     0,     0,     0,     0,     0,     0,
  3457. -     0,   324,     0,   194,   195,   196,   197,   198,   199,   200,
  3458. -   201,   202,   203,   204,   205,   206,   193,   207,   208,   209,
  3459. -   210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
  3460. -   220,   221,   222,   223,   224,   225,     0,   226,   227,     0,
  3461. -     0,     0,     0,     0,     0,     0,     0,   325,     0,   194,
  3462. -   195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
  3463. -   205,   206,   193,   207,   208,   209,   210,   211,   212,   213,
  3464. -   214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
  3465. -   224,   225,     0,   226,   227,     0,     0,     0,     0,     0,
  3466. -     0,     0,     0,   326,     0,   194,   195,   196,   197,   198,
  3467. -   199,   200,   201,   202,   203,   204,   205,   206,   193,   207,
  3468. -   208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
  3469. -   218,   219,   220,   221,   222,   223,   224,   225,     0,   226,
  3470. -   227,     0,     0,     0,     0,     0,     0,     0,     0,   332,
  3471. -     0,   194,   195,   196,   197,   198,   199,   200,   201,   202,
  3472. -   203,   204,   205,   206,   193,   207,   208,   209,   210,   211,
  3473. -   212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
  3474. -   222,   223,   224,   225,     0,   226,   227,     0,     0,     0,
  3475. -     0,     0,     0,     0,     0,   372,     0,   194,   195,   196,
  3476. -   197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
  3477. -   245,   207,   208,   209,   210,   211,   212,   213,   214,   215,
  3478. -   216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
  3479. -   193,   226,   227,     0,     0,     0,     0,     0,     0,     0,
  3480. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3481. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3482. -     0,     0,     0,   194,   195,   196,   197,   198,   199,   200,
  3483. -   201,   202,   203,   204,   205,   206,   340,   207,   208,   209,
  3484. -   210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
  3485. -   220,   221,   222,   223,   224,   225,   193,   226,   227,     0,
  3486. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3487. -     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3488. -     0,     0,     0,     0,     0,     0,     0,     0,     0,   194,
  3489. -   195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
  3490. -   205,   206,     0,   207,   208,   209,   210,   211,   212,   213,
  3491. -   214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
  3492. -   224,   225,     0,   226,   227
  3493. -};
  3494. -
  3495. -static const short yycheck[] = {     1,
  3496. -    35,    54,     7,    54,    82,   105,   262,     9,   263,    54,
  3497. -     0,    89,   240,    43,    19,    55,    94,    22,    55,    24,
  3498. -   386,    54,    69,   105,    55,     9,   108,    93,    30,    55,
  3499. -    32,   105,    55,    35,   108,    19,     5,    31,     7,   105,
  3500. -    42,    10,   408,   409,    55,   108,    15,    24,   111,    54,
  3501. -    95,    20,    54,   108,    99,   110,   103,    26,   102,    28,
  3502. -    93,   105,    95,    16,   117,    88,    99,    36,   108,   108,
  3503. -   170,   108,   105,   103,   105,    80,    92,    93,   102,    48,
  3504. -   108,    23,    87,   111,   108,   341,    55,   111,    93,    16,
  3505. -   101,    93,   103,    95,   105,   105,   101,    99,   103,   132,
  3506. -   105,     4,   111,   105,   170,   102,   109,   108,    11,   110,
  3507. -   103,   108,   105,   191,   111,    18,   102,   103,   108,   101,
  3508. -   348,   103,   377,   105,    27,   108,   104,   110,   101,   131,
  3509. -   132,    34,    92,    93,   101,   235,   104,   170,   394,   395,
  3510. -   102,   103,   147,   108,   109,   245,   131,   132,   193,   103,
  3511. -   155,    86,    87,    88,    89,    90,   101,    92,    93,   237,
  3512. -   193,   239,    88,    89,    90,   170,    92,    93,   170,   235,
  3513. -    71,    83,    84,    85,    86,    87,    88,    89,    90,   245,
  3514. -    92,    93,   101,   249,   101,   102,   103,   265,   105,   109,
  3515. -   101,   193,   103,   238,   105,   101,   101,   101,   249,   101,
  3516. -   108,    71,   235,   256,   102,   238,   105,   103,   103,   102,
  3517. -    49,   111,   245,   103,   108,    43,   249,   108,   101,   101,
  3518. -   101,   110,   102,   228,   324,   111,   326,   111,   102,   108,
  3519. -   235,   109,   332,   235,   107,   103,   238,   102,   101,   108,
  3520. -   245,   101,     0,   245,   110,   102,   102,   249,   102,   111,
  3521. -   102,     0,    41,   108,    49,   108,    99,   309,   324,   238,
  3522. -   326,   373,   258,   151,    -1,   132,   332,   258,    -1,    -1,
  3523. -    -1,   371,   325,    -1,    -1,   375,    -1,    -1,    -1,    -1,
  3524. -   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3525. -   356,   324,    -1,   326,    -1,    -1,    -1,    -1,   398,   332,
  3526. -    -1,    -1,    -1,    -1,    -1,   371,    -1,   373,    -1,   375,
  3527. -    -1,    -1,    -1,   315,   392,    -1,   369,    -1,    -1,   324,
  3528. -    -1,   326,   324,    -1,   326,    -1,    -1,   332,    -1,    -1,
  3529. -   332,   397,   398,    -1,    -1,    -1,    -1,    -1,   371,    -1,
  3530. -    -1,    -1,   375,    -1,   410,   411,    -1,    -1,    -1,    -1,
  3531. -    -1,   404,    -1,    -1,    -1,    -1,    -1,    -1,   360,    -1,
  3532. -    -1,    -1,    -1,    -1,   397,   398,   371,    -1,    -1,   371,
  3533. -   375,   376,    -1,   375,   102,    -1,    -1,   410,   411,    -1,
  3534. -    -1,    -1,   110,    -1,    -1,    -1,    -1,   115,    -1,    -1,
  3535. -    -1,    -1,   397,   398,    -1,   397,   398,   125,   126,   127,
  3536. -   128,   129,   130,    -1,    -1,   410,   411,    -1,   410,   411,
  3537. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3538. -   148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   156,    -1,
  3539. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   166,    -1,
  3540. -    -1,    -1,    -1,    -1,    -1,   173,    -1,    -1,   176,   177,
  3541. -    -1,    -1,   180,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3542. -    -1,    -1,   190,    -1,    -1,    -1,   194,   195,   196,   197,
  3543. -   198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
  3544. -   208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
  3545. -   218,   219,   220,   221,   222,   223,   224,   225,    -1,    -1,
  3546. -    -1,   229,    -1,   231,    -1,    -1,   234,    -1,    -1,    -1,
  3547. -    -1,    -1,   240,    -1,    -1,    -1,     4,     5,    -1,     7,
  3548. -    -1,    25,    10,    -1,    -1,    -1,    -1,    15,    -1,    -1,
  3549. -    18,    -1,    20,   261,   262,   263,    -1,    -1,    26,   267,
  3550. -    28,    29,    -1,    -1,    32,    33,    34,    -1,    36,    37,
  3551. -    -1,    -1,    40,    -1,    -1,    -1,    44,    45,    -1,    -1,
  3552. -    48,    -1,    -1,    -1,    -1,    -1,    70,    55,    72,    73,
  3553. -    74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
  3554. -    84,    85,    86,    87,    88,    89,    90,    -1,    92,    93,
  3555. -   318,    -1,    -1,   321,    -1,    -1,    -1,    -1,    -1,    -1,
  3556. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3557. -   338,    -1,   340,   341,    -1,    -1,    -1,   345,    -1,    -1,
  3558. -   348,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3559. -    -1,    -1,    -1,    -1,     1,    -1,   364,    -1,     5,     6,
  3560. -     7,     8,    25,    10,    -1,    12,    13,    14,    15,   377,
  3561. -    17,    -1,    -1,    20,    21,    22,    -1,    -1,    -1,    26,
  3562. -    -1,    28,    -1,    30,    -1,    -1,   394,   395,    35,    36,
  3563. -    -1,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
  3564. -    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
  3565. -    73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
  3566. -    83,    84,    85,    86,    87,    88,    89,    90,    -1,    92,
  3567. -    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
  3568. -    87,    -1,    -1,    -1,    -1,    92,    93,    94,    95,    -1,
  3569. -    -1,    -1,    -1,   100,   101,    -1,    -1,    -1,    -1,    -1,
  3570. -     1,   108,   109,   110,     5,     6,     7,     8,    25,    10,
  3571. -    -1,    12,    13,    14,    15,    -1,    17,    -1,    -1,    20,
  3572. -    21,    22,    -1,    -1,    -1,    26,    -1,    28,    -1,    30,
  3573. -    -1,    -1,    -1,    -1,    35,    36,    -1,    38,    39,    40,
  3574. -    41,    42,    -1,    -1,    -1,    46,    47,    48,    49,    50,
  3575. -    51,    52,    53,    54,    55,    56,    -1,    74,    75,    76,
  3576. -    77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
  3577. -    87,    88,    89,    90,    -1,    92,    93,    -1,    -1,    -1,
  3578. -    -1,    -1,    -1,    -1,    -1,    86,    87,    -1,    -1,    -1,
  3579. -    -1,    92,    93,    94,    95,    -1,    -1,    -1,    -1,   100,
  3580. -   101,    -1,    -1,    -1,    -1,    -1,     1,   108,   109,   110,
  3581. -     5,     6,     7,     8,    25,    10,    -1,    12,    13,    14,
  3582. -    15,    -1,    17,    -1,    -1,    20,    21,    22,    -1,    -1,
  3583. -    -1,    26,    -1,    28,    -1,    30,    -1,    -1,    -1,    -1,
  3584. -    35,    36,    -1,    38,    39,    40,    41,    42,    -1,    -1,
  3585. -    -1,    46,    47,    48,    49,    50,    51,    52,    53,    54,
  3586. -    55,    56,    -1,    -1,    75,    76,    77,    78,    79,    80,
  3587. -    81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
  3588. -    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3589. -    -1,    86,    87,    -1,    -1,    -1,    -1,    92,    93,    94,
  3590. -    95,    -1,    -1,    -1,    -1,   100,   101,    -1,    -1,    -1,
  3591. -    -1,    -1,     1,   108,   109,   110,     5,     6,     7,     8,
  3592. -    25,    10,    -1,    12,    13,    14,    15,    -1,    17,    -1,
  3593. -    -1,    20,    21,    22,    -1,    -1,    -1,    26,    -1,    28,
  3594. -    -1,    30,    -1,    -1,    -1,    -1,    35,    36,    -1,    38,
  3595. -    39,    40,    41,    42,    -1,    -1,    -1,    46,    47,    48,
  3596. -    49,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
  3597. -    -1,    76,    77,    78,    79,    80,    81,    82,    83,    84,
  3598. -    85,    86,    87,    88,    89,    90,    -1,    92,    93,    -1,
  3599. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    -1,
  3600. -    -1,    -1,    -1,    92,    93,    94,    95,    -1,    -1,    -1,
  3601. -    -1,   100,   101,    -1,    -1,    -1,    -1,    -1,     1,   108,
  3602. -   109,   110,     5,     6,     7,     8,    25,    10,    -1,    12,
  3603. -    13,    14,    15,    -1,    17,    -1,    -1,    20,    21,    22,
  3604. -    -1,    -1,    -1,    26,    -1,    28,    -1,    30,    -1,    -1,
  3605. -    -1,    -1,    35,    36,    -1,    38,    39,    40,    41,    42,
  3606. -    -1,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
  3607. -    53,    54,    55,    56,    -1,    -1,    -1,    -1,    77,    78,
  3608. -    79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
  3609. -    89,    90,    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,
  3610. -    -1,    -1,    -1,    86,    87,    -1,    -1,    -1,    -1,    92,
  3611. -    93,    94,    95,    -1,    -1,    -1,    -1,   100,   101,    -1,
  3612. -    -1,    -1,    -1,    -1,     1,   108,   109,   110,     5,     6,
  3613. -     7,     8,    25,    10,    -1,    12,    13,    14,    15,    -1,
  3614. -    17,    -1,    -1,    20,    21,    22,    -1,    -1,    -1,    26,
  3615. -    -1,    28,    -1,    30,    -1,    -1,    -1,    -1,    35,    36,
  3616. -    -1,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
  3617. -    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
  3618. -    -1,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    82,
  3619. -    83,    84,    85,    86,    87,    88,    89,    90,    -1,    92,
  3620. -    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
  3621. -    87,    -1,    -1,    -1,    -1,    92,    93,    94,    95,    -1,
  3622. -    -1,    -1,    -1,   100,   101,     5,    -1,     7,    -1,    -1,
  3623. -    10,   108,   109,    -1,    -1,    15,    -1,    17,    -1,    -1,
  3624. -    20,    -1,    -1,    -1,    -1,    -1,    26,    -1,    28,    -1,
  3625. -    30,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,
  3626. -    -1,    41,    -1,    -1,    -1,    -1,    46,    -1,    48,    -1,
  3627. -    50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
  3628. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3629. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3630. -    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    -1,    -1,
  3631. -    -1,    -1,    92,    93,    94,    95,    -1,     5,    -1,     7,
  3632. -   100,   101,    10,    -1,    -1,    -1,    -1,    15,   108,    17,
  3633. -    -1,    -1,    20,    -1,    -1,    -1,    -1,    -1,    26,    -1,
  3634. -    28,    -1,    30,    -1,    -1,    -1,    -1,    -1,    36,    -1,
  3635. -    38,    -1,    -1,    41,    -1,    -1,    17,    -1,    46,    -1,
  3636. -    48,    -1,    50,    51,    52,    53,    54,    55,    56,    30,
  3637. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    -1,    -1,
  3638. -    41,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    50,
  3639. -    51,    52,    53,    54,    55,    56,    -1,    -1,    86,    87,
  3640. -    -1,    -1,    -1,    -1,    92,    93,    94,    95,    -1,    -1,
  3641. -    -1,    -1,   100,   101,    -1,    -1,    -1,    17,    -1,    -1,
  3642. -    -1,    -1,    -1,    -1,    -1,    86,    87,    -1,    -1,    -1,
  3643. -    30,    92,    93,    94,    95,    -1,    17,    -1,    38,   100,
  3644. -   101,    41,    -1,    -1,    -1,    -1,    46,    -1,   109,    30,
  3645. -    50,    51,    52,    53,    54,    55,    56,    38,    -1,    -1,
  3646. -    41,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    50,
  3647. -    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,
  3648. -    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    -1,    -1,
  3649. -    -1,    -1,    92,    93,    94,    95,    -1,    17,    -1,    -1,
  3650. -   100,   101,    -1,    -1,    -1,    86,    87,    -1,   108,    -1,
  3651. -    30,    92,    93,    94,    95,    -1,    17,    -1,    38,   100,
  3652. -   101,    41,    -1,   104,    -1,    -1,    46,    -1,    -1,    30,
  3653. -    50,    51,    52,    53,    54,    55,    56,    38,    -1,    -1,
  3654. -    41,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    50,
  3655. -    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,
  3656. -    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    -1,    -1,
  3657. -    -1,    -1,    92,    93,    94,    95,    -1,    17,    -1,    -1,
  3658. -   100,   101,    -1,    -1,   104,    86,    87,    -1,    -1,    -1,
  3659. -    30,    92,    93,    94,    95,    -1,    17,    -1,    38,   100,
  3660. -   101,    41,    -1,   104,    -1,    -1,    46,    -1,    -1,    30,
  3661. -    50,    51,    52,    53,    54,    55,    56,    38,    -1,    -1,
  3662. -    41,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    50,
  3663. -    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    -1,
  3664. -    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    25,    -1,
  3665. -    -1,    -1,    92,    93,    94,    95,    -1,    -1,    -1,    -1,
  3666. -   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3667. -    -1,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,   100,
  3668. -   101,    58,    59,    60,    61,    62,    63,    64,    65,    66,
  3669. -    67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
  3670. -    77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
  3671. -    87,    88,    89,    90,    25,    92,    93,    -1,    -1,    -1,
  3672. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3673. -    -1,   108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3674. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    60,
  3675. -    61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
  3676. -    -1,    72,    73,    74,    75,    76,    77,    78,    79,    80,
  3677. -    81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
  3678. -    25,    92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3679. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,    -1,    -1,
  3680. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3681. -    -1,    -1,    -1,    58,    59,    60,    61,    62,    63,    64,
  3682. -    65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
  3683. -    75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
  3684. -    85,    86,    87,    88,    89,    90,    25,    92,    93,    -1,
  3685. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
  3686. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3687. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
  3688. -    59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
  3689. -    69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
  3690. -    79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
  3691. -    89,    90,    25,    92,    93,    -1,    -1,    -1,    -1,    -1,
  3692. -    -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,
  3693. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3694. -    -1,    -1,    -1,    -1,    -1,    58,    59,    60,    61,    62,
  3695. -    63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
  3696. -    73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
  3697. -    83,    84,    85,    86,    87,    88,    89,    90,    25,    92,
  3698. -    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3699. -    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3700. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3701. -    -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
  3702. -    67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
  3703. -    77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
  3704. -    87,    88,    89,    90,    25,    92,    93,    -1,    -1,    -1,
  3705. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,
  3706. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3707. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    60,
  3708. -    61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
  3709. -    25,    72,    73,    74,    75,    76,    77,    78,    79,    80,
  3710. -    81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
  3711. -    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3712. -    -1,   102,    -1,    58,    59,    60,    61,    62,    63,    64,
  3713. -    65,    66,    67,    68,    69,    70,    25,    72,    73,    74,
  3714. -    75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
  3715. -    85,    86,    87,    88,    89,    90,    -1,    92,    93,    -1,
  3716. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,    -1,    58,
  3717. -    59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
  3718. -    69,    70,    25,    72,    73,    74,    75,    76,    77,    78,
  3719. -    79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
  3720. -    89,    90,    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,
  3721. -    -1,    -1,    -1,   102,    -1,    58,    59,    60,    61,    62,
  3722. -    63,    64,    65,    66,    67,    68,    69,    70,    25,    72,
  3723. -    73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
  3724. -    83,    84,    85,    86,    87,    88,    89,    90,    -1,    92,
  3725. -    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,
  3726. -    -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
  3727. -    67,    68,    69,    70,    25,    72,    73,    74,    75,    76,
  3728. -    77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
  3729. -    87,    88,    89,    90,    -1,    92,    93,    -1,    -1,    -1,
  3730. -    -1,    -1,    -1,    -1,    -1,   102,    -1,    58,    59,    60,
  3731. -    61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
  3732. -    71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
  3733. -    81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
  3734. -    25,    92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3735. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3736. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3737. -    -1,    -1,    -1,    58,    59,    60,    61,    62,    63,    64,
  3738. -    65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
  3739. -    75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
  3740. -    85,    86,    87,    88,    89,    90,    25,    92,    93,    -1,
  3741. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3742. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3743. -    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
  3744. -    59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
  3745. -    69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
  3746. -    79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
  3747. -    89,    90,    -1,    92,    93
  3748. -};
  3749. -/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
  3750. -#line 3 "/usr/lib/bison.simple"
  3751. -
  3752. -/* Skeleton output parser for bison,
  3753. -   Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
  3754. -
  3755. -   This program is free software; you can redistribute it and/or modify
  3756. -   it under the terms of the GNU General Public License as published by
  3757. -   the Free Software Foundation; either version 1, or (at your option)
  3758. -   any later version.
  3759. -
  3760. -   This program is distributed in the hope that it will be useful,
  3761. -   but WITHOUT ANY WARRANTY; without even the implied warranty of
  3762. -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3763. -   GNU General Public License for more details.
  3764. -
  3765. -   You should have received a copy of the GNU General Public License
  3766. -   along with this program; if not, write to the Free Software
  3767. -   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  3768. -
  3769. -
  3770. -#ifndef alloca
  3771. -#ifdef __GNUC__
  3772. -#define alloca __builtin_alloca
  3773. -#else /* not GNU C.  */
  3774. -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
  3775. -#include <alloca.h>
  3776. -#else /* not sparc */
  3777. -#if defined (MSDOS) && !defined (__TURBOC__)
  3778. -#include <malloc.h>
  3779. -#else /* not MSDOS, or __TURBOC__ */
  3780. -#if defined(_AIX)
  3781. -#include <malloc.h>
  3782. - #pragma alloca
  3783. -#else /* not MSDOS, __TURBOC__, or _AIX */
  3784. -#ifdef __hpux
  3785. -#ifdef __cplusplus
  3786. -extern "C" {
  3787. -void *alloca (unsigned int);
  3788. -};
  3789. -#else /* not __cplusplus */
  3790. -void *alloca ();
  3791. -#endif /* not __cplusplus */
  3792. -#endif /* __hpux */
  3793. -#endif /* not _AIX */
  3794. -#endif /* not MSDOS, or __TURBOC__ */
  3795. -#endif /* not sparc.  */
  3796. -#endif /* not GNU C.  */
  3797. -#endif /* alloca not defined.  */
  3798. -
  3799. -/* This is the parser code that is written into each bison parser
  3800. -  when the %semantic_parser declaration is not specified in the grammar.
  3801. -  It was written by Richard Stallman by simplifying the hairy parser
  3802. -  used when %semantic_parser is specified.  */
  3803. -
  3804. -/* Note: there must be only one dollar sign in this file.
  3805. -   It is replaced by the list of actions, each action
  3806. -   as one case of the switch.  */
  3807. -
  3808. -#define yyerrok        (yyerrstatus = 0)
  3809. -#define yyclearin    (yychar = YYEMPTY)
  3810. -#define YYEMPTY        -2
  3811. -#define YYEOF        0
  3812. -#define YYACCEPT    return(0)
  3813. -#define YYABORT     return(1)
  3814. -#define YYERROR        goto yyerrlab1
  3815. -/* Like YYERROR except do call yyerror.
  3816. -   This remains here temporarily to ease the
  3817. -   transition to the new meaning of YYERROR, for GCC.
  3818. -   Once GCC version 2 has supplanted version 1, this can go.  */
  3819. -#define YYFAIL        goto yyerrlab
  3820. -#define YYRECOVERING()  (!!yyerrstatus)
  3821. -#define YYBACKUP(token, value) \
  3822. -do                                \
  3823. -  if (yychar == YYEMPTY && yylen == 1)                \
  3824. -    { yychar = (token), yylval = (value);            \
  3825. -      yychar1 = YYTRANSLATE (yychar);                \
  3826. -      YYPOPSTACK;                        \
  3827. -      goto yybackup;                        \
  3828. -    }                                \
  3829. -  else                                \
  3830. -    { yyerror ("syntax error: cannot back up"); YYERROR; }    \
  3831. -while (0)
  3832. -
  3833. -#define YYTERROR    1
  3834. -#define YYERRCODE    256
  3835. -
  3836. -#ifndef YYPURE
  3837. -#define YYLEX        yylex()
  3838. -#endif
  3839. -
  3840. -#ifdef YYPURE
  3841. -#ifdef YYLSP_NEEDED
  3842. -#define YYLEX        yylex(&yylval, &yylloc)
  3843. -#else
  3844. -#define YYLEX        yylex(&yylval)
  3845. -#endif
  3846. -#endif
  3847. -
  3848. -/* If nonreentrant, generate the variables here */
  3849. -
  3850. -#ifndef YYPURE
  3851. -
  3852. -int    yychar;            /*  the lookahead symbol        */
  3853. -YYSTYPE    yylval;            /*  the semantic value of the        */
  3854. -                /*  lookahead symbol            */
  3855. -
  3856. -#ifdef YYLSP_NEEDED
  3857. -YYLTYPE yylloc;            /*  location data for the lookahead    */
  3858. -                /*  symbol                */
  3859. -#endif
  3860. -
  3861. -int yynerrs;            /*  number of parse errors so far       */
  3862. -#endif  /* not YYPURE */
  3863. -
  3864. -#if YYDEBUG != 0
  3865. -int yydebug;            /*  nonzero means print parse trace    */
  3866. -/* Since this is uninitialized, it does not stop multiple parsers
  3867. -   from coexisting.  */
  3868. -#endif
  3869. -
  3870. -/*  YYINITDEPTH indicates the initial size of the parser's stacks    */
  3871. -
  3872. -#ifndef    YYINITDEPTH
  3873. -#define YYINITDEPTH 200
  3874. -#endif
  3875. -
  3876. -/*  YYMAXDEPTH is the maximum size the stacks can grow to
  3877. -    (effective only if the built-in stack extension method is used).  */
  3878. -
  3879. -#if YYMAXDEPTH == 0
  3880. -#undef YYMAXDEPTH
  3881. -#endif
  3882. -
  3883. -#ifndef YYMAXDEPTH
  3884. -#define YYMAXDEPTH 10000
  3885. -#endif
  3886. -
  3887. -/* Prevent warning if -Wstrict-prototypes.  */
  3888. -#ifdef __GNUC__
  3889. -int yyparse (void);
  3890. -#endif
  3891. -
  3892. -#if __GNUC__ > 1        /* GNU C and GNU C++ define this.  */
  3893. -#define __yy_bcopy(FROM,TO,COUNT)    __builtin_memcpy(TO,FROM,COUNT)
  3894. -#else                /* not GNU C or C++ */
  3895. -#ifndef __cplusplus
  3896. -
  3897. -/* This is the most reliable way to avoid incompatibilities
  3898. -   in available built-in functions on various systems.  */
  3899. -static void
  3900. -__yy_bcopy (from, to, count)
  3901. -     char *from;
  3902. -     char *to;
  3903. -     int count;
  3904. -{
  3905. -  register char *f = from;
  3906. -  register char *t = to;
  3907. -  register int i = count;
  3908. -
  3909. -  while (i-- > 0)
  3910. -    *t++ = *f++;
  3911. -}
  3912. -
  3913. -#else /* __cplusplus */
  3914. -
  3915. -/* This is the most reliable way to avoid incompatibilities
  3916. -   in available built-in functions on various systems.  */
  3917. -static void
  3918. -__yy_bcopy (char *from, char *to, int count)
  3919. -{
  3920. -  register char *f = from;
  3921. -  register char *t = to;
  3922. -  register int i = count;
  3923. -
  3924. -  while (i-- > 0)
  3925. -    *t++ = *f++;
  3926. -}
  3927. -
  3928. -#endif
  3929. -#endif
  3930. -
  3931. -#line 184 "/usr/lib/bison.simple"
  3932. -int
  3933. -yyparse()
  3934. -{
  3935. -  register int yystate;
  3936. -  register int yyn;
  3937. -  register short *yyssp;
  3938. -  register YYSTYPE *yyvsp;
  3939. -  int yyerrstatus;    /*  number of tokens to shift before error messages enabled */
  3940. -  int yychar1 = 0;        /*  lookahead token as an internal (translated) token number */
  3941. -
  3942. -  short    yyssa[YYINITDEPTH];    /*  the state stack            */
  3943. -  YYSTYPE yyvsa[YYINITDEPTH];    /*  the semantic value stack        */
  3944. -
  3945. -  short *yyss = yyssa;        /*  refer to the stacks thru separate pointers */
  3946. -  YYSTYPE *yyvs = yyvsa;    /*  to allow yyoverflow to reallocate them elsewhere */
  3947. -
  3948. -#ifdef YYLSP_NEEDED
  3949. -  YYLTYPE yylsa[YYINITDEPTH];    /*  the location stack            */
  3950. -  YYLTYPE *yyls = yylsa;
  3951. -  YYLTYPE *yylsp;
  3952. -
  3953. -#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
  3954. -#else
  3955. -#define YYPOPSTACK   (yyvsp--, yyssp--)
  3956. -#endif
  3957. -
  3958. -  int yystacksize = YYINITDEPTH;
  3959. -
  3960. -#ifdef YYPURE
  3961. -  int yychar;
  3962. -  YYSTYPE yylval;
  3963. -  int yynerrs;
  3964. -#ifdef YYLSP_NEEDED
  3965. -  YYLTYPE yylloc;
  3966. -#endif
  3967. -#endif
  3968. -
  3969. -  YYSTYPE yyval;        /*  the variable used to return        */
  3970. -                /*  semantic values from the action    */
  3971. -                /*  routines                */
  3972. -
  3973. -  int yylen;
  3974. -
  3975. -#if YYDEBUG != 0
  3976. -  if (yydebug)
  3977. -    fprintf(stderr, "Starting parse\n");
  3978. -#endif
  3979. -
  3980. -  yystate = 0;
  3981. -  yyerrstatus = 0;
  3982. -  yynerrs = 0;
  3983. -  yychar = YYEMPTY;        /* Cause a token to be read.  */
  3984. -
  3985. -  /* Initialize stack pointers.
  3986. -     Waste one element of value and location stack
  3987. -     so that they stay on the same level as the state stack.
  3988. -     The wasted elements are never initialized.  */
  3989. -
  3990. -  yyssp = yyss - 1;
  3991. -  yyvsp = yyvs;
  3992. -#ifdef YYLSP_NEEDED
  3993. -  yylsp = yyls;
  3994. -#endif
  3995. -
  3996. -/* Push a new state, which is found in  yystate  .  */
  3997. -/* In all cases, when you get here, the value and location stacks
  3998. -   have just been pushed. so pushing a state here evens the stacks.  */
  3999. -yynewstate:
  4000. -
  4001. -  *++yyssp = yystate;
  4002. -
  4003. -  if (yyssp >= yyss + yystacksize - 1)
  4004. -    {
  4005. -      /* Give user a chance to reallocate the stack */
  4006. -      /* Use copies of these so that the &'s don't force the real ones into memory. */
  4007. -      YYSTYPE *yyvs1 = yyvs;
  4008. -      short *yyss1 = yyss;
  4009. -#ifdef YYLSP_NEEDED
  4010. -      YYLTYPE *yyls1 = yyls;
  4011. -#endif
  4012. -
  4013. -      /* Get the current used size of the three stacks, in elements.  */
  4014. -      int size = yyssp - yyss + 1;
  4015. -
  4016. -#ifdef yyoverflow
  4017. -      /* Each stack pointer address is followed by the size of
  4018. -     the data in use in that stack, in bytes.  */
  4019. -#ifdef YYLSP_NEEDED
  4020. -      /* This used to be a conditional around just the two extra args,
  4021. -     but that might be undefined if yyoverflow is a macro.  */
  4022. -      yyoverflow("parser stack overflow",
  4023. -         &yyss1, size * sizeof (*yyssp),
  4024. -         &yyvs1, size * sizeof (*yyvsp),
  4025. -         &yyls1, size * sizeof (*yylsp),
  4026. -         &yystacksize);
  4027. -#else
  4028. -      yyoverflow("parser stack overflow",
  4029. -         &yyss1, size * sizeof (*yyssp),
  4030. -         &yyvs1, size * sizeof (*yyvsp),
  4031. -         &yystacksize);
  4032. -#endif
  4033. -
  4034. -      yyss = yyss1; yyvs = yyvs1;
  4035. -#ifdef YYLSP_NEEDED
  4036. -      yyls = yyls1;
  4037. -#endif
  4038. -#else /* no yyoverflow */
  4039. -      /* Extend the stack our own way.  */
  4040. -      if (yystacksize >= YYMAXDEPTH)
  4041. -    {
  4042. -      yyerror("parser stack overflow");
  4043. -      return 2;
  4044. -    }
  4045. -      yystacksize *= 2;
  4046. -      if (yystacksize > YYMAXDEPTH)
  4047. -    yystacksize = YYMAXDEPTH;
  4048. -      yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
  4049. -      __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
  4050. -      yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
  4051. -      __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
  4052. -#ifdef YYLSP_NEEDED
  4053. -      yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
  4054. -      __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
  4055. -#endif
  4056. -#endif /* no yyoverflow */
  4057. -
  4058. -      yyssp = yyss + size - 1;
  4059. -      yyvsp = yyvs + size - 1;
  4060. -#ifdef YYLSP_NEEDED
  4061. -      yylsp = yyls + size - 1;
  4062. -#endif
  4063. -
  4064. -#if YYDEBUG != 0
  4065. -      if (yydebug)
  4066. -    fprintf(stderr, "Stack size increased to %d\n", yystacksize);
  4067. -#endif
  4068. -
  4069. -      if (yyssp >= yyss + yystacksize - 1)
  4070. -    YYABORT;
  4071. -    }
  4072. -
  4073. -#if YYDEBUG != 0
  4074. -  if (yydebug)
  4075. -    fprintf(stderr, "Entering state %d\n", yystate);
  4076. -#endif
  4077. -
  4078. -  goto yybackup;
  4079. - yybackup:
  4080. -
  4081. -/* Do appropriate processing given the current state.  */
  4082. -/* Read a lookahead token if we need one and don't already have one.  */
  4083. -/* yyresume: */
  4084. -
  4085. -  /* First try to decide what to do without reference to lookahead token.  */
  4086. -
  4087. -  yyn = yypact[yystate];
  4088. -  if (yyn == YYFLAG)
  4089. -    goto yydefault;
  4090. -
  4091. -  /* Not known => get a lookahead token if don't already have one.  */
  4092. -
  4093. -  /* yychar is either YYEMPTY or YYEOF
  4094. -     or a valid token in external form.  */
  4095. -
  4096. -  if (yychar == YYEMPTY)
  4097. -    {
  4098. -#if YYDEBUG != 0
  4099. -      if (yydebug)
  4100. -    fprintf(stderr, "Reading a token: ");
  4101. -#endif
  4102. -      yychar = YYLEX;
  4103. -    }
  4104. -
  4105. -  /* Convert token to internal form (in yychar1) for indexing tables with */
  4106. -
  4107. -  if (yychar <= 0)        /* This means end of input. */
  4108. -    {
  4109. -      yychar1 = 0;
  4110. -      yychar = YYEOF;        /* Don't call YYLEX any more */
  4111. -
  4112. -#if YYDEBUG != 0
  4113. -      if (yydebug)
  4114. -    fprintf(stderr, "Now at end of input.\n");
  4115. -#endif
  4116. -    }
  4117. -  else
  4118. -    {
  4119. -      yychar1 = YYTRANSLATE(yychar);
  4120. -
  4121. -#if YYDEBUG != 0
  4122. -      if (yydebug)
  4123. -    {
  4124. -      fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
  4125. -      /* Give the individual parser a way to print the precise meaning
  4126. -         of a token, for further debugging info.  */
  4127. -#ifdef YYPRINT
  4128. -      YYPRINT (stderr, yychar, yylval);
  4129. -#endif
  4130. -      fprintf (stderr, ")\n");
  4131. -    }
  4132. -#endif
  4133. -    }
  4134. -
  4135. -  yyn += yychar1;
  4136. -  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
  4137. -    goto yydefault;
  4138. -
  4139. -  yyn = yytable[yyn];
  4140. -
  4141. -  /* yyn is what to do for this token type in this state.
  4142. -     Negative => reduce, -yyn is rule number.
  4143. -     Positive => shift, yyn is new state.
  4144. -       New state is final state => don't bother to shift,
  4145. -       just return success.
  4146. -     0, or most negative number => error.  */
  4147. -
  4148. -  if (yyn < 0)
  4149. -    {
  4150. -      if (yyn == YYFLAG)
  4151. -    goto yyerrlab;
  4152. -      yyn = -yyn;
  4153. -      goto yyreduce;
  4154. -    }
  4155. -  else if (yyn == 0)
  4156. -    goto yyerrlab;
  4157. -
  4158. -  if (yyn == YYFINAL)
  4159. -    YYACCEPT;
  4160. -
  4161. -  /* Shift the lookahead token.  */
  4162. -
  4163. -#if YYDEBUG != 0
  4164. -  if (yydebug)
  4165. -    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
  4166. -#endif
  4167. -
  4168. -  /* Discard the token being shifted unless it is eof.  */
  4169. -  if (yychar != YYEOF)
  4170. -    yychar = YYEMPTY;
  4171. -
  4172. -  *++yyvsp = yylval;
  4173. -#ifdef YYLSP_NEEDED
  4174. -  *++yylsp = yylloc;
  4175. -#endif
  4176. -
  4177. -  /* count tokens shifted since error; after three, turn off error status.  */
  4178. -  if (yyerrstatus) yyerrstatus--;
  4179. -
  4180. -  yystate = yyn;
  4181. -  goto yynewstate;
  4182. -
  4183. -/* Do the default action for the current state.  */
  4184. -yydefault:
  4185. -
  4186. -  yyn = yydefact[yystate];
  4187. -  if (yyn == 0)
  4188. -    goto yyerrlab;
  4189. -
  4190. -/* Do a reduction.  yyn is the number of a rule to reduce with.  */
  4191. -yyreduce:
  4192. -  yylen = yyr2[yyn];
  4193. -  if (yylen > 0)
  4194. -    yyval = yyvsp[1-yylen]; /* implement default value of the action */
  4195. -
  4196. -#if YYDEBUG != 0
  4197. -  if (yydebug)
  4198. -    {
  4199. -      int i;
  4200. -
  4201. -      fprintf (stderr, "Reducing via rule %d (line %d), ",
  4202. -           yyn, yyrline[yyn]);
  4203. -
  4204. -      /* Print the symbols being reduced, and their result.  */
  4205. -      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
  4206. -    fprintf (stderr, "%s ", yytname[yyrhs[i]]);
  4207. -      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
  4208. -    }
  4209. -#endif
  4210. -
  4211. -
  4212. -  switch (yyn) {
  4213. -
  4214. -case 3:
  4215. -#line 136 "parser.y"
  4216. -{
  4217. -      gCurrentCompiler->SetPackage(*(yyvsp[-1].text));
  4218. -      delete yyvsp[-1].text;
  4219. -    ;
  4220. -    break;}
  4221. -case 6:
  4222. -#line 147 "parser.y"
  4223. -{
  4224. -      if (!gCurrentCompiler->ImportPackage(*(yyvsp[-3].text))) {
  4225. -    string errorMessage("Invalid package: ");
  4226. -    errorMessage += ::UnicodeToUTF(*(yyvsp[-3].text));
  4227. -    yyerror(errorMessage.c_str());
  4228. -    YYERROR;
  4229. -      }
  4230. -      delete yyvsp[-3].text;
  4231. -    ;
  4232. -    break;}
  4233. -case 7:
  4234. -#line 157 "parser.y"
  4235. -{
  4236. -      if (gCurrentCompiler->ImportClass(*(yyvsp[-1].text)) == 0) {
  4237. -    string errorMessage("Invalid class: ");
  4238. -    errorMessage += ::UnicodeToUTF(*(yyvsp[-1].text));
  4239. -    yyerror(errorMessage.c_str());
  4240. -    YYERROR;
  4241. -      }
  4242. -      delete yyvsp[-1].text;
  4243. -    ;
  4244. -    break;}
  4245. -case 13:
  4246. -#line 179 "parser.y"
  4247. -{
  4248. -      gCurrentCompiler->StartClass(*(yyvsp[-2].text), yyvsp[-4].modifiers, yyvsp[-1].text, yyvsp[0].stringList);
  4249. -      delete yyvsp[-2].text;
  4250. -    ;
  4251. -    break;}
  4252. -case 14:
  4253. -#line 184 "parser.y"
  4254. -{ gCurrentCompiler->EndClass(); ;
  4255. -    break;}
  4256. -case 15:
  4257. -#line 189 "parser.y"
  4258. -{
  4259. -      CJavaAccessFlags usedFlags(*(yyvsp[-3].modifiers));
  4260. -      usedFlags.fPublic = usedFlags.fAbstract = 0;
  4261. -      yyvsp[-3].modifiers->fAbstract = yyvsp[-3].modifiers->fInterface = 1;
  4262. -      if (usedFlags.Count() > 0) {
  4263. -    string errorMessage("Invalid interface modifier use: ");
  4264. -    errorMessage += usedFlags.FlagNames();
  4265. -    yyerror(errorMessage.c_str());
  4266. -    YYERROR;
  4267. -      }
  4268. -      gCurrentCompiler->StartInterface(*(yyvsp[-1].text), yyvsp[-3].modifiers, yyvsp[0].stringList);
  4269. -    ;
  4270. -    break;}
  4271. -case 16:
  4272. -#line 202 "parser.y"
  4273. -{ gCurrentCompiler->EndClass(); ;
  4274. -    break;}
  4275. -case 17:
  4276. -#line 206 "parser.y"
  4277. -{ yyval.modifiers = new CJavaAccessFlags; ;
  4278. -    break;}
  4279. -case 18:
  4280. -#line 208 "parser.y"
  4281. -{
  4282. -      yyval.modifiers = yyvsp[-1].modifiers;
  4283. -      if (yyval.modifiers->fFinal) {
  4284. -    yyerror("'final' modifier repeated");
  4285. -    YYERROR;
  4286. -      }
  4287. -      yyval.modifiers->fFinal = 1;
  4288. -    ;
  4289. -    break;}
  4290. -case 19:
  4291. -#line 217 "parser.y"
  4292. -{
  4293. -      yyval.modifiers = yyvsp[-1].modifiers;
  4294. -      if (yyval.modifiers->fPublic) {
  4295. -    yyerror("'public' modifier repeated");
  4296. -    YYERROR;
  4297. -      }
  4298. -      yyval.modifiers->fPublic = 1;
  4299. -    ;
  4300. -    break;}
  4301. -case 20:
  4302. -#line 226 "parser.y"
  4303. -{
  4304. -      yyval.modifiers = yyvsp[-1].modifiers;
  4305. -      if (yyval.modifiers->fAbstract) {
  4306. -    yyerror("'abstract' modifier repeated");
  4307. -    YYERROR;
  4308. -      }
  4309. -      yyval.modifiers->fAbstract = 1;
  4310. -    ;
  4311. -    break;}
  4312. -case 21:
  4313. -#line 237 "parser.y"
  4314. -{ yyval.text = 0; ;
  4315. -    break;}
  4316. -case 22:
  4317. -#line 239 "parser.y"
  4318. -{ yyval.text = yyvsp[0].text; ;
  4319. -    break;}
  4320. -case 23:
  4321. -#line 243 "parser.y"
  4322. -{ yyval.stringList = 0; ;
  4323. -    break;}
  4324. -case 24:
  4325. -#line 245 "parser.y"
  4326. -{ yyval.stringList = yyvsp[0].stringList; ;
  4327. -    break;}
  4328. -case 25:
  4329. -#line 249 "parser.y"
  4330. -{ yyval.stringList = 0; ;
  4331. -    break;}
  4332. -case 26:
  4333. -#line 251 "parser.y"
  4334. -{ yyval.stringList = yyvsp[0].stringList; ;
  4335. -    break;}
  4336. -case 34:
  4337. -#line 266 "parser.y"
  4338. -{
  4339. -      CJavaAccessFlags usedFlags(*yyvsp[-1].modifiers);
  4340. -      usedFlags.fPublic = usedFlags.fProtected = usedFlags.fPrivate =
  4341. -          usedFlags.fStatic = usedFlags.fFinal = usedFlags.fTransient =
  4342. -          usedFlags.fVolatile = 0;
  4343. -      if (usedFlags.Count() > 0) {
  4344. -    string errorMessage("Invalid modifier use in field declaration: ");
  4345. -    errorMessage += usedFlags.FlagNames();
  4346. -    yyerror(errorMessage.c_str());
  4347. -    YYERROR;
  4348. -      }
  4349. -      gCurrentCompiler->AddField(new CDeclarationStatement(yyvsp[0].variableList, yyvsp[-1].modifiers));
  4350. -    ;
  4351. -    break;}
  4352. -case 36:
  4353. -#line 283 "parser.y"
  4354. -{
  4355. -      if (yyvsp[-1].modifiers->fStatic == 0) {
  4356. -    string errorMessage(
  4357. -             "Static initialization block requires STATIC modifier");
  4358. -    yyerror(errorMessage.c_str());
  4359. -    YYERROR;
  4360. -      }
  4361. -      if (yyvsp[-1].modifiers->Count() > 1) {
  4362. -    yyvsp[-1].modifiers->fStatic = 0;
  4363. -    string errorMessage("Invalid modifiers before static initializer: ");
  4364. -    errorMessage += yyvsp[-1].modifiers->FlagNames();
  4365. -    yyerror(errorMessage.c_str());
  4366. -    YYERROR;
  4367. -      }
  4368. -      gCurrentCompiler->AddStaticCode(yyvsp[0].compoundStatement);
  4369. -      delete yyvsp[-1].modifiers;
  4370. -    ;
  4371. -    break;}
  4372. -case 37:
  4373. -#line 304 "parser.y"
  4374. -{
  4375. -      if (gCurrentCompiler->GetCurrentClass()->GetName() == *(yyvsp[-5].text)) {
  4376. -    string errorMessage("Invalid use of return value with constructor.");
  4377. -    yyerror(errorMessage.c_str());
  4378. -    YYERROR;
  4379. -      }
  4380. -      if (yyvsp[-1].longNumber > 0 && yyvsp[-6].typeSignature->GetBaseType() == CJavaTypeSignature::Void) {
  4381. -    yyerror("Invalid return value of void array.");
  4382. -    YYERROR;
  4383. -      }
  4384. -      yyvsp[-6].typeSignature->SetArrayBounds(yyvsp[-6].typeSignature->GetArrayBounds() + yyvsp[-1].longNumber);
  4385. -      CJavaAccessFlags usedFlags = *(yyvsp[-7].modifiers);
  4386. -      usedFlags.fPublic = usedFlags.fProtected = usedFlags.fPrivate =
  4387. -          usedFlags.fStatic = usedFlags.fFinal = usedFlags.fAbstract =
  4388. -          usedFlags.fNative = usedFlags.fSynchronized = 0;
  4389. -      if (usedFlags.Count() > 0) {
  4390. -    string errorMessage("Invalid modifier use in method declaration: ");
  4391. -    errorMessage += usedFlags.FlagNames();
  4392. -    yyerror(errorMessage.c_str());
  4393. -    YYERROR;
  4394. -      }
  4395. -      gCurrentCompiler->StartFunction(*(yyvsp[-6].typeSignature), *(yyvsp[-5].text), *(yyvsp[-7].modifiers), yyvsp[-3].fieldList, yyvsp[0].stringList);
  4396. -      delete yyvsp[-6].typeSignature;
  4397. -    ;
  4398. -    break;}
  4399. -case 38:
  4400. -#line 329 "parser.y"
  4401. -{
  4402. -      if (yyvsp[0].compoundStatement != 0) {
  4403. -    if (yyvsp[-9].modifiers->fAbstract != 0) {
  4404. -      string errorMessage("Non-empty block used with abstract method ");
  4405. -      errorMessage += ::UnicodeToString(*(yyvsp[-7].text));
  4406. -      yyerror(errorMessage.c_str());
  4407. -      YYERROR;
  4408. -    } else if (yyvsp[-9].modifiers->fNative != 0) {
  4409. -      string errorMessage("Non-empty block used with native method ");
  4410. -      errorMessage += ::UnicodeToString(*(yyvsp[-7].text));
  4411. -      yyerror(errorMessage.c_str());
  4412. -      YYERROR;
  4413. -    }
  4414. -      }
  4415. -      gCurrentCompiler->EndFunction(yyvsp[0].compoundStatement);
  4416. -      delete yyvsp[-9].modifiers;
  4417. -      delete yyvsp[-7].text;
  4418. -    ;
  4419. -    break;}
  4420. -case 39:
  4421. -#line 350 "parser.y"
  4422. -{
  4423. -      if (!(gCurrentCompiler->GetCurrentClass()->GetShortName() == *(yyvsp[0].text))) {
  4424. -    string errorMessage("No type given for function: ");
  4425. -    errorMessage += ::UnicodeToString(*(yyvsp[0].text));
  4426. -    yyerror(errorMessage.c_str());
  4427. -    YYERROR;
  4428. -      }
  4429. -      delete yyvsp[0].text;
  4430. -    ;
  4431. -    break;}
  4432. -case 40:
  4433. -#line 360 "parser.y"
  4434. -{
  4435. -      CJavaAccessFlags usedFlags(*yyvsp[-7].modifiers);
  4436. -      usedFlags.fPublic = usedFlags.fProtected = usedFlags.fPrivate = 0;
  4437. -      if (usedFlags.Count() > 0) {
  4438. -    string errorMessage("Invalid modifier use in constructor: ");
  4439. -    errorMessage += usedFlags.FlagNames();
  4440. -    yyerror(errorMessage.c_str());
  4441. -    YYERROR;
  4442. -      }
  4443. -      gCurrentCompiler->StartConstructor(*yyvsp[-7].modifiers, yyvsp[-3].fieldList, yyvsp[-1].stringList);
  4444. -      delete yyvsp[-7].modifiers;
  4445. -    ;
  4446. -    break;}
  4447. -case 41:
  4448. -#line 373 "parser.y"
  4449. -{ 
  4450. -      CCompoundStatement* statement = new CCompoundStatement(yyvsp[-1].statementList);
  4451. -      gCurrentCompiler->EndFunction(statement);
  4452. -    ;
  4453. -    break;}
  4454. -case 42:
  4455. -#line 380 "parser.y"
  4456. -{ yyval.stringList = 0; ;
  4457. -    break;}
  4458. -case 43:
  4459. -#line 382 "parser.y"
  4460. -{ yyval.stringList = yyvsp[0].stringList; ;
  4461. -    break;}
  4462. -case 44:
  4463. -#line 386 "parser.y"
  4464. -{ yyval.statementList = new StatementList; ;
  4465. -    break;}
  4466. -case 45:
  4467. -#line 388 "parser.y"
  4468. -{
  4469. -      yyval.statementList = yyvsp[0].statementList;
  4470. -      if (yyvsp[-1].statement != 0) {
  4471. -    yyval.statementList->push_front(yyvsp[-1].statement);
  4472. -      }
  4473. -    ;
  4474. -    break;}
  4475. -case 46:
  4476. -#line 395 "parser.y"
  4477. -{
  4478. -      yyval.statementList = yyvsp[0].statementList;
  4479. -      yyval.statementList->push_front(
  4480. -       new CExplicitConstructorCall(CExplicitConstructorCall::kSuper, yyvsp[-3].expressionList));
  4481. -    ;
  4482. -    break;}
  4483. -case 47:
  4484. -#line 401 "parser.y"
  4485. -{
  4486. -      yyval.statementList = yyvsp[0].statementList;
  4487. -      yyval.statementList->push_front(
  4488. -        new CExplicitConstructorCall(CExplicitConstructorCall::kThis, yyvsp[-3].expressionList));
  4489. -    ;
  4490. -    break;}
  4491. -case 48:
  4492. -#line 409 "parser.y"
  4493. -{ yyval.compoundStatement = 0; ;
  4494. -    break;}
  4495. -case 49:
  4496. -#line 411 "parser.y"
  4497. -{ yyval.compoundStatement = yyvsp[0].compoundStatement; ;
  4498. -    break;}
  4499. -case 50:
  4500. -#line 415 "parser.y"
  4501. -{ yyval.fieldList = 0; ;
  4502. -    break;}
  4503. -case 51:
  4504. -#line 417 "parser.y"
  4505. -{ yyval.fieldList = yyvsp[0].fieldList; ;
  4506. -    break;}
  4507. -case 52:
  4508. -#line 421 "parser.y"
  4509. -{
  4510. -      yyval.fieldList = new deque<CJavaFieldSignature>(1, *(yyvsp[0].fieldSignature));
  4511. -      delete yyvsp[0].fieldSignature;
  4512. -    ;
  4513. -    break;}
  4514. -case 53:
  4515. -#line 426 "parser.y"
  4516. -{ 
  4517. -      yyval.fieldList = yyvsp[-2].fieldList;
  4518. -      for (deque<CJavaFieldSignature>::iterator parameterIter = yyvsp[-2].fieldList->begin();
  4519. -       parameterIter != yyvsp[-2].fieldList->end(); ++parameterIter) {
  4520. -    if ((*parameterIter).GetFieldName() == (*(yyvsp[0].fieldSignature)).GetFieldName()) {
  4521. -      string errorString("Invalid re-use of parameter name: ");
  4522. -      errorString += ::UnicodeToString((*(yyvsp[0].fieldSignature)).GetFieldName());
  4523. -      yyerror(errorString.c_str());
  4524. -      YYERROR;      
  4525. -    }
  4526. -      }
  4527. -      yyval.fieldList->push_back(*(yyvsp[0].fieldSignature));
  4528. -      delete yyvsp[0].fieldSignature;
  4529. -    ;
  4530. -    break;}
  4531. -case 54:
  4532. -#line 443 "parser.y"
  4533. -{
  4534. -      if (yyvsp[-2].typeSignature->GetBaseType() == CJavaTypeSignature::Void) {
  4535. -    yyerror("Invalid use of 'void' for a parameter type.");
  4536. -    YYERROR;
  4537. -      }
  4538. -      yyvsp[-2].typeSignature->SetArrayBounds(yyvsp[-2].typeSignature->GetArrayBounds() + yyvsp[0].longNumber);
  4539. -      yyval.fieldSignature = new CJavaFieldSignature(*(yyvsp[-2].typeSignature), *(yyvsp[-1].text));
  4540. -      delete yyvsp[-2].typeSignature;
  4541. -      delete yyvsp[-1].text;
  4542. -    ;
  4543. -    break;}
  4544. -case 55:
  4545. -#line 456 "parser.y"
  4546. -{
  4547. -      yyval.variableList = yyvsp[-1].variableList;
  4548. -      // take off the bogus entry added in partialVariable
  4549. -      delete yyval.variableList->front();  
  4550. -      yyval.variableList->pop_front();
  4551. -    ;
  4552. -    break;}
  4553. -case 56:
  4554. -#line 472 "parser.y"
  4555. -{
  4556. -      if (yyvsp[-3].typeSignature->GetBaseType() == CJavaTypeSignature::Void) {
  4557. -    yyerror("Invalid use of 'void' for a variable type.");
  4558. -    YYERROR;
  4559. -      }
  4560. -      yyval.variableList = new deque<CVariableDeclaration*>;
  4561. -      // push a bogus entry at the beginning, just to hold the base type of
  4562. -      // this variable declaration sequence.
  4563. -      yyval.variableList->push_front(new CVariableDeclaration(*(yyvsp[-3].typeSignature), unicode_string()));
  4564. -      yyvsp[-3].typeSignature->SetArrayBounds(yyvsp[-3].typeSignature->GetArrayBounds() + yyvsp[-1].longNumber);
  4565. -      CArrayInitializer* arrayInitializer= DYNAMIC_CAST(CArrayInitializer, yyvsp[0].expression);
  4566. -      if (arrayInitializer != 0) {
  4567. -    if (yyvsp[-3].typeSignature->GetArrayBounds() == 0) {
  4568. -      string errorMessage("Cannot use array initializer with non-array ");
  4569. -      errorMessage += ::UnicodeToUTF(*yyvsp[-2].text);
  4570. -      yyerror(errorMessage.c_str());
  4571. -      YYERROR;
  4572. -    } else {
  4573. -      arrayInitializer->SetArrayType(*(yyvsp[-3].typeSignature));
  4574. -    }
  4575. -      }
  4576. -      
  4577. -      CJavaFieldSignature signature(*(yyvsp[-3].typeSignature), *(yyvsp[-2].text));
  4578. -      if (gCurrentCompiler->InStatementBlock()) {
  4579. -    if (gCurrentCompiler->LookupLocalVariable(*yyvsp[-2].text) != 0) {
  4580. -      string errorMessage = ::UnicodeToUTF(*yyvsp[-2].text);
  4581. -      errorMessage += " already declared in this scope.";
  4582. -      yyerror(errorMessage.c_str());
  4583. -      YYERROR;
  4584. -    } else {
  4585. -      gCurrentCompiler->AddLocalVariable(signature);
  4586. -    }
  4587. -      }
  4588. -      CExpression* initializer = yyvsp[0].expression;
  4589. -      if (initializer != 0) {
  4590. -    initializer =
  4591. -      new CBinaryExpression(::InterpretSymbolExpression(*(yyvsp[-2].text)),
  4592. -                '=', initializer);
  4593. -      }
  4594. -      yyval.variableList->push_back(new CVariableDeclaration(*(yyvsp[-3].typeSignature), *(yyvsp[-2].text), initializer));
  4595. -      delete yyvsp[-3].typeSignature;
  4596. -      delete yyvsp[-2].text;
  4597. -    ;
  4598. -    break;}
  4599. -case 57:
  4600. -#line 516 "parser.y"
  4601. -{
  4602. -      yyval.variableList = yyvsp[-4].variableList;
  4603. -      CJavaTypeSignature thisType = (yyval.variableList)->front()->GetType();
  4604. -      thisType.SetArrayBounds(thisType.GetArrayBounds() + yyvsp[-1].longNumber);
  4605. -      CArrayInitializer* arrayInitializer= DYNAMIC_CAST(CArrayInitializer, yyvsp[0].expression);
  4606. -      if (arrayInitializer != 0) {
  4607. -    if (thisType.GetArrayBounds() == 0) {
  4608. -      string errorMessage("Cannot use array initializer with non-array ");
  4609. -      errorMessage += ::UnicodeToUTF(*yyvsp[-2].text);
  4610. -      yyerror(errorMessage.c_str());
  4611. -      YYERROR;      
  4612. -    } else {
  4613. -      arrayInitializer->SetArrayType(thisType);
  4614. -    }
  4615. -      }
  4616. -
  4617. -      CJavaFieldSignature signature(thisType, *(yyvsp[-2].text));
  4618. -      if (gCurrentCompiler->InStatementBlock()) {
  4619. -    if (gCurrentCompiler->LookupLocalVariable(*yyvsp[-2].text) != 0) {
  4620. -      string errorMessage = ::UnicodeToUTF(*yyvsp[-2].text);
  4621. -      errorMessage += " already declared in this scope.";
  4622. -      yyerror(errorMessage.c_str());
  4623. -      YYERROR;
  4624. -    } else {
  4625. -      gCurrentCompiler->AddLocalVariable(signature);
  4626. -    }
  4627. -      }
  4628. -      CExpression* initializer = yyvsp[0].expression;
  4629. -      if (initializer != 0) {
  4630. -    initializer =
  4631. -      new CBinaryExpression(::InterpretSymbolExpression(*(yyvsp[-2].text)),
  4632. -                '=', initializer);
  4633. -      }
  4634. -      yyval.variableList->push_back(new CVariableDeclaration(thisType, *(yyvsp[-2].text), initializer));
  4635. -      delete yyvsp[-2].text;
  4636. -    ;
  4637. -    break;}
  4638. -case 58:
  4639. -#line 555 "parser.y"
  4640. -{ yyval.expression = 0; ;
  4641. -    break;}
  4642. -case 59:
  4643. -#line 557 "parser.y"
  4644. -{ yyval.expression = yyvsp[0].expression; ;
  4645. -    break;}
  4646. -case 60:
  4647. -#line 561 "parser.y"
  4648. -{ yyval.expression = yyvsp[0].expression; ;
  4649. -    break;}
  4650. -case 61:
  4651. -#line 563 "parser.y"
  4652. -{ yyval.expression = yyvsp[-1].expression; ;
  4653. -    break;}
  4654. -case 62:
  4655. -#line 567 "parser.y"
  4656. -{ yyval.expression = new CArrayInitializer(); ;
  4657. -    break;}
  4658. -case 63:
  4659. -#line 569 "parser.y"
  4660. -{ yyval.expression = new CArrayInitializer(yyvsp[-1].expressionList); ;
  4661. -    break;}
  4662. -case 64:
  4663. -#line 573 "parser.y"
  4664. -{
  4665. -      yyval.expressionList = new ExpressionList;
  4666. -      yyval.expressionList->push_back(yyvsp[0].expression);
  4667. -    ;
  4668. -    break;}
  4669. -case 65:
  4670. -#line 578 "parser.y"
  4671. -{
  4672. -      yyval.expressionList = yyvsp[-2].expressionList;
  4673. -      yyval.expressionList->push_back(yyvsp[0].expression);
  4674. -    ;
  4675. -    break;}
  4676. -case 68:
  4677. -#line 589 "parser.y"
  4678. -{ gCurrentCompiler->PushLocalScope(); ;
  4679. -    break;}
  4680. -case 69:
  4681. -#line 591 "parser.y"
  4682. -{
  4683. -      gCurrentCompiler->PopLocalScope();
  4684. -      yyval.compoundStatement = new CCompoundStatement(yyvsp[-1].statementList);
  4685. -    ;
  4686. -    break;}
  4687. -case 70:
  4688. -#line 598 "parser.y"
  4689. -{ yyval.statementList = new StatementList; ;
  4690. -    break;}
  4691. -case 71:
  4692. -#line 600 "parser.y"
  4693. -{
  4694. -      yyval.statementList = yyvsp[-1].statementList;
  4695. -      if (yyvsp[0].statement != 0) {
  4696. -    yyvsp[-1].statementList->push_back(yyvsp[0].statement);
  4697. -      }
  4698. -    ;
  4699. -    break;}
  4700. -case 72:
  4701. -#line 609 "parser.y"
  4702. -{ yyval.statement = 0; ;
  4703. -    break;}
  4704. -case 73:
  4705. -#line 611 "parser.y"
  4706. -{ yyval.statement = 0; ;
  4707. -    break;}
  4708. -case 74:
  4709. -#line 613 "parser.y"
  4710. -{ yyval.statement = 0; ;
  4711. -    break;}
  4712. -case 75:
  4713. -#line 615 "parser.y"
  4714. -{ yyval.statement = yyvsp[0].compoundStatement; ;
  4715. -    break;}
  4716. -case 76:
  4717. -#line 617 "parser.y"
  4718. -{ yyval.statement = new CExpressionStatement(yyvsp[-1].expression); ;
  4719. -    break;}
  4720. -case 77:
  4721. -#line 619 "parser.y"
  4722. -{ yyval.statement = new CDeclarationStatement(yyvsp[0].variableList); ;
  4723. -    break;}
  4724. -case 78:
  4725. -#line 621 "parser.y"
  4726. -{ yyval.statement = new CIfStatement(yyvsp[-2].expression, yyvsp[0].statement); ;
  4727. -    break;}
  4728. -case 79:
  4729. -#line 623 "parser.y"
  4730. -{ yyval.statement = new CIfStatement(yyvsp[-4].expression, yyvsp[-2].statement, yyvsp[0].statement); ;
  4731. -    break;}
  4732. -case 80:
  4733. -#line 625 "parser.y"
  4734. -{ yyval.statement = new CWhileStatement(yyvsp[0].statement, yyvsp[-2].expression); ;
  4735. -    break;}
  4736. -case 81:
  4737. -#line 627 "parser.y"
  4738. -{ yyval.statement = new CDoStatement(yyvsp[-5].statement, yyvsp[-2].expression); ;
  4739. -    break;}
  4740. -case 82:
  4741. -#line 629 "parser.y"
  4742. -{ yyval.statement = new CBranchStatement(CBranchStatement::kBreak); ;
  4743. -    break;}
  4744. -case 83:
  4745. -#line 631 "parser.y"
  4746. -{ yyval.statement = new CBranchStatement(CBranchStatement::kBreak, yyvsp[-1].text); ;
  4747. -    break;}
  4748. -case 84:
  4749. -#line 633 "parser.y"
  4750. -{ yyval.statement = new CBranchStatement(CBranchStatement::kContinue); ;
  4751. -    break;}
  4752. -case 85:
  4753. -#line 635 "parser.y"
  4754. -{ yyval.statement = new CBranchStatement(CBranchStatement::kContinue, yyvsp[-1].text); ;
  4755. -    break;}
  4756. -case 86:
  4757. -#line 637 "parser.y"
  4758. -{ yyval.statement = new CReturnStatement(); ;
  4759. -    break;}
  4760. -case 87:
  4761. -#line 639 "parser.y"
  4762. -{ yyval.statement = new CReturnStatement(yyvsp[-1].expression); ;
  4763. -    break;}
  4764. -case 88:
  4765. -#line 640 "parser.y"
  4766. -{ gCurrentCompiler->PushLocalScope(); ;
  4767. -    break;}
  4768. -case 89:
  4769. -#line 642 "parser.y"
  4770. -{
  4771. -      yyval.statement = new CForStatement(yyvsp[-5].statement, yyvsp[-4].expression, yyvsp[-2].expressionList, yyvsp[0].statement);
  4772. -      gCurrentCompiler->PopLocalScope();
  4773. -    ;
  4774. -    break;}
  4775. -case 90:
  4776. -#line 647 "parser.y"
  4777. -{ yyval.statement = new CThrowStatement(yyvsp[-1].expression); ;
  4778. -    break;}
  4779. -case 91:
  4780. -#line 649 "parser.y"
  4781. -{ yyval.statement = new CSynchronized(yyvsp[-2].expression, yyvsp[0].statement, gCurrentCompiler->AddUnnamedVariable()); ;
  4782. -    break;}
  4783. -case 92:
  4784. -#line 651 "parser.y"
  4785. -{ yyval.statement = new CLabelStatement(yyvsp[-2].text, yyvsp[0].statement); ;
  4786. -    break;}
  4787. -case 93:
  4788. -#line 653 "parser.y"
  4789. -{ 
  4790. -      unsigned short handlerVariable, subroutineVariable;
  4791. -      if (yyvsp[0].compoundStatement != 0) {
  4792. -    handlerVariable = gCurrentCompiler->AddUnnamedVariable();
  4793. -    subroutineVariable = gCurrentCompiler->AddUnnamedVariable();
  4794. -      }
  4795. -      yyval.statement = new CTryStatement(yyvsp[-2].compoundStatement, yyvsp[-1].catchList, yyvsp[0].compoundStatement, handlerVariable, subroutineVariable);
  4796. -    ;
  4797. -    break;}
  4798. -case 94:
  4799. -#line 662 "parser.y"
  4800. -{
  4801. -      unsigned short handlerVariable, subroutineVariable;
  4802. -      handlerVariable = gCurrentCompiler->AddUnnamedVariable();
  4803. -      subroutineVariable = gCurrentCompiler->AddUnnamedVariable();
  4804. -      yyval.statement = new CTryStatement(yyvsp[-1].compoundStatement, 0, yyvsp[0].compoundStatement, handlerVariable, subroutineVariable);
  4805. -    ;
  4806. -    break;}
  4807. -case 95:
  4808. -#line 669 "parser.y"
  4809. -{ yyval.statement = new CSwitch(yyvsp[-2].expression, yyvsp[0].compoundStatement); ;
  4810. -    break;}
  4811. -case 96:
  4812. -#line 671 "parser.y"
  4813. -{ yyval.statement = new CLabelStatement(yyvsp[-2].expression, yyvsp[0].statement); ;
  4814. -    break;}
  4815. -case 97:
  4816. -#line 673 "parser.y"
  4817. -{ yyval.statement = new CLabelStatement(yyvsp[0].statement); ;
  4818. -    break;}
  4819. -case 98:
  4820. -#line 677 "parser.y"
  4821. -{ yyval.expression = 0; ;
  4822. -    break;}
  4823. -case 99:
  4824. -#line 679 "parser.y"
  4825. -{ yyval.expression = yyvsp[0].expression; ;
  4826. -    break;}
  4827. -case 100:
  4828. -#line 683 "parser.y"
  4829. -{ yyval.statement = 0; ;
  4830. -    break;}
  4831. -case 101:
  4832. -#line 685 "parser.y"
  4833. -{
  4834. -      StatementList* statements = new StatementList;
  4835. -      for (ExpressionList::iterator i = yyvsp[-1].expressionList->begin(); i != yyvsp[-1].expressionList->end(); ++i) {
  4836. -    statements->push_back(new CExpressionStatement(*i));
  4837. -      }
  4838. -      delete yyvsp[-1].expressionList;
  4839. -      yyval.statement = new CCompoundStatement(statements);
  4840. -    ;
  4841. -    break;}
  4842. -case 102:
  4843. -#line 694 "parser.y"
  4844. -{ yyval.statement = new CDeclarationStatement(yyvsp[0].variableList); ;
  4845. -    break;}
  4846. -case 103:
  4847. -#line 698 "parser.y"
  4848. -{ yyval.expressionList = 0; ;
  4849. -    break;}
  4850. -case 104:
  4851. -#line 700 "parser.y"
  4852. -{ yyval.expressionList = yyvsp[0].expressionList; ;
  4853. -    break;}
  4854. -case 105:
  4855. -#line 704 "parser.y"
  4856. -{
  4857. -      yyval.expressionList = new ExpressionList;
  4858. -      yyval.expressionList->push_front(yyvsp[0].expression);
  4859. -    ;
  4860. -    break;}
  4861. -case 106:
  4862. -#line 709 "parser.y"
  4863. -{
  4864. -      yyval.expressionList = yyvsp[-2].expressionList;
  4865. -      yyval.expressionList->push_back(yyvsp[0].expression);
  4866. -    ;
  4867. -    break;}
  4868. -case 107:
  4869. -#line 716 "parser.y"
  4870. -{ yyval.compoundStatement = 0; ;
  4871. -    break;}
  4872. -case 108:
  4873. -#line 718 "parser.y"
  4874. -{ yyval.compoundStatement = yyvsp[0].compoundStatement; ;
  4875. -    break;}
  4876. -case 109:
  4877. -#line 722 "parser.y"
  4878. -{ yyval.compoundStatement = yyvsp[0].compoundStatement; ;
  4879. -    break;}
  4880. -case 110:
  4881. -#line 726 "parser.y"
  4882. -{
  4883. -      yyval.catchList = new deque<CCatchClause*>;
  4884. -      yyval.catchList->push_back(yyvsp[0].catchClause);
  4885. -    ;
  4886. -    break;}
  4887. -case 111:
  4888. -#line 731 "parser.y"
  4889. -{
  4890. -      yyval.catchList = yyvsp[-1].catchList;
  4891. -      yyval.catchList->push_back(yyvsp[0].catchClause);
  4892. -    ;
  4893. -    break;}
  4894. -case 112:
  4895. -#line 738 "parser.y"
  4896. -{ gCurrentCompiler->PushLocalScope(); ;
  4897. -    break;}
  4898. -case 113:
  4899. -#line 740 "parser.y"
  4900. -{ 
  4901. -      CJavaFieldSignature signature(*(yyvsp[-1].text), *(yyvsp[0].text));
  4902. -      if (gCurrentCompiler->LookupLocalVariable(*yyvsp[0].text) != 0) {
  4903. -    string errorMessage = ::UnicodeToUTF(*yyvsp[0].text);
  4904. -    errorMessage += " already declared in this scope.";
  4905. -    yyerror(errorMessage.c_str());
  4906. -    YYERROR;
  4907. -      } else {
  4908. -    yyval.longNumber = gCurrentCompiler->AddLocalVariable(signature);
  4909. -      }
  4910. -    ;
  4911. -    break;}
  4912. -case 114:
  4913. -#line 752 "parser.y"
  4914. -{
  4915. -      gCurrentCompiler->PopLocalScope();
  4916. -      CJavaTypeSignature catchType(*(yyvsp[-4].text));
  4917. -      yyval.catchClause = new CCatchClause(yyvsp[-2].longNumber, catchType, yyvsp[0].compoundStatement);
  4918. -    ;
  4919. -    break;}
  4920. -case 115:
  4921. -#line 760 "parser.y"
  4922. -{
  4923. -      yyval.expression = ::InterpretSymbolExpression(*(yyvsp[0].text));
  4924. -      delete yyvsp[0].text;
  4925. -    ;
  4926. -    break;}
  4927. -case 116:
  4928. -#line 765 "parser.y"
  4929. -{ yyval.expression = yyvsp[0].expression; ;
  4930. -    break;}
  4931. -case 117:
  4932. -#line 769 "parser.y"
  4933. -{
  4934. -      CExpression* baseExpression = ::InterpretSymbolExpression(*(yyvsp[-2].text));
  4935. -      delete yyvsp[-2].text;
  4936. -      yyval.expression = new CArrayIndex(baseExpression, yyvsp[-1].expression);
  4937. -    ;
  4938. -    break;}
  4939. -case 118:
  4940. -#line 776 "parser.y"
  4941. -{ yyval.expression = yyvsp[0].expression; ;
  4942. -    break;}
  4943. -case 119:
  4944. -#line 778 "parser.y"
  4945. -{ yyval.expression = new CTrinaryExpression(yyvsp[-4].expression, yyvsp[-2].expression, yyvsp[0].expression); ;
  4946. -    break;}
  4947. -case 120:
  4948. -#line 780 "parser.y"
  4949. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, OR, yyvsp[0].expression); ;
  4950. -    break;}
  4951. -case 121:
  4952. -#line 782 "parser.y"
  4953. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, AND, yyvsp[0].expression); ;
  4954. -    break;}
  4955. -case 122:
  4956. -#line 784 "parser.y"
  4957. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '|', yyvsp[0].expression); ;
  4958. -    break;}
  4959. -case 123:
  4960. -#line 786 "parser.y"
  4961. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '&', yyvsp[0].expression); ;
  4962. -    break;}
  4963. -case 124:
  4964. -#line 788 "parser.y"
  4965. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '^', yyvsp[0].expression); ;
  4966. -    break;}
  4967. -case 125:
  4968. -#line 790 "parser.y"
  4969. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, EQUAL_COMPARE, yyvsp[0].expression); ;
  4970. -    break;}
  4971. -case 126:
  4972. -#line 792 "parser.y"
  4973. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, NOT_EQUAL, yyvsp[0].expression); ;
  4974. -    break;}
  4975. -case 127:
  4976. -#line 794 "parser.y"
  4977. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, LTEQ, yyvsp[0].expression); ;
  4978. -    break;}
  4979. -case 128:
  4980. -#line 796 "parser.y"
  4981. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, GTEQ, yyvsp[0].expression); ;
  4982. -    break;}
  4983. -case 129:
  4984. -#line 798 "parser.y"
  4985. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '<', yyvsp[0].expression); ;
  4986. -    break;}
  4987. -case 130:
  4988. -#line 800 "parser.y"
  4989. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '>', yyvsp[0].expression); ;
  4990. -    break;}
  4991. -case 131:
  4992. -#line 802 "parser.y"
  4993. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, BITSHIFT_RIGHT, yyvsp[0].expression); ;
  4994. -    break;}
  4995. -case 132:
  4996. -#line 804 "parser.y"
  4997. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, FILL_SHIFT_RIGHT, yyvsp[0].expression); ;
  4998. -    break;}
  4999. -case 133:
  5000. -#line 806 "parser.y"
  5001. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, SHIFT_LEFT, yyvsp[0].expression); ;
  5002. -    break;}
  5003. -case 134:
  5004. -#line 808 "parser.y"
  5005. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '+', yyvsp[0].expression); ;
  5006. -    break;}
  5007. -case 135:
  5008. -#line 810 "parser.y"
  5009. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '-', yyvsp[0].expression); ;
  5010. -    break;}
  5011. -case 136:
  5012. -#line 812 "parser.y"
  5013. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '*', yyvsp[0].expression); ;
  5014. -    break;}
  5015. -case 137:
  5016. -#line 814 "parser.y"
  5017. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '/', yyvsp[0].expression); ;
  5018. -    break;}
  5019. -case 138:
  5020. -#line 816 "parser.y"
  5021. -{ yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '%', yyvsp[0].expression); ;
  5022. -    break;}
  5023. -case 139:
  5024. -#line 818 "parser.y"
  5025. -{ yyval.expression = new CUnaryExpression(yyvsp[0].expression, '-', CUnaryExpression::kPrefix, false); ;
  5026. -    break;}
  5027. -case 140:
  5028. -#line 820 "parser.y"
  5029. -{ yyval.expression = new CUnaryExpression(yyvsp[0].expression, '+', CUnaryExpression::kPrefix, false); ;
  5030. -    break;}
  5031. -case 141:
  5032. -#line 822 "parser.y"
  5033. -{ yyval.expression = new CUnaryExpression(yyvsp[0].expression, '!', CUnaryExpression::kPrefix, false); ;
  5034. -    break;}
  5035. -case 142:
  5036. -#line 824 "parser.y"
  5037. -{ yyval.expression = new CUnaryExpression(yyvsp[0].expression, '~', CUnaryExpression::kPrefix, false); ;
  5038. -    break;}
  5039. -case 143:
  5040. -#line 826 "parser.y"
  5041. -{
  5042. -      yyval.expression = new CInstanceof(yyvsp[-2].expression, *(yyvsp[0].typeSignature));
  5043. -      delete yyvsp[0].typeSignature;
  5044. -    ;
  5045. -    break;}
  5046. -case 144:
  5047. -#line 831 "parser.y"
  5048. -{ yyval.expression = yyvsp[0].expression; ;
  5049. -    break;}
  5050. -case 145:
  5051. -#line 833 "parser.y"
  5052. -{ yyval.expression = yyvsp[0].expression; ;
  5053. -    break;}
  5054. -case 146:
  5055. -#line 835 "parser.y"
  5056. -{ yyval.expression = new CSpecialExpression(CSpecialExpression::kSuper); ;
  5057. -    break;}
  5058. -case 147:
  5059. -#line 837 "parser.y"
  5060. -{ yyval.expression = new CSpecialExpression(CSpecialExpression::kThis); ;
  5061. -    break;}
  5062. -case 148:
  5063. -#line 839 "parser.y"
  5064. -{ yyval.expression = new CNull(); ;
  5065. -    break;}
  5066. -case 149:
  5067. -#line 843 "parser.y"
  5068. -{ yyval.expression = yyvsp[0].expression; ;
  5069. -    break;}
  5070. -case 150:
  5071. -#line 845 "parser.y"
  5072. -{ yyval.expression = yyvsp[-1].expression; ;
  5073. -    break;}
  5074. -case 151:
  5075. -#line 847 "parser.y"
  5076. -{
  5077. -      yyval.expression = ::InterpretSymbolExpression(*(yyvsp[-1].text));
  5078. -      delete yyvsp[-1].text;
  5079. -    ;
  5080. -    break;}
  5081. -case 152:
  5082. -#line 852 "parser.y"
  5083. -{ yyval.expression = new CArrayIndex(yyvsp[-3].expression, yyvsp[-1].expression); ;
  5084. -    break;}
  5085. -case 153:
  5086. -#line 854 "parser.y"
  5087. -{ yyval.expression = new CArrayIndex(yyvsp[-3].expression, yyvsp[-1].expression); ;
  5088. -    break;}
  5089. -case 154:
  5090. -#line 856 "parser.y"
  5091. -{
  5092. -      yyval.expression = new CClassFieldExpression(yyvsp[-2].expression, *(yyvsp[0].text));
  5093. -      delete yyvsp[0].text;
  5094. -    ;
  5095. -    break;}
  5096. -case 155:
  5097. -#line 861 "parser.y"
  5098. -{ yyval.expression = yyvsp[0].expression; ;
  5099. -    break;}
  5100. -case 156:
  5101. -#line 865 "parser.y"
  5102. -{
  5103. -      assert(yyvsp[-2].expression != 0);
  5104. -      if (! yyvsp[-2].expression->IsLValue()) {
  5105. -    yyerror("Invalid left hand side of assignment.");
  5106. -    YYERROR;
  5107. -      }
  5108. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, '=', yyvsp[0].expression);
  5109. -    ;
  5110. -    break;}
  5111. -case 157:
  5112. -#line 874 "parser.y"
  5113. -{
  5114. -      assert(yyvsp[-2].expression != 0);
  5115. -      if (! yyvsp[-2].expression->IsLValue()) {
  5116. -    yyerror("Invalid left hand side of assignment.");
  5117. -    YYERROR;
  5118. -      }
  5119. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, SHIFT_RIGHT_EQUALS, yyvsp[0].expression);
  5120. -    ;
  5121. -    break;}
  5122. -case 158:
  5123. -#line 883 "parser.y"
  5124. -{
  5125. -      assert(yyvsp[-2].expression != 0);
  5126. -      if (! yyvsp[-2].expression->IsLValue()) {
  5127. -    yyerror("Invalid left hand side of assignment.");
  5128. -    YYERROR;
  5129. -      }
  5130. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, FILL_SHIFT_RIGHT_EQUALS, yyvsp[0].expression);
  5131. -    ;
  5132. -    break;}
  5133. -case 159:
  5134. -#line 892 "parser.y"
  5135. -{
  5136. -      assert(yyvsp[-2].expression != 0);
  5137. -      if (! yyvsp[-2].expression->IsLValue()) {
  5138. -    yyerror("Invalid left hand side of assignment.");
  5139. -    YYERROR;
  5140. -      }
  5141. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, SHIFT_LEFT_EQUALS, yyvsp[0].expression);
  5142. -    ;
  5143. -    break;}
  5144. -case 160:
  5145. -#line 901 "parser.y"
  5146. -{
  5147. -      assert(yyvsp[-2].expression != 0);
  5148. -      if (! yyvsp[-2].expression->IsLValue()) {
  5149. -    yyerror("Invalid left hand side of assignment.");
  5150. -    YYERROR;
  5151. -      }
  5152. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, ADD_EQUALS, yyvsp[0].expression);
  5153. -    ;
  5154. -    break;}
  5155. -case 161:
  5156. -#line 910 "parser.y"
  5157. -{
  5158. -      assert(yyvsp[-2].expression != 0);
  5159. -      if (! yyvsp[-2].expression->IsLValue()) {
  5160. -    yyerror("Invalid left hand side of assignment.");
  5161. -    YYERROR;
  5162. -      }
  5163. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, SUB_EQUALS, yyvsp[0].expression);
  5164. -    ;
  5165. -    break;}
  5166. -case 162:
  5167. -#line 919 "parser.y"
  5168. -{
  5169. -      assert(yyvsp[-2].expression != 0);
  5170. -      if (! yyvsp[-2].expression->IsLValue()) {
  5171. -    yyerror("Invalid left hand side of assignment.");
  5172. -    YYERROR;
  5173. -      }
  5174. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, MUL_EQUALS, yyvsp[0].expression);
  5175. -    ;
  5176. -    break;}
  5177. -case 163:
  5178. -#line 928 "parser.y"
  5179. -{
  5180. -      assert(yyvsp[-2].expression != 0);
  5181. -      if (! yyvsp[-2].expression->IsLValue()) {
  5182. -    yyerror("Invalid left hand side of assignment.");
  5183. -    YYERROR;
  5184. -      }
  5185. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, DIV_EQUALS, yyvsp[0].expression);
  5186. -    ;
  5187. -    break;}
  5188. -case 164:
  5189. -#line 937 "parser.y"
  5190. -{
  5191. -      assert(yyvsp[-2].expression != 0);
  5192. -      if (! yyvsp[-2].expression->IsLValue()) {
  5193. -    yyerror("Invalid left hand side of assignment.");
  5194. -    YYERROR;
  5195. -      }
  5196. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, MOD_EQUALS, yyvsp[0].expression);
  5197. -    ;
  5198. -    break;}
  5199. -case 165:
  5200. -#line 946 "parser.y"
  5201. -{
  5202. -      assert(yyvsp[-2].expression != 0);
  5203. -      if (! yyvsp[-2].expression->IsLValue()) {
  5204. -    yyerror("Invalid left hand side of assignment.");
  5205. -    YYERROR;
  5206. -      }
  5207. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, AND_EQUALS, yyvsp[0].expression);
  5208. -    ;
  5209. -    break;}
  5210. -case 166:
  5211. -#line 955 "parser.y"
  5212. -{
  5213. -      assert(yyvsp[-2].expression != 0);
  5214. -      if (! yyvsp[-2].expression->IsLValue()) {
  5215. -    yyerror("Invalid left hand side of assignment.");
  5216. -    YYERROR;
  5217. -      }
  5218. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, XOR_EQUALS, yyvsp[0].expression);
  5219. -    ;
  5220. -    break;}
  5221. -case 167:
  5222. -#line 964 "parser.y"
  5223. -{
  5224. -      assert(yyvsp[-2].expression != 0);
  5225. -      if (! yyvsp[-2].expression->IsLValue()) {
  5226. -    yyerror("Invalid left hand side of assignment.");
  5227. -    YYERROR;
  5228. -      }
  5229. -      yyval.expression = new CBinaryExpression(yyvsp[-2].expression, OR_EQUALS, yyvsp[0].expression);
  5230. -    ;
  5231. -    break;}
  5232. -case 168:
  5233. -#line 973 "parser.y"
  5234. -{ yyval.expression = new CUnaryExpression(yyvsp[0].expression, INCR, CUnaryExpression::kPrefix, true); ;
  5235. -    break;}
  5236. -case 169:
  5237. -#line 975 "parser.y"
  5238. -{ yyval.expression = new CUnaryExpression(yyvsp[0].expression, DECR, CUnaryExpression::kPrefix, true); ;
  5239. -    break;}
  5240. -case 170:
  5241. -#line 977 "parser.y"
  5242. -{ yyval.expression = new CUnaryExpression(yyvsp[-1].expression, INCR, CUnaryExpression::kPostfix, true); ;
  5243. -    break;}
  5244. -case 171:
  5245. -#line 979 "parser.y"
  5246. -{ yyval.expression = new CUnaryExpression(yyvsp[-1].expression, DECR, CUnaryExpression::kPostfix, true); ;
  5247. -    break;}
  5248. -case 172:
  5249. -#line 981 "parser.y"
  5250. -{ yyval.expression = yyvsp[0].expression; ;
  5251. -    break;}
  5252. -case 173:
  5253. -#line 983 "parser.y"
  5254. -{ yyval.expression = yyvsp[0].expression; ;
  5255. -    break;}
  5256. -case 174:
  5257. -#line 987 "parser.y"
  5258. -{
  5259. -      unicode_string::size_type slashPosition = yyvsp[-3].text->find(kSymbolDivider);
  5260. -      if (slashPosition != unicode_string::npos) {
  5261. -    unicode_string prefix(*(yyvsp[-3].text), 0, slashPosition);
  5262. -    const pair<CJavaFieldSignature, CCompiler::LocalVariableIndex>* match =
  5263. -      gCurrentCompiler->LookupLocalVariable(prefix);
  5264. -    if (match != 0) {
  5265. -      unicode_string::size_type lastSlash =
  5266. -        yyvsp[-3].text->find_last_of(kSymbolDivider);
  5267. -      prefix.assign(*(yyvsp[-3].text), 0, lastSlash);
  5268. -      CExpression* baseExpression = ::InterpretSymbolExpression(prefix);
  5269. -      unicode_string methodName(*(yyvsp[-3].text), lastSlash + 1);
  5270. -      yyval.expression = new CMethodCall(baseExpression, methodName, yyvsp[-1].expressionList);
  5271. -    } else {
  5272. -      yyval.expression = new CMethodCall(0, *(yyvsp[-3].text), yyvsp[-1].expressionList);
  5273. -    }
  5274. -      } else {
  5275. -    yyval.expression = new CMethodCall(0, *(yyvsp[-3].text), yyvsp[-1].expressionList);
  5276. -      }
  5277. -      delete yyvsp[-3].text;
  5278. -    ;
  5279. -    break;}
  5280. -case 175:
  5281. -#line 1009 "parser.y"
  5282. -{
  5283. -      yyval.expression = new CMethodCall(yyvsp[-5].expression, *(yyvsp[-3].text), yyvsp[-1].expressionList);
  5284. -      delete yyvsp[-3].text;
  5285. -    ;
  5286. -    break;}
  5287. -case 176:
  5288. -#line 1016 "parser.y"
  5289. -{
  5290. -      if (yyvsp[-3].typeSignature->GetBaseType() == CJavaTypeSignature::Void) {
  5291. -    yyerror("Invalid use of 'void' in a cast.");
  5292. -    YYERROR;
  5293. -      }
  5294. -      yyvsp[-3].typeSignature->SetArrayBounds(yyvsp[-2].longNumber);
  5295. -      yyval.expression = new CCastExpression(*(yyvsp[-3].typeSignature), yyvsp[0].expression);
  5296. -      delete yyvsp[-3].typeSignature;
  5297. -    ;
  5298. -    break;}
  5299. -case 177:
  5300. -#line 1026 "parser.y"
  5301. -{
  5302. -      yyval.expression = new CCastExpression(*(yyvsp[-2].text), yyvsp[0].expression);
  5303. -      delete yyvsp[-2].text;
  5304. -    ;
  5305. -    break;}
  5306. -case 178:
  5307. -#line 1032 "parser.y"
  5308. -{
  5309. -      CJavaTypeSignature type(*(yyvsp[-4].text), 1 + yyvsp[-2].longNumber);
  5310. -      yyval.expression = new CCastExpression(type, yyvsp[0].expression);
  5311. -      delete yyvsp[-4].text;
  5312. -    ;
  5313. -    break;}
  5314. -case 179:
  5315. -#line 1040 "parser.y"
  5316. -{
  5317. -      if (yyvsp[-2].typeSignature->GetBaseType() == CJavaTypeSignature::Void) {
  5318. -    yyerror("Invalid array creation using 'void' type.");
  5319. -    YYERROR;
  5320. -      }
  5321. -      yyvsp[-2].typeSignature->SetArrayBounds(yyvsp[0].expressionList->size());
  5322. -      while (yyvsp[0].expressionList->back() == 0) {
  5323. -    yyvsp[0].expressionList->pop_back();
  5324. -      }
  5325. -      yyval.expression = new CNewArray(*(yyvsp[-2].typeSignature), yyvsp[0].expressionList);
  5326. -      delete yyvsp[-2].typeSignature;
  5327. -    ;
  5328. -    break;}
  5329. -case 180:
  5330. -#line 1053 "parser.y"
  5331. -{
  5332. -      CJavaTypeSignature tempSignature(*(yyvsp[-2].text), yyvsp[0].expressionList->size());
  5333. -      while (yyvsp[0].expressionList->back() == 0) {
  5334. -    yyvsp[0].expressionList->pop_back();
  5335. -      }
  5336. -      yyval.expression = new CNewArray(tempSignature, yyvsp[0].expressionList);
  5337. -      delete yyvsp[-2].text;
  5338. -    ;
  5339. -    break;}
  5340. -case 181:
  5341. -#line 1062 "parser.y"
  5342. -{
  5343. -      yyval.expression = new CNewObject(*(yyvsp[0].text));
  5344. -      delete yyvsp[0].text;
  5345. -    ;
  5346. -    break;}
  5347. -case 182:
  5348. -#line 1067 "parser.y"
  5349. -{
  5350. -      yyval.expression = new CNewObject(*(yyvsp[-3].text), yyvsp[-1].expressionList);
  5351. -      delete yyvsp[-3].text;
  5352. -    ;
  5353. -    break;}
  5354. -case 183:
  5355. -#line 1074 "parser.y"
  5356. -{
  5357. -      yyval.expressionList = new ExpressionList;
  5358. -      yyval.expressionList->push_front(yyvsp[-1].expression);
  5359. -    ;
  5360. -    break;}
  5361. -case 184:
  5362. -#line 1079 "parser.y"
  5363. -{
  5364. -      yyval.expressionList = yyvsp[0].expressionList;
  5365. -      yyval.expressionList->push_front(yyvsp[-3].expression);
  5366. -    ;
  5367. -    break;}
  5368. -case 185:
  5369. -#line 1084 "parser.y"
  5370. -{
  5371. -      yyval.expressionList = new ExpressionList;
  5372. -      yyval.expressionList->push_front(yyvsp[-4].expression);
  5373. -      unsigned long arrayBounds = yyvsp[0].longNumber + 1;
  5374. -      while (arrayBounds-- > 0) {
  5375. -    yyval.expressionList->push_back((CExpression*)0);
  5376. -      }
  5377. -    ;
  5378. -    break;}
  5379. -case 186:
  5380. -#line 1095 "parser.y"
  5381. -{ yyval.longNumber = 0; ;
  5382. -    break;}
  5383. -case 187:
  5384. -#line 1097 "parser.y"
  5385. -{ yyval.longNumber = yyvsp[-2].longNumber + 1; ;
  5386. -    break;}
  5387. -case 188:
  5388. -#line 1101 "parser.y"
  5389. -{ yyval.expression = new COrdinalLiteral((unsigned long)yyvsp[0].longNumber); ;
  5390. -    break;}
  5391. -case 189:
  5392. -#line 1103 "parser.y"
  5393. -{
  5394. -      yyval.expression = new CStringLiteral(*(yyvsp[0].text));
  5395. -      delete yyvsp[0].text;
  5396. -    ;
  5397. -    break;}
  5398. -case 190:
  5399. -#line 1108 "parser.y"
  5400. -{ yyval.expression = new COrdinalLiteral((unsigned short)yyvsp[0].longNumber); ;
  5401. -    break;}
  5402. -case 191:
  5403. -#line 1110 "parser.y"
  5404. -{ yyval.expression = new COrdinalLiteral(yyvsp[0].doubleLong); ;
  5405. -    break;}
  5406. -case 192:
  5407. -#line 1112 "parser.y"
  5408. -{ yyval.expression = new CFloatLiteral(yyvsp[0].floatNumber); ;
  5409. -    break;}
  5410. -case 193:
  5411. -#line 1114 "parser.y"
  5412. -{ yyval.expression = new CFloatLiteral(yyvsp[0].doubleFloat); ;
  5413. -    break;}
  5414. -case 194:
  5415. -#line 1116 "parser.y"
  5416. -{ yyval.expression = new COrdinalLiteral(true); ;
  5417. -    break;}
  5418. -case 195:
  5419. -#line 1118 "parser.y"
  5420. -{ yyval.expression = new COrdinalLiteral(false); ;
  5421. -    break;}
  5422. -case 196:
  5423. -#line 1122 "parser.y"
  5424. -{ yyval.expressionList = 0; ;
  5425. -    break;}
  5426. -case 197:
  5427. -#line 1124 "parser.y"
  5428. -{ yyval.expressionList = yyvsp[0].expressionList; ;
  5429. -    break;}
  5430. -case 198:
  5431. -#line 1128 "parser.y"
  5432. -{
  5433. -      yyval.expressionList = new ExpressionList;
  5434. -      yyval.expressionList->push_back(yyvsp[0].expression);
  5435. -    ;
  5436. -    break;}
  5437. -case 199:
  5438. -#line 1133 "parser.y"
  5439. -{
  5440. -      yyval.expressionList = yyvsp[-2].expressionList;
  5441. -      yyval.expressionList->push_back(yyvsp[0].expression);
  5442. -    ;
  5443. -    break;}
  5444. -case 200:
  5445. -#line 1140 "parser.y"
  5446. -{
  5447. -      yyval.typeSignature = new CJavaTypeSignature(*(yyvsp[-2].text), 1 + yyvsp[0].longNumber);
  5448. -      delete yyvsp[-2].text;
  5449. -    ;
  5450. -    break;}
  5451. -case 201:
  5452. -#line 1145 "parser.y"
  5453. -{
  5454. -      yyval.typeSignature = new CJavaTypeSignature(*(yyvsp[0].text));
  5455. -      delete yyvsp[0].text;
  5456. -    ;
  5457. -    break;}
  5458. -case 202:
  5459. -#line 1150 "parser.y"
  5460. -{
  5461. -      yyval.typeSignature = yyvsp[-1].typeSignature;
  5462. -      yyval.typeSignature->SetArrayBounds(yyvsp[0].longNumber);
  5463. -      if (yyvsp[0].longNumber > 0 && yyval.typeSignature->GetBaseType() == CJavaTypeSignature::Void) {
  5464. -    yyerror("Invalid use of 'void' type.");
  5465. -    YYERROR;
  5466. -      }
  5467. -    ;
  5468. -    break;}
  5469. -case 203:
  5470. -#line 1161 "parser.y"
  5471. -{ yyval.text = yyvsp[-1].text; ;
  5472. -    break;}
  5473. -case 204:
  5474. -#line 1165 "parser.y"
  5475. -{ yyval.typeSignature = new CJavaTypeSignature(CJavaTypeSignature::Boolean); ;
  5476. -    break;}
  5477. -case 205:
  5478. -#line 1167 "parser.y"
  5479. -{ yyval.typeSignature = new CJavaTypeSignature(CJavaTypeSignature::Byte); ;
  5480. -    break;}
  5481. -case 206:
  5482. -#line 1169 "parser.y"
  5483. -{ yyval.typeSignature = new CJavaTypeSignature(CJavaTypeSignature::Character); ;
  5484. -    break;}
  5485. -case 207:
  5486. -#line 1171 "parser.y"
  5487. -{ yyval.typeSignature = new CJavaTypeSignature(CJavaTypeSignature::Short); ;
  5488. -    break;}
  5489. -case 208:
  5490. -#line 1173 "parser.y"
  5491. -{ yyval.typeSignature = new CJavaTypeSignature(CJavaTypeSignature::Integer); ;
  5492. -    break;}
  5493. -case 209:
  5494. -#line 1175 "parser.y"
  5495. -{ yyval.typeSignature = new CJavaTypeSignature(CJavaTypeSignature::Float); ;
  5496. -    break;}
  5497. -case 210:
  5498. -#line 1177 "parser.y"
  5499. -{ yyval.typeSignature = new CJavaTypeSignature(CJavaTypeSignature::LongInteger); ;
  5500. -    break;}
  5501. -case 211:
  5502. -#line 1179 "parser.y"
  5503. -{ yyval.typeSignature = new CJavaTypeSignature(CJavaTypeSignature::Double); ;
  5504. -    break;}
  5505. -case 212:
  5506. -#line 1181 "parser.y"
  5507. -{ yyval.typeSignature = new CJavaTypeSignature(CJavaTypeSignature::Void); ;
  5508. -    break;}
  5509. -case 213:
  5510. -#line 1185 "parser.y"
  5511. -{ yyval.modifiers = new CJavaAccessFlags; ;
  5512. -    break;}
  5513. -case 214:
  5514. -#line 1187 "parser.y"
  5515. -{
  5516. -      yyval.modifiers = yyvsp[-1].modifiers;
  5517. -      if (yyval.modifiers->fPrivate) {
  5518. -    yyerror("'private' modifier repeated");
  5519. -    YYERROR;
  5520. -      }
  5521. -      yyval.modifiers->fPrivate = 1;
  5522. -    ;
  5523. -    break;}
  5524. -case 215:
  5525. -#line 1196 "parser.y"
  5526. -{
  5527. -      yyval.modifiers = yyvsp[-1].modifiers;
  5528. -      if (yyval.modifiers->fPublic) {
  5529. -    yyerror("'public' modifier repeated");
  5530. -    YYERROR;
  5531. -      }
  5532. -      yyval.modifiers->fPublic = 1;
  5533. -    ;
  5534. -    break;}
  5535. -case 216:
  5536. -#line 1205 "parser.y"
  5537. -{
  5538. -      yyval.modifiers = yyvsp[-1].modifiers;
  5539. -      if (yyval.modifiers->fProtected) {
  5540. -    yyerror("'protected' modifier repeated");
  5541. -    YYERROR;
  5542. -      }
  5543. -      yyval.modifiers->fProtected = 1;
  5544. -    ;
  5545. -    break;}
  5546. -case 217:
  5547. -#line 1214 "parser.y"
  5548. -{
  5549. -      yyval.modifiers = yyvsp[-1].modifiers;
  5550. -      if (yyval.modifiers->fStatic) {
  5551. -    yyerror("'static' modifier repeated");
  5552. -    YYERROR;
  5553. -      }
  5554. -      yyval.modifiers->fStatic = 1;
  5555. -    ;
  5556. -    break;}
  5557. -case 218:
  5558. -#line 1223 "parser.y"
  5559. -{
  5560. -      yyval.modifiers = yyvsp[-1].modifiers;
  5561. -      if (yyval.modifiers->fTransient) {
  5562. -    yyerror("'transient' modifier repeated");
  5563. -    YYERROR;
  5564. -      }
  5565. -      yyval.modifiers->fTransient = 1;
  5566. -    ;
  5567. -    break;}
  5568. -case 219:
  5569. -#line 1232 "parser.y"
  5570. -{
  5571. -      yyval.modifiers = yyvsp[-1].modifiers;
  5572. -      if (yyval.modifiers->fVolatile) {
  5573. -    yyerror("'volatile' modifier repeated");
  5574. -    YYERROR;
  5575. -      }
  5576. -      yyval.modifiers->fVolatile = 1;
  5577. -    ;
  5578. -    break;}
  5579. -case 220:
  5580. -#line 1241 "parser.y"
  5581. -{
  5582. -      yyval.modifiers = yyvsp[-1].modifiers;
  5583. -      if (yyval.modifiers->fFinal) {
  5584. -    yyerror("'final' modifier repeated");
  5585. -    YYERROR;
  5586. -      }
  5587. -      yyval.modifiers->fFinal = 1;
  5588. -    ;
  5589. -    break;}
  5590. -case 221:
  5591. -#line 1250 "parser.y"
  5592. -{
  5593. -      yyval.modifiers = yyvsp[-1].modifiers;
  5594. -      if (yyval.modifiers->fAbstract) {
  5595. -    yyerror("'abstract' modifier repeated");
  5596. -    YYERROR;
  5597. -      }
  5598. -      yyval.modifiers->fAbstract = 1;
  5599. -    ;
  5600. -    break;}
  5601. -case 222:
  5602. -#line 1259 "parser.y"
  5603. -{
  5604. -      yyval.modifiers = yyvsp[-1].modifiers;
  5605. -      if (yyval.modifiers->fNative) {
  5606. -    yyerror("'native' modifier repeated");
  5607. -    YYERROR;
  5608. -      }
  5609. -      yyval.modifiers->fNative = 1;
  5610. -    ;
  5611. -    break;}
  5612. -case 223:
  5613. -#line 1268 "parser.y"
  5614. -{
  5615. -      yyval.modifiers = yyvsp[-1].modifiers;
  5616. -      if (yyval.modifiers->fSynchronized) {
  5617. -    yyerror("'synchronized' modifier repeated");
  5618. -    YYERROR;
  5619. -      }
  5620. -      yyval.modifiers->fSynchronized = 1;
  5621. -    ;
  5622. -    break;}
  5623. -case 224:
  5624. -#line 1279 "parser.y"
  5625. -{ yyval.text = yyvsp[0].text; ;
  5626. -    break;}
  5627. -case 225:
  5628. -#line 1281 "parser.y"
  5629. -{
  5630. -      yyval.text = yyvsp[-2].text;
  5631. -      *(yyval.text) += kSymbolDivider;
  5632. -      *(yyval.text) += *(yyvsp[0].text);
  5633. -      delete yyvsp[0].text;
  5634. -    ;
  5635. -    break;}
  5636. -case 226:
  5637. -#line 1290 "parser.y"
  5638. -{ 
  5639. -      yyval.stringList = new deque<unicode_string>;
  5640. -      yyval.stringList->push_back(*(yyvsp[0].text));
  5641. -      delete yyvsp[0].text;
  5642. -    ;
  5643. -    break;}
  5644. -case 227:
  5645. -#line 1296 "parser.y"
  5646. -{
  5647. -      yyval.stringList = yyvsp[-2].stringList;
  5648. -      yyval.stringList->push_back(*(yyvsp[0].text));
  5649. -      delete yyvsp[0].text;
  5650. -    ;
  5651. -    break;}
  5652. -case 228:
  5653. -#line 1304 "parser.y"
  5654. -{ yyval.text = yyvsp[0].text; ;
  5655. -    break;}
  5656. -}
  5657. -   /* the action file gets copied in in place of this dollarsign */
  5658. -#line 465 "/usr/lib/bison.simple"
  5659. -
  5660. -  yyvsp -= yylen;
  5661. -  yyssp -= yylen;
  5662. -#ifdef YYLSP_NEEDED
  5663. -  yylsp -= yylen;
  5664. -#endif
  5665. -
  5666. -#if YYDEBUG != 0
  5667. -  if (yydebug)
  5668. -    {
  5669. -      short *ssp1 = yyss - 1;
  5670. -      fprintf (stderr, "state stack now");
  5671. -      while (ssp1 != yyssp)
  5672. -    fprintf (stderr, " %d", *++ssp1);
  5673. -      fprintf (stderr, "\n");
  5674. -    }
  5675. -#endif
  5676. -
  5677. -  *++yyvsp = yyval;
  5678. -
  5679. -#ifdef YYLSP_NEEDED
  5680. -  yylsp++;
  5681. -  if (yylen == 0)
  5682. -    {
  5683. -      yylsp->first_line = yylloc.first_line;
  5684. -      yylsp->first_column = yylloc.first_column;
  5685. -      yylsp->last_line = (yylsp-1)->last_line;
  5686. -      yylsp->last_column = (yylsp-1)->last_column;
  5687. -      yylsp->text = 0;
  5688. -    }
  5689. -  else
  5690. -    {
  5691. -      yylsp->last_line = (yylsp+yylen-1)->last_line;
  5692. -      yylsp->last_column = (yylsp+yylen-1)->last_column;
  5693. -    }
  5694. -#endif
  5695. -
  5696. -  /* Now "shift" the result of the reduction.
  5697. -     Determine what state that goes to,
  5698. -     based on the state we popped back to
  5699. -     and the rule number reduced by.  */
  5700. -
  5701. -  yyn = yyr1[yyn];
  5702. -
  5703. -  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
  5704. -  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
  5705. -    yystate = yytable[yystate];
  5706. -  else
  5707. -    yystate = yydefgoto[yyn - YYNTBASE];
  5708. -
  5709. -  goto yynewstate;
  5710. -
  5711. -yyerrlab:   /* here on detecting error */
  5712. -
  5713. -  if (! yyerrstatus)
  5714. -    /* If not already recovering from an error, report this error.  */
  5715. -    {
  5716. -      ++yynerrs;
  5717. -
  5718. -#ifdef YYERROR_VERBOSE
  5719. -      yyn = yypact[yystate];
  5720. -
  5721. -      if (yyn > YYFLAG && yyn < YYLAST)
  5722. -    {
  5723. -      int size = 0;
  5724. -      char *msg;
  5725. -      int x, count;
  5726. -
  5727. -      count = 0;
  5728. -      /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
  5729. -      for (x = (yyn < 0 ? -yyn : 0);
  5730. -           x < (sizeof(yytname) / sizeof(char *)); x++)
  5731. -        if (yycheck[x + yyn] == x)
  5732. -          size += strlen(yytname[x]) + 15, count++;
  5733. -      msg = (char *) malloc(size + 15);
  5734. -      if (msg != 0)
  5735. -        {
  5736. -          strcpy(msg, "parse error");
  5737. -
  5738. -          if (count < 5)
  5739. -        {
  5740. -          count = 0;
  5741. -          for (x = (yyn < 0 ? -yyn : 0);
  5742. -               x < (sizeof(yytname) / sizeof(char *)); x++)
  5743. -            if (yycheck[x + yyn] == x)
  5744. -              {
  5745. -            strcat(msg, count == 0 ? ", expecting `" : " or `");
  5746. -            strcat(msg, yytname[x]);
  5747. -            strcat(msg, "'");
  5748. -            count++;
  5749. -              }
  5750. -        }
  5751. -          yyerror(msg);
  5752. -          free(msg);
  5753. -        }
  5754. -      else
  5755. -        yyerror ("parse error; also virtual memory exceeded");
  5756. -    }
  5757. -      else
  5758. -#endif /* YYERROR_VERBOSE */
  5759. -    yyerror("parse error");
  5760. -    }
  5761. -
  5762. -  goto yyerrlab1;
  5763. -yyerrlab1:   /* here on error raised explicitly by an action */
  5764. -
  5765. -  if (yyerrstatus == 3)
  5766. -    {
  5767. -      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
  5768. -
  5769. -      /* return failure if at end of input */
  5770. -      if (yychar == YYEOF)
  5771. -    YYABORT;
  5772. -
  5773. -#if YYDEBUG != 0
  5774. -      if (yydebug)
  5775. -    fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
  5776. -#endif
  5777. -
  5778. -      yychar = YYEMPTY;
  5779. -    }
  5780. -
  5781. -  /* Else will try to reuse lookahead token
  5782. -     after shifting the error token.  */
  5783. -
  5784. -  yyerrstatus = 3;        /* Each real token shifted decrements this */
  5785. -
  5786. -  goto yyerrhandle;
  5787. -
  5788. -yyerrdefault:  /* current state does not do anything special for the error token. */
  5789. -
  5790. -#if 0
  5791. -  /* This is wrong; only states that explicitly want error tokens
  5792. -     should shift them.  */
  5793. -  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
  5794. -  if (yyn) goto yydefault;
  5795. -#endif
  5796. -
  5797. -yyerrpop:   /* pop the current state because it cannot handle the error token */
  5798. -
  5799. -  if (yyssp == yyss) YYABORT;
  5800. -  yyvsp--;
  5801. -  yystate = *--yyssp;
  5802. -#ifdef YYLSP_NEEDED
  5803. -  yylsp--;
  5804. -#endif
  5805. -
  5806. -#if YYDEBUG != 0
  5807. -  if (yydebug)
  5808. -    {
  5809. -      short *ssp1 = yyss - 1;
  5810. -      fprintf (stderr, "Error: state stack now");
  5811. -      while (ssp1 != yyssp)
  5812. -    fprintf (stderr, " %d", *++ssp1);
  5813. -      fprintf (stderr, "\n");
  5814. -    }
  5815. -#endif
  5816. -
  5817. -yyerrhandle:
  5818. -
  5819. -  yyn = yypact[yystate];
  5820. -  if (yyn == YYFLAG)
  5821. -    goto yyerrdefault;
  5822. -
  5823. -  yyn += YYTERROR;
  5824. -  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
  5825. -    goto yyerrdefault;
  5826. -
  5827. -  yyn = yytable[yyn];
  5828. -  if (yyn < 0)
  5829. -    {
  5830. -      if (yyn == YYFLAG)
  5831. -    goto yyerrpop;
  5832. -      yyn = -yyn;
  5833. -      goto yyreduce;
  5834. -    }
  5835. -  else if (yyn == 0)
  5836. -    goto yyerrpop;
  5837. -
  5838. -  if (yyn == YYFINAL)
  5839. -    YYACCEPT;
  5840. -
  5841. -#if YYDEBUG != 0
  5842. -  if (yydebug)
  5843. -    fprintf(stderr, "Shifting error token, ");
  5844. -#endif
  5845. -
  5846. -  *++yyvsp = yylval;
  5847. -#ifdef YYLSP_NEEDED
  5848. -  *++yylsp = yylloc;
  5849. -#endif
  5850. -
  5851. -  yystate = yyn;
  5852. -  goto yynewstate;
  5853. -}
  5854. -#line 1307 "parser.y"
  5855. -
  5856. -
  5857. -void
  5858. -yyerror(const char* errorMessage)
  5859. -{
  5860. -  assert(gCurrentCompiler != 0);
  5861. -  gCurrentCompiler->ParseError(yylineno, errorMessage, yytext);
  5862. -}
  5863. -
  5864. -void
  5865. -InitializeParser(const string& parseString, CCompiler* compilerAlias)
  5866. -{
  5867. -  #ifndef NDEBUG
  5868. -  if (::getenv("YYDEBUG") != 0) {
  5869. -    yydebug = 1;
  5870. -  }
  5871. -  #endif
  5872. -  gCurrentCompiler = compilerAlias;
  5873. -  assert(gCurrentCompiler != 0);
  5874. -  InitializeLexer(parseString);
  5875. -}
  5876. -
  5877. -void
  5878. -FinishParser()
  5879. -{
  5880. -  FinishLexer();
  5881. -  gCurrentCompiler = 0;
  5882. -  #ifndef NDEBUG
  5883. -  yydebug = 0;
  5884. -  #endif
  5885. -}
  5886. -
  5887. -//
  5888. -//  Function name : InterpretSymbolExpression
  5889. -//  Description : Used to parse a qualified symbol into a base variable and
  5890. -//    some sequence of field accesses.  So "x" is parsed as the expression
  5891. -//    representing the variable 'x' but "x.y.z" is parsed as the variable
  5892. -//    x dereferenced to get field y, dereferenced to get field z.
  5893. -//
  5894. -CExpression*
  5895. -InterpretSymbolExpression(const unicode_string& symbol)
  5896. -{
  5897. -  unicode_string::size_type slashPosition = symbol.find(kSymbolDivider);
  5898. -  unicode_string baseVariable = symbol;
  5899. -  CExpression* baseExpression = 0; 
  5900. -  if (slashPosition < symbol.size()) {
  5901. -    baseVariable.assign(symbol, 0, slashPosition);
  5902. -  }
  5903. -  const pair<CJavaFieldSignature, CCompiler::LocalVariableIndex>* match =
  5904. -    gCurrentCompiler->LookupLocalVariable(baseVariable);
  5905. -  if (match != 0) {
  5906. -    baseExpression =
  5907. -      new CLocalVariableExpression(match->first, match->second);
  5908. -    if (slashPosition < symbol.size()) {
  5909. -      do {
  5910. -    unicode_string::size_type previousPosition = slashPosition + 1;
  5911. -    slashPosition = symbol.find(kSymbolDivider, previousPosition);
  5912. -    if (slashPosition >= symbol.size()) {
  5913. -      slashPosition == symbol.size();
  5914. -    }
  5915. -    unicode_string nextField(symbol, previousPosition,
  5916. -                 slashPosition - previousPosition);
  5917. -    baseExpression = new CClassFieldExpression(baseExpression, nextField);
  5918. -      } while (slashPosition < symbol.size());
  5919. -    }
  5920. -  } else {
  5921. -    baseExpression = new CClassFieldExpression(symbol);
  5922. -  }
  5923. -  return baseExpression;
  5924. -}
  5925. diff -rup --new-file baseline/contrib/guavac/compiler/parser.h amiga/contrib/guavac/compiler/parser.h
  5926. --- baseline/contrib/guavac/compiler/parser.h    Fri Aug  2 20:04:42 1996
  5927. +++ amiga/contrib/guavac/compiler/parser.h    Wed Dec 31 17:00:00 1969
  5928. @@ -1,108 +0,0 @@
  5929. -typedef union {
  5930. -  unicode_string* text;
  5931. -  deque<unicode_string>* stringList;
  5932. -  unsigned long longNumber;   // also used for a single character, etc.
  5933. -  unsigned long long doubleLong;
  5934. -  float floatNumber;
  5935. -  double doubleFloat;
  5936. -  CJavaAccessFlags* modifiers;
  5937. -  CJavaTypeSignature* typeSignature;
  5938. -  CJavaFieldSignature* fieldSignature;
  5939. -  deque<CJavaFieldSignature>* fieldList;
  5940. -  CExpression* expression;
  5941. -  ExpressionList* expressionList;
  5942. -  deque<CVariableDeclaration*>* variableList;
  5943. -  CStatement* statement;
  5944. -  CCompoundStatement* compoundStatement;
  5945. -  StatementList* statementList;
  5946. -  deque<CCatchClause*>* catchList;
  5947. -  CCatchClause* catchClause;
  5948. -} YYSTYPE;
  5949. -#define    ERROR    258
  5950. -#define    ABSTRACT    259
  5951. -#define    BOOLEAN    260
  5952. -#define    BREAK    261
  5953. -#define    BYTE    262
  5954. -#define    CASE    263
  5955. -#define    CATCH    264
  5956. -#define    CHAR    265
  5957. -#define    CLASS    266
  5958. -#define    CONTINUE    267
  5959. -#define    DEFAULT    268
  5960. -#define    DO    269
  5961. -#define    DOUBLE    270
  5962. -#define    EXTENDS    271
  5963. -#define    FALSE_TOKEN    272
  5964. -#define    FINAL    273
  5965. -#define    FINALLY    274
  5966. -#define    FLOAT    275
  5967. -#define    FOR    276
  5968. -#define    IF    277
  5969. -#define    IMPLEMENTS    278
  5970. -#define    IMPORT    279
  5971. -#define    INSTANCEOF    280
  5972. -#define    INT    281
  5973. -#define    INTERFACE    282
  5974. -#define    LONG    283
  5975. -#define    NATIVE    284
  5976. -#define    NULL_TOKEN    285
  5977. -#define    PACKAGE    286
  5978. -#define    PRIVATE    287
  5979. -#define    PROTECTED    288
  5980. -#define    PUBLIC    289
  5981. -#define    RETURN    290
  5982. -#define    SHORT    291
  5983. -#define    STATIC    292
  5984. -#define    SUPER    293
  5985. -#define    SWITCH    294
  5986. -#define    SYNCHRONIZED    295
  5987. -#define    THIS    296
  5988. -#define    THROW    297
  5989. -#define    THROWS    298
  5990. -#define    TRANSIENT    299
  5991. -#define    VOLATILE    300
  5992. -#define    TRUE_TOKEN    301
  5993. -#define    TRY    302
  5994. -#define    VOID    303
  5995. -#define    WHILE    304
  5996. -#define    INT_LITERAL    305
  5997. -#define    CHARACTER_LITERAL    306
  5998. -#define    LONG_LITERAL    307
  5999. -#define    FLOAT_LITERAL    308
  6000. -#define    DOUBLE_LITERAL    309
  6001. -#define    SYMBOL    310
  6002. -#define    STRING_LITERAL    311
  6003. -#define    NOT_AN_OPERATOR    312
  6004. -#define    SHIFT_RIGHT_EQUALS    313
  6005. -#define    FILL_SHIFT_RIGHT_EQUALS    314
  6006. -#define    SHIFT_LEFT_EQUALS    315
  6007. -#define    ADD_EQUALS    316
  6008. -#define    SUB_EQUALS    317
  6009. -#define    MUL_EQUALS    318
  6010. -#define    DIV_EQUALS    319
  6011. -#define    MOD_EQUALS    320
  6012. -#define    AND_EQUALS    321
  6013. -#define    XOR_EQUALS    322
  6014. -#define    OR_EQUALS    323
  6015. -#define    OR    324
  6016. -#define    AND    325
  6017. -#define    EQUAL_COMPARE    326
  6018. -#define    NOT_EQUAL    327
  6019. -#define    LTEQ    328
  6020. -#define    GTEQ    329
  6021. -#define    BITSHIFT_RIGHT    330
  6022. -#define    FILL_SHIFT_RIGHT    331
  6023. -#define    SHIFT_LEFT    332
  6024. -#define    CAST    333
  6025. -#define    INCR    334
  6026. -#define    DECR    335
  6027. -#define    UMINUS    336
  6028. -#define    UPLUS    337
  6029. -#define    POST_INCR    338
  6030. -#define    POST_DECR    339
  6031. -#define    NEW    340
  6032. -#define    LOWER_THAN_ELSE    341
  6033. -#define    ELSE    342
  6034. -
  6035. -
  6036. -extern YYSTYPE yylval;
  6037. diff -rup --new-file baseline/contrib/guavac/config.sub amiga/contrib/guavac/config.sub
  6038. --- baseline/contrib/guavac/config.sub    Wed Dec 31 17:00:00 1969
  6039. +++ amiga/contrib/guavac/config.sub    Sat Sep 28 00:00:00 1996
  6040. @@ -0,0 +1,1110 @@
  6041. +#! /bin/sh
  6042. +# Configuration validation subroutine script, version 1.1.
  6043. +#   Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
  6044. +# This file is (in principle) common to ALL GNU software.
  6045. +# The presence of a machine in this file suggests that SOME GNU software
  6046. +# can handle that machine.  It does not imply ALL GNU software can. 
  6047. +#
  6048. +# This file is free software; you can redistribute it and/or modify
  6049. +# it under the terms of the GNU General Public License as published by
  6050. +# the Free Software Foundation; either version 2 of the License, or
  6051. +# (at your option) any later version.
  6052. +#
  6053. +# This program is distributed in the hope that it will be useful,
  6054. +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  6055. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  6056. +# GNU General Public License for more details.
  6057. +#
  6058. +# You should have received a copy of the GNU General Public License
  6059. +# along with this program; if not, write to the Free Software
  6060. +# Foundation, Inc., 59 Temple Place - Suite 330,
  6061. +# Boston, MA 02111-1307, USA.
  6062. +
  6063. +# As a special exception to the GNU General Public License, if you
  6064. +# distribute this file as part of a program that contains a
  6065. +# configuration script generated by Autoconf, you may include it under
  6066. +# the same distribution terms that you use for the rest of that program.
  6067. +
  6068. +# Configuration subroutine to validate and canonicalize a configuration type.
  6069. +# Supply the specified configuration type as an argument.
  6070. +# If it is invalid, we print an error message on stderr and exit with code 1.
  6071. +# Otherwise, we print the canonical config type on stdout and succeed.
  6072. +
  6073. +# This file is supposed to be the same for all GNU packages
  6074. +# and recognize all the CPU types, system types and aliases
  6075. +# that are meaningful with *any* GNU software.
  6076. +# Each package is responsible for reporting which valid configurations
  6077. +# it does not support.  The user should be able to distinguish
  6078. +# a failure to support a valid configuration from a meaningless
  6079. +# configuration.
  6080. +
  6081. +# The goal of this file is to map all the various variations of a given
  6082. +# machine specification into a single specification in the form:
  6083. +#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
  6084. +# It is wrong to echo any other type of specification.
  6085. +
  6086. +if [ x$1 = x ]
  6087. +then
  6088. +    echo Configuration name missing. 1>&2
  6089. +    echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
  6090. +    echo "or     $0 ALIAS" 1>&2
  6091. +    echo where ALIAS is a recognized configuration type. 1>&2
  6092. +    exit 1
  6093. +fi
  6094. +
  6095. +# First pass through any local machine types.
  6096. +case $1 in
  6097. +    *local*)
  6098. +        echo $1
  6099. +        exit 0
  6100. +        ;;
  6101. +    *)
  6102. +    ;;
  6103. +esac
  6104. +
  6105. +# Separate what the user gave into CPU-COMPANY and OS (if any).
  6106. +basic_machine=`echo $1 | sed 's/-[^-]*$//'`
  6107. +if [ $basic_machine != $1 ]
  6108. +then os=`echo $1 | sed 's/.*-/-/'`
  6109. +else os=; fi
  6110. +
  6111. +### Let's recognize common machines as not being operating systems so
  6112. +### that things like config.sub decstation-3100 work.  We also
  6113. +### recognize some manufacturers as not being operating systems, so we
  6114. +### can provide default operating systems below.
  6115. +case $os in
  6116. +    -sun*os*)
  6117. +        # Prevent following clause from handling this invalid input.
  6118. +        ;;
  6119. +    -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
  6120. +    -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
  6121. +    -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
  6122. +    -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
  6123. +    -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
  6124. +    -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp )
  6125. +        os=
  6126. +        basic_machine=$1
  6127. +        ;;
  6128. +    -sim | -cisco | -oki | -wec | -winbond )    # CYGNUS LOCAL
  6129. +        os=
  6130. +        basic_machine=$1
  6131. +        ;;
  6132. +    -apple*)                    # CYGNUS LOCAL
  6133. +        os=
  6134. +        basic_machine=$1
  6135. +        ;;
  6136. +    -scout)                        # CYGNUS LOCAL
  6137. +        ;;
  6138. +    -wrs)                        # CYGNUS LOCAL
  6139. +        os=vxworks
  6140. +        basic_machine=$1
  6141. +        ;;
  6142. +    -hiux*)
  6143. +        os=-hiuxwe2
  6144. +        ;;
  6145. +    -sco5)
  6146. +        os=sco3.2v5
  6147. +        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
  6148. +        ;;
  6149. +    -sco4)
  6150. +        os=-sco3.2v4
  6151. +        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
  6152. +        ;;
  6153. +    -sco3.2.[4-9]*)
  6154. +        os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
  6155. +        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
  6156. +        ;;
  6157. +    -sco3.2v[4-9]*)
  6158. +        # Don't forget version if it is 3.2v4 or newer.
  6159. +        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
  6160. +        ;;
  6161. +    -sco*)
  6162. +        os=-sco3.2v2
  6163. +        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
  6164. +        ;;
  6165. +    -isc)
  6166. +        os=-isc2.2
  6167. +        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
  6168. +        ;;
  6169. +    -clix*)
  6170. +        basic_machine=clipper-intergraph
  6171. +        ;;
  6172. +    -isc*)
  6173. +        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
  6174. +        ;;
  6175. +    -lynx*)
  6176. +        os=-lynxos
  6177. +        ;;
  6178. +    -ptx*)
  6179. +        basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
  6180. +        ;;
  6181. +    -windowsnt*)
  6182. +        os=`echo $os | sed -e 's/windowsnt/winnt/'`
  6183. +        ;;
  6184. +    -psos*)
  6185. +        os=-psos
  6186. +        ;;
  6187. +esac
  6188. +
  6189. +# Decode aliases for certain CPU-COMPANY combinations.
  6190. +case $basic_machine in
  6191. +    # Recognize the basic CPU types without company name.
  6192. +    # Some are omitted here because they have special meanings below.
  6193. +    tahoe | i[3456]86 | i860 | m68k | m68000 | m88k | ns32k | arm \
  6194. +        | arme[lb] | pyramid \
  6195. +        | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
  6196. +        | alpha | we32k | ns16k | clipper | i370 | sh \
  6197. +        | powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
  6198. +        | pdp11 | mips64el | mips64orion | mips64orionel \
  6199. +        | sparc | sparclet | sparclite | sparc64)
  6200. +        basic_machine=$basic_machine-unknown
  6201. +        ;;
  6202. +    m88110 | m680[01234]0 | m683?2 | m68360 | z8k | v70 | h8500 | w65) # CYGNUS LOCAL
  6203. +        basic_machine=$basic_machine-unknown
  6204. +        ;;
  6205. +    mips64vr4300 | mips64vr4300el) # CYGNUS LOCAL jsmith/vr4300
  6206. +        basic_machine=$basic_machine-unknown
  6207. +        ;;
  6208. +    mips64vr4100 | mips64vr4100el) # CYGNUS LOCAL jsmith/vr4100
  6209. +        basic_machine=$basic_machine-unknown
  6210. +        ;;
  6211. +    # Object if more than one company name word.
  6212. +    *-*-*)
  6213. +        echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
  6214. +        exit 1
  6215. +        ;;
  6216. +    # Recognize the basic CPU types with company name.
  6217. +    vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \
  6218. +          | sparc-* | ns32k-* | fx80-* | arm-* | arme[lb]-* | c[123]* \
  6219. +          | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
  6220. +          | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
  6221. +          | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
  6222. +          | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
  6223. +          | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
  6224. +          | mips64el-* | mips64orion-* | mips64orionel-*)
  6225. +        ;;
  6226. +    m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | h8500-*) # CYGNUS LOCAL
  6227. +        ;;
  6228. +    mips64vr4300-* | mips64vr4300el-*) # CYGNUS LOCAL jsmith/vr4300
  6229. +        ;;
  6230. +    mips64vr4100-* | mips64vr4100el-*) # CYGNUS LOCAL jsmith/vr4100
  6231. +        ;;
  6232. +    # Recognize the various machine names and aliases which stand
  6233. +    # for a CPU type and a company and sometimes even an OS.
  6234. +    386bsd)                        # CYGNUS LOCAL
  6235. +        basic_machine=i386-unknown
  6236. +        os=-bsd
  6237. +        ;;
  6238. +    3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
  6239. +        basic_machine=m68000-att
  6240. +        ;;
  6241. +    3b*)
  6242. +        basic_machine=we32k-att
  6243. +        ;;
  6244. +    a29khif)                    # CYGNUS LOCAL
  6245. +        basic_machine=a29k-amd
  6246. +        os=-udi
  6247. +        ;;
  6248. +    adobe68k)                    # CYGNUS LOCAL
  6249. +        basic_machine=m68010-adobe
  6250. +        os=-scout
  6251. +        ;;
  6252. +    alliant | fx80)
  6253. +        basic_machine=fx80-alliant
  6254. +        ;;
  6255. +    altos | altos3068)
  6256. +        basic_machine=m68k-altos
  6257. +        ;;
  6258. +    am29k)
  6259. +        basic_machine=a29k-none
  6260. +        os=-bsd
  6261. +        ;;
  6262. +    amdahl)
  6263. +        basic_machine=580-amdahl
  6264. +        os=-sysv
  6265. +        ;;
  6266. +    amiga | amiga-*)
  6267. +        basic_machine=m68k-unknown
  6268. +        ;;
  6269. +    amigaos)
  6270. +        basic_machine=m68k-unknown
  6271. +        os=-amigaos
  6272. +        ;;
  6273. +    amigaunix | amix)
  6274. +        basic_machine=m68k-cbm
  6275. +        os=-sysv4
  6276. +        ;;
  6277. +    apollo68)
  6278. +        basic_machine=m68k-apollo
  6279. +        os=-sysv
  6280. +        ;;
  6281. +    apollo68bsd)                    # CYGNUS LOCAL
  6282. +        basic_machine=m68k-apollo
  6283. +        os=-bsd
  6284. +        ;;
  6285. +    arm | armel | armeb)
  6286. +        basic_machine=arm-arm
  6287. +        os=-aout
  6288. +        ;;
  6289. +    aux)
  6290. +        basic_machine=m68k-apple
  6291. +        os=-aux
  6292. +        ;;
  6293. +    balance)
  6294. +        basic_machine=ns32k-sequent
  6295. +        os=-dynix
  6296. +        ;;
  6297. +    convex-c1)
  6298. +        basic_machine=c1-convex
  6299. +        os=-bsd
  6300. +        ;;
  6301. +    convex-c2)
  6302. +        basic_machine=c2-convex
  6303. +        os=-bsd
  6304. +        ;;
  6305. +    convex-c32)
  6306. +        basic_machine=c32-convex
  6307. +        os=-bsd
  6308. +        ;;
  6309. +    convex-c34)
  6310. +        basic_machine=c34-convex
  6311. +        os=-bsd
  6312. +        ;;
  6313. +    convex-c38)
  6314. +        basic_machine=c38-convex
  6315. +        os=-bsd
  6316. +        ;;
  6317. +    cray | ymp)
  6318. +        basic_machine=ymp-cray
  6319. +        os=-unicos
  6320. +        ;;
  6321. +    cray2)
  6322. +        basic_machine=cray2-cray
  6323. +        os=-unicos
  6324. +        ;;
  6325. +    crds | unos)
  6326. +        basic_machine=m68k-crds
  6327. +        ;;
  6328. +    da30 | da30-*)
  6329. +        basic_machine=m68k-da30
  6330. +        ;;
  6331. +    decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
  6332. +        basic_machine=mips-dec
  6333. +        ;;
  6334. +    delta | 3300 | motorola-3300 | motorola-delta \
  6335. +          | 3300-motorola | delta-motorola)
  6336. +        basic_machine=m68k-motorola
  6337. +        ;;
  6338. +    delta88)
  6339. +        basic_machine=m88k-motorola
  6340. +        os=-sysv3
  6341. +        ;;
  6342. +    dpx20 | dpx20-*)
  6343. +        basic_machine=rs6000-bull
  6344. +        os=-bosx
  6345. +        ;;
  6346. +    dpx2* | dpx2*-bull)
  6347. +        basic_machine=m68k-bull
  6348. +        os=-sysv3
  6349. +        ;;
  6350. +    ebmon29k)
  6351. +        basic_machine=a29k-amd
  6352. +        os=-ebmon
  6353. +        ;;
  6354. +    elxsi)
  6355. +        basic_machine=elxsi-elxsi
  6356. +        os=-bsd
  6357. +        ;;
  6358. +    encore | umax | mmax)
  6359. +        basic_machine=ns32k-encore
  6360. +        ;;
  6361. +    es1800 | OSE68k | ose68k | ose | OSE)        # CYGNUS LOCAL
  6362. +        basic_machine=m68k-ericsson
  6363. +        os=-ose
  6364. +        ;;
  6365. +    fx2800)
  6366. +        basic_machine=i860-alliant
  6367. +        ;;
  6368. +    genix)
  6369. +        basic_machine=ns32k-ns
  6370. +        ;;
  6371. +    gmicro)
  6372. +        basic_machine=tron-gmicro
  6373. +        os=-sysv
  6374. +        ;;
  6375. +    h3050r* | hiux*)
  6376. +        basic_machine=hppa1.1-hitachi
  6377. +        os=-hiuxwe2
  6378. +        ;;
  6379. +    h8300hms)
  6380. +        basic_machine=h8300-hitachi
  6381. +        os=-hms
  6382. +        ;;
  6383. +    h8300xray)                    # CYGNUS LOCAL
  6384. +        basic_machine=h8300-hitachi
  6385. +        os=-xray
  6386. +        ;;
  6387. +    h8500hms)                    # CYGNUS LOCAL
  6388. +        basic_machine=h8500-hitachi
  6389. +        os=-hms
  6390. +        ;;
  6391. +    harris)
  6392. +        basic_machine=m88k-harris
  6393. +        os=-sysv3
  6394. +        ;;
  6395. +    hp300-*)
  6396. +        basic_machine=m68k-hp
  6397. +        ;;
  6398. +    hp300bsd)
  6399. +        basic_machine=m68k-hp
  6400. +        os=-bsd
  6401. +        ;;
  6402. +    hp300hpux)
  6403. +        basic_machine=m68k-hp
  6404. +        os=-hpux
  6405. +        ;;
  6406. +        w89k-*)                        # CYGNUS LOCAL
  6407. +                basic_machine=hppa1.1-winbond
  6408. +                os=-proelf
  6409. +                ;;
  6410. +        op50n-*)                    # CYGNUS LOCAL
  6411. +                basic_machine=hppa1.1-oki
  6412. +                os=-proelf
  6413. +                ;;
  6414. +        op60c-*)                    # CYGNUS LOCAL
  6415. +                basic_machine=hppa1.1-oki
  6416. +                os=-proelf
  6417. +                ;;
  6418. +        hppro)                        # CYGNUS LOCAL
  6419. +                basic_machine=hppa1.1-hp
  6420. +                os=-proelf
  6421. +                ;;
  6422. +    hp9k2[0-9][0-9] | hp9k31[0-9])
  6423. +        basic_machine=m68000-hp
  6424. +        ;;
  6425. +    hp9k3[2-9][0-9])
  6426. +        basic_machine=m68k-hp
  6427. +        ;;
  6428. +    hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
  6429. +        basic_machine=hppa1.1-hp
  6430. +        ;;
  6431. +    hp9k8[0-9][0-9] | hp8[0-9][0-9])
  6432. +        basic_machine=hppa1.0-hp
  6433. +        ;;
  6434. +    hppaosf)                    # CYGNUS LOCAL
  6435. +        basic_machine=hppa1.1-hp
  6436. +        os=-osf
  6437. +        ;;
  6438. +    i370-ibm* | ibm*)
  6439. +        basic_machine=i370-ibm
  6440. +        os=-mvs
  6441. +        ;;
  6442. +# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
  6443. +    i[3456]86v32)
  6444. +        basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  6445. +        os=-sysv32
  6446. +        ;;
  6447. +    i[3456]86v4*)
  6448. +        basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  6449. +        os=-sysv4
  6450. +        ;;
  6451. +    i[3456]86v)
  6452. +        basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  6453. +        os=-sysv
  6454. +        ;;
  6455. +    i[3456]86sol2)
  6456. +        basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  6457. +        os=-solaris2
  6458. +        ;;
  6459. +    i386mach)                    # CYGNUS LOCAL
  6460. +        basic_machine=i386-mach
  6461. +        os=-mach
  6462. +        ;;
  6463. +    i386-vsta | vsta)                # CYGNUS LOCAL
  6464. +        basic_machine=i386-unknown
  6465. +        os=-vsta
  6466. +        ;;
  6467. +    i386-go32 | go32)                # CYGNUS LOCAL
  6468. +        basic_machine=i386-unknown
  6469. +        os=-go32
  6470. +        ;;
  6471. +    iris | iris4d)
  6472. +        basic_machine=mips-sgi
  6473. +        case $os in
  6474. +            -irix*)
  6475. +            ;;
  6476. +            *)
  6477. +            os=-irix4
  6478. +            ;;
  6479. +        esac
  6480. +        ;;
  6481. +    isi68 | isi)
  6482. +        basic_machine=m68k-isi
  6483. +        os=-sysv
  6484. +        ;;
  6485. +    m88k-omron*)
  6486. +        basic_machine=m88k-omron
  6487. +        ;;
  6488. +    magnum | m3230)
  6489. +        basic_machine=mips-mips
  6490. +        os=-sysv
  6491. +        ;;
  6492. +    merlin)
  6493. +        basic_machine=ns32k-utek
  6494. +        os=-sysv
  6495. +        ;;
  6496. +    miniframe)
  6497. +        basic_machine=m68000-convergent
  6498. +        ;;
  6499. +    mips3*-*)
  6500. +        basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
  6501. +        ;;
  6502. +    mips3*)
  6503. +        basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
  6504. +        ;;
  6505. +    monitor)                    # CYGNUS LOCAL
  6506. +        basic_machine=m68k-rom68k
  6507. +        os=-coff
  6508. +        ;;
  6509. +    msdos)                        # CYGNUS LOCAL
  6510. +        basic_machine=i386-unknown    
  6511. +        os=-msdos
  6512. +        ;;
  6513. +    ncr3000)
  6514. +        basic_machine=i486-ncr
  6515. +        os=-sysv4
  6516. +        ;;
  6517. +    netbsd386)
  6518. +        basic_machine=i386-unknown        # CYGNUS LOCAL
  6519. +        os=-netbsd
  6520. +        ;;
  6521. +    news | news700 | news800 | news900)
  6522. +        basic_machine=m68k-sony
  6523. +        os=-newsos
  6524. +        ;;
  6525. +    news1000)
  6526. +        basic_machine=m68030-sony
  6527. +        os=-newsos
  6528. +        ;;
  6529. +    news-3600 | risc-news)
  6530. +        basic_machine=mips-sony
  6531. +        os=-newsos
  6532. +        ;;
  6533. +    necv70)                        # CYGNUS LOCAL
  6534. +        basic_machine=v70-nec
  6535. +        os=-sysv
  6536. +        ;;
  6537. +    next | m*-next )
  6538. +        basic_machine=m68k-next
  6539. +        case $os in
  6540. +            -nextstep* )
  6541. +            ;;
  6542. +            -ns2*)
  6543. +              os=-nextstep2
  6544. +            ;;
  6545. +            *)
  6546. +              os=-nextstep3
  6547. +            ;;
  6548. +        esac
  6549. +        ;;
  6550. +    nh3000)
  6551. +        basic_machine=m68k-harris
  6552. +        os=-cxux
  6553. +        ;;
  6554. +    nh[45]000)
  6555. +        basic_machine=m88k-harris
  6556. +        os=-cxux
  6557. +        ;;
  6558. +    nindy960)
  6559. +        basic_machine=i960-intel
  6560. +        os=-nindy
  6561. +        ;;
  6562. +    mon960)
  6563. +        basic_machine=i960-intel
  6564. +        os=-mon960
  6565. +        ;;
  6566. +    np1)
  6567. +        basic_machine=np1-gould
  6568. +        ;;
  6569. +    OSE68000 | ose68000)                # CYGNUS LOCAL
  6570. +        basic_machine=m68000-ericsson
  6571. +        os=-ose
  6572. +        ;;
  6573. +    os68k)                        # CYGNUS LOCAL
  6574. +        basic_machine=m68k-none
  6575. +        os=-os68k
  6576. +        ;;
  6577. +    pa-hitachi)
  6578. +        basic_machine=hppa1.1-hitachi
  6579. +        os=-hiuxwe2
  6580. +        ;;
  6581. +    paragon)
  6582. +        basic_machine=i860-intel
  6583. +        os=-osf
  6584. +        ;;
  6585. +    pbd)
  6586. +        basic_machine=sparc-tti
  6587. +        ;;
  6588. +    pbb)
  6589. +        basic_machine=m68k-tti
  6590. +        ;;
  6591. +        pc532 | pc532-*)
  6592. +        basic_machine=ns32k-pc532
  6593. +        ;;
  6594. +    pentium | p5)
  6595. +        basic_machine=i586-intel
  6596. +        ;;
  6597. +    pentiumpro | p6)
  6598. +        basic_machine=i686-intel
  6599. +        ;;
  6600. +    pentium-* | p5-*)
  6601. +        basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
  6602. +        ;;
  6603. +    pentiumpro-* | p6-*)
  6604. +        basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
  6605. +        ;;
  6606. +    k5)
  6607. +        # We don't have specific support for AMD's K5 yet, so just call it a Pentium
  6608. +        basic_machine=i586-amd
  6609. +        ;;
  6610. +    nexen)
  6611. +        # We don't have specific support for Nexgen yet, so just call it a Pentium
  6612. +        basic_machine=i586-nexgen
  6613. +        ;;
  6614. +    pn)
  6615. +        basic_machine=pn-gould
  6616. +        ;;
  6617. +    power)    basic_machine=rs6000-ibm
  6618. +        ;;
  6619. +    ppc)    basic_machine=powerpc-unknown
  6620. +            ;;
  6621. +    ppc-*)    basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
  6622. +        ;;
  6623. +    ppcle | powerpclittle | ppc-le | powerpc-little)
  6624. +        basic_machine=powerpcle-unknown
  6625. +            ;;
  6626. +    ppcle-* | powerpclittle-*)
  6627. +        basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
  6628. +        ;;
  6629. +    ps2)
  6630. +        basic_machine=i386-ibm
  6631. +        ;;
  6632. +    rom68k)                        # CYGNUS LOCAL
  6633. +        basic_machine=m68k-rom68k
  6634. +        os=-coff
  6635. +        ;;
  6636. +    rm[46]00)
  6637. +        basic_machine=mips-siemens
  6638. +        ;;
  6639. +    rtpc | rtpc-*)
  6640. +        basic_machine=romp-ibm
  6641. +        ;;
  6642. +    sa29200)                    # CYGNUS LOCAL
  6643. +        basic_machine=a29k-amd
  6644. +        os=-udi
  6645. +        ;;
  6646. +    sequent)
  6647. +        basic_machine=i386-sequent
  6648. +        ;;
  6649. +    sh)
  6650. +        basic_machine=sh-hitachi
  6651. +        os=-hms
  6652. +        ;;
  6653. +    sparclite-wrs)                    # CYGNUS LOCAL
  6654. +        basic_machine=sparclite-wrs
  6655. +        os=-vxworks
  6656. +        ;;
  6657. +    sps7)
  6658. +        basic_machine=m68k-bull
  6659. +        os=-sysv2
  6660. +        ;;
  6661. +    spur)
  6662. +        basic_machine=spur-unknown
  6663. +        ;;
  6664. +    st2000)                        # CYGNUS LOCAL
  6665. +        basic_machine=m68k-tandem
  6666. +        ;;
  6667. +    stratus)                    # CYGNUS LOCAL
  6668. +        basic_machine=i860-stratus
  6669. +        os=-sysv4
  6670. +        ;;
  6671. +    sun2)
  6672. +        basic_machine=m68000-sun
  6673. +        ;;
  6674. +    sun2os3)
  6675. +        basic_machine=m68000-sun
  6676. +        os=-sunos3
  6677. +        ;;
  6678. +    sun2os4)
  6679. +        basic_machine=m68000-sun
  6680. +        os=-sunos4
  6681. +        ;;
  6682. +    sun3os3)
  6683. +        basic_machine=m68k-sun
  6684. +        os=-sunos3
  6685. +        ;;
  6686. +    sun3os4)
  6687. +        basic_machine=m68k-sun
  6688. +        os=-sunos4
  6689. +        ;;
  6690. +    sun4os3)
  6691. +        basic_machine=sparc-sun
  6692. +        os=-sunos3
  6693. +        ;;
  6694. +    sun4os4)
  6695. +        basic_machine=sparc-sun
  6696. +        os=-sunos4
  6697. +        ;;
  6698. +    sun4sol2)
  6699. +        basic_machine=sparc-sun
  6700. +        os=-solaris2
  6701. +        ;;
  6702. +    sun3 | sun3-*)
  6703. +        basic_machine=m68k-sun
  6704. +        ;;
  6705. +    sun4)
  6706. +        basic_machine=sparc-sun
  6707. +        ;;
  6708. +    sun386 | sun386i | roadrunner)
  6709. +        basic_machine=i386-sun
  6710. +        ;;
  6711. +    symmetry)
  6712. +        basic_machine=i386-sequent
  6713. +        os=-dynix
  6714. +        ;;
  6715. +    tower | tower-32)
  6716. +        basic_machine=m68k-ncr
  6717. +        ;;
  6718. +    udi29k)
  6719. +        basic_machine=a29k-amd
  6720. +        os=-udi
  6721. +        ;;
  6722. +    ultra3)
  6723. +        basic_machine=a29k-nyu
  6724. +        os=-sym1
  6725. +        ;;
  6726. +    v810 | necv810)                    # CYGNUS LOCAL
  6727. +        basic_machine=v810-nec
  6728. +        os=-none
  6729. +        ;;
  6730. +    vaxv)
  6731. +        basic_machine=vax-dec
  6732. +        os=-sysv
  6733. +        ;;
  6734. +    vms)
  6735. +        basic_machine=vax-dec
  6736. +        os=-vms
  6737. +        ;;
  6738. +    vxworks960)
  6739. +        basic_machine=i960-wrs
  6740. +        os=-vxworks
  6741. +        ;;
  6742. +    vxworks68)
  6743. +        basic_machine=m68k-wrs
  6744. +        os=-vxworks
  6745. +        ;;
  6746. +    vxworks29k)
  6747. +        basic_machine=a29k-wrs
  6748. +        os=-vxworks
  6749. +        ;;
  6750. +    w65*)                        # CYGNUS LOCAL
  6751. +         basic_machine=w65-wdc
  6752. +         os=-none
  6753. +        ;;
  6754. +    xmp)
  6755. +        basic_machine=xmp-cray
  6756. +        os=-unicos
  6757. +        ;;
  6758. +        xps | xps100)
  6759. +        basic_machine=xps100-honeywell
  6760. +        ;;
  6761. +    z8k-*-coff)                    # CYGNUS LOCAL
  6762. +        basic_machine=z8k-unknown
  6763. +        os=-sim
  6764. +        ;;
  6765. +    none)
  6766. +        basic_machine=none-none
  6767. +        os=-none
  6768. +        ;;
  6769. +
  6770. +# Here we handle the default manufacturer of certain CPU types.  It is in
  6771. +# some cases the only manufacturer, in others, it is the most popular.
  6772. +    w89k)                        # CYGNUS LOCAL
  6773. +        basic_machine=hppa1.1-winbond
  6774. +        ;;
  6775. +    op50n)                        # CYGNUS LOCAL
  6776. +        basic_machine=hppa1.1-oki
  6777. +        ;;
  6778. +    op60c)                        # CYGNUS LOCAL
  6779. +        basic_machine=hppa1.1-oki
  6780. +        ;;
  6781. +    mips)
  6782. +        basic_machine=mips-mips
  6783. +        ;;
  6784. +    romp)
  6785. +        basic_machine=romp-ibm
  6786. +        ;;
  6787. +    rs6000)
  6788. +        basic_machine=rs6000-ibm
  6789. +        ;;
  6790. +    vax)
  6791. +        basic_machine=vax-dec
  6792. +        ;;
  6793. +    pdp11)
  6794. +        basic_machine=pdp11-dec
  6795. +        ;;
  6796. +    we32k)
  6797. +        basic_machine=we32k-att
  6798. +        ;;
  6799. +    sparc)
  6800. +        basic_machine=sparc-sun
  6801. +        ;;
  6802. +        cydra)
  6803. +        basic_machine=cydra-cydrome
  6804. +        ;;
  6805. +    orion)
  6806. +        basic_machine=orion-highlevel
  6807. +        ;;
  6808. +    orion105)
  6809. +        basic_machine=clipper-highlevel
  6810. +        ;;
  6811. +    mac | mpw | mac-mpw)                # CYGNUS LOCAL
  6812. +        basic_machine=m68k-apple
  6813. +        ;;
  6814. +    pmac | pmac-mpw)                # CYGNUS LOCAL
  6815. +        basic_machine=powerpc-apple
  6816. +        ;;
  6817. +    *)
  6818. +        echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
  6819. +        exit 1
  6820. +        ;;
  6821. +esac
  6822. +
  6823. +# Here we canonicalize certain aliases for manufacturers.
  6824. +case $basic_machine in
  6825. +    *-digital*)
  6826. +        basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
  6827. +        ;;
  6828. +    *-commodore*)
  6829. +        basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
  6830. +        ;;
  6831. +    *)
  6832. +        ;;
  6833. +esac
  6834. +
  6835. +# Decode manufacturer-specific aliases for certain operating systems.
  6836. +
  6837. +if [ x"$os" != x"" ]
  6838. +then
  6839. +case $os in
  6840. +    # -solaris* is a basic system type, with this one exception.
  6841. +    -solaris1 | -solaris1.*)
  6842. +        os=`echo $os | sed -e 's|solaris1|sunos4|'`
  6843. +        ;;
  6844. +    -solaris)
  6845. +        os=-solaris2
  6846. +        ;;
  6847. +    -unixware* | svr4*)
  6848. +        os=-sysv4
  6849. +        ;;
  6850. +    -gnu/linux*)
  6851. +        os=`echo $os | sed -e 's|gnu/linux|linux|'`
  6852. +        ;;
  6853. +    # First accept the basic system types.
  6854. +    # The portable systems comes first.
  6855. +    # Each alternative MUST END IN A *, to match a version number.
  6856. +    # -sysv* is not here because it comes later, after sysvr4.
  6857. +    -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
  6858. +          | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[3456]* \
  6859. +          | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
  6860. +          | -amigaos* | -msdos* | -moss* | -newsos* | -unicos* | -aos* | -aof* \
  6861. +          | -nindy* | -mon960* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
  6862. +          | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
  6863. +          | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \
  6864. +          | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
  6865. +          | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  6866. +          | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
  6867. +          | -cygwin32* | -pe* | -psos*)
  6868. +    # Remember, each alternative MUST END IN *, to match a version number.
  6869. +        ;;
  6870. +    # CYGNUS LOCAL
  6871. +    -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
  6872. +          | -windows* | -osx | -abug |  -netware* | -proelf | -os9* \
  6873. +          | -macos* | -mpw* | -magic*)
  6874. +        ;;
  6875. +    -mac*)
  6876. +        os=`echo $os | sed -e 's|mac|macos|'`
  6877. +        ;;
  6878. +    # END CYGNUS LOCAL
  6879. +    -sunos5*)
  6880. +        os=`echo $os | sed -e 's|sunos5|solaris2|'`
  6881. +        ;;
  6882. +    -sunos6*)
  6883. +        os=`echo $os | sed -e 's|sunos6|solaris3|'`
  6884. +        ;;
  6885. +    -osfrose*)
  6886. +        os=-osfrose
  6887. +        ;;
  6888. +    -osf*)
  6889. +        os=-osf
  6890. +        ;;
  6891. +    -utek*)
  6892. +        os=-bsd
  6893. +        ;;
  6894. +    -dynix*)
  6895. +        os=-bsd
  6896. +        ;;
  6897. +    -acis*)
  6898. +        os=-aos
  6899. +        ;;
  6900. +    -386bsd)                    # CYGNUS LOCAL
  6901. +        os=-bsd
  6902. +        ;;
  6903. +    -ctix* | -uts*)
  6904. +        os=-sysv
  6905. +        ;;
  6906. +    -ns2 )
  6907. +            os=-nextstep2
  6908. +        ;;
  6909. +    # Preserve the version number of sinix5.
  6910. +    -sinix5.*)
  6911. +        os=`echo $os | sed -e 's|sinix|sysv|'`
  6912. +        ;;
  6913. +    -sinix*)
  6914. +        os=-sysv4
  6915. +        ;;
  6916. +    -triton*)
  6917. +        os=-sysv3
  6918. +        ;;
  6919. +    -oss*)
  6920. +        os=-sysv3
  6921. +        ;;
  6922. +    -svr4)
  6923. +        os=-sysv4
  6924. +        ;;
  6925. +    -svr3)
  6926. +        os=-sysv3
  6927. +        ;;
  6928. +    -sysvr4)
  6929. +        os=-sysv4
  6930. +        ;;
  6931. +    # This must come after -sysvr4.
  6932. +    -sysv*)
  6933. +        ;;
  6934. +    -ose*)                        # CYGNUS LOCAL
  6935. +        os=-ose
  6936. +        ;;
  6937. +    -es1800*)                    # CYGNUS LOCAL
  6938. +        os=-ose
  6939. +        ;;
  6940. +    -xenix)
  6941. +        os=-xenix
  6942. +        ;;
  6943. +    -none)
  6944. +        ;;
  6945. +    *)
  6946. +        # Get rid of the `-' at the beginning of $os.
  6947. +        os=`echo $os | sed 's/[^-]*-//'`
  6948. +        echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
  6949. +        exit 1
  6950. +        ;;
  6951. +esac
  6952. +else
  6953. +
  6954. +# Here we handle the default operating systems that come with various machines.
  6955. +# The value should be what the vendor currently ships out the door with their
  6956. +# machine or put another way, the most popular os provided with the machine.
  6957. +
  6958. +# Note that if you're going to try to match "-MANUFACTURER" here (say,
  6959. +# "-sun"), then you have to tell the case statement up towards the top
  6960. +# that MANUFACTURER isn't an operating system.  Otherwise, code above
  6961. +# will signal an error saying that MANUFACTURER isn't an operating
  6962. +# system, and we'll never get to this point.
  6963. +
  6964. +case $basic_machine in
  6965. +    *-acorn)
  6966. +        os=-riscix1.2
  6967. +        ;;
  6968. +    arm*-semi)
  6969. +        os=-aout
  6970. +        ;;
  6971. +        pdp11-*)
  6972. +        os=-none
  6973. +        ;;
  6974. +    *-dec | vax-*)
  6975. +        os=-ultrix4.2
  6976. +        ;;
  6977. +    m68*-apollo)
  6978. +        os=-domain
  6979. +        ;;
  6980. +    i386-sun)
  6981. +        os=-sunos4.0.2
  6982. +        ;;
  6983. +    m68000-sun)
  6984. +        os=-sunos3
  6985. +        # This also exists in the configure program, but was not the
  6986. +        # default.
  6987. +        # os=-sunos4
  6988. +        ;;
  6989. +    m68*-cisco)                    # CYGNUS LOCAL
  6990. +        os=-aout
  6991. +        ;;
  6992. +    mips*-cisco)                    # CYGNUS LOCAL
  6993. +        os=-elf
  6994. +        ;;
  6995. +    *-tti)    # must be before sparc entry or we get the wrong os.
  6996. +        os=-sysv3
  6997. +        ;;
  6998. +    sparc-* | *-sun)
  6999. +        os=-sunos4.1.1
  7000. +        ;;
  7001. +    *-ibm)
  7002. +        os=-aix
  7003. +        ;;
  7004. +    *-wec)                        # CYGNUS LOCAL
  7005. +        os=-proelf
  7006. +        ;;
  7007. +    *-winbond)                    # CYGNUS LOCAL
  7008. +        os=-proelf
  7009. +        ;;
  7010. +    *-oki)                        # CYGNUS LOCAL
  7011. +        os=-proelf
  7012. +        ;;
  7013. +    *-hp)
  7014. +        os=-hpux
  7015. +        ;;
  7016. +    *-hitachi)
  7017. +        os=-hiux
  7018. +        ;;
  7019. +    i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
  7020. +        os=-sysv
  7021. +        ;;
  7022. +    *-cbm)
  7023. +        os=-amigaos
  7024. +        ;;
  7025. +    *-dg)
  7026. +        os=-dgux
  7027. +        ;;
  7028. +    *-dolphin)
  7029. +        os=-sysv3
  7030. +        ;;
  7031. +    m68k-ccur)
  7032. +        os=-rtu
  7033. +        ;;
  7034. +    m88k-omron*)
  7035. +        os=-luna
  7036. +        ;;
  7037. +    *-next )
  7038. +        os=-nextstep
  7039. +        ;;
  7040. +    *-sequent)
  7041. +        os=-ptx
  7042. +        ;;
  7043. +    *-crds)
  7044. +        os=-unos
  7045. +        ;;
  7046. +    *-ns)
  7047. +        os=-genix
  7048. +        ;;
  7049. +    i370-*)
  7050. +        os=-mvs
  7051. +        ;;
  7052. +    *-next)
  7053. +        os=-nextstep3
  7054. +        ;;
  7055. +        *-gould)
  7056. +        os=-sysv
  7057. +        ;;
  7058. +        *-highlevel)
  7059. +        os=-bsd
  7060. +        ;;
  7061. +    *-encore)
  7062. +        os=-bsd
  7063. +        ;;
  7064. +        *-sgi)
  7065. +        os=-irix
  7066. +        ;;
  7067. +        *-siemens)
  7068. +        os=-sysv4
  7069. +        ;;
  7070. +    *-masscomp)
  7071. +        os=-rtu
  7072. +        ;;
  7073. +    *-rom68k)                    # CYGNUS LOCAL
  7074. +        os=-coff
  7075. +        ;;
  7076. +    *-*bug)                        # CYGNUS LOCAL
  7077. +        os=-coff
  7078. +        ;;
  7079. +    *-apple)                    # CYGNUS LOCAL
  7080. +        os=-macos
  7081. +        ;;
  7082. +    *)
  7083. +        os=-none
  7084. +        ;;
  7085. +esac
  7086. +fi
  7087. +
  7088. +# Here we handle the case where we know the os, and the CPU type, but not the
  7089. +# manufacturer.  We pick the logical manufacturer.
  7090. +vendor=unknown
  7091. +case $basic_machine in
  7092. +    *-unknown)
  7093. +        case $os in
  7094. +            -riscix*)
  7095. +                vendor=acorn
  7096. +                ;;
  7097. +            -sunos*)
  7098. +                vendor=sun
  7099. +                ;;
  7100. +            -bosx*)                # CYGNUS LOCAL
  7101. +                vendor=bull
  7102. +                ;;
  7103. +            -lynxos*)
  7104. +                vendor=lynx
  7105. +                ;;
  7106. +            -aix*)
  7107. +                vendor=ibm
  7108. +                ;;
  7109. +            -hpux*)
  7110. +                vendor=hp
  7111. +                ;;
  7112. +            -hiux*)
  7113. +                vendor=hitachi
  7114. +                ;;
  7115. +            -unos*)
  7116. +                vendor=crds
  7117. +                ;;
  7118. +            -dgux*)
  7119. +                vendor=dg
  7120. +                ;;
  7121. +            -luna*)
  7122. +                vendor=omron
  7123. +                ;;
  7124. +            -genix*)
  7125. +                vendor=ns
  7126. +                ;;
  7127. +            -mvs*)
  7128. +                vendor=ibm
  7129. +                ;;
  7130. +            -ptx*)
  7131. +                vendor=sequent
  7132. +                ;;
  7133. +            -vxworks*)
  7134. +                vendor=wrs
  7135. +                ;;
  7136. +            -aux*)
  7137. +                vendor=apple
  7138. +                ;;
  7139. +            -hms*)                # CYGNUS LOCAL
  7140. +                vendor=hitachi
  7141. +                ;;
  7142. +            -mpw* | -macos*)        # CYGNUS LOCAL
  7143. +                vendor=apple
  7144. +                ;;
  7145. +        esac
  7146. +        basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
  7147. +        ;;
  7148. +esac
  7149. +
  7150. +echo $basic_machine$os
  7151. diff -rup --new-file baseline/contrib/guavac/configure amiga/contrib/guavac/configure
  7152. --- baseline/contrib/guavac/configure    Fri Aug  2 19:55:11 1996
  7153. +++ amiga/contrib/guavac/configure    Mon Sep 30 22:32:07 1996
  7154. @@ -1,8 +1,8 @@
  7155.  #! /bin/sh
  7156.  
  7157.  # Guess values for system-dependent variables and create Makefiles.
  7158. -# Generated automatically using autoconf version 2.8 
  7159. -# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
  7160. +# Generated automatically using autoconf version 2.10 
  7161. +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
  7162.  #
  7163.  # This configure script is free software; the Free Software Foundation
  7164.  # gives unlimited permission to copy, distribute and modify it.
  7165. @@ -44,6 +44,9 @@ libdir='${exec_prefix}/lib'
  7166.  includedir='${prefix}/include'
  7167.  oldincludedir='/usr/include'
  7168.  infodir='${prefix}/info'
  7169. +guidedir='${prefix}/guide'
  7170. +psdir='${prefix}/ps'
  7171. +dvidir='${prefix}/dvi'
  7172.  mandir='${prefix}/man'
  7173.  
  7174.  # Initialize some other variables.
  7175. @@ -158,6 +161,9 @@ Directory and file names:
  7176.    --includedir=DIR        C header files in DIR [PREFIX/include]
  7177.    --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
  7178.    --infodir=DIR           info documentation in DIR [PREFIX/info]
  7179. +  --guidedir=DIR          Amigaguide documentation in DIR [PREFIX/guide]
  7180. +  --psdir=DIR             postscript documentation in DIR [PREFIX/ps]
  7181. +  --dvidir=DIR            TeX dvi documentation in DIR [PREFIX/dvi]
  7182.    --mandir=DIR            man documentation in DIR [PREFIX/man]
  7183.    --srcdir=DIR            find the sources in DIR [configure dir or ..]
  7184.    --program-prefix=PREFIX prepend PREFIX to installed program names
  7185. @@ -200,6 +206,18 @@ EOF
  7186.    -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
  7187.      infodir="$ac_optarg" ;;
  7188.  
  7189. + -guidedir | --guidedir | --guidedi | --guided | --guide | --gui)
  7190. +   ac_prev=guidedir ;;
  7191. + -guidedir=* | --guidedir=* | --guidedi=* | --guided=* | --guide=* |--gui=*)+    guidedir="$ac_optarg" ;;
  7192. +
  7193. + -psdir | --psdir | --psdi | --psd | --ps)
  7194. +   ac_prev=psdir ;;
  7195. + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)+    psdir="$ac_optarg" ;;
  7196. +
  7197. + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
  7198. +   ac_prev=dvidir ;;
  7199. + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* |--dv=*)+    dvidir="$ac_optarg" ;;
  7200. +
  7201.    -libdir | --libdir | --libdi | --libd)
  7202.      ac_prev=libdir ;;
  7203.    -libdir=* | --libdir=* | --libdi=* | --libd=*)
  7204. @@ -330,7 +348,7 @@ EOF
  7205.      verbose=yes ;;
  7206.  
  7207.    -version | --version | --versio | --versi | --vers)
  7208. -    echo "configure generated by autoconf version 2.8"
  7209. +    echo "configure generated by autoconf version 2.10"
  7210.      exit 0 ;;
  7211.  
  7212.    -with-* | --with-*)
  7213. @@ -514,6 +532,130 @@ fi
  7214.  
  7215.  
  7216.  
  7217. +# Extract the first word of "gcc", so it can be a program name with args.
  7218. +set dummy gcc; ac_word=$2
  7219. +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  7220. +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
  7221. +  echo $ac_n "(cached) $ac_c" 1>&6
  7222. +else
  7223. +  if test -n "$CC"; then
  7224. +  ac_cv_prog_CC="$CC" # Let the user override the test.
  7225. +else
  7226. +  IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  7227. +  for ac_dir in $PATH; do
  7228. +    test -z "$ac_dir" && ac_dir=.
  7229. +    if test -f $ac_dir/$ac_word; then
  7230. +      ac_cv_prog_CC="gcc"
  7231. +      break
  7232. +    fi
  7233. +  done
  7234. +  IFS="$ac_save_ifs"
  7235. +fi
  7236. +fi
  7237. +CC="$ac_cv_prog_CC"
  7238. +if test -n "$CC"; then
  7239. +  echo "$ac_t""$CC" 1>&6
  7240. +else
  7241. +  echo "$ac_t""no" 1>&6
  7242. +fi
  7243. +
  7244. +if test -z "$CC"; then
  7245. +  # Extract the first word of "cc", so it can be a program name with args.
  7246. +set dummy cc; ac_word=$2
  7247. +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  7248. +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
  7249. +  echo $ac_n "(cached) $ac_c" 1>&6
  7250. +else
  7251. +  if test -n "$CC"; then
  7252. +  ac_cv_prog_CC="$CC" # Let the user override the test.
  7253. +else
  7254. +  IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  7255. +  ac_prog_rejected=no
  7256. +  for ac_dir in $PATH; do
  7257. +    test -z "$ac_dir" && ac_dir=.
  7258. +    if test -f $ac_dir/$ac_word; then
  7259. +      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
  7260. +        ac_prog_rejected=yes
  7261. +    continue
  7262. +      fi
  7263. +      ac_cv_prog_CC="cc"
  7264. +      break
  7265. +    fi
  7266. +  done
  7267. +  IFS="$ac_save_ifs"
  7268. +if test $ac_prog_rejected = yes; then
  7269. +  # We found a bogon in the path, so make sure we never use it.
  7270. +  set dummy $ac_cv_prog_CC
  7271. +  shift
  7272. +  if test $# -gt 0; then
  7273. +    # We chose a different compiler from the bogus one.
  7274. +    # However, it has the same basename, so the bogon will be chosen
  7275. +    # first if we set CC to just the basename; use the full file name.
  7276. +    shift
  7277. +    set dummy "$ac_dir/$ac_word" "$@"
  7278. +    shift
  7279. +    ac_cv_prog_CC="$@"
  7280. +  fi
  7281. +fi
  7282. +fi
  7283. +fi
  7284. +CC="$ac_cv_prog_CC"
  7285. +if test -n "$CC"; then
  7286. +  echo "$ac_t""$CC" 1>&6
  7287. +else
  7288. +  echo "$ac_t""no" 1>&6
  7289. +fi
  7290. +
  7291. +  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
  7292. +fi
  7293. +
  7294. +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
  7295. +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
  7296. +  echo $ac_n "(cached) $ac_c" 1>&6
  7297. +else
  7298. +  cat > conftest.c <<EOF
  7299. +#ifdef __GNUC__
  7300. +  yes;
  7301. +#endif
  7302. +EOF
  7303. +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:622: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
  7304. +  ac_cv_prog_gcc=yes
  7305. +else
  7306. +  ac_cv_prog_gcc=no
  7307. +fi
  7308. +fi
  7309. +
  7310. +echo "$ac_t""$ac_cv_prog_gcc" 1>&6
  7311. +if test $ac_cv_prog_gcc = yes; then
  7312. +  GCC=yes
  7313. +  if test "${CFLAGS+set}" != set; then
  7314. +    echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
  7315. +if eval "test \"`echo '$''{'ac_cv_prog_gcc_g'+set}'`\" = set"; then
  7316. +  echo $ac_n "(cached) $ac_c" 1>&6
  7317. +else
  7318. +  echo 'void f(){}' > conftest.c
  7319. +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
  7320. +  ac_cv_prog_gcc_g=yes
  7321. +else
  7322. +  ac_cv_prog_gcc_g=no
  7323. +fi
  7324. +rm -f conftest*
  7325. +
  7326. +fi
  7327. +
  7328. +echo "$ac_t""$ac_cv_prog_gcc_g" 1>&6
  7329. +    if test $ac_cv_prog_gcc_g = yes; then
  7330. +      CFLAGS="-g -O2"
  7331. +    else
  7332. +      CFLAGS="-O2"
  7333. +    fi
  7334. +  fi
  7335. +else
  7336. +  GCC=
  7337. +  test "${CFLAGS+set}" = set || CFLAGS="-g"
  7338. +fi
  7339. +
  7340. +
  7341.  echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
  7342.  # On Suns, sometimes $CPP names a directory.
  7343.  if test -n "$CPP" && test -d "$CPP"; then
  7344. @@ -529,13 +671,13 @@ else
  7345.    # On the NeXT, cc -E runs the code through the compiler's parser,
  7346.    # not just through cpp.
  7347.    cat > conftest.$ac_ext <<EOF
  7348. -#line 533 "configure"
  7349. +#line 675 "configure"
  7350.  #include "confdefs.h"
  7351.  #include <assert.h>
  7352.  Syntax Error
  7353.  EOF
  7354.  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  7355. -{ (eval echo configure:539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7356. +{ (eval echo configure:681: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7357.  ac_err=`grep -v '^ *+' conftest.out`
  7358.  if test -z "$ac_err"; then
  7359.    :
  7360. @@ -544,13 +686,13 @@ else
  7361.    rm -rf conftest*
  7362.    CPP="${CC-cc} -E -traditional-cpp"
  7363.    cat > conftest.$ac_ext <<EOF
  7364. -#line 548 "configure"
  7365. +#line 690 "configure"
  7366.  #include "confdefs.h"
  7367.  #include <assert.h>
  7368.  Syntax Error
  7369.  EOF
  7370.  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  7371. -{ (eval echo configure:554: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7372. +{ (eval echo configure:696: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7373.  ac_err=`grep -v '^ *+' conftest.out`
  7374.  if test -z "$ac_err"; then
  7375.    :
  7376. @@ -572,7 +714,7 @@ echo "$ac_t""$CPP" 1>&6
  7377.  
  7378.  echo $ac_n "checking for AIX""... $ac_c" 1>&6
  7379.  cat > conftest.$ac_ext <<EOF
  7380. -#line 576 "configure"
  7381. +#line 718 "configure"
  7382.  #include "confdefs.h"
  7383.  #ifdef _AIX
  7384.    yes
  7385. @@ -619,12 +761,12 @@ if eval "test \"`echo '$''{'ac_cv_header
  7386.    echo $ac_n "(cached) $ac_c" 1>&6
  7387.  else
  7388.    cat > conftest.$ac_ext <<EOF
  7389. -#line 623 "configure"
  7390. +#line 765 "configure"
  7391.  #include "confdefs.h"
  7392.  #include <minix/config.h>
  7393.  EOF
  7394.  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  7395. -{ (eval echo configure:628: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7396. +{ (eval echo configure:770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7397.  ac_err=`grep -v '^ *+' conftest.out`
  7398.  if test -z "$ac_err"; then
  7399.    rm -rf conftest*
  7400. @@ -660,12 +802,8 @@ EOF
  7401.  fi
  7402.  
  7403.  
  7404. -ac_ext=C
  7405. -# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  7406. -ac_cpp='$CXXCPP $CPPFLAGS'
  7407. -ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  7408. -ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  7409. -
  7410. +#Don't specify C++, otherwise many of the tests will fail.  FIXME?
  7411. +#AC_LANG_CPLUSPLUS
  7412.  # Extract the first word of "ranlib", so it can be a program name with args.
  7413.  set dummy ranlib; ac_word=$2
  7414.  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  7415. @@ -720,6 +858,7 @@ ac_configure=$ac_aux_dir/configure # Thi
  7416.  # SunOS /usr/etc/install
  7417.  # IRIX /sbin/install
  7418.  # AIX /bin/install
  7419. +# AmigaOS /c/install
  7420.  # AFS /usr/afsws/bin/install, which mishandles nonexistent args
  7421.  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
  7422.  # ./install, which can be erroneously created by make from ./install.sh.
  7423. @@ -732,7 +871,7 @@ else
  7424.    for ac_dir in $PATH; do
  7425.      # Account for people who put trailing slashes in PATH elements.
  7426.      case "$ac_dir/" in
  7427. -    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
  7428. +    /|./|.//|/etc/*|/c/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
  7429.      *)
  7430.        # OSF1 and SCO ODT 3.0 have their own names for install.
  7431.        for ac_prog in ginstall installbsd scoinst install; do
  7432. @@ -794,22 +933,22 @@ fi
  7433.  
  7434.  
  7435.  echo $ac_n "checking for -lstdc++""... $ac_c" 1>&6
  7436. -ac_lib_var=`echo stdc++_main | tr '.-/+' '___p'`
  7437. +ac_lib_var=`echo stdc++'_'main | tr './+\055' '__p_'`
  7438.  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  7439.    echo $ac_n "(cached) $ac_c" 1>&6
  7440.  else
  7441.    ac_save_LIBS="$LIBS"
  7442.  LIBS="-lstdc++  $LIBS"
  7443.  cat > conftest.$ac_ext <<EOF
  7444. -#line 805 "configure"
  7445. +#line 944 "configure"
  7446.  #include "confdefs.h"
  7447.  
  7448. -int main() { return 0; }
  7449. +int main() { t(); return 0; }
  7450.  int t() {
  7451.  main()
  7452.  ; return 0; }
  7453.  EOF
  7454. -if { (eval echo configure:813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7455. +if { (eval echo configure:952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7456.    rm -rf conftest*
  7457.    eval "ac_cv_lib_$ac_lib_var=yes"
  7458.  else
  7459. @@ -822,7 +961,7 @@ LIBS="$ac_save_LIBS"
  7460.  fi
  7461.  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  7462.    echo "$ac_t""yes" 1>&6
  7463. -    ac_tr_lib=HAVE_LIB`echo stdc++ | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
  7464. +    ac_tr_lib=HAVE_LIB`echo stdc++ | tr 'abcdefghijklmnopqrstuvwxyz+' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
  7465.    cat >> confdefs.h <<EOF
  7466.  #define $ac_tr_lib 1
  7467.  EOF
  7468. @@ -834,22 +973,22 @@ else
  7469.  fi
  7470.  
  7471.  echo $ac_n "checking for -lm""... $ac_c" 1>&6
  7472. -ac_lib_var=`echo m_main | tr '.-/+' '___p'`
  7473. +ac_lib_var=`echo m'_'main | tr './+\055' '__p_'`
  7474.  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  7475.    echo $ac_n "(cached) $ac_c" 1>&6
  7476.  else
  7477.    ac_save_LIBS="$LIBS"
  7478.  LIBS="-lm  $LIBS"
  7479.  cat > conftest.$ac_ext <<EOF
  7480. -#line 845 "configure"
  7481. +#line 984 "configure"
  7482.  #include "confdefs.h"
  7483.  
  7484. -int main() { return 0; }
  7485. +int main() { t(); return 0; }
  7486.  int t() {
  7487.  main()
  7488.  ; return 0; }
  7489.  EOF
  7490. -if { (eval echo configure:853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7491. +if { (eval echo configure:992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7492.    rm -rf conftest*
  7493.    eval "ac_cv_lib_$ac_lib_var=yes"
  7494.  else
  7495. @@ -862,7 +1001,7 @@ LIBS="$ac_save_LIBS"
  7496.  fi
  7497.  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  7498.    echo "$ac_t""yes" 1>&6
  7499. -    ac_tr_lib=HAVE_LIB`echo m | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
  7500. +    ac_tr_lib=HAVE_LIB`echo m | tr 'abcdefghijklmnopqrstuvwxyz+' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
  7501.    cat >> confdefs.h <<EOF
  7502.  #define $ac_tr_lib 1
  7503.  EOF
  7504. @@ -883,7 +1022,7 @@ if eval "test \"`echo '$''{'ac_cv_header
  7505.    echo $ac_n "(cached) $ac_c" 1>&6
  7506.  else
  7507.    cat > conftest.$ac_ext <<EOF
  7508. -#line 887 "configure"
  7509. +#line 1026 "configure"
  7510.  #include "confdefs.h"
  7511.  #include <sys/types.h>
  7512.  #include <$ac_hdr>
  7513. @@ -892,7 +1031,7 @@ int t() {
  7514.  DIR *dirp = 0;
  7515.  ; return 0; }
  7516.  EOF
  7517. -if { (eval echo configure:896: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  7518. +if { (eval echo configure:1035: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  7519.    rm -rf conftest*
  7520.    eval "ac_cv_header_dirent_$ac_safe=yes"
  7521.  else
  7522. @@ -916,22 +1055,26 @@ done
  7523.  # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
  7524.  if test $ac_header_dirent = dirent.h; then
  7525.  echo $ac_n "checking for -ldir""... $ac_c" 1>&6
  7526. -ac_lib_var=`echo dir_opendir | tr '.-/+' '___p'`
  7527. +ac_lib_var=`echo dir'_'opendir | tr './+\055' '__p_'`
  7528.  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  7529.    echo $ac_n "(cached) $ac_c" 1>&6
  7530.  else
  7531.    ac_save_LIBS="$LIBS"
  7532.  LIBS="-ldir  $LIBS"
  7533.  cat > conftest.$ac_ext <<EOF
  7534. -#line 927 "configure"
  7535. +#line 1066 "configure"
  7536.  #include "confdefs.h"
  7537. +/* Override any gcc2 internal prototype to avoid an error.  */
  7538. +/* We use char because int might match the return type of a gcc2
  7539. +    builtin and then its argument prototype would still apply.  */
  7540. +char opendir();
  7541.  
  7542. -int main() { return 0; }
  7543. +int main() { t(); return 0; }
  7544.  int t() {
  7545.  opendir()
  7546.  ; return 0; }
  7547.  EOF
  7548. -if { (eval echo configure:935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7549. +if { (eval echo configure:1078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7550.    rm -rf conftest*
  7551.    eval "ac_cv_lib_$ac_lib_var=yes"
  7552.  else
  7553. @@ -951,22 +1094,26 @@ fi
  7554.  
  7555.  else
  7556.  echo $ac_n "checking for -lx""... $ac_c" 1>&6
  7557. -ac_lib_var=`echo x_opendir | tr '.-/+' '___p'`
  7558. +ac_lib_var=`echo x'_'opendir | tr './+\055' '__p_'`
  7559.  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  7560.    echo $ac_n "(cached) $ac_c" 1>&6
  7561.  else
  7562.    ac_save_LIBS="$LIBS"
  7563.  LIBS="-lx  $LIBS"
  7564.  cat > conftest.$ac_ext <<EOF
  7565. -#line 962 "configure"
  7566. +#line 1105 "configure"
  7567.  #include "confdefs.h"
  7568. +/* Override any gcc2 internal prototype to avoid an error.  */
  7569. +/* We use char because int might match the return type of a gcc2
  7570. +    builtin and then its argument prototype would still apply.  */
  7571. +char opendir();
  7572.  
  7573. -int main() { return 0; }
  7574. +int main() { t(); return 0; }
  7575.  int t() {
  7576.  opendir()
  7577.  ; return 0; }
  7578.  EOF
  7579. -if { (eval echo configure:970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7580. +if { (eval echo configure:1117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7581.    rm -rf conftest*
  7582.    eval "ac_cv_lib_$ac_lib_var=yes"
  7583.  else
  7584. @@ -986,39 +1133,6 @@ fi
  7585.  
  7586.  fi
  7587.  
  7588. -echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
  7589. -if test -z "$CXXCPP"; then
  7590. -if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
  7591. -  echo $ac_n "(cached) $ac_c" 1>&6
  7592. -else
  7593. -  ac_ext=C
  7594. -# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  7595. -ac_cpp='$CXXCPP $CPPFLAGS'
  7596. -ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  7597. -ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  7598. -  CXXCPP="${CXX-g++} -E"
  7599. -  cat > conftest.$ac_ext <<EOF
  7600. -#line 1002 "configure"
  7601. -#include "confdefs.h"
  7602. -#include <stdlib.h>
  7603. -EOF
  7604. -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  7605. -{ (eval echo configure:1007: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7606. -ac_err=`grep -v '^ *+' conftest.out`
  7607. -if test -z "$ac_err"; then
  7608. -  :
  7609. -else
  7610. -  echo "$ac_err" >&5
  7611. -  rm -rf conftest*
  7612. -  CXXCPP=/lib/cpp
  7613. -fi
  7614. -rm -f conftest*
  7615. -  ac_cv_prog_CXXCPP="$CXXCPP"
  7616. -fi
  7617. -fi
  7618. -CXXCPP="$ac_cv_prog_CXXCPP"
  7619. -echo "$ac_t""$CXXCPP" 1>&6
  7620. -
  7621.  # If we cannot run a trivial program, we must be cross compiling.
  7622.  echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6
  7623.  if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then
  7624. @@ -1028,14 +1142,11 @@ else
  7625.    ac_cv_c_cross=yes
  7626.  else
  7627.  cat > conftest.$ac_ext <<EOF
  7628. -#line 1032 "configure"
  7629. +#line 1146 "configure"
  7630.  #include "confdefs.h"
  7631. -#ifdef __cplusplus
  7632. -extern "C" void exit(int);
  7633. -#endif
  7634.  main(){return(0);}
  7635.  EOF
  7636. -{ (eval echo configure:1039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  7637. +{ (eval echo configure:1150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  7638.  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  7639.    ac_cv_c_cross=no
  7640.  else
  7641. @@ -1053,7 +1164,7 @@ if eval "test \"`echo '$''{'ac_cv_header
  7642.    echo $ac_n "(cached) $ac_c" 1>&6
  7643.  else
  7644.    cat > conftest.$ac_ext <<EOF
  7645. -#line 1057 "configure"
  7646. +#line 1168 "configure"
  7647.  #include "confdefs.h"
  7648.  #include <stdlib.h>
  7649.  #include <stdarg.h>
  7650. @@ -1061,7 +1172,7 @@ else
  7651.  #include <float.h>
  7652.  EOF
  7653.  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  7654. -{ (eval echo configure:1065: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7655. +{ (eval echo configure:1176: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7656.  ac_err=`grep -v '^ *+' conftest.out`
  7657.  if test -z "$ac_err"; then
  7658.    rm -rf conftest*
  7659. @@ -1076,7 +1187,7 @@ rm -f conftest*
  7660.  if test $ac_cv_header_stdc = yes; then
  7661.    # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
  7662.  cat > conftest.$ac_ext <<EOF
  7663. -#line 1080 "configure"
  7664. +#line 1191 "configure"
  7665.  #include "confdefs.h"
  7666.  #include <string.h>
  7667.  EOF
  7668. @@ -1094,7 +1205,7 @@ fi
  7669.  if test $ac_cv_header_stdc = yes; then
  7670.    # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
  7671.  cat > conftest.$ac_ext <<EOF
  7672. -#line 1098 "configure"
  7673. +#line 1209 "configure"
  7674.  #include "confdefs.h"
  7675.  #include <stdlib.h>
  7676.  EOF
  7677. @@ -1115,11 +1226,8 @@ if test "$cross_compiling" = yes; then
  7678.    :
  7679.  else
  7680.  cat > conftest.$ac_ext <<EOF
  7681. -#line 1119 "configure"
  7682. +#line 1230 "configure"
  7683.  #include "confdefs.h"
  7684. -#ifdef __cplusplus
  7685. -extern "C" void exit(int);
  7686. -#endif
  7687.  #include <ctype.h>
  7688.  #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
  7689.  #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
  7690. @@ -1129,7 +1237,7 @@ if (XOR (islower (i), ISLOWER (i)) || to
  7691.  exit (0); }
  7692.  
  7693.  EOF
  7694. -{ (eval echo configure:1133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  7695. +{ (eval echo configure:1241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  7696.  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  7697.    :
  7698.  else
  7699. @@ -1156,12 +1264,12 @@ if eval "test \"`echo '$''{'ac_cv_header
  7700.    echo $ac_n "(cached) $ac_c" 1>&6
  7701.  else
  7702.    cat > conftest.$ac_ext <<EOF
  7703. -#line 1160 "configure"
  7704. +#line 1268 "configure"
  7705.  #include "confdefs.h"
  7706.  #include <$ac_hdr>
  7707.  EOF
  7708.  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  7709. -{ (eval echo configure:1165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7710. +{ (eval echo configure:1273: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  7711.  ac_err=`grep -v '^ *+' conftest.out`
  7712.  if test -z "$ac_err"; then
  7713.    rm -rf conftest*
  7714. @@ -1193,15 +1301,15 @@ if eval "test \"`echo '$''{'ac_cv_header
  7715.    echo $ac_n "(cached) $ac_c" 1>&6
  7716.  else
  7717.    cat > conftest.$ac_ext <<EOF
  7718. -#line 1197 "configure"
  7719. +#line 1305 "configure"
  7720.  #include "confdefs.h"
  7721.  #include <alloca.h>
  7722. -int main() { return 0; }
  7723. +int main() { t(); return 0; }
  7724.  int t() {
  7725.  char *p = alloca(2 * sizeof(int));
  7726.  ; return 0; }
  7727.  EOF
  7728. -if { (eval echo configure:1205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7729. +if { (eval echo configure:1313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7730.    rm -rf conftest*
  7731.    ac_cv_header_alloca_h=yes
  7732.  else
  7733. @@ -1225,7 +1333,7 @@ if eval "test \"`echo '$''{'ac_cv_func_a
  7734.    echo $ac_n "(cached) $ac_c" 1>&6
  7735.  else
  7736.    cat > conftest.$ac_ext <<EOF
  7737. -#line 1229 "configure"
  7738. +#line 1337 "configure"
  7739.  #include "confdefs.h"
  7740.  
  7741.  #ifdef __GNUC__
  7742. @@ -1244,12 +1352,12 @@ char *alloca ();
  7743.  # endif
  7744.  #endif
  7745.  
  7746. -int main() { return 0; }
  7747. +int main() { t(); return 0; }
  7748.  int t() {
  7749.  char *p = (char *) alloca(1);
  7750.  ; return 0; }
  7751.  EOF
  7752. -if { (eval echo configure:1253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7753. +if { (eval echo configure:1361: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7754.    rm -rf conftest*
  7755.    ac_cv_func_alloca=yes
  7756.  else
  7757. @@ -1284,7 +1392,7 @@ if eval "test \"`echo '$''{'ac_cv_os_cra
  7758.    echo $ac_n "(cached) $ac_c" 1>&6
  7759.  else
  7760.    cat > conftest.$ac_ext <<EOF
  7761. -#line 1288 "configure"
  7762. +#line 1396 "configure"
  7763.  #include "confdefs.h"
  7764.  #if defined(CRAY) && ! defined(CRAY2)
  7765.  webecray
  7766. @@ -1313,18 +1421,17 @@ if eval "test \"`echo '$''{'ac_cv_func_$
  7767.    echo $ac_n "(cached) $ac_c" 1>&6
  7768.  else
  7769.    cat > conftest.$ac_ext <<EOF
  7770. -#line 1317 "configure"
  7771. +#line 1425 "configure"
  7772.  #include "confdefs.h"
  7773.  /* System header to define __stub macros and hopefully few prototypes,
  7774.      which can conflict with char $ac_func(); below.  */
  7775.  #include <assert.h>
  7776.  /* Override any gcc2 internal prototype to avoid an error.  */
  7777. -#ifdef __cplusplus
  7778. -extern "C"
  7779. -#endif
  7780. +/* We use char because int might match the return type of a gcc2
  7781. +    builtin and then its argument prototype would still apply.  */
  7782.  char $ac_func();
  7783.  
  7784. -int main() { return 0; }
  7785. +int main() { t(); return 0; }
  7786.  int t() {
  7787.  
  7788.  /* The GNU C library defines this for functions which it implements
  7789. @@ -1338,7 +1445,7 @@ $ac_func();
  7790.  
  7791.  ; return 0; }
  7792.  EOF
  7793. -if { (eval echo configure:1342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7794. +if { (eval echo configure:1449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7795.    rm -rf conftest*
  7796.    eval "ac_cv_func_$ac_func=yes"
  7797.  else
  7798. @@ -1370,11 +1477,8 @@ else
  7799.    ac_cv_c_stack_direction=0
  7800.  else
  7801.  cat > conftest.$ac_ext <<EOF
  7802. -#line 1374 "configure"
  7803. +#line 1481 "configure"
  7804.  #include "confdefs.h"
  7805. -#ifdef __cplusplus
  7806. -extern "C" void exit(int);
  7807. -#endif
  7808.  find_stack_direction ()
  7809.  {
  7810.    static char *addr = 0;
  7811. @@ -1392,7 +1496,7 @@ main ()
  7812.    exit (find_stack_direction() < 0);
  7813.  }
  7814.  EOF
  7815. -{ (eval echo configure:1396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  7816. +{ (eval echo configure:1500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  7817.  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  7818.    ac_cv_c_stack_direction=1
  7819.  else
  7820. @@ -1416,18 +1520,17 @@ if eval "test \"`echo '$''{'ac_cv_func_$
  7821.    echo $ac_n "(cached) $ac_c" 1>&6
  7822.  else
  7823.    cat > conftest.$ac_ext <<EOF
  7824. -#line 1420 "configure"
  7825. +#line 1524 "configure"
  7826.  #include "confdefs.h"
  7827.  /* System header to define __stub macros and hopefully few prototypes,
  7828.      which can conflict with char $ac_func(); below.  */
  7829.  #include <assert.h>
  7830.  /* Override any gcc2 internal prototype to avoid an error.  */
  7831. -#ifdef __cplusplus
  7832. -extern "C"
  7833. -#endif
  7834. +/* We use char because int might match the return type of a gcc2
  7835. +    builtin and then its argument prototype would still apply.  */
  7836.  char $ac_func();
  7837.  
  7838. -int main() { return 0; }
  7839. +int main() { t(); return 0; }
  7840.  int t() {
  7841.  
  7842.  /* The GNU C library defines this for functions which it implements
  7843. @@ -1441,7 +1544,7 @@ $ac_func();
  7844.  
  7845.  ; return 0; }
  7846.  EOF
  7847. -if { (eval echo configure:1445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7848. +if { (eval echo configure:1548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  7849.    rm -rf conftest*
  7850.    eval "ac_cv_func_$ac_func=yes"
  7851.  else
  7852. @@ -1497,7 +1600,7 @@ else
  7853.    ac_cv_c_bigendian=unknown
  7854.  # See if sys/param.h defines the BYTE_ORDER macro.
  7855.  cat > conftest.$ac_ext <<EOF
  7856. -#line 1501 "configure"
  7857. +#line 1604 "configure"
  7858.  #include "confdefs.h"
  7859.  #include <sys/types.h>
  7860.  #include <sys/param.h>
  7861. @@ -1509,11 +1612,11 @@ int t() {
  7862.  #endif
  7863.  ; return 0; }
  7864.  EOF
  7865. -if { (eval echo configure:1513: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  7866. +if { (eval echo configure:1616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  7867.    rm -rf conftest*
  7868.    # It does; now see whether it defined to BIG_ENDIAN or not.
  7869.  cat > conftest.$ac_ext <<EOF
  7870. -#line 1517 "configure"
  7871. +#line 1620 "configure"
  7872.  #include "confdefs.h"
  7873.  #include <sys/types.h>
  7874.  #include <sys/param.h>
  7875. @@ -1525,7 +1628,7 @@ int t() {
  7876.  #endif
  7877.  ; return 0; }
  7878.  EOF
  7879. -if { (eval echo configure:1529: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  7880. +if { (eval echo configure:1632: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  7881.    rm -rf conftest*
  7882.    ac_cv_c_bigendian=yes
  7883.  else
  7884. @@ -1542,11 +1645,8 @@ if test "$cross_compiling" = yes; then
  7885.      { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  7886.  else
  7887.  cat > conftest.$ac_ext <<EOF
  7888. -#line 1546 "configure"
  7889. +#line 1649 "configure"
  7890.  #include "confdefs.h"
  7891. -#ifdef __cplusplus
  7892. -extern "C" void exit(int);
  7893. -#endif
  7894.  main () {
  7895.    /* Are we little or big endian?  From Harbison&Steele.  */
  7896.    union
  7897. @@ -1558,7 +1658,7 @@ main () {
  7898.    exit (u.c[sizeof (long) - 1] == 1);
  7899.  }
  7900.  EOF
  7901. -{ (eval echo configure:1562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  7902. +{ (eval echo configure:1662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  7903.  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  7904.    ac_cv_c_bigendian=no
  7905.  else
  7906. @@ -1598,12 +1698,47 @@ EOF
  7907.  
  7908.  
  7909.  
  7910. -CFLAGS="-g -I. -I.. -I../common"
  7911. +CFLAGS="-g -O2"
  7912. +# Check for additional host specific CFLAGS.
  7913. +
  7914. +# Make sure we can run config.sub.
  7915. +if $ac_config_sub sun4 >/dev/null 2>&1; then :
  7916. +else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
  7917. +fi
  7918. +
  7919. +echo $ac_n "checking host system type""... $ac_c" 1>&6
  7920. +
  7921. +host_alias=$host
  7922. +case "$host_alias" in
  7923. +NONE)
  7924. +  case $nonopt in
  7925. +  NONE)
  7926. +    if host_alias=`$ac_config_guess`; then :
  7927. +    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
  7928. +    fi ;;
  7929. +  *) host_alias=$nonopt ;;
  7930. +  esac ;;
  7931. +esac
  7932. +
  7933. +host=`$ac_config_sub $host_alias`
  7934. +host_cpu=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  7935. +host_vendor=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  7936. +host_os=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  7937. +echo "$ac_t""$host" 1>&6
  7938. +
  7939. +echo $ac_n "checking for host dependent CFLAGS""... $ac_c" 1>&6
  7940. +other_host_cflags=""
  7941. +case "${host}" in
  7942. +    m68*-*-amigaos*)    other_host_cflags="-mstackextend" ;;
  7943. +esac
  7944. +test -n "$other_host_cflags" && CFLAGS="$CFLAGS $other_host_cflags"
  7945. +echo "$ac_t""$other_host_cflags" 1>&6
  7946.  cat >> confdefs.h <<EOF
  7947.  #define CFLAGS "$CFLAGS"
  7948.  EOF
  7949.  
  7950.  
  7951. +
  7952.  GNUFLAGS="-Wreturn-type -fenum-int-equiv"
  7953.  cat >> confdefs.h <<EOF
  7954.  #define GNUFLAGS "$GNUFLAGS"
  7955. @@ -1673,7 +1808,9 @@ DEFS=-DHAVE_CONFIG_H
  7956.  : ${CONFIG_STATUS=./config.status}
  7957.  
  7958.  echo creating $CONFIG_STATUS
  7959. -rm -f $CONFIG_STATUS
  7960. +# Some systems, like AmigaOS, won't allow you to remove a script that is
  7961. +# being executed, so just move it out of the way instead.
  7962. +if test -f $CONFIG_STATUS; then mv $CONFIG_STATUS $CONFIG_STATUS.old; else true; fi
  7963.  cat > $CONFIG_STATUS <<EOF
  7964.  #! /bin/sh
  7965.  # Generated automatically by configure.
  7966. @@ -1694,7 +1831,7 @@ do
  7967.      echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
  7968.      exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
  7969.    -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
  7970. -    echo "$CONFIG_STATUS generated by autoconf version 2.8"
  7971. +    echo "$CONFIG_STATUS generated by autoconf version 2.10"
  7972.      exit 0 ;;
  7973.    -help | --help | --hel | --he | --h)
  7974.      echo "\$ac_cs_usage"; exit 0 ;;
  7975. @@ -1735,18 +1872,26 @@ s%@libdir@%$libdir%g
  7976.  s%@includedir@%$includedir%g
  7977.  s%@oldincludedir@%$oldincludedir%g
  7978.  s%@infodir@%$infodir%g
  7979. +s%@guidedir@%$guidedir%g
  7980. +s%@psdir@%$psdir%g
  7981. +s%@dvidir@%$dvidir%g
  7982.  s%@mandir@%$mandir%g
  7983. +s%@CC@%$CC%g
  7984.  s%@CPP@%$CPP%g
  7985.  s%@RANLIB@%$RANLIB%g
  7986.  s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
  7987.  s%@INSTALL_DATA@%$INSTALL_DATA%g
  7988.  s%@LN_S@%$LN_S%g
  7989. -s%@CXXCPP@%$CXXCPP%g
  7990.  s%@ALLOCA@%$ALLOCA%g
  7991.  s%@SET_MAKE@%$SET_MAKE%g
  7992.  s%@PRODUCT@%$PRODUCT%g
  7993.  s%@VERSION@%$VERSION%g
  7994.  s%@CXX@%$CXX%g
  7995. +s%@host@%$host%g
  7996. +s%@host_alias@%$host_alias%g
  7997. +s%@host_cpu@%$host_cpu%g
  7998. +s%@host_vendor@%$host_vendor%g
  7999. +s%@host_os@%$host_os%g
  8000.  s%@GNUFLAGS@%$GNUFLAGS%g
  8001.  s%@TEMPLATEFLAGS@%$TEMPLATEFLAGS%g
  8002.  
  8003. @@ -1854,7 +1999,7 @@ rm -f conftest.vals
  8004.  cat > conftest.hdr <<\EOF
  8005.  s/[\\&%]/\\&/g
  8006.  s%[\\$`]%\\&%g
  8007. -s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
  8008. +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
  8009.  s%ac_d%ac_u%gp
  8010.  s%ac_u%ac_e%gp
  8011.  EOF
  8012. @@ -1902,6 +2047,12 @@ cat >> $CONFIG_STATUS <<\EOF
  8013.      echo "$ac_file is unchanged"
  8014.      rm -f conftest.h
  8015.    else
  8016. +    # Remove last slash and all that follows it.  Not all systems have dirname.
  8017. +      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
  8018. +      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
  8019. +      # The file is in a subdirectory.
  8020. +      test ! -d "$ac_dir" && mkdir "$ac_dir"
  8021. +    fi
  8022.      rm -f $ac_file
  8023.      mv conftest.h $ac_file
  8024.    fi
  8025. @@ -1913,6 +2064,7 @@ test -z "$CONFIG_HEADERS" || date > stam
  8026.  exit 0
  8027.  EOF
  8028.  chmod +x $CONFIG_STATUS
  8029. +rm -f CONFIG.STATUS.old
  8030.  rm -fr confdefs* $ac_clean_files
  8031.  test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
  8032.  
  8033. diff -rup --new-file baseline/contrib/guavac/configure.in amiga/contrib/guavac/configure.in
  8034. --- baseline/contrib/guavac/configure.in    Fri Aug  2 20:01:37 1996
  8035. +++ amiga/contrib/guavac/configure.in    Mon Sep 30 21:54:16 1996
  8036. @@ -7,12 +7,16 @@ dnl
  8037.  AC_INIT(common/CommonInstantiations.C)
  8038.  AC_CONFIG_HEADER(config.h)
  8039.  
  8040. +dnl find out about compiler first thing
  8041. +AC_PROG_CC
  8042. +
  8043.  dnl checks for programs
  8044.  AC_AIX
  8045.  AC_ISC_POSIX
  8046.  AC_MINIX
  8047.  AC_REQUIRE_CPP
  8048. -AC_LANG_CPLUSPLUS
  8049. +#Don't specify C++, otherwise many of the tests will fail.  FIXME?
  8050. +#AC_LANG_CPLUSPLUS
  8051.  AC_PROG_RANLIB
  8052.  AC_PROG_INSTALL
  8053.  AC_PROG_LN_S
  8054. @@ -45,8 +49,20 @@ CXX=gcc
  8055.  AC_DEFINE_UNQUOTED(CXX, "$CXX")
  8056.  AC_SUBST(CXX)
  8057.  
  8058. -CFLAGS="-g -I. -I.. -I../common"
  8059. +dnl begin-ADE-local
  8060. +CFLAGS="-g -O2"
  8061. +# Check for additional host specific CFLAGS.
  8062. +AC_CANONICAL_HOST
  8063. +AC_MSG_CHECKING(for host dependent CFLAGS)
  8064. +other_host_cflags=""
  8065. +case "${host}" in
  8066. +    m68*-*-amigaos*)    other_host_cflags="-mstackextend" ;;
  8067. +esac
  8068. +test -n "$other_host_cflags" && CFLAGS="$CFLAGS $other_host_cflags"
  8069. +AC_MSG_RESULT($other_host_cflags)
  8070. +dnl end-ADE-local
  8071.  AC_DEFINE_UNQUOTED(CFLAGS, "$CFLAGS")
  8072. +
  8073.  
  8074.  GNUFLAGS="-Wreturn-type -fenum-int-equiv"
  8075.  AC_DEFINE_UNQUOTED(GNUFLAGS, "$GNUFLAGS")
  8076. diff -rup --new-file baseline/contrib/guavac/man/Makefile.in amiga/contrib/guavac/man/Makefile.in
  8077. --- baseline/contrib/guavac/man/Makefile.in    Fri Jul 12 14:10:38 1996
  8078. +++ amiga/contrib/guavac/man/Makefile.in    Sat Sep 28 00:00:00 1996
  8079. @@ -51,17 +51,21 @@ stamp-vnr: $(PRODUCT).1
  8080.      date > $(srcdir)/stamp-vnr
  8081.  
  8082.  install: all
  8083. -    $(srcdir)/../mkinstalldirs $(mandir) $(mandir)/man1 $(mandir)/cat1
  8084. +    $(srcdir)/../mkinstalldirs $(mandir) $(mandir)/man1 $(mandir)/cat1 $(prefix)/ps
  8085.      cd $(srcdir) && for file in $(PRODUCT).1; do \
  8086.        $(INSTALL_DATA) $$file $(mandir)/man1/$$file; \
  8087.      done
  8088.      cd $(srcdir) && for file in $(PRODUCT).man; do \
  8089.        $(INSTALL_DATA) $$file $(mandir)/cat1/$$file; \
  8090.      done
  8091. +    cd $(srcdir) && for file in $(PRODUCT).ps; do \
  8092. +      $(INSTALL_DATA) $$file $(prefix)/ps/$$file; \
  8093. +    done
  8094.  
  8095.  uninstall:
  8096.      rm -f $(mandir)/man1/$(PRODUCT).1
  8097.      rm -f $(mandir)/cat1/$(PRODUCT).man
  8098. +    rm -f $(prefix)/ps/$$(PRODUCT).ps
  8099.  
  8100.  mostlyclean:
  8101.      rm -f *.tmp
  8102. diff -rup --new-file baseline/contrib/guavac/man/guavac.ps amiga/contrib/guavac/man/guavac.ps
  8103. --- baseline/contrib/guavac/man/guavac.ps    Fri Aug  2 20:40:27 1996
  8104. +++ amiga/contrib/guavac/man/guavac.ps    Wed Dec 31 17:00:00 1969
  8105. @@ -1,300 +0,0 @@
  8106. -%!PS-Adobe-3.0
  8107. -%%Creator: groff version 1.09
  8108. -%%CreationDate: Fri Aug  2 20:40:27 1996
  8109. -%%DocumentNeededResources: font Times-Roman
  8110. -%%+ font Times-Bold
  8111. -%%+ font Times-Italic
  8112. -%%DocumentSuppliedResources: procset grops 1.09 0
  8113. -%%Pages: 1
  8114. -%%PageOrder: Ascend
  8115. -%%Orientation: Portrait
  8116. -%%EndComments
  8117. -%%BeginProlog
  8118. -%%BeginResource: procset grops 1.09 0
  8119. -/setpacking where{
  8120. -pop
  8121. -currentpacking
  8122. -true setpacking
  8123. -}if
  8124. -/grops 120 dict dup begin
  8125. -/SC 32 def
  8126. -/A/show load def
  8127. -/B{0 SC 3 -1 roll widthshow}bind def
  8128. -/C{0 exch ashow}bind def
  8129. -/D{0 exch 0 SC 5 2 roll awidthshow}bind def
  8130. -/E{0 rmoveto show}bind def
  8131. -/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
  8132. -/G{0 rmoveto 0 exch ashow}bind def
  8133. -/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
  8134. -/I{0 exch rmoveto show}bind def
  8135. -/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
  8136. -/K{0 exch rmoveto 0 exch ashow}bind def
  8137. -/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
  8138. -/M{rmoveto show}bind def
  8139. -/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
  8140. -/O{rmoveto 0 exch ashow}bind def
  8141. -/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
  8142. -/Q{moveto show}bind def
  8143. -/R{moveto 0 SC 3 -1 roll widthshow}bind def
  8144. -/S{moveto 0 exch ashow}bind def
  8145. -/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
  8146. -/SF{
  8147. -findfont exch
  8148. -[exch dup 0 exch 0 exch neg 0 0]makefont
  8149. -dup setfont
  8150. -[exch/setfont cvx]cvx bind def
  8151. -}bind def
  8152. -/MF{
  8153. -findfont
  8154. -[5 2 roll
  8155. -0 3 1 roll 
  8156. -neg 0 0]makefont
  8157. -dup setfont
  8158. -[exch/setfont cvx]cvx bind def
  8159. -}bind def
  8160. -/level0 0 def
  8161. -/RES 0 def
  8162. -/PL 0 def
  8163. -/LS 0 def
  8164. -/PLG{
  8165. -gsave newpath clippath pathbbox grestore
  8166. -exch pop add exch pop
  8167. -}bind def
  8168. -/BP{
  8169. -/level0 save def
  8170. -1 setlinecap
  8171. -1 setlinejoin
  8172. -72 RES div dup scale
  8173. -LS{
  8174. -90 rotate
  8175. -}{
  8176. -0 PL translate
  8177. -}ifelse
  8178. -1 -1 scale
  8179. -}bind def
  8180. -/EP{
  8181. -level0 restore
  8182. -showpage
  8183. -}bind def
  8184. -/DA{
  8185. -newpath arcn stroke
  8186. -}bind def
  8187. -/SN{
  8188. -transform
  8189. -.25 sub exch .25 sub exch
  8190. -round .25 add exch round .25 add exch
  8191. -itransform
  8192. -}bind def
  8193. -/DL{
  8194. -SN
  8195. -moveto
  8196. -SN
  8197. -lineto stroke
  8198. -}bind def
  8199. -/DC{
  8200. -newpath 0 360 arc closepath
  8201. -}bind def
  8202. -/TM matrix def
  8203. -/DE{
  8204. -TM currentmatrix pop
  8205. -translate scale newpath 0 0 .5 0 360 arc closepath
  8206. -TM setmatrix
  8207. -}bind def
  8208. -/RC/rcurveto load def
  8209. -/RL/rlineto load def
  8210. -/ST/stroke load def
  8211. -/MT/moveto load def
  8212. -/CL/closepath load def
  8213. -/FL{
  8214. -currentgray exch setgray fill setgray
  8215. -}bind def
  8216. -/BL/fill load def
  8217. -/LW/setlinewidth load def
  8218. -/RE{
  8219. -findfont
  8220. -dup maxlength 1 index/FontName known not{1 add}if dict begin
  8221. -{
  8222. -1 index/FID ne{def}{pop pop}ifelse
  8223. -}forall
  8224. -/Encoding exch def
  8225. -dup/FontName exch def
  8226. -currentdict end definefont pop
  8227. -}bind def
  8228. -/DEFS 0 def
  8229. -/EBEGIN{
  8230. -moveto
  8231. -DEFS begin
  8232. -}bind def
  8233. -/EEND/end load def
  8234. -/CNT 0 def
  8235. -/level1 0 def
  8236. -/PBEGIN{
  8237. -/level1 save def
  8238. -translate
  8239. -div 3 1 roll div exch scale
  8240. -neg exch neg exch translate
  8241. -0 setgray
  8242. -0 setlinecap
  8243. -1 setlinewidth
  8244. -0 setlinejoin
  8245. -10 setmiterlimit
  8246. -[]0 setdash
  8247. -/setstrokeadjust where{
  8248. -pop
  8249. -false setstrokeadjust
  8250. -}if
  8251. -/setoverprint where{
  8252. -pop
  8253. -false setoverprint
  8254. -}if
  8255. -newpath
  8256. -/CNT countdictstack def
  8257. -userdict begin
  8258. -/showpage{}def
  8259. -}bind def
  8260. -/PEND{
  8261. -clear
  8262. -countdictstack CNT sub{end}repeat
  8263. -level1 restore
  8264. -}bind def
  8265. -end def
  8266. -/setpacking where{
  8267. -pop
  8268. -setpacking
  8269. -}if
  8270. -%%EndResource
  8271. -%%IncludeResource: font Times-Roman
  8272. -%%IncludeResource: font Times-Bold
  8273. -%%IncludeResource: font Times-Italic
  8274. -grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
  8275. -def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
  8276. -/scaron/zcaron/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef
  8277. -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
  8278. -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
  8279. -/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
  8280. -/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
  8281. -/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
  8282. -/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
  8283. -/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
  8284. -/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
  8285. -/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
  8286. -/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
  8287. -/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
  8288. -/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
  8289. -/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
  8290. -/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
  8291. -/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
  8292. -/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
  8293. -/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
  8294. -/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
  8295. -/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
  8296. -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
  8297. -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
  8298. -/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
  8299. -/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
  8300. -/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
  8301. -/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
  8302. -/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE
  8303. -/Times-Roman@0 ENC0/Times-Roman RE
  8304. -%%EndProlog
  8305. -%%Page: 1 1
  8306. -%%BeginPageSetup
  8307. -BP
  8308. -%%EndPageSetup
  8309. -/F0 10/Times-Roman@0 SF(GU)72 48 Q -.2 -1.35(AVA C)-.4 H 137.095
  8310. -(\(1\) USER)1.35 F 137.095(COMMANDS GU)2.5 F -.2 -1.35(AVA C)-.4 H
  8311. -(\(1\))1.35 E/F1 9/Times-Bold@0 SF -.18(NA)72 84 S(ME).18 E F0(gua)108
  8312. -96 Q -.25(va)-.2 G 2.5(c\255af).25 G(ree Ja)-2.5 E .5 -.25(va c)-.2 H
  8313. -(ompiler).25 E(gua)108 112.8 Q -.25(va)-.2 G 2.5(d\255g).25 G(ua)-2.5 E
  8314. --.25(va)-.2 G(c').25 E 2.5(sd)-.55 G(isassembler)-2.5 E F1(SYNOPSIS)72
  8315. -129.6 Q/F2 10/Times-Bold@0 SF(gua)108 141.6 Q -.1(va)-.25 G(c).1 E F0([)
  8316. -2.5 E F2(-v)2.5 E(ersion)-.1 E F0 2.5(][)2.5 G F2(-classpath)A/F3 10
  8317. -/Times-Italic@0 SF(dir)2.5 E(ectory)-.37 E F0 2.5(][)2.5 G F2(-d)A F3
  8318. -(output-dir)2.5 E(ectory)-.37 E F0 2.5(][)2.5 G F2(-M)A F0(])2.5 E F3
  8319. -(\214lenames)2.5 E F2(gua)108 158.4 Q -.1(va)-.25 G(d).1 E F3
  8320. -(\214lename)2.5 E F1(DESCRIPTION)72 175.2 Q F2(Gua)108 187.2 Q -.1(va)
  8321. --.25 G(c).1 E F0 .051(is a compiler for the Ja)2.551 F .551 -.25
  8322. -(va \007)-.2 H .05(programming language distrib)5.351 F .05
  8323. -(uted under the)-.2 F/F4 9/Times-Roman@0 SF .05(GNU GENERAL PUBLIC)2.55
  8324. -F(LICENSE.)108 199.2 Q F0 -1.1(Yo)4.574 G 2.574(us)1.1 G .074
  8325. -(hould feel free to use, cop)-2.574 F 2.574(ya)-.1 G .075
  8326. -(nd modify it, based on the terms in the)-2.574 F F4(COPYING)2.575 E F0
  8327. -.075(\214le included)2.325 F .067(in this distrib)108 211.2 R 2.567
  8328. -(ution. W)-.2 F 2.567(ea)-.8 G .067(re distrib)-2.567 F(uting)-.2 E F2
  8329. -(gua)2.567 E -.1(va)-.25 G(c).1 E F0 .067(free of char)2.567 F .067
  8330. -(ge in the hopes that other people will \214nd it use-)-.18 F
  8331. -(ful and possibly enhance its utility in turn.)108 223.2 Q .568
  8332. -(All materials needed to compile a HotJa)108 240 R -.25(va)-.2 G 6.136
  8333. -<076f>.25 G 3.068(rN)-6.136 G 3.636(etscape\007 compliant)-3.068 F .569
  8334. -(applet are included in the)3.068 F F2(gua)3.069 E -.1(va)-.25 G(c).1 E
  8335. -F0(distrib)108 252 Q 4.117(ution. No)-.2 F 1.617(proprietary code from \
  8336. -Sun is needed, so other tool writers should feel free to include)4.117 F
  8337. -F2(gua)108 264 Q -.1(va)-.25 G(c).1 E F0(in their systems.)2.5 E F2(Gua)
  8338. -108 280.8 Q -.1(va)-.25 G(c).1 E F0 .531
  8339. -(is written in C++ to compile on an)3.031 F 3.031(yU)-.15 G .531
  8340. -(nix system.)-3.031 F .531
  8341. -(This has been tested under Solaris 2.x, SunOS)5.531 F .421
  8342. -(4.x, Iris 5.3, HP/UX 9, and Linux 1.x using)108 292.8 R F4(GNU')2.921 E
  8343. -(s)-.495 E F0 .421(gcc-2.7.2, libg++-2.7.1 and binutils-2.6, b)2.671 F
  8344. -.42(ut other oper)-.2 F(-)-.2 E(ating systems should w)108 304.8 Q
  8345. -(ork without an)-.1 E 2.5(ym)-.15 G(ajor changes.)-2.5 E F2(Gua)108
  8346. -321.6 Q -.1(va)-.25 G(c).1 E F0 1.734(is not meant to be the de\214nite)
  8347. -4.234 F F4 1.734(GNU Ja)4.234 F -.225(va)-.18 G F0(compiler)4.209 E
  8348. -4.234(.T)-.55 G(here')-4.234 E -6.733 4.234(sa d)-.55 H(if)-4.234 E
  8349. -1.735(ferent project in the w)-.25 F 1.735(orks at)-.1 F
  8350. -(Cygnus, that aims at b)108 333.6 Q(uilding a)-.2 E F4(GNU CC)2.5 E F0
  8351. -(front-end for Ja)2.25 E -.25(va)-.2 G(.).25 E F1(OPTIONS)72 350.4 Q F2
  8352. -(Gua)108 362.4 Q -.1(va)-.25 G(c).1 E F0(recognizes the follo)2.5 E
  8353. -(wing options.)-.25 E F2(-classpath)108 379.2 Q F3(dir)2.85 E(ectory)
  8354. --.37 E F0 1.815(Set the)144 391.2 R F3(dir)4.315 E(ectory)-.37 E(.)-.55
  8355. -E F0 1.815(It maybe contains either the stub classes as distrib)6.815 F
  8356. -1.814(uted with)-.2 F F2(gua)4.314 E -.1(va)-.25 G 4.314(ci).1 G 4.314
  8357. -(nt)-4.314 G(he)-4.314 E F3(classes.zip)144 403.2 Q F0 .467(\214le. Or)
  8358. -2.967 F 2.967(,e)-.4 G -.15(ve)-3.217 G 2.967(nb).15 G(etter)-2.967 E
  8359. -2.967(,t)-.4 G .467(he directory where the classes of Sun')-2.967 F
  8360. -2.968(sJ)-.55 G -.2(av)-2.968 G 2.968(aD)-.05 G -2.15 -.25(ev e)-2.968 H
  8361. -.468(lopment Kit, or).25 F F4(JDK)144 415.2 Q F0(for short, reside.)2.25
  8362. -E F2(-d)108 432 Q F3(dir)2.85 E(ectory)-.37 E F0
  8363. -(Set the output directory which otherwise def)144 444 Q
  8364. -(aults to the current w)-.1 E(orking directory)-.1 E(.)-.65 E F2(-M)108
  8365. -460.8 Q F0
  8366. -(Prints out dependencies for compiled \214les instead of compiling.)
  8367. -23.23 E F2(-v)108 477.6 Q(ersion)-.1 E F0(Prints out the current v)144
  8368. -489.6 Q(ersion of gua)-.15 E -.25(va)-.2 G(c.).25 E(Refer to the)108
  8369. -506.4 Q F4 -.09(BU)2.5 G(GS).09 E F0(section belo)2.25 E 2.5(wo)-.25 G
  8370. -2.5(np)-2.5 G(hilosophical implications of an)-2.5 E 2.5(yc)-.15 G
  8371. -(ollection of)-2.5 E F4(OPTIONS.)2.5 E F1(ENVIR)72 523.2 Q(ONMENT)-.27 E
  8372. -F2(Gua)108 535.2 Q -.1(va)-.25 G(c).1 E F0 .929(recognizes the)3.429 F
  8373. -F4(CLASSP)3.429 E -.999(AT)-.828 G(H).999 E F0(en)3.179 E .928
  8374. -(vironment v)-.4 F .928
  8375. -(ariable, containing a colon separated list of directories)-.25 F 1.133
  8376. -(where to look for compiled Ja)108 547.2 R 1.633 -.25(va c)-.2 H 1.134
  8377. -(lasses; much lik).25 F 3.634(et)-.1 G 1.134(he standard)-3.634 F F4
  8378. --.828(PA)3.634 G(TH)-.171 E F0 -.25(va)3.384 G 1.134
  8379. -(riable used to \214nd e).25 F -.15(xe)-.15 G(cutables.).15 E
  8380. -(The setting of)108 559.2 Q F4(CLASSP)2.5 E -.999(AT)-.828 G(H).999 E F0
  8381. -(may be o)2.25 E -.15(ve)-.15 G(rriden with the).15 E F2(-classpath)2.5
  8382. -E F0(option.)2.5 E F1 -.09(BU)72 576 S(GS).09 E F0 1.642
  8383. -(At present, after 11 of)108 588 R 1.642(\214cial releases,)-.25 F F2
  8384. -(gua)4.142 E -.1(va)-.25 G(c).1 E F0 1.641(0.2.5 is relati)4.142 F -.15
  8385. -(ve)-.25 G 1.641(ly stable.).15 F(Ho)6.641 E(we)-.25 E -.15(ve)-.25 G
  8386. -2.441 -.4(r, i).15 H 1.641(ncompatibilities arise).4 F(between gua)108
  8387. -600 Q -.25(va)-.2 G 2.5(ca).25 G(nd Sun')-2.5 E 2.5(so)-.55 G -.25(ff)
  8388. --2.5 G(erings, most of which are \214x).25 E(ed shortly after disco)-.15
  8389. -E -.15(ve)-.15 G(ry).15 E(.)-.65 E F1(SEE ALSO)72 616.8 Q F2(ja)108
  8390. -628.8 Q -.1(va)-.25 G(c).1 E F0(\(1\),)A F2(jdb)2.5 E F0(\(1\),)A F2
  8391. -(kaffe)2.5 E F0(\(1\))A F1 -.855 -1.305(AV A)72 645.6 T(ILABILITY)1.305
  8392. -E F0(The)108 657.6 Q F2(gua)2.5 E -.1(va)-.25 G(c).1 E F0(project')2.5 E
  8393. -2.5(sh)-.55 G(omepage is accessible via the W)-2.5 E(orld-W)-.8 E(ide W)
  8394. --.4 E(eb at:)-.8 E F3(http://http.cs.berk)144 669.6 Q(ele)-.1 E -.55(y.)
  8395. --.3 G(edu/~engber).55 E(g/guavac/)-.37 E F1 -.45(AU)108 698.4 S(THOR).45
  8396. -E F0(Cop)144 710.4 Q .764(yright \251 1995, 1996 by Da)-.1 F .764
  8397. -(vid Engber)-.2 F 3.264(g\()-.18 G 3.264(geppetto@eecs.com\). Manual)
  8398. --3.264 F .765(page written and last)3.264 F
  8399. -(upated in August 1996 by J\366r)144 722.4 Q 2.5(gH)-.18 G
  8400. -(eitk\366tter \(jok)-2.5 E(e@German)-.1 E -.65(y.)-.15 G(EU.net\).).65 E
  8401. --1.11(Ve)72 768 S(rsion 0.2.5)1.11 E(August 1996)155.255 E(1)203.305 E
  8402. -EP
  8403. -%%Trailer
  8404. -end
  8405. -%%EOF
  8406. diff -rup --new-file baseline/contrib/guavac/manifests/src amiga/contrib/guavac/manifests/src
  8407. --- baseline/contrib/guavac/manifests/src    Wed Dec 31 17:00:00 1969
  8408. +++ amiga/contrib/guavac/manifests/src    Sat Sep 28 00:00:00 1996
  8409. @@ -0,0 +1,108 @@
  8410. +contrib/guavac/COPYING
  8411. +contrib/guavac/ChangeLog
  8412. +contrib/guavac/Makefile.in
  8413. +contrib/guavac/NEWS
  8414. +contrib/guavac/Product-Info
  8415. +contrib/guavac/README
  8416. +contrib/guavac/RELEASE
  8417. +contrib/guavac/THANKS
  8418. +contrib/guavac/TODO
  8419. +contrib/guavac/acconfig.h
  8420. +contrib/guavac/checks/Makefile.in
  8421. +contrib/guavac/checks/gcok
  8422. +contrib/guavac/classes.zip
  8423. +contrib/guavac/common/Bitset.C
  8424. +contrib/guavac/common/Bitset.h
  8425. +contrib/guavac/common/CommandLine.C
  8426. +contrib/guavac/common/CommandLine.h
  8427. +contrib/guavac/common/CommonInstantiations.C
  8428. +contrib/guavac/common/FilePath.C
  8429. +contrib/guavac/common/FilePath.h
  8430. +contrib/guavac/common/JavaAccessFlags.C
  8431. +contrib/guavac/common/JavaAccessFlags.h
  8432. +contrib/guavac/common/JavaAttribute.C
  8433. +contrib/guavac/common/JavaAttribute.h
  8434. +contrib/guavac/common/JavaClassFile.C
  8435. +contrib/guavac/common/JavaClassFile.h
  8436. +contrib/guavac/common/JavaCodeAttribute.C
  8437. +contrib/guavac/common/JavaCodeAttribute.h
  8438. +contrib/guavac/common/JavaConstant.C
  8439. +contrib/guavac/common/JavaConstant.h
  8440. +contrib/guavac/common/JavaExceptionsTable.C
  8441. +contrib/guavac/common/JavaExceptionsTable.h
  8442. +contrib/guavac/common/JavaFieldInfo.C
  8443. +contrib/guavac/common/JavaFieldInfo.h
  8444. +contrib/guavac/common/JavaFieldSignature.C
  8445. +contrib/guavac/common/JavaFieldSignature.h
  8446. +contrib/guavac/common/JavaMethodInfo.C
  8447. +contrib/guavac/common/JavaMethodInfo.h
  8448. +contrib/guavac/common/JavaMethodSignature.C
  8449. +contrib/guavac/common/JavaMethodSignature.h
  8450. +contrib/guavac/common/JavaTypeSignature.C
  8451. +contrib/guavac/common/JavaTypeSignature.h
  8452. +contrib/guavac/common/Makefile.in
  8453. +contrib/guavac/common/UnicodeInstantiations.C
  8454. +contrib/guavac/common/dynamic_cast.h
  8455. +contrib/guavac/common/string.h
  8456. +contrib/guavac/common/unicode_string.C
  8457. +contrib/guavac/common/unicode_string.h
  8458. +contrib/guavac/compiler/BinaryExpression.C
  8459. +contrib/guavac/compiler/BinaryExpression.h
  8460. +contrib/guavac/compiler/CodeSequence.C
  8461. +contrib/guavac/compiler/CodeSequence.h
  8462. +contrib/guavac/compiler/CompileContext.C
  8463. +contrib/guavac/compiler/CompileContext.h
  8464. +contrib/guavac/compiler/CompileError.C
  8465. +contrib/guavac/compiler/CompileError.h
  8466. +contrib/guavac/compiler/Compiler.C
  8467. +contrib/guavac/compiler/Compiler.h
  8468. +contrib/guavac/compiler/CompilerInstantiations.C
  8469. +contrib/guavac/compiler/CompilerInstantiations2.C
  8470. +contrib/guavac/compiler/CompilerInstantiations3.C
  8471. +contrib/guavac/compiler/CompilerMain.C
  8472. +contrib/guavac/compiler/DisassembleMain.C
  8473. +contrib/guavac/compiler/Expression.C
  8474. +contrib/guavac/compiler/Expression.h
  8475. +contrib/guavac/compiler/FilterMain.C
  8476. +contrib/guavac/compiler/IntermediateClass.C
  8477. +contrib/guavac/compiler/IntermediateClass.h
  8478. +contrib/guavac/compiler/IntermediateFunction.C
  8479. +contrib/guavac/compiler/IntermediateFunction.h
  8480. +contrib/guavac/compiler/JavaDirectory.C
  8481. +contrib/guavac/compiler/JavaDirectory.h
  8482. +contrib/guavac/compiler/Makefile.in
  8483. +contrib/guavac/compiler/NonlocalBranch.C
  8484. +contrib/guavac/compiler/NonlocalBranch.h
  8485. +contrib/guavac/compiler/Statement.C
  8486. +contrib/guavac/compiler/Statement.h
  8487. +contrib/guavac/compiler/VariableDeclaration.C
  8488. +contrib/guavac/compiler/VariableDeclaration.h
  8489. +contrib/guavac/compiler/lexer.l
  8490. +contrib/guavac/compiler/parser.y
  8491. +contrib/guavac/compiler/parser_decls.h
  8492. +contrib/guavac/compiler/zextract.c
  8493. +contrib/guavac/compiler/zextract.h
  8494. +contrib/guavac/compiler/zextract.license.terms
  8495. +contrib/guavac/config.h.in
  8496. +contrib/guavac/config.sub
  8497. +contrib/guavac/configure
  8498. +contrib/guavac/configure.in
  8499. +contrib/guavac/doc/Makefile.in
  8500. +contrib/guavac/doc/gpl.texinfo
  8501. +contrib/guavac/doc/guavac.info
  8502. +contrib/guavac/doc/guavac.texinfo
  8503. +contrib/guavac/doc/lgpl.texinfo
  8504. +contrib/guavac/doc/stamp-vti
  8505. +contrib/guavac/doc/tex3patch
  8506. +contrib/guavac/doc/texinfo.tex
  8507. +contrib/guavac/doc/version.texi
  8508. +contrib/guavac/install-sh
  8509. +contrib/guavac/man/Makefile.in
  8510. +contrib/guavac/man/guavac.1
  8511. +contrib/guavac/man/guavac.man
  8512. +contrib/guavac/man/stamp-vnr
  8513. +contrib/guavac/man/version.in
  8514. +contrib/guavac/man/version.n
  8515. +contrib/guavac/manifests/bin
  8516. +contrib/guavac/manifests/src
  8517. +contrib/guavac/mkinstalldirs
  8518.