gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, constants, updated. gawk-4.1.0-366-g2cfa


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, constants, updated. gawk-4.1.0-366-g2cfadaa
Date: Thu, 20 Feb 2014 18:52:24 +0000

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, constants has been updated
       via  2cfadaaedba9ac81f3183dc6ccc1b699c52faac1 (commit)
       via  0b8ef4f18527f751ef60fc3202cd7143079121fb (commit)
       via  c0aeaf87402aa2670e76a32a888053fb64b879b0 (commit)
       via  2ce455acf7229b635cf7822063ac8c3f13d1ab80 (commit)
       via  b4aa6a524d929ecf7c458acc456db50d6f11e7f4 (commit)
       via  5e3f96e34832b2db0b33e38280643ff336c34450 (commit)
       via  5a41f696c4b8251583f5516084eaba3b752cb7f6 (commit)
       via  6a0dfc98997cf61f34ed04904ee7b7e9124338ef (commit)
       via  21a94b55d96dc3e78a2f2eae11511038639e30ee (commit)
       via  c0949ab99d94f660e1081b6e424dc622a403fc06 (commit)
       via  994a2a5e18b9cd41168f1d9526fc6ce0130453c8 (commit)
       via  3bf0935358ff2675f1329d3db5e1c02f2a7fe665 (commit)
       via  1e8ab702f8a94ae0c53fc6d65698e037f200b39e (commit)
       via  ddf5569cacf57c9dfebb3dd3db325da7fbbd033e (commit)
       via  a6131306dd49537de45afdfdc6d4ad2dcac7655b (commit)
       via  4311907208592a2c617251a5cd3792d97f94be6a (commit)
       via  858d9d8eeb7c0869b035c850e0646204302c2229 (commit)
       via  7292540a9f11befc187bc77e56846f94ec0bda58 (commit)
       via  99642b09a12c4448e409b8357dd999d3ef3a776e (commit)
       via  70d4fd5995f9a2dbc3ccec19d27536f6931ae38d (commit)
       via  2a80681e33f26908d19cebf043b28c951f2b82ef (commit)
       via  c9d672c5a1b2b6f1094ac0f3cc9d51c3ad02ea5c (commit)
       via  b8d5e85062765f4bad3a05f6186bc6b7c25abd84 (commit)
       via  489a63923b753883500b8981b1fa578491d8f4ad (commit)
       via  297ddda23ef3be22274481316ac708a389cfd23c (commit)
       via  9c2180330d85a9915b14c5fb5346dbc90b49fe87 (commit)
       via  ffef130c33f07bd245823413e6f12105aa8dcbf9 (commit)
       via  5a1e957a2cda7d1f0062454a1c6caa4c835bd201 (commit)
       via  1855be261370b4489136bcf14536e0a2db3bd13d (commit)
       via  d68ff70e48e7d695231b07f6a55a5d98a77ac4b4 (commit)
       via  4cb70d5caf61fcb63b2b4b8995e063aa96238dae (commit)
       via  8e1bb1e107849bba12e163026e5ac1bc9ddd7ec9 (commit)
       via  27c02ee1fc9b76fb39726f37481823982230ee73 (commit)
       via  c712957772b810b017088e7b052fa06495c44471 (commit)
       via  6e531b16714cc40800f812aee3780582957b9776 (commit)
       via  10418fbb452f98e5cc273165af76a600add1155c (commit)
       via  d326a1b2bdba07f2c54d53a2d16d46db96be40a9 (commit)
       via  f7f823dfd01a6f9778d4f41d7484f2175b80b1c5 (commit)
       via  fab63d983c15fae8301ca6b21c18ca27f86ba56a (commit)
       via  d9818e79d5bb15d4ded02ca99606beaf2eda0ae3 (commit)
       via  4d691ab28f594c2a85f5e5c6c5d93eb168fade70 (commit)
       via  ab8d7416c064c94e75d80431270321ceaa866719 (commit)
       via  d6c537443dc5954ca21a849b45dc5adedca6211c (commit)
       via  6520f31b24575ce7308a8b42c8b617568db6c4d8 (commit)
       via  3f8c0c06075b331d9f305f475f20e99c96fba95c (commit)
       via  c5530f370ba70004c2e0bbc712038eaacfd6b2ce (commit)
       via  1e40db7cc2181f19ed3c148b89cdf5ccb0f59426 (commit)
       via  8beb41f95ad7c273eab9c0494ffb0acd7ace2800 (commit)
       via  02e6fe03d51b8014d58b7ed268738c895082fb1e (commit)
       via  50dc29a3732f98eaeabd1f1f4ba9de5949adfed6 (commit)
       via  613cc894e9156425ba4b41f5a982471896686c2a (commit)
       via  944f051219045da8422813a31c9a3c9a99a78bb7 (commit)
       via  305c76c58fa92e4907ff82763362d7c1aa0d15ff (commit)
       via  b39b611a897ffcfc68c07dd5d9ea4ca08e024b21 (commit)
       via  7dbb03a642a1526e584b59e3fb4f18ef73acfe1a (commit)
       via  6a22d95b08e8200670f220540f73aad2195a616f (commit)
       via  51038bda2cde5e5a5a4fa1fd54626d4cb107e7ef (commit)
       via  a91bee03094f4f0b0cd0614cca65f2f1d68975ea (commit)
       via  c5dbf7830b722a52858c2ef633a6e8a927255c1b (commit)
       via  ccf651616825ba6e53390e3abc2c848b1120e231 (commit)
       via  f201d2c3f3f9ed7e8747727b16947d21a5f0c9ab (commit)
       via  cc368b6d3e146c38d2dbefad1e60f5bf3a2537e0 (commit)
       via  93a1a268246ed72edc71381069ace49d52bf8fec (commit)
       via  331e16c39a9658f67085b28e656417ee9d3b4b22 (commit)
       via  20ca1d1ba6e46f116e2dc169d263fd548b9bd074 (commit)
       via  9092450b4459af490e4d52ad3188d3282f36f726 (commit)
       via  4af359f9e6fb5030bdc1174c707b1728f029d7cf (commit)
       via  c4a448931a9f8a2bf3f4eb4f762fe3003d3f3bf3 (commit)
       via  e0e2a43526ebcc13602eb3e872391acbd2655796 (commit)
       via  5163d771a34406de44889c9e297699d04af13308 (commit)
       via  132f956360d721fccf4f3829044f5f6eceac3ffd (commit)
       via  801a3e8723268b5b61ecbf2063af9dc524f7235f (commit)
       via  ebb8473c5de46fdf08c98f65e5996ed4ba495684 (commit)
       via  06d509825fdd3cbcd25f76aaf2d3cdef03dd97bf (commit)
       via  f00fc299f09b0234660bf7c97ce458a4044ec111 (commit)
       via  133196310e68de01021a3da02536b67eba7ef3e5 (commit)
       via  a0414ef0949eaf66c467abd5009790a6f339b164 (commit)
       via  00db6f0be4e51725ab07db0e34164246bba57d16 (commit)
       via  699b3a96bfcdd281b4f0db447fcf80ba7fbc6ec6 (commit)
       via  9175c4e1b26dbdac5600df0b4d33717004c9a434 (commit)
       via  f93264497cc50140921c05ead6626bb13bae38a9 (commit)
       via  c32da51ad91ff617b9e0ee60ed2ffd1baa8b0047 (commit)
       via  ec9cd11f67b6c2cfca611cad48e65e711ed26a0b (commit)
       via  10a3517d40ab7015ac3c95aab50d7ae276155ede (commit)
       via  c338576a8fefa700cb989319d10d27f6f31e9b00 (commit)
       via  d983b3ec12841f248d906128932c87b4273ca518 (commit)
       via  2389064eb3fe7c5b2b144eb2f5d556a812ba1911 (commit)
       via  6d99e8c62118efcb42322d94b3160c2ee6c8698b (commit)
       via  074f0fcb34072abbbd56fc96630368fc7fa3115d (commit)
      from  0c841b6d2e32131adddaa99b44b246c260b0d40b (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=2cfadaaedba9ac81f3183dc6ccc1b699c52faac1

commit 2cfadaaedba9ac81f3183dc6ccc1b699c52faac1
Merge: 0c841b6 0b8ef4f
Author: Arnold D. Robbins <address@hidden>
Date:   Thu Feb 20 20:40:53 2014 +0200

    Merge branch 'master' into constants

diff --cc awkgram.c
index d23f34e,948e63b..1129684
--- a/awkgram.c
+++ b/awkgram.c
@@@ -226,65 -224,63 +224,64 @@@ extern double fmod(double x, double y)
  extern int yydebug;
  #endif
  
- /* Tokens.  */
+ /* Token type.  */
  #ifndef YYTOKENTYPE
  # define YYTOKENTYPE
-    /* Put the tokens into the symbol table, so that GDB and other debuggers
-       know about them.  */
-    enum yytokentype {
-      FUNC_CALL = 258,
-      NAME = 259,
-      REGEXP = 260,
-      FILENAME = 261,
-      YNUMBER = 262,
-      YSTRING = 263,
-      RELOP = 264,
-      IO_OUT = 265,
-      IO_IN = 266,
-      ASSIGNOP = 267,
-      ASSIGN = 268,
-      ASSIGN_CONST = 269,
-      MATCHOP = 270,
-      CONCAT_OP = 271,
-      SUBSCRIPT = 272,
-      LEX_BEGIN = 273,
-      LEX_END = 274,
-      LEX_IF = 275,
-      LEX_ELSE = 276,
-      LEX_RETURN = 277,
-      LEX_DELETE = 278,
-      LEX_SWITCH = 279,
-      LEX_CASE = 280,
-      LEX_DEFAULT = 281,
-      LEX_WHILE = 282,
-      LEX_DO = 283,
-      LEX_FOR = 284,
-      LEX_BREAK = 285,
-      LEX_CONTINUE = 286,
-      LEX_PRINT = 287,
-      LEX_PRINTF = 288,
-      LEX_NEXT = 289,
-      LEX_EXIT = 290,
-      LEX_FUNCTION = 291,
-      LEX_BEGINFILE = 292,
-      LEX_ENDFILE = 293,
-      LEX_GETLINE = 294,
-      LEX_NEXTFILE = 295,
-      LEX_IN = 296,
-      LEX_AND = 297,
-      LEX_OR = 298,
-      INCREMENT = 299,
-      DECREMENT = 300,
-      LEX_BUILTIN = 301,
-      LEX_LENGTH = 302,
-      LEX_EOF = 303,
-      LEX_INCLUDE = 304,
-      LEX_EVAL = 305,
-      LEX_LOAD = 306,
-      NEWLINE = 307,
-      SLASH_BEFORE_EQUAL = 308,
-      UNARY = 309
-    };
+   enum yytokentype
+   {
+     FUNC_CALL = 258,
+     NAME = 259,
+     REGEXP = 260,
+     FILENAME = 261,
+     YNUMBER = 262,
+     YSTRING = 263,
+     RELOP = 264,
+     IO_OUT = 265,
+     IO_IN = 266,
+     ASSIGNOP = 267,
+     ASSIGN = 268,
 -    MATCHOP = 269,
 -    CONCAT_OP = 270,
 -    SUBSCRIPT = 271,
 -    LEX_BEGIN = 272,
 -    LEX_END = 273,
 -    LEX_IF = 274,
 -    LEX_ELSE = 275,
 -    LEX_RETURN = 276,
 -    LEX_DELETE = 277,
 -    LEX_SWITCH = 278,
 -    LEX_CASE = 279,
 -    LEX_DEFAULT = 280,
 -    LEX_WHILE = 281,
 -    LEX_DO = 282,
 -    LEX_FOR = 283,
 -    LEX_BREAK = 284,
 -    LEX_CONTINUE = 285,
 -    LEX_PRINT = 286,
 -    LEX_PRINTF = 287,
 -    LEX_NEXT = 288,
 -    LEX_EXIT = 289,
 -    LEX_FUNCTION = 290,
 -    LEX_BEGINFILE = 291,
 -    LEX_ENDFILE = 292,
 -    LEX_GETLINE = 293,
 -    LEX_NEXTFILE = 294,
 -    LEX_IN = 295,
 -    LEX_AND = 296,
 -    LEX_OR = 297,
 -    INCREMENT = 298,
 -    DECREMENT = 299,
 -    LEX_BUILTIN = 300,
 -    LEX_LENGTH = 301,
 -    LEX_EOF = 302,
 -    LEX_INCLUDE = 303,
 -    LEX_EVAL = 304,
 -    LEX_LOAD = 305,
 -    NEWLINE = 306,
 -    SLASH_BEFORE_EQUAL = 307,
 -    UNARY = 308
++    ASSIGN_CONST = 269,
++    MATCHOP = 270,
++    CONCAT_OP = 271,
++    SUBSCRIPT = 272,
++    LEX_BEGIN = 273,
++    LEX_END = 274,
++    LEX_IF = 275,
++    LEX_ELSE = 276,
++    LEX_RETURN = 277,
++    LEX_DELETE = 278,
++    LEX_SWITCH = 279,
++    LEX_CASE = 280,
++    LEX_DEFAULT = 281,
++    LEX_WHILE = 282,
++    LEX_DO = 283,
++    LEX_FOR = 284,
++    LEX_BREAK = 285,
++    LEX_CONTINUE = 286,
++    LEX_PRINT = 287,
++    LEX_PRINTF = 288,
++    LEX_NEXT = 289,
++    LEX_EXIT = 290,
++    LEX_FUNCTION = 291,
++    LEX_BEGINFILE = 292,
++    LEX_ENDFILE = 293,
++    LEX_GETLINE = 294,
++    LEX_NEXTFILE = 295,
++    LEX_IN = 296,
++    LEX_AND = 297,
++    LEX_OR = 298,
++    INCREMENT = 299,
++    DECREMENT = 300,
++    LEX_BUILTIN = 301,
++    LEX_LENGTH = 302,
++    LEX_EOF = 303,
++    LEX_INCLUDE = 304,
++    LEX_EVAL = 305,
++    LEX_LOAD = 306,
++    NEWLINE = 307,
++    SLASH_BEFORE_EQUAL = 308,
++    UNARY = 309
+   };
  #endif
  /* Tokens.  */
  #define FUNC_CALL 258
@@@ -298,50 -294,48 +295,49 @@@
  #define IO_IN 266
  #define ASSIGNOP 267
  #define ASSIGN 268
 -#define MATCHOP 269
 -#define CONCAT_OP 270
 -#define SUBSCRIPT 271
 -#define LEX_BEGIN 272
 -#define LEX_END 273
 -#define LEX_IF 274
 -#define LEX_ELSE 275
 -#define LEX_RETURN 276
 -#define LEX_DELETE 277
 -#define LEX_SWITCH 278
 -#define LEX_CASE 279
 -#define LEX_DEFAULT 280
 -#define LEX_WHILE 281
 -#define LEX_DO 282
 -#define LEX_FOR 283
 -#define LEX_BREAK 284
 -#define LEX_CONTINUE 285
 -#define LEX_PRINT 286
 -#define LEX_PRINTF 287
 -#define LEX_NEXT 288
 -#define LEX_EXIT 289
 -#define LEX_FUNCTION 290
 -#define LEX_BEGINFILE 291
 -#define LEX_ENDFILE 292
 -#define LEX_GETLINE 293
 -#define LEX_NEXTFILE 294
 -#define LEX_IN 295
 -#define LEX_AND 296
 -#define LEX_OR 297
 -#define INCREMENT 298
 -#define DECREMENT 299
 -#define LEX_BUILTIN 300
 -#define LEX_LENGTH 301
 -#define LEX_EOF 302
 -#define LEX_INCLUDE 303
 -#define LEX_EVAL 304
 -#define LEX_LOAD 305
 -#define NEWLINE 306
 -#define SLASH_BEFORE_EQUAL 307
 -#define UNARY 308
 +#define ASSIGN_CONST 269
 +#define MATCHOP 270
 +#define CONCAT_OP 271
 +#define SUBSCRIPT 272
 +#define LEX_BEGIN 273
 +#define LEX_END 274
 +#define LEX_IF 275
 +#define LEX_ELSE 276
 +#define LEX_RETURN 277
 +#define LEX_DELETE 278
 +#define LEX_SWITCH 279
 +#define LEX_CASE 280
 +#define LEX_DEFAULT 281
 +#define LEX_WHILE 282
 +#define LEX_DO 283
 +#define LEX_FOR 284
 +#define LEX_BREAK 285
 +#define LEX_CONTINUE 286
 +#define LEX_PRINT 287
 +#define LEX_PRINTF 288
 +#define LEX_NEXT 289
 +#define LEX_EXIT 290
 +#define LEX_FUNCTION 291
 +#define LEX_BEGINFILE 292
 +#define LEX_ENDFILE 293
 +#define LEX_GETLINE 294
 +#define LEX_NEXTFILE 295
 +#define LEX_IN 296
 +#define LEX_AND 297
 +#define LEX_OR 298
 +#define INCREMENT 299
 +#define DECREMENT 300
 +#define LEX_BUILTIN 301
 +#define LEX_LENGTH 302
 +#define LEX_EOF 303
 +#define LEX_INCLUDE 304
 +#define LEX_EVAL 305
 +#define LEX_LOAD 306
 +#define NEWLINE 307
 +#define SLASH_BEFORE_EQUAL 308
 +#define UNARY 309
  
- 
- 
+ /* Value type.  */
  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
  typedef int YYSTYPE;
  # define YYSTYPE_IS_TRIVIAL 1
@@@ -369,8 -351,7 +353,7 @@@ int yyparse (void)
  
  /* Copy the second part of user declarations.  */
  
- /* Line 390 of yacc.c  */
- #line 374 "awkgram.c"
 -#line 355 "awkgram.c" /* yacc.c:358  */
++#line 357 "awkgram.c" /* yacc.c:358  */
  
  #ifdef short
  # undef short
@@@ -606,18 -600,20 +602,20 @@@ union yyallo
  /* YYNNTS -- Number of nonterminals.  */
  #define YYNNTS  65
  /* YYNRULES -- Number of rules.  */
 -#define YYNRULES  188
 +#define YYNRULES  189
- /* YYNRULES -- Number of states.  */
+ /* YYNSTATES -- Number of states.  */
 -#define YYNSTATES  335
 +#define YYNSTATES  336
  
- /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+ /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+    by yylex, with out-of-bounds checking.  */
  #define YYUNDEFTOK  2
 -#define YYMAXUTOK   308
 +#define YYMAXUTOK   309
  
- #define YYTRANSLATE(YYX)                                              \
+ #define YYTRANSLATE(YYX)                                                \
    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
  
- /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+ /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+    as returned by yylex, without out-of-bounds checking.  */
  static const yytype_uint8 yytranslate[] =
  {
         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@@ -775,30 -682,29 +684,30 @@@ static const char *const yytname[] 
  {
    "$end", "error", "$undefined", "FUNC_CALL", "NAME", "REGEXP",
    "FILENAME", "YNUMBER", "YSTRING", "RELOP", "IO_OUT", "IO_IN", "ASSIGNOP",
 -  "ASSIGN", "MATCHOP", "CONCAT_OP", "SUBSCRIPT", "LEX_BEGIN", "LEX_END",
 -  "LEX_IF", "LEX_ELSE", "LEX_RETURN", "LEX_DELETE", "LEX_SWITCH",
 -  "LEX_CASE", "LEX_DEFAULT", "LEX_WHILE", "LEX_DO", "LEX_FOR", "LEX_BREAK",
 -  "LEX_CONTINUE", "LEX_PRINT", "LEX_PRINTF", "LEX_NEXT", "LEX_EXIT",
 -  "LEX_FUNCTION", "LEX_BEGINFILE", "LEX_ENDFILE", "LEX_GETLINE",
 -  "LEX_NEXTFILE", "LEX_IN", "LEX_AND", "LEX_OR", "INCREMENT", "DECREMENT",
 -  "LEX_BUILTIN", "LEX_LENGTH", "LEX_EOF", "LEX_INCLUDE", "LEX_EVAL",
 -  "LEX_LOAD", "NEWLINE", "SLASH_BEFORE_EQUAL", "'?'", "':'", "','", "'<'",
 -  "'>'", "'+'", "'-'", "'*'", "'/'", "'%'", "'!'", "UNARY", "'^'", "'$'",
 -  "'('", "')'", "'@'", "'['", "']'", "'{'", "'}'", "';'", "$accept",
 -  "program", "rule", "source", "library", "pattern", "action", "func_name",
 -  "lex_builtin", "function_prologue", "regexp", "address@hidden", "a_slash",
 -  "statements", "statement_term", "statement", "non_compound_stmt", 
"address@hidden",
 -  "simple_stmt", "address@hidden", "address@hidden", "opt_simple_stmt", 
"case_statements",
 -  "case_statement", "case_value", "print", "print_expression_list",
 -  "output_redir", "address@hidden", "if_statement", "nls", "opt_nls", 
"input_redir",
 -  "opt_param_list", "param_list", "opt_exp", "opt_expression_list",
 -  "expression_list", "exp", "assign_operator", "relop_or_less", "a_relop",
 -  "common_exp", "simp_exp", "simp_exp_nc", "non_post_simp_exp",
 -  "func_call", "direct_func_call", "opt_variable", "delete_subscript_list",
 -  "delete_subscript", "delete_exp_list", "bracketed_exp_list", "subscript",
 -  "subscript_list", "simple_variable", "variable", "opt_incdec", "l_brace",
 -  "r_brace", "r_paren", "opt_semi", "semi", "colon", "comma", YY_NULLPTR
 +  "ASSIGN", "ASSIGN_CONST", "MATCHOP", "CONCAT_OP", "SUBSCRIPT",
 +  "LEX_BEGIN", "LEX_END", "LEX_IF", "LEX_ELSE", "LEX_RETURN", "LEX_DELETE",
 +  "LEX_SWITCH", "LEX_CASE", "LEX_DEFAULT", "LEX_WHILE", "LEX_DO",
 +  "LEX_FOR", "LEX_BREAK", "LEX_CONTINUE", "LEX_PRINT", "LEX_PRINTF",
 +  "LEX_NEXT", "LEX_EXIT", "LEX_FUNCTION", "LEX_BEGINFILE", "LEX_ENDFILE",
 +  "LEX_GETLINE", "LEX_NEXTFILE", "LEX_IN", "LEX_AND", "LEX_OR",
 +  "INCREMENT", "DECREMENT", "LEX_BUILTIN", "LEX_LENGTH", "LEX_EOF",
 +  "LEX_INCLUDE", "LEX_EVAL", "LEX_LOAD", "NEWLINE", "SLASH_BEFORE_EQUAL",
 +  "'?'", "':'", "','", "'<'", "'>'", "'+'", "'-'", "'*'", "'/'", "'%'",
 +  "'!'", "UNARY", "'^'", "'$'", "'('", "')'", "'@'", "'['", "']'", "'{'",
 +  "'}'", "';'", "$accept", "program", "rule", "source", "library",
 +  "pattern", "action", "func_name", "lex_builtin", "function_prologue",
 +  "regexp", "address@hidden", "a_slash", "statements", "statement_term", 
"statement",
 +  "non_compound_stmt", "address@hidden", "simple_stmt", "address@hidden", 
"address@hidden",
 +  "opt_simple_stmt", "case_statements", "case_statement", "case_value",
 +  "print", "print_expression_list", "output_redir", "address@hidden", 
"if_statement",
 +  "nls", "opt_nls", "input_redir", "opt_param_list", "param_list",
 +  "opt_exp", "opt_expression_list", "expression_list", "exp",
 +  "assign_operator", "relop_or_less", "a_relop", "common_exp", "simp_exp",
 +  "simp_exp_nc", "non_post_simp_exp", "func_call", "direct_func_call",
 +  "opt_variable", "delete_subscript_list", "delete_subscript",
 +  "delete_exp_list", "bracketed_exp_list", "subscript", "subscript_list",
 +  "simple_variable", "variable", "opt_incdec", "l_brace", "r_brace",
-   "r_paren", "opt_semi", "semi", "colon", "comma", YY_NULL
++  "r_paren", "opt_semi", "semi", "colon", "comma", YY_NULLPTR
  };
  #endif
  
@@@ -818,468 -724,462 +727,456 @@@ static const yytype_uint16 yytoknum[] 
  };
  # endif
  
- /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
- static const yytype_uint8 yyr1[] =
- {
-        0,    76,    77,    77,    77,    77,    77,    78,    78,    78,
-       78,    78,    79,    79,    79,    80,    80,    80,    81,    81,
-       81,    81,    81,    81,    81,    82,    83,    83,    83,    83,
-       84,    84,    85,    87,    86,    88,    88,    89,    89,    89,
-       90,    90,    91,    91,    91,    91,    91,    91,    91,    91,
-       91,    91,    92,    92,    92,    92,    92,    93,    92,    92,
-       95,    94,    96,    94,    94,    94,    97,    97,    98,    98,
-       98,    99,    99,   100,   100,   100,   100,   100,   101,   101,
-      102,   102,   103,   104,   103,   105,   105,   106,   106,   107,
-      107,   108,   108,   109,   109,   110,   110,   110,   110,   110,
-      111,   111,   112,   112,   113,   113,   113,   113,   113,   113,
-      114,   114,   114,   114,   114,   114,   114,   114,   115,   115,
-      115,   115,   116,   116,   117,   117,   118,   118,   118,   119,
-      119,   119,   119,   119,   119,   119,   119,   119,   119,   119,
-      120,   120,   120,   120,   120,   120,   120,   121,   121,   121,
-      121,   121,   121,   121,   121,   121,   121,   121,   121,   121,
-      121,   122,   122,   123,   124,   124,   125,   125,   126,   126,
-      127,   128,   129,   129,   130,   131,   131,   132,   132,   133,
-      133,   133,   134,   135,   136,   137,   137,   138,   139,   140
- };
 -#define YYPACT_NINF -273
++#define YYPACT_NINF -267
  
- /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
- static const yytype_uint8 yyr2[] =
- {
-        0,     2,     0,     2,     2,     2,     2,     2,     2,     2,
-        4,     4,     1,     2,     1,     1,     2,     1,     0,     1,
-        4,     1,     1,     1,     1,     5,     1,     1,     1,     2,
-        1,     1,     6,     0,     3,     1,     1,     0,     2,     2,
-        1,     2,     2,     3,     1,     9,     6,     8,     8,    12,
-       11,     1,     2,     2,     2,     2,     3,     0,     4,     2,
-        0,     4,     0,     4,     4,     1,     0,     1,     0,     2,
-        2,     5,     4,     1,     2,     2,     1,     1,     1,     1,
-        1,     3,     0,     0,     3,     6,     9,     1,     2,     0,
-        1,     0,     2,     0,     1,     1,     3,     1,     2,     3,
-        0,     1,     0,     1,     1,     3,     1,     2,     3,     3,
-        3,     3,     3,     3,     3,     3,     5,     1,     1,     1,
-        1,     2,     1,     1,     1,     1,     1,     1,     2,     1,
-        3,     3,     3,     3,     3,     3,     3,     2,     2,     5,
-        4,     3,     3,     3,     3,     3,     3,     1,     2,     3,
-        4,     4,     1,     1,     1,     2,     2,     1,     1,     2,
-        2,     1,     2,     4,     0,     1,     0,     2,     1,     2,
-        1,     3,     1,     2,     2,     1,     2,     1,     3,     1,
-        1,     0,     2,     2,     1,     0,     1,     1,     1,     2
- };
+ #define yypact_value_is_default(Yystate) \
 -  (!!((Yystate) == (-273)))
++  (!!((Yystate) == (-267)))
  
- /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
-    Performed when YYTABLE doesn't specify something else to do.  Zero
-    means the default is an error.  */
- static const yytype_uint8 yydefact[] =
- {
-        2,     0,     1,     6,     0,   175,   157,   158,    21,    22,
-        0,    23,    24,   164,     0,     0,     0,   152,     5,    87,
-       36,     0,     0,    35,     0,     0,     0,     0,     3,     0,
-        0,   147,    33,     4,    19,   117,   126,   127,   129,   153,
-      161,   177,   154,     0,     0,   172,     0,   176,    27,    26,
-       30,    31,     0,     0,    28,    91,   165,   155,   156,     0,
-        0,     0,   160,   154,   159,   148,     0,   181,   154,   106,
-        0,   104,     0,     0,   162,    89,   187,     7,     8,    40,
-       37,    89,     9,     0,    88,   122,     0,     0,     0,     0,
-        0,    89,   123,   125,   124,     0,     0,   128,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      119,   118,   120,   137,   138,     0,     0,     0,     0,   104,
-        0,   174,   173,    29,     0,     0,   136,     0,     0,     0,
-      179,   180,   178,   107,    89,   184,     0,     0,   149,    14,
-        0,     0,    17,     0,     0,    90,   182,     0,    41,    34,
-      113,   114,   111,   112,     0,     0,   115,   164,   134,   135,
-      131,   132,   133,   130,   145,   146,   142,   143,   144,   141,
-      121,   110,   163,   171,    97,    95,     0,     0,    92,   150,
-      151,   108,   189,     0,   109,   105,    13,    10,    16,    11,
-       39,     0,    57,     0,     0,     0,    89,     0,     0,     0,
-       78,    79,     0,   100,     0,    89,    38,    51,     0,    60,
-       44,    65,    37,   185,    89,     0,    20,   140,    89,    98,
-        0,   139,     0,   100,    62,     0,     0,     0,     0,    66,
-       52,    53,    54,     0,   101,    55,   183,    59,     0,     0,
-       89,   186,    42,   116,    32,    99,    96,     0,     0,   166,
-        0,     0,     0,     0,   175,    67,     0,    56,     0,    82,
-       80,    43,    25,    89,    58,    63,     0,   168,   170,    64,
-       89,    89,     0,     0,    89,     0,    83,    61,     0,   167,
-      169,     0,     0,     0,     0,     0,    81,     0,    85,    68,
-       46,     0,    89,     0,    89,    84,    89,     0,    89,     0,
-       89,    66,     0,    70,     0,     0,    69,     0,    47,    48,
-       66,     0,    86,    73,    76,     0,     0,    77,     0,   188,
-       89,    45,     0,    89,    75,    74,    89,    37,    89,     0,
-       37,     0,     0,    50,     0,    49
- };
+ #define YYTABLE_NINF -104
  
- /* YYDEFGOTO[NTERM-NUM].  */
- static const yytype_int16 yydefgoto[] =
- {
-       -1,     1,    28,   141,   144,    29,    77,    53,    54,    30,
-       31,    83,    32,   147,    78,   206,   207,   223,   208,   238,
-      249,   256,   297,   306,   318,   209,   259,   277,   287,   210,
-      145,   146,   126,   176,   177,   233,   117,   118,   211,   116,
-       94,    95,    35,    36,    37,    38,    39,    40,    55,   265,
-      266,   267,    45,    46,    47,    41,    42,   132,   212,   213,
-      138,   240,   214,   320,   137
- };
+ #define yytable_value_is_error(Yytable_value) \
+   (!!((Yytable_value) == (-104)))
  
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-    STATE-NUM.  */
- #define YYPACT_NINF -267
+   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+      STATE-NUM.  */
  static const yytype_int16 yypact[] =
  {
 -    -273,   376,  -273,  -273,   -27,   -21,  -273,  -273,  -273,  -273,
 -     157,  -273,  -273,    11,    11,    11,    -5,    -3,  -273,  -273,
 -    -273,  1019,  1019,  -273,  1019,  1065,   821,   116,  -273,   -20,
 -       1,  -273,  -273,    35,   758,   992,   252,   296,  -273,  -273,
 -    -273,  -273,   233,   789,   821,  -273,     2,  -273,  -273,  -273,
 -    -273,  -273,    63,    54,  -273,    69,  -273,  -273,  -273,   789,
 -     789,   127,    87,   115,    87,    87,  1019,   131,  -273,  -273,
 -      55,   295,    40,    47,  -273,    83,  -273,  -273,  -273,    35,
 -    -273,    83,  -273,   151,  -273,  -273,  1019,   132,  1019,  1019,
 -    1019,    83,  -273,  -273,  -273,  1019,   124,   252,  1019,  1019,
 -    1019,  1019,  1019,  1019,  1019,  1019,  1019,  1019,  1019,  1019,
 -    -273,  -273,  -273,  -273,   152,  1019,   100,    16,  1034,    37,
 -    -273,  -273,  -273,    43,  1019,  -273,   100,   100,   295,  -273,
 -    -273,  -273,  1019,    83,  -273,   137,   867,  -273,  -273,    75,
 -     -19,  -273,    77,   -19,    35,  -273,   596,  -273,  -273,   123,
 -    -273,   141,   175,  1098,  1019,   161,    11,   -26,   -26,    87,
 -      87,    87,    87,   -26,   -26,    87,    87,    87,    87,  -273,
 -    1034,  -273,  -273,  -273,  -273,   100,    65,   252,  -273,  -273,
 -    1034,  -273,   132,  -273,  1034,  -273,  -273,  -273,  -273,  -273,
 -     104,  -273,    26,   118,   119,    83,   121,   -19,   -19,  -273,
 -    -273,   -19,  1019,   -19,    83,  -273,  -273,   -19,  -273,  -273,
 -    1034,  -273,   117,    83,  1019,  1034,  -273,    83,  -273,   112,
 -    -273,  1019,  1019,  -273,   188,  1019,  1019,   710,   900,  -273,
 -    -273,  -273,   -19,  1034,  -273,  -273,  -273,   642,   596,    83,
 -    -273,  -273,  1034,  -273,  -273,  -273,   295,   -19,   -21,   126,
 -     295,   295,   169,   -13,  -273,   117,  -273,   821,   186,  -273,
 -    -273,  -273,    83,  -273,  -273,    13,  -273,  -273,  -273,    83,
 -      83,   139,   132,    83,    55,  -273,  -273,   710,  -273,  -273,
 -       1,   710,  1019,   100,   743,   137,  1019,   192,  -273,  -273,
 -     295,    83,   286,    83,   992,    83,    44,    83,   710,    83,
 -     946,   710,  -273,   247,   154,  -273,   156,  -273,  -273,   946,
 -     100,  -273,  -273,  -273,   226,   228,  -273,   154,  -273,    83,
 -    -273,   100,    83,  -273,  -273,    83,  -273,    83,   710,  -273,
 -     448,   710,  -273,   522,  -273
 +    -267,   372,  -267,  -267,   -30,   -22,  -267,  -267,  -267,  -267,
 +      88,  -267,  -267,    26,    26,    26,    -4,     0,  -267,  -267,
 +    -267,   977,   977,  -267,   977,  1024,   795,   156,  -267,   -20,
 +      -7,  -267,  -267,    19,  1039,   950,   288,   367,  -267,  -267,
 +    -267,  -267,   293,   748,   795,  -267,    11,  -267,  -267,  -267,
 +    -267,  -267,    20,    10,  -267,    27,  -267,  -267,  -267,   748,
 +     748,   119,    58,    -8,    58,    58,   977,    73,  -267,  -267,
 +     130,   344,    33,    45,  -267,    75,  -267,  -267,  -267,    19,
 +    -267,    75,  -267,   124,  -267,  -267,   977,   126,   977,   977,
 +     977,    75,  -267,  -267,  -267,   977,    94,   288,   977,   977,
 +     977,   977,   977,   977,   977,   977,   977,   977,   977,   977,
 +    -267,  -267,  -267,  -267,  -267,   136,   977,    87,   194,  1064,
 +      23,  -267,  -267,  -267,    44,   977,  -267,    87,    87,   344,
 +    -267,  -267,  -267,   977,    75,  -267,   116,   822,  -267,  -267,
 +       5,   -21,  -267,    15,   -21,    19,  -267,   595,  -267,  -267,
 +      18,  -267,   271,   111,  1057,   977,   105,    26,   128,   128,
 +      58,    58,    58,    58,   128,   128,    58,    58,    58,    58,
 +    -267,  1064,  -267,  -267,  -267,  -267,    87,   150,   288,  -267,
 +    -267,  1064,  -267,   126,  -267,  1064,  -267,  -267,  -267,  -267,
 +    -267,   103,  -267,    13,   107,   110,    75,   112,   -21,   -21,
 +    -267,  -267,   -21,   977,   -21,    75,  -267,  -267,   -21,  -267,
 +    -267,  1064,  -267,   118,    75,   977,  1064,  -267,    75,  -267,
 +      46,  -267,   977,   977,  -267,   205,   977,   977,   668,   870,
 +    -267,  -267,  -267,   -21,  1064,  -267,  -267,  -267,   251,   595,
 +      75,  -267,  -267,  1064,  -267,  -267,  -267,   344,   -21,   -22,
 +     129,   344,   344,   184,   -15,  -267,   118,  -267,   795,   203,
 +    -267,  -267,  -267,    75,  -267,  -267,    12,  -267,  -267,  -267,
 +      75,    75,   149,   126,    75,   130,  -267,  -267,   668,  -267,
 +    -267,    -7,   668,   977,    87,   715,   116,   977,   197,  -267,
 +    -267,   344,    75,   992,    75,   950,    75,   250,    75,   668,
 +      75,   903,   668,  -267,   263,   169,  -267,   154,  -267,  -267,
 +     903,    87,  -267,  -267,  -267,   223,   225,  -267,   169,  -267,
 +      75,  -267,    87,    75,  -267,  -267,    75,  -267,    75,   668,
 +    -267,   445,   668,  -267,   520,  -267
  };
  
- /* YYPGOTO[NTERM-NUM].  */
+   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+      Performed when YYTABLE does not specify something else to do.  Zero
+      means the default is an error.  */
+ static const yytype_uint8 yydefact[] =
+ {
 -       2,     0,     1,     6,     0,   174,   156,   157,    21,    22,
 -       0,    23,    24,   163,     0,     0,     0,   151,     5,    87,
++       2,     0,     1,     6,     0,   175,   157,   158,    21,    22,
++       0,    23,    24,   164,     0,     0,     0,   152,     5,    87,
+       36,     0,     0,    35,     0,     0,     0,     0,     3,     0,
 -       0,   146,    33,     4,    19,   117,   125,   126,   128,   152,
 -     160,   176,   153,     0,     0,   171,     0,   175,    27,    26,
 -      30,    31,     0,     0,    28,    91,   164,   154,   155,     0,
 -       0,     0,   159,   153,   158,   147,     0,   180,   153,   106,
 -       0,   104,     0,     0,   161,    89,   186,     7,     8,    40,
 -      37,    89,     9,     0,    88,   121,     0,     0,     0,     0,
 -       0,    89,   122,   124,   123,     0,     0,   127,     0,     0,
++       0,   147,    33,     4,    19,   117,   126,   127,   129,   153,
++     161,   177,   154,     0,     0,   172,     0,   176,    27,    26,
++      30,    31,     0,     0,    28,    91,   165,   155,   156,     0,
++       0,     0,   160,   154,   159,   148,     0,   181,   154,   106,
++       0,   104,     0,     0,   162,    89,   187,     7,     8,    40,
++      37,    89,     9,     0,    88,   122,     0,     0,     0,     0,
++       0,    89,   123,   125,   124,     0,     0,   128,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -     119,   118,   136,   137,     0,     0,     0,     0,   104,     0,
 -     173,   172,    29,     0,     0,   135,     0,     0,     0,   178,
 -     179,   177,   107,    89,   183,     0,     0,   148,    14,     0,
 -       0,    17,     0,     0,    90,   181,     0,    41,    34,   113,
 -     114,   111,   112,     0,     0,   115,   163,   133,   134,   130,
 -     131,   132,   129,   144,   145,   141,   142,   143,   140,   120,
 -     110,   162,   170,    97,    95,     0,     0,    92,   149,   150,
 -     108,   188,     0,   109,   105,    13,    10,    16,    11,    39,
 -       0,    57,     0,     0,     0,    89,     0,     0,     0,    78,
 -      79,     0,   100,     0,    89,    38,    51,     0,    60,    44,
 -      65,    37,   184,    89,     0,    20,   139,    89,    98,     0,
 -     138,     0,   100,    62,     0,     0,     0,     0,    66,    52,
 -      53,    54,     0,   101,    55,   182,    59,     0,     0,    89,
 -     185,    42,   116,    32,    99,    96,     0,     0,   165,     0,
 -       0,     0,     0,   174,    67,     0,    56,     0,    82,    80,
 -      43,    25,    89,    58,    63,     0,   167,   169,    64,    89,
 -      89,     0,     0,    89,     0,    83,    61,     0,   166,   168,
 -       0,     0,     0,     0,     0,    81,     0,    85,    68,    46,
 -       0,    89,     0,    89,    84,    89,     0,    89,     0,    89,
 -      66,     0,    70,     0,     0,    69,     0,    47,    48,    66,
 -       0,    86,    73,    76,     0,     0,    77,     0,   187,    89,
 -      45,     0,    89,    75,    74,    89,    37,    89,     0,    37,
 -       0,     0,    50,     0,    49
++     119,   118,   120,   137,   138,     0,     0,     0,     0,   104,
++       0,   174,   173,    29,     0,     0,   136,     0,     0,     0,
++     179,   180,   178,   107,    89,   184,     0,     0,   149,    14,
++       0,     0,    17,     0,     0,    90,   182,     0,    41,    34,
++     113,   114,   111,   112,     0,     0,   115,   164,   134,   135,
++     131,   132,   133,   130,   145,   146,   142,   143,   144,   141,
++     121,   110,   163,   171,    97,    95,     0,     0,    92,   150,
++     151,   108,   189,     0,   109,   105,    13,    10,    16,    11,
++      39,     0,    57,     0,     0,     0,    89,     0,     0,     0,
++      78,    79,     0,   100,     0,    89,    38,    51,     0,    60,
++      44,    65,    37,   185,    89,     0,    20,   140,    89,    98,
++       0,   139,     0,   100,    62,     0,     0,     0,     0,    66,
++      52,    53,    54,     0,   101,    55,   183,    59,     0,     0,
++      89,   186,    42,   116,    32,    99,    96,     0,     0,   166,
++       0,     0,     0,     0,   175,    67,     0,    56,     0,    82,
++      80,    43,    25,    89,    58,    63,     0,   168,   170,    64,
++      89,    89,     0,     0,    89,     0,    83,    61,     0,   167,
++     169,     0,     0,     0,     0,     0,    81,     0,    85,    68,
++      46,     0,    89,     0,    89,    84,    89,     0,    89,     0,
++      89,    66,     0,    70,     0,     0,    69,     0,    47,    48,
++      66,     0,    86,    73,    76,     0,     0,    77,     0,   188,
++      89,    45,     0,    89,    75,    74,    89,    37,    89,     0,
++      37,     0,     0,    50,     0,    49
+ };
+ 
+   /* YYPGOTO[NTERM-NUM].  */
  static const yytype_int16 yypgoto[] =
  {
 -    -273,  -273,  -273,  -273,  -273,  -273,   208,  -273,  -273,  -273,
 -     -64,  -273,  -273,  -202,    71,   -58,  -273,  -273,  -218,  -273,
 -    -273,  -272,  -273,  -273,  -273,  -273,  -273,  -273,  -273,  -273,
 -      50,    76,  -273,  -273,  -273,    19,   -54,   -23,    -1,  -273,
 -    -273,  -273,   -44,    39,  -273,   224,  -273,   -11,    94,  -273,
 -    -273,    -7,   -38,  -273,  -273,   -73,    -2,  -273,   -28,  -231,
 -     -46,  -273,   -25,   -57,    85
 +    -267,  -267,  -267,  -267,  -267,  -267,   204,  -267,  -267,  -267,
 +     -71,  -267,  -267,  -202,   -32,  -117,  -267,  -267,  -224,  -267,
 +    -267,  -266,  -267,  -267,  -267,  -267,  -267,  -267,  -267,  -267,
 +      40,    69,  -267,  -267,  -267,    17,   -51,   -23,    -1,  -267,
 +    -267,  -267,   -46,    39,  -267,   218,  -267,    -9,    90,  -267,
 +    -267,   -17,   -39,  -267,  -267,   -73,    -2,  -267,   -28,  -199,
 +     -55,  -267,   -25,   -56,    68
  };
  
- /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
-    positive, shift that token.  If negative, reduce the rule which
-    number is the opposite.  If YYTABLE_NINF, syntax error.  */
- #define YYTABLE_NINF -104
+   /* YYDEFGOTO[NTERM-NUM].  */
+ static const yytype_int16 yydefgoto[] =
+ {
 -      -1,     1,    28,   140,   143,    29,    77,    53,    54,    30,
 -      31,    83,    32,   146,    78,   205,   206,   222,   207,   237,
 -     248,   255,   296,   305,   317,   208,   258,   276,   286,   209,
 -     144,   145,   125,   175,   176,   232,   116,   117,   210,   115,
 -      94,    95,    35,    36,    37,    38,    39,    40,    55,   264,
 -     265,   266,    45,    46,    47,    41,    42,   131,   211,   212,
 -     137,   239,   213,   319,   136
++      -1,     1,    28,   141,   144,    29,    77,    53,    54,    30,
++      31,    83,    32,   147,    78,   206,   207,   223,   208,   238,
++     249,   256,   297,   306,   318,   209,   259,   277,   287,   210,
++     145,   146,   126,   176,   177,   233,   117,   118,   211,   116,
++      94,    95,    35,    36,    37,    38,    39,    40,    55,   265,
++     266,   267,    45,    46,    47,    41,    42,   132,   212,   213,
++     138,   240,   214,   320,   137
+ };
+ 
+   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+      positive, shift that token.  If negative, reduce the rule whose
+      number is the opposite.  If YYTABLE_NINF, syntax error.  */
  static const yytype_int16 yytable[] =
  {
 -      34,    80,    80,    70,    81,   126,   127,   260,   121,   238,
 -     254,    56,    57,    58,   150,     5,    74,   132,   120,    63,
 -      63,   119,    63,    68,   135,    71,  -103,   272,   310,   278,
 -     223,    19,    19,    63,   100,   101,   102,   321,   132,   103,
 -      43,   138,   118,   118,   173,   302,   139,   174,   141,    44,
 -      74,    33,    75,   142,    76,    76,   132,    44,   118,   118,
 -      62,    64,    59,    65,    60,   128,   218,  -103,   303,   304,
 -     171,   133,    44,    75,    97,   320,   185,    25,   187,    79,
 -     178,   179,   254,    44,  -103,   149,    84,   151,   152,   153,
 -    -103,   254,   133,   224,   155,    19,    63,    63,    63,    63,
 -      63,    63,    63,    63,    63,    63,    63,    63,   172,   220,
 -     133,   -93,   122,   244,   170,    81,   245,   -89,    81,     4,
 -     133,   123,    63,   134,   330,   124,   -12,   333,   -15,   217,
 -       4,   180,    85,   -94,    19,   184,     5,   157,   158,   159,
 -     160,   161,   162,   163,   164,   165,   166,   167,   168,   -12,
 -      85,   -15,   103,   215,    56,    86,   148,   147,   112,   113,
 -      48,    49,   156,   177,    72,   169,    73,   154,   134,   252,
 -    -104,   221,    81,    81,   129,   130,    81,   182,    81,    92,
 -      93,    87,    81,   259,    85,   225,   226,   240,   228,    86,
 -      79,    76,   249,    79,   268,   271,   275,    92,    93,   283,
 -     262,   233,    50,    51,   269,   270,   282,    81,   318,   181,
 -     267,   186,   295,   242,   188,    87,    88,  -104,  -104,   287,
 -     246,   233,    81,   289,   250,   251,    52,   267,   285,   204,
 -     273,    92,    93,   323,   274,   324,   118,   291,    82,   316,
 -     308,   247,   294,   311,   297,   110,   111,    79,    79,    67,
 -     216,    79,   288,    79,   312,   313,    71,    79,   279,   293,
 -     325,   219,     0,     0,   322,     0,     0,   299,   229,   230,
 -     332,   227,   231,   334,   234,   327,   112,   113,   236,     0,
 -     235,   290,    79,   292,    63,   114,     0,     0,     0,   241,
 -       0,     0,    63,   243,     0,    85,     0,    79,     0,    20,
 -      86,     0,     0,   256,    85,   314,   315,     0,    23,    86,
 -      98,    99,   100,   101,   102,   261,     0,   103,   263,     0,
 -       0,     0,     0,     0,     0,     0,    87,    88,    89,     0,
 -       0,     0,     0,    97,     0,    87,    88,    89,   277,    90,
 -       0,     0,    92,    93,     0,   280,   281,     0,    90,   284,
 -       0,    92,    93,     0,   104,   105,   106,   107,   108,     0,
 -      76,   109,     0,   134,     0,     0,     0,   298,     0,   300,
 -       0,   301,   306,   307,     0,   309,     2,     3,     0,     4,
 -       5,     0,     0,     6,     7,     0,     0,     0,     0,     0,
 -       0,     0,     0,     8,     9,   326,     0,     0,   328,     0,
 -       0,   329,     0,   331,     0,     0,     0,     0,     0,     0,
 -       0,    10,    11,    12,    13,     0,     0,     0,     0,    14,
 -      15,    16,    17,    18,     0,     0,     0,    19,    20,     0,
 +      34,    80,    80,    70,    81,   255,   186,   122,   127,   128,
 +     239,    56,    57,    58,   151,   136,   188,   224,    74,    63,
 +      63,   120,    63,    68,   133,    71,   273,    85,   121,   279,
 +       5,    19,    19,    63,   139,   311,   113,   114,    43,   140,
 +     261,    33,   119,   119,   322,   174,   142,   245,   175,    44,
 +     246,   143,    74,    75,    76,    76,    44,   -12,   119,   119,
 +      62,    64,   172,    65,    59,   129,    75,   -15,    60,    79,
 +     123,    84,   179,   180,    97,    92,    93,   255,   124,   134,
 +     -12,   225,    44,    44,   125,   150,   255,   152,   153,   154,
 +     -15,    48,    49,    25,   156,   173,    63,    63,    63,    63,
 +      63,    63,    63,    63,    63,    63,    63,    63,   321,   187,
 +     221,   253,   189,   -93,  -104,   171,    81,   130,   131,    81,
 +      85,   218,     4,    63,   103,   331,    86,    19,   334,   149,
 +       5,   133,   181,   157,    50,    51,   185,   158,   159,   160,
 +     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
 +     148,   219,    87,    88,   216,    56,   135,   183,    52,     4,
 +     155,   288,  -104,  -104,   178,   290,   230,   231,    92,    93,
 +     232,   222,   235,    81,    81,   226,   237,    81,   227,    81,
 +     229,    79,   309,    81,    79,   312,   134,   260,   241,   100,
 +     101,   102,   263,    76,   103,   133,   270,   271,   269,   135,
 +     284,   257,   234,   182,  -103,    72,   134,    73,    81,   250,
 +     268,   272,   333,   276,   243,   335,   264,   283,   296,   -94,
 +     286,   247,   234,    81,   319,   251,   252,   268,   205,   292,
 +     324,   274,   325,   317,    82,   275,   298,   119,    79,    79,
 +     248,   295,    79,    67,    79,   220,  -103,   217,    79,   280,
 +     134,   303,    69,   289,     4,     5,   323,    71,     6,     7,
 +     294,  -102,   326,  -103,     0,   228,     0,   328,   300,  -103,
 +     313,   314,     0,    79,   236,   304,   305,     0,     0,     0,
 +      85,     0,   291,   242,   293,    63,    86,   244,    79,     0,
 +      13,     0,     0,    63,     0,    14,    15,    16,    17,     0,
 +       0,     0,    19,  -102,    20,   110,   111,   112,     0,   262,
 +      21,    22,    87,    23,     0,    24,    20,     0,    25,   258,
 +    -102,    61,   315,   316,   -89,    23,  -102,     0,    92,    93,
 +       0,     0,   278,     0,    97,     0,     0,   113,   114,   281,
 +     282,     0,     0,   285,     0,     0,   115,    98,    99,   100,
 +     101,   102,     0,    85,   103,     0,     0,     0,     0,    86,
 +       0,   299,     0,   301,     0,   302,   307,   308,     0,   310,
 +       0,     0,     2,     3,     0,     4,     5,     0,     0,     6,
 +       7,     0,     0,     0,     0,    87,    88,    89,     0,   327,
 +       8,     9,   329,     0,     0,   330,     0,   332,    90,     0,
 +       0,    92,    93,     0,     0,     0,     0,     0,    10,    11,
 +      12,    13,     0,   135,     0,     0,    14,    15,    16,    17,
 +      18,     0,     0,     0,    19,    20,   104,   105,   106,   107,
 +     108,    21,    22,   109,    23,     0,    24,     0,     0,    25,
 +      26,     0,    27,     0,     0,   -18,   190,   -18,     4,     5,
 +       0,     0,     6,     7,     0,     0,     0,     0,     0,     0,
 +       0,     0,     0,     0,     0,   191,     0,   192,   193,   194,
 +     -72,   -72,   195,   196,   197,   198,   199,   200,   201,   202,
 +     203,     0,     0,     0,    13,   204,     0,     0,     0,    14,
 +      15,    16,    17,     0,     0,     0,     0,   -72,    20,     0,
         0,     0,     0,     0,    21,    22,     0,    23,     0,    24,
 -       0,     0,    25,    26,     0,    27,     0,     0,   -18,   189,
 -     -18,     4,     5,     0,     0,     6,     7,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,   190,     0,   191,
 -     192,   193,   -72,   -72,   194,   195,   196,   197,   198,   199,
 -     200,   201,   202,     0,     0,     0,    13,   203,     0,     0,
 -       0,    14,    15,    16,    17,     0,     0,     0,     0,   -72,
 -      20,     0,     0,     0,     0,     0,    21,    22,     0,    23,
 -       0,    24,     0,     0,    25,    26,     0,    61,     0,     0,
 -      75,   -72,    76,   189,     0,     4,     5,     0,     0,     6,
 -       7,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,   190,     0,   191,   192,   193,   -71,   -71,   194,   195,
 -     196,   197,   198,   199,   200,   201,   202,     0,     0,     0,
 -      13,   203,     0,     0,     0,    14,    15,    16,    17,     0,
 -       0,     0,     0,   -71,    20,     0,     0,     0,     0,     0,
 -      21,    22,     0,    23,     0,    24,     0,     0,    25,    26,
 -       0,    61,     0,     0,    75,   -71,    76,   189,     0,     4,
 -       5,     0,     0,     6,     7,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,   190,     0,   191,   192,   193,
 -       0,     0,   194,   195,   196,   197,   198,   199,   200,   201,
 -     202,     0,     0,     0,    13,   203,     0,     0,     0,    14,
 -      15,    16,    17,    69,     0,     4,     5,     0,    20,     6,
 -       7,     0,  -102,     0,    21,    22,     0,    23,     0,    24,
 -       0,     0,    25,    26,     0,    61,     0,     0,    75,   204,
 -      76,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -      13,     0,     0,     0,     0,    14,    15,    16,    17,     0,
 -       0,     0,     0,  -102,    20,     0,     0,     0,     0,     0,
 -      21,    22,     0,    23,     0,    24,     0,     0,    25,   257,
 -    -102,    61,     0,     4,     5,     0,  -102,     6,     7,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,   190,
 -       0,   191,   192,   193,     0,     0,   194,   195,   196,   197,
 -     198,   199,   200,   201,   202,     0,     4,     5,    13,   203,
 -       6,     7,     0,    14,    15,    16,    17,     0,     0,     0,
 -       0,     0,    20,     0,     0,     0,     0,    85,    21,    22,
 -       0,    23,    86,    24,     0,     0,    25,    26,     0,    61,
 -       0,    13,    75,     0,    76,     0,    14,    15,    16,    17,
 -      69,     0,     4,     5,     0,    20,     6,     7,    87,    88,
 -      89,    21,    22,     0,    23,     0,    24,     0,     0,    25,
 -      26,    90,    61,    91,    92,    93,     0,    76,     0,     0,
 -       0,     0,    69,     0,     4,     5,     0,    13,     6,     7,
 -       0,     0,    14,    15,    16,    17,     0,     0,     0,     0,
 -       0,    20,     0,     0,     0,     0,     0,    21,    22,     0,
 -      23,     0,    24,     0,     0,    25,    26,  -102,    61,    13,
 -       0,     0,     0,     0,    14,    15,    16,    17,   183,     0,
 -       4,     5,     0,    20,     6,     7,     0,     0,     0,    21,
 +       0,     0,    25,    26,     0,    61,     0,     0,    75,   -72,
 +      76,   190,     0,     4,     5,     0,     0,     6,     7,     0,
 +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 +     191,     0,   192,   193,   194,   -71,   -71,   195,   196,   197,
 +     198,   199,   200,   201,   202,   203,     0,     0,     0,    13,
 +     204,     0,     0,     0,    14,    15,    16,    17,     0,     0,
 +       0,     0,   -71,    20,     0,     0,     0,     0,     0,    21,
        22,     0,    23,     0,    24,     0,     0,    25,    26,     0,
 -      61,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     4,   253,    13,     0,     6,     7,     0,
 -      14,    15,    16,    17,     0,     0,     0,     0,     0,    20,
 -       0,     0,   192,     0,     0,    21,    22,     0,    23,     0,
 -      24,   199,   200,    25,    26,     0,    61,     0,    13,     0,
 -       0,     0,     0,    14,    15,    16,    17,     0,     0,     4,
 -       5,     0,    20,     6,     7,     0,     0,     0,    21,    22,
 -       0,    23,     0,    24,     0,     0,    25,    26,   192,    61,
 -       0,     0,     0,     0,     0,     0,     0,   199,   200,     0,
 -       0,     0,     0,     0,    13,     0,     0,     0,     0,    14,
 -      15,    16,    17,     0,     0,     4,     5,     0,    20,     6,
 -       7,     0,     0,    96,    21,    22,     0,    23,     0,    24,
 -       0,     0,    25,    26,     0,    61,     0,     0,     0,     0,
 -       0,     0,     4,     5,     0,     0,     6,     7,     0,     0,
 -      13,     0,     0,     0,     0,    14,    15,    16,    17,     0,
 -       0,     0,     0,    85,    20,     0,     0,     0,    86,     0,
 -      21,    22,     0,    23,     0,    24,     0,    13,    25,    26,
 -       0,    61,    14,    15,    16,    17,     0,     0,     4,     5,
 -       0,    20,     6,     7,    87,    88,    89,    21,    22,     0,
 -      23,     0,    24,     0,     0,    25,    26,    90,    61,     0,
 -      92,    93,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,    85,    14,    15,
 -      16,    17,    86,     0,     0,     0,     0,    20,     0,     0,
 -       0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
 -       0,    25,    66,     0,    61,     0,     0,     0,    87,    88,
 -      89,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,    90,   214,     0,    92,    93
 +      61,     0,     0,    75,   -71,    76,   190,     0,     4,     5,
 +       0,     0,     6,     7,     0,     0,     0,     0,     0,     0,
 +       0,     0,     0,     0,     0,   191,     0,   192,   193,   194,
 +       0,     0,   195,   196,   197,   198,   199,   200,   201,   202,
 +     203,     0,     0,     0,    13,   204,     0,     0,     0,    14,
 +      15,    16,    17,     0,     0,     0,     0,     0,    20,     0,
 +       0,     0,     0,     0,    21,    22,     0,    23,     0,    24,
 +       0,     0,    25,    26,     0,    61,     0,     0,    75,   205,
 +      76,     4,     5,     0,     0,     6,     7,     0,     0,     0,
 +       0,     0,     0,     0,     0,     0,     0,     0,   191,     0,
 +     192,   193,   194,     0,     0,   195,   196,   197,   198,   199,
 +     200,   201,   202,   203,     0,     0,     0,    13,   204,     0,
 +       0,     0,    14,    15,    16,    17,     0,     0,     4,     5,
 +       0,    20,     6,     7,     0,     0,     0,    21,    22,     0,
 +      23,     0,    24,     0,     0,    25,    26,     0,    61,     0,
 +       0,    75,     0,    76,     0,     0,     0,     0,     0,    69,
 +       0,     4,     5,     0,    13,     6,     7,     0,     0,    14,
 +      15,    16,    17,     0,     0,     0,     0,     0,    20,     0,
 +       0,     0,     0,     0,    21,    22,     0,    23,     0,    24,
 +       0,     0,    25,    26,     0,    61,     0,    13,     0,     0,
 +      76,     0,    14,    15,    16,    17,    69,     0,     4,     5,
 +       0,    20,     6,     7,     0,     0,     0,    21,    22,     0,
 +      23,     0,    24,     0,     0,    25,    26,  -102,    61,     0,
 +       0,     0,     0,   184,     0,     4,     5,     0,     0,     6,
 +       7,     0,     0,     0,    13,     0,     0,     0,     0,    14,
 +      15,    16,    17,     0,     0,     0,     0,     0,    20,     0,
 +       0,     0,     0,     0,    21,    22,     0,    23,     0,    24,
 +       0,    13,    25,    26,     0,    61,    14,    15,    16,    17,
 +       0,     0,     0,     4,   254,    20,     0,     6,     7,     0,
 +       0,    21,    22,     0,    23,     0,    24,     0,     0,    25,
 +      26,     0,    61,   193,     0,     0,     0,     0,     0,     0,
 +       0,     0,   200,   201,     0,     0,     4,     5,     0,    13,
 +       6,     7,     0,     0,    14,    15,    16,    17,     0,     0,
 +       0,     0,     0,    20,     0,     0,   193,     0,     0,    21,
 +      22,     0,    23,     0,    24,   200,   201,    25,    26,     0,
 +      61,     0,    13,     0,     0,     0,     0,    14,    15,    16,
 +      17,     0,     0,     4,     5,     0,    20,     6,     7,     0,
 +       0,    96,    21,    22,     0,    23,     0,    24,     0,     0,
 +      25,    26,     0,    61,     0,     0,     0,     0,     0,     0,
 +       4,     5,     0,     0,     6,     7,     0,     0,     0,    13,
 +       0,     0,     0,     0,    14,    15,    16,    17,     0,     0,
 +       0,    85,     0,    20,     0,     0,     0,    86,     0,    21,
 +      22,     0,    23,     0,    24,     0,    13,    25,    26,     0,
 +      61,    14,    15,    16,    17,     0,     0,     4,     5,     0,
 +      20,     6,     7,    87,    88,    89,    21,    22,     0,    23,
 +       0,    24,     0,     0,    25,    26,    90,    61,    85,    92,
 +      93,     0,     0,     0,    86,     0,     0,     0,     0,     0,
 +       0,     0,     0,     0,     0,     0,    85,    76,    14,    15,
 +      16,    17,    86,    85,     0,     0,     0,    20,     0,    86,
 +      87,    88,    89,    21,    22,     0,    23,     0,    24,     0,
 +       0,    25,    66,    90,    61,    91,    92,    93,    87,    88,
 +      89,     0,     0,     0,     0,    87,    88,    89,     0,     0,
 +       0,    90,   215,     0,    92,    93,     0,     0,    90,     0,
 +       0,    92,    93
  };
  
- #define yypact_value_is_default(Yystate) \
-   (!!((Yystate) == (-267)))
- 
- #define yytable_value_is_error(Yytable_value) \
-   (!!((Yytable_value) == (-104)))
- 
  static const yytype_int16 yycheck[] =
  {
 -       1,    29,    30,    26,    29,    59,    60,   238,    46,   211,
 -     228,    13,    14,    15,    87,     4,    27,     1,    16,    21,
 -      22,    44,    24,    25,    70,    26,    10,    40,   300,    16,
 -       4,    51,    51,    35,    60,    61,    62,   309,     1,    65,
 -      67,     1,    43,    44,     1,     1,     6,     4,     1,    70,
 -      61,     1,    72,     6,    74,    74,     1,    70,    59,    60,
 -      21,    22,    67,    24,    67,    66,     1,    51,    24,    25,
 -     116,    55,    70,    72,    35,   306,     1,    66,     1,    29,
 -     126,   127,   300,    70,    68,    86,    51,    88,    89,    90,
 -      74,   309,    55,    67,    95,    51,    98,    99,   100,   101,
 -     102,   103,   104,   105,   106,   107,   108,   109,    71,   182,
 -      55,    68,    49,     1,   115,   140,     4,    73,   143,     3,
 -      55,    67,   124,    68,   326,    56,    51,   329,    51,   175,
 -       3,   132,     9,    68,    51,   136,     4,    98,    99,   100,
 -     101,   102,   103,   104,   105,   106,   107,   108,   109,    74,
 -       9,    74,    65,   154,   156,    14,     5,    81,    43,    44,
 -       3,     4,    38,   124,    48,    13,    50,    91,    68,   227,
 -       9,    67,   197,   198,    43,    44,   201,    40,   203,    56,
 -      57,    40,   207,   237,     9,    67,    67,   212,    67,    14,
 -     140,    74,     4,   143,    68,    26,    10,    56,    57,   272,
 -     246,   202,    45,    46,   250,   251,    67,   232,    54,   133,
 -     248,   140,    20,   214,   143,    40,    41,    56,    57,   277,
 -     221,   222,   247,   281,   225,   226,    69,   265,   274,    73,
 -     255,    56,    57,     7,   257,     7,   237,   283,    30,   303,
 -     298,   222,   286,   301,   290,    12,    13,   197,   198,    25,
 -     156,   201,   280,   203,     7,     8,   257,   207,   265,   284,
 -     317,   176,    -1,    -1,   310,    -1,    -1,   292,   197,   198,
 -     328,   195,   201,   331,   203,   321,    43,    44,   207,    -1,
 -     204,   282,   232,   284,   286,    52,    -1,    -1,    -1,   213,
 -      -1,    -1,   294,   217,    -1,     9,    -1,   247,    -1,    52,
 -      14,    -1,    -1,   232,     9,    58,    59,    -1,    61,    14,
 -      58,    59,    60,    61,    62,   239,    -1,    65,   247,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
 -      -1,    -1,    -1,   294,    -1,    40,    41,    42,   262,    53,
 -      -1,    -1,    56,    57,    -1,   269,   270,    -1,    53,   273,
 -      -1,    56,    57,    -1,    58,    59,    60,    61,    62,    -1,
 -      74,    65,    -1,    68,    -1,    -1,    -1,   291,    -1,   293,
 -      -1,   295,   296,   297,    -1,   299,     0,     1,    -1,     3,
 -       4,    -1,    -1,     7,     8,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    17,    18,   319,    -1,    -1,   322,    -1,
 -      -1,   325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    35,    36,    37,    38,    -1,    -1,    -1,    -1,    43,
 -      44,    45,    46,    47,    -1,    -1,    -1,    51,    52,    -1,
 -      -1,    -1,    -1,    -1,    58,    59,    -1,    61,    -1,    63,
 -      -1,    -1,    66,    67,    -1,    69,    -1,    -1,    72,     1,
 -      74,     3,     4,    -1,    -1,     7,     8,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    19,    -1,    21,
 -      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
 -      32,    33,    34,    -1,    -1,    -1,    38,    39,    -1,    -1,
 -      -1,    43,    44,    45,    46,    -1,    -1,    -1,    -1,    51,
 -      52,    -1,    -1,    -1,    -1,    -1,    58,    59,    -1,    61,
 -      -1,    63,    -1,    -1,    66,    67,    -1,    69,    -1,    -1,
 -      72,    73,    74,     1,    -1,     3,     4,    -1,    -1,     7,
 -       8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    19,    -1,    21,    22,    23,    24,    25,    26,    27,
 -      28,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
 -      38,    39,    -1,    -1,    -1,    43,    44,    45,    46,    -1,
 -      -1,    -1,    -1,    51,    52,    -1,    -1,    -1,    -1,    -1,
 -      58,    59,    -1,    61,    -1,    63,    -1,    -1,    66,    67,
 -      -1,    69,    -1,    -1,    72,    73,    74,     1,    -1,     3,
 -       4,    -1,    -1,     7,     8,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    19,    -1,    21,    22,    23,
 -      -1,    -1,    26,    27,    28,    29,    30,    31,    32,    33,
 -      34,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    43,
 -      44,    45,    46,     1,    -1,     3,     4,    -1,    52,     7,
 -       8,    -1,    10,    -1,    58,    59,    -1,    61,    -1,    63,
 -      -1,    -1,    66,    67,    -1,    69,    -1,    -1,    72,    73,
 -      74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      38,    -1,    -1,    -1,    -1,    43,    44,    45,    46,    -1,
 -      -1,    -1,    -1,    51,    52,    -1,    -1,    -1,    -1,    -1,
 -      58,    59,    -1,    61,    -1,    63,    -1,    -1,    66,    67,
 -      68,    69,    -1,     3,     4,    -1,    74,     7,     8,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    19,
 -      -1,    21,    22,    23,    -1,    -1,    26,    27,    28,    29,
 -      30,    31,    32,    33,    34,    -1,     3,     4,    38,    39,
 -       7,     8,    -1,    43,    44,    45,    46,    -1,    -1,    -1,
 -      -1,    -1,    52,    -1,    -1,    -1,    -1,     9,    58,    59,
 -      -1,    61,    14,    63,    -1,    -1,    66,    67,    -1,    69,
 -      -1,    38,    72,    -1,    74,    -1,    43,    44,    45,    46,
 -       1,    -1,     3,     4,    -1,    52,     7,     8,    40,    41,
 -      42,    58,    59,    -1,    61,    -1,    63,    -1,    -1,    66,
 -      67,    53,    69,    55,    56,    57,    -1,    74,    -1,    -1,
 -      -1,    -1,     1,    -1,     3,     4,    -1,    38,     7,     8,
 -      -1,    -1,    43,    44,    45,    46,    -1,    -1,    -1,    -1,
 -      -1,    52,    -1,    -1,    -1,    -1,    -1,    58,    59,    -1,
 -      61,    -1,    63,    -1,    -1,    66,    67,    68,    69,    38,
 -      -1,    -1,    -1,    -1,    43,    44,    45,    46,     1,    -1,
 -       3,     4,    -1,    52,     7,     8,    -1,    -1,    -1,    58,
 -      59,    -1,    61,    -1,    63,    -1,    -1,    66,    67,    -1,
 -      69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,     3,     4,    38,    -1,     7,     8,    -1,
 -      43,    44,    45,    46,    -1,    -1,    -1,    -1,    -1,    52,
 -      -1,    -1,    22,    -1,    -1,    58,    59,    -1,    61,    -1,
 -      63,    31,    32,    66,    67,    -1,    69,    -1,    38,    -1,
 -      -1,    -1,    -1,    43,    44,    45,    46,    -1,    -1,     3,
 -       4,    -1,    52,     7,     8,    -1,    -1,    -1,    58,    59,
 -      -1,    61,    -1,    63,    -1,    -1,    66,    67,    22,    69,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    31,    32,    -1,
 -      -1,    -1,    -1,    -1,    38,    -1,    -1,    -1,    -1,    43,
 -      44,    45,    46,    -1,    -1,     3,     4,    -1,    52,     7,
 -       8,    -1,    -1,    11,    58,    59,    -1,    61,    -1,    63,
 -      -1,    -1,    66,    67,    -1,    69,    -1,    -1,    -1,    -1,
 -      -1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,    -1,
 -      38,    -1,    -1,    -1,    -1,    43,    44,    45,    46,    -1,
 -      -1,    -1,    -1,     9,    52,    -1,    -1,    -1,    14,    -1,
 -      58,    59,    -1,    61,    -1,    63,    -1,    38,    66,    67,
 -      -1,    69,    43,    44,    45,    46,    -1,    -1,     3,     4,
 -      -1,    52,     7,     8,    40,    41,    42,    58,    59,    -1,
 -      61,    -1,    63,    -1,    -1,    66,    67,    53,    69,    -1,
 -      56,    57,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    43,    44,
 -      45,    46,    14,    -1,    -1,    -1,    -1,    52,    -1,    -1,
 -      -1,    -1,    -1,    58,    59,    -1,    61,    -1,    63,    -1,
 -      -1,    66,    67,    -1,    69,    -1,    -1,    -1,    40,    41,
 -      42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    53,    54,    -1,    56,    57
 +       1,    29,    30,    26,    29,   229,     1,    46,    59,    60,
 +     212,    13,    14,    15,    87,    70,     1,     4,    27,    21,
 +      22,    44,    24,    25,     1,    26,    41,     9,    17,    17,
 +       4,    52,    52,    35,     1,   301,    44,    45,    68,     6,
 +     239,     1,    43,    44,   310,     1,     1,     1,     4,    71,
 +       4,     6,    61,    73,    75,    75,    71,    52,    59,    60,
 +      21,    22,   117,    24,    68,    66,    73,    52,    68,    29,
 +      50,    52,   127,   128,    35,    57,    58,   301,    68,    56,
 +      75,    68,    71,    71,    57,    86,   310,    88,    89,    90,
 +      75,     3,     4,    67,    95,    72,    98,    99,   100,   101,
 +     102,   103,   104,   105,   106,   107,   108,   109,   307,   141,
 +     183,   228,   144,    69,     9,   116,   141,    44,    45,   144,
 +       9,   176,     3,   125,    66,   327,    15,    52,   330,     5,
 +       4,     1,   133,    39,    46,    47,   137,    98,    99,   100,
 +     101,   102,   103,   104,   105,   106,   107,   108,   109,    13,
 +      81,     1,    41,    42,   155,   157,    69,    41,    70,     3,
 +      91,   278,    57,    58,   125,   282,   198,   199,    57,    58,
 +     202,    68,   204,   198,   199,    68,   208,   202,    68,   204,
 +      68,   141,   299,   208,   144,   302,    56,   238,   213,    61,
 +      62,    63,   247,    75,    66,     1,   251,   252,    69,    69,
 +     273,   233,   203,   134,    10,    49,    56,    51,   233,     4,
 +     249,    27,   329,    10,   215,   332,   248,    68,    21,    69,
 +     275,   222,   223,   248,    55,   226,   227,   266,    74,   284,
 +       7,   256,     7,   304,    30,   258,   291,   238,   198,   199,
 +     223,   287,   202,    25,   204,   177,    52,   157,   208,   266,
 +      56,     1,     1,   281,     3,     4,   311,   258,     7,     8,
 +     285,    10,   318,    69,    -1,   196,    -1,   322,   293,    75,
 +       7,     8,    -1,   233,   205,    25,    26,    -1,    -1,    -1,
 +       9,    -1,   283,   214,   285,   287,    15,   218,   248,    -1,
 +      39,    -1,    -1,   295,    -1,    44,    45,    46,    47,    -1,
 +      -1,    -1,    52,    52,    53,    12,    13,    14,    -1,   240,
 +      59,    60,    41,    62,    -1,    64,    53,    -1,    67,    68,
 +      69,    70,    59,    60,    74,    62,    75,    -1,    57,    58,
 +      -1,    -1,   263,    -1,   295,    -1,    -1,    44,    45,   270,
 +     271,    -1,    -1,   274,    -1,    -1,    53,    59,    60,    61,
 +      62,    63,    -1,     9,    66,    -1,    -1,    -1,    -1,    15,
 +      -1,   292,    -1,   294,    -1,   296,   297,   298,    -1,   300,
 +      -1,    -1,     0,     1,    -1,     3,     4,    -1,    -1,     7,
 +       8,    -1,    -1,    -1,    -1,    41,    42,    43,    -1,   320,
 +      18,    19,   323,    -1,    -1,   326,    -1,   328,    54,    -1,
 +      -1,    57,    58,    -1,    -1,    -1,    -1,    -1,    36,    37,
 +      38,    39,    -1,    69,    -1,    -1,    44,    45,    46,    47,
 +      48,    -1,    -1,    -1,    52,    53,    59,    60,    61,    62,
 +      63,    59,    60,    66,    62,    -1,    64,    -1,    -1,    67,
 +      68,    -1,    70,    -1,    -1,    73,     1,    75,     3,     4,
 +      -1,    -1,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,
 +      -1,    -1,    -1,    -1,    -1,    20,    -1,    22,    23,    24,
 +      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 +      35,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    44,
 +      45,    46,    47,    -1,    -1,    -1,    -1,    52,    53,    -1,
 +      -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
 +      -1,    -1,    67,    68,    -1,    70,    -1,    -1,    73,    74,
 +      75,     1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,
 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 +      20,    -1,    22,    23,    24,    25,    26,    27,    28,    29,
 +      30,    31,    32,    33,    34,    35,    -1,    -1,    -1,    39,
 +      40,    -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,
 +      -1,    -1,    52,    53,    -1,    -1,    -1,    -1,    -1,    59,
 +      60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,
 +      70,    -1,    -1,    73,    74,    75,     1,    -1,     3,     4,
 +      -1,    -1,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,
 +      -1,    -1,    -1,    -1,    -1,    20,    -1,    22,    23,    24,
 +      -1,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
 +      35,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    44,
 +      45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,    -1,
 +      -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
 +      -1,    -1,    67,    68,    -1,    70,    -1,    -1,    73,    74,
 +      75,     3,     4,    -1,    -1,     7,     8,    -1,    -1,    -1,
 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,
 +      22,    23,    24,    -1,    -1,    27,    28,    29,    30,    31,
 +      32,    33,    34,    35,    -1,    -1,    -1,    39,    40,    -1,
 +      -1,    -1,    44,    45,    46,    47,    -1,    -1,     3,     4,
 +      -1,    53,     7,     8,    -1,    -1,    -1,    59,    60,    -1,
 +      62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,    -1,
 +      -1,    73,    -1,    75,    -1,    -1,    -1,    -1,    -1,     1,
 +      -1,     3,     4,    -1,    39,     7,     8,    -1,    -1,    44,
 +      45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,    -1,
 +      -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
 +      -1,    -1,    67,    68,    -1,    70,    -1,    39,    -1,    -1,
 +      75,    -1,    44,    45,    46,    47,     1,    -1,     3,     4,
 +      -1,    53,     7,     8,    -1,    -1,    -1,    59,    60,    -1,
 +      62,    -1,    64,    -1,    -1,    67,    68,    69,    70,    -1,
 +      -1,    -1,    -1,     1,    -1,     3,     4,    -1,    -1,     7,
 +       8,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    44,
 +      45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,    -1,
 +      -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
 +      -1,    39,    67,    68,    -1,    70,    44,    45,    46,    47,
 +      -1,    -1,    -1,     3,     4,    53,    -1,     7,     8,    -1,
 +      -1,    59,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
 +      68,    -1,    70,    23,    -1,    -1,    -1,    -1,    -1,    -1,
 +      -1,    -1,    32,    33,    -1,    -1,     3,     4,    -1,    39,
 +       7,     8,    -1,    -1,    44,    45,    46,    47,    -1,    -1,
 +      -1,    -1,    -1,    53,    -1,    -1,    23,    -1,    -1,    59,
 +      60,    -1,    62,    -1,    64,    32,    33,    67,    68,    -1,
 +      70,    -1,    39,    -1,    -1,    -1,    -1,    44,    45,    46,
 +      47,    -1,    -1,     3,     4,    -1,    53,     7,     8,    -1,
 +      -1,    11,    59,    60,    -1,    62,    -1,    64,    -1,    -1,
 +      67,    68,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
 +       3,     4,    -1,    -1,     7,     8,    -1,    -1,    -1,    39,
 +      -1,    -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,
 +      -1,     9,    -1,    53,    -1,    -1,    -1,    15,    -1,    59,
 +      60,    -1,    62,    -1,    64,    -1,    39,    67,    68,    -1,
 +      70,    44,    45,    46,    47,    -1,    -1,     3,     4,    -1,
 +      53,     7,     8,    41,    42,    43,    59,    60,    -1,    62,
 +      -1,    64,    -1,    -1,    67,    68,    54,    70,     9,    57,
 +      58,    -1,    -1,    -1,    15,    -1,    -1,    -1,    -1,    -1,
 +      -1,    -1,    -1,    -1,    -1,    -1,     9,    75,    44,    45,
 +      46,    47,    15,     9,    -1,    -1,    -1,    53,    -1,    15,
 +      41,    42,    43,    59,    60,    -1,    62,    -1,    64,    -1,
 +      -1,    67,    68,    54,    70,    56,    57,    58,    41,    42,
 +      43,    -1,    -1,    -1,    -1,    41,    42,    43,    -1,    -1,
 +      -1,    54,    55,    -1,    57,    58,    -1,    -1,    54,    -1,
 +      -1,    57,    58
  };
  
- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-    symbol of state STATE-NUM.  */
+   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+      symbol of state STATE-NUM.  */
  static const yytype_uint8 yystos[] =
  {
 -       0,    76,     0,     1,     3,     4,     7,     8,    17,    18,
 -      35,    36,    37,    38,    43,    44,    45,    46,    47,    51,
 -      52,    58,    59,    61,    63,    66,    67,    69,    77,    80,
 -      84,    85,    87,   105,   113,   117,   118,   119,   120,   121,
 -     122,   130,   131,    67,    70,   127,   128,   129,     3,     4,
 -      45,    46,    69,    82,    83,   123,   131,   131,   131,    67,
 -      67,    69,   118,   131,   118,   118,    67,   120,   131,     1,
 -     112,   113,    48,    50,   122,    72,    74,    81,    89,   105,
 -     133,   137,    81,    86,    51,     9,    14,    40,    41,    42,
 -      53,    55,    56,    57,   115,   116,    11,   118,    58,    59,
 -      60,    61,    62,    65,    58,    59,    60,    61,    62,    65,
 -      12,    13,    43,    44,    52,   114,   111,   112,   113,   112,
 -      16,   127,    49,    67,    56,   107,   111,   111,   113,    43,
 -      44,   132,     1,    55,    68,   135,   139,   135,     1,     6,
 -      78,     1,     6,    79,   105,   106,    88,   106,     5,   113,
 -     130,   113,   113,   113,   106,   113,    38,   118,   118,   118,
 -     118,   118,   118,   118,   118,   118,   118,   118,   118,    13,
 -     113,   135,    71,     1,     4,   108,   109,   118,   135,   135,
 -     113,   106,    40,     1,   113,     1,    89,     1,    89,     1,
 -      19,    21,    22,    23,    26,    27,    28,    29,    30,    31,
 -      32,    33,    34,    39,    73,    90,    91,    93,   100,   104,
 -     113,   133,   134,   137,    54,   113,   123,   135,     1,   139,
 -     130,    67,    92,     4,    67,    67,    67,   106,    67,    89,
 -      89,    89,   110,   113,    89,   106,    89,    94,    88,   136,
 -     137,   106,   113,   106,     1,     4,   113,   110,    95,     4,
 -     113,   113,    90,     4,    93,    96,    89,    67,   101,   111,
 -     134,   106,   135,    89,   124,   125,   126,   127,    68,   135,
 -     135,    26,    40,   137,   112,    10,   102,   106,    16,   126,
 -     106,   106,    67,   130,   106,   135,   103,    90,   133,    90,
 -     113,   135,   113,   137,   117,    20,    97,   135,   106,   137,
 -     106,   106,     1,    24,    25,    98,   106,   106,    90,   106,
 -      96,    90,     7,     8,    58,    59,    85,    99,    54,   138,
 -     134,    96,   135,     7,     7,   138,   106,   135,   106,   106,
 -      88,   106,    90,    88,    90
 +       0,    77,     0,     1,     3,     4,     7,     8,    18,    19,
 +      36,    37,    38,    39,    44,    45,    46,    47,    48,    52,
 +      53,    59,    60,    62,    64,    67,    68,    70,    78,    81,
 +      85,    86,    88,   106,   114,   118,   119,   120,   121,   122,
 +     123,   131,   132,    68,    71,   128,   129,   130,     3,     4,
 +      46,    47,    70,    83,    84,   124,   132,   132,   132,    68,
 +      68,    70,   119,   132,   119,   119,    68,   121,   132,     1,
 +     113,   114,    49,    51,   123,    73,    75,    82,    90,   106,
 +     134,   138,    82,    87,    52,     9,    15,    41,    42,    43,
 +      54,    56,    57,    58,   116,   117,    11,   119,    59,    60,
 +      61,    62,    63,    66,    59,    60,    61,    62,    63,    66,
 +      12,    13,    14,    44,    45,    53,   115,   112,   113,   114,
 +     113,    17,   128,    50,    68,    57,   108,   112,   112,   114,
 +      44,    45,   133,     1,    56,    69,   136,   140,   136,     1,
 +       6,    79,     1,     6,    80,   106,   107,    89,   107,     5,
 +     114,   131,   114,   114,   114,   107,   114,    39,   119,   119,
 +     119,   119,   119,   119,   119,   119,   119,   119,   119,   119,
 +      13,   114,   136,    72,     1,     4,   109,   110,   119,   136,
 +     136,   114,   107,    41,     1,   114,     1,    90,     1,    90,
 +       1,    20,    22,    23,    24,    27,    28,    29,    30,    31,
 +      32,    33,    34,    35,    40,    74,    91,    92,    94,   101,
 +     105,   114,   134,   135,   138,    55,   114,   124,   136,     1,
 +     140,   131,    68,    93,     4,    68,    68,    68,   107,    68,
 +      90,    90,    90,   111,   114,    90,   107,    90,    95,    89,
 +     137,   138,   107,   114,   107,     1,     4,   114,   111,    96,
 +       4,   114,   114,    91,     4,    94,    97,    90,    68,   102,
 +     112,   135,   107,   136,    90,   125,   126,   127,   128,    69,
 +     136,   136,    27,    41,   138,   113,    10,   103,   107,    17,
 +     127,   107,   107,    68,   131,   107,   136,   104,    91,   134,
 +      91,   114,   136,   114,   138,   118,    21,    98,   136,   107,
 +     138,   107,   107,     1,    25,    26,    99,   107,   107,    91,
 +     107,    97,    91,     7,     8,    59,    60,    86,   100,    55,
 +     139,   135,    97,   136,     7,     7,   139,   107,   136,   107,
 +     107,    89,   107,    91,    89,    91
  };
  
- #define yyerrok               (yyerrstatus = 0)
- #define yyclearin     (yychar = YYEMPTY)
- #define YYEMPTY               (-2)
- #define YYEOF         0
- 
- #define YYACCEPT      goto yyacceptlab
- #define YYABORT               goto yyabortlab
- #define YYERROR               goto yyerrorlab
- 
- 
- /* Like YYERROR except do call yyerror.  This remains here temporarily
-    to ease the transition to the new meaning of YYERROR, for GCC.
-    Once GCC version 2 has supplanted version 1, this can go.  However,
-    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
-    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
-    discussed.  */
- 
- #define YYFAIL                goto yyerrlab
- #if defined YYFAIL
-   /* This is here to suppress warnings from the GCC cpp's
-      -Wunused-macros.  Normally we don't worry about that warning, but
-      some users do, and we want to make it easy for users to remove
-      YYFAIL uses, which will produce warnings from Bison 2.5.  */
- #endif
+   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+ static const yytype_uint8 yyr1[] =
+ {
 -       0,    75,    76,    76,    76,    76,    76,    77,    77,    77,
 -      77,    77,    78,    78,    78,    79,    79,    79,    80,    80,
 -      80,    80,    80,    80,    80,    81,    82,    82,    82,    82,
 -      83,    83,    84,    86,    85,    87,    87,    88,    88,    88,
 -      89,    89,    90,    90,    90,    90,    90,    90,    90,    90,
 -      90,    90,    91,    91,    91,    91,    91,    92,    91,    91,
 -      94,    93,    95,    93,    93,    93,    96,    96,    97,    97,
 -      97,    98,    98,    99,    99,    99,    99,    99,   100,   100,
 -     101,   101,   102,   103,   102,   104,   104,   105,   105,   106,
 -     106,   107,   107,   108,   108,   109,   109,   109,   109,   109,
 -     110,   110,   111,   111,   112,   112,   112,   112,   112,   112,
 -     113,   113,   113,   113,   113,   113,   113,   113,   114,   114,
 -     114,   115,   115,   116,   116,   117,   117,   117,   118,   118,
 -     118,   118,   118,   118,   118,   118,   118,   118,   118,   119,
 -     119,   119,   119,   119,   119,   119,   120,   120,   120,   120,
 -     120,   120,   120,   120,   120,   120,   120,   120,   120,   120,
 -     121,   121,   122,   123,   123,   124,   124,   125,   125,   126,
 -     127,   128,   128,   129,   130,   130,   131,   131,   132,   132,
 -     132,   133,   134,   135,   136,   136,   137,   138,   139
++       0,    76,    77,    77,    77,    77,    77,    78,    78,    78,
++      78,    78,    79,    79,    79,    80,    80,    80,    81,    81,
++      81,    81,    81,    81,    81,    82,    83,    83,    83,    83,
++      84,    84,    85,    87,    86,    88,    88,    89,    89,    89,
++      90,    90,    91,    91,    91,    91,    91,    91,    91,    91,
++      91,    91,    92,    92,    92,    92,    92,    93,    92,    92,
++      95,    94,    96,    94,    94,    94,    97,    97,    98,    98,
++      98,    99,    99,   100,   100,   100,   100,   100,   101,   101,
++     102,   102,   103,   104,   103,   105,   105,   106,   106,   107,
++     107,   108,   108,   109,   109,   110,   110,   110,   110,   110,
++     111,   111,   112,   112,   113,   113,   113,   113,   113,   113,
++     114,   114,   114,   114,   114,   114,   114,   114,   115,   115,
++     115,   115,   116,   116,   117,   117,   118,   118,   118,   119,
++     119,   119,   119,   119,   119,   119,   119,   119,   119,   119,
++     120,   120,   120,   120,   120,   120,   120,   121,   121,   121,
++     121,   121,   121,   121,   121,   121,   121,   121,   121,   121,
++     121,   122,   122,   123,   124,   124,   125,   125,   126,   126,
++     127,   128,   129,   129,   130,   131,   131,   132,   132,   133,
++     133,   133,   134,   135,   136,   137,   137,   138,   139,   140
+ };
+ 
+   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
+ static const yytype_uint8 yyr2[] =
+ {
+        0,     2,     0,     2,     2,     2,     2,     2,     2,     2,
+        4,     4,     1,     2,     1,     1,     2,     1,     0,     1,
+        4,     1,     1,     1,     1,     5,     1,     1,     1,     2,
+        1,     1,     6,     0,     3,     1,     1,     0,     2,     2,
+        1,     2,     2,     3,     1,     9,     6,     8,     8,    12,
+       11,     1,     2,     2,     2,     2,     3,     0,     4,     2,
+        0,     4,     0,     4,     4,     1,     0,     1,     0,     2,
+        2,     5,     4,     1,     2,     2,     1,     1,     1,     1,
+        1,     3,     0,     0,     3,     6,     9,     1,     2,     0,
+        1,     0,     2,     0,     1,     1,     3,     1,     2,     3,
+        0,     1,     0,     1,     1,     3,     1,     2,     3,     3,
+        3,     3,     3,     3,     3,     3,     5,     1,     1,     1,
 -       2,     1,     1,     1,     1,     1,     1,     2,     1,     3,
 -       3,     3,     3,     3,     3,     3,     2,     2,     5,     4,
 -       3,     3,     3,     3,     3,     3,     1,     2,     3,     4,
 -       4,     1,     1,     1,     2,     2,     1,     1,     2,     2,
 -       1,     2,     4,     0,     1,     0,     2,     1,     2,     1,
 -       3,     1,     2,     2,     1,     2,     1,     3,     1,     1,
 -       0,     2,     2,     1,     0,     1,     1,     1,     2
++       1,     2,     1,     1,     1,     1,     1,     1,     2,     1,
++       3,     3,     3,     3,     3,     3,     3,     2,     2,     5,
++       4,     3,     3,     3,     3,     3,     3,     1,     2,     3,
++       4,     4,     1,     1,     1,     2,     2,     1,     1,     2,
++       2,     1,     2,     4,     0,     1,     0,     2,     1,     2,
++       1,     3,     1,     2,     2,     1,     2,     1,     3,     1,
++       1,     0,     2,     2,     1,     0,     1,     1,     1,     2
+ };
+ 
+ 
+ #define yyerrok         (yyerrstatus = 0)
+ #define yyclearin       (yychar = YYEMPTY)
+ #define YYEMPTY         (-2)
+ #define YYEOF           0
+ 
+ #define YYACCEPT        goto yyacceptlab
+ #define YYABORT         goto yyabortlab
+ #define YYERROR         goto yyerrorlab
+ 
  
  #define YYRECOVERING()  (!!yyerrstatus)
  
@@@ -2051,6 -1849,7 +1846,7 @@@ yyreduce
                rule = 0;
                yyerrok;
          }
 -#line 1853 "awkgram.c" /* yacc.c:1646  */
++#line 1850 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 5:
@@@ -2061,6 -1859,7 +1856,7 @@@
                if (sourcefile == srcfiles)
                        process_deferred();
          }
 -#line 1863 "awkgram.c" /* yacc.c:1646  */
++#line 1860 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 6:
@@@ -2074,14 -1872,15 +1869,15 @@@
                 */
                /* yyerrok; */
          }
 -#line 1876 "awkgram.c" /* yacc.c:1646  */
++#line 1873 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 7:
- /* Line 1787 of yacc.c  */
- #line 227 "awkgram.y"
+ #line 227 "awkgram.y" /* yacc.c:1646  */
      {
-               (void) append_rule((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+               (void) append_rule((yyvsp[-1]), (yyvsp[0]));
          }
 -#line 1884 "awkgram.c" /* yacc.c:1646  */
++#line 1881 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 8:
@@@ -2095,18 -1893,19 +1890,19 @@@
                        msg(_("each rule must have a pattern or an action 
part"));
                        errcount++;
                } else          /* pattern rule with non-empty pattern */
-                       (void) append_rule((yyvsp[(1) - (2)]), NULL);
+                       (void) append_rule((yyvsp[-1]), NULL);
          }
 -#line 1899 "awkgram.c" /* yacc.c:1646  */
++#line 1896 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 9:
- /* Line 1787 of yacc.c  */
- #line 242 "awkgram.y"
+ #line 242 "awkgram.y" /* yacc.c:1646  */
      {
                in_function = NULL;
-               (void) mk_function((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+               (void) mk_function((yyvsp[-1]), (yyvsp[0]));
                yyerrok;
          }
 -#line 1909 "awkgram.c" /* yacc.c:1646  */
++#line 1906 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 10:
@@@ -2116,6 -1914,7 +1911,7 @@@
                want_source = false;
                yyerrok;
          }
 -#line 1918 "awkgram.c" /* yacc.c:1646  */
++#line 1915 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 11:
@@@ -2125,66 -1923,67 +1920,67 @@@
                want_source = false;
                yyerrok;
          }
 -#line 1927 "awkgram.c" /* yacc.c:1646  */
++#line 1924 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 12:
- /* Line 1787 of yacc.c  */
- #line 261 "awkgram.y"
+ #line 261 "awkgram.y" /* yacc.c:1646  */
      {
-               if (include_source((yyvsp[(1) - (1)])) < 0)
+               if (include_source((yyvsp[0])) < 0)
                        YYABORT;
-               efree((yyvsp[(1) - (1)])->lextok);
-               bcfree((yyvsp[(1) - (1)]));
+               efree((yyvsp[0])->lextok);
+               bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
 -#line 1939 "awkgram.c" /* yacc.c:1646  */
++#line 1936 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 13:
- /* Line 1787 of yacc.c  */
- #line 269 "awkgram.y"
+ #line 269 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 1945 "awkgram.c" /* yacc.c:1646  */
++#line 1942 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 14:
- /* Line 1787 of yacc.c  */
- #line 271 "awkgram.y"
+ #line 271 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 1951 "awkgram.c" /* yacc.c:1646  */
++#line 1948 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 15:
- /* Line 1787 of yacc.c  */
- #line 276 "awkgram.y"
+ #line 276 "awkgram.y" /* yacc.c:1646  */
      {
-               if (load_library((yyvsp[(1) - (1)])) < 0)
+               if (load_library((yyvsp[0])) < 0)
                        YYABORT;
-               efree((yyvsp[(1) - (1)])->lextok);
-               bcfree((yyvsp[(1) - (1)]));
+               efree((yyvsp[0])->lextok);
+               bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
 -#line 1963 "awkgram.c" /* yacc.c:1646  */
++#line 1960 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 16:
- /* Line 1787 of yacc.c  */
- #line 284 "awkgram.y"
+ #line 284 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 1969 "awkgram.c" /* yacc.c:1646  */
++#line 1966 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 17:
- /* Line 1787 of yacc.c  */
- #line 286 "awkgram.y"
+ #line 286 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 1975 "awkgram.c" /* yacc.c:1646  */
++#line 1972 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 18:
- /* Line 1787 of yacc.c  */
- #line 291 "awkgram.y"
+ #line 291 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; rule = Rule; }
 -#line 1981 "awkgram.c" /* yacc.c:1646  */
++#line 1978 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 19:
- /* Line 1787 of yacc.c  */
- #line 293 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); rule = Rule; }
+ #line 293 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); rule = Rule; }
 -#line 1987 "awkgram.c" /* yacc.c:1646  */
++#line 1984 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 20:
@@@ -2193,28 -1991,29 +1988,29 @@@
      {
                INSTRUCTION *tp;
  
-               add_lint((yyvsp[(1) - (4)]), LINT_assign_in_cond);
-               add_lint((yyvsp[(4) - (4)]), LINT_assign_in_cond);
+               add_lint((yyvsp[-3]), LINT_assign_in_cond);
+               add_lint((yyvsp[0]), LINT_assign_in_cond);
  
                tp = instruction(Op_no_op);
-               list_prepend((yyvsp[(1) - (4)]), bcalloc(Op_line_range, 
!!do_pretty_print + 1, 0));
-               (yyvsp[(1) - (4)])->nexti->triggered = false;
-               (yyvsp[(1) - (4)])->nexti->target_jmp = (yyvsp[(4) - 
(4)])->nexti;
+               list_prepend((yyvsp[-3]), bcalloc(Op_line_range, 
!!do_pretty_print + 1, 0));
+               (yyvsp[-3])->nexti->triggered = false;
+               (yyvsp[-3])->nexti->target_jmp = (yyvsp[0])->nexti;
  
-               list_append((yyvsp[(1) - (4)]), instruction(Op_cond_pair));
-               (yyvsp[(1) - (4)])->lasti->line_range = (yyvsp[(1) - 
(4)])->nexti;
-               (yyvsp[(1) - (4)])->lasti->target_jmp = tp;
+               list_append((yyvsp[-3]), instruction(Op_cond_pair));
+               (yyvsp[-3])->lasti->line_range = (yyvsp[-3])->nexti;
+               (yyvsp[-3])->lasti->target_jmp = tp;
  
-               list_append((yyvsp[(4) - (4)]), instruction(Op_cond_pair));
-               (yyvsp[(4) - (4)])->lasti->line_range = (yyvsp[(1) - 
(4)])->nexti;
-               (yyvsp[(4) - (4)])->lasti->target_jmp = tp;
+               list_append((yyvsp[0]), instruction(Op_cond_pair));
+               (yyvsp[0])->lasti->line_range = (yyvsp[-3])->nexti;
+               (yyvsp[0])->lasti->target_jmp = tp;
                if (do_pretty_print) {
-                       ((yyvsp[(1) - (4)])->nexti + 1)->condpair_left = 
(yyvsp[(1) - (4)])->lasti;
-                       ((yyvsp[(1) - (4)])->nexti + 1)->condpair_right = 
(yyvsp[(4) - (4)])->lasti;
+                       ((yyvsp[-3])->nexti + 1)->condpair_left = 
(yyvsp[-3])->lasti;
+                       ((yyvsp[-3])->nexti + 1)->condpair_right = 
(yyvsp[0])->lasti;
                }
-               (yyval) = list_append(list_merge((yyvsp[(1) - (4)]), (yyvsp[(4) 
- (4)])), tp);
+               (yyval) = list_append(list_merge((yyvsp[-3]), (yyvsp[0])), tp);
                rule = Rule;
          }
 -#line 2017 "awkgram.c" /* yacc.c:1646  */
++#line 2014 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 21:
@@@ -2223,13 -2021,14 +2018,14 @@@
      {
                static int begin_seen = 0;
                if (do_lint_old && ++begin_seen == 2)
-                       warning_ln((yyvsp[(1) - (1)])->source_line,
+                       warning_ln((yyvsp[0])->source_line,
                                _("old awk does not support multiple `BEGIN' or 
`END' rules"));
  
-               (yyvsp[(1) - (1)])->in_rule = rule = BEGIN;
-               (yyvsp[(1) - (1)])->source_file = source;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->in_rule = rule = BEGIN;
+               (yyvsp[0])->source_file = source;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2032 "awkgram.c" /* yacc.c:1646  */
++#line 2029 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 22:
@@@ -2238,56 -2036,57 +2033,57 @@@
      {
                static int end_seen = 0;
                if (do_lint_old && ++end_seen == 2)
-                       warning_ln((yyvsp[(1) - (1)])->source_line,
+                       warning_ln((yyvsp[0])->source_line,
                                _("old awk does not support multiple `BEGIN' or 
`END' rules"));
  
-               (yyvsp[(1) - (1)])->in_rule = rule = END;
-               (yyvsp[(1) - (1)])->source_file = source;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->in_rule = rule = END;
+               (yyvsp[0])->source_file = source;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2047 "awkgram.c" /* yacc.c:1646  */
++#line 2044 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 23:
- /* Line 1787 of yacc.c  */
- #line 343 "awkgram.y"
+ #line 343 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->in_rule = rule = BEGINFILE;
-               (yyvsp[(1) - (1)])->source_file = source;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->in_rule = rule = BEGINFILE;
+               (yyvsp[0])->source_file = source;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2057 "awkgram.c" /* yacc.c:1646  */
++#line 2054 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 24:
- /* Line 1787 of yacc.c  */
- #line 349 "awkgram.y"
+ #line 349 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->in_rule = rule = ENDFILE;
-               (yyvsp[(1) - (1)])->source_file = source;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->in_rule = rule = ENDFILE;
+               (yyvsp[0])->source_file = source;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2067 "awkgram.c" /* yacc.c:1646  */
++#line 2064 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 25:
- /* Line 1787 of yacc.c  */
- #line 358 "awkgram.y"
+ #line 358 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(2) - (5)]) == NULL)
+               if ((yyvsp[-3]) == NULL)
                        (yyval) = list_create(instruction(Op_no_op));
                else
-                       (yyval) = (yyvsp[(2) - (5)]);
+                       (yyval) = (yyvsp[-3]);
          }
 -#line 2078 "awkgram.c" /* yacc.c:1646  */
++#line 2075 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 26:
- /* Line 1787 of yacc.c  */
- #line 368 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 368 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2084 "awkgram.c" /* yacc.c:1646  */
++#line 2081 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 27:
- /* Line 1787 of yacc.c  */
- #line 370 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 370 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2090 "awkgram.c" /* yacc.c:1646  */
++#line 2087 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 28:
@@@ -2298,33 -2096,34 +2093,34 @@@
                                        tokstart);
                YYABORT;
          }
 -#line 2100 "awkgram.c" /* yacc.c:1646  */
++#line 2097 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 29:
- /* Line 1787 of yacc.c  */
- #line 378 "awkgram.y"
-     { (yyval) = (yyvsp[(2) - (2)]); }
+ #line 378 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2106 "awkgram.c" /* yacc.c:1646  */
++#line 2103 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 32:
- /* Line 1787 of yacc.c  */
- #line 388 "awkgram.y"
+ #line 388 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (6)])->source_file = source;
-               if (install_function((yyvsp[(2) - (6)])->lextok, (yyvsp[(1) - 
(6)]), (yyvsp[(4) - (6)])) < 0)
+               (yyvsp[-5])->source_file = source;
+               if (install_function((yyvsp[-4])->lextok, (yyvsp[-5]), 
(yyvsp[-2])) < 0)
                        YYABORT;
-               in_function = (yyvsp[(2) - (6)])->lextok;
-               (yyvsp[(2) - (6)])->lextok = NULL;
-               bcfree((yyvsp[(2) - (6)]));
+               in_function = (yyvsp[-4])->lextok;
+               (yyvsp[-4])->lextok = NULL;
+               bcfree((yyvsp[-4]));
                /* $4 already free'd in install_function */
-               (yyval) = (yyvsp[(1) - (6)]);
+               (yyval) = (yyvsp[-5]);
          }
 -#line 2121 "awkgram.c" /* yacc.c:1646  */
++#line 2118 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 33:
- /* Line 1787 of yacc.c  */
- #line 406 "awkgram.y"
+ #line 406 "awkgram.y" /* yacc.c:1646  */
      { want_regexp = true; }
 -#line 2127 "awkgram.c" /* yacc.c:1646  */
++#line 2124 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 34:
@@@ -2358,18 -2156,19 +2153,19 @@@
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
 -#line 2160 "awkgram.c" /* yacc.c:1646  */
++#line 2157 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 35:
- /* Line 1787 of yacc.c  */
- #line 440 "awkgram.y"
-     { bcfree((yyvsp[(1) - (1)])); }
+ #line 440 "awkgram.y" /* yacc.c:1646  */
+     { bcfree((yyvsp[0])); }
 -#line 2166 "awkgram.c" /* yacc.c:1646  */
++#line 2163 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 37:
- /* Line 1787 of yacc.c  */
- #line 446 "awkgram.y"
+ #line 446 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2172 "awkgram.c" /* yacc.c:1646  */
++#line 2169 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 38:
@@@ -2387,35 -2185,36 +2182,36 @@@
                }
            yyerrok;
          }
 -#line 2189 "awkgram.c" /* yacc.c:1646  */
++#line 2186 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 39:
- /* Line 1787 of yacc.c  */
- #line 461 "awkgram.y"
+ #line 461 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2195 "awkgram.c" /* yacc.c:1646  */
++#line 2192 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 42:
- /* Line 1787 of yacc.c  */
- #line 471 "awkgram.y"
+ #line 471 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2201 "awkgram.c" /* yacc.c:1646  */
++#line 2198 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 43:
- /* Line 1787 of yacc.c  */
- #line 473 "awkgram.y"
-     { (yyval) = (yyvsp[(2) - (3)]); }
+ #line 473 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-1]); }
 -#line 2207 "awkgram.c" /* yacc.c:1646  */
++#line 2204 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 44:
- /* Line 1787 of yacc.c  */
- #line 475 "awkgram.y"
+ #line 475 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
-                       (yyval) = list_prepend((yyvsp[(1) - (1)]), 
instruction(Op_exec_count));
+                       (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
-                       (yyval) = (yyvsp[(1) - (1)]);
+                       (yyval) = (yyvsp[0]);
          }
 -#line 2218 "awkgram.c" /* yacc.c:1646  */
++#line 2215 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 45:
@@@ -2510,6 -2308,7 +2305,7 @@@
                break_allowed--;                        
                fix_break_continue(ip, tbreak, NULL);
          }
 -#line 2312 "awkgram.c" /* yacc.c:1646  */
++#line 2309 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 46:
@@@ -2556,6 -2354,7 +2351,7 @@@
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
 -#line 2358 "awkgram.c" /* yacc.c:1646  */
++#line 2355 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 47:
@@@ -2602,6 -2400,7 +2397,7 @@@
                } /* else
                        $1 and $4 are NULLs */
          }
 -#line 2404 "awkgram.c" /* yacc.c:1646  */
++#line 2401 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 48:
@@@ -2719,6 -2517,7 +2514,7 @@@ regular_loop
                break_allowed--;
                continue_allowed--;
          }
 -#line 2521 "awkgram.c" /* yacc.c:1646  */
++#line 2518 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 49:
@@@ -2730,6 -2528,7 +2525,7 @@@
                break_allowed--;
                continue_allowed--;
          }
 -#line 2532 "awkgram.c" /* yacc.c:1646  */
++#line 2529 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 50:
@@@ -2741,43 -2539,44 +2536,44 @@@
                break_allowed--;
                continue_allowed--;
          }
 -#line 2543 "awkgram.c" /* yacc.c:1646  */
++#line 2540 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 51:
- /* Line 1787 of yacc.c  */
- #line 783 "awkgram.y"
+ #line 783 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
-                       (yyval) = list_prepend((yyvsp[(1) - (1)]), 
instruction(Op_exec_count));
+                       (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
-                       (yyval) = (yyvsp[(1) - (1)]);
+                       (yyval) = (yyvsp[0]);
          }
 -#line 2554 "awkgram.c" /* yacc.c:1646  */
++#line 2551 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 52:
- /* Line 1787 of yacc.c  */
- #line 793 "awkgram.y"
+ #line 793 "awkgram.y" /* yacc.c:1646  */
      { 
                if (! break_allowed)
-                       error_ln((yyvsp[(1) - (2)])->source_line,
+                       error_ln((yyvsp[-1])->source_line,
                                _("`break' is not allowed outside a loop or 
switch"));
-               (yyvsp[(1) - (2)])->target_jmp = NULL;
-               (yyval) = list_create((yyvsp[(1) - (2)]));
+               (yyvsp[-1])->target_jmp = NULL;
+               (yyval) = list_create((yyvsp[-1]));
  
          }
 -#line 2567 "awkgram.c" /* yacc.c:1646  */
++#line 2564 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 53:
- /* Line 1787 of yacc.c  */
- #line 802 "awkgram.y"
+ #line 802 "awkgram.y" /* yacc.c:1646  */
      {
                if (! continue_allowed)
-                       error_ln((yyvsp[(1) - (2)])->source_line,
+                       error_ln((yyvsp[-1])->source_line,
                                _("`continue' is not allowed outside a loop"));
-               (yyvsp[(1) - (2)])->target_jmp = NULL;
-               (yyval) = list_create((yyvsp[(1) - (2)]));
+               (yyvsp[-1])->target_jmp = NULL;
+               (yyval) = list_create((yyvsp[-1]));
  
          }
 -#line 2580 "awkgram.c" /* yacc.c:1646  */
++#line 2577 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 54:
@@@ -2786,11 -2584,12 +2581,12 @@@
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule && rule != Rule)
-                       error_ln((yyvsp[(1) - (2)])->source_line,
+                       error_ln((yyvsp[-1])->source_line,
                                _("`next' used in %s action"), ruletab[rule]);
-               (yyvsp[(1) - (2)])->target_jmp = ip_rec;
-               (yyval) = list_create((yyvsp[(1) - (2)]));
+               (yyvsp[-1])->target_jmp = ip_rec;
+               (yyval) = list_create((yyvsp[-1]));
          }
 -#line 2593 "awkgram.c" /* yacc.c:1646  */
++#line 2590 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 55:
@@@ -2799,13 -2597,14 +2594,14 @@@
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule == BEGIN || rule == END || rule == ENDFILE)
-                       error_ln((yyvsp[(1) - (2)])->source_line,
+                       error_ln((yyvsp[-1])->source_line,
                                _("`nextfile' used in %s action"), 
ruletab[rule]);
  
-               (yyvsp[(1) - (2)])->target_newfile = ip_newfile;
-               (yyvsp[(1) - (2)])->target_endfile = ip_endfile;
-               (yyval) = list_create((yyvsp[(1) - (2)]));
+               (yyvsp[-1])->target_newfile = ip_newfile;
+               (yyvsp[-1])->target_endfile = ip_endfile;
+               (yyval) = list_create((yyvsp[-1]));
          }
 -#line 2608 "awkgram.c" /* yacc.c:1646  */
++#line 2605 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 56:
@@@ -2823,8 -2621,9 +2618,9 @@@
                        (void) list_prepend((yyval), instruction(Op_push_i));
                        (yyval)->nexti->memory = dupnode(Nnull_string);
                } else
-                       (yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - 
(3)]));
+                       (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
          }
 -#line 2627 "awkgram.c" /* yacc.c:1646  */
++#line 2624 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 57:
@@@ -2834,6 -2632,7 +2629,7 @@@
                if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
 -#line 2636 "awkgram.c" /* yacc.c:1646  */
++#line 2633 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 58:
@@@ -2853,18 -2651,19 +2648,19 @@@
                                 * call without a return value is recognized
                                 * in mk_function().
                                 */
-                               ((yyvsp[(3) - (4)])->lasti + 1)->tail_call = 
true;
+                               ((yyvsp[-1])->lasti + 1)->tail_call = true;
                        }
  
-                       (yyval) = list_append((yyvsp[(3) - (4)]), (yyvsp[(1) - 
(4)]));
+                       (yyval) = list_append((yyvsp[-1]), (yyvsp[-3]));
                }
          }
 -#line 2661 "awkgram.c" /* yacc.c:1646  */
++#line 2658 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 60:
- /* Line 1787 of yacc.c  */
- #line 881 "awkgram.y"
+ #line 881 "awkgram.y" /* yacc.c:1646  */
      { in_print = true; in_parens = 0; }
 -#line 2667 "awkgram.c" /* yacc.c:1646  */
++#line 2664 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 61:
@@@ -2966,12 -2764,13 +2761,13 @@@ regular_print
                        }
                }
          }
 -#line 2768 "awkgram.c" /* yacc.c:1646  */
++#line 2765 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 62:
- /* Line 1787 of yacc.c  */
- #line 979 "awkgram.y"
+ #line 979 "awkgram.y" /* yacc.c:1646  */
      { sub_counter = 0; }
 -#line 2774 "awkgram.c" /* yacc.c:1646  */
++#line 2771 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 63:
@@@ -3002,13 -2800,14 +2797,14 @@@
                         * Also, since BWK awk supports it, we don't have to
                         * check do_traditional either.
                         */
-                       (yyvsp[(1) - (4)])->expr_count = 0;
-                       (yyval) = list_append(list_create((yyvsp[(2) - (4)])), 
(yyvsp[(1) - (4)]));
+                       (yyvsp[-3])->expr_count = 0;
+                       (yyval) = list_append(list_create((yyvsp[-2])), 
(yyvsp[-3]));
                } else {
-                       (yyvsp[(1) - (4)])->expr_count = sub_counter;
-                       (yyval) = list_append(list_append((yyvsp[(4) - (4)]), 
(yyvsp[(2) - (4)])), (yyvsp[(1) - (4)]));
+                       (yyvsp[-3])->expr_count = sub_counter;
+                       (yyval) = list_append(list_append((yyvsp[0]), 
(yyvsp[-2])), (yyvsp[-3]));
                }
          }
 -#line 2811 "awkgram.c" /* yacc.c:1646  */
++#line 2808 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 64:
@@@ -3039,47 -2837,48 +2834,48 @@@
                                fatal(_("`delete' is not allowed with 
FUNCTAB"));
                }
          }
 -#line 2841 "awkgram.c" /* yacc.c:1646  */
++#line 2838 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 65:
- /* Line 1787 of yacc.c  */
- #line 1043 "awkgram.y"
-     { (yyval) = optimize_assignment((yyvsp[(1) - (1)])); }
+ #line 1043 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = optimize_assignment((yyvsp[0])); }
 -#line 2847 "awkgram.c" /* yacc.c:1646  */
++#line 2844 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 66:
- /* Line 1787 of yacc.c  */
- #line 1048 "awkgram.y"
+ #line 1048 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2853 "awkgram.c" /* yacc.c:1646  */
++#line 2850 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 67:
- /* Line 1787 of yacc.c  */
- #line 1050 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1050 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2859 "awkgram.c" /* yacc.c:1646  */
++#line 2856 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 68:
- /* Line 1787 of yacc.c  */
- #line 1055 "awkgram.y"
+ #line 1055 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2865 "awkgram.c" /* yacc.c:1646  */
++#line 2862 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 69:
- /* Line 1787 of yacc.c  */
- #line 1057 "awkgram.y"
+ #line 1057 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(1) - (2)]) == NULL)
-                       (yyval) = list_create((yyvsp[(2) - (2)]));
+               if ((yyvsp[-1]) == NULL)
+                       (yyval) = list_create((yyvsp[0]));
                else
-                       (yyval) = list_prepend((yyvsp[(1) - (2)]), (yyvsp[(2) - 
(2)]));
+                       (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
          }
 -#line 2876 "awkgram.c" /* yacc.c:1646  */
++#line 2873 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 70:
- /* Line 1787 of yacc.c  */
- #line 1064 "awkgram.y"
+ #line 1064 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2882 "awkgram.c" /* yacc.c:1646  */
++#line 2879 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 71:
@@@ -3091,11 -2889,12 +2886,12 @@@
                        casestmt = list_create(instruction(Op_no_op));  
                if (do_pretty_print)
                        (void) list_prepend(casestmt, 
instruction(Op_exec_count));
-               (yyvsp[(1) - (5)])->case_exp = (yyvsp[(2) - (5)]);
-               (yyvsp[(1) - (5)])->case_stmt = casestmt;
-               bcfree((yyvsp[(3) - (5)]));
-               (yyval) = (yyvsp[(1) - (5)]);
+               (yyvsp[-4])->case_exp = (yyvsp[-3]);
+               (yyvsp[-4])->case_stmt = casestmt;
+               bcfree((yyvsp[-2]));
+               (yyval) = (yyvsp[-4]);
          }
 -#line 2898 "awkgram.c" /* yacc.c:1646  */
++#line 2895 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 72:
@@@ -3107,72 -2905,73 +2902,73 @@@
                        casestmt = list_create(instruction(Op_no_op));
                if (do_pretty_print)
                        (void) list_prepend(casestmt, 
instruction(Op_exec_count));
-               bcfree((yyvsp[(2) - (4)]));
-               (yyvsp[(1) - (4)])->case_stmt = casestmt;
-               (yyval) = (yyvsp[(1) - (4)]);
+               bcfree((yyvsp[-2]));
+               (yyvsp[-3])->case_stmt = casestmt;
+               (yyval) = (yyvsp[-3]);
          }
 -#line 2913 "awkgram.c" /* yacc.c:1646  */
++#line 2910 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 73:
- /* Line 1787 of yacc.c  */
- #line 1095 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1095 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2919 "awkgram.c" /* yacc.c:1646  */
++#line 2916 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 74:
- /* Line 1787 of yacc.c  */
- #line 1097 "awkgram.y"
+ #line 1097 "awkgram.y" /* yacc.c:1646  */
      { 
-               NODE *n = (yyvsp[(2) - (2)])->memory;
+               NODE *n = (yyvsp[0])->memory;
                (void) force_number(n);
                negate_num(n);
-               bcfree((yyvsp[(1) - (2)]));
-               (yyval) = (yyvsp[(2) - (2)]);
+               bcfree((yyvsp[-1]));
+               (yyval) = (yyvsp[0]);
          }
 -#line 2931 "awkgram.c" /* yacc.c:1646  */
++#line 2928 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 75:
- /* Line 1787 of yacc.c  */
- #line 1105 "awkgram.y"
+ #line 1105 "awkgram.y" /* yacc.c:1646  */
      {
-               bcfree((yyvsp[(1) - (2)]));
-               (yyval) = (yyvsp[(2) - (2)]);
+               bcfree((yyvsp[-1]));
+               (yyval) = (yyvsp[0]);
          }
 -#line 2940 "awkgram.c" /* yacc.c:1646  */
++#line 2937 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 76:
- /* Line 1787 of yacc.c  */
- #line 1110 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1110 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2946 "awkgram.c" /* yacc.c:1646  */
++#line 2943 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 77:
- /* Line 1787 of yacc.c  */
- #line 1112 "awkgram.y"
+ #line 1112 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->opcode = Op_push_re;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->opcode = Op_push_re;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2955 "awkgram.c" /* yacc.c:1646  */
++#line 2952 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 78:
- /* Line 1787 of yacc.c  */
- #line 1120 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1120 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2961 "awkgram.c" /* yacc.c:1646  */
++#line 2958 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 79:
- /* Line 1787 of yacc.c  */
- #line 1122 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1122 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2967 "awkgram.c" /* yacc.c:1646  */
++#line 2964 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 81:
- /* Line 1787 of yacc.c  */
- #line 1132 "awkgram.y"
+ #line 1132 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = (yyvsp[(2) - (3)]);
+               (yyval) = (yyvsp[-1]);
          }
 -#line 2975 "awkgram.c" /* yacc.c:1646  */
++#line 2972 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 82:
@@@ -3183,149 -2981,150 +2978,150 @@@
                in_parens = 0;
                (yyval) = NULL;
          }
 -#line 2985 "awkgram.c" /* yacc.c:1646  */
++#line 2982 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 83:
- /* Line 1787 of yacc.c  */
- #line 1144 "awkgram.y"
+ #line 1144 "awkgram.y" /* yacc.c:1646  */
      { in_print = false; in_parens = 0; }
 -#line 2991 "awkgram.c" /* yacc.c:1646  */
++#line 2988 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 84:
- /* Line 1787 of yacc.c  */
- #line 1145 "awkgram.y"
+ #line 1145 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(1) - (3)])->redir_type == redirect_twoway
-                       && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_K_getline_redir
-                               && (yyvsp[(3) - (3)])->lasti->redir_type == 
redirect_twoway)
+               if ((yyvsp[-2])->redir_type == redirect_twoway
+                       && (yyvsp[0])->lasti->opcode == Op_K_getline_redir
+                               && (yyvsp[0])->lasti->redir_type == 
redirect_twoway)
                        yyerror(_("multistage two-way pipelines don't work"));
-               (yyval) = list_prepend((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)]));
+               (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
 -#line 3003 "awkgram.c" /* yacc.c:1646  */
++#line 3000 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 85:
- /* Line 1787 of yacc.c  */
- #line 1156 "awkgram.y"
+ #line 1156 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = mk_condition((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)]), 
(yyvsp[(6) - (6)]), NULL, NULL);
+               (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), 
NULL, NULL);
          }
 -#line 3011 "awkgram.c" /* yacc.c:1646  */
++#line 3008 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 86:
- /* Line 1787 of yacc.c  */
- #line 1161 "awkgram.y"
+ #line 1161 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = mk_condition((yyvsp[(3) - (9)]), (yyvsp[(1) - (9)]), 
(yyvsp[(6) - (9)]), (yyvsp[(7) - (9)]), (yyvsp[(9) - (9)]));
+               (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), 
(yyvsp[-2]), (yyvsp[0]));
          }
 -#line 3019 "awkgram.c" /* yacc.c:1646  */
++#line 3016 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 91:
- /* Line 1787 of yacc.c  */
- #line 1178 "awkgram.y"
+ #line 1178 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3025 "awkgram.c" /* yacc.c:1646  */
++#line 3022 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 92:
- /* Line 1787 of yacc.c  */
- #line 1180 "awkgram.y"
+ #line 1180 "awkgram.y" /* yacc.c:1646  */
      {
-               bcfree((yyvsp[(1) - (2)]));
-               (yyval) = (yyvsp[(2) - (2)]);
+               bcfree((yyvsp[-1]));
+               (yyval) = (yyvsp[0]);
          }
 -#line 3034 "awkgram.c" /* yacc.c:1646  */
++#line 3031 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 93:
- /* Line 1787 of yacc.c  */
- #line 1188 "awkgram.y"
+ #line 1188 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3040 "awkgram.c" /* yacc.c:1646  */
++#line 3037 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 94:
- /* Line 1787 of yacc.c  */
- #line 1190 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]) ; }
+ #line 1190 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]) ; }
 -#line 3046 "awkgram.c" /* yacc.c:1646  */
++#line 3043 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 95:
- /* Line 1787 of yacc.c  */
- #line 1195 "awkgram.y"
+ #line 1195 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->param_count = 0;
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyvsp[0])->param_count = 0;
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3055 "awkgram.c" /* yacc.c:1646  */
++#line 3052 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 96:
- /* Line 1787 of yacc.c  */
- #line 1200 "awkgram.y"
+ #line 1200 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(3) - (3)])->param_count =  (yyvsp[(1) - 
(3)])->lasti->param_count + 1;
-               (yyval) = list_append((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
+               (yyvsp[0])->param_count =  (yyvsp[-2])->lasti->param_count + 1;
+               (yyval) = list_append((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
 -#line 3065 "awkgram.c" /* yacc.c:1646  */
++#line 3062 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 97:
- /* Line 1787 of yacc.c  */
- #line 1206 "awkgram.y"
+ #line 1206 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3071 "awkgram.c" /* yacc.c:1646  */
++#line 3068 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 98:
- /* Line 1787 of yacc.c  */
- #line 1208 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (2)]); }
+ #line 1208 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-1]); }
 -#line 3077 "awkgram.c" /* yacc.c:1646  */
++#line 3074 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 99:
- /* Line 1787 of yacc.c  */
- #line 1210 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (3)]); }
+ #line 1210 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-2]); }
 -#line 3083 "awkgram.c" /* yacc.c:1646  */
++#line 3080 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 100:
- /* Line 1787 of yacc.c  */
- #line 1216 "awkgram.y"
+ #line 1216 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3089 "awkgram.c" /* yacc.c:1646  */
++#line 3086 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 101:
- /* Line 1787 of yacc.c  */
- #line 1218 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1218 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3095 "awkgram.c" /* yacc.c:1646  */
++#line 3092 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 102:
- /* Line 1787 of yacc.c  */
- #line 1223 "awkgram.y"
+ #line 1223 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3101 "awkgram.c" /* yacc.c:1646  */
++#line 3098 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 103:
- /* Line 1787 of yacc.c  */
- #line 1225 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1225 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3107 "awkgram.c" /* yacc.c:1646  */
++#line 3104 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 104:
- /* Line 1787 of yacc.c  */
- #line 1230 "awkgram.y"
-     { (yyval) = mk_expression_list(NULL, (yyvsp[(1) - (1)])); }
+ #line 1230 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
 -#line 3113 "awkgram.c" /* yacc.c:1646  */
++#line 3110 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 105:
- /* Line 1787 of yacc.c  */
- #line 1232 "awkgram.y"
+ #line 1232 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)]));
+               (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
 -#line 3122 "awkgram.c" /* yacc.c:1646  */
++#line 3119 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 106:
- /* Line 1787 of yacc.c  */
- #line 1237 "awkgram.y"
+ #line 1237 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3128 "awkgram.c" /* yacc.c:1646  */
++#line 3125 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 107:
@@@ -3336,174 -3134,168 +3131,174 @@@
                 * Returning the expression list instead of NULL lets
                 * snode get a list of arguments that it can count.
                 */
-               (yyval) = (yyvsp[(1) - (2)]);
+               (yyval) = (yyvsp[-1]);
          }
 -#line 3140 "awkgram.c" /* yacc.c:1646  */
++#line 3137 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 108:
- /* Line 1787 of yacc.c  */
- #line 1247 "awkgram.y"
+ #line 1247 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
-               (yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)]));
+               (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
 -#line 3149 "awkgram.c" /* yacc.c:1646  */
++#line 3146 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 109:
- /* Line 1787 of yacc.c  */
- #line 1252 "awkgram.y"
+ #line 1252 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
-               (yyval) = (yyvsp[(1) - (3)]);
+               (yyval) = (yyvsp[-2]);
          }
 -#line 3158 "awkgram.c" /* yacc.c:1646  */
++#line 3155 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 110:
- /* Line 1787 of yacc.c  */
- #line 1261 "awkgram.y"
+ #line 1261 "awkgram.y" /* yacc.c:1646  */
      {
-               if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_match_rec)
-                       lintwarn_ln((yyvsp[(2) - (3)])->source_line,
+               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[(1) - (3)]), (yyvsp[(3) - (3)]), 
(yyvsp[(2) - (3)]));
+               (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
          }
 -#line 3169 "awkgram.c" /* yacc.c:1646  */
++#line 3166 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 111:
- /* Line 1787 of yacc.c  */
- #line 1268 "awkgram.y"
-     { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1268 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3175 "awkgram.c" /* yacc.c:1646  */
++#line 3172 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 112:
- /* Line 1787 of yacc.c  */
- #line 1270 "awkgram.y"
-     { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1270 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3181 "awkgram.c" /* yacc.c:1646  */
++#line 3178 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 113:
- /* Line 1787 of yacc.c  */
- #line 1272 "awkgram.y"
+ #line 1272 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(1) - (3)])->lasti->opcode == Op_match_rec)
-                       warning_ln((yyvsp[(2) - (3)])->source_line,
+               if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
+                       warning_ln((yyvsp[-1])->source_line,
                                _("regular expression on left of `~' or `!~' 
operator"));
  
-               if ((yyvsp[(3) - (3)])->lasti == (yyvsp[(3) - (3)])->nexti && 
(yyvsp[(3) - (3)])->nexti->opcode == Op_match_rec) {
-                       (yyvsp[(2) - (3)])->memory = (yyvsp[(3) - 
(3)])->nexti->memory;
-                       bcfree((yyvsp[(3) - (3)])->nexti);      /* Op_match_rec 
*/
-                       bcfree((yyvsp[(3) - (3)]));                     /* 
Op_list */
-                       (yyval) = list_append((yyvsp[(1) - (3)]), (yyvsp[(2) - 
(3)]));
+               if ((yyvsp[0])->lasti == (yyvsp[0])->nexti && 
(yyvsp[0])->nexti->opcode == Op_match_rec) {
+                       (yyvsp[-1])->memory = (yyvsp[0])->nexti->memory;
+                       bcfree((yyvsp[0])->nexti);      /* Op_match_rec */
+                       bcfree((yyvsp[0]));                     /* Op_list */
+                       (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
                } else {
-                       (yyvsp[(2) - (3)])->memory = 
make_regnode(Node_dynregex, NULL);
-                       (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), 
(yyvsp[(3) - (3)])), (yyvsp[(2) - (3)]));
+                       (yyvsp[-1])->memory = make_regnode(Node_dynregex, NULL);
+                       (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
 -#line 3201 "awkgram.c" /* yacc.c:1646  */
++#line 3198 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 114:
- /* Line 1787 of yacc.c  */
- #line 1288 "awkgram.y"
+ #line 1288 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old)
-                       warning_ln((yyvsp[(2) - (3)])->source_line,
+                       warning_ln((yyvsp[-1])->source_line,
                                _("old awk does not support the keyword `in' 
except after `for'"));
-               (yyvsp[(3) - (3)])->nexti->opcode = Op_push_array;
-               (yyvsp[(2) - (3)])->opcode = Op_in_array;
-               (yyvsp[(2) - (3)])->expr_count = 1;
-               (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) 
- (3)])), (yyvsp[(2) - (3)]));
+               (yyvsp[0])->nexti->opcode = Op_push_array;
+               (yyvsp[-1])->opcode = Op_in_array;
+               (yyvsp[-1])->expr_count = 1;
+               (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
 -#line 3215 "awkgram.c" /* yacc.c:1646  */
++#line 3212 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 115:
- /* Line 1787 of yacc.c  */
- #line 1298 "awkgram.y"
+ #line 1298 "awkgram.y" /* yacc.c:1646  */
      {
-               if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_match_rec)
-                       lintwarn_ln((yyvsp[(2) - (3)])->source_line,
+               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[(1) - (3)]), (yyvsp[(3) 
- (3)])), (yyvsp[(2) - (3)]));
+               (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
 -#line 3226 "awkgram.c" /* yacc.c:1646  */
++#line 3223 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 116:
- /* Line 1787 of yacc.c  */
- #line 1305 "awkgram.y"
-     { (yyval) = mk_condition((yyvsp[(1) - (5)]), (yyvsp[(2) - (5)]), 
(yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])); }
+ #line 1305 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), 
(yyvsp[-1]), (yyvsp[0])); }
 -#line 3232 "awkgram.c" /* yacc.c:1646  */
++#line 3229 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 117:
- /* Line 1787 of yacc.c  */
- #line 1307 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1307 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3238 "awkgram.c" /* yacc.c:1646  */
++#line 3235 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 118:
- /* Line 1787 of yacc.c  */
- #line 1312 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1312 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3244 "awkgram.c" /* yacc.c:1646  */
++#line 3241 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 119:
- /* Line 1787 of yacc.c  */
- #line 1314 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1314 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3250 "awkgram.c" /* yacc.c:1646  */
++#line 3247 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 120:
- /* Line 1787 of yacc.c  */
- #line 1316 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1316 "awkgram.y" /* yacc.c:1646  */
++    { (yyval) = (yyvsp[0]); }
++#line 3253 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 121:
- /* Line 1787 of yacc.c  */
- #line 1318 "awkgram.y"
++#line 1318 "awkgram.y" /* yacc.c:1646  */
      { 
-               (yyvsp[(2) - (2)])->opcode = Op_assign_quotient;
-               (yyval) = (yyvsp[(2) - (2)]);
+               (yyvsp[0])->opcode = Op_assign_quotient;
+               (yyval) = (yyvsp[0]);
          }
 -#line 3259 "awkgram.c" /* yacc.c:1646  */
 -    break;
 -
 -  case 121:
 -#line 1324 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = (yyvsp[0]); }
 -#line 3265 "awkgram.c" /* yacc.c:1646  */
++#line 3262 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 122:
- /* Line 1787 of yacc.c  */
- #line 1326 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1326 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3271 "awkgram.c" /* yacc.c:1646  */
++#line 3268 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 123:
- /* Line 1787 of yacc.c  */
- #line 1328 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1331 "awkgram.y" /* yacc.c:1646  */
++#line 1328 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3277 "awkgram.c" /* yacc.c:1646  */
++#line 3274 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 124:
- /* Line 1787 of yacc.c  */
- #line 1333 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1333 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3283 "awkgram.c" /* yacc.c:1646  */
++#line 3280 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 125:
- /* Line 1787 of yacc.c  */
- #line 1335 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1338 "awkgram.y" /* yacc.c:1646  */
++#line 1335 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3289 "awkgram.c" /* yacc.c:1646  */
++#line 3286 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 126:
- /* Line 1787 of yacc.c  */
- #line 1340 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1340 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3295 "awkgram.c" /* yacc.c:1646  */
++#line 3292 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 127:
- /* Line 1787 of yacc.c  */
- #line 1342 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1342 "awkgram.y" /* yacc.c:1646  */
++    { (yyval) = (yyvsp[0]); }
++#line 3298 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 128:
- /* Line 1787 of yacc.c  */
- #line 1344 "awkgram.y"
++#line 1344 "awkgram.y" /* yacc.c:1646  */
      {
                int count = 2;
                bool is_simple_var = false;
@@@ -3550,47 -3342,47 +3345,47 @@@
                                max_args = count;
                }
          }
 -#line 3346 "awkgram.c" /* yacc.c:1646  */
 -    break;
 -
 -  case 129:
 -#line 1394 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3352 "awkgram.c" /* yacc.c:1646  */
++#line 3349 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 130:
- /* Line 1787 of yacc.c  */
- #line 1396 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1396 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3358 "awkgram.c" /* yacc.c:1646  */
++#line 3355 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 131:
- /* Line 1787 of yacc.c  */
- #line 1398 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1398 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3364 "awkgram.c" /* yacc.c:1646  */
++#line 3361 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 132:
- /* Line 1787 of yacc.c  */
- #line 1400 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1400 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3370 "awkgram.c" /* yacc.c:1646  */
++#line 3367 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 133:
- /* Line 1787 of yacc.c  */
- #line 1402 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1402 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3376 "awkgram.c" /* yacc.c:1646  */
++#line 3373 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 134:
- /* Line 1787 of yacc.c  */
- #line 1404 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1404 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3382 "awkgram.c" /* yacc.c:1646  */
++#line 3379 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 135:
- /* Line 1787 of yacc.c  */
- #line 1406 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1406 "awkgram.y" /* yacc.c:1646  */
++    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
++#line 3385 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 136:
- /* Line 1787 of yacc.c  */
- #line 1408 "awkgram.y"
++#line 1408 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * In BEGINFILE/ENDFILE, allow `getline var < file'
@@@ -3608,124 -3400,124 +3403,124 @@@
                                                _("`getline' invalid inside 
`%s' rule"), ruletab[rule]);
                        }
                }
-               if (do_lint && rule == END && (yyvsp[(3) - (3)]) == NULL)
-                       lintwarn_ln((yyvsp[(1) - (3)])->source_line,
+               if (do_lint && rule == END && (yyvsp[0]) == NULL)
+                       lintwarn_ln((yyvsp[-2])->source_line,
                                _("non-redirected `getline' undefined inside 
END action"));
-               (yyval) = mk_getline((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), 
(yyvsp[(3) - (3)]), redirect_input);
+               (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
 -#line 3409 "awkgram.c" /* yacc.c:1646  */
++#line 3412 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 136:
 -#line 1429 "awkgram.y" /* yacc.c:1646  */
 +  case 137:
- /* Line 1787 of yacc.c  */
- #line 1431 "awkgram.y"
++#line 1431 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(2) - (2)])->opcode = Op_postincrement;
-               (yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - 
(2)]));
+               (yyvsp[0])->opcode = Op_postincrement;
+               (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
 -#line 3418 "awkgram.c" /* yacc.c:1646  */
++#line 3421 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 137:
 -#line 1434 "awkgram.y" /* yacc.c:1646  */
 +  case 138:
- /* Line 1787 of yacc.c  */
- #line 1436 "awkgram.y"
++#line 1436 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(2) - (2)])->opcode = Op_postdecrement;
-               (yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - 
(2)]));
+               (yyvsp[0])->opcode = Op_postdecrement;
+               (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
 -#line 3427 "awkgram.c" /* yacc.c:1646  */
++#line 3430 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 138:
 -#line 1439 "awkgram.y" /* yacc.c:1646  */
 +  case 139:
- /* Line 1787 of yacc.c  */
- #line 1441 "awkgram.y"
++#line 1441 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old) {
-                   warning_ln((yyvsp[(4) - (5)])->source_line,
+                   warning_ln((yyvsp[-1])->source_line,
                                _("old awk does not support the keyword `in' 
except after `for'"));
-                   warning_ln((yyvsp[(4) - (5)])->source_line,
+                   warning_ln((yyvsp[-1])->source_line,
                                _("old awk does not support multidimensional 
arrays"));
                }
-               (yyvsp[(5) - (5)])->nexti->opcode = Op_push_array;
-               (yyvsp[(4) - (5)])->opcode = Op_in_array;
-               if ((yyvsp[(2) - (5)]) == NULL) {       /* error */
+               (yyvsp[0])->nexti->opcode = Op_push_array;
+               (yyvsp[-1])->opcode = Op_in_array;
+               if ((yyvsp[-3]) == NULL) {      /* error */
                        errcount++;
-                       (yyvsp[(4) - (5)])->expr_count = 0;
-                       (yyval) = list_merge((yyvsp[(5) - (5)]), (yyvsp[(4) - 
(5)]));
+                       (yyvsp[-1])->expr_count = 0;
+                       (yyval) = list_merge((yyvsp[0]), (yyvsp[-1]));
                } else {
-                       INSTRUCTION *t = (yyvsp[(2) - (5)]);
-                       (yyvsp[(4) - (5)])->expr_count = count_expressions(&t, 
false);
-                       (yyval) = list_append(list_merge(t, (yyvsp[(5) - 
(5)])), (yyvsp[(4) - (5)]));
+                       INSTRUCTION *t = (yyvsp[-3]);
+                       (yyvsp[-1])->expr_count = count_expressions(&t, false);
+                       (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
 -#line 3451 "awkgram.c" /* yacc.c:1646  */
++#line 3454 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 139:
 -#line 1464 "awkgram.y" /* yacc.c:1646  */
 +  case 140:
- /* Line 1787 of yacc.c  */
- #line 1466 "awkgram.y"
++#line 1466 "awkgram.y" /* yacc.c:1646  */
      {
-                 (yyval) = mk_getline((yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]), 
(yyvsp[(1) - (4)]), (yyvsp[(2) - (4)])->redir_type);
-                 bcfree((yyvsp[(2) - (4)]));
+                 (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), 
(yyvsp[-2])->redir_type);
+                 bcfree((yyvsp[-2]));
                }
 -#line 3460 "awkgram.c" /* yacc.c:1646  */
 -    break;
 -
 -  case 140:
 -#line 1470 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3466 "awkgram.c" /* yacc.c:1646  */
++#line 3463 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 141:
- /* Line 1787 of yacc.c  */
- #line 1472 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1472 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3472 "awkgram.c" /* yacc.c:1646  */
++#line 3469 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 142:
- /* Line 1787 of yacc.c  */
- #line 1474 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1474 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3478 "awkgram.c" /* yacc.c:1646  */
++#line 3475 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 143:
- /* Line 1787 of yacc.c  */
- #line 1476 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1476 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3484 "awkgram.c" /* yacc.c:1646  */
++#line 3481 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 144:
- /* Line 1787 of yacc.c  */
- #line 1478 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1478 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3490 "awkgram.c" /* yacc.c:1646  */
++#line 3487 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 145:
- /* Line 1787 of yacc.c  */
- #line 1480 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
+ #line 1480 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3496 "awkgram.c" /* yacc.c:1646  */
++#line 3493 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 146:
- /* Line 1787 of yacc.c  */
- #line 1482 "awkgram.y"
-     { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
 -#line 1485 "awkgram.y" /* yacc.c:1646  */
++#line 1482 "awkgram.y" /* yacc.c:1646  */
++    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
++#line 3499 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 147:
- /* Line 1787 of yacc.c  */
- #line 1487 "awkgram.y"
++#line 1487 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3504 "awkgram.c" /* yacc.c:1646  */
++#line 3507 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 147:
 -#line 1489 "awkgram.y" /* yacc.c:1646  */
 +  case 148:
- /* Line 1787 of yacc.c  */
- #line 1491 "awkgram.y"
++#line 1491 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(2) - (2)])->opcode == Op_match_rec) {
-                       (yyvsp[(2) - (2)])->opcode = Op_nomatch;
-                       (yyvsp[(1) - (2)])->opcode = Op_push_i;
-                       (yyvsp[(1) - (2)])->memory = make_number(0.0);  
-                       (yyval) = 
list_append(list_append(list_create((yyvsp[(1) - (2)])),
-                                               instruction(Op_field_spec)), 
(yyvsp[(2) - (2)]));
+               if ((yyvsp[0])->opcode == Op_match_rec) {
+                       (yyvsp[0])->opcode = Op_nomatch;
+                       (yyvsp[-1])->opcode = Op_push_i;
+                       (yyvsp[-1])->memory = make_number(0.0); 
+                       (yyval) = 
list_append(list_append(list_create((yyvsp[-1])),
+                                               instruction(Op_field_spec)), 
(yyvsp[0]));
                } else {
-                       if (do_optimize && (yyvsp[(2) - (2)])->nexti == 
(yyvsp[(2) - (2)])->lasti
-                                       && (yyvsp[(2) - (2)])->nexti->opcode == 
Op_push_i
-                                       && ((yyvsp[(2) - 
(2)])->nexti->memory->flags & (MPFN|MPZN)) == 0
+                       if (do_optimize && (yyvsp[0])->nexti == 
(yyvsp[0])->lasti
+                                       && (yyvsp[0])->nexti->opcode == 
Op_push_i
+                                       && ((yyvsp[0])->nexti->memory->flags & 
(MPFN|MPZN)) == 0
                        ) {
-                               NODE *n = (yyvsp[(2) - (2)])->nexti->memory;
+                               NODE *n = (yyvsp[0])->nexti->memory;
                                if ((n->flags & (STRCUR|STRING)) != 0) {
                                        n->numbr = (AWKNUM) (n->stlen == 0);
                                        n->flags &= ~(STRCUR|STRING);
@@@ -3744,37 -3536,37 +3539,37 @@@
                        }
                }
           }
 -#line 3540 "awkgram.c" /* yacc.c:1646  */
++#line 3543 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 148:
 -#line 1521 "awkgram.y" /* yacc.c:1646  */
 +  case 149:
- /* Line 1787 of yacc.c  */
- #line 1523 "awkgram.y"
-     { (yyval) = (yyvsp[(2) - (3)]); }
++#line 1523 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-1]); }
 -#line 3546 "awkgram.c" /* yacc.c:1646  */
++#line 3549 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 149:
 -#line 1523 "awkgram.y" /* yacc.c:1646  */
 +  case 150:
- /* Line 1787 of yacc.c  */
- #line 1525 "awkgram.y"
++#line 1525 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
+               (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
 -#line 3556 "awkgram.c" /* yacc.c:1646  */
++#line 3559 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 150:
 -#line 1529 "awkgram.y" /* yacc.c:1646  */
 +  case 151:
- /* Line 1787 of yacc.c  */
- #line 1531 "awkgram.y"
++#line 1531 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
+               (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
 -#line 3566 "awkgram.c" /* yacc.c:1646  */
++#line 3569 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 151:
 -#line 1535 "awkgram.y" /* yacc.c:1646  */
 +  case 152:
- /* Line 1787 of yacc.c  */
- #line 1537 "awkgram.y"
++#line 1537 "awkgram.y" /* yacc.c:1646  */
      {
                static bool warned = false;
  
@@@ -3787,87 -3579,87 +3582,87 @@@
                if ((yyval) == NULL)
                        YYABORT;
          }
 -#line 3583 "awkgram.c" /* yacc.c:1646  */
++#line 3586 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 154:
 -#line 1550 "awkgram.y" /* yacc.c:1646  */
 +  case 155:
- /* Line 1787 of yacc.c  */
- #line 1552 "awkgram.y"
++#line 1552 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (2)])->opcode = Op_preincrement;
-               (yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - 
(2)]));
+               (yyvsp[-1])->opcode = Op_preincrement;
+               (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
 -#line 3592 "awkgram.c" /* yacc.c:1646  */
++#line 3595 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 155:
 -#line 1555 "awkgram.y" /* yacc.c:1646  */
 +  case 156:
- /* Line 1787 of yacc.c  */
- #line 1557 "awkgram.y"
++#line 1557 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (2)])->opcode = Op_predecrement;
-               (yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - 
(2)]));
+               (yyvsp[-1])->opcode = Op_predecrement;
+               (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
 -#line 3601 "awkgram.c" /* yacc.c:1646  */
++#line 3604 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 156:
 -#line 1560 "awkgram.y" /* yacc.c:1646  */
 +  case 157:
- /* Line 1787 of yacc.c  */
- #line 1562 "awkgram.y"
++#line 1562 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3609 "awkgram.c" /* yacc.c:1646  */
++#line 3612 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 157:
 -#line 1564 "awkgram.y" /* yacc.c:1646  */
 +  case 158:
- /* Line 1787 of yacc.c  */
- #line 1566 "awkgram.y"
++#line 1566 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3617 "awkgram.c" /* yacc.c:1646  */
++#line 3620 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 158:
 -#line 1568 "awkgram.y" /* yacc.c:1646  */
 +  case 159:
- /* Line 1787 of yacc.c  */
- #line 1570 "awkgram.y"
++#line 1570 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(2) - (2)])->lasti->opcode == Op_push_i
-                       && ((yyvsp[(2) - (2)])->lasti->memory->flags & 
(STRCUR|STRING)) == 0
+               if ((yyvsp[0])->lasti->opcode == Op_push_i
+                       && ((yyvsp[0])->lasti->memory->flags & (STRCUR|STRING)) 
== 0
                ) {
-                       NODE *n = (yyvsp[(2) - (2)])->lasti->memory;
+                       NODE *n = (yyvsp[0])->lasti->memory;
                        (void) force_number(n);
                        negate_num(n);                  
-                       (yyval) = (yyvsp[(2) - (2)]);
-                       bcfree((yyvsp[(1) - (2)]));
+                       (yyval) = (yyvsp[0]);
+                       bcfree((yyvsp[-1]));
                } else {
-                       (yyvsp[(1) - (2)])->opcode = Op_unary_minus;
-                       (yyval) = list_append((yyvsp[(2) - (2)]), (yyvsp[(1) - 
(2)]));
+                       (yyvsp[-1])->opcode = Op_unary_minus;
+                       (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
 -#line 3636 "awkgram.c" /* yacc.c:1646  */
++#line 3639 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 159:
 -#line 1583 "awkgram.y" /* yacc.c:1646  */
 +  case 160:
- /* Line 1787 of yacc.c  */
- #line 1585 "awkgram.y"
++#line 1585 "awkgram.y" /* yacc.c:1646  */
      {
            /*
             * was: $$ = $2
             * POSIX semantics: force a conversion to numeric type
             */
-               (yyvsp[(1) - (2)])->opcode = Op_plus_i;
-               (yyvsp[(1) - (2)])->memory = make_number(0.0);
-               (yyval) = list_append((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
+               (yyvsp[-1])->opcode = Op_plus_i;
+               (yyvsp[-1])->memory = make_number(0.0);
+               (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
          }
 -#line 3650 "awkgram.c" /* yacc.c:1646  */
++#line 3653 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 160:
 -#line 1596 "awkgram.y" /* yacc.c:1646  */
 +  case 161:
- /* Line 1787 of yacc.c  */
- #line 1598 "awkgram.y"
++#line 1598 "awkgram.y" /* yacc.c:1646  */
      {
-               func_use((yyvsp[(1) - (1)])->lasti->func_name, FUNC_USE);
-               (yyval) = (yyvsp[(1) - (1)]);
+               func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
+               (yyval) = (yyvsp[0]);
          }
 -#line 3659 "awkgram.c" /* yacc.c:1646  */
++#line 3662 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 161:
 -#line 1601 "awkgram.y" /* yacc.c:1646  */
 +  case 162:
- /* Line 1787 of yacc.c  */
- #line 1603 "awkgram.y"
++#line 1603 "awkgram.y" /* yacc.c:1646  */
      {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@@ -3898,71 -3690,71 +3693,71 @@@
                 *              @f(f="real_fun")
                 */
  
-               (yyval) = list_prepend((yyvsp[(2) - (2)]), t);
+               (yyval) = list_prepend((yyvsp[0]), t);
          }
 -#line 3696 "awkgram.c" /* yacc.c:1646  */
++#line 3699 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 162:
 -#line 1637 "awkgram.y" /* yacc.c:1646  */
 +  case 163:
- /* Line 1787 of yacc.c  */
- #line 1639 "awkgram.y"
++#line 1639 "awkgram.y" /* yacc.c:1646  */
      {
-               param_sanity((yyvsp[(3) - (4)]));
-               (yyvsp[(1) - (4)])->opcode = Op_func_call;
-               (yyvsp[(1) - (4)])->func_body = NULL;
-               if ((yyvsp[(3) - (4)]) == NULL) {       /* no argument or error 
*/
-                       ((yyvsp[(1) - (4)]) + 1)->expr_count = 0;
-                       (yyval) = list_create((yyvsp[(1) - (4)]));
+               param_sanity((yyvsp[-1]));
+               (yyvsp[-3])->opcode = Op_func_call;
+               (yyvsp[-3])->func_body = NULL;
+               if ((yyvsp[-1]) == NULL) {      /* no argument or error */
+                       ((yyvsp[-3]) + 1)->expr_count = 0;
+                       (yyval) = list_create((yyvsp[-3]));
                } else {
-                       INSTRUCTION *t = (yyvsp[(3) - (4)]);
-                       ((yyvsp[(1) - (4)]) + 1)->expr_count = 
count_expressions(&t, true); 
-                       (yyval) = list_append(t, (yyvsp[(1) - (4)]));
+                       INSTRUCTION *t = (yyvsp[-1]);
+                       ((yyvsp[-3]) + 1)->expr_count = count_expressions(&t, 
true); 
+                       (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
 -#line 3714 "awkgram.c" /* yacc.c:1646  */
 -    break;
 -
 -  case 163:
 -#line 1654 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = NULL; }
 -#line 3720 "awkgram.c" /* yacc.c:1646  */
++#line 3717 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 164:
- /* Line 1787 of yacc.c  */
- #line 1656 "awkgram.y"
+ #line 1656 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = (yyvsp[0]); }
 -#line 3726 "awkgram.c" /* yacc.c:1646  */
 +    { (yyval) = NULL; }
++#line 3723 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 165:
- /* Line 1787 of yacc.c  */
- #line 1658 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1661 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = NULL; }
 -#line 3732 "awkgram.c" /* yacc.c:1646  */
++#line 1658 "awkgram.y" /* yacc.c:1646  */
++    { (yyval) = (yyvsp[0]); }
++#line 3729 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 166:
- /* Line 1787 of yacc.c  */
- #line 1663 "awkgram.y"
+ #line 1663 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = (yyvsp[-1]); }
 -#line 3738 "awkgram.c" /* yacc.c:1646  */
 +    { (yyval) = NULL; }
++#line 3735 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 167:
- /* Line 1787 of yacc.c  */
- #line 1665 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (2)]); }
 -#line 1668 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = (yyvsp[0]); }
 -#line 3744 "awkgram.c" /* yacc.c:1646  */
++#line 1665 "awkgram.y" /* yacc.c:1646  */
++    { (yyval) = (yyvsp[-1]); }
++#line 3741 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 168:
- /* Line 1787 of yacc.c  */
- #line 1670 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
+ #line 1670 "awkgram.y" /* yacc.c:1646  */
++    { (yyval) = (yyvsp[0]); }
++#line 3747 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 169:
- /* Line 1787 of yacc.c  */
- #line 1672 "awkgram.y"
++#line 1672 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+               (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
 -#line 3752 "awkgram.c" /* yacc.c:1646  */
++#line 3755 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 169:
 -#line 1677 "awkgram.y" /* yacc.c:1646  */
 +  case 170:
- /* Line 1787 of yacc.c  */
- #line 1679 "awkgram.y"
++#line 1679 "awkgram.y" /* yacc.c:1646  */
      {
-               INSTRUCTION *ip = (yyvsp[(1) - (1)])->lasti; 
+               INSTRUCTION *ip = (yyvsp[0])->lasti; 
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
                if (count > 1) {
                        /* change Op_subscript or Op_sub_array to Op_concat */
@@@ -3972,152 -3764,152 +3767,152 @@@
                } else
                        ip->opcode = Op_no_op;
                sub_counter++;  /* count # of dimensions */
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyval) = (yyvsp[0]);
          }
 -#line 3770 "awkgram.c" /* yacc.c:1646  */
++#line 3773 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 170:
 -#line 1694 "awkgram.y" /* yacc.c:1646  */
 +  case 171:
- /* Line 1787 of yacc.c  */
- #line 1696 "awkgram.y"
++#line 1696 "awkgram.y" /* yacc.c:1646  */
      {
-               INSTRUCTION *t = (yyvsp[(2) - (3)]);
-               if ((yyvsp[(2) - (3)]) == NULL) {
-                       error_ln((yyvsp[(3) - (3)])->source_line,
+               INSTRUCTION *t = (yyvsp[-1]);
+               if ((yyvsp[-1]) == NULL) {
+                       error_ln((yyvsp[0])->source_line,
                                _("invalid subscript expression"));
                        /* install Null string as subscript. */
                        t = list_create(instruction(Op_push_i));
                        t->nexti->memory = dupnode(Nnull_string);
-                       (yyvsp[(3) - (3)])->sub_count = 1;                      
+                       (yyvsp[0])->sub_count = 1;                      
                } else
-                       (yyvsp[(3) - (3)])->sub_count = count_expressions(&t, 
false);
-               (yyval) = list_append(t, (yyvsp[(3) - (3)]));
+                       (yyvsp[0])->sub_count = count_expressions(&t, false);
+               (yyval) = list_append(t, (yyvsp[0]));
          }
 -#line 3788 "awkgram.c" /* yacc.c:1646  */
++#line 3791 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 171:
 -#line 1711 "awkgram.y" /* yacc.c:1646  */
 +  case 172:
- /* Line 1787 of yacc.c  */
- #line 1713 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
++#line 1713 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3794 "awkgram.c" /* yacc.c:1646  */
++#line 3797 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 172:
 -#line 1713 "awkgram.y" /* yacc.c:1646  */
 +  case 173:
- /* Line 1787 of yacc.c  */
- #line 1715 "awkgram.y"
++#line 1715 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+               (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
 -#line 3802 "awkgram.c" /* yacc.c:1646  */
++#line 3805 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 173:
 -#line 1720 "awkgram.y" /* yacc.c:1646  */
 +  case 174:
- /* Line 1787 of yacc.c  */
- #line 1722 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (2)]); }
++#line 1722 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-1]); }
 -#line 3808 "awkgram.c" /* yacc.c:1646  */
++#line 3811 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 174:
 -#line 1725 "awkgram.y" /* yacc.c:1646  */
 +  case 175:
- /* Line 1787 of yacc.c  */
- #line 1727 "awkgram.y"
++#line 1727 "awkgram.y" /* yacc.c:1646  */
      {
-               char *var_name = (yyvsp[(1) - (1)])->lextok;
+               char *var_name = (yyvsp[0])->lextok;
  
-               (yyvsp[(1) - (1)])->opcode = Op_push;
-               (yyvsp[(1) - (1)])->memory = variable((yyvsp[(1) - 
(1)])->source_line, var_name, Node_var_new);
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyvsp[0])->opcode = Op_push;
+               (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
var_name, Node_var_new);
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3820 "awkgram.c" /* yacc.c:1646  */
++#line 3823 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 175:
 -#line 1733 "awkgram.y" /* yacc.c:1646  */
 +  case 176:
- /* Line 1787 of yacc.c  */
- #line 1735 "awkgram.y"
++#line 1735 "awkgram.y" /* yacc.c:1646  */
      {
-               char *arr = (yyvsp[(1) - (2)])->lextok;
-               (yyvsp[(1) - (2)])->memory = variable((yyvsp[(1) - 
(2)])->source_line, arr, Node_var_new);
-               (yyvsp[(1) - (2)])->opcode = Op_push_array;
-               (yyval) = list_prepend((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
+               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 3831 "awkgram.c" /* yacc.c:1646  */
++#line 3834 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 176:
 -#line 1743 "awkgram.y" /* yacc.c:1646  */
 +  case 177:
- /* Line 1787 of yacc.c  */
- #line 1745 "awkgram.y"
++#line 1745 "awkgram.y" /* yacc.c:1646  */
      {
-               INSTRUCTION *ip = (yyvsp[(1) - (1)])->nexti;
+               INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
                        && ip->memory->type == Node_var
                        && ip->memory->var_update
                ) {
-                       (yyval) = list_prepend((yyvsp[(1) - (1)]), 
instruction(Op_var_update));
+                       (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_var_update));
                        (yyval)->nexti->update_var = ip->memory->var_update;
                } else
-                       (yyval) = (yyvsp[(1) - (1)]);
+                       (yyval) = (yyvsp[0]);
          }
 -#line 3847 "awkgram.c" /* yacc.c:1646  */
++#line 3850 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 177:
 -#line 1755 "awkgram.y" /* yacc.c:1646  */
 +  case 178:
- /* Line 1787 of yacc.c  */
- #line 1757 "awkgram.y"
++#line 1757 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
-               if ((yyvsp[(3) - (3)]) != NULL)
-                       mk_assignment((yyvsp[(2) - (3)]), NULL, (yyvsp[(3) - 
(3)]));
+               (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
+               if ((yyvsp[0]) != NULL)
+                       mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
 -#line 3857 "awkgram.c" /* yacc.c:1646  */
++#line 3860 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 178:
 -#line 1764 "awkgram.y" /* yacc.c:1646  */
 +  case 179:
- /* Line 1787 of yacc.c  */
- #line 1766 "awkgram.y"
++#line 1766 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->opcode = Op_postincrement;
+               (yyvsp[0])->opcode = Op_postincrement;
          }
 -#line 3865 "awkgram.c" /* yacc.c:1646  */
++#line 3868 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 179:
 -#line 1768 "awkgram.y" /* yacc.c:1646  */
 +  case 180:
- /* Line 1787 of yacc.c  */
- #line 1770 "awkgram.y"
++#line 1770 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->opcode = Op_postdecrement;
+               (yyvsp[0])->opcode = Op_postdecrement;
          }
 -#line 3873 "awkgram.c" /* yacc.c:1646  */
++#line 3876 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 180:
 -#line 1771 "awkgram.y" /* yacc.c:1646  */
 +  case 181:
- /* Line 1787 of yacc.c  */
- #line 1773 "awkgram.y"
++#line 1773 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3879 "awkgram.c" /* yacc.c:1646  */
++#line 3882 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 182:
 -#line 1779 "awkgram.y" /* yacc.c:1646  */
 +  case 183:
- /* Line 1787 of yacc.c  */
- #line 1781 "awkgram.y"
++#line 1781 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
 -#line 3885 "awkgram.c" /* yacc.c:1646  */
++#line 3888 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 183:
 -#line 1783 "awkgram.y" /* yacc.c:1646  */
 +  case 184:
- /* Line 1787 of yacc.c  */
- #line 1785 "awkgram.y"
++#line 1785 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
 -#line 3891 "awkgram.c" /* yacc.c:1646  */
++#line 3894 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 186:
 -#line 1792 "awkgram.y" /* yacc.c:1646  */
 +  case 187:
- /* Line 1787 of yacc.c  */
- #line 1794 "awkgram.y"
++#line 1794 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
 -#line 3897 "awkgram.c" /* yacc.c:1646  */
++#line 3900 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 187:
 -#line 1796 "awkgram.y" /* yacc.c:1646  */
 +  case 188:
- /* Line 1787 of yacc.c  */
- #line 1798 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); yyerrok; }
++#line 1798 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); yyerrok; }
 -#line 3903 "awkgram.c" /* yacc.c:1646  */
++#line 3906 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 188:
 -#line 1800 "awkgram.y" /* yacc.c:1646  */
 +  case 189:
- /* Line 1787 of yacc.c  */
- #line 1802 "awkgram.y"
++#line 1802 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
 -#line 3909 "awkgram.c" /* yacc.c:1646  */
++#line 3912 "awkgram.c" /* yacc.c:1646  */
      break;
  
  
- /* Line 1787 of yacc.c  */
- #line 4121 "awkgram.c"
 -#line 3913 "awkgram.c" /* yacc.c:1646  */
++#line 3916 "awkgram.c" /* yacc.c:1646  */
        default: break;
      }
    /* User semantic actions sometimes alter yychar, and that requires
@@@ -4343,13 -4135,9 +4138,9 @@@ yyreturn
    if (yymsg != yymsgbuf)
      YYSTACK_FREE (yymsg);
  #endif
-   /* Make sure YYID is used.  */
-   return YYID (yyresult);
+   return yyresult;
  }
- 
- 
- /* Line 2050 of yacc.c  */
- #line 1804 "awkgram.y"
 -#line 1802 "awkgram.y" /* yacc.c:1906  */
++#line 1804 "awkgram.y" /* yacc.c:1906  */
  
  
  struct token {

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

Summary of changes:
 .gitignore                         |    3 -
 ChangeLog                          |   80 +
 Makefile.am                        |   12 +-
 Makefile.in                        |   12 +-
 NEWS                               |    5 +-
 README                             |    2 +-
 README_d/ChangeLog                 |    8 +
 README_d/README.VMS                |    3 +
 README_d/README.solaris            |   23 +-
 awkgram.c                          | 2621 +++++++++++++--------------
 awkgram.y                          |   38 +-
 command.c                          | 1429 +++++++---------
 configure                          |    6 +
 configure.ac                       |    8 +-
 dfa.c                              |   30 +-
 doc/ChangeLog                      |   55 +
 doc/gawk.1                         |    9 +-
 doc/gawk.info                      | 1738 +++++++++++-------
 doc/gawk.texi                      | 1027 +++++++++--
 doc/gawkinet.info                  |   72 +-
 doc/gawkinet.texi                  |    6 +-
 doc/gawktexi.in                    | 1017 +++++++++--
 doc/texinfo.tex                    |  210 ++-
 extension/ChangeLog                |    4 +
 extension/time.c                   |   31 +-
 field.c                            |    6 +-
 getopt.c                           |    2 +-
 getopt.h                           |    2 +-
 getopt1.c                          |    2 +-
 getopt_int.h                       |    2 +-
 interpret.h                        |    2 +-
 pc/ChangeLog                       |   39 +
 pc/Makefile.tst                    |   68 +-
 pc/config.h                        |   12 +-
 pc/popen.c                         |   23 +-
 po/LINGUAS                         |    1 +
 po/ca.gmo                          |  Bin 0 -> 43102 bytes
 po/ca.po                           | 3523 +++++++++++++++++++++++++-----------
 po/fi.gmo                          |  Bin 84089 -> 84555 bytes
 po/fi.po                           | 1063 ++++++------
 po/fr.gmo                          |  Bin 85144 -> 85628 bytes
 po/fr.po                           | 1423 +++++++--------
 po/gawk.pot                        | 1041 ++++++------
 po/it.gmo                          |  Bin 80497 -> 81018 bytes
 po/it.po                           | 1042 ++++++------
 po/nl.gmo                          |  Bin 69748 -> 80863 bytes
 po/nl.po                           | 1481 +++++++--------
 po/sv.gmo                          |  Bin 80433 -> 80916 bytes
 po/sv.po                           | 1297 ++++++-------
 po/vi.gmo                          |  Bin 92142 -> 93025 bytes
 po/vi.po                           | 1611 ++++++++---------
 regex.c                            |    2 +-
 regex.h                            |    4 +-
 regex_internal.c                   |    2 +-
 regex_internal.h                   |    2 +-
 test/ChangeLog                     |   43 +
 test/Makefile.am                   |   33 +-
 test/Makefile.in                   |   39 +-
 test/Maketests                     |    5 +
 test/mpfrnegzero.awk               |   15 +
 test/mpfrnegzero.ok                |    9 +
 test/readdir0.awk                  |   25 +-
 test/split_after_fpat.awk          |   11 +
 test/split_after_fpat.in           |    1 +
 test/split_after_fpat.ok           |    4 +
 test/strftime.awk                  |   42 +-
 vms/ChangeLog                      |   15 +-
 vms/generate_config_vms_h_gawk.com |   40 +-
 vms/vms-notes                      | 1148 ------------
 vms/vmstest.com                    |   17 +-
 70 files changed, 12037 insertions(+), 10509 deletions(-)
 create mode 100644 po/ca.gmo
 create mode 100644 test/mpfrnegzero.awk
 create mode 100644 test/mpfrnegzero.ok
 create mode 100644 test/split_after_fpat.awk
 create mode 100644 test/split_after_fpat.in
 create mode 100644 test/split_after_fpat.ok
 delete mode 100644 vms/vms-notes


hooks/post-receive
-- 
gawk



reply via email to

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