reduce shift/reduce warnings
authorLuigi Rizzo <rizzo@icir.org>
Wed, 3 May 2006 16:28:48 +0000 (16:28 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Wed, 3 May 2006 16:28:48 +0000 (16:28 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24425 65c4cc65-6c06-0410-ace0-fbb531ad65f3

pbx/ael/ael.tab.c
pbx/ael/ael.y

index 5e8b38a..10103b0 100644 (file)
@@ -420,16 +420,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  14
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   327
+#define YYLAST   321
 
 /* YYNTOKENS -- Number of terminals. */
 #define YYNTOKENS  42
 /* YYNNTS -- Number of nonterminals. */
 #define YYNNTS  55
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  138
+#define YYNRULES  135
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  266
+#define YYNSTATES  263
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -479,19 +479,19 @@ static const unsigned char yytranslate[] =
 static const unsigned short int yyprhs[] =
 {
        0,     0,     3,     5,     7,    10,    13,    15,    17,    19,
-      21,    23,    25,    30,    32,    33,    42,    47,    51,    53,
-      56,    59,    60,    66,    67,    69,    73,    76,    79,    83,
-      85,    87,    90,    93,    95,    97,    99,   101,   103,   105,
-     108,   110,   115,   119,   124,   132,   141,   143,   146,   149,
-     155,   157,   165,   166,   171,   174,   177,   182,   184,   187,
-     189,   192,   196,   198,   201,   205,   211,   215,   217,   221,
-     225,   228,   229,   230,   231,   244,   248,   250,   254,   257,
-     260,   261,   267,   270,   273,   276,   280,   282,   285,   286,
-     288,   292,   296,   302,   308,   314,   320,   322,   326,   332,
-     336,   337,   343,   347,   348,   352,   356,   359,   361,   362,
-     364,   365,   369,   370,   372,   375,   376,   378,   383,   387,
-     392,   393,   395,   398,   400,   406,   409,   412,   416,   419,
-     422,   426,   429,   432,   437,   439,   442,   445,   450
+      21,    23,    25,    30,    32,    33,    42,    47,    48,    51,
+      54,    55,    61,    62,    64,    68,    71,    75,    76,    79,
+      82,    84,    86,    88,    90,    92,    94,    97,    99,   104,
+     108,   113,   121,   130,   132,   135,   138,   144,   146,   154,
+     155,   160,   163,   166,   171,   173,   176,   178,   181,   185,
+     187,   190,   194,   200,   204,   206,   210,   214,   217,   218,
+     219,   220,   233,   237,   239,   243,   246,   249,   250,   256,
+     259,   262,   265,   269,   271,   274,   275,   277,   281,   285,
+     291,   297,   303,   309,   311,   315,   321,   325,   326,   332,
+     336,   337,   341,   345,   348,   350,   351,   353,   354,   358,
+     359,   361,   364,   365,   367,   372,   376,   381,   382,   384,
+     387,   389,   395,   398,   401,   405,   408,   411,   415,   418,
+     420,   424,   427,   431,   434,   439
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -501,67 +501,66 @@ static const yysigned_char yyrhs[] =
       44,     1,    -1,    47,    -1,    49,    -1,    50,    -1,     8,
       -1,    41,    -1,    36,    -1,    48,     3,    46,    55,    -1,
       23,    -1,    -1,    15,    41,     6,    54,     7,     4,    88,
-       5,    -1,    16,     4,    51,     5,    -1,    16,     4,     5,
-      -1,    52,    -1,    51,    52,    -1,    51,     1,    -1,    -1,
-      41,     9,    53,    41,     8,    -1,    -1,    41,    -1,    54,
-      10,    41,    -1,    54,     1,    -1,     4,     5,    -1,     4,
-      56,     5,    -1,    57,    -1,     1,    -1,    56,    57,    -1,
-      56,     1,    -1,    59,    -1,    96,    -1,    90,    -1,    91,
-      -1,    58,    -1,    52,    -1,    41,     1,    -1,     8,    -1,
-      17,    24,    41,     8,    -1,    41,    24,    70,    -1,    30,
-      41,    24,    70,    -1,    31,     6,    67,     7,    41,    24,
-      70,    -1,    30,    31,     6,    67,     7,    41,    24,    70,
-      -1,    70,    -1,    60,    70,    -1,    60,     1,    -1,    67,
-      11,    67,    11,    67,    -1,    41,    -1,    61,    13,    67,
-      13,    67,    13,    67,    -1,    -1,     6,    64,    66,     7,
-      -1,    19,    63,    -1,    22,    63,    -1,    20,     6,    62,
-       7,    -1,    41,    -1,    41,    41,    -1,    41,    -1,    41,
-      41,    -1,    41,    41,    41,    -1,    41,    -1,    41,    41,
-      -1,    41,    11,    41,    -1,    18,    63,     4,    85,     5,
-      -1,     4,    60,     5,    -1,    52,    -1,    25,    76,     8,
-      -1,    26,    77,     8,    -1,    41,    11,    -1,    -1,    -1,
-      -1,    32,     6,    71,    41,     8,    72,    41,     8,    73,
-      41,     7,    70,    -1,    33,    63,    70,    -1,    69,    -1,
-      12,    78,     8,    -1,    82,     8,    -1,    41,     8,    -1,
-      -1,    82,     9,    74,    41,     8,    -1,    28,     8,    -1,
-      27,     8,    -1,    29,     8,    -1,    65,    70,    75,    -1,
-       8,    -1,    21,    70,    -1,    -1,    68,    -1,    68,    13,
-      68,    -1,    68,    10,    68,    -1,    68,    13,    68,    13,
-      68,    -1,    68,    10,    68,    10,    68,    -1,    36,    13,
-      68,    13,    68,    -1,    36,    10,    68,    10,    68,    -1,
-      68,    -1,    68,    10,    68,    -1,    68,    10,    41,    14,
-      46,    -1,    68,    14,    46,    -1,    -1,    41,     6,    79,
-      84,     7,    -1,    41,     6,     7,    -1,    -1,    41,     6,
-      81,    -1,    80,    84,     7,    -1,    80,     7,    -1,    41,
-      -1,    -1,    66,    -1,    -1,    84,    10,    83,    -1,    -1,
-      87,    -1,    85,    87,    -1,    -1,    60,    -1,    34,    41,
-      11,    86,    -1,    36,    11,    86,    -1,    35,    41,    11,
-      86,    -1,    -1,    89,    -1,    88,    89,    -1,    70,    -1,
-      37,    41,     4,    60,     5,    -1,    38,    92,    -1,    39,
-      92,    -1,     4,    93,     5,    -1,     4,     5,    -1,    41,
-       8,    -1,    93,    41,     8,    -1,    93,     1,    -1,    46,
-       8,    -1,    46,    13,    62,     8,    -1,    94,    -1,    95,
-      94,    -1,    95,     1,    -1,    40,     4,    95,     5,    -1,
-      40,     4,     5,    -1
+       5,    -1,    16,     4,    51,     5,    -1,    -1,    52,    51,
+      -1,    51,     1,    -1,    -1,    41,     9,    53,    41,     8,
+      -1,    -1,    41,    -1,    54,    10,    41,    -1,    54,     1,
+      -1,     4,    56,     5,    -1,    -1,    57,    56,    -1,    56,
+       1,    -1,    59,    -1,    96,    -1,    90,    -1,    91,    -1,
+      58,    -1,    52,    -1,    41,     1,    -1,     8,    -1,    17,
+      24,    41,     8,    -1,    41,    24,    70,    -1,    30,    41,
+      24,    70,    -1,    31,     6,    67,     7,    41,    24,    70,
+      -1,    30,    31,     6,    67,     7,    41,    24,    70,    -1,
+      70,    -1,    60,    70,    -1,    60,     1,    -1,    67,    11,
+      67,    11,    67,    -1,    41,    -1,    61,    13,    67,    13,
+      67,    13,    67,    -1,    -1,     6,    64,    66,     7,    -1,
+      19,    63,    -1,    22,    63,    -1,    20,     6,    62,     7,
+      -1,    41,    -1,    41,    41,    -1,    41,    -1,    41,    41,
+      -1,    41,    41,    41,    -1,    41,    -1,    41,    41,    -1,
+      41,    11,    41,    -1,    18,    63,     4,    85,     5,    -1,
+       4,    60,     5,    -1,    52,    -1,    25,    76,     8,    -1,
+      26,    77,     8,    -1,    41,    11,    -1,    -1,    -1,    -1,
+      32,     6,    71,    41,     8,    72,    41,     8,    73,    41,
+       7,    70,    -1,    33,    63,    70,    -1,    69,    -1,    12,
+      78,     8,    -1,    82,     8,    -1,    41,     8,    -1,    -1,
+      82,     9,    74,    41,     8,    -1,    28,     8,    -1,    27,
+       8,    -1,    29,     8,    -1,    65,    70,    75,    -1,     8,
+      -1,    21,    70,    -1,    -1,    68,    -1,    68,    13,    68,
+      -1,    68,    10,    68,    -1,    68,    13,    68,    13,    68,
+      -1,    68,    10,    68,    10,    68,    -1,    36,    13,    68,
+      13,    68,    -1,    36,    10,    68,    10,    68,    -1,    68,
+      -1,    68,    10,    68,    -1,    68,    10,    41,    14,    46,
+      -1,    68,    14,    46,    -1,    -1,    41,     6,    79,    84,
+       7,    -1,    41,     6,     7,    -1,    -1,    41,     6,    81,
+      -1,    80,    84,     7,    -1,    80,     7,    -1,    41,    -1,
+      -1,    66,    -1,    -1,    84,    10,    83,    -1,    -1,    87,
+      -1,    85,    87,    -1,    -1,    60,    -1,    34,    41,    11,
+      86,    -1,    36,    11,    86,    -1,    35,    41,    11,    86,
+      -1,    -1,    89,    -1,    88,    89,    -1,    70,    -1,    37,
+      41,     4,    60,     5,    -1,    38,    92,    -1,    39,    92,
+      -1,     4,    93,     5,    -1,     4,     5,    -1,    41,     8,
+      -1,    93,    41,     8,    -1,    93,     1,    -1,    46,    -1,
+      46,    13,    62,    -1,    94,     8,    -1,    95,    94,     8,
+      -1,    95,     1,    -1,    40,     4,    95,     5,    -1,    40,
+       4,     5,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short int yyrline[] =
 {
        0,   182,   182,   185,   186,   187,   190,   191,   192,   193,
-     196,   197,   200,   208,   209,   212,   217,   220,   224,   225,
-     226,   229,   229,   235,   236,   237,   238,   241,   242,   245,
-     246,   247,   248,   251,   252,   253,   254,   255,   256,   257,
-     258,   261,   266,   270,   275,   280,   289,   290,   291,   297,
-     302,   306,   314,   314,   319,   322,   325,   336,   337,   344,
-     345,   350,   358,   359,   363,   369,   378,   381,   382,   385,
-     388,   391,   392,   393,   391,   399,   403,   404,   406,   408,
-     411,   411,   444,   445,   446,   447,   451,   454,   455,   460,
-     461,   464,   467,   471,   475,   479,   486,   489,   492,   496,
-     502,   502,   507,   515,   515,   526,   533,   536,   537,   540,
-     541,   544,   547,   548,   549,   553,   554,   557,   561,   565,
-     571,   572,   573,   576,   577,   583,   588,   593,   594,   597,
-     598,   599,   602,   603,   610,   611,   612,   615,   618
+     196,   197,   200,   208,   209,   212,   217,   222,   223,   224,
+     227,   227,   233,   234,   235,   236,   239,   242,   243,   244,
+     247,   248,   249,   250,   251,   252,   253,   254,   257,   262,
+     266,   271,   276,   285,   286,   287,   293,   298,   302,   310,
+     310,   315,   318,   321,   332,   333,   340,   341,   346,   354,
+     355,   359,   365,   374,   377,   378,   381,   384,   387,   388,
+     389,   387,   395,   399,   400,   402,   404,   407,   407,   440,
+     441,   442,   443,   447,   450,   451,   456,   457,   460,   463,
+     467,   471,   475,   482,   485,   488,   492,   498,   498,   503,
+     511,   511,   522,   529,   532,   533,   536,   537,   540,   543,
+     544,   545,   549,   550,   553,   557,   561,   567,   568,   569,
+     572,   573,   579,   584,   589,   590,   593,   594,   595,   598,
+     599,   606,   607,   608,   611,   614
 };
 #endif
 
@@ -608,38 +607,38 @@ static const unsigned short int yytoknum[] =
 static const unsigned char yyr1[] =
 {
        0,    42,    43,    44,    44,    44,    45,    45,    45,    45,
-      46,    46,    47,    48,    48,    49,    50,    50,    51,    51,
-      51,    53,    52,    54,    54,    54,    54,    55,    55,    56,
-      56,    56,    56,    57,    57,    57,    57,    57,    57,    57,
-      57,    58,    59,    59,    59,    59,    60,    60,    60,    61,
-      61,    62,    64,    63,    65,    65,    65,    66,    66,    67,
-      67,    67,    68,    68,    68,    69,    70,    70,    70,    70,
-      70,    71,    72,    73,    70,    70,    70,    70,    70,    70,
-      74,    70,    70,    70,    70,    70,    70,    75,    75,    76,
-      76,    76,    76,    76,    76,    76,    77,    77,    77,    77,
-      79,    78,    78,    81,    80,    82,    82,    83,    83,    84,
-      84,    84,    85,    85,    85,    86,    86,    87,    87,    87,
-      88,    88,    88,    89,    89,    90,    91,    92,    92,    93,
-      93,    93,    94,    94,    95,    95,    95,    96,    96
+      46,    46,    47,    48,    48,    49,    50,    51,    51,    51,
+      53,    52,    54,    54,    54,    54,    55,    56,    56,    56,
+      57,    57,    57,    57,    57,    57,    57,    57,    58,    59,
+      59,    59,    59,    60,    60,    60,    61,    61,    62,    64,
+      63,    65,    65,    65,    66,    66,    67,    67,    67,    68,
+      68,    68,    69,    70,    70,    70,    70,    70,    71,    72,
+      73,    70,    70,    70,    70,    70,    70,    74,    70,    70,
+      70,    70,    70,    70,    75,    75,    76,    76,    76,    76,
+      76,    76,    76,    77,    77,    77,    77,    79,    78,    78,
+      81,    80,    82,    82,    83,    83,    84,    84,    84,    85,
+      85,    85,    86,    86,    87,    87,    87,    88,    88,    88,
+      89,    89,    90,    91,    92,    92,    93,    93,    93,    94,
+      94,    95,    95,    95,    96,    96
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 static const unsigned char yyr2[] =
 {
        0,     2,     1,     1,     2,     2,     1,     1,     1,     1,
-       1,     1,     4,     1,     0,     8,     4,     3,     1,     2,
-       2,     0,     5,     0,     1,     3,     2,     2,     3,     1,
-       1,     2,     2,     1,     1,     1,     1,     1,     1,     2,
-       1,     4,     3,     4,     7,     8,     1,     2,     2,     5,
-       1,     7,     0,     4,     2,     2,     4,     1,     2,     1,
-       2,     3,     1,     2,     3,     5,     3,     1,     3,     3,
-       2,     0,     0,     0,    12,     3,     1,     3,     2,     2,
-       0,     5,     2,     2,     2,     3,     1,     2,     0,     1,
-       3,     3,     5,     5,     5,     5,     1,     3,     5,     3,
-       0,     5,     3,     0,     3,     3,     2,     1,     0,     1,
-       0,     3,     0,     1,     2,     0,     1,     4,     3,     4,
-       0,     1,     2,     1,     5,     2,     2,     3,     2,     2,
-       3,     2,     2,     4,     1,     2,     2,     4,     3
+       1,     1,     4,     1,     0,     8,     4,     0,     2,     2,
+       0,     5,     0,     1,     3,     2,     3,     0,     2,     2,
+       1,     1,     1,     1,     1,     1,     2,     1,     4,     3,
+       4,     7,     8,     1,     2,     2,     5,     1,     7,     0,
+       4,     2,     2,     4,     1,     2,     1,     2,     3,     1,
+       2,     3,     5,     3,     1,     3,     3,     2,     0,     0,
+       0,    12,     3,     1,     3,     2,     2,     0,     5,     2,
+       2,     2,     3,     1,     2,     0,     1,     3,     3,     5,
+       5,     5,     5,     1,     3,     5,     3,     0,     5,     3,
+       0,     3,     3,     2,     1,     0,     1,     0,     3,     0,
+       1,     2,     0,     1,     4,     3,     4,     0,     1,     2,
+       1,     5,     2,     2,     3,     2,     2,     3,     2,     1,
+       3,     2,     3,     2,     4,     3
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -648,167 +647,167 @@ static const unsigned char yyr2[] =
 static const unsigned char yydefact[] =
 {
       14,     9,     0,     0,    13,     0,     0,     3,     6,     0,
-       7,     8,     0,     0,     1,     5,     4,     0,    23,    17,
-       0,     0,    18,    11,    10,     0,    24,     0,    21,    20,
-      16,    19,     0,    12,    26,     0,     0,     0,    30,    27,
-      40,     0,     0,     0,     0,     0,     0,     0,    38,     0,
-      29,    37,    33,    35,    36,    34,   120,    25,     0,     0,
-       0,     0,     0,     0,   125,   126,     0,    39,     0,    32,
-      28,    31,     0,    86,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    67,     0,
-      76,   123,   110,     0,     0,   121,    22,     0,     0,     0,
-      59,     0,   128,     0,     0,   138,     0,   134,     0,    42,
-       0,    46,     0,     0,    52,     0,    54,     0,    55,     0,
-      62,    89,     0,    96,     0,    83,    82,    84,    71,     0,
-       0,   103,    79,    70,    88,   106,    57,   109,     0,    78,
-      80,    15,   122,    41,     0,    43,    60,     0,   129,   131,
-     127,     0,   132,     0,   136,   137,   135,    48,    66,    47,
-     100,    77,     0,   112,    50,     0,     0,     0,     0,     0,
-       0,    63,     0,     0,    68,     0,     0,    69,     0,    75,
-       0,   104,     0,    85,    58,   105,   108,     0,     0,    61,
-       0,   130,     0,   102,   110,     0,     0,     0,     0,     0,
-     113,     0,    56,     0,     0,     0,    64,    91,    90,    62,
-      97,    99,     0,     0,    87,   107,   111,     0,     0,     0,
-     133,     0,    53,     0,     0,   115,    65,   114,     0,     0,
-       0,     0,     0,     0,     0,    72,   124,    81,     0,    44,
-     101,   115,   115,     0,   118,     0,     0,    95,    94,    93,
-      92,    98,     0,    45,   117,   119,     0,    49,     0,     0,
-      73,    51,     0,     0,     0,    74
+       7,     8,     0,    17,     1,     5,     4,     0,    22,     0,
+       0,    17,    11,    10,     0,    23,     0,    20,    19,    16,
+       0,    27,    12,    25,     0,     0,     0,    37,     0,     0,
+       0,     0,     0,     0,     0,    35,     0,    27,    34,    30,
+      32,    33,    31,   117,    24,     0,     0,     0,     0,     0,
+       0,   122,   123,     0,    36,     0,    29,    26,     0,     0,
+      83,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    64,     0,    73,   120,   107,
+       0,     0,   118,    21,     0,     0,     0,    56,     0,   125,
+       0,     0,   135,   129,     0,     0,    39,     0,    43,     0,
+       0,    49,     0,    51,     0,    52,     0,    59,    86,     0,
+      93,     0,    80,    79,    81,    68,     0,     0,   100,    76,
+      67,    85,   103,    54,   106,     0,    75,    77,    15,   119,
+      38,     0,    40,    57,     0,   126,   128,   124,     0,     0,
+     131,   133,   134,     0,    45,    63,    44,    97,    74,     0,
+     109,    47,     0,     0,     0,     0,     0,     0,    60,     0,
+       0,    65,     0,     0,    66,     0,    72,     0,   101,     0,
+      82,    55,   102,   105,     0,     0,    58,     0,   127,   130,
+     132,    99,   107,     0,     0,     0,     0,     0,   110,     0,
+      53,     0,     0,     0,    61,    88,    87,    59,    94,    96,
+       0,     0,    84,   104,   108,     0,     0,     0,     0,    50,
+       0,     0,   112,    62,   111,     0,     0,     0,     0,     0,
+       0,     0,    69,   121,    78,     0,    41,    98,   112,   112,
+       0,   115,     0,     0,    92,    91,    90,    89,    95,     0,
+      42,   114,   116,     0,    46,     0,     0,    70,    48,     0,
+       0,     0,    71
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short int yydefgoto[] =
 {
-      -1,     5,     6,     7,   106,     8,     9,    10,    11,    21,
-      88,    37,    27,    33,    49,    50,    51,    52,   243,   165,
-     166,   115,   162,    89,   137,   167,   121,    90,   111,   178,
-     252,   262,   187,   183,   122,   124,   113,   194,    92,   181,
-      93,   216,   138,   199,   244,   200,    94,    95,    53,    54,
-      64,   104,   107,   108,    55
+      -1,     5,     6,     7,   103,     8,     9,    10,    11,    20,
+      85,    36,    26,    32,    46,    47,    48,    49,   240,   162,
+     163,   112,   159,    86,   134,   164,   118,    87,   108,   175,
+     249,   259,   184,   180,   119,   121,   110,   192,    89,   178,
+      90,   214,   135,   197,   241,   198,    91,    92,    50,    51,
+      61,   101,   104,   105,    52
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -78
+#define YYPACT_NINF -73
 static const short int yypact[] =
 {
-     105,   -78,   -25,    32,   -78,    68,   302,   -78,   -78,    72,
-     -78,   -78,    87,    24,   -78,   -78,   -78,   -21,    85,   -78,
-     125,     6,   -78,   -78,   -78,   120,   -78,   129,   -78,   -78,
-     -78,   -78,    20,   -78,   -78,   146,   101,   103,   -78,   -78,
-     -78,   128,   -19,   151,   159,   159,   171,     8,   -78,   130,
-     -78,   -78,   -78,   -78,   -78,   -78,   242,   -78,   168,   136,
-     172,   156,   141,    26,   -78,   -78,    48,   -78,   268,   -78,
-     -78,   -78,   268,   -78,   143,   173,   173,   175,   173,    96,
-     148,   184,   185,   187,   190,   173,   160,   140,   -78,   268,
-     -78,   -78,     1,    73,   216,   -78,   -78,   189,   141,   268,
-     161,   193,   -78,   195,    13,   -78,   132,   -78,     5,   -78,
-      82,   -78,   201,   202,   -78,   212,   -78,   181,   -78,    30,
-      -6,    93,   215,     9,   217,   -78,   -78,   -78,   -78,   268,
-     222,   -78,   -78,   -78,   208,   -78,   191,   -78,   115,   -78,
-     -78,   -78,   -78,   -78,   223,   -78,   192,   196,   -78,   -78,
-     -78,   231,   -78,   181,   -78,   -78,   -78,   -78,   -78,   -78,
-     224,   -78,   199,   138,    88,   234,   244,   241,   148,   148,
-     214,   -78,   148,   148,   -78,   218,   -21,   -78,   225,   -78,
-     268,   -78,   268,   -78,   -78,   -78,   232,   236,   237,   -78,
-     239,   -78,   248,   -78,   199,   251,   240,   243,   254,    83,
-     -78,   141,   -78,   141,   272,   276,   -78,   275,   278,    16,
-     -78,   -78,   284,   186,   -78,   -78,   -78,   290,   280,   268,
-     -78,   155,   -78,   288,   295,   268,   -78,   -78,   294,   297,
-     148,   148,   148,   148,   -21,   -78,   -78,   -78,   268,   -78,
-     -78,   268,   268,    44,   -78,   141,   141,   -78,   -78,   -78,
-     -78,   -78,   270,   -78,   -78,   -78,   299,   -78,   305,   141,
-     -78,   -78,   273,   308,   268,   -78
+     116,   -73,   -19,    28,   -73,    67,   122,   -73,   -73,    72,
+     -73,   -73,    95,    71,   -73,   -73,   -73,    45,    85,   119,
+      18,    71,   -73,   -73,   137,   -73,    19,   -73,   -73,   -73,
+     135,    20,   -73,   -73,   154,   123,   127,   -73,   146,   -16,
+     163,   167,   167,   168,     7,   -73,   142,    20,   -73,   -73,
+     -73,   -73,   -73,   245,   -73,   165,   133,   169,   152,   136,
+       0,   -73,   -73,    -1,   -73,   271,   -73,   -73,   149,   271,
+     -73,   138,   172,   172,   174,   172,    68,   141,   173,   176,
+     179,   183,   172,   150,   140,   -73,   271,   -73,   -73,     5,
+     110,   219,   -73,   -73,   182,   136,   271,   151,   186,   -73,
+     187,    13,   -73,   189,   188,     6,   -73,    88,   -73,   194,
+     195,   -73,   200,   -73,   166,   -73,    11,    -5,    81,   198,
+     143,   202,   -73,   -73,   -73,   -73,   271,   204,   -73,   -73,
+     -73,   196,   -73,   175,   -73,    23,   -73,   -73,   -73,   -73,
+     -73,   221,   -73,   191,   192,   -73,   -73,   -73,   222,   166,
+     -73,   -73,   -73,   227,   -73,   -73,   -73,   229,   -73,   199,
+      99,    46,   216,   235,   232,   141,   141,   209,   -73,   141,
+     141,   -73,   213,    45,   -73,   214,   -73,   271,   -73,   271,
+     -73,   -73,   -73,   217,   218,   220,   -73,   238,   -73,   -73,
+     -73,   -73,   199,   259,   228,   239,   257,    48,   -73,   136,
+     -73,   136,   266,   268,   -73,   274,   272,    54,   -73,   -73,
+     279,   193,   -73,   -73,   -73,   280,   270,   271,   145,   -73,
+     281,   284,   271,   -73,   -73,   288,   291,   141,   141,   141,
+     141,    45,   -73,   -73,   -73,   271,   -73,   -73,   271,   271,
+      44,   -73,   136,   136,   -73,   -73,   -73,   -73,   -73,   264,
+     -73,   -73,   -73,   293,   -73,   299,   136,   -73,   -73,   267,
+     302,   271,   -73
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short int yypgoto[] =
 {
-     -78,   -78,   -78,   310,   -17,   -78,   -78,   -78,   -78,   -78,
-      84,   -78,   -78,   -78,   -78,   271,   -78,   -78,   -68,   -78,
-     166,   -52,   -78,   -78,   162,   -60,   -77,   -78,   -55,   -78,
-     -78,   -78,   -78,   -78,   -78,   -78,   -78,   -78,   -78,   -78,
-     -78,   -78,   127,   -78,   -75,   123,   -78,   229,   -78,   -78,
-     281,   -78,   219,   -78,   -78
+     -73,   -73,   -73,   304,   -17,   -73,   -73,   -73,   -73,   290,
+      -4,   -73,   -73,   -73,   269,   -73,   -73,   -73,   -66,   -73,
+     164,    15,   -73,   -73,   155,   -57,   -67,   -73,   -52,   -73,
+     -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,
+     -73,   -73,   125,   -73,   -72,   118,   -73,   230,   -73,   -73,
+     276,   -73,   215,   -73,   -73
 };
 
 /* 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 zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -117
+#define YYTABLE_NINF -114
 static const short int yytable[] =
 {
-      25,    91,   101,   123,   110,   170,   154,    29,   135,    67,
-     155,    30,    60,   109,   149,    23,    12,    28,   150,   175,
-      24,    38,    61,   176,   116,    39,   118,   170,    40,    19,
-     234,   102,    68,   129,   134,   171,    13,    41,   144,    91,
-     168,    23,   136,   169,   145,   157,    24,    20,    72,  -116,
-      42,    43,    73,   105,   151,   159,    74,   171,    44,    45,
-      46,    47,    75,    76,    77,    20,    78,   103,    14,    79,
-      80,    81,    82,    83,   179,    17,    84,    85,  -116,  -116,
-    -116,   139,   140,   157,    23,    87,    72,   158,   226,    24,
-      73,   204,   205,    18,    74,   207,   208,    22,   210,   -59,
-      75,    76,    77,   172,    78,    31,   173,    79,    80,    81,
-      82,    83,   213,     1,    84,    85,    48,   196,   197,   198,
-       2,     3,   185,    87,    32,   186,    26,   214,     4,   146,
-      34,    69,   119,    48,    28,    70,    35,   120,    40,    36,
-     152,   228,    57,   229,    58,   153,   131,    41,   132,    28,
-      56,   133,    59,   247,   248,   249,   250,    62,   159,   211,
-      42,    43,   240,    63,   239,   186,   254,   255,    44,    45,
-      46,    47,   196,   197,   198,    66,    96,    97,    98,   114,
-      99,   117,   100,   253,   112,   256,   257,   157,   159,   120,
-      72,   236,   125,   126,    73,   127,   128,   143,    74,   261,
-     147,   130,   146,   148,    75,    76,    77,   160,    78,   265,
-     161,    79,    80,    81,    82,    83,   163,   251,    84,    85,
-      72,   141,   164,   174,    73,   177,   180,    87,    74,   182,
-     188,   193,   184,   189,    75,    76,    77,   190,    78,   191,
-     136,    79,    80,    81,    82,    83,    72,   201,    84,    85,
-      73,   202,   203,    86,    74,   206,   220,    87,   222,   209,
-      75,    76,    77,   219,    78,   225,   212,    79,    80,    81,
-      82,    83,    72,   215,    84,    85,    73,   217,   218,    86,
-      74,   223,   230,    87,   224,   232,    75,    76,    77,   231,
-      78,   233,   235,    79,    80,    81,    82,    83,   237,   241,
-      84,    85,    -2,    15,   238,   -14,   242,   245,   246,    87,
-       1,   258,   259,   260,   263,   264,    16,     2,     3,   192,
-      71,   221,   227,   142,   195,     4,    65,   156
+      24,    88,    98,   107,   102,    99,   167,   151,    64,    21,
+     120,   152,   132,   106,   146,    57,    27,    21,   147,    28,
+      33,   165,    12,    29,   166,    58,    34,    45,    37,    35,
+     182,    65,    13,   183,   131,    22,   168,    38,   141,    88,
+      23,   100,    22,    45,   142,   154,   133,    23,    69,  -113,
+      39,    40,    70,   223,   148,   156,    71,   -56,    41,    42,
+      43,    44,    72,    73,    74,   167,    75,    14,   231,    76,
+      77,    78,    79,    80,   176,    17,    81,    82,  -113,  -113,
+    -113,    22,   194,   195,   196,    84,    23,   143,   113,   154,
+     115,   169,    69,   155,   170,   168,    70,   126,   202,   203,
+      71,    18,   205,   206,   116,   208,    72,    73,    74,   117,
+      75,   211,    19,    76,    77,    78,    79,    80,   136,   137,
+      81,    82,    -2,    15,     1,   -14,    25,   212,    27,    84,
+       1,     2,     3,   194,   195,   196,    28,     2,     3,     4,
+     -18,    31,   225,    66,   226,     4,   128,    67,   129,    27,
+      66,   130,   237,   172,   -28,   183,   209,   173,    53,   156,
+     244,   245,   246,   247,    54,   236,   251,   252,    55,    59,
+      56,    60,    63,    93,    94,    95,    96,    97,   111,   109,
+     114,   122,   117,   250,   123,   253,   254,   124,   156,   125,
+     140,   127,   143,   144,   154,   145,   150,    69,   233,   258,
+     157,    70,   149,   158,   160,    71,   171,   161,   177,   262,
+     174,    72,    73,    74,   248,    75,   181,   179,    76,    77,
+      78,    79,    80,    69,   138,    81,    82,    70,   185,   199,
+     188,    71,   186,   187,    84,   190,   191,    72,    73,    74,
+     133,    75,   200,   201,    76,    77,    78,    79,    80,    69,
+     204,    81,    82,    70,   207,   210,    83,    71,   213,   215,
+      84,   216,   217,    72,    73,    74,   219,    75,   222,   220,
+      76,    77,    78,    79,    80,    69,   227,    81,    82,    70,
+     221,   228,    83,    71,   229,   230,    84,   232,   234,    72,
+      73,    74,   238,    75,   235,   239,    76,    77,    78,    79,
+      80,   242,   243,    81,    82,   255,   256,   257,   260,   261,
+      16,    30,    84,   189,   193,   224,    68,   218,    62,     0,
+     153,   139
 };
 
-static const unsigned short int yycheck[] =
+static const short int yycheck[] =
 {
-      17,    56,    62,    80,    72,    11,     1,     1,     7,     1,
-       5,     5,    31,    68,     1,    36,    41,     9,     5,    10,
-      41,     1,    41,    14,    76,     5,    78,    11,     8,     5,
-      14,     5,    24,    85,    89,    41,     4,    17,    98,    94,
-      10,    36,    41,    13,    99,     1,    41,    41,     4,     5,
-      30,    31,     8,     5,    41,   110,    12,    41,    38,    39,
-      40,    41,    18,    19,    20,    41,    22,    41,     0,    25,
-      26,    27,    28,    29,   129,     3,    32,    33,    34,    35,
-      36,     8,     9,     1,    36,    41,     4,     5,     5,    41,
-       8,   168,   169,     6,    12,   172,   173,    13,   175,    11,
-      18,    19,    20,    10,    22,    21,    13,    25,    26,    27,
-      28,    29,   180,     8,    32,    33,    32,    34,    35,    36,
-      15,    16,     7,    41,     4,    10,    41,   182,    23,    41,
-       1,     1,    36,    49,     9,     5,     7,    41,     8,    10,
-       8,   201,    41,   203,    41,    13,     6,    17,     8,     9,
-       4,    11,    24,   230,   231,   232,   233,     6,   213,   176,
-      30,    31,     7,     4,   219,    10,   241,   242,    38,    39,
-      40,    41,    34,    35,    36,     4,     8,    41,     6,     6,
-      24,     6,    41,   238,    41,   245,   246,     1,   243,    41,
-       4,     5,     8,     8,     8,     8,     6,     8,    12,   259,
-       7,    41,    41,     8,    18,    19,    20,     6,    22,   264,
-       8,    25,    26,    27,    28,    29,     4,   234,    32,    33,
-       4,     5,    41,     8,     8,     8,     4,    41,    12,    21,
-       7,     7,    41,    41,    18,    19,    20,    41,    22,     8,
-      41,    25,    26,    27,    28,    29,     4,    13,    32,    33,
-       8,     7,    11,    37,    12,    41,     8,    41,     7,    41,
-      18,    19,    20,    24,    22,    11,    41,    25,    26,    27,
-      28,    29,     4,    41,    32,    33,     8,    41,    41,    37,
-      12,    41,    10,    41,    41,    10,    18,    19,    20,    13,
-      22,    13,     8,    25,    26,    27,    28,    29,     8,    11,
-      32,    33,     0,     1,    24,     3,    11,    13,    11,    41,
-       8,    41,    13,     8,    41,     7,     6,    15,    16,   153,
-      49,   194,   199,    94,   162,    23,    45,   108
+      17,    53,    59,    69,     5,     5,    11,     1,     1,    13,
+      77,     5,     7,    65,     1,    31,     9,    21,     5,     1,
+       1,    10,    41,     5,    13,    41,     7,    31,     8,    10,
+       7,    24,     4,    10,    86,    36,    41,    17,    95,    91,
+      41,    41,    36,    47,    96,     1,    41,    41,     4,     5,
+      30,    31,     8,     5,    41,   107,    12,    11,    38,    39,
+      40,    41,    18,    19,    20,    11,    22,     0,    14,    25,
+      26,    27,    28,    29,   126,     3,    32,    33,    34,    35,
+      36,    36,    34,    35,    36,    41,    41,    41,    73,     1,
+      75,    10,     4,     5,    13,    41,     8,    82,   165,   166,
+      12,     6,   169,   170,    36,   172,    18,    19,    20,    41,
+      22,   177,    41,    25,    26,    27,    28,    29,     8,     9,
+      32,    33,     0,     1,     8,     3,    41,   179,     9,    41,
+       8,    15,    16,    34,    35,    36,     1,    15,    16,    23,
+       5,     4,   199,     1,   201,    23,     6,     5,     8,     9,
+       1,    11,     7,    10,     5,    10,   173,    14,     4,   211,
+     227,   228,   229,   230,    41,   217,   238,   239,    41,     6,
+      24,     4,     4,     8,    41,     6,    24,    41,     6,    41,
+       6,     8,    41,   235,     8,   242,   243,     8,   240,     6,
+       8,    41,    41,     7,     1,     8,     8,     4,     5,   256,
+       6,     8,    13,     8,     4,    12,     8,    41,     4,   261,
+       8,    18,    19,    20,   231,    22,    41,    21,    25,    26,
+      27,    28,    29,     4,     5,    32,    33,     8,     7,    13,
+       8,    12,    41,    41,    41,     8,     7,    18,    19,    20,
+      41,    22,     7,    11,    25,    26,    27,    28,    29,     4,
+      41,    32,    33,     8,    41,    41,    37,    12,    41,    41,
+      41,    41,    24,    18,    19,    20,     7,    22,    11,    41,
+      25,    26,    27,    28,    29,     4,    10,    32,    33,     8,
+      41,    13,    37,    12,    10,    13,    41,     8,     8,    18,
+      19,    20,    11,    22,    24,    11,    25,    26,    27,    28,
+      29,    13,    11,    32,    33,    41,    13,     8,    41,     7,
+       6,    21,    41,   149,   159,   197,    47,   192,    42,    -1,
+     105,    91
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -816,32 +815,32 @@ static const unsigned short int yycheck[] =
 static const unsigned char yystos[] =
 {
        0,     8,    15,    16,    23,    43,    44,    45,    47,    48,
-      49,    50,    41,     4,     0,     1,    45,     3,     6,     5,
-      41,    51,    52,    36,    41,    46,    41,    54,     9,     1,
-       5,    52,     4,    55,     1,     7,    10,    53,     1,     5,
-       8,    17,    30,    31,    38,    39,    40,    41,    52,    56,
-      57,    58,    59,    90,    91,    96,     4,    41,    41,    24,
-      31,    41,     6,     4,    92,    92,     4,     1,    24,     1,
-       5,    57,     4,     8,    12,    18,    19,    20,    22,    25,
-      26,    27,    28,    29,    32,    33,    37,    41,    52,    65,
-      69,    70,    80,    82,    88,    89,     8,    41,     6,    24,
-      41,    67,     5,    41,    93,     5,    46,    94,    95,    70,
-      60,    70,    41,    78,     6,    63,    63,     6,    63,    36,
-      41,    68,    76,    68,    77,     8,     8,     8,     6,    63,
-      41,     6,     8,    11,    70,     7,    41,    66,    84,     8,
-       9,     5,    89,     8,    67,    70,    41,     7,     8,     1,
-       5,    41,     8,    13,     1,     5,    94,     1,     5,    70,
-       6,     8,    64,     4,    41,    61,    62,    67,    10,    13,
-      11,    41,    10,    13,     8,    10,    14,     8,    71,    70,
-       4,    81,    21,    75,    41,     7,    10,    74,     7,    41,
-      41,     8,    62,     7,    79,    66,    34,    35,    36,    85,
-      87,    13,     7,    11,    68,    68,    41,    68,    68,    41,
-      68,    46,    41,    60,    70,    41,    83,    41,    41,    24,
-       8,    84,     7,    41,    41,    11,     5,    87,    67,    67,
-      10,    13,    10,    13,    14,     8,     5,     8,    24,    70,
-       7,    11,    11,    60,    86,    13,    11,    68,    68,    68,
-      68,    46,    72,    70,    86,    86,    67,    67,    41,    13,
-       8,    67,    73,    41,     7,    70
+      49,    50,    41,     4,     0,     1,    45,     3,     6,    41,
+      51,    52,    36,    41,    46,    41,    54,     9,     1,     5,
+      51,     4,    55,     1,     7,    10,    53,     8,    17,    30,
+      31,    38,    39,    40,    41,    52,    56,    57,    58,    59,
+      90,    91,    96,     4,    41,    41,    24,    31,    41,     6,
+       4,    92,    92,     4,     1,    24,     1,     5,    56,     4,
+       8,    12,    18,    19,    20,    22,    25,    26,    27,    28,
+      29,    32,    33,    37,    41,    52,    65,    69,    70,    80,
+      82,    88,    89,     8,    41,     6,    24,    41,    67,     5,
+      41,    93,     5,    46,    94,    95,    70,    60,    70,    41,
+      78,     6,    63,    63,     6,    63,    36,    41,    68,    76,
+      68,    77,     8,     8,     8,     6,    63,    41,     6,     8,
+      11,    70,     7,    41,    66,    84,     8,     9,     5,    89,
+       8,    67,    70,    41,     7,     8,     1,     5,    41,    13,
+       8,     1,     5,    94,     1,     5,    70,     6,     8,    64,
+       4,    41,    61,    62,    67,    10,    13,    11,    41,    10,
+      13,     8,    10,    14,     8,    71,    70,     4,    81,    21,
+      75,    41,     7,    10,    74,     7,    41,    41,     8,    62,
+       8,     7,    79,    66,    34,    35,    36,    85,    87,    13,
+       7,    11,    68,    68,    41,    68,    68,    41,    68,    46,
+      41,    60,    70,    41,    83,    41,    41,    24,    84,     7,
+      41,    41,    11,     5,    87,    67,    67,    10,    13,    10,
+      13,    14,     8,     5,     8,    24,    70,     7,    11,    11,
+      60,    86,    13,    11,    68,    68,    68,    68,    46,    72,
+      70,    86,    86,    67,    67,    41,    13,     8,    67,    73,
+      41,     7,    70
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -1219,7 +1218,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
       case 41: /* "word" */
 #line 175 "ael.y"
         { free((yyvaluep->str));};
-#line 1223 "ael.tab.c"
+#line 1222 "ael.tab.c"
         break;
       case 44: /* "objects" */
 #line 160 "ael.y"
@@ -1227,7 +1226,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1231 "ael.tab.c"
+#line 1230 "ael.tab.c"
         break;
       case 45: /* "object" */
 #line 160 "ael.y"
@@ -1235,12 +1234,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1239 "ael.tab.c"
+#line 1238 "ael.tab.c"
         break;
       case 46: /* "context_name" */
 #line 175 "ael.y"
         { free((yyvaluep->str));};
-#line 1244 "ael.tab.c"
+#line 1243 "ael.tab.c"
         break;
       case 47: /* "context" */
 #line 160 "ael.y"
@@ -1248,7 +1247,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1252 "ael.tab.c"
+#line 1251 "ael.tab.c"
         break;
       case 49: /* "macro" */
 #line 160 "ael.y"
@@ -1256,7 +1255,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1260 "ael.tab.c"
+#line 1259 "ael.tab.c"
         break;
       case 50: /* "globals" */
 #line 160 "ael.y"
@@ -1264,7 +1263,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1268 "ael.tab.c"
+#line 1267 "ael.tab.c"
         break;
       case 51: /* "global_statements" */
 #line 160 "ael.y"
@@ -1272,7 +1271,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1276 "ael.tab.c"
+#line 1275 "ael.tab.c"
         break;
       case 52: /* "assignment" */
 #line 160 "ael.y"
@@ -1280,7 +1279,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1284 "ael.tab.c"
+#line 1283 "ael.tab.c"
         break;
       case 54: /* "arglist" */
 #line 160 "ael.y"
@@ -1288,7 +1287,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1292 "ael.tab.c"
+#line 1291 "ael.tab.c"
         break;
       case 55: /* "elements_block" */
 #line 160 "ael.y"
@@ -1296,7 +1295,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1300 "ael.tab.c"
+#line 1299 "ael.tab.c"
         break;
       case 56: /* "elements" */
 #line 160 "ael.y"
@@ -1304,7 +1303,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1308 "ael.tab.c"
+#line 1307 "ael.tab.c"
         break;
       case 57: /* "element" */
 #line 160 "ael.y"
@@ -1312,7 +1311,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1316 "ael.tab.c"
+#line 1315 "ael.tab.c"
         break;
       case 58: /* "ignorepat" */
 #line 160 "ael.y"
@@ -1320,7 +1319,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1324 "ael.tab.c"
+#line 1323 "ael.tab.c"
         break;
       case 59: /* "extension" */
 #line 160 "ael.y"
@@ -1328,7 +1327,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1332 "ael.tab.c"
+#line 1331 "ael.tab.c"
         break;
       case 60: /* "statements" */
 #line 160 "ael.y"
@@ -1336,12 +1335,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1340 "ael.tab.c"
+#line 1339 "ael.tab.c"
         break;
       case 61: /* "timerange" */
 #line 175 "ael.y"
         { free((yyvaluep->str));};
-#line 1345 "ael.tab.c"
+#line 1344 "ael.tab.c"
         break;
       case 62: /* "timespec" */
 #line 160 "ael.y"
@@ -1349,12 +1348,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1353 "ael.tab.c"
+#line 1352 "ael.tab.c"
         break;
       case 63: /* "test_expr" */
 #line 175 "ael.y"
         { free((yyvaluep->str));};
-#line 1358 "ael.tab.c"
+#line 1357 "ael.tab.c"
         break;
       case 65: /* "if_like_head" */
 #line 160 "ael.y"
@@ -1362,22 +1361,22 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1366 "ael.tab.c"
+#line 1365 "ael.tab.c"
         break;
       case 66: /* "word_list" */
 #line 175 "ael.y"
         { free((yyvaluep->str));};
-#line 1371 "ael.tab.c"
+#line 1370 "ael.tab.c"
         break;
       case 67: /* "word3_list" */
 #line 175 "ael.y"
         { free((yyvaluep->str));};
-#line 1376 "ael.tab.c"
+#line 1375 "ael.tab.c"
         break;
       case 68: /* "goto_word" */
 #line 175 "ael.y"
         { free((yyvaluep->str));};
-#line 1381 "ael.tab.c"
+#line 1380 "ael.tab.c"
         break;
       case 69: /* "switch_statement" */
 #line 160 "ael.y"
@@ -1385,7 +1384,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1389 "ael.tab.c"
+#line 1388 "ael.tab.c"
         break;
       case 70: /* "statement" */
 #line 160 "ael.y"
@@ -1393,7 +1392,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1397 "ael.tab.c"
+#line 1396 "ael.tab.c"
         break;
       case 75: /* "opt_else" */
 #line 160 "ael.y"
@@ -1401,7 +1400,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1405 "ael.tab.c"
+#line 1404 "ael.tab.c"
         break;
       case 76: /* "target" */
 #line 160 "ael.y"
@@ -1409,7 +1408,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1413 "ael.tab.c"
+#line 1412 "ael.tab.c"
         break;
       case 77: /* "jumptarget" */
 #line 160 "ael.y"
@@ -1417,7 +1416,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1421 "ael.tab.c"
+#line 1420 "ael.tab.c"
         break;
       case 78: /* "macro_call" */
 #line 160 "ael.y"
@@ -1425,7 +1424,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1429 "ael.tab.c"
+#line 1428 "ael.tab.c"
         break;
       case 80: /* "application_call_head" */
 #line 160 "ael.y"
@@ -1433,7 +1432,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1437 "ael.tab.c"
+#line 1436 "ael.tab.c"
         break;
       case 82: /* "application_call" */
 #line 160 "ael.y"
@@ -1441,12 +1440,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1445 "ael.tab.c"
+#line 1444 "ael.tab.c"
         break;
       case 83: /* "opt_word" */
 #line 175 "ael.y"
         { free((yyvaluep->str));};
-#line 1450 "ael.tab.c"
+#line 1449 "ael.tab.c"
         break;
       case 84: /* "eval_arglist" */
 #line 160 "ael.y"
@@ -1454,7 +1453,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1458 "ael.tab.c"
+#line 1457 "ael.tab.c"
         break;
       case 85: /* "case_statements" */
 #line 160 "ael.y"
@@ -1462,7 +1461,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1466 "ael.tab.c"
+#line 1465 "ael.tab.c"
         break;
       case 86: /* "opt_statements" */
 #line 160 "ael.y"
@@ -1470,7 +1469,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1474 "ael.tab.c"
+#line 1473 "ael.tab.c"
         break;
       case 87: /* "case_statement" */
 #line 160 "ael.y"
@@ -1478,7 +1477,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1482 "ael.tab.c"
+#line 1481 "ael.tab.c"
         break;
       case 88: /* "macro_statements" */
 #line 160 "ael.y"
@@ -1486,7 +1485,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1490 "ael.tab.c"
+#line 1489 "ael.tab.c"
         break;
       case 89: /* "macro_statement" */
 #line 160 "ael.y"
@@ -1494,7 +1493,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1498 "ael.tab.c"
+#line 1497 "ael.tab.c"
         break;
       case 90: /* "switches" */
 #line 160 "ael.y"
@@ -1502,7 +1501,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1506 "ael.tab.c"
+#line 1505 "ael.tab.c"
         break;
       case 91: /* "eswitches" */
 #line 160 "ael.y"
@@ -1510,7 +1509,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1514 "ael.tab.c"
+#line 1513 "ael.tab.c"
         break;
       case 92: /* "switchlist_block" */
 #line 160 "ael.y"
@@ -1518,7 +1517,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1522 "ael.tab.c"
+#line 1521 "ael.tab.c"
         break;
       case 93: /* "switchlist" */
 #line 160 "ael.y"
@@ -1526,7 +1525,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1530 "ael.tab.c"
+#line 1529 "ael.tab.c"
         break;
       case 94: /* "included_entry" */
 #line 160 "ael.y"
@@ -1534,7 +1533,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1538 "ael.tab.c"
+#line 1537 "ael.tab.c"
         break;
       case 95: /* "includeslist" */
 #line 160 "ael.y"
@@ -1542,7 +1541,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1546 "ael.tab.c"
+#line 1545 "ael.tab.c"
         break;
       case 96: /* "includes" */
 #line 160 "ael.y"
@@ -1550,7 +1549,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1554 "ael.tab.c"
+#line 1553 "ael.tab.c"
         break;
 
       default:
@@ -1950,146 +1949,130 @@ yyreduce:
     break;
 
   case 17:
-#line 220 "ael.y"
-    { /* empty globals is OK */
-               (yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-2]), &(yylsp[0])); ;}
+#line 222 "ael.y"
+    { (yyval.pval) = NULL; ;}
     break;
 
   case 18:
-#line 224 "ael.y"
-    {(yyval.pval)=(yyvsp[0].pval);;}
-    break;
-
-  case 19:
-#line 225 "ael.y"
+#line 223 "ael.y"
     {(yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
-  case 20:
-#line 226 "ael.y"
+  case 19:
+#line 224 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
-  case 21:
-#line 229 "ael.y"
+  case 20:
+#line 227 "ael.y"
     { reset_semicount(parseio->scanner); ;}
     break;
 
-  case 22:
-#line 229 "ael.y"
+  case 21:
+#line 227 "ael.y"
     {
                (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-4].str);
                (yyval.pval)->u2.val = (yyvsp[-1].str); ;}
     break;
 
-  case 23:
-#line 235 "ael.y"
+  case 22:
+#line 233 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 24:
-#line 236 "ael.y"
+  case 23:
+#line 234 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 25:
-#line 237 "ael.y"
+  case 24:
+#line 235 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
     break;
 
-  case 26:
-#line 238 "ael.y"
+  case 25:
+#line 236 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
+  case 26:
+#line 239 "ael.y"
+    { (yyval.pval) = (yyvsp[-1].pval); ;}
+    break;
+
   case 27:
-#line 241 "ael.y"
-    { (yyval.pval) = NULL; ;}
+#line 242 "ael.y"
+    {(yyval.pval)=0;;}
     break;
 
   case 28:
-#line 242 "ael.y"
-    { (yyval.pval) = (yyvsp[-1].pval); ;}
+#line 243 "ael.y"
+    { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 29:
-#line 245 "ael.y"
-    { (yyval.pval)=(yyvsp[0].pval);;}
+#line 244 "ael.y"
+    { (yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 30:
-#line 246 "ael.y"
-    {(yyval.pval)=0;;}
+#line 247 "ael.y"
+    {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 31:
-#line 247 "ael.y"
-    { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
+#line 248 "ael.y"
+    {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 32:
-#line 248 "ael.y"
-    { (yyval.pval)=(yyvsp[-1].pval);;}
+#line 249 "ael.y"
+    {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 33:
-#line 251 "ael.y"
+#line 250 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 34:
-#line 252 "ael.y"
+#line 251 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 35:
-#line 253 "ael.y"
+#line 252 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 36:
-#line 254 "ael.y"
-    {(yyval.pval)=(yyvsp[0].pval);;}
+#line 253 "ael.y"
+    {free((yyvsp[-1].str)); (yyval.pval)=0;;}
     break;
 
   case 37:
-#line 255 "ael.y"
-    {(yyval.pval)=(yyvsp[0].pval);;}
+#line 254 "ael.y"
+    {(yyval.pval)=0;/* allow older docs to be read */;}
     break;
 
   case 38:
-#line 256 "ael.y"
-    {(yyval.pval)=(yyvsp[0].pval);;}
-    break;
-
-  case 39:
 #line 257 "ael.y"
-    {free((yyvsp[-1].str)); (yyval.pval)=0;;}
-    break;
-
-  case 40:
-#line 258 "ael.y"
-    {(yyval.pval)=0;/* allow older docs to be read */;}
-    break;
-
-  case 41:
-#line 261 "ael.y"
     {
                (yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
-  case 42:
-#line 266 "ael.y"
+  case 39:
+#line 262 "ael.y"
     {
                (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
                (yyval.pval)->u2.statements = (yyvsp[0].pval); ;}
     break;
 
-  case 43:
-#line 270 "ael.y"
+  case 40:
+#line 266 "ael.y"
     {
                (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2097,8 +2080,8 @@ yyreduce:
                (yyval.pval)->u4.regexten=1;;}
     break;
 
-  case 44:
-#line 275 "ael.y"
+  case 41:
+#line 271 "ael.y"
     {
                (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2106,8 +2089,8 @@ yyreduce:
                (yyval.pval)->u3.hints = (yyvsp[-4].str);;}
     break;
 
-  case 45:
-#line 280 "ael.y"
+  case 42:
+#line 276 "ael.y"
     {
                (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2116,23 +2099,23 @@ yyreduce:
                (yyval.pval)->u3.hints = (yyvsp[-4].str);;}
     break;
 
-  case 46:
-#line 289 "ael.y"
+  case 43:
+#line 285 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
-  case 47:
-#line 290 "ael.y"
+  case 44:
+#line 286 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
-  case 48:
-#line 291 "ael.y"
+  case 45:
+#line 287 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
-  case 49:
-#line 297 "ael.y"
+  case 46:
+#line 293 "ael.y"
     {
                asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[-4].str), (yyvsp[-2].str), (yyvsp[0].str));
                free((yyvsp[-4].str));
@@ -2140,13 +2123,13 @@ yyreduce:
                free((yyvsp[0].str)); ;}
     break;
 
-  case 50:
-#line 302 "ael.y"
+  case 47:
+#line 298 "ael.y"
     { (yyval.str) = (yyvsp[0].str); ;}
     break;
 
-  case 51:
-#line 306 "ael.y"
+  case 48:
+#line 302 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-6].str), &(yylsp[-6]));
                (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
@@ -2154,46 +2137,46 @@ yyreduce:
                (yyval.pval)->next->next->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 52:
-#line 314 "ael.y"
+  case 49:
+#line 310 "ael.y"
     { reset_parencount(parseio->scanner); ;}
     break;
 
-  case 53:
-#line 314 "ael.y"
+  case 50:
+#line 310 "ael.y"
     {
                (yyval.str) = (yyvsp[-1].str); ;}
     break;
 
-  case 54:
-#line 319 "ael.y"
+  case 51:
+#line 315 "ael.y"
     {
                (yyval.pval)= npval2(PV_IF, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[0].str); ;}
     break;
 
-  case 55:
-#line 322 "ael.y"
+  case 52:
+#line 318 "ael.y"
     {
                (yyval.pval) = npval2(PV_RANDOM, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str=(yyvsp[0].str);;}
     break;
 
-  case 56:
-#line 325 "ael.y"
+  case 53:
+#line 321 "ael.y"
     {
                (yyval.pval) = npval2(PV_IFTIME, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval);
                prev_word = 0; ;}
     break;
 
-  case 57:
-#line 336 "ael.y"
+  case 54:
+#line 332 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
-  case 58:
-#line 337 "ael.y"
+  case 55:
+#line 333 "ael.y"
     {
                asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
                free((yyvsp[-1].str));
@@ -2201,13 +2184,13 @@ yyreduce:
                prev_word = (yyval.str);;}
     break;
 
-  case 59:
-#line 344 "ael.y"
+  case 56:
+#line 340 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
-  case 60:
-#line 345 "ael.y"
+  case 57:
+#line 341 "ael.y"
     {
                asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
                free((yyvsp[-1].str));
@@ -2215,8 +2198,8 @@ yyreduce:
                prev_word = (yyval.str);;}
     break;
 
-  case 61:
-#line 350 "ael.y"
+  case 58:
+#line 346 "ael.y"
     {
                asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str));
                free((yyvsp[-2].str));
@@ -2225,85 +2208,85 @@ yyreduce:
                prev_word=(yyval.str);;}
     break;
 
-  case 62:
-#line 358 "ael.y"
+  case 59:
+#line 354 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
-  case 63:
-#line 359 "ael.y"
+  case 60:
+#line 355 "ael.y"
     {
                asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
                free((yyvsp[-1].str));
                free((yyvsp[0].str));;}
     break;
 
-  case 64:
-#line 363 "ael.y"
+  case 61:
+#line 359 "ael.y"
     {
                asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str));
                free((yyvsp[-2].str));
                free((yyvsp[0].str));;}
     break;
 
-  case 65:
-#line 369 "ael.y"
+  case 62:
+#line 365 "ael.y"
     {
                (yyval.pval) = npval2(PV_SWITCH, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-3].str);
                (yyval.pval)->u2.statements = (yyvsp[-1].pval);;}
     break;
 
-  case 66:
-#line 378 "ael.y"
+  case 63:
+#line 374 "ael.y"
     {
                (yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
     break;
 
-  case 67:
-#line 381 "ael.y"
+  case 64:
+#line 377 "ael.y"
     { (yyval.pval) = (yyvsp[0].pval); ;}
     break;
 
-  case 68:
-#line 382 "ael.y"
+  case 65:
+#line 378 "ael.y"
     {
                (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
-  case 69:
-#line 385 "ael.y"
+  case 66:
+#line 381 "ael.y"
     {
                (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
-  case 70:
-#line 388 "ael.y"
+  case 67:
+#line 384 "ael.y"
     {
                (yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str); ;}
     break;
 
-  case 71:
-#line 391 "ael.y"
+  case 68:
+#line 387 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
-  case 72:
-#line 392 "ael.y"
+  case 69:
+#line 388 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
-  case 73:
-#line 393 "ael.y"
+  case 70:
+#line 389 "ael.y"
     {reset_parencount(parseio->scanner);;}
     break;
 
-  case 74:
-#line 393 "ael.y"
+  case 71:
+#line 389 "ael.y"
     { /* XXX word_list maybe ? */
                (yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0]));
                (yyval.pval)->u1.for_init = (yyvsp[-8].str);
@@ -2312,45 +2295,45 @@ yyreduce:
                (yyval.pval)->u4.for_statements = (yyvsp[0].pval);;}
     break;
 
-  case 75:
-#line 399 "ael.y"
+  case 72:
+#line 395 "ael.y"
     {
                (yyval.pval) = npval2(PV_WHILE, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);
                (yyval.pval)->u2.statements = (yyvsp[0].pval); ;}
     break;
 
-  case 76:
-#line 403 "ael.y"
+  case 73:
+#line 399 "ael.y"
     { (yyval.pval) = (yyvsp[0].pval); ;}
     break;
 
-  case 77:
-#line 404 "ael.y"
+  case 74:
+#line 400 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;}
     break;
 
-  case 78:
-#line 406 "ael.y"
+  case 75:
+#line 402 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
     break;
 
-  case 79:
-#line 408 "ael.y"
+  case 76:
+#line 404 "ael.y"
     {
                (yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
-  case 80:
-#line 411 "ael.y"
+  case 77:
+#line 407 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
-  case 81:
-#line 411 "ael.y"
+  case 78:
+#line 407 "ael.y"
     {
                char *bufx;
                int tot=0;
@@ -2386,132 +2369,132 @@ yyreduce:
        ;}
     break;
 
-  case 82:
-#line 444 "ael.y"
+  case 79:
+#line 440 "ael.y"
     { (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
-  case 83:
-#line 445 "ael.y"
+  case 80:
+#line 441 "ael.y"
     { (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
-  case 84:
-#line 446 "ael.y"
+  case 81:
+#line 442 "ael.y"
     { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
-  case 85:
-#line 447 "ael.y"
+  case 82:
+#line 443 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1]));
                (yyval.pval)->u2.statements = (yyvsp[-1].pval);
                (yyval.pval)->u3.else_statements = (yyvsp[0].pval);;}
     break;
 
-  case 86:
-#line 451 "ael.y"
+  case 83:
+#line 447 "ael.y"
     { (yyval.pval)=0; ;}
     break;
 
-  case 87:
-#line 454 "ael.y"
+  case 84:
+#line 450 "ael.y"
     { (yyval.pval) = (yyvsp[0].pval); ;}
     break;
 
-  case 88:
-#line 455 "ael.y"
+  case 85:
+#line 451 "ael.y"
     { (yyval.pval) = NULL ; ;}
     break;
 
-  case 89:
-#line 460 "ael.y"
+  case 86:
+#line 456 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 90:
-#line 461 "ael.y"
+  case 87:
+#line 457 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 91:
-#line 464 "ael.y"
+  case 88:
+#line 460 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 92:
-#line 467 "ael.y"
+  case 89:
+#line 463 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 93:
-#line 471 "ael.y"
+  case 90:
+#line 467 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 94:
-#line 475 "ael.y"
+  case 91:
+#line 471 "ael.y"
     {
                (yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 95:
-#line 479 "ael.y"
+  case 92:
+#line 475 "ael.y"
     {
                (yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 96:
-#line 486 "ael.y"
+  case 93:
+#line 482 "ael.y"
     {                  /* ext, 1 */
                (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
                (yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;}
     break;
 
-  case 97:
-#line 489 "ael.y"
+  case 94:
+#line 485 "ael.y"
     {          /* ext, pri */
                (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 98:
-#line 492 "ael.y"
+  case 95:
+#line 488 "ael.y"
     {  /* context, ext, pri */
                (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
                (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
                (yyval.pval)->next->next = nword((yyvsp[-2].str), &(yylsp[-2])); ;}
     break;
 
-  case 99:
-#line 496 "ael.y"
+  case 96:
+#line 492 "ael.y"
     {          /* context, ext, 1 */
                (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next->next = nword(strdup("1"), &(yylsp[0])); ;}
     break;
 
-  case 100:
-#line 502 "ael.y"
+  case 97:
+#line 498 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
-  case 101:
-#line 502 "ael.y"
+  case 98:
+#line 498 "ael.y"
     {
                /* XXX original code had @2 but i think we need @5 */
                (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0]));
@@ -2519,20 +2502,20 @@ yyreduce:
                (yyval.pval)->u2.arglist = (yyvsp[-1].pval);;}
     break;
 
-  case 102:
-#line 507 "ael.y"
+  case 99:
+#line 503 "ael.y"
     {
                (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str); ;}
     break;
 
-  case 103:
-#line 515 "ael.y"
+  case 100:
+#line 511 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
-  case 104:
-#line 515 "ael.y"
+  case 101:
+#line 511 "ael.y"
     {
                if (strcasecmp((yyvsp[-2].str),"goto") == 0) {
                        (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1]));
@@ -2544,8 +2527,8 @@ yyreduce:
                } ;}
     break;
 
-  case 105:
-#line 526 "ael.y"
+  case 102:
+#line 522 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
                if( (yyval.pval)->type == PV_GOTO )
@@ -2555,191 +2538,191 @@ yyreduce:
        ;}
     break;
 
-  case 106:
-#line 533 "ael.y"
+  case 103:
+#line 529 "ael.y"
     { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
     break;
 
-  case 107:
-#line 536 "ael.y"
+  case 104:
+#line 532 "ael.y"
     { (yyval.str) = (yyvsp[0].str) ;}
     break;
 
-  case 108:
-#line 537 "ael.y"
+  case 105:
+#line 533 "ael.y"
     { (yyval.str) = strdup(""); ;}
     break;
 
-  case 109:
-#line 540 "ael.y"
+  case 106:
+#line 536 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 110:
-#line 541 "ael.y"
+  case 107:
+#line 537 "ael.y"
     {
                (yyval.pval)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/);
                (yyval.pval)->u1.str = strdup(""); ;}
     break;
 
-  case 111:
-#line 544 "ael.y"
+  case 108:
+#line 540 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
     break;
 
-  case 112:
-#line 547 "ael.y"
+  case 109:
+#line 543 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 113:
-#line 548 "ael.y"
+  case 110:
+#line 544 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
-  case 114:
-#line 549 "ael.y"
+  case 111:
+#line 545 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
-  case 115:
-#line 553 "ael.y"
+  case 112:
+#line 549 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 116:
-#line 554 "ael.y"
+  case 113:
+#line 550 "ael.y"
     { (yyval.pval) = (yyvsp[0].pval); ;}
     break;
 
-  case 117:
-#line 557 "ael.y"
+  case 114:
+#line 553 "ael.y"
     {
                (yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */
                (yyval.pval)->u1.str = (yyvsp[-2].str);
                (yyval.pval)->u2.statements = (yyvsp[0].pval);;}
     break;
 
-  case 118:
-#line 561 "ael.y"
+  case 115:
+#line 557 "ael.y"
     {
                (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = NULL;
                (yyval.pval)->u2.statements = (yyvsp[0].pval);;}
     break;
 
-  case 119:
-#line 565 "ael.y"
+  case 116:
+#line 561 "ael.y"
     {
                (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */
                (yyval.pval)->u1.str = (yyvsp[-2].str);
                (yyval.pval)->u2.statements = (yyvsp[0].pval);;}
     break;
 
-  case 120:
-#line 571 "ael.y"
+  case 117:
+#line 567 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 121:
-#line 572 "ael.y"
+  case 118:
+#line 568 "ael.y"
     {(yyval.pval) = (yyvsp[0].pval);;}
     break;
 
-  case 122:
-#line 573 "ael.y"
+  case 119:
+#line 569 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
-  case 123:
-#line 576 "ael.y"
+  case 120:
+#line 572 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
-  case 124:
-#line 577 "ael.y"
+  case 121:
+#line 573 "ael.y"
     {
                (yyval.pval) = npval2(PV_CATCH, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-3].str);
                (yyval.pval)->u2.statements = (yyvsp[-1].pval);;}
     break;
 
-  case 125:
-#line 583 "ael.y"
+  case 122:
+#line 579 "ael.y"
     {
                (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[0].pval); ;}
     break;
 
-  case 126:
-#line 588 "ael.y"
+  case 123:
+#line 584 "ael.y"
     {
                (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[0].pval); ;}
     break;
 
-  case 127:
-#line 593 "ael.y"
+  case 124:
+#line 589 "ael.y"
     { (yyval.pval) = (yyvsp[-1].pval); ;}
     break;
 
-  case 128:
-#line 594 "ael.y"
+  case 125:
+#line 590 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 129:
-#line 597 "ael.y"
+  case 126:
+#line 593 "ael.y"
     { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
     break;
 
-  case 130:
-#line 598 "ael.y"
+  case 127:
+#line 594 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;}
     break;
 
-  case 131:
-#line 599 "ael.y"
+  case 128:
+#line 595 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
-  case 132:
-#line 602 "ael.y"
-    { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
+  case 129:
+#line 598 "ael.y"
+    { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 133:
-#line 603 "ael.y"
+  case 130:
+#line 599 "ael.y"
     {
-               (yyval.pval) = nword((yyvsp[-3].str), &(yylsp[-3]));
-               (yyval.pval)->u2.arglist = (yyvsp[-1].pval);
+               (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
+               (yyval.pval)->u2.arglist = (yyvsp[0].pval);
                prev_word=0; /* XXX sure ? */ ;}
     break;
 
-  case 134:
-#line 610 "ael.y"
-    { (yyval.pval) = (yyvsp[0].pval); ;}
+  case 131:
+#line 606 "ael.y"
+    { (yyval.pval) = (yyvsp[-1].pval); ;}
     break;
 
-  case 135:
-#line 611 "ael.y"
-    { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
+  case 132:
+#line 607 "ael.y"
+    { (yyval.pval) = linku1((yyvsp[-2].pval), (yyvsp[-1].pval)); ;}
     break;
 
-  case 136:
-#line 612 "ael.y"
+  case 133:
+#line 608 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
-  case 137:
-#line 615 "ael.y"
+  case 134:
+#line 611 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
-  case 138:
-#line 618 "ael.y"
+  case 135:
+#line 614 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;}
     break;
@@ -2749,7 +2732,7 @@ yyreduce:
     }
 
 /* Line 1126 of yacc.c.  */
-#line 2753 "ael.tab.c"
+#line 2736 "ael.tab.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -3024,7 +3007,7 @@ yyreturn:
 }
 
 
-#line 623 "ael.y"
+#line 619 "ael.y"
 
 
 static char *token_equivs1[] =
index e46a002..2b4108b 100644 (file)
@@ -217,12 +217,10 @@ macro : KW_MACRO word LP arglist RP LC macro_statements RC {
 globals : KW_GLOBALS LC global_statements RC {
                $$ = npval2(PV_GLOBALS, &@1, &@4);
                $$->u1.statements = $3;}
-       | KW_GLOBALS LC RC { /* empty globals is OK */
-               $$ = npval2(PV_GLOBALS, &@1, &@3); }
        ;
 
-global_statements : assignment {$$=$1;}
-       | global_statements assignment {$$ = linku1($1, $2); }
+global_statements : { $$ = NULL; }
+       | assignment global_statements {$$ = linku1($1, $2); }
        | global_statements error {$$=$1;}
        ;
 
@@ -238,13 +236,11 @@ arglist : /* empty */ { $$ = NULL; }
        | arglist error {$$=$1;}
        ;
 
-elements_block : LC RC { $$ = NULL; }
-       | LC elements RC { $$ = $2; }
+elements_block : LC elements RC { $$ = $2; }
        ;
 
-elements : element { $$=$1;}
-       | error {$$=0;}
-       | elements element { $$ = linku1($1, $2); }
+elements : {$$=0;}
+       | element elements { $$ = linku1($1, $2); }
        | elements error   { $$=$1;}
        ;
 
@@ -599,16 +595,16 @@ switchlist : word SEMI { $$ = nword($1, &@1); }
        | switchlist error {$$=$1;}
        ;
 
-included_entry : context_name SEMI { $$ = nword($1, &@1); }
-       | context_name BAR timespec SEMI {
+included_entry : context_name { $$ = nword($1, &@1); }
+       | context_name BAR timespec {
                $$ = nword($1, &@1);
                $$->u2.arglist = $3;
                prev_word=0; /* XXX sure ? */ }
        ;
 
 /* list of ';' separated context names followed by optional timespec */
-includeslist : included_entry { $$ = $1; }
-       | includeslist included_entry { $$ = linku1($1, $2); }
+includeslist : included_entry SEMI { $$ = $1; }
+       | includeslist included_entry SEMI { $$ = linku1($1, $2); }
        | includeslist error {$$=$1;}
        ;