case 230: #line 1309 "./parse.y"
case 232: #line 1317 "./parse.y"
yyparse(YYPARSE_PARAM_ARG)     YYPARSE_PARAM_DECL{  register int yystate;  register int yyn;  register short *yyssp;  register YYSTYPE *yyvsp;  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */  short	yyssa[YYINITDEPTH];	/*  the state stack			*/  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */#ifdef YYLSP_NEEDED  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/  YYLTYPE *yyls = yylsa;  YYLTYPE *yylsp;#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)#else#define YYPOPSTACK   (yyvsp--, yyssp--)#endif  int yystacksize = YYINITDEPTH;#ifdef YYPURE  int yychar;  YYSTYPE yylval;  int yynerrs;#ifdef YYLSP_NEEDED  YYLTYPE yylloc;#endif#endif  YYSTYPE yyval;		/*  the variable used to return		*/				/*  semantic values from the action	*/				/*  routines				*/  int yylen;#if YYDEBUG != 0  if (yydebug)    fprintf(stderr, "Starting parse\n");#endif  yystate = 0;  yyerrstatus = 0;  yynerrs = 0;  yychar = YYEMPTY;		/* Cause a token to be read.  */  /* Initialize stack pointers.     Waste one element of value and location stack     so that they stay on the same level as the state stack.     The wasted elements are never initialized.  */  yyssp = yyss - 1;  yyvsp = yyvs;#ifdef YYLSP_NEEDED  yylsp = yyls;#endif/* Push a new state, which is found in  yystate  .  *//* In all cases, when you get here, the value and location stacks   have just been pushed. so pushing a state here evens the stacks.  */yynewstate:  *++yyssp = yystate;  if (yyssp >= yyss + yystacksize - 1)    {      /* Give user a chance to reallocate the stack */      /* Use copies of these so that the &'s don't force the real ones into memory. */      YYSTYPE *yyvs1 = yyvs;      short *yyss1 = yyss;#ifdef YYLSP_NEEDED      YYLTYPE *yyls1 = yyls;#endif      /* Get the current used size of the three stacks, in elements.  */      int size = yyssp - yyss + 1;#ifdef yyoverflow      /* Each stack pointer address is followed by the size of	 the data in use in that stack, in bytes.  */#ifdef YYLSP_NEEDED      /* This used to be a conditional around just the two extra args,	 but that might be undefined if yyoverflow is a macro.  */      yyoverflow("parser stack overflow",		 &yyss1, size * sizeof (*yyssp),		 &yyvs1, size * sizeof (*yyvsp),		 &yyls1, size * sizeof (*yylsp),		 &yystacksize);#else      yyoverflow("parser stack overflow",		 &yyss1, size * sizeof (*yyssp),		 &yyvs1, size * sizeof (*yyvsp),		 &yystacksize);#endif      yyss = yyss1; yyvs = yyvs1;#ifdef YYLSP_NEEDED      yyls = yyls1;#endif#else /* no yyoverflow */      /* Extend the stack our own way.  */      if (yystacksize >= YYMAXDEPTH)	{	  yyerror("parser stack overflow");	  return 2;	}      yystacksize *= 2;      if (yystacksize > YYMAXDEPTH)	yystacksize = YYMAXDEPTH;      yyss = (short *) alloca (yystacksize * sizeof (*yyssp));      __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));      yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));      __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));#ifdef YYLSP_NEEDED      yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));      __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));#endif#endif /* no yyoverflow */      yyssp = yyss + size - 1;      yyvsp = yyvs + size - 1;#ifdef YYLSP_NEEDED      yylsp = yyls + size - 1;#endif#if YYDEBUG != 0      if (yydebug)	fprintf(stderr, "Stack size increased to %d\n", yystacksize);#endif      if (yyssp >= yyss + yystacksize - 1)	YYABORT;    }#if YYDEBUG != 0  if (yydebug)    fprintf(stderr, "Entering state %d\n", yystate);#endif  goto yybackup; yybackup:/* Do appropriate processing given the current state.  *//* Read a lookahead token if we need one and don't already have one.  *//* yyresume: */  /* First try to decide what to do without reference to lookahead token.  */  yyn = yypact[yystate];  if (yyn == YYFLAG)    goto yydefault;  /* Not known => get a lookahead token if don't already have one.  */  /* yychar is either YYEMPTY or YYEOF     or a valid token in external form.  */  if (yychar == YYEMPTY)    {#if YYDEBUG != 0      if (yydebug)	fprintf(stderr, "Reading a token: ");#endif      yychar = YYLEX;    }  /* Convert token to internal form (in yychar1) for indexing tables with */  if (yychar <= 0)		/* This means end of input. */    {      yychar1 = 0;      yychar = YYEOF;		/* Don't call YYLEX any more */#if YYDEBUG != 0      if (yydebug)	fprintf(stderr, "Now at end of input.\n");#endif    }  else    {      yychar1 = YYTRANSLATE(yychar);#if YYDEBUG != 0      if (yydebug)	{	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);	  /* Give the individual parser a way to print the precise meaning	     of a token, for further debugging info.  */#ifdef YYPRINT	  YYPRINT (stderr, yychar, yylval);#endif	  fprintf (stderr, ")\n");	}#endif    }  yyn += yychar1;  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)    goto yydefault;  yyn = yytable[yyn];  /* yyn is what to do for this token type in this state.     Negative => reduce, -yyn is rule number.     Positive => shift, yyn is new state.       New state is final state => don't bother to shift,       just return success.     0, or most negative number => error.  */  if (yyn < 0)    {      if (yyn == YYFLAG)	goto yyerrlab;      yyn = -yyn;      goto yyreduce;    }  else if (yyn == 0)    goto yyerrlab;  if (yyn == YYFINAL)    YYACCEPT;  /* Shift the lookahead token.  */#if YYDEBUG != 0  if (yydebug)    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);#endif  /* Discard the token being shifted unless it is eof.  */  if (yychar != YYEOF)    yychar = YYEMPTY;  *++yyvsp = yylval;#ifdef YYLSP_NEEDED  *++yylsp = yylloc;#endif  /* count tokens shifted since error; after three, turn off error status.  */  if (yyerrstatus) yyerrstatus--;  yystate = yyn;  goto yynewstate;/* Do the default action for the current state.  */yydefault:  yyn = yydefact[yystate];  if (yyn == 0)    goto yyerrlab;/* Do a reduction.  yyn is the number of a rule to reduce with.  */yyreduce:  yylen = yyr2[yyn];  if (yylen > 0)    yyval = yyvsp[1-yylen]; /* implement default value of the action */#if YYDEBUG != 0  if (yydebug)    {      int i;      fprintf (stderr, "Reducing via rule %d (line %d), ",	       yyn, yyrline[yyn]);      /* Print the symbols being reduced, and their result.  */      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)	fprintf (stderr, "%s ", yytname[yyrhs[i]]);      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);    }#endif  switch (yyn) {case 1:#line 459 "./parse.y"{;    break;}case 18:#line 503 "./parse.y"{ 		  yyval.node = build_java_array_type (yyvsp[-2].node, -1);		  CLASS_LOADED_P (yyval.node) = 1;		;    break;}case 19:#line 508 "./parse.y"{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;    break;}case 20:#line 510 "./parse.y"{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;    break;}case 21:#line 512 "./parse.y"{RULE ("']' expected"); RECOVER;;    break;}case 22:#line 514 "./parse.y"{RULE ("']' expected"); RECOVER;;    break;}case 26:#line 529 "./parse.y"{ yyval.node = make_qualified_name (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;    break;}case 28:#line 538 "./parse.y"{yyval.node = NULL;;    break;}case 36:#line 550 "./parse.y"{		  yyval.node = NULL;		;    break;}case 37:#line 554 "./parse.y"{		  yyval.node = NULL;		;    break;}case 40:#line 566 "./parse.y"{ ctxp->package = EXPR_WFL_NODE (yyvsp[-1].node); ;    break;}case 41:#line 568 "./parse.y"{yyerror ("Missing name"); RECOVER;;    break;}case 42:#line 570 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 45:#line 580 "./parse.y"{		  tree name = EXPR_WFL_NODE (yyvsp[-1].node), node, last_name;		  int   i = IDENTIFIER_LENGTH (name)-1;		  char *last = &IDENTIFIER_POINTER (name)[i];		  while (last != IDENTIFIER_POINTER (name))		    {		      if (last [0] == '.')			break;		      last--;		    }		  last_name = get_identifier (++last);		  if (IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P (last_name))		    {		      tree err = find_name_in_single_imports (last_name);		      if (err && err != name)			parse_error_context			  (yyvsp[-1].node, "Ambiguous class: `%s' and `%s'",			   IDENTIFIER_POINTER (name), 			   IDENTIFIER_POINTER (err));		      else			REGISTER_IMPORT (yyvsp[-1].node, last_name)		    }		  else		    REGISTER_IMPORT (yyvsp[-1].node, last_name);		;    break;}case 46:#line 606 "./parse.y"{yyerror ("Missing name"); RECOVER;;    break;}case 47:#line 608 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 48:#line 613 "./parse.y"{		  tree name = EXPR_WFL_NODE (yyvsp[-3].node);		  /* Don't import java.lang.* twice. */		  if (name != java_lang_id)		    {		      tree node = build_tree_list (yyvsp[-3].node, NULL_TREE);		      read_import_dir (yyvsp[-3].node);		      TREE_CHAIN (node) = ctxp->import_demand_list;		      ctxp->import_demand_list = node;		    }		;    break;}case 49:#line 625 "./parse.y"{yyerror ("'*' expected"); RECOVER;;    break;}case 50:#line 627 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 51:#line 632 "./parse.y"{		  maybe_generate_finit ();		  maybe_generate_clinit ();		  yyval.node = yyvsp[0].node;		;    break;}case 52:#line 638 "./parse.y"{		  maybe_generate_clinit ();		  yyval.node = yyvsp[0].node;		;    break;}case 53:#line 643 "./parse.y"{ yyval.node = NULL; ;    break;}case 54:#line 645 "./parse.y"{		  YYERROR_NOW;		  yyerror ("Class or interface declaration expected");		;    break;}case 55:#line 656 "./parse.y"{		  yyval.value = (1 << yyvsp[0].value);		;    break;}case 56:#line 660 "./parse.y"{		  int acc = (1 << yyvsp[0].value);		  if (yyval.value & acc)		    parse_error_context 		      (ctxp->modifier_ctx [yyvsp[0].value], "Modifier `%s' declared twice",		       java_accstring_lookup (acc));		  else		    {		      yyval.value |= acc;		    }		;    break;}case 57:#line 676 "./parse.y"{ create_class (yyvsp[-4].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 58:#line 678 "./parse.y"{ 		  yyval.node = yyvsp[0].node;		;    break;}case 59:#line 682 "./parse.y"{ create_class (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 60:#line 684 "./parse.y"{ 			  yyval.node = yyvsp[0].node;		;    break;}case 61:#line 688 "./parse.y"{yyerror ("Missing class name"); RECOVER;;    break;}case 62:#line 690 "./parse.y"{yyerror ("Missing class name"); RECOVER;;    break;}case 63:#line 692 "./parse.y"{		  if (!ctxp->class_err) yyerror ("'{' expected"); 		  DRECOVER(class1);		;    break;}case 64:#line 697 "./parse.y"{if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER;;    break;}case 65:#line 701 "./parse.y"{ yyval.node = NULL; ;    break;}case 66:#line 703 "./parse.y"{ yyval.node = yyvsp[0].node; ;    break;}case 67:#line 705 "./parse.y"{yyerror ("'{' expected"); ctxp->class_err=1;;    break;}case 68:#line 707 "./parse.y"{yyerror ("Missing super class name"); ctxp->class_err=1;;    break;}case 69:#line 711 "./parse.y"{ yyval.node = NULL_TREE; ;    break;}case 70:#line 713 "./parse.y"{ yyval.node = yyvsp[0].node; ;    break;}case 71:#line 715 "./parse.y"{		  ctxp->class_err=1;		  yyerror ("Missing interface name"); 		;    break;}case 72:#line 723 "./parse.y"{ 		  ctxp->interface_number = 1;		  yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE);		;    break;}case 73:#line 728 "./parse.y"{ 		  ctxp->interface_number++;		  yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE));		;    break;}case 74:#line 733 "./parse.y"{yyerror ("Missing interface name"); RECOVER;;    break;}case 75:#line 738 "./parse.y"{ 		  /* Store the location of the `}' when doing xrefs */		  if (flag_emit_xref)		    DECL_END_SOURCE_LINE (ctxp->current_parsed_class) = 		      EXPR_WFL_ADD_COL (yyvsp[0].operator.location, 1);		  yyval.node = ctxp->current_parsed_class;		;    break;}case 76:#line 746 "./parse.y"{ 		  /* Store the location of the `}' when doing xrefs */		  if (flag_emit_xref)		    DECL_END_SOURCE_LINE (ctxp->current_parsed_class) = 		      EXPR_WFL_ADD_COL (yyvsp[0].operator.location, 1);		  yyval.node = ctxp->current_parsed_class;		;    break;}case 82:#line 765 "./parse.y"{ yyval.node = parse_jdk1_1_error ("instance initializer"); ;    break;}case 84:#line 771 "./parse.y"{ yyval.node = yyvsp[-1].node; ;    break;}case 86:#line 774 "./parse.y"{ yyval.node = parse_jdk1_1_error ("inner classe declaration"); ;    break;}case 87:#line 776 "./parse.y"{ yyval.node = parse_jdk1_1_error ("inner interface declaration"); ;    break;}case 88:#line 782 "./parse.y"{ register_fields (0, yyvsp[-2].node, yyvsp[-1].node); ;    break;}case 89:#line 784 "./parse.y"{		  check_modifiers 		    ("Illegal modifier `%s' for field declaration",		     yyvsp[-3].value, FIELD_MODIFIERS);		  check_modifiers_consistency (yyvsp[-3].value);		  register_fields (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node);		;    break;}case 91:#line 797 "./parse.y"{ yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ;    break;}case 92:#line 799 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 93:#line 804 "./parse.y"{ yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ;    break;}case 94:#line 806 "./parse.y"{ 		  if (java_error_count)		    yyvsp[0].node = NULL_TREE;		  yyval.node = build_tree_list 		    (yyvsp[-2].node, build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node));		;    break;}case 95:#line 813 "./parse.y"{		  yyerror ("Missing variable initializer");		  yyval.node = build_tree_list (yyvsp[-2].node, NULL_TREE);		  RECOVER;		;    break;}case 96:#line 819 "./parse.y"{		  yyerror ("';' expected");		  yyval.node = build_tree_list (yyvsp[-3].node, NULL_TREE);		  RECOVER;		;    break;}case 98:#line 829 "./parse.y"{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;    break;}case 99:#line 831 "./parse.y"{yyerror ("Invalid declaration"); DRECOVER(vdi);;    break;}case 100:#line 833 "./parse.y"{yyerror ("']' expected"); DRECOVER(vdi);;    break;}case 101:#line 835 "./parse.y"{yyerror ("Unbalanced ']'"); DRECOVER(vdi);;    break;}case 104:#line 846 "./parse.y"{		  current_function_decl = yyvsp[0].node;		  source_start_java_method (current_function_decl);		;    break;}case 105:#line 851 "./parse.y"{ finish_method_declaration (yyvsp[0].node); ;    break;}case 106:#line 853 "./parse.y"{YYNOT_TWICE yyerror ("'{' expected"); RECOVER;;    break;}case 107:#line 858 "./parse.y"{ yyval.node = method_header (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 108:#line 860 "./parse.y"{ yyval.node = method_header (0, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 109:#line 862 "./parse.y"{ yyval.node = method_header (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 110:#line 864 "./parse.y"{ yyval.node = method_header (yyvsp[-3].value, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 111:#line 866 "./parse.y"{RECOVER;;    break;}case 112:#line 868 "./parse.y"{RECOVER;;    break;}case 113:#line 870 "./parse.y"{yyerror ("Identifier expected"); RECOVER;;    break;}case 114:#line 872 "./parse.y"{yyerror ("Identifier expected"); RECOVER;;    break;}case 115:#line 874 "./parse.y"{		  yyerror ("Invalid method declaration, return type required");		  RECOVER;		;    break;}case 116:#line 882 "./parse.y"{ yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ;    break;}case 117:#line 884 "./parse.y"{ yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;    break;}case 118:#line 886 "./parse.y"{		  EXPR_WFL_LINECOL (wfl_operator) = yyvsp[-1].operator.location;		  TREE_PURPOSE (yyvsp[-2].node) = 		    build_unresolved_array_type (TREE_PURPOSE (yyvsp[-2].node));		  parse_warning_context 		    (wfl_operator, 		     "Discouraged form of returned type specification");		;    break;}case 119:#line 895 "./parse.y"{yyerror ("')' expected"); DRECOVER(method_declarator);;    break;}case 120:#line 897 "./parse.y"{yyerror ("']' expected"); RECOVER;;    break;}case 121:#line 902 "./parse.y"{		  ctxp->formal_parameter_number = 1;		;    break;}case 122:#line 906 "./parse.y"{		  ctxp->formal_parameter_number += 1;		  yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node);		;    break;}case 123:#line 911 "./parse.y"{yyerror ("Missing formal parameter term"); RECOVER;;    break;}case 124:#line 916 "./parse.y"{		  yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node);		;    break;}case 125:#line 920 "./parse.y"{ yyval.node = parse_jdk1_1_error ("final parameters"); ;    break;}case 126:#line 922 "./parse.y"{yyerror ("Missing identifier"); RECOVER;;    break;}case 127:#line 924 "./parse.y"{		  SOURCE_FRONTEND_DEBUG (("Modifiers: %d", yyvsp[-2].value));		  yyerror ("Missing identifier"); RECOVER;		;    break;}case 128:#line 931 "./parse.y"{ yyval.node = NULL_TREE; ;    break;}case 129:#line 933 "./parse.y"{ yyval.node = yyvsp[0].node; ;    break;}case 130:#line 935 "./parse.y"{yyerror ("Missing class type term"); RECOVER;;    break;}case 131:#line 940 "./parse.y"{ yyval.node = build_tree_list (yyvsp[0].node, yyvsp[0].node); ;    break;}case 132:#line 942 "./parse.y"{ yyval.node = tree_cons (yyvsp[0].node, yyvsp[0].node, yyvsp[-2].node); ;    break;}case 133:#line 944 "./parse.y"{yyerror ("Missing class type term"); RECOVER;;    break;}case 136:#line 951 "./parse.y"{ yyval.node = NULL_TREE; ;    break;}case 137:#line 957 "./parse.y"{		  TREE_CHAIN (yyvsp[0].node) = ctxp->static_initialized;		  ctxp->static_initialized = yyvsp[0].node;		;    break;}case 138:#line 962 "./parse.y"{		  TREE_CHAIN (yyvsp[-1].node) = ctxp->static_initialized;		  ctxp->static_initialized = yyvsp[-1].node;		;    break;}case 139:#line 970 "./parse.y"{		  SOURCE_FRONTEND_DEBUG (("Modifiers: %d", yyvsp[0].value));		;    break;}case 140:#line 978 "./parse.y"{		  current_function_decl = yyvsp[0].node;		  source_start_java_method (current_function_decl);		;    break;}case 141:#line 983 "./parse.y"{ finish_method_declaration (yyvsp[0].node); ;    break;}case 142:#line 988 "./parse.y"{ yyval.node = method_header (0, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 143:#line 990 "./parse.y"{ yyval.node = method_header (yyvsp[-2].value, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 144:#line 995 "./parse.y"{ yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ;    break;}case 145:#line 997 "./parse.y"{ yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;    break;}case 146:#line 1005 "./parse.y"{ 		  BLOCK_EXPR_BODY (yyvsp[0].node) = empty_stmt_node;		  yyval.node = yyvsp[0].node;		;    break;}case 147:#line 1010 "./parse.y"{ yyval.node = yyvsp[0].node; ;    break;}case 148:#line 1012 "./parse.y"{ yyval.node = yyvsp[0].node; ;    break;}case 149:#line 1014 "./parse.y"{ yyval.node = yyvsp[0].node; ;    break;}case 150:#line 1020 "./parse.y"{ 		  yyval.node = build_method_invocation (yyvsp[-3].node, NULL_TREE); 		  yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-3].node), yyval.node);		  yyval.node = java_method_add_stmt (current_function_decl, yyval.node);		;    break;}case 151:#line 1026 "./parse.y"{ 		  yyval.node = build_method_invocation (yyvsp[-4].node, yyvsp[-2].node); 		  yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-4].node), yyval.node);		  yyval.node = java_method_add_stmt (current_function_decl, yyval.node);		;    break;}case 152:#line 1034 "./parse.y"{yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;    break;}case 153:#line 1036 "./parse.y"{yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;    break;}case 154:#line 1041 "./parse.y"{		  tree wfl = build_wfl_node (this_identifier_node);		  EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location;		  yyval.node = wfl;		;    break;}case 155:#line 1047 "./parse.y"{		  tree wfl = build_wfl_node (super_identifier_node);		  EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location;		  yyval.node = wfl;		;    break;}case 156:#line 1058 "./parse.y"{ create_interface (0, yyvsp[0].node, NULL_TREE); ;    break;}case 157:#line 1060 "./parse.y"{		  yyval.node = yyvsp[0].node;		;    break;}case 158:#line 1064 "./parse.y"{ create_interface (yyvsp[-2].value, yyvsp[0].node, NULL_TREE); ;    break;}case 159:#line 1066 "./parse.y"{		  yyval.node = yyvsp[0].node;		;    break;}case 160:#line 1070 "./parse.y"{ create_interface (0, yyvsp[-1].node, yyvsp[0].node);	;    break;}case 161:#line 1072 "./parse.y"{		  yyval.node = yyvsp[0].node;		;    break;}case 162:#line 1076 "./parse.y"{ create_interface (yyvsp[-3].value, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 163:#line 1078 "./parse.y"{		  yyval.node = yyvsp[0].node;		;    break;}case 164:#line 1082 "./parse.y"{yyerror ("'{' expected"); RECOVER;;    break;}case 165:#line 1084 "./parse.y"{yyerror ("'{' expected"); RECOVER;;    break;}case 166:#line 1089 "./parse.y"{ 		  ctxp->interface_number = 1;		  yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE);		;    break;}case 167:#line 1094 "./parse.y"{ 		  ctxp->interface_number++;		  yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE));		;    break;}case 168:#line 1099 "./parse.y"{yyerror ("Invalid interface type"); RECOVER;;    break;}case 169:#line 1101 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 170:#line 1106 "./parse.y"{ yyval.node = NULL_TREE; ;    break;}case 171:#line 1108 "./parse.y"{ yyval.node = NULL_TREE; ;    break;}case 176:#line 1120 "./parse.y"{ yyval.node = parse_jdk1_1_error ("inner class declaration"); ;    break;}case 177:#line 1122 "./parse.y"{ yyval.node = parse_jdk1_1_error ("inner interface declaration"); ;    break;}case 179:#line 1131 "./parse.y"{ 		  check_abstract_method_header (yyvsp[-1].node);		  current_function_decl = NULL_TREE; /* FIXME ? */		;    break;}case 180:#line 1136 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 181:#line 1142 "./parse.y"{ yyval.node = build_new_array_init (yyvsp[-1].operator.location, NULL_TREE); ;    break;}case 182:#line 1144 "./parse.y"{ yyval.node = build_new_array_init (yyvsp[-2].operator.location, yyvsp[-1].node); ;    break;}case 183:#line 1146 "./parse.y"{ yyval.node = build_new_array_init (yyvsp[-3].operator.location, yyvsp[-2].node); ;    break;}case 184:#line 1151 "./parse.y"{ 		  yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), 				  yyvsp[0].node, NULL_TREE);		;    break;}case 185:#line 1156 "./parse.y"{		  yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, yyvsp[-2].node);		;    break;}case 186:#line 1160 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 187:#line 1166 "./parse.y"{ 		  /* Store the location of the `}' when doing xrefs */		  if (current_function_decl && flag_emit_xref)		    DECL_END_SOURCE_LINE (current_function_decl) = 		      EXPR_WFL_ADD_COL (yyvsp[0].operator.location, 1);		  yyval.node = empty_stmt_node; 		;    break;}case 188:#line 1174 "./parse.y"{ yyval.node = yyvsp[0].node; ;    break;}case 189:#line 1179 "./parse.y"{ enter_block (); ;    break;}case 190:#line 1184 "./parse.y"{ 		  maybe_absorb_scoping_blocks ();		  /* Store the location of the `}' when doing xrefs */		  if (current_function_decl && flag_emit_xref)		    DECL_END_SOURCE_LINE (current_function_decl) = 		      EXPR_WFL_ADD_COL (yyvsp[0].operator.location, 1);		  		  yyval.node = exit_block ();		;    break;}case 194:#line 1202 "./parse.y"{ java_method_add_stmt (current_function_decl, yyvsp[0].node); ;    break;}case 195:#line 1204 "./parse.y"{ parse_jdk1_1_error ("inner class declaration"); ;    break;}case 197:#line 1213 "./parse.y"{ declare_local_variables (0, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 198:#line 1215 "./parse.y"{ declare_local_variables (yyvsp[-2].value, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 204:#line 1225 "./parse.y"{ yyval.node = exit_block (); ;    break;}case 221:#line 1252 "./parse.y"{ yyval.node = empty_stmt_node; ;    break;}case 222:#line 1257 "./parse.y"{		  yyval.node = build_labeled_block (EXPR_WFL_LINECOL (yyvsp[-1].node), 					    EXPR_WFL_NODE (yyvsp[-1].node));		  pushlevel (2);		  push_labeled_block (yyval.node);		  PUSH_LABELED_BLOCK (yyval.node);		;    break;}case 223:#line 1268 "./parse.y"{ yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ;    break;}case 224:#line 1270 "./parse.y"{yyerror ("':' expected"); RECOVER;;    break;}case 225:#line 1275 "./parse.y"{ yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ;    break;}case 226:#line 1282 "./parse.y"{		  /* We have a statement. Generate a WFL around it so		     we can debug it */		  yyval.node = build_expr_wfl (yyvsp[-1].node, input_filename, lineno, 0);		  /* We know we have a statement, so set the debug                     info to be eventually generate here. */		  yyval.node = JAVA_MAYBE_GENERATE_DEBUG_INFO (yyval.node);		;    break;}case 227:#line 1291 "./parse.y"{		  if (ctxp->prevent_ese != lineno)		    yyerror ("Invalid expression statement");		  DRECOVER (expr_stmt);		;    break;}case 228:#line 1297 "./parse.y"{		  if (ctxp->prevent_ese != lineno)		    yyerror ("Invalid expression statement");		  DRECOVER (expr_stmt);		;    break;}case 229:#line 1303 "./parse.y"{		  if (ctxp->prevent_ese != lineno)		    yyerror ("Invalid expression statement");		  DRECOVER (expr_stmt);		;    break;}case 230:#line 1309 "./parse.y"{yyerror ("')' expected"); RECOVER;;    break;}case 231:#line 1311 "./parse.y"{		  yyerror ("Constructor invocation must be first "			   "thing in a constructor"); 		  RECOVER;		;    break;}case 232:#line 1317 "./parse.y"{yyerror ("')' expected"); RECOVER;;    break;}case 233:#line 1319 "./parse.y"{		  yyerror ("Constructor invocation must be first "			   "thing in a constructor"); 		  RECOVER;		;    break;}case 234:#line 1325 "./parse.y"{yyerror ("'(' expected"); RECOVER;;    break;}case 235:#line 1327 "./parse.y"{yyerror ("')' expected"); RECOVER;;    break;}case 236:#line 1329 "./parse.y"{yyerror ("')' expected"); RECOVER;;    break;}case 237:#line 1331 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 238:#line 1333 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 246:#line 1348 "./parse.y"{ 		  yyval.node = build_if_else_statement (yyvsp[-3].operator.location, yyvsp[-2].node, 						yyvsp[0].node, NULL_TREE);		;    break;}case 247:#line 1353 "./parse.y"{yyerror ("'(' expected"); RECOVER;;    break;}case 248:#line 1355 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 249:#line 1357 "./parse.y"{yyerror ("')' expected"); RECOVER;;    break;}case 250:#line 1362 "./parse.y"{ yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;    break;}case 251:#line 1367 "./parse.y"{ yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;    break;}case 252:#line 1372 "./parse.y"{		  enter_block ();		;    break;}case 253:#line 1376 "./parse.y"{ 		  /* Make into "proper list" of COMPOUND_EXPRs.		     I.e. make the last statment also have its own		     COMPOUND_EXPR. */		  maybe_absorb_scoping_blocks ();		  TREE_OPERAND (yyvsp[-2].node, 1) = exit_block ();		  yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-2].node), yyvsp[-2].node);		;    break;}case 254:#line 1388 "./parse.y"{ 		  yyval.node = build (SWITCH_EXPR, NULL_TREE, yyvsp[-1].node, NULL_TREE);		  EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location;		;    break;}case 255:#line 1393 "./parse.y"{yyerror ("'(' expected"); RECOVER;;    break;}case 256:#line 1395 "./parse.y"{yyerror ("Missing term or ')'"); DRECOVER(switch_statement);;    break;}case 257:#line 1397 "./parse.y"{yyerror ("'{' expected"); RECOVER;;    break;}case 258:#line 1405 "./parse.y"{ yyval.node = NULL_TREE; ;    break;}case 259:#line 1407 "./parse.y"{ yyval.node = NULL_TREE; ;    break;}case 260:#line 1409 "./parse.y"{ yyval.node = NULL_TREE; ;    break;}case 261:#line 1411 "./parse.y"{ yyval.node = NULL_TREE; ;    break;}case 267:#line 1430 "./parse.y"{ 		  tree lab = build1 (CASE_EXPR, NULL_TREE, yyvsp[-1].node);		  EXPR_WFL_LINECOL (lab) = yyvsp[-2].operator.location;		  java_method_add_stmt (current_function_decl, lab);		;    break;}case 268:#line 1436 "./parse.y"{ 		  tree lab = build1 (DEFAULT_EXPR, NULL_TREE, NULL_TREE);		  EXPR_WFL_LINECOL (lab) = yyvsp[-1].operator.location;		  java_method_add_stmt (current_function_decl, lab);		;    break;}case 269:#line 1442 "./parse.y"{yyerror ("Missing or invalid constant expression"); RECOVER;;    break;}case 270:#line 1444 "./parse.y"{yyerror ("':' expected"); RECOVER;;    break;}case 271:#line 1446 "./parse.y"{yyerror ("':' expected"); RECOVER;;    break;}case 272:#line 1451 "./parse.y"{ 		  tree body = build_loop_body (yyvsp[-2].operator.location, yyvsp[-1].node, 0);		  yyval.node = build_new_loop (body);		;    break;}case 273:#line 1459 "./parse.y"{ yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;    break;}case 274:#line 1461 "./parse.y"{YYERROR_NOW; yyerror ("'(' expected"); RECOVER;;    break;}case 275:#line 1463 "./parse.y"{yyerror ("Missing term and ')' expected"); RECOVER;;    break;}case 276:#line 1465 "./parse.y"{yyerror ("')' expected"); RECOVER;;    break;}case 277:#line 1470 "./parse.y"{ yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;    break;}case 278:#line 1475 "./parse.y"{ 		  tree body = build_loop_body (0, NULL_TREE, 1);		  yyval.node = build_new_loop (body);		;    break;}case 279:#line 1484 "./parse.y"{ yyval.node = finish_loop_body (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-5].node, 1); ;    break;}case 280:#line 1489 "./parse.y"{ yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;    break;}case 281:#line 1491 "./parse.y"{ 		  yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);		  /* We have not condition, so we get rid of the EXIT_EXPR */		  LOOP_EXPR_BODY_CONDITION_EXPR (LOOP_EXPR_BODY (yyval.node), 0) = 		    empty_stmt_node;		;    break;}case 282:#line 1498 "./parse.y"{yyerror ("Invalid control expression"); RECOVER;;    break;}case 283:#line 1500 "./parse.y"{yyerror ("Invalid update expression"); RECOVER;;    break;}case 284:#line 1502 "./parse.y"{yyerror ("Invalid update expression"); RECOVER;;    break;}case 285:#line 1507 "./parse.y"{ yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);;    break;}case 286:#line 1509 "./parse.y"{ 		  yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);		  /* We have not condition, so we get rid of the EXIT_EXPR */		  LOOP_EXPR_BODY_CONDITION_EXPR (LOOP_EXPR_BODY (yyval.node), 0) = 		    empty_stmt_node;		;    break;}case 287:#line 1519 "./parse.y"{ 		  /* This scope defined for local variable that may be                     defined within the scope of the for loop */		  enter_block (); 		;    break;}case 288:#line 1525 "./parse.y"{yyerror ("'(' expected"); DRECOVER(for_1);;    break;}case 289:#line 1527 "./parse.y"{yyerror ("Invalid init statement"); RECOVER;;    break;}case 290:#line 1532 "./parse.y"{ 		  /* We now declare the loop body. The loop is                     declared as a for loop. */		  tree body = build_loop_body (0, NULL_TREE, 0);		  yyval.node =  build_new_loop (body);		  IS_FOR_LOOP_P (yyval.node) = 1;		  /* The loop is added to the current block the for                     statement is defined within */		  java_method_add_stmt (current_function_decl, yyval.node);		;    break;}case 291:#line 1544 "./parse.y"{ yyval.node = empty_stmt_node; ;    break;}case 292:#line 1546 "./parse.y"{ 		  /* Init statement recorded within the previously                     defined block scope */		  yyval.node = java_method_add_stmt (current_function_decl, yyvsp[0].node);		;    break;}case 293:#line 1552 "./parse.y"{ 		  /* Local variable are recorded within the previously		     defined block scope */		  yyval.node = NULL_TREE;		;    break;}case 294:#line 1558 "./parse.y"{yyerror ("';' expected"); DRECOVER(for_init_1);;    break;}case 295:#line 1562 "./parse.y"{yyval.node = empty_stmt_node;;    break;}case 296:#line 1564 "./parse.y"{ yyval.node = build_debugable_stmt (BUILD_LOCATION (), yyvsp[0].node); ;    break;}case 297:#line 1569 "./parse.y"{ yyval.node = add_stmt_to_compound (NULL_TREE, NULL_TREE, yyvsp[0].node); ;    break;}case 298:#line 1571 "./parse.y"{ yyval.node = add_stmt_to_compound (yyvsp[-2].node, NULL_TREE, yyvsp[0].node); ;    break;}case 299:#line 1573 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 300:#line 1578 "./parse.y"{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 1, NULL_TREE); ;    break;}case 301:#line 1580 "./parse.y"{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 1, yyvsp[-1].node); ;    break;}case 302:#line 1582 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 303:#line 1584 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 304:#line 1589 "./parse.y"{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 0, NULL_TREE); ;    break;}case 305:#line 1591 "./parse.y"{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 0, yyvsp[-1].node); ;    break;}case 306:#line 1593 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 307:#line 1595 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 308:#line 1600 "./parse.y"{ yyval.node = build_return (yyvsp[-1].operator.location, NULL_TREE); ;    break;}case 309:#line 1602 "./parse.y"{ yyval.node = build_return (yyvsp[-2].operator.location, yyvsp[-1].node); ;    break;}case 310:#line 1604 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 311:#line 1606 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 312:#line 1611 "./parse.y"{ 		  yyval.node = build1 (THROW_EXPR, NULL_TREE, yyvsp[-1].node);		  EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location;		;    break;}case 313:#line 1616 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 314:#line 1618 "./parse.y"{yyerror ("';' expected"); RECOVER;;    break;}case 315:#line 1623 "./parse.y"{ 		  yyval.node = build (SYNCHRONIZED_EXPR, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);		  EXPR_WFL_LINECOL (yyval.node) = 		    EXPR_WFL_LINECOL (MODIFIER_WFL (SYNCHRONIZED_TK));		;    break;}case 316:#line 1629 "./parse.y"{yyerror ("'{' expected"); RECOVER;;    break;}case 317:#line 1631 "./parse.y"{yyerror ("'(' expected"); RECOVER;;    break;}case 318:#line 1633 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 319:#line 1635 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 320:#line 1640 "./parse.y"{		  if ((1 << yyvsp[0].value) != ACC_SYNCHRONIZED)		    fatal ("synchronized was '%d' - yyparse", (1 << yyvsp[0].value));		;    break;}case 321:#line 1648 "./parse.y"{ yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 322:#line 1650 "./parse.y"{ yyval.node = build_try_finally_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ;    break;}case 323:#line 1652 "./parse.y"{ yyval.node = build_try_finally_statement 		    (yyvsp[-3].operator.location, build_try_statement (yyvsp[-3].operator.location,						       yyvsp[-2].node, yyvsp[-1].node), yyvsp[0].node);		;    break;}case 324:#line 1657 "./parse.y"{yyerror ("'{' expected"); DRECOVER (try_statement);;    break;}case 326:#line 1663 "./parse.y"{ 		  TREE_CHAIN (yyvsp[0].node) = yyvsp[-1].node;		  yyval.node = yyvsp[0].node;		;    break;}case 327:#line 1671 "./parse.y"{ 		  java_method_add_stmt (current_function_decl, yyvsp[0].node);		  exit_block ();		  yyval.node = yyvsp[-1].node;		;    break;}case 328:#line 1679 "./parse.y"{ 		  /* We add a block to define a scope for		     formal_parameter (CCBP). The formal parameter is		     declared initialized by the appropriate function		     call */		  tree ccpb = enter_block ();		  tree init = build_assignment (ASSIGN_TK, yyvsp[-2].operator.location, 						TREE_PURPOSE (yyvsp[-1].node), 						soft_exceptioninfo_call_node);		  declare_local_variables (0, TREE_VALUE (yyvsp[-1].node),					   build_tree_list (TREE_PURPOSE (yyvsp[-1].node),							    init));		  yyval.node = build1 (CATCH_EXPR, NULL_TREE, ccpb);		  EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location;		;    break;}case 329:#line 1695 "./parse.y"{yyerror ("'(' expected"); RECOVER;;    break;}case 330:#line 1697 "./parse.y"{yyerror ("Missing term or ')' expected"); DRECOVER (2);;    break;}case 331:#line 1699 "./parse.y"{yyerror ("')' expected"); DRECOVER (1);;    break;}case 332:#line 1704 "./parse.y"{ yyval.node = yyvsp[0].node; ;    break;}case 333:#line 1706 "./parse.y"{yyerror ("'{' expected"); RECOVER; ;    break;}case 337:#line 1718 "./parse.y"{ yyval.node = build_this (yyvsp[0].operator.location); ;    break;}case 338:#line 1720 "./parse.y"{yyval.node = yyvsp[-1].node;;    break;}case 343:#line 1729 "./parse.y"{ yyval.node = parse_jdk1_1_error ("named class literals"); ;    break;}case 344:#line 1731 "./parse.y"{ yyval.node = build_class_ref (yyvsp[-2].node); ;    break;}case 345:#line 1733 "./parse.y"{ yyval.node = build_class_ref (void_type_node); ;    break;}case 346:#line 1738 "./parse.y"{ yyval.node = parse_jdk1_1_error ("class literals"); ;    break;}case 347:#line 1740 "./parse.y"{yyerror ("')' expected"); RECOVER;;    break;}case 348:#line 1742 "./parse.y"{yyerror ("'class' or 'this' expected" ); RECOVER;;    break;}case 349:#line 1744 "./parse.y"{yyerror ("'class' expected" ); RECOVER;;    break;}case 350:#line 1746 "./parse.y"{yyerror ("'class' expected" ); RECOVER;;    break;}case 351:#line 1751 "./parse.y"{ yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ;    break;}case 352:#line 1753 "./parse.y"{ yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ;    break;}case 353:#line 1758 "./parse.y"{ yyval.node = parse_jdk1_1_error ("inner class instance creation"); ;    break;}case 354:#line 1760 "./parse.y"{ yyval.node = parse_jdk1_1_error ("inner class instance creation"); ;    break;}case 359:#line 1769 "./parse.y"{yyerror ("'(' expected"); DRECOVER(new_1);;    break;}case 360:#line 1771 "./parse.y"{yyerror ("'(' expected"); RECOVER;;    break;}case 361:#line 1773 "./parse.y"{yyerror ("')' or term expected"); RECOVER;;    break;}case 362:#line 1775 "./parse.y"{yyerror ("')' expected"); RECOVER;;    break;}case 363:#line 1777 "./parse.y"{YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;;    break;}case 364:#line 1779 "./parse.y"{yyerror ("'(' expected"); RECOVER;;    break;}case 367:#line 1789 "./parse.y"{ 		  yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, NULL_TREE);		  ctxp->formal_parameter_number = 1; 		;    break;}case 368:#line 1794 "./parse.y"{		  ctxp->formal_parameter_number += 1;		  yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyvsp[-2].node);		;    break;}case 369:#line 1799 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 370:#line 1804 "./parse.y"{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;    break;}case 371:#line 1806 "./parse.y"{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;    break;}case 372:#line 1808 "./parse.y"{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;    break;}case 373:#line 1810 "./parse.y"{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;    break;}case 374:#line 1814 "./parse.y"{ yyval.node = parse_jdk1_1_error ("anonymous array"); ;    break;}case 375:#line 1816 "./parse.y"{ yyval.node = parse_jdk1_1_error ("anonymous array"); ;    break;}case 376:#line 1818 "./parse.y"{yyerror ("'[' expected"); DRECOVER ("]");;    break;}case 377:#line 1820 "./parse.y"{yyerror ("']' expected"); RECOVER;;    break;}case 378:#line 1825 "./parse.y"{ yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ;    break;}case 379:#line 1827 "./parse.y"{ yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ;    break;}case 380:#line 1832 "./parse.y"{ 		  EXPR_WFL_LINECOL (yyvsp[-1].node) = yyvsp[-2].operator.location;		  yyval.node = yyvsp[-1].node;		;    break;}case 381:#line 1837 "./parse.y"{yyerror ("']' expected"); RECOVER;;    break;}case 382:#line 1839 "./parse.y"{		  yyerror ("Missing term");		  yyerror ("']' expected");		  RECOVER;		;    break;}case 383:#line 1848 "./parse.y"{ 		  int allocate = 0;		  /* If not initialized, allocate memory for the osb                     numbers stack */		  if (!ctxp->osb_limit)		    {		      allocate = ctxp->osb_limit = 32;		      ctxp->osb_depth = -1;		    }		  /* If capacity overflown, reallocate a bigger chuck */		  else if (ctxp->osb_depth+1 == ctxp->osb_limit)		    allocate = ctxp->osb_limit << 1;		  		  if (allocate)		    {		      allocate *= sizeof (int);		      if (ctxp->osb_number)			ctxp->osb_number = (int *)xrealloc (ctxp->osb_number,							    allocate);		      else			ctxp->osb_number = (int *)xmalloc (allocate);		    }		  ctxp->osb_depth++;		  CURRENT_OSB (ctxp) = 1;		;    break;}case 384:#line 1874 "./parse.y"{ CURRENT_OSB (ctxp)++; ;    break;}case 385:#line 1876 "./parse.y"{ yyerror ("']' expected"); RECOVER;;    break;}case 386:#line 1881 "./parse.y"{ yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;    break;}case 387:#line 1885 "./parse.y"{		  tree super_wfl = 		    build_wfl_node (super_identifier_node);		  EXPR_WFL_LINECOL (super_wfl) = yyvsp[-2].operator.location;		  yyval.node = make_qualified_name (super_wfl, yyvsp[0].node, yyvsp[-1].operator.location);		;    break;}case 388:#line 1892 "./parse.y"{yyerror ("Field expected"); DRECOVER (super_field_acces);;    break;}case 389:#line 1897 "./parse.y"{ yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ;    break;}case 390:#line 1899 "./parse.y"{ yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ;    break;}case 391:#line 1901 "./parse.y"{ 		  if (TREE_CODE (yyvsp[-4].node) == THIS_EXPR)		    yyval.node = build_this_super_qualified_invocation 		      (1, yyvsp[-2].node, NULL_TREE, 0, yyvsp[-3].operator.location);		  else		    {		      tree invok = build_method_invocation (yyvsp[-2].node, NULL_TREE);		      yyval.node = make_qualified_primary (yyvsp[-4].node, invok, yyvsp[-3].operator.location);		    }		;    break;}case 392:#line 1912 "./parse.y"{ 		  if (TREE_CODE (yyvsp[-5].node) == THIS_EXPR)		    yyval.node = build_this_super_qualified_invocation 		      (1, yyvsp[-3].node, yyvsp[-1].node, 0, yyvsp[-4].operator.location);		  else		    {		      tree invok = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node);		      yyval.node = make_qualified_primary (yyvsp[-5].node, invok, yyvsp[-4].operator.location);		    }		;    break;}case 393:#line 1923 "./parse.y"{ 		  yyval.node = build_this_super_qualified_invocation 		    (0, yyvsp[-2].node, NULL_TREE, yyvsp[-4].operator.location, yyvsp[-3].operator.location);		;    break;}case 394:#line 1928 "./parse.y"{		  yyval.node = build_this_super_qualified_invocation 		    (0, yyvsp[-3].node, yyvsp[-1].node, yyvsp[-5].operator.location, yyvsp[-4].operator.location);		;    break;}case 395:#line 1937 "./parse.y"{ yyerror ("'(' expected"); DRECOVER (method_invocation); ;    break;}case 396:#line 1939 "./parse.y"{ yyerror ("'(' expected"); DRECOVER (method_invocation); ;    break;}case 397:#line 1944 "./parse.y"{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;    break;}case 398:#line 1946 "./parse.y"{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;    break;}case 399:#line 1948 "./parse.y"{		  yyerror ("Missing term and ']' expected");		  DRECOVER(array_access);		;    break;}case 400:#line 1953 "./parse.y"{		  yyerror ("']' expected");		  DRECOVER(array_access);		;    break;}case 401:#line 1958 "./parse.y"{		  yyerror ("Missing term and ']' expected");		  DRECOVER(array_access);		;    break;}case 402:#line 1963 "./parse.y"{		  yyerror ("']' expected");		  DRECOVER(array_access);		;    break;}case 407:#line 1978 "./parse.y"{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;    break;}case 408:#line 1983 "./parse.y"{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;    break;}case 411:#line 1990 "./parse.y"{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;    break;}case 412:#line 1992 "./parse.y"{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;    break;}case 414:#line 1995 "./parse.y"{yyerror ("Missing term"); RECOVER;    break;}case 415:#line 1997 "./parse.y"{yyerror ("Missing term"); RECOVER;    break;}case 416:#line 2002 "./parse.y"{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;    break;}case 417:#line 2004 "./parse.y"{yyerror ("Missing term"); RECOVER;    break;}case 418:#line 2009 "./parse.y"{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;    break;}case 419:#line 2011 "./parse.y"{yyerror ("Missing term"); RECOVER;    break;}case 421:#line 2017 "./parse.y"{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;    break;}case 422:#line 2019 "./parse.y"{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;    break;}case 424:#line 2022 "./parse.y"{yyerror ("Missing term"); RECOVER;    break;}case 425:#line 2024 "./parse.y"{yyerror ("Missing term"); RECOVER;    break;}case 426:#line 2029 "./parse.y"{ 		  tree type = yyvsp[-3].node;		  while (CURRENT_OSB (ctxp)--)		    type = build_java_array_type (type, -1);		  ctxp->osb_depth--;		  yyval.node = build_cast (yyvsp[-4].operator.location, type, yyvsp[0].node); 		;    break;}case 427:#line 2037 "./parse.y"{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;    break;}case 428:#line 2039 "./parse.y"{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;    break;}case 429:#line 2041 "./parse.y"{ 		  char *ptr;		  while (CURRENT_OSB (ctxp)--)		    obstack_1grow (&temporary_obstack, '[');		  ctxp->osb_depth--;		  obstack_grow0 (&temporary_obstack, 				 IDENTIFIER_POINTER (EXPR_WFL_NODE (yyvsp[-3].node)),				 IDENTIFIER_LENGTH (EXPR_WFL_NODE (yyvsp[-3].node)));		  ptr = obstack_finish (&temporary_obstack);		  EXPR_WFL_NODE (yyvsp[-3].node) = get_identifier (ptr);		  yyval.node = build_cast (yyvsp[-4].operator.location, yyvsp[-3].node, yyvsp[0].node);		;    break;}case 430:#line 2054 "./parse.y"{yyerror ("']' expected, invalid type expression");;    break;}case 431:#line 2056 "./parse.y"{	          if (ctxp->prevent_ese != lineno)		    yyerror ("Invalid type expression"); RECOVER;		  RECOVER;		;    break;}case 432:#line 2062 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 433:#line 2064 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 434:#line 2066 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 436:#line 2072 "./parse.y"{ 		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), 				    yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node);		;    break;}case 437:#line 2077 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 438:#line 2082 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 439:#line 2087 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 440:#line 2089 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 441:#line 2091 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 443:#line 2097 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 444:#line 2102 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 445:#line 2107 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 446:#line 2109 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 448:#line 2115 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 449:#line 2120 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 450:#line 2125 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 451:#line 2130 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 452:#line 2132 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 453:#line 2134 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 455:#line 2140 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 456:#line 2145 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 457:#line 2150 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 458:#line 2155 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 459:#line 2160 "./parse.y"{ yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;    break;}case 460:#line 2162 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 461:#line 2164 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 462:#line 2166 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 463:#line 2168 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 464:#line 2170 "./parse.y"{yyerror ("Invalid reference type"); RECOVER;;    break;}case 466:#line 2176 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 467:#line 2181 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 468:#line 2186 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 469:#line 2188 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 471:#line 2194 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 472:#line 2199 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 474:#line 2205 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 475:#line 2210 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 477:#line 2216 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 478:#line 2221 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 480:#line 2227 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 481:#line 2232 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 483:#line 2238 "./parse.y"{		  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,				    yyvsp[-2].node, yyvsp[0].node); 		;    break;}case 484:#line 2243 "./parse.y"{yyerror ("Missing term"); RECOVER;;    break;}case 486:#line 2249 "./parse.y"{		  yyval.node = build (CONDITIONAL_EXPR, NULL_TREE, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);		  EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location;		;    break;}case 487:#line 2254 "./parse.y"{		  YYERROR_NOW;		  yyerror ("Missing term");		  DRECOVER (1);		;    break;}case 488:#line 2260 "./parse.y"{yyerror ("Missing term"); DRECOVER (2);;    break;}case 489:#line 2262 "./parse.y"{yyerror ("Missing term"); DRECOVER (3);;    break;}case 492:#line 2272 "./parse.y"{ yyval.node = build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;    break;}case 493:#line 2274 "./parse.y"{		  if (ctxp->prevent_ese != lineno)		    yyerror ("Missing term");		  DRECOVER (assign);		;    break;}}   /* the action file gets copied in in place of this dollarsign */#line 498 "/usr/lib/bison.simple"  yyvsp -= yylen;  yyssp -= yylen;#ifdef YYLSP_NEEDED  yylsp -= yylen;#endif#if YYDEBUG != 0  if (yydebug)    {      short *ssp1 = yyss - 1;      fprintf (stderr, "state stack now");      while (ssp1 != yyssp)	fprintf (stderr, " %d", *++ssp1);      fprintf (stderr, "\n");    }#endif  *++yyvsp = yyval;#ifdef YYLSP_NEEDED  yylsp++;  if (yylen == 0)    {      yylsp->first_line = yylloc.first_line;      yylsp->first_column = yylloc.first_column;      yylsp->last_line = (yylsp-1)->last_line;      yylsp->last_column = (yylsp-1)->last_column;      yylsp->text = 0;    }  else    {      yylsp->last_line = (yylsp+yylen-1)->last_line;      yylsp->last_column = (yylsp+yylen-1)->last_column;    }#endif  /* Now "shift" the result of the reduction.     Determine what state that goes to,     based on the state we popped back to     and the rule number reduced by.  */  yyn = yyr1[yyn];  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)    yystate = yytable[yystate];  else    yystate = yydefgoto[yyn - YYNTBASE];  goto yynewstate;yyerrlab:   /* here on detecting error */  if (! yyerrstatus)    /* If not already recovering from an error, report this error.  */    {      ++yynerrs;#ifdef YYERROR_VERBOSE      yyn = yypact[yystate];      if (yyn > YYFLAG && yyn < YYLAST)	{	  int size = 0;	  char *msg;	  int x, count;	  count = 0;	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */	  for (x = (yyn < 0 ? -yyn : 0);	       x < (sizeof(yytname) / sizeof(char *)); x++)	    if (yycheck[x + yyn] == x)	      size += strlen(yytname[x]) + 15, count++;	  msg = (char *) malloc(size + 15);	  if (msg != 0)	    {	      strcpy(msg, "parse error");	      if (count < 5)		{		  count = 0;		  for (x = (yyn < 0 ? -yyn : 0);		       x < (sizeof(yytname) / sizeof(char *)); x++)		    if (yycheck[x + yyn] == x)		      {			strcat(msg, count == 0 ? ", expecting `" : " or `");			strcat(msg, yytname[x]);			strcat(msg, "'");			count++;		      }		}	      yyerror(msg);	      free(msg);	    }	  else	    yyerror ("parse error; also virtual memory exceeded");	}      else#endif /* YYERROR_VERBOSE */	yyerror("parse error");    }  goto yyerrlab1;yyerrlab1:   /* here on error raised explicitly by an action */  if (yyerrstatus == 3)    {      /* if just tried and failed to reuse lookahead token after an error, discard it.  */      /* return failure if at end of input */      if (yychar == YYEOF)	YYABORT;#if YYDEBUG != 0      if (yydebug)	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);#endif      yychar = YYEMPTY;    }  /* Else will try to reuse lookahead token     after shifting the error token.  */  yyerrstatus = 3;		/* Each real token shifted decrements this */  goto yyerrhandle;yyerrdefault:  /* current state does not do anything special for the error token. */#if 0  /* This is wrong; only states that explicitly want error tokens     should shift them.  */  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/  if (yyn) goto yydefault;#endifyyerrpop:   /* pop the current state because it cannot handle the error token */  if (yyssp == yyss) YYABORT;  yyvsp--;  yystate = *--yyssp;#ifdef YYLSP_NEEDED  yylsp--;#endif#if YYDEBUG != 0  if (yydebug)    {      short *ssp1 = yyss - 1;      fprintf (stderr, "Error: state stack now");      while (ssp1 != yyssp)	fprintf (stderr, " %d", *++ssp1);      fprintf (stderr, "\n");    }#endifyyerrhandle:  yyn = yypact[yystate];  if (yyn == YYFLAG)    goto yyerrdefault;  yyn += YYTERROR;  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)    goto yyerrdefault;  yyn = yytable[yyn];  if (yyn < 0)    {      if (yyn == YYFLAG)	goto yyerrpop;      yyn = -yyn;      goto yyreduce;    }  else if (yyn == 0)    goto yyerrpop;  if (yyn == YYFINAL)    YYACCEPT;#if YYDEBUG != 0  if (yydebug)    fprintf(stderr, "Shifting error token, ");#endif  *++yyvsp = yylval;#ifdef YYLSP_NEEDED  *++yylsp = yylloc;#endif  yystate = yyn;  goto yynewstate;}