gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, feature/namespaces, updated. gawk-4.1.0-


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, feature/namespaces, updated. gawk-4.1.0-3394-g6cfacbf
Date: Sun, 16 Sep 2018 14:44:13 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, feature/namespaces has been updated
       via  6cfacbfc0c682e29dc5d89fca125e46b97718d5f (commit)
       via  4978d581e4c1a93b5cdb962b47c2ed827655b070 (commit)
       via  2b1797da18ac18d17bcd2e4171cd8c5909afb189 (commit)
       via  a7fddbf15e6fe7d6fa4bd29fd47b7959afb377b5 (commit)
       via  8329bbfb1fe744c8ba0f893b4e673d68aa8fa52e (commit)
       via  3637723d58b8704f5800787f006b44eef6e1a25d (commit)
       via  05a4e7931d2d75fe87a18f15484553b9aa62b545 (commit)
      from  6be008e3a7b19837e863c27918c793d159b2789a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=6cfacbfc0c682e29dc5d89fca125e46b97718d5f

commit 6cfacbfc0c682e29dc5d89fca125e46b97718d5f
Merge: 6be008e 4978d58
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Sep 16 21:44:06 2018 +0300

    Merge branch 'master' into feature/namespaces

diff --cc awkgram.c
index 4dd99ad,c09e04a..4134fb6
--- a/awkgram.c
+++ b/awkgram.c
@@@ -632,10 -624,10 +632,10 @@@ union yyallo
  /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
     by yylex, with out-of-bounds checking.  */
  #define YYUNDEFTOK  2
 -#define YYMAXUTOK   309
 +#define YYMAXUTOK   310
  
  #define YYTRANSLATE(YYX)                                                \
-   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
  
  /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
     as returned by yylex, without out-of-bounds checking.  */
@@@ -1895,24 -1889,24 +1896,24 @@@ yyreduce
    switch (yyn)
      {
          case 3:
- #line 224 "awkgram.y" /* yacc.c:1646  */
 -#line 218 "awkgram.y" /* yacc.c:1651  */
++#line 224 "awkgram.y" /* yacc.c:1651  */
      {
                rule = 0;
                yyerrok;
          }
- #line 1904 "awkgram.c" /* yacc.c:1646  */
 -#line 1898 "awkgram.c" /* yacc.c:1651  */
++#line 1905 "awkgram.c" /* yacc.c:1651  */
      break;
  
    case 5:
- #line 230 "awkgram.y" /* yacc.c:1646  */
 -#line 224 "awkgram.y" /* yacc.c:1651  */
++#line 230 "awkgram.y" /* yacc.c:1651  */
      {
                next_sourcefile();
          }
- #line 1912 "awkgram.c" /* yacc.c:1646  */
 -#line 1906 "awkgram.c" /* yacc.c:1651  */
++#line 1913 "awkgram.c" /* yacc.c:1651  */
      break;
  
    case 6:
- #line 234 "awkgram.y" /* yacc.c:1646  */
 -#line 228 "awkgram.y" /* yacc.c:1651  */
++#line 234 "awkgram.y" /* yacc.c:1651  */
      {
                rule = 0;
                /*
@@@ -1921,20 -1915,20 +1922,20 @@@
                 */
                /* yyerrok; */
          }
- #line 1925 "awkgram.c" /* yacc.c:1646  */
 -#line 1919 "awkgram.c" /* yacc.c:1651  */
++#line 1926 "awkgram.c" /* yacc.c:1651  */
      break;
  
    case 7:
- #line 246 "awkgram.y" /* yacc.c:1646  */
 -#line 240 "awkgram.y" /* yacc.c:1651  */
++#line 246 "awkgram.y" /* yacc.c:1651  */
      {
                (void) append_rule((yyvsp[-1]), (yyvsp[0]));
                first_rule = false;
          }
- #line 1934 "awkgram.c" /* yacc.c:1646  */
 -#line 1928 "awkgram.c" /* yacc.c:1651  */
++#line 1935 "awkgram.c" /* yacc.c:1651  */
      break;
  
    case 8:
- #line 251 "awkgram.y" /* yacc.c:1646  */
 -#line 245 "awkgram.y" /* yacc.c:1651  */
++#line 251 "awkgram.y" /* yacc.c:1651  */
      {
                if (rule != Rule) {
                        msg(_("%s blocks must have an action part"), 
ruletab[rule]);
@@@ -1945,56 -1939,42 +1946,56 @@@
                } else          /* pattern rule with non-empty pattern */
                        (void) append_rule((yyvsp[-1]), NULL);
          }
- #line 1949 "awkgram.c" /* yacc.c:1646  */
 -#line 1943 "awkgram.c" /* yacc.c:1651  */
++#line 1950 "awkgram.c" /* yacc.c:1651  */
      break;
  
    case 9:
- #line 262 "awkgram.y" /* yacc.c:1646  */
 -#line 256 "awkgram.y" /* yacc.c:1651  */
++#line 262 "awkgram.y" /* yacc.c:1651  */
      {
                in_function = NULL;
                (void) mk_function((yyvsp[-1]), (yyvsp[0]));
                want_param_names = DONT_CHECK;
                yyerrok;
          }
- #line 1960 "awkgram.c" /* yacc.c:1646  */
 -#line 1954 "awkgram.c" /* yacc.c:1651  */
++#line 1961 "awkgram.c" /* yacc.c:1651  */
      break;
  
    case 10:
- #line 269 "awkgram.y" /* yacc.c:1646  */
 -#line 263 "awkgram.y" /* yacc.c:1651  */
++#line 269 "awkgram.y" /* yacc.c:1651  */
      {
                want_source = false;
                at_seen = false;
                yyerrok;
          }
- #line 1970 "awkgram.c" /* yacc.c:1646  */
 -#line 1964 "awkgram.c" /* yacc.c:1651  */
++#line 1971 "awkgram.c" /* yacc.c:1651  */
      break;
  
    case 11:
- #line 275 "awkgram.y" /* yacc.c:1646  */
 -#line 269 "awkgram.y" /* yacc.c:1651  */
++#line 275 "awkgram.y" /* yacc.c:1651  */
      {
                want_source = false;
                at_seen = false;
                yyerrok;
          }
- #line 1980 "awkgram.c" /* yacc.c:1646  */
 -#line 1974 "awkgram.c" /* yacc.c:1651  */
++#line 1981 "awkgram.c" /* yacc.c:1651  */
      break;
  
    case 12:
- #line 281 "awkgram.y" /* yacc.c:1646  */
 -#line 278 "awkgram.y" /* yacc.c:1651  */
++#line 281 "awkgram.y" /* yacc.c:1651  */
 +    {
 +              want_source = false;
 +              at_seen = false;
 +
 +              // this frees $3 storage in all cases
 +              set_namespace((yyvsp[-1]));
 +
 +              yyerrok;
 +        }
- #line 1994 "awkgram.c" /* yacc.c:1646  */
++#line 1995 "awkgram.c" /* yacc.c:1651  */
 +    break;
 +
 +  case 13:
- #line 294 "awkgram.y" /* yacc.c:1646  */
++#line 294 "awkgram.y" /* yacc.c:1651  */
      {
                if (include_source((yyvsp[0])) < 0)
                        YYABORT;
@@@ -2002,23 -1982,23 +2003,23 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 2006 "awkgram.c" /* yacc.c:1646  */
 -#line 1986 "awkgram.c" /* yacc.c:1651  */
++#line 2007 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 13:
 -#line 286 "awkgram.y" /* yacc.c:1651  */
 +  case 14:
- #line 302 "awkgram.y" /* yacc.c:1646  */
++#line 302 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 2012 "awkgram.c" /* yacc.c:1646  */
 -#line 1992 "awkgram.c" /* yacc.c:1651  */
++#line 2013 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 14:
 -#line 288 "awkgram.y" /* yacc.c:1651  */
 +  case 15:
- #line 304 "awkgram.y" /* yacc.c:1646  */
++#line 304 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 2018 "awkgram.c" /* yacc.c:1646  */
 -#line 1998 "awkgram.c" /* yacc.c:1651  */
++#line 2019 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 15:
 -#line 293 "awkgram.y" /* yacc.c:1651  */
 +  case 16:
- #line 309 "awkgram.y" /* yacc.c:1646  */
++#line 309 "awkgram.y" /* yacc.c:1651  */
      {
                if (load_library((yyvsp[0])) < 0)
                        YYABORT;
@@@ -2026,41 -2006,23 +2027,41 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 2030 "awkgram.c" /* yacc.c:1646  */
 -#line 2010 "awkgram.c" /* yacc.c:1651  */
++#line 2031 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 16:
 -#line 301 "awkgram.y" /* yacc.c:1651  */
 +  case 17:
- #line 317 "awkgram.y" /* yacc.c:1646  */
++#line 317 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 2036 "awkgram.c" /* yacc.c:1646  */
 -#line 2016 "awkgram.c" /* yacc.c:1651  */
++#line 2037 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 17:
 -#line 303 "awkgram.y" /* yacc.c:1651  */
 +  case 18:
- #line 319 "awkgram.y" /* yacc.c:1646  */
++#line 319 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 2042 "awkgram.c" /* yacc.c:1646  */
 -#line 2022 "awkgram.c" /* yacc.c:1651  */
++#line 2043 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 18:
 -#line 308 "awkgram.y" /* yacc.c:1651  */
 +  case 19:
- #line 324 "awkgram.y" /* yacc.c:1646  */
++#line 324 "awkgram.y" /* yacc.c:1651  */
 +    { (yyval) = (yyvsp[0]); }
- #line 2048 "awkgram.c" /* yacc.c:1646  */
++#line 2049 "awkgram.c" /* yacc.c:1651  */
 +    break;
 +
 +  case 20:
- #line 326 "awkgram.y" /* yacc.c:1646  */
++#line 326 "awkgram.y" /* yacc.c:1651  */
 +    { (yyval) = NULL; }
- #line 2054 "awkgram.c" /* yacc.c:1646  */
++#line 2055 "awkgram.c" /* yacc.c:1651  */
 +    break;
 +
 +  case 21:
- #line 328 "awkgram.y" /* yacc.c:1646  */
++#line 328 "awkgram.y" /* yacc.c:1651  */
 +    { (yyval) = NULL; }
- #line 2060 "awkgram.c" /* yacc.c:1646  */
++#line 2061 "awkgram.c" /* yacc.c:1651  */
 +    break;
 +
 +  case 22:
- #line 333 "awkgram.y" /* yacc.c:1646  */
++#line 333 "awkgram.y" /* yacc.c:1651  */
      {
                rule = Rule;
                if (comment != NULL) {
@@@ -2069,11 -2031,11 +2070,11 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2073 "awkgram.c" /* yacc.c:1646  */
 -#line 2035 "awkgram.c" /* yacc.c:1651  */
++#line 2074 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 19:
 -#line 317 "awkgram.y" /* yacc.c:1651  */
 +  case 23:
- #line 342 "awkgram.y" /* yacc.c:1646  */
++#line 342 "awkgram.y" /* yacc.c:1651  */
      {
                rule = Rule;
                if (comment != NULL) {
@@@ -2082,11 -2044,11 +2083,11 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 2086 "awkgram.c" /* yacc.c:1646  */
 -#line 2048 "awkgram.c" /* yacc.c:1651  */
++#line 2087 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 20:
 -#line 327 "awkgram.y" /* yacc.c:1651  */
 +  case 24:
- #line 352 "awkgram.y" /* yacc.c:1646  */
++#line 352 "awkgram.y" /* yacc.c:1651  */
      {
                INSTRUCTION *tp;
  
@@@ -2116,11 -2078,11 +2117,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-3]), 
(yyvsp[0])), tp);
                rule = Rule;
          }
- #line 2120 "awkgram.c" /* yacc.c:1646  */
 -#line 2082 "awkgram.c" /* yacc.c:1651  */
++#line 2121 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 21:
 -#line 357 "awkgram.y" /* yacc.c:1651  */
 +  case 25:
- #line 382 "awkgram.y" /* yacc.c:1646  */
++#line 382 "awkgram.y" /* yacc.c:1651  */
      {
                static int begin_seen = 0;
  
@@@ -2134,11 -2096,11 +2135,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2138 "awkgram.c" /* yacc.c:1646  */
 -#line 2100 "awkgram.c" /* yacc.c:1651  */
++#line 2139 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 22:
 -#line 371 "awkgram.y" /* yacc.c:1651  */
 +  case 26:
- #line 396 "awkgram.y" /* yacc.c:1646  */
++#line 396 "awkgram.y" /* yacc.c:1651  */
      {
                static int end_seen = 0;
  
@@@ -2152,11 -2114,11 +2153,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2156 "awkgram.c" /* yacc.c:1646  */
 -#line 2118 "awkgram.c" /* yacc.c:1651  */
++#line 2157 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 23:
 -#line 385 "awkgram.y" /* yacc.c:1651  */
 +  case 27:
- #line 410 "awkgram.y" /* yacc.c:1646  */
++#line 410 "awkgram.y" /* yacc.c:1651  */
      {
                func_first = false;
                (yyvsp[0])->in_rule = rule = BEGINFILE;
@@@ -2164,11 -2126,11 +2165,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2168 "awkgram.c" /* yacc.c:1646  */
 -#line 2130 "awkgram.c" /* yacc.c:1651  */
++#line 2169 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 24:
 -#line 393 "awkgram.y" /* yacc.c:1651  */
 +  case 28:
- #line 418 "awkgram.y" /* yacc.c:1646  */
++#line 418 "awkgram.y" /* yacc.c:1651  */
      {
                func_first = false;
                (yyvsp[0])->in_rule = rule = ENDFILE;
@@@ -2176,11 -2138,11 +2177,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2180 "awkgram.c" /* yacc.c:1646  */
 -#line 2142 "awkgram.c" /* yacc.c:1651  */
++#line 2181 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 25:
 -#line 404 "awkgram.y" /* yacc.c:1651  */
 +  case 29:
- #line 429 "awkgram.y" /* yacc.c:1646  */
++#line 429 "awkgram.y" /* yacc.c:1651  */
      {
                INSTRUCTION *ip;
                if ((yyvsp[-3]) == NULL)
@@@ -2189,48 -2151,48 +2190,48 @@@
                        ip = (yyvsp[-3]);
                (yyval) = ip;
          }
- #line 2193 "awkgram.c" /* yacc.c:1646  */
 -#line 2155 "awkgram.c" /* yacc.c:1651  */
++#line 2194 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 26:
 -#line 416 "awkgram.y" /* yacc.c:1651  */
 +  case 30:
- #line 441 "awkgram.y" /* yacc.c:1646  */
++#line 441 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 2199 "awkgram.c" /* yacc.c:1646  */
 -#line 2161 "awkgram.c" /* yacc.c:1651  */
++#line 2200 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 27:
 -#line 418 "awkgram.y" /* yacc.c:1651  */
 +  case 31:
- #line 443 "awkgram.y" /* yacc.c:1646  */
++#line 443 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 2205 "awkgram.c" /* yacc.c:1646  */
 -#line 2167 "awkgram.c" /* yacc.c:1651  */
++#line 2206 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 28:
 -#line 420 "awkgram.y" /* yacc.c:1651  */
 +  case 32:
- #line 445 "awkgram.y" /* yacc.c:1646  */
++#line 445 "awkgram.y" /* yacc.c:1651  */
      {
                yyerror(_("`%s' is a built-in function, it cannot be 
redefined"),
                                        tokstart);
                YYABORT;
          }
- #line 2215 "awkgram.c" /* yacc.c:1646  */
 -#line 2177 "awkgram.c" /* yacc.c:1651  */
++#line 2216 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 29:
 -#line 426 "awkgram.y" /* yacc.c:1651  */
 +  case 33:
- #line 451 "awkgram.y" /* yacc.c:1646  */
++#line 451 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = (yyvsp[0]);
                at_seen = false;
          }
- #line 2224 "awkgram.c" /* yacc.c:1646  */
 -#line 2186 "awkgram.c" /* yacc.c:1651  */
++#line 2225 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 32:
 -#line 438 "awkgram.y" /* yacc.c:1651  */
 +  case 36:
- #line 463 "awkgram.y" /* yacc.c:1646  */
++#line 463 "awkgram.y" /* yacc.c:1651  */
      { want_param_names = FUNC_HEADER; }
- #line 2230 "awkgram.c" /* yacc.c:1646  */
 -#line 2192 "awkgram.c" /* yacc.c:1651  */
++#line 2231 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 33:
 -#line 439 "awkgram.y" /* yacc.c:1651  */
 +  case 37:
- #line 464 "awkgram.y" /* yacc.c:1646  */
++#line 464 "awkgram.y" /* yacc.c:1651  */
      {
                /*
                 *  treat any comments between BOF and the first function
@@@ -2268,17 -2230,17 +2269,17 @@@
                (yyval) = (yyvsp[-6]);
                want_param_names = FUNC_BODY;
          }
- #line 2272 "awkgram.c" /* yacc.c:1646  */
 -#line 2234 "awkgram.c" /* yacc.c:1651  */
++#line 2273 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 34:
 -#line 484 "awkgram.y" /* yacc.c:1651  */
 +  case 38:
- #line 509 "awkgram.y" /* yacc.c:1646  */
++#line 509 "awkgram.y" /* yacc.c:1651  */
      { want_regexp = true; }
- #line 2278 "awkgram.c" /* yacc.c:1646  */
 -#line 2240 "awkgram.c" /* yacc.c:1651  */
++#line 2279 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 35:
 -#line 486 "awkgram.y" /* yacc.c:1651  */
 +  case 39:
- #line 511 "awkgram.y" /* yacc.c:1646  */
++#line 511 "awkgram.y" /* yacc.c:1651  */
      {
                  NODE *n, *exp;
                  char *re;
@@@ -2307,11 -2269,11 +2308,11 @@@
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
- #line 2311 "awkgram.c" /* yacc.c:1646  */
 -#line 2273 "awkgram.c" /* yacc.c:1651  */
++#line 2312 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 36:
 -#line 518 "awkgram.y" /* yacc.c:1651  */
 +  case 40:
- #line 543 "awkgram.y" /* yacc.c:1646  */
++#line 543 "awkgram.y" /* yacc.c:1651  */
      {
                  char *re;
                  size_t len;
@@@ -2324,17 -2286,17 +2325,17 @@@
                  (yyval)->opcode = Op_push_re;
                  (yyval)->memory = make_typed_regex(re, len);
                }
- #line 2328 "awkgram.c" /* yacc.c:1646  */
 -#line 2290 "awkgram.c" /* yacc.c:1651  */
++#line 2329 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 37:
 -#line 533 "awkgram.y" /* yacc.c:1651  */
 +  case 41:
- #line 558 "awkgram.y" /* yacc.c:1646  */
++#line 558 "awkgram.y" /* yacc.c:1651  */
      { bcfree((yyvsp[0])); }
- #line 2334 "awkgram.c" /* yacc.c:1646  */
 -#line 2296 "awkgram.c" /* yacc.c:1651  */
++#line 2335 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 39:
 -#line 539 "awkgram.y" /* yacc.c:1651  */
 +  case 43:
- #line 564 "awkgram.y" /* yacc.c:1646  */
++#line 564 "awkgram.y" /* yacc.c:1651  */
      {
                if (prior_comment != NULL) {
                        (yyval) = list_create(prior_comment);
@@@ -2345,11 -2307,11 +2346,11 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2349 "awkgram.c" /* yacc.c:1646  */
 -#line 2311 "awkgram.c" /* yacc.c:1651  */
++#line 2350 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 40:
 -#line 550 "awkgram.y" /* yacc.c:1651  */
 +  case 44:
- #line 575 "awkgram.y" /* yacc.c:1646  */
++#line 575 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[0]) == NULL) {
                        if (prior_comment != NULL) {
@@@ -2396,40 -2358,40 +2397,40 @@@
                }
                yyerrok;
          }
- #line 2400 "awkgram.c" /* yacc.c:1646  */
 -#line 2362 "awkgram.c" /* yacc.c:1651  */
++#line 2401 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 41:
 -#line 597 "awkgram.y" /* yacc.c:1651  */
 +  case 45:
- #line 622 "awkgram.y" /* yacc.c:1646  */
++#line 622 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 2406 "awkgram.c" /* yacc.c:1646  */
 -#line 2368 "awkgram.c" /* yacc.c:1651  */
++#line 2407 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 44:
 -#line 607 "awkgram.y" /* yacc.c:1651  */
 +  case 48:
- #line 632 "awkgram.y" /* yacc.c:1646  */
++#line 632 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 2412 "awkgram.c" /* yacc.c:1646  */
 -#line 2374 "awkgram.c" /* yacc.c:1651  */
++#line 2413 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 45:
 -#line 609 "awkgram.y" /* yacc.c:1651  */
 +  case 49:
- #line 634 "awkgram.y" /* yacc.c:1646  */
++#line 634 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[-1]); }
- #line 2418 "awkgram.c" /* yacc.c:1646  */
 -#line 2380 "awkgram.c" /* yacc.c:1651  */
++#line 2419 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 46:
 -#line 611 "awkgram.y" /* yacc.c:1651  */
 +  case 50:
- #line 636 "awkgram.y" /* yacc.c:1646  */
++#line 636 "awkgram.y" /* yacc.c:1651  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[0]);
          }
- #line 2429 "awkgram.c" /* yacc.c:1646  */
 -#line 2391 "awkgram.c" /* yacc.c:1651  */
++#line 2430 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 47:
 -#line 618 "awkgram.y" /* yacc.c:1651  */
 +  case 51:
- #line 643 "awkgram.y" /* yacc.c:1646  */
++#line 643 "awkgram.y" /* yacc.c:1651  */
      {
                INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
                INSTRUCTION *ip, *nextc, *tbreak;
@@@ -2519,11 -2481,11 +2520,11 @@@
                break_allowed--;
                fix_break_continue(ip, tbreak, NULL);
          }
- #line 2523 "awkgram.c" /* yacc.c:1646  */
 -#line 2485 "awkgram.c" /* yacc.c:1651  */
++#line 2524 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 48:
 -#line 708 "awkgram.y" /* yacc.c:1651  */
 +  case 52:
- #line 733 "awkgram.y" /* yacc.c:1646  */
++#line 733 "awkgram.y" /* yacc.c:1651  */
      {
                /*
                 *    -----------------
@@@ -2565,11 -2527,11 +2566,11 @@@
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
- #line 2569 "awkgram.c" /* yacc.c:1646  */
 -#line 2531 "awkgram.c" /* yacc.c:1651  */
++#line 2570 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 49:
 -#line 750 "awkgram.y" /* yacc.c:1651  */
 +  case 53:
- #line 775 "awkgram.y" /* yacc.c:1646  */
++#line 775 "awkgram.y" /* yacc.c:1651  */
      {
                /*
                 *    -----------------
@@@ -2611,11 -2573,11 +2612,11 @@@
                } /* else
                        $1 and $4 are NULLs */
          }
- #line 2615 "awkgram.c" /* yacc.c:1646  */
 -#line 2577 "awkgram.c" /* yacc.c:1651  */
++#line 2616 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 50:
 -#line 792 "awkgram.y" /* yacc.c:1651  */
 +  case 54:
- #line 817 "awkgram.y" /* yacc.c:1646  */
++#line 817 "awkgram.y" /* yacc.c:1651  */
      {
                INSTRUCTION *ip;
                char *var_name = (yyvsp[-5])->lextok;
@@@ -2728,33 -2690,33 +2729,33 @@@ regular_loop
                break_allowed--;
                continue_allowed--;
          }
- #line 2732 "awkgram.c" /* yacc.c:1646  */
 -#line 2694 "awkgram.c" /* yacc.c:1651  */
++#line 2733 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 51:
 -#line 905 "awkgram.y" /* yacc.c:1651  */
 +  case 55:
- #line 930 "awkgram.y" /* yacc.c:1646  */
++#line 930 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), 
(yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2743 "awkgram.c" /* yacc.c:1646  */
 -#line 2705 "awkgram.c" /* yacc.c:1651  */
++#line 2744 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 52:
 -#line 912 "awkgram.y" /* yacc.c:1651  */
 +  case 56:
- #line 937 "awkgram.y" /* yacc.c:1646  */
++#line 937 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION 
*) NULL, (yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2754 "awkgram.c" /* yacc.c:1646  */
 -#line 2716 "awkgram.c" /* yacc.c:1651  */
++#line 2755 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 53:
 -#line 919 "awkgram.y" /* yacc.c:1651  */
 +  case 57:
- #line 944 "awkgram.y" /* yacc.c:1646  */
++#line 944 "awkgram.y" /* yacc.c:1651  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
@@@ -2762,11 -2724,11 +2763,11 @@@
                        (yyval) = (yyvsp[0]);
                (yyval) = add_pending_comment((yyval));
          }
- #line 2766 "awkgram.c" /* yacc.c:1646  */
 -#line 2728 "awkgram.c" /* yacc.c:1651  */
++#line 2767 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 54:
 -#line 930 "awkgram.y" /* yacc.c:1651  */
 +  case 58:
- #line 955 "awkgram.y" /* yacc.c:1646  */
++#line 955 "awkgram.y" /* yacc.c:1651  */
      {
                if (! break_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2776,11 -2738,11 +2777,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2780 "awkgram.c" /* yacc.c:1646  */
 -#line 2742 "awkgram.c" /* yacc.c:1651  */
++#line 2781 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 55:
 -#line 940 "awkgram.y" /* yacc.c:1651  */
 +  case 59:
- #line 965 "awkgram.y" /* yacc.c:1646  */
++#line 965 "awkgram.y" /* yacc.c:1651  */
      {
                if (! continue_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2790,11 -2752,11 +2791,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2794 "awkgram.c" /* yacc.c:1646  */
 -#line 2756 "awkgram.c" /* yacc.c:1651  */
++#line 2795 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 56:
 -#line 950 "awkgram.y" /* yacc.c:1651  */
 +  case 60:
- #line 975 "awkgram.y" /* yacc.c:1646  */
++#line 975 "awkgram.y" /* yacc.c:1651  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule && rule != Rule)
@@@ -2804,11 -2766,11 +2805,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2808 "awkgram.c" /* yacc.c:1646  */
 -#line 2770 "awkgram.c" /* yacc.c:1651  */
++#line 2809 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 57:
 -#line 960 "awkgram.y" /* yacc.c:1651  */
 +  case 61:
- #line 985 "awkgram.y" /* yacc.c:1646  */
++#line 985 "awkgram.y" /* yacc.c:1651  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule == BEGIN || rule == END || rule == ENDFILE)
@@@ -2820,11 -2782,11 +2821,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2824 "awkgram.c" /* yacc.c:1646  */
 -#line 2786 "awkgram.c" /* yacc.c:1651  */
++#line 2825 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 58:
 -#line 972 "awkgram.y" /* yacc.c:1651  */
 +  case 62:
- #line 997 "awkgram.y" /* yacc.c:1646  */
++#line 997 "awkgram.y" /* yacc.c:1651  */
      {
                /* Initialize the two possible jump targets, the actual target
                 * is resolved at run-time.
@@@ -2840,20 -2802,20 +2841,20 @@@
                        (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2844 "awkgram.c" /* yacc.c:1646  */
 -#line 2806 "awkgram.c" /* yacc.c:1651  */
++#line 2845 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 59:
 -#line 988 "awkgram.y" /* yacc.c:1651  */
 +  case 63:
- #line 1013 "awkgram.y" /* yacc.c:1646  */
++#line 1013 "awkgram.y" /* yacc.c:1651  */
      {
                if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
- #line 2853 "awkgram.c" /* yacc.c:1646  */
 -#line 2815 "awkgram.c" /* yacc.c:1651  */
++#line 2854 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 60:
 -#line 991 "awkgram.y" /* yacc.c:1651  */
 +  case 64:
- #line 1016 "awkgram.y" /* yacc.c:1646  */
++#line 1016 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[-1]) == NULL) {
                        (yyval) = list_create((yyvsp[-3]));
@@@ -2864,17 -2826,17 +2865,17 @@@
  
                (yyval) = add_pending_comment((yyval));
          }
- #line 2868 "awkgram.c" /* yacc.c:1646  */
 -#line 2830 "awkgram.c" /* yacc.c:1651  */
++#line 2869 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 62:
 -#line 1013 "awkgram.y" /* yacc.c:1651  */
 +  case 66:
- #line 1038 "awkgram.y" /* yacc.c:1646  */
++#line 1038 "awkgram.y" /* yacc.c:1651  */
      { in_print = true; in_parens = 0; }
- #line 2874 "awkgram.c" /* yacc.c:1646  */
 -#line 2836 "awkgram.c" /* yacc.c:1651  */
++#line 2875 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 63:
 -#line 1014 "awkgram.y" /* yacc.c:1651  */
 +  case 67:
- #line 1039 "awkgram.y" /* yacc.c:1646  */
++#line 1039 "awkgram.y" /* yacc.c:1651  */
      {
                /*
                 * Optimization: plain `print' has no expression list, so $3 is 
null.
@@@ -2972,17 -2934,17 +2973,17 @@@ regular_print
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2976 "awkgram.c" /* yacc.c:1646  */
 -#line 2938 "awkgram.c" /* yacc.c:1651  */
++#line 2977 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 64:
 -#line 1112 "awkgram.y" /* yacc.c:1651  */
 +  case 68:
- #line 1137 "awkgram.y" /* yacc.c:1646  */
++#line 1137 "awkgram.y" /* yacc.c:1651  */
      { sub_counter = 0; }
- #line 2982 "awkgram.c" /* yacc.c:1646  */
 -#line 2944 "awkgram.c" /* yacc.c:1651  */
++#line 2983 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 65:
 -#line 1113 "awkgram.y" /* yacc.c:1651  */
 +  case 69:
- #line 1138 "awkgram.y" /* yacc.c:1646  */
++#line 1138 "awkgram.y" /* yacc.c:1651  */
      {
                char *arr = (yyvsp[-2])->lextok;
  
@@@ -3016,11 -2978,11 +3017,11 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 3020 "awkgram.c" /* yacc.c:1646  */
 -#line 2982 "awkgram.c" /* yacc.c:1651  */
++#line 3021 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 66:
 -#line 1151 "awkgram.y" /* yacc.c:1651  */
 +  case 70:
- #line 1176 "awkgram.y" /* yacc.c:1646  */
++#line 1176 "awkgram.y" /* yacc.c:1651  */
      {
                static bool warned = false;
                char *arr = (yyvsp[-1])->lextok;
@@@ -3047,55 -3009,55 +3048,55 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 3051 "awkgram.c" /* yacc.c:1646  */
 -#line 3013 "awkgram.c" /* yacc.c:1651  */
++#line 3052 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 67:
 -#line 1178 "awkgram.y" /* yacc.c:1651  */
 +  case 71:
- #line 1203 "awkgram.y" /* yacc.c:1646  */
++#line 1203 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = optimize_assignment((yyvsp[0]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 3060 "awkgram.c" /* yacc.c:1646  */
 -#line 3022 "awkgram.c" /* yacc.c:1651  */
++#line 3061 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 68:
 -#line 1186 "awkgram.y" /* yacc.c:1651  */
 +  case 72:
- #line 1211 "awkgram.y" /* yacc.c:1646  */
++#line 1211 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3066 "awkgram.c" /* yacc.c:1646  */
 -#line 3028 "awkgram.c" /* yacc.c:1651  */
++#line 3067 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 69:
 -#line 1188 "awkgram.y" /* yacc.c:1651  */
 +  case 73:
- #line 1213 "awkgram.y" /* yacc.c:1646  */
++#line 1213 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3072 "awkgram.c" /* yacc.c:1646  */
 -#line 3034 "awkgram.c" /* yacc.c:1651  */
++#line 3073 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 70:
 -#line 1193 "awkgram.y" /* yacc.c:1651  */
 +  case 74:
- #line 1218 "awkgram.y" /* yacc.c:1646  */
++#line 1218 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3078 "awkgram.c" /* yacc.c:1646  */
 -#line 3040 "awkgram.c" /* yacc.c:1651  */
++#line 3079 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 71:
 -#line 1195 "awkgram.y" /* yacc.c:1651  */
 +  case 75:
- #line 1220 "awkgram.y" /* yacc.c:1646  */
++#line 1220 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[-1]) == NULL)
                        (yyval) = list_create((yyvsp[0]));
                else
                        (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
          }
- #line 3089 "awkgram.c" /* yacc.c:1646  */
 -#line 3051 "awkgram.c" /* yacc.c:1651  */
++#line 3090 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 72:
 -#line 1202 "awkgram.y" /* yacc.c:1651  */
 +  case 76:
- #line 1227 "awkgram.y" /* yacc.c:1646  */
++#line 1227 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3095 "awkgram.c" /* yacc.c:1646  */
 -#line 3057 "awkgram.c" /* yacc.c:1651  */
++#line 3096 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 73:
 -#line 1207 "awkgram.y" /* yacc.c:1651  */
 +  case 77:
- #line 1232 "awkgram.y" /* yacc.c:1646  */
++#line 1232 "awkgram.y" /* yacc.c:1651  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -3107,11 -3069,11 +3108,11 @@@
                bcfree((yyvsp[-2]));
                (yyval) = (yyvsp[-4]);
          }
- #line 3111 "awkgram.c" /* yacc.c:1646  */
 -#line 3073 "awkgram.c" /* yacc.c:1651  */
++#line 3112 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 74:
 -#line 1219 "awkgram.y" /* yacc.c:1651  */
 +  case 78:
- #line 1244 "awkgram.y" /* yacc.c:1646  */
++#line 1244 "awkgram.y" /* yacc.c:1651  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -3122,17 -3084,17 +3123,17 @@@
                (yyvsp[-3])->case_stmt = casestmt;
                (yyval) = (yyvsp[-3]);
          }
- #line 3126 "awkgram.c" /* yacc.c:1646  */
 -#line 3088 "awkgram.c" /* yacc.c:1651  */
++#line 3127 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 75:
 -#line 1233 "awkgram.y" /* yacc.c:1651  */
 +  case 79:
- #line 1258 "awkgram.y" /* yacc.c:1646  */
++#line 1258 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3132 "awkgram.c" /* yacc.c:1646  */
 -#line 3094 "awkgram.c" /* yacc.c:1651  */
++#line 3133 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 76:
 -#line 1235 "awkgram.y" /* yacc.c:1651  */
 +  case 80:
- #line 1260 "awkgram.y" /* yacc.c:1646  */
++#line 1260 "awkgram.y" /* yacc.c:1651  */
      {
                NODE *n = (yyvsp[0])->memory;
                (void) force_number(n);
@@@ -3140,28 -3102,28 +3141,28 @@@
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3144 "awkgram.c" /* yacc.c:1646  */
 -#line 3106 "awkgram.c" /* yacc.c:1651  */
++#line 3145 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 77:
 -#line 1243 "awkgram.y" /* yacc.c:1651  */
 +  case 81:
- #line 1268 "awkgram.y" /* yacc.c:1646  */
++#line 1268 "awkgram.y" /* yacc.c:1651  */
      {
                NODE *n = (yyvsp[0])->lasti->memory;
                bcfree((yyvsp[-1]));
                add_sign_to_num(n, '+');
                (yyval) = (yyvsp[0]);
          }
- #line 3155 "awkgram.c" /* yacc.c:1646  */
 -#line 3117 "awkgram.c" /* yacc.c:1651  */
++#line 3156 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 78:
 -#line 1250 "awkgram.y" /* yacc.c:1651  */
 +  case 82:
- #line 1275 "awkgram.y" /* yacc.c:1646  */
++#line 1275 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3161 "awkgram.c" /* yacc.c:1646  */
 -#line 3123 "awkgram.c" /* yacc.c:1651  */
++#line 3162 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 79:
 -#line 1252 "awkgram.y" /* yacc.c:1651  */
 +  case 83:
- #line 1277 "awkgram.y" /* yacc.c:1646  */
++#line 1277 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[0])->memory->type == Node_regex)
                        (yyvsp[0])->opcode = Op_push_re;
@@@ -3169,57 -3131,57 +3170,57 @@@
                        (yyvsp[0])->opcode = Op_push;
                (yyval) = (yyvsp[0]);
          }
- #line 3173 "awkgram.c" /* yacc.c:1646  */
 -#line 3135 "awkgram.c" /* yacc.c:1651  */
++#line 3174 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 80:
 -#line 1260 "awkgram.y" /* yacc.c:1651  */
 +  case 84:
- #line 1285 "awkgram.y" /* yacc.c:1646  */
++#line 1285 "awkgram.y" /* yacc.c:1651  */
      {
                assert(((yyvsp[0])->memory->flags & REGEX) == REGEX);
                (yyvsp[0])->opcode = Op_push_re;
                (yyval) = (yyvsp[0]);
          }
- #line 3183 "awkgram.c" /* yacc.c:1646  */
 -#line 3145 "awkgram.c" /* yacc.c:1651  */
++#line 3184 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 81:
 -#line 1269 "awkgram.y" /* yacc.c:1651  */
 +  case 85:
- #line 1294 "awkgram.y" /* yacc.c:1646  */
++#line 1294 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3189 "awkgram.c" /* yacc.c:1646  */
 -#line 3151 "awkgram.c" /* yacc.c:1651  */
++#line 3190 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 82:
 -#line 1271 "awkgram.y" /* yacc.c:1651  */
 +  case 86:
- #line 1296 "awkgram.y" /* yacc.c:1646  */
++#line 1296 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3195 "awkgram.c" /* yacc.c:1646  */
 -#line 3157 "awkgram.c" /* yacc.c:1651  */
++#line 3196 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 84:
 -#line 1281 "awkgram.y" /* yacc.c:1651  */
 +  case 88:
- #line 1306 "awkgram.y" /* yacc.c:1646  */
++#line 1306 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = (yyvsp[-1]);
          }
- #line 3203 "awkgram.c" /* yacc.c:1646  */
 -#line 3165 "awkgram.c" /* yacc.c:1651  */
++#line 3204 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 85:
 -#line 1288 "awkgram.y" /* yacc.c:1651  */
 +  case 89:
- #line 1313 "awkgram.y" /* yacc.c:1646  */
++#line 1313 "awkgram.y" /* yacc.c:1651  */
      {
                in_print = false;
                in_parens = 0;
                (yyval) = NULL;
          }
- #line 3213 "awkgram.c" /* yacc.c:1646  */
 -#line 3175 "awkgram.c" /* yacc.c:1651  */
++#line 3214 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 86:
 -#line 1293 "awkgram.y" /* yacc.c:1651  */
 +  case 90:
- #line 1318 "awkgram.y" /* yacc.c:1646  */
++#line 1318 "awkgram.y" /* yacc.c:1651  */
      { in_print = false; in_parens = 0; }
- #line 3219 "awkgram.c" /* yacc.c:1646  */
 -#line 3181 "awkgram.c" /* yacc.c:1651  */
++#line 3220 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 87:
 -#line 1294 "awkgram.y" /* yacc.c:1651  */
 +  case 91:
- #line 1319 "awkgram.y" /* yacc.c:1646  */
++#line 1319 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[-2])->redir_type == redirect_twoway
                        && (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@@ -3229,63 -3191,63 +3230,63 @@@
                        lintwarn(_("concatenation as I/O `>' redirection target 
is ambiguous"));
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
- #line 3233 "awkgram.c" /* yacc.c:1646  */
 -#line 3195 "awkgram.c" /* yacc.c:1651  */
++#line 3234 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 88:
 -#line 1307 "awkgram.y" /* yacc.c:1651  */
 +  case 92:
- #line 1332 "awkgram.y" /* yacc.c:1646  */
++#line 1332 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), 
NULL, NULL);
          }
- #line 3241 "awkgram.c" /* yacc.c:1646  */
 -#line 3203 "awkgram.c" /* yacc.c:1651  */
++#line 3242 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 89:
 -#line 1312 "awkgram.y" /* yacc.c:1651  */
 +  case 93:
- #line 1337 "awkgram.y" /* yacc.c:1646  */
++#line 1337 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), 
(yyvsp[-2]), (yyvsp[0]));
          }
- #line 3249 "awkgram.c" /* yacc.c:1646  */
 -#line 3211 "awkgram.c" /* yacc.c:1651  */
++#line 3250 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 94:
 -#line 1329 "awkgram.y" /* yacc.c:1651  */
 +  case 98:
- #line 1354 "awkgram.y" /* yacc.c:1646  */
++#line 1354 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3255 "awkgram.c" /* yacc.c:1646  */
 -#line 3217 "awkgram.c" /* yacc.c:1651  */
++#line 3256 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 95:
 -#line 1331 "awkgram.y" /* yacc.c:1651  */
 +  case 99:
- #line 1356 "awkgram.y" /* yacc.c:1646  */
++#line 1356 "awkgram.y" /* yacc.c:1651  */
      {
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3264 "awkgram.c" /* yacc.c:1646  */
 -#line 3226 "awkgram.c" /* yacc.c:1651  */
++#line 3265 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 96:
 -#line 1339 "awkgram.y" /* yacc.c:1651  */
 +  case 100:
- #line 1364 "awkgram.y" /* yacc.c:1646  */
++#line 1364 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3270 "awkgram.c" /* yacc.c:1646  */
 -#line 3232 "awkgram.c" /* yacc.c:1651  */
++#line 3271 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 97:
 -#line 1341 "awkgram.y" /* yacc.c:1651  */
 +  case 101:
- #line 1366 "awkgram.y" /* yacc.c:1646  */
++#line 1366 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3276 "awkgram.c" /* yacc.c:1646  */
 -#line 3238 "awkgram.c" /* yacc.c:1651  */
++#line 3277 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 98:
 -#line 1346 "awkgram.y" /* yacc.c:1651  */
 +  case 102:
- #line 1371 "awkgram.y" /* yacc.c:1646  */
++#line 1371 "awkgram.y" /* yacc.c:1651  */
      {
                (yyvsp[0])->param_count = 0;
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3285 "awkgram.c" /* yacc.c:1646  */
 -#line 3247 "awkgram.c" /* yacc.c:1651  */
++#line 3286 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 99:
 -#line 1351 "awkgram.y" /* yacc.c:1651  */
 +  case 103:
- #line 1376 "awkgram.y" /* yacc.c:1646  */
++#line 1376 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[-2]) != NULL && (yyvsp[0]) != NULL) {
                        (yyvsp[0])->param_count =  
(yyvsp[-2])->lasti->param_count + 1;
@@@ -3294,74 -3256,74 +3295,74 @@@
                } else
                        (yyval) = NULL;
          }
- #line 3298 "awkgram.c" /* yacc.c:1646  */
 -#line 3260 "awkgram.c" /* yacc.c:1651  */
++#line 3299 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 100:
 -#line 1360 "awkgram.y" /* yacc.c:1651  */
 +  case 104:
- #line 1385 "awkgram.y" /* yacc.c:1646  */
++#line 1385 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3304 "awkgram.c" /* yacc.c:1646  */
 -#line 3266 "awkgram.c" /* yacc.c:1651  */
++#line 3305 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 101:
 -#line 1362 "awkgram.y" /* yacc.c:1651  */
 +  case 105:
- #line 1387 "awkgram.y" /* yacc.c:1646  */
++#line 1387 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[-1]); }
- #line 3310 "awkgram.c" /* yacc.c:1646  */
 -#line 3272 "awkgram.c" /* yacc.c:1651  */
++#line 3311 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 102:
 -#line 1364 "awkgram.y" /* yacc.c:1651  */
 +  case 106:
- #line 1389 "awkgram.y" /* yacc.c:1646  */
++#line 1389 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[-2]); }
- #line 3316 "awkgram.c" /* yacc.c:1646  */
 -#line 3278 "awkgram.c" /* yacc.c:1651  */
++#line 3317 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 103:
 -#line 1370 "awkgram.y" /* yacc.c:1651  */
 +  case 107:
- #line 1395 "awkgram.y" /* yacc.c:1646  */
++#line 1395 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3322 "awkgram.c" /* yacc.c:1646  */
 -#line 3284 "awkgram.c" /* yacc.c:1651  */
++#line 3323 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 104:
 -#line 1372 "awkgram.y" /* yacc.c:1651  */
 +  case 108:
- #line 1397 "awkgram.y" /* yacc.c:1646  */
++#line 1397 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3328 "awkgram.c" /* yacc.c:1646  */
 -#line 3290 "awkgram.c" /* yacc.c:1651  */
++#line 3329 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 105:
 -#line 1377 "awkgram.y" /* yacc.c:1651  */
 +  case 109:
- #line 1402 "awkgram.y" /* yacc.c:1646  */
++#line 1402 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3334 "awkgram.c" /* yacc.c:1646  */
 -#line 3296 "awkgram.c" /* yacc.c:1651  */
++#line 3335 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 106:
 -#line 1379 "awkgram.y" /* yacc.c:1651  */
 +  case 110:
- #line 1404 "awkgram.y" /* yacc.c:1646  */
++#line 1404 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3340 "awkgram.c" /* yacc.c:1646  */
 -#line 3302 "awkgram.c" /* yacc.c:1651  */
++#line 3341 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 107:
 -#line 1384 "awkgram.y" /* yacc.c:1651  */
 +  case 111:
- #line 1409 "awkgram.y" /* yacc.c:1646  */
++#line 1409 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
- #line 3346 "awkgram.c" /* yacc.c:1646  */
 -#line 3308 "awkgram.c" /* yacc.c:1651  */
++#line 3347 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 108:
 -#line 1386 "awkgram.y" /* yacc.c:1651  */
 +  case 112:
- #line 1411 "awkgram.y" /* yacc.c:1646  */
++#line 1411 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3355 "awkgram.c" /* yacc.c:1646  */
 -#line 3317 "awkgram.c" /* yacc.c:1651  */
++#line 3356 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 109:
 -#line 1391 "awkgram.y" /* yacc.c:1651  */
 +  case 113:
- #line 1416 "awkgram.y" /* yacc.c:1646  */
++#line 1416 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3361 "awkgram.c" /* yacc.c:1646  */
 -#line 3323 "awkgram.c" /* yacc.c:1651  */
++#line 3362 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 110:
 -#line 1393 "awkgram.y" /* yacc.c:1651  */
 +  case 114:
- #line 1418 "awkgram.y" /* yacc.c:1646  */
++#line 1418 "awkgram.y" /* yacc.c:1651  */
      {
                /*
                 * Returning the expression list instead of NULL lets
@@@ -3369,62 -3331,62 +3370,62 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3373 "awkgram.c" /* yacc.c:1646  */
 -#line 3335 "awkgram.c" /* yacc.c:1651  */
++#line 3374 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 111:
 -#line 1401 "awkgram.y" /* yacc.c:1651  */
 +  case 115:
- #line 1426 "awkgram.y" /* yacc.c:1646  */
++#line 1426 "awkgram.y" /* yacc.c:1651  */
      {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
- #line 3382 "awkgram.c" /* yacc.c:1646  */
 -#line 3344 "awkgram.c" /* yacc.c:1651  */
++#line 3383 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 112:
 -#line 1406 "awkgram.y" /* yacc.c:1651  */
 +  case 116:
- #line 1431 "awkgram.y" /* yacc.c:1646  */
++#line 1431 "awkgram.y" /* yacc.c:1651  */
      {
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
- #line 3391 "awkgram.c" /* yacc.c:1646  */
 -#line 3353 "awkgram.c" /* yacc.c:1651  */
++#line 3392 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 113:
 -#line 1414 "awkgram.y" /* yacc.c:1651  */
 +  case 117:
- #line 1439 "awkgram.y" /* yacc.c:1646  */
++#line 1439 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3397 "awkgram.c" /* yacc.c:1646  */
 -#line 3359 "awkgram.c" /* yacc.c:1651  */
++#line 3398 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 114:
 -#line 1416 "awkgram.y" /* yacc.c:1651  */
 +  case 118:
- #line 1441 "awkgram.y" /* yacc.c:1646  */
++#line 1441 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3403 "awkgram.c" /* yacc.c:1646  */
 -#line 3365 "awkgram.c" /* yacc.c:1651  */
++#line 3404 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 115:
 -#line 1421 "awkgram.y" /* yacc.c:1651  */
 +  case 119:
- #line 1446 "awkgram.y" /* yacc.c:1646  */
++#line 1446 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
- #line 3409 "awkgram.c" /* yacc.c:1646  */
 -#line 3371 "awkgram.c" /* yacc.c:1651  */
++#line 3410 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 116:
 -#line 1423 "awkgram.y" /* yacc.c:1651  */
 +  case 120:
- #line 1448 "awkgram.y" /* yacc.c:1646  */
++#line 1448 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3418 "awkgram.c" /* yacc.c:1646  */
 -#line 3380 "awkgram.c" /* yacc.c:1651  */
++#line 3419 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 117:
 -#line 1428 "awkgram.y" /* yacc.c:1651  */
 +  case 121:
- #line 1453 "awkgram.y" /* yacc.c:1646  */
++#line 1453 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 3424 "awkgram.c" /* yacc.c:1646  */
 -#line 3386 "awkgram.c" /* yacc.c:1651  */
++#line 3425 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 118:
 -#line 1430 "awkgram.y" /* yacc.c:1651  */
 +  case 122:
- #line 1455 "awkgram.y" /* yacc.c:1646  */
++#line 1455 "awkgram.y" /* yacc.c:1651  */
      {
                /*
                 * Returning the expression list instead of NULL lets
@@@ -3432,72 -3394,72 +3433,72 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3436 "awkgram.c" /* yacc.c:1646  */
 -#line 3398 "awkgram.c" /* yacc.c:1651  */
++#line 3437 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 119:
 -#line 1438 "awkgram.y" /* yacc.c:1651  */
 +  case 123:
- #line 1463 "awkgram.y" /* yacc.c:1646  */
++#line 1463 "awkgram.y" /* yacc.c:1651  */
      {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
- #line 3445 "awkgram.c" /* yacc.c:1646  */
 -#line 3407 "awkgram.c" /* yacc.c:1651  */
++#line 3446 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 120:
 -#line 1443 "awkgram.y" /* yacc.c:1651  */
 +  case 124:
- #line 1468 "awkgram.y" /* yacc.c:1646  */
++#line 1468 "awkgram.y" /* yacc.c:1651  */
      {
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
- #line 3454 "awkgram.c" /* yacc.c:1646  */
 -#line 3416 "awkgram.c" /* yacc.c:1651  */
++#line 3455 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 121:
 -#line 1450 "awkgram.y" /* yacc.c:1651  */
 +  case 125:
- #line 1475 "awkgram.y" /* yacc.c:1646  */
++#line 1475 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3460 "awkgram.c" /* yacc.c:1646  */
 -#line 3422 "awkgram.c" /* yacc.c:1651  */
++#line 3461 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 122:
 -#line 1451 "awkgram.y" /* yacc.c:1651  */
 +  case 126:
- #line 1476 "awkgram.y" /* yacc.c:1646  */
++#line 1476 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = list_create((yyvsp[0])); }
- #line 3466 "awkgram.c" /* yacc.c:1646  */
 -#line 3428 "awkgram.c" /* yacc.c:1651  */
++#line 3467 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 123:
 -#line 1457 "awkgram.y" /* yacc.c:1651  */
 +  case 127:
- #line 1482 "awkgram.y" /* yacc.c:1646  */
++#line 1482 "awkgram.y" /* yacc.c:1651  */
      {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of assignment"));
                (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
          }
- #line 3477 "awkgram.c" /* yacc.c:1646  */
 -#line 3439 "awkgram.c" /* yacc.c:1651  */
++#line 3478 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 124:
 -#line 1464 "awkgram.y" /* yacc.c:1651  */
 +  case 128:
- #line 1489 "awkgram.y" /* yacc.c:1646  */
++#line 1489 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3485 "awkgram.c" /* yacc.c:1646  */
 -#line 3447 "awkgram.c" /* yacc.c:1651  */
++#line 3486 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 125:
 -#line 1468 "awkgram.y" /* yacc.c:1651  */
 +  case 129:
- #line 1493 "awkgram.y" /* yacc.c:1646  */
++#line 1493 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3491 "awkgram.c" /* yacc.c:1646  */
 -#line 3453 "awkgram.c" /* yacc.c:1651  */
++#line 3492 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 126:
 -#line 1470 "awkgram.y" /* yacc.c:1651  */
 +  case 130:
- #line 1495 "awkgram.y" /* yacc.c:1646  */
++#line 1495 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3497 "awkgram.c" /* yacc.c:1646  */
 -#line 3459 "awkgram.c" /* yacc.c:1651  */
++#line 3498 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 127:
 -#line 1472 "awkgram.y" /* yacc.c:1651  */
 +  case 131:
- #line 1497 "awkgram.y" /* yacc.c:1646  */
++#line 1497 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3510,11 -3472,11 +3511,11 @@@
                bcfree((yyvsp[0]));
                (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
          }
- #line 3514 "awkgram.c" /* yacc.c:1646  */
 -#line 3476 "awkgram.c" /* yacc.c:1651  */
++#line 3515 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 128:
 -#line 1485 "awkgram.y" /* yacc.c:1651  */
 +  case 132:
- #line 1510 "awkgram.y" /* yacc.c:1646  */
++#line 1510 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3531,11 -3493,11 +3532,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
- #line 3535 "awkgram.c" /* yacc.c:1646  */
 -#line 3497 "awkgram.c" /* yacc.c:1651  */
++#line 3536 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 129:
 -#line 1502 "awkgram.y" /* yacc.c:1651  */
 +  case 133:
- #line 1527 "awkgram.y" /* yacc.c:1646  */
++#line 1527 "awkgram.y" /* yacc.c:1651  */
      {
                if (do_lint_old)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3545,91 -3507,91 +3546,91 @@@
                (yyvsp[-1])->expr_count = 1;
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3549 "awkgram.c" /* yacc.c:1646  */
 -#line 3511 "awkgram.c" /* yacc.c:1651  */
++#line 3550 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 130:
 -#line 1512 "awkgram.y" /* yacc.c:1651  */
 +  case 134:
- #line 1537 "awkgram.y" /* yacc.c:1646  */
++#line 1537 "awkgram.y" /* yacc.c:1651  */
      {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of comparison"));
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3560 "awkgram.c" /* yacc.c:1646  */
 -#line 3522 "awkgram.c" /* yacc.c:1651  */
++#line 3561 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 131:
 -#line 1519 "awkgram.y" /* yacc.c:1651  */
 +  case 135:
- #line 1544 "awkgram.y" /* yacc.c:1646  */
++#line 1544 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), 
(yyvsp[-1]), (yyvsp[0])); }
- #line 3566 "awkgram.c" /* yacc.c:1646  */
 -#line 3528 "awkgram.c" /* yacc.c:1651  */
++#line 3567 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 132:
 -#line 1521 "awkgram.y" /* yacc.c:1651  */
 +  case 136:
- #line 1546 "awkgram.y" /* yacc.c:1646  */
++#line 1546 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3572 "awkgram.c" /* yacc.c:1646  */
 -#line 3534 "awkgram.c" /* yacc.c:1651  */
++#line 3573 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 133:
 -#line 1526 "awkgram.y" /* yacc.c:1651  */
 +  case 137:
- #line 1551 "awkgram.y" /* yacc.c:1646  */
++#line 1551 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3578 "awkgram.c" /* yacc.c:1646  */
 -#line 3540 "awkgram.c" /* yacc.c:1651  */
++#line 3579 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 134:
 -#line 1528 "awkgram.y" /* yacc.c:1651  */
 +  case 138:
- #line 1553 "awkgram.y" /* yacc.c:1646  */
++#line 1553 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3584 "awkgram.c" /* yacc.c:1646  */
 -#line 3546 "awkgram.c" /* yacc.c:1651  */
++#line 3585 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 135:
 -#line 1530 "awkgram.y" /* yacc.c:1651  */
 +  case 139:
- #line 1555 "awkgram.y" /* yacc.c:1646  */
++#line 1555 "awkgram.y" /* yacc.c:1651  */
      {
                (yyvsp[0])->opcode = Op_assign_quotient;
                (yyval) = (yyvsp[0]);
          }
- #line 3593 "awkgram.c" /* yacc.c:1646  */
 -#line 3555 "awkgram.c" /* yacc.c:1651  */
++#line 3594 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 136:
 -#line 1538 "awkgram.y" /* yacc.c:1651  */
 +  case 140:
- #line 1563 "awkgram.y" /* yacc.c:1646  */
++#line 1563 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3599 "awkgram.c" /* yacc.c:1646  */
 -#line 3561 "awkgram.c" /* yacc.c:1651  */
++#line 3600 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 137:
 -#line 1540 "awkgram.y" /* yacc.c:1651  */
 +  case 141:
- #line 1565 "awkgram.y" /* yacc.c:1646  */
++#line 1565 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3605 "awkgram.c" /* yacc.c:1646  */
 -#line 3567 "awkgram.c" /* yacc.c:1651  */
++#line 3606 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 138:
 -#line 1545 "awkgram.y" /* yacc.c:1651  */
 +  case 142:
- #line 1570 "awkgram.y" /* yacc.c:1646  */
++#line 1570 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3611 "awkgram.c" /* yacc.c:1646  */
 -#line 3573 "awkgram.c" /* yacc.c:1651  */
++#line 3612 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 139:
 -#line 1547 "awkgram.y" /* yacc.c:1651  */
 +  case 143:
- #line 1572 "awkgram.y" /* yacc.c:1646  */
++#line 1572 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3617 "awkgram.c" /* yacc.c:1646  */
 -#line 3579 "awkgram.c" /* yacc.c:1651  */
++#line 3618 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 140:
 -#line 1552 "awkgram.y" /* yacc.c:1651  */
 +  case 144:
- #line 1577 "awkgram.y" /* yacc.c:1646  */
++#line 1577 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3623 "awkgram.c" /* yacc.c:1646  */
 -#line 3585 "awkgram.c" /* yacc.c:1651  */
++#line 3624 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 141:
 -#line 1554 "awkgram.y" /* yacc.c:1651  */
 +  case 145:
- #line 1579 "awkgram.y" /* yacc.c:1646  */
++#line 1579 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 3629 "awkgram.c" /* yacc.c:1646  */
 -#line 3591 "awkgram.c" /* yacc.c:1651  */
++#line 3630 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 142:
 -#line 1556 "awkgram.y" /* yacc.c:1651  */
 +  case 146:
- #line 1581 "awkgram.y" /* yacc.c:1646  */
++#line 1581 "awkgram.y" /* yacc.c:1651  */
      {
                int count = 2;
                bool is_simple_var = false;
@@@ -3683,47 -3645,47 +3684,47 @@@
                                max_args = count;
                }
          }
- #line 3687 "awkgram.c" /* yacc.c:1646  */
 -#line 3649 "awkgram.c" /* yacc.c:1651  */
++#line 3688 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 144:
 -#line 1615 "awkgram.y" /* yacc.c:1651  */
 +  case 148:
- #line 1640 "awkgram.y" /* yacc.c:1646  */
++#line 1640 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3693 "awkgram.c" /* yacc.c:1646  */
 -#line 3655 "awkgram.c" /* yacc.c:1651  */
++#line 3694 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 145:
 -#line 1617 "awkgram.y" /* yacc.c:1651  */
 +  case 149:
- #line 1642 "awkgram.y" /* yacc.c:1646  */
++#line 1642 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3699 "awkgram.c" /* yacc.c:1646  */
 -#line 3661 "awkgram.c" /* yacc.c:1651  */
++#line 3700 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 146:
 -#line 1619 "awkgram.y" /* yacc.c:1651  */
 +  case 150:
- #line 1644 "awkgram.y" /* yacc.c:1646  */
++#line 1644 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3705 "awkgram.c" /* yacc.c:1646  */
 -#line 3667 "awkgram.c" /* yacc.c:1651  */
++#line 3706 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 147:
 -#line 1621 "awkgram.y" /* yacc.c:1651  */
 +  case 151:
- #line 1646 "awkgram.y" /* yacc.c:1646  */
++#line 1646 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3711 "awkgram.c" /* yacc.c:1646  */
 -#line 3673 "awkgram.c" /* yacc.c:1651  */
++#line 3712 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 148:
 -#line 1623 "awkgram.y" /* yacc.c:1651  */
 +  case 152:
- #line 1648 "awkgram.y" /* yacc.c:1646  */
++#line 1648 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3717 "awkgram.c" /* yacc.c:1646  */
 -#line 3679 "awkgram.c" /* yacc.c:1651  */
++#line 3718 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 149:
 -#line 1625 "awkgram.y" /* yacc.c:1651  */
 +  case 153:
- #line 1650 "awkgram.y" /* yacc.c:1646  */
++#line 1650 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3723 "awkgram.c" /* yacc.c:1646  */
 -#line 3685 "awkgram.c" /* yacc.c:1651  */
++#line 3724 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 150:
 -#line 1627 "awkgram.y" /* yacc.c:1651  */
 +  case 154:
- #line 1652 "awkgram.y" /* yacc.c:1646  */
++#line 1652 "awkgram.y" /* yacc.c:1651  */
      {
                /*
                 * In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@@ -3737,29 -3699,29 +3738,29 @@@
                                _("non-redirected `getline' undefined inside 
END action"));
                (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
- #line 3741 "awkgram.c" /* yacc.c:1646  */
 -#line 3703 "awkgram.c" /* yacc.c:1651  */
++#line 3742 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 151:
 -#line 1641 "awkgram.y" /* yacc.c:1651  */
 +  case 155:
- #line 1666 "awkgram.y" /* yacc.c:1646  */
++#line 1666 "awkgram.y" /* yacc.c:1651  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3750 "awkgram.c" /* yacc.c:1646  */
 -#line 3712 "awkgram.c" /* yacc.c:1651  */
++#line 3751 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 152:
 -#line 1646 "awkgram.y" /* yacc.c:1651  */
 +  case 156:
- #line 1671 "awkgram.y" /* yacc.c:1646  */
++#line 1671 "awkgram.y" /* yacc.c:1651  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3759 "awkgram.c" /* yacc.c:1646  */
 -#line 3721 "awkgram.c" /* yacc.c:1651  */
++#line 3760 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 153:
 -#line 1651 "awkgram.y" /* yacc.c:1651  */
 +  case 157:
- #line 1676 "awkgram.y" /* yacc.c:1646  */
++#line 1676 "awkgram.y" /* yacc.c:1651  */
      {
                if (do_lint_old) {
                    warning_ln((yyvsp[-1])->source_line,
@@@ -3779,64 -3741,64 +3780,64 @@@
                        (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
- #line 3783 "awkgram.c" /* yacc.c:1646  */
 -#line 3745 "awkgram.c" /* yacc.c:1651  */
++#line 3784 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 154:
 -#line 1676 "awkgram.y" /* yacc.c:1651  */
 +  case 158:
- #line 1701 "awkgram.y" /* yacc.c:1646  */
++#line 1701 "awkgram.y" /* yacc.c:1651  */
      {
                  (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), 
(yyvsp[-2])->redir_type);
                  bcfree((yyvsp[-2]));
                }
- #line 3792 "awkgram.c" /* yacc.c:1646  */
 -#line 3754 "awkgram.c" /* yacc.c:1651  */
++#line 3793 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 155:
 -#line 1682 "awkgram.y" /* yacc.c:1651  */
 +  case 159:
- #line 1707 "awkgram.y" /* yacc.c:1646  */
++#line 1707 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3798 "awkgram.c" /* yacc.c:1646  */
 -#line 3760 "awkgram.c" /* yacc.c:1651  */
++#line 3799 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 156:
 -#line 1684 "awkgram.y" /* yacc.c:1651  */
 +  case 160:
- #line 1709 "awkgram.y" /* yacc.c:1646  */
++#line 1709 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3804 "awkgram.c" /* yacc.c:1646  */
 -#line 3766 "awkgram.c" /* yacc.c:1651  */
++#line 3805 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 157:
 -#line 1686 "awkgram.y" /* yacc.c:1651  */
 +  case 161:
- #line 1711 "awkgram.y" /* yacc.c:1646  */
++#line 1711 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3810 "awkgram.c" /* yacc.c:1646  */
 -#line 3772 "awkgram.c" /* yacc.c:1651  */
++#line 3811 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 158:
 -#line 1688 "awkgram.y" /* yacc.c:1651  */
 +  case 162:
- #line 1713 "awkgram.y" /* yacc.c:1646  */
++#line 1713 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3816 "awkgram.c" /* yacc.c:1646  */
 -#line 3778 "awkgram.c" /* yacc.c:1651  */
++#line 3817 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 159:
 -#line 1690 "awkgram.y" /* yacc.c:1651  */
 +  case 163:
- #line 1715 "awkgram.y" /* yacc.c:1646  */
++#line 1715 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3822 "awkgram.c" /* yacc.c:1646  */
 -#line 3784 "awkgram.c" /* yacc.c:1651  */
++#line 3823 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 160:
 -#line 1692 "awkgram.y" /* yacc.c:1651  */
 +  case 164:
- #line 1717 "awkgram.y" /* yacc.c:1646  */
++#line 1717 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3828 "awkgram.c" /* yacc.c:1646  */
 -#line 3790 "awkgram.c" /* yacc.c:1651  */
++#line 3829 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 161:
 -#line 1697 "awkgram.y" /* yacc.c:1651  */
 +  case 165:
- #line 1722 "awkgram.y" /* yacc.c:1646  */
++#line 1722 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3836 "awkgram.c" /* yacc.c:1646  */
 -#line 3798 "awkgram.c" /* yacc.c:1651  */
++#line 3837 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 162:
 -#line 1701 "awkgram.y" /* yacc.c:1651  */
 +  case 166:
- #line 1726 "awkgram.y" /* yacc.c:1646  */
++#line 1726 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[0])->opcode == Op_match_rec) {
                        (yyvsp[0])->opcode = Op_nomatch;
@@@ -3868,11 -3830,11 +3869,11 @@@
                        }
                }
           }
- #line 3872 "awkgram.c" /* yacc.c:1646  */
 -#line 3834 "awkgram.c" /* yacc.c:1651  */
++#line 3873 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 163:
 -#line 1733 "awkgram.y" /* yacc.c:1651  */
 +  case 167:
- #line 1758 "awkgram.y" /* yacc.c:1646  */
++#line 1758 "awkgram.y" /* yacc.c:1651  */
      {
                // Always include. Allows us to lint warn on
                // print "foo" > "bar" 1
@@@ -3880,31 -3842,31 +3881,31 @@@
                // print "foo" > ("bar" 1)
                (yyval) = list_append((yyvsp[-1]), bcalloc(Op_parens, 1, 
sourceline));
          }
- #line 3884 "awkgram.c" /* yacc.c:1646  */
 -#line 3846 "awkgram.c" /* yacc.c:1651  */
++#line 3885 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 164:
 -#line 1741 "awkgram.y" /* yacc.c:1651  */
 +  case 168:
- #line 1766 "awkgram.y" /* yacc.c:1646  */
++#line 1766 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3894 "awkgram.c" /* yacc.c:1646  */
 -#line 3856 "awkgram.c" /* yacc.c:1651  */
++#line 3895 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 165:
 -#line 1747 "awkgram.y" /* yacc.c:1651  */
 +  case 169:
- #line 1772 "awkgram.y" /* yacc.c:1646  */
++#line 1772 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3904 "awkgram.c" /* yacc.c:1646  */
 -#line 3866 "awkgram.c" /* yacc.c:1651  */
++#line 3905 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 166:
 -#line 1753 "awkgram.y" /* yacc.c:1651  */
 +  case 170:
- #line 1778 "awkgram.y" /* yacc.c:1646  */
++#line 1778 "awkgram.y" /* yacc.c:1651  */
      {
                static bool warned = false;
  
@@@ -3917,45 -3879,45 +3918,45 @@@
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3921 "awkgram.c" /* yacc.c:1646  */
 -#line 3883 "awkgram.c" /* yacc.c:1651  */
++#line 3922 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 169:
 -#line 1768 "awkgram.y" /* yacc.c:1651  */
 +  case 173:
- #line 1793 "awkgram.y" /* yacc.c:1646  */
++#line 1793 "awkgram.y" /* yacc.c:1651  */
      {
                (yyvsp[-1])->opcode = Op_preincrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3930 "awkgram.c" /* yacc.c:1646  */
 -#line 3892 "awkgram.c" /* yacc.c:1651  */
++#line 3931 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 170:
 -#line 1773 "awkgram.y" /* yacc.c:1651  */
 +  case 174:
- #line 1798 "awkgram.y" /* yacc.c:1646  */
++#line 1798 "awkgram.y" /* yacc.c:1651  */
      {
                (yyvsp[-1])->opcode = Op_predecrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3939 "awkgram.c" /* yacc.c:1646  */
 -#line 3901 "awkgram.c" /* yacc.c:1651  */
++#line 3940 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 171:
 -#line 1778 "awkgram.y" /* yacc.c:1651  */
 +  case 175:
- #line 1803 "awkgram.y" /* yacc.c:1646  */
++#line 1803 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3947 "awkgram.c" /* yacc.c:1646  */
 -#line 3909 "awkgram.c" /* yacc.c:1651  */
++#line 3948 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 172:
 -#line 1782 "awkgram.y" /* yacc.c:1651  */
 +  case 176:
- #line 1807 "awkgram.y" /* yacc.c:1646  */
++#line 1807 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3955 "awkgram.c" /* yacc.c:1646  */
 -#line 3917 "awkgram.c" /* yacc.c:1651  */
++#line 3956 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 173:
 -#line 1786 "awkgram.y" /* yacc.c:1651  */
 +  case 177:
- #line 1811 "awkgram.y" /* yacc.c:1646  */
++#line 1811 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@@ -3970,11 -3932,11 +3971,11 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 3974 "awkgram.c" /* yacc.c:1646  */
 -#line 3936 "awkgram.c" /* yacc.c:1651  */
++#line 3975 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 174:
 -#line 1801 "awkgram.y" /* yacc.c:1651  */
 +  case 178:
- #line 1826 "awkgram.y" /* yacc.c:1646  */
++#line 1826 "awkgram.y" /* yacc.c:1651  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@@ -3992,20 -3954,20 +3993,20 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 3996 "awkgram.c" /* yacc.c:1646  */
 -#line 3958 "awkgram.c" /* yacc.c:1651  */
++#line 3997 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 175:
 -#line 1822 "awkgram.y" /* yacc.c:1651  */
 +  case 179:
- #line 1847 "awkgram.y" /* yacc.c:1646  */
++#line 1847 "awkgram.y" /* yacc.c:1651  */
      {
                func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
                (yyval) = (yyvsp[0]);
          }
- #line 4005 "awkgram.c" /* yacc.c:1646  */
 -#line 3967 "awkgram.c" /* yacc.c:1651  */
++#line 4006 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 176:
 -#line 1827 "awkgram.y" /* yacc.c:1651  */
 +  case 180:
- #line 1852 "awkgram.y" /* yacc.c:1646  */
++#line 1852 "awkgram.y" /* yacc.c:1651  */
      {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@@ -4039,28 -4001,16 +4040,28 @@@
                (yyval) = list_prepend((yyvsp[0]), t);
                at_seen = false;
          }
- #line 4043 "awkgram.c" /* yacc.c:1646  */
 -#line 4005 "awkgram.c" /* yacc.c:1651  */
++#line 4044 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 177:
 -#line 1864 "awkgram.y" /* yacc.c:1651  */
 +  case 181:
- #line 1889 "awkgram.y" /* yacc.c:1646  */
++#line 1889 "awkgram.y" /* yacc.c:1651  */
      {
                NODE *n;
 +              const char *name = (yyvsp[-3])->func_name;
 +
 +              if (current_namespace != awk_namespace && strchr(name, ':') == 
NULL) {
 +                      size_t len = strlen(current_namespace) + 2 + 
strlen(name) + 1;
 +                      char *buf;
 +
 +                      emalloc(buf, char *, len, "direct_func_call");
 +                      sprintf(buf, "%s::%s", current_namespace, name);
 +
 +                      efree((void *) (yyvsp[-3])->func_name);
 +                      (yyvsp[-3])->func_name = buf;
 +              }
  
                if (! at_seen) {
 -                      n = lookup((yyvsp[-3])->func_name);
 +                      n = lookup((yyvsp[-3])->func_name, true);
                        if (n != NULL && n->type != Node_func
                            && n->type != Node_ext_func) {
                                error_ln((yyvsp[-3])->source_line,
@@@ -4081,49 -4030,49 +4082,49 @@@
                        (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
- #line 4085 "awkgram.c" /* yacc.c:1646  */
 -#line 4034 "awkgram.c" /* yacc.c:1651  */
++#line 4086 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 178:
 -#line 1892 "awkgram.y" /* yacc.c:1651  */
 +  case 182:
- #line 1930 "awkgram.y" /* yacc.c:1646  */
++#line 1930 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 4091 "awkgram.c" /* yacc.c:1646  */
 -#line 4040 "awkgram.c" /* yacc.c:1651  */
++#line 4092 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 179:
 -#line 1894 "awkgram.y" /* yacc.c:1651  */
 +  case 183:
- #line 1932 "awkgram.y" /* yacc.c:1646  */
++#line 1932 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 4097 "awkgram.c" /* yacc.c:1646  */
 -#line 4046 "awkgram.c" /* yacc.c:1651  */
++#line 4098 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 180:
 -#line 1899 "awkgram.y" /* yacc.c:1651  */
 +  case 184:
- #line 1937 "awkgram.y" /* yacc.c:1646  */
++#line 1937 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 4103 "awkgram.c" /* yacc.c:1646  */
 -#line 4052 "awkgram.c" /* yacc.c:1651  */
++#line 4104 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 181:
 -#line 1901 "awkgram.y" /* yacc.c:1651  */
 +  case 185:
- #line 1939 "awkgram.y" /* yacc.c:1646  */
++#line 1939 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[-1]); }
- #line 4109 "awkgram.c" /* yacc.c:1646  */
 -#line 4058 "awkgram.c" /* yacc.c:1651  */
++#line 4110 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 182:
 -#line 1906 "awkgram.y" /* yacc.c:1651  */
 +  case 186:
- #line 1944 "awkgram.y" /* yacc.c:1646  */
++#line 1944 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 4115 "awkgram.c" /* yacc.c:1646  */
 -#line 4064 "awkgram.c" /* yacc.c:1651  */
++#line 4116 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 183:
 -#line 1908 "awkgram.y" /* yacc.c:1651  */
 +  case 187:
- #line 1946 "awkgram.y" /* yacc.c:1646  */
++#line 1946 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4123 "awkgram.c" /* yacc.c:1646  */
 -#line 4072 "awkgram.c" /* yacc.c:1651  */
++#line 4124 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 184:
 -#line 1915 "awkgram.y" /* yacc.c:1651  */
 +  case 188:
- #line 1953 "awkgram.y" /* yacc.c:1646  */
++#line 1953 "awkgram.y" /* yacc.c:1651  */
      {
                INSTRUCTION *ip = (yyvsp[0])->lasti;
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
@@@ -4137,11 -4086,11 +4138,11 @@@
                sub_counter++;  /* count # of dimensions */
                (yyval) = (yyvsp[0]);
          }
- #line 4141 "awkgram.c" /* yacc.c:1646  */
 -#line 4090 "awkgram.c" /* yacc.c:1651  */
++#line 4142 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 185:
 -#line 1932 "awkgram.y" /* yacc.c:1651  */
 +  case 189:
- #line 1970 "awkgram.y" /* yacc.c:1646  */
++#line 1970 "awkgram.y" /* yacc.c:1651  */
      {
                INSTRUCTION *t = (yyvsp[-1]);
                if ((yyvsp[-1]) == NULL) {
@@@ -4155,31 -4104,31 +4156,31 @@@
                        (yyvsp[0])->sub_count = count_expressions(&t, false);
                (yyval) = list_append(t, (yyvsp[0]));
          }
- #line 4159 "awkgram.c" /* yacc.c:1646  */
 -#line 4108 "awkgram.c" /* yacc.c:1651  */
++#line 4160 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 186:
 -#line 1949 "awkgram.y" /* yacc.c:1651  */
 +  case 190:
- #line 1987 "awkgram.y" /* yacc.c:1646  */
++#line 1987 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); }
- #line 4165 "awkgram.c" /* yacc.c:1646  */
 -#line 4114 "awkgram.c" /* yacc.c:1651  */
++#line 4166 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 187:
 -#line 1951 "awkgram.y" /* yacc.c:1651  */
 +  case 191:
- #line 1989 "awkgram.y" /* yacc.c:1646  */
++#line 1989 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4173 "awkgram.c" /* yacc.c:1646  */
 -#line 4122 "awkgram.c" /* yacc.c:1651  */
++#line 4174 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 188:
 -#line 1958 "awkgram.y" /* yacc.c:1651  */
 +  case 192:
- #line 1996 "awkgram.y" /* yacc.c:1646  */
++#line 1996 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[-1]); }
- #line 4179 "awkgram.c" /* yacc.c:1646  */
 -#line 4128 "awkgram.c" /* yacc.c:1651  */
++#line 4180 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 189:
 -#line 1963 "awkgram.y" /* yacc.c:1651  */
 +  case 193:
- #line 2001 "awkgram.y" /* yacc.c:1646  */
++#line 2001 "awkgram.y" /* yacc.c:1651  */
      {
                char *var_name = (yyvsp[0])->lextok;
  
@@@ -4187,22 -4136,22 +4188,22 @@@
                (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
var_name, Node_var_new);
                (yyval) = list_create((yyvsp[0]));
          }
- #line 4191 "awkgram.c" /* yacc.c:1646  */
 -#line 4140 "awkgram.c" /* yacc.c:1651  */
++#line 4192 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 190:
 -#line 1971 "awkgram.y" /* yacc.c:1651  */
 +  case 194:
- #line 2009 "awkgram.y" /* yacc.c:1646  */
++#line 2009 "awkgram.y" /* yacc.c:1651  */
      {
                char *arr = (yyvsp[-1])->lextok;
                (yyvsp[-1])->memory = variable((yyvsp[-1])->source_line, arr, 
Node_var_new);
                (yyvsp[-1])->opcode = Op_push_array;
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-1]));
          }
- #line 4202 "awkgram.c" /* yacc.c:1646  */
 -#line 4151 "awkgram.c" /* yacc.c:1651  */
++#line 4203 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 191:
 -#line 1981 "awkgram.y" /* yacc.c:1651  */
 +  case 195:
- #line 2019 "awkgram.y" /* yacc.c:1646  */
++#line 2019 "awkgram.y" /* yacc.c:1651  */
      {
                INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
@@@ -4214,73 -4163,73 +4215,73 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 4218 "awkgram.c" /* yacc.c:1646  */
 -#line 4167 "awkgram.c" /* yacc.c:1651  */
++#line 4219 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 192:
 -#line 1993 "awkgram.y" /* yacc.c:1651  */
 +  case 196:
- #line 2031 "awkgram.y" /* yacc.c:1646  */
++#line 2031 "awkgram.y" /* yacc.c:1651  */
      {
                (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                if ((yyvsp[0]) != NULL)
                        mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 4228 "awkgram.c" /* yacc.c:1646  */
 -#line 4177 "awkgram.c" /* yacc.c:1651  */
++#line 4229 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 193:
 -#line 2002 "awkgram.y" /* yacc.c:1651  */
 +  case 197:
- #line 2040 "awkgram.y" /* yacc.c:1646  */
++#line 2040 "awkgram.y" /* yacc.c:1651  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
          }
- #line 4236 "awkgram.c" /* yacc.c:1646  */
 -#line 4185 "awkgram.c" /* yacc.c:1651  */
++#line 4237 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 194:
 -#line 2006 "awkgram.y" /* yacc.c:1651  */
 +  case 198:
- #line 2044 "awkgram.y" /* yacc.c:1646  */
++#line 2044 "awkgram.y" /* yacc.c:1651  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
          }
- #line 4244 "awkgram.c" /* yacc.c:1646  */
 -#line 4193 "awkgram.c" /* yacc.c:1651  */
++#line 4245 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 195:
 -#line 2009 "awkgram.y" /* yacc.c:1651  */
 +  case 199:
- #line 2047 "awkgram.y" /* yacc.c:1646  */
++#line 2047 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = NULL; }
- #line 4250 "awkgram.c" /* yacc.c:1646  */
 -#line 4199 "awkgram.c" /* yacc.c:1651  */
++#line 4251 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 197:
 -#line 2017 "awkgram.y" /* yacc.c:1651  */
 +  case 201:
- #line 2055 "awkgram.y" /* yacc.c:1646  */
++#line 2055 "awkgram.y" /* yacc.c:1651  */
      { yyerrok; }
- #line 4256 "awkgram.c" /* yacc.c:1646  */
 -#line 4205 "awkgram.c" /* yacc.c:1651  */
++#line 4257 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 198:
 -#line 2021 "awkgram.y" /* yacc.c:1651  */
 +  case 202:
- #line 2059 "awkgram.y" /* yacc.c:1646  */
++#line 2059 "awkgram.y" /* yacc.c:1651  */
      { yyerrok; }
- #line 4262 "awkgram.c" /* yacc.c:1646  */
 -#line 4211 "awkgram.c" /* yacc.c:1651  */
++#line 4263 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 201:
 -#line 2030 "awkgram.y" /* yacc.c:1651  */
 +  case 205:
- #line 2068 "awkgram.y" /* yacc.c:1646  */
++#line 2068 "awkgram.y" /* yacc.c:1651  */
      { yyerrok; }
- #line 4268 "awkgram.c" /* yacc.c:1646  */
 -#line 4217 "awkgram.c" /* yacc.c:1651  */
++#line 4269 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 202:
 -#line 2034 "awkgram.y" /* yacc.c:1651  */
 +  case 206:
- #line 2072 "awkgram.y" /* yacc.c:1646  */
++#line 2072 "awkgram.y" /* yacc.c:1651  */
      { (yyval) = (yyvsp[0]); yyerrok; }
- #line 4274 "awkgram.c" /* yacc.c:1646  */
 -#line 4223 "awkgram.c" /* yacc.c:1651  */
++#line 4275 "awkgram.c" /* yacc.c:1651  */
      break;
  
 -  case 203:
 -#line 2038 "awkgram.y" /* yacc.c:1651  */
 +  case 207:
- #line 2076 "awkgram.y" /* yacc.c:1646  */
++#line 2076 "awkgram.y" /* yacc.c:1651  */
      { yyerrok; }
- #line 4280 "awkgram.c" /* yacc.c:1646  */
 -#line 4229 "awkgram.c" /* yacc.c:1651  */
++#line 4281 "awkgram.c" /* yacc.c:1651  */
      break;
  
  
- #line 4284 "awkgram.c" /* yacc.c:1646  */
 -#line 4233 "awkgram.c" /* yacc.c:1651  */
++#line 4285 "awkgram.c" /* yacc.c:1651  */
        default: break;
      }
    /* User semantic actions sometimes alter yychar, and that requires
@@@ -4508,7 -4457,7 +4509,7 @@@ yyreturn
  #endif
    return yyresult;
  }
- #line 2078 "awkgram.y" /* yacc.c:1906  */
 -#line 2040 "awkgram.y" /* yacc.c:1910  */
++#line 2078 "awkgram.y" /* yacc.c:1910  */
  
  
  struct token {
diff --cc command.c
index 1d4932f,1d4b61f..c5d5cb0
--- a/command.c
+++ b/command.c
@@@ -1956,10 -1957,10 +1957,10 @@@ yyreduce
      break;
  
    case 82:
- #line 472 "command.y" /* yacc.c:1646  */
+ #line 472 "command.y" /* yacc.c:1651  */
      {
                NODE *n;
 -              n = lookup((yyvsp[0])->a_string);
 +              n = lookup((yyvsp[0])->a_string, true);
                if (n == NULL || n->type != Node_func)
                        yyerror(_("no such function - \"%s\""), 
(yyvsp[0])->a_string);
                else {

-----------------------------------------------------------------------

Summary of changes:
 ABOUT-NLS             | 1108 ++++++++++++++++++++++++-------------------------
 ChangeLog             |   26 ++
 Makefile.in           |  174 +++++---
 NEWS                  |    2 +
 aclocal.m4            |  189 ++++-----
 awkgram.c             |  775 +++++++++++++++++-----------------
 awklib/ChangeLog      |    4 +
 awklib/Makefile.in    |   58 ++-
 builtin.c             |    3 +-
 command.c             |  317 +++++++-------
 config.rpath          |    2 +-
 configure             |  218 +++++-----
 configure.ac          |    2 +-
 doc/ChangeLog         |    4 +
 doc/Makefile.in       |   13 +-
 extension/ChangeLog   |    5 +
 extension/Makefile.in |  110 +++--
 extension/aclocal.m4  |  191 ++++-----
 extension/configure   |  191 ++++-----
 extras/ChangeLog      |    4 +
 extras/Makefile.in    |   13 +-
 field.c               |    7 +
 gettext.h             |   15 +-
 m4/ChangeLog          |   11 +
 m4/gettext.m4         |   31 +-
 m4/iconv.m4           |    2 +-
 m4/lib-ld.m4          |    2 +-
 m4/lib-link.m4        |    2 +-
 m4/lib-prefix.m4      |    2 +-
 m4/nls.m4             |    4 +-
 m4/po.m4              |    2 +-
 m4/progtest.m4        |    2 +-
 po/ChangeLog          |    4 +
 po/Makefile.in.in     |    2 +-
 support/ChangeLog     |    4 +
 support/Makefile.in   |   74 ++--
 test/ChangeLog        |    4 +
 test/Makefile.in      |   13 +-
 38 files changed, 1910 insertions(+), 1680 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]