includedname is just a regular word_or_default name,
authorLuigi Rizzo <rizzo@icir.org>
Tue, 2 May 2006 17:58:57 +0000 (17:58 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Tue, 2 May 2006 17:58:57 +0000 (17:58 +0000)
no need for a separate nonterminal

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24219 65c4cc65-6c06-0410-ace0-fbb531ad65f3

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

index 8268dd6..a34cdc7 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   505
+#define YYLAST   492
 
 /* YYNTOKENS -- Number of terminals. */
 #define YYNTOKENS  42
 /* YYNNTS -- Number of nonterminals. */
-#define YYNNTS  58
+#define YYNNTS  57
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  150
+#define YYNRULES  148
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  340
+#define YYNSTATES  338
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -492,8 +492,7 @@ static const unsigned short int yyprhs[] =
      405,   411,   415,   416,   420,   424,   427,   429,   430,   432,
      433,   437,   439,   442,   447,   451,   456,   460,   463,   467,
      469,   472,   474,   480,   483,   486,   490,   493,   496,   500,
-     503,   506,   521,   532,   536,   552,   564,   567,   569,   571,
-     576
+     503,   506,   521,   532,   536,   552,   564,   567,   572
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -510,7 +509,7 @@ static const yysigned_char yyrhs[] =
        1,    -1,    -1,    41,     9,    53,    41,     8,    -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,    60,    -1,    99,    -1,    93,
+      57,    -1,    56,     1,    -1,    60,    -1,    98,    -1,    93,
       -1,    94,    -1,    59,    -1,    -1,    41,     9,    58,    41,
        8,    -1,    41,     1,    -1,     8,    -1,    17,    24,    41,
        8,    -1,    41,    24,    72,    -1,    30,    41,    24,    72,
@@ -549,35 +548,34 @@ static const yysigned_char yyrhs[] =
       92,    -1,    72,    -1,    37,    41,     4,    61,     5,    -1,
       38,    95,    -1,    39,    95,    -1,     4,    96,     5,    -1,
        4,     5,    -1,    41,     8,    -1,    96,    41,     8,    -1,
-      96,     1,    -1,    98,     8,    -1,    98,    13,    68,    11,
+      96,     1,    -1,    46,     8,    -1,    46,    13,    68,    11,
       68,    11,    68,    13,    68,    13,    68,    13,    68,     8,
-      -1,    98,    13,    41,    13,    68,    13,    68,    13,    68,
-       8,    -1,    97,    98,     8,    -1,    97,    98,    13,    68,
+      -1,    46,    13,    41,    13,    68,    13,    68,    13,    68,
+       8,    -1,    97,    46,     8,    -1,    97,    46,    13,    68,
       11,    68,    11,    68,    13,    68,    13,    68,    13,    68,
-       8,    -1,    97,    98,    13,    41,    13,    68,    13,    68,
-      13,    68,     8,    -1,    97,     1,    -1,    41,    -1,    36,
-      -1,    40,     4,    97,     5,    -1,    40,     4,     5,    -1
+       8,    -1,    97,    46,    13,    41,    13,    68,    13,    68,
+      13,    68,     8,    -1,    97,     1,    -1,    40,     4,    97,
+       5,    -1,    40,     4,     5,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short int yyrline[] =
 {
-       0,   176,   176,   179,   180,   181,   184,   185,   186,   187,
-     190,   191,   194,   202,   203,   206,   209,   212,   216,   221,
-     224,   228,   229,   230,   233,   233,   239,   240,   241,   244,
-     245,   248,   249,   250,   251,   254,   255,   256,   257,   258,
-     259,   259,   263,   264,   267,   272,   276,   281,   286,   295,
-     296,   297,   300,   300,   305,   305,   310,   323,   339,   340,
-     347,   348,   353,   361,   362,   366,   372,   372,   380,   383,
-     383,   387,   390,   393,   396,   397,   398,   396,   404,   404,
-     408,   410,   413,   415,   417,   420,   420,   453,   454,   455,
-     456,   460,   464,   468,   471,   472,   477,   478,   481,   484,
-     488,   492,   496,   503,   506,   509,   513,   517,   521,   527,
-     527,   532,   540,   540,   551,   558,   561,   562,   565,   566,
-     569,   572,   573,   576,   580,   584,   588,   591,   594,   599,
-     600,   603,   604,   610,   615,   620,   621,   624,   625,   626,
-     629,   630,   643,   651,   652,   666,   677,   680,   681,   684,
-     687
+       0,   175,   175,   178,   179,   180,   183,   184,   185,   186,
+     189,   190,   193,   201,   202,   205,   208,   211,   215,   220,
+     223,   227,   228,   229,   232,   232,   238,   239,   240,   243,
+     244,   247,   248,   249,   250,   253,   254,   255,   256,   257,
+     258,   258,   262,   263,   266,   271,   275,   280,   285,   294,
+     295,   296,   299,   299,   304,   304,   309,   322,   338,   339,
+     346,   347,   352,   360,   361,   365,   371,   371,   379,   382,
+     382,   386,   389,   392,   395,   396,   397,   395,   403,   403,
+     407,   409,   412,   414,   416,   419,   419,   452,   453,   454,
+     455,   459,   463,   467,   470,   471,   476,   477,   480,   483,
+     487,   491,   495,   502,   505,   508,   512,   516,   520,   526,
+     526,   531,   539,   539,   550,   557,   560,   561,   564,   565,
+     568,   571,   572,   575,   579,   583,   587,   590,   593,   598,
+     599,   602,   603,   609,   614,   619,   620,   623,   624,   625,
+     628,   629,   642,   650,   651,   665,   676,   679,   682
 };
 #endif
 
@@ -603,7 +601,7 @@ static const char *const yytname[] =
   "@13", "application_call", "opt_word", "eval_arglist", "case_statements",
   "case_statement", "macro_statements", "macro_statement", "switches",
   "eswitches", "switchlist_block", "switchlist", "includeslist",
-  "includedname", "includes", 0
+  "includes", 0
 };
 #endif
 
@@ -637,8 +635,7 @@ static const unsigned char yyr1[] =
       82,    82,    85,    84,    86,    86,    87,    87,    88,    88,
       88,    89,    89,    90,    90,    90,    90,    90,    90,    91,
       91,    92,    92,    93,    94,    95,    95,    96,    96,    96,
-      97,    97,    97,    97,    97,    97,    97,    98,    98,    99,
-      99
+      97,    97,    97,    97,    97,    97,    97,    98,    98
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -658,8 +655,7 @@ static const unsigned char yyr2[] =
        5,     3,     0,     3,     3,     2,     1,     0,     1,     0,
        3,     1,     2,     4,     3,     4,     3,     2,     3,     1,
        2,     1,     5,     2,     2,     3,     2,     2,     3,     2,
-       2,    14,    10,     3,    15,    11,     2,     1,     1,     4,
-       3
+       2,    14,    10,     3,    15,    11,     2,     4,     3
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -682,88 +678,88 @@ static const unsigned char yydefact[] =
      112,    84,    69,    73,    95,    95,    95,    80,     0,     0,
        0,     0,   121,   115,    58,   118,     0,    83,    85,    17,
      130,    16,     0,    25,     0,     0,     0,    60,     0,   136,
-       0,     0,   150,   148,   147,     0,     0,     0,    45,    51,
-      68,    50,   109,    82,     0,     0,    60,     0,     0,     0,
-       0,     0,    64,     0,     0,    71,     0,     0,    72,     0,
-       0,     0,   113,     0,     0,    91,    90,    92,     0,     0,
-     127,    81,   122,    59,   114,   117,     0,    15,    44,     0,
-      46,    61,     0,   137,   139,   135,     0,   146,   149,     0,
-     140,     0,     0,   111,   119,     0,     0,     0,     0,     0,
-       0,     0,    65,    98,    97,    63,   104,   108,   106,     0,
-       0,     0,     0,    94,   126,   128,     0,   116,   120,     0,
-       0,    62,     0,   138,   143,     0,    60,     0,    41,     0,
-       0,    53,     0,     0,    55,     0,     0,     0,     0,     0,
-      75,     0,   132,    70,     0,     0,    86,     0,     0,    60,
-       0,     0,     0,   110,    67,     0,     0,   102,   101,   100,
-      99,   107,   105,     0,    79,     0,    47,     0,     0,     0,
-       0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
-       0,    76,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    57,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   142,     0,     0,    77,   145,     0,
-       0,     0,     0,     0,    56,     0,     0,     0,   141,   144
+       0,     0,   148,     0,     0,     0,    45,    51,    68,    50,
+     109,    82,     0,     0,    60,     0,     0,     0,     0,     0,
+      64,     0,     0,    71,     0,     0,    72,     0,     0,     0,
+     113,     0,     0,    91,    90,    92,     0,     0,   127,    81,
+     122,    59,   114,   117,     0,    15,    44,     0,    46,    61,
+       0,   137,   139,   135,     0,   140,     0,   146,   147,     0,
+       0,   111,   119,     0,     0,     0,     0,     0,     0,     0,
+      65,    98,    97,    63,   104,   108,   106,     0,     0,     0,
+       0,    94,   126,   128,     0,   116,   120,     0,     0,    62,
+       0,   138,    60,     0,   143,     0,    41,     0,     0,    53,
+       0,     0,    55,     0,     0,     0,     0,     0,    75,     0,
+     132,    70,     0,     0,    86,     0,     0,     0,     0,    60,
+       0,   110,    67,     0,     0,   102,   101,   100,    99,   107,
+     105,     0,    79,     0,    47,     0,     0,     0,     0,     0,
+       0,     0,    48,     0,     0,     0,     0,     0,     0,    76,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    57,     0,     0,     0,     0,     0,     0,     0,     0,
+     142,     0,     0,     0,     0,    77,     0,   145,     0,     0,
+       0,     0,    56,     0,     0,   141,     0,   144
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short int yydefgoto[] =
 {
       -1,     5,     6,     7,    25,     8,     9,    10,    11,    21,
-      22,    39,    28,    34,    50,    51,   157,    52,    53,   100,
-      74,   165,    75,   168,    76,   135,   148,   110,    77,   164,
-     101,   183,   179,   283,   308,   180,   196,   185,   111,   113,
-     103,   214,    79,   182,    80,   238,   136,   131,   132,    81,
-      82,    54,    55,    91,   151,   155,   156,    56
+      22,    39,    28,    34,    50,    51,   155,    52,    53,   100,
+      74,   163,    75,   166,    76,   135,   148,   110,    77,   162,
+     101,   181,   177,   281,   306,   178,   194,   183,   111,   113,
+     103,   212,    79,   180,    80,   236,   136,   131,   132,    81,
+      82,    54,    55,    91,   151,   154,    56
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -180
+#define YYPACT_NINF -175
 static const short int yypact[] =
 {
-     132,  -180,   -31,    19,  -180,    76,   105,  -180,  -180,    77,
-    -180,  -180,    10,     8,  -180,  -180,  -180,    73,    11,  -180,
-     103,     3,  -180,  -180,  -180,   112,   133,  -180,    20,  -180,
-    -180,  -180,  -180,   283,  -180,   360,  -180,   139,   116,   117,
-    -180,  -180,  -180,    94,   -16,   138,   160,   160,   161,    95,
-     336,  -180,  -180,  -180,  -180,  -180,  -180,   464,  -180,  -180,
-     131,   167,   168,   178,   179,    74,   145,   171,   180,   181,
-     184,   185,   146,    25,   464,   464,   464,    23,  -180,    12,
-      81,   386,  -180,   412,  -180,   187,   151,   191,   174,   158,
-       9,  -180,  -180,     1,  -180,  -180,   464,  -180,  -180,  -180,
-     277,  -180,   194,   199,  -180,  -180,   169,  -180,    16,    13,
-      22,   207,    56,   208,  -180,  -180,  -180,  -180,  -180,   198,
-    -180,  -180,  -180,  -180,   200,   200,   200,  -180,   183,   186,
-     214,    63,  -180,  -180,   193,  -180,   124,  -180,  -180,  -180,
-    -180,  -180,   438,  -180,   211,   158,   464,   195,   221,  -180,
-     229,     4,  -180,  -180,  -180,     2,   114,   197,  -180,  -180,
-    -180,  -180,   235,  -180,   204,   205,    60,   237,   205,   145,
-     145,   212,  -180,   145,   145,  -180,   213,   100,  -180,   215,
-     219,   464,  -180,   222,   464,  -180,  -180,  -180,   238,   241,
-     464,  -180,  -180,  -180,  -180,   228,   236,  -180,  -180,   248,
-    -180,   242,   246,  -180,  -180,  -180,   254,  -180,  -180,   137,
-    -180,   249,   262,  -180,   205,   269,   272,   158,   158,   285,
-     284,   280,  -180,   288,   294,     6,  -180,  -180,  -180,   293,
-     309,   307,   312,  -180,   464,   464,    59,  -180,  -180,   320,
-     276,  -180,   306,  -180,  -180,   290,    61,   327,  -180,   173,
-     338,  -180,   330,   334,  -180,   145,   145,   145,   145,   135,
-    -180,   464,  -180,  -180,   134,   239,  -180,   322,   464,    62,
-     339,   158,   158,  -180,  -180,   158,   158,  -180,  -180,  -180,
-    -180,  -180,  -180,   308,  -180,   464,  -180,   158,   158,   341,
-     340,   342,   343,   344,  -180,   345,   346,   158,   158,   158,
-     158,  -180,   158,   158,   347,   348,   352,   349,   328,   350,
-     357,   158,   158,  -180,   158,   364,   158,   158,   365,   368,
-     370,   464,   376,   382,  -180,   158,   158,  -180,  -180,   158,
-     383,   392,   387,   158,  -180,   158,   394,   395,  -180,  -180
+      70,  -175,   -31,    15,  -175,    32,   152,  -175,  -175,    68,
+    -175,  -175,    82,     4,  -175,  -175,  -175,    55,     9,  -175,
+      83,     3,  -175,  -175,  -175,    90,   101,  -175,    20,  -175,
+    -175,  -175,  -175,   140,  -175,   347,  -175,   136,   132,   133,
+    -175,  -175,  -175,   164,   -18,   183,   186,   186,   187,    11,
+     297,  -175,  -175,  -175,  -175,  -175,  -175,   451,  -175,  -175,
+     151,   189,   192,   194,   195,    95,   163,   185,   197,   200,
+     203,   204,   172,    25,   451,   451,   451,    74,  -175,    10,
+     141,   373,  -175,   399,  -175,   206,   174,   212,   196,   178,
+       6,  -175,  -175,     1,  -175,  -175,   451,  -175,  -175,  -175,
+     291,  -175,   216,   215,  -175,  -175,   188,  -175,    16,    14,
+      91,   224,     8,   226,  -175,  -175,  -175,  -175,  -175,   231,
+    -175,  -175,  -175,  -175,   217,   217,   217,  -175,   199,   201,
+     225,    98,  -175,  -175,   208,  -175,   154,  -175,  -175,  -175,
+    -175,  -175,   425,  -175,   233,   178,   451,   209,   244,  -175,
+     245,    23,  -175,   129,     2,   211,  -175,  -175,  -175,  -175,
+     248,  -175,   218,   219,    56,   251,   219,   163,   163,   222,
+    -175,   163,   163,  -175,   223,   102,  -175,   227,   228,   451,
+    -175,   229,   451,  -175,  -175,  -175,   255,   256,   451,  -175,
+    -175,  -175,  -175,   235,   236,  -175,  -175,   249,  -175,   242,
+     250,  -175,  -175,  -175,   266,  -175,   252,  -175,  -175,   131,
+     282,  -175,   219,   290,   293,   178,   178,   294,   296,   295,
+    -175,   302,   308,    76,  -175,  -175,  -175,   299,   323,   321,
+     307,  -175,   451,   451,    48,  -175,  -175,   326,   263,  -175,
+     318,  -175,    59,   320,  -175,   303,  -175,   162,   341,  -175,
+     343,   346,  -175,   163,   163,   163,   163,   115,  -175,   451,
+    -175,  -175,    94,   253,  -175,   334,   451,   178,   178,   105,
+     349,  -175,  -175,   178,   178,  -175,  -175,  -175,  -175,  -175,
+    -175,   322,  -175,   451,  -175,   348,   353,   178,   178,   355,
+     357,   363,  -175,   178,   178,   369,   372,   178,   178,  -175,
+     374,   376,   178,   178,   379,   377,   356,   178,   178,   381,
+     383,  -175,   178,   401,   404,   396,   178,   178,   400,   451,
+    -175,   178,   407,   403,   178,  -175,   409,  -175,   178,   413,
+     178,   410,  -175,   426,   178,  -175,   427,  -175
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short int yypgoto[] =
 {
-    -180,  -180,  -180,   401,  -180,  -180,  -180,  -180,  -180,  -180,
-     326,  -180,  -180,  -180,  -180,   359,  -180,  -180,  -180,  -179,
-    -180,  -180,  -180,  -180,  -180,   -96,   -94,   -44,  -180,  -180,
-     -35,  -180,  -180,  -180,  -180,  -180,  -180,   -43,  -180,  -180,
-    -180,  -180,  -180,  -180,  -180,  -180,   196,  -180,   291,   353,
-     -80,  -180,  -180,   374,  -180,  -180,   270,  -180
+    -175,  -175,  -175,   432,   -92,  -175,  -175,  -175,  -175,  -175,
+     418,  -175,  -175,  -175,  -175,   391,  -175,  -175,  -175,  -174,
+    -175,  -175,  -175,  -175,  -175,    21,   -91,    -9,  -175,  -175,
+     -35,  -175,  -175,  -175,  -175,  -175,  -175,    60,  -175,  -175,
+    -175,  -175,  -175,  -175,  -175,  -175,   230,  -175,   315,   365,
+     -79,  -175,  -175,   402,  -175,  -175,  -175
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -773,112 +769,110 @@ static const short int yypgoto[] =
 #define YYTABLE_NINF -126
 static const short int yytable[] =
 {
-      78,   140,   231,   207,    30,   204,   152,   208,    31,   205,
-      12,   236,   167,    19,   149,    87,    18,   171,    26,   133,
-     259,    36,   112,    13,   171,    88,   169,    37,   127,   170,
-      38,   120,   173,   121,   122,   174,   123,   153,   153,   124,
-     125,   126,   154,   154,    20,   206,    78,   172,    78,    20,
-     150,   199,    27,   134,   172,   264,   265,   128,   129,   130,
-     159,   158,   140,    57,  -124,   161,   176,    59,   191,   216,
-     177,    60,   219,   217,   271,   287,    14,    61,    62,    63,
-      17,    64,   186,   187,    65,    66,    67,    68,    69,   137,
-     138,    70,    71,  -124,  -124,  -124,    94,   128,   129,   130,
-      73,   201,   201,   201,    95,    -2,    15,    78,   -14,    23,
-     108,   200,    29,     1,    24,   109,    33,   247,    86,    96,
-       2,     3,   210,   252,   253,   220,   221,   211,     4,   223,
-     224,   194,   226,   228,   195,   159,   227,    35,    57,  -123,
-       1,   109,    59,    83,    89,   244,    60,     2,     3,   233,
-     245,   270,    61,    62,    63,     4,    64,    84,    85,    65,
-      66,    67,    68,    69,    90,    93,    70,    71,  -123,  -123,
-    -123,   281,   102,   104,   105,    73,   282,   289,   290,   114,
-     273,   291,   292,   195,   106,   107,   109,   119,   115,   116,
-     117,   118,   144,   295,   296,   143,   161,   145,   146,   147,
-     162,   161,   181,   304,   305,   306,   307,   163,   309,   310,
-     166,   277,   278,   279,   280,   175,   178,   318,   319,   198,
-     320,   184,   322,   323,   188,   190,   284,   189,   202,   161,
-     161,   330,   331,   286,   193,   332,   201,   203,   212,   336,
-     159,   337,   213,    57,  -125,   215,   134,    59,   218,   234,
-     294,    60,   235,   222,   225,   240,   229,    61,    62,    63,
-     230,    64,   243,   232,    65,    66,    67,    68,    69,   237,
-     248,    70,    71,  -125,  -125,  -125,   250,   239,   159,   251,
-      73,    57,   160,   241,    40,    59,   327,   242,    41,    60,
-     246,    42,   254,   256,   255,    61,    62,    63,   257,    64,
-      43,   260,    65,    66,    67,    68,    69,   258,   159,    70,
-      71,    57,   262,    44,    45,    59,   261,   267,    73,    60,
-     263,    46,    47,    48,    49,    61,    62,    63,   266,    64,
-     268,   269,    65,    66,    67,    68,    69,    97,   272,    70,
-      71,    98,   274,   275,    42,   276,   285,    32,    73,   293,
-     288,   298,   301,    43,   297,   299,   300,   303,   302,   313,
-     311,   312,   314,   316,    57,    58,    44,    45,    59,   315,
-     317,   321,    60,   324,    46,    47,    48,    49,    61,    62,
-      63,   325,    64,   326,   328,    65,    66,    67,    68,    69,
-      57,   139,    70,    71,    59,   329,   333,    72,    60,   334,
-     335,    73,   338,   339,    61,    62,    63,    16,    64,    99,
-     249,    65,    66,    67,    68,    69,    57,   141,    70,    71,
-      59,    92,   192,    72,    60,   209,     0,    73,     0,     0,
-      61,    62,    63,     0,    64,     0,   142,    65,    66,    67,
-      68,    69,    57,   197,    70,    71,    59,     0,     0,    72,
-      60,     0,     0,    73,     0,     0,    61,    62,    63,     0,
-      64,     0,     0,    65,    66,    67,    68,    69,    57,     0,
-      70,    71,    59,     0,     0,    72,    60,     0,     0,    73,
-       0,     0,    61,    62,    63,     0,    64,     0,     0,    65,
-      66,    67,    68,    69,     0,     0,    70,    71,     0,     0,
-       0,     0,     0,     0,     0,    73
+      78,   153,   140,   207,    30,   229,   152,   208,    31,    19,
+      12,   149,    94,    87,   234,   165,    26,   133,   174,    13,
+      95,    36,   175,    88,   202,   169,   167,    37,   203,   168,
+      38,   120,    14,   121,   122,    96,   123,    23,    23,   124,
+     125,   126,    24,    24,    20,    20,    78,   150,    78,   157,
+      27,   134,    57,  -124,   197,   170,    59,   112,   262,   263,
+      60,   156,   209,   140,   204,   159,    61,    62,    63,   215,
+      64,    17,   267,    65,    66,    67,    68,    69,     1,   127,
+      70,    71,  -124,  -124,  -124,     2,     3,   169,    18,    73,
+     257,    23,    29,     4,    33,   157,    24,   199,    57,  -123,
+     199,   171,    59,   189,   172,    35,    60,    78,   128,   129,
+     130,   198,    61,    62,    63,   243,    64,   170,   287,    65,
+      66,    67,    68,    69,   250,   251,    70,    71,  -123,  -123,
+    -123,   108,   128,   129,   130,    73,   109,   205,   225,   244,
+      83,    40,   206,   109,   245,    41,   199,   231,    42,   137,
+     138,   279,    -2,    15,   270,   -14,   280,    43,   218,   219,
+       1,   192,   221,   222,   193,   224,   226,     2,     3,   271,
+      44,    45,   193,    84,    85,     4,   285,   286,    46,    47,
+      48,    49,   289,   290,   214,   184,   185,   217,    86,    89,
+      90,    93,   102,   114,   159,   104,   295,   296,   105,   159,
+     106,   107,   300,   301,   109,   115,   304,   305,   116,   117,
+     118,   309,   310,   119,   143,   144,   314,   315,   145,   147,
+     146,   318,   160,   161,   282,   322,   323,   159,   159,   164,
+     326,   284,   173,   329,   176,   179,   188,   331,   182,   333,
+     186,   196,   187,   336,   275,   276,   277,   278,   292,   191,
+     199,   200,   210,   201,   157,   211,   238,    57,  -125,   213,
+     134,    59,   216,   220,   223,    60,   232,   233,   227,   228,
+     230,    61,    62,    63,   241,    64,   235,   237,    65,    66,
+      67,    68,    69,   239,   325,    70,    71,  -125,  -125,  -125,
+     246,   240,   157,   242,    73,    57,   158,   248,    97,    59,
+     249,   252,    98,    60,   265,    42,   253,   258,   254,    61,
+      62,    63,   255,    64,    43,   261,    65,    66,    67,    68,
+      69,   256,   157,    70,    71,    57,   260,    44,    45,    59,
+     259,   268,    73,    60,   264,    46,    47,    48,    49,    61,
+      62,    63,   266,    64,   269,   272,    65,    66,    67,    68,
+      69,    57,    58,    70,    71,    59,   273,   274,   283,    60,
+     288,   293,    73,   291,   294,    61,    62,    63,   297,    64,
+     298,   299,    65,    66,    67,    68,    69,    57,   139,    70,
+      71,    59,   302,   303,    72,    60,   311,   307,    73,   308,
+     312,    61,    62,    63,   316,    64,   317,   313,    65,    66,
+      67,    68,    69,    57,   141,    70,    71,    59,   319,   321,
+      72,    60,   320,   324,    73,   327,   328,    61,    62,    63,
+     332,    64,   330,   334,    65,    66,    67,    68,    69,    57,
+     195,    70,    71,    59,   335,   337,    72,    60,    16,    32,
+      73,    99,   247,    61,    62,    63,   190,    64,   142,    92,
+      65,    66,    67,    68,    69,    57,     0,    70,    71,    59,
+       0,     0,    72,    60,     0,     0,    73,     0,     0,    61,
+      62,    63,     0,    64,     0,     0,    65,    66,    67,    68,
+      69,     0,     0,    70,    71,     0,     0,     0,     0,     0,
+       0,     0,    73
 };
 
 static const short int yycheck[] =
 {
-      35,    81,   181,     1,     1,     1,     5,     5,     5,     5,
-      41,   190,   106,     5,     5,    31,     6,    11,     7,     7,
-      14,     1,    66,     4,    11,    41,    10,     7,     5,    13,
-      10,     6,    10,     8,     9,    13,    11,    36,    36,    74,
-      75,    76,    41,    41,    41,    41,    81,    41,    83,    41,
-      41,   145,    41,    41,    41,   234,   235,    34,    35,    36,
-       1,    96,   142,     4,     5,   100,    10,     8,     5,   165,
-      14,    12,   168,    13,    13,    13,     0,    18,    19,    20,
-       3,    22,   125,   126,    25,    26,    27,    28,    29,     8,
-       9,    32,    33,    34,    35,    36,     1,    34,    35,    36,
-      41,    41,    41,    41,     9,     0,     1,   142,     3,    36,
-      36,   146,     9,     8,    41,    41,     4,   211,    24,    24,
-      15,    16,     8,   217,   218,   169,   170,    13,    23,   173,
-     174,     7,   176,   177,    10,     1,    36,     4,     4,     5,
-       8,    41,     8,     4,     6,     8,    12,    15,    16,   184,
-      13,   245,    18,    19,    20,    23,    22,    41,    41,    25,
-      26,    27,    28,    29,     4,     4,    32,    33,    34,    35,
-      36,    36,    41,     6,     6,    41,    41,   271,   272,     8,
-       7,   275,   276,    10,     6,     6,    41,    41,     8,     8,
-       6,     6,    41,   287,   288,     8,   231,     6,    24,    41,
-       6,   236,     4,   297,   298,   299,   300,     8,   302,   303,
-      41,   255,   256,   257,   258,     8,     8,   311,   312,     8,
-     314,    21,   316,   317,    41,    11,   261,    41,     7,   264,
-     265,   325,   326,   268,    41,   329,    41,     8,    41,   333,
-       1,   335,     7,     4,     5,    41,    41,     8,    11,    11,
-     285,    12,    11,    41,    41,     7,    41,    18,    19,    20,
-      41,    22,     8,    41,    25,    26,    27,    28,    29,    41,
-       8,    32,    33,    34,    35,    36,     7,    41,     1,     7,
-      41,     4,     5,    41,     1,     8,   321,    41,     5,    12,
-      41,     8,     7,    13,    10,    18,    19,    20,    10,    22,
-      17,     8,    25,    26,    27,    28,    29,    13,     1,    32,
-      33,     4,     5,    30,    31,     8,     7,    41,    41,    12,
-       8,    38,    39,    40,    41,    18,    19,    20,     8,    22,
-      24,    41,    25,    26,    27,    28,    29,     1,    11,    32,
-      33,     5,     4,    13,     8,    11,    24,    21,    41,    41,
-      11,    11,     8,    17,    13,    13,    13,    11,    13,     7,
-      13,    13,    13,    13,     4,     5,    30,    31,     8,    41,
-      13,     7,    12,     8,    38,    39,    40,    41,    18,    19,
-      20,    13,    22,    13,     8,    25,    26,    27,    28,    29,
-       4,     5,    32,    33,     8,    13,    13,    37,    12,     7,
-      13,    41,     8,     8,    18,    19,    20,     6,    22,    50,
-     214,    25,    26,    27,    28,    29,     4,     5,    32,    33,
-       8,    47,   131,    37,    12,   155,    -1,    41,    -1,    -1,
-      18,    19,    20,    -1,    22,    -1,    83,    25,    26,    27,
-      28,    29,     4,     5,    32,    33,     8,    -1,    -1,    37,
-      12,    -1,    -1,    41,    -1,    -1,    18,    19,    20,    -1,
-      22,    -1,    -1,    25,    26,    27,    28,    29,     4,    -1,
-      32,    33,     8,    -1,    -1,    37,    12,    -1,    -1,    41,
-      -1,    -1,    18,    19,    20,    -1,    22,    -1,    -1,    25,
-      26,    27,    28,    29,    -1,    -1,    32,    33,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    41
+      35,    93,    81,     1,     1,   179,     5,     5,     5,     5,
+      41,     5,     1,    31,   188,   106,     7,     7,    10,     4,
+       9,     1,    14,    41,     1,    11,    10,     7,     5,    13,
+      10,     6,     0,     8,     9,    24,    11,    36,    36,    74,
+      75,    76,    41,    41,    41,    41,    81,    41,    83,     1,
+      41,    41,     4,     5,   145,    41,     8,    66,   232,   233,
+      12,    96,   154,   142,    41,   100,    18,    19,    20,    13,
+      22,     3,    13,    25,    26,    27,    28,    29,     8,     5,
+      32,    33,    34,    35,    36,    15,    16,    11,     6,    41,
+      14,    36,     9,    23,     4,     1,    41,    41,     4,     5,
+      41,    10,     8,     5,    13,     4,    12,   142,    34,    35,
+      36,   146,    18,    19,    20,   206,    22,    41,    13,    25,
+      26,    27,    28,    29,   215,   216,    32,    33,    34,    35,
+      36,    36,    34,    35,    36,    41,    41,     8,    36,     8,
+       4,     1,    13,    41,    13,     5,    41,   182,     8,     8,
+       9,    36,     0,     1,   245,     3,    41,    17,   167,   168,
+       8,     7,   171,   172,    10,   174,   175,    15,    16,     7,
+      30,    31,    10,    41,    41,    23,   267,   268,    38,    39,
+      40,    41,   273,   274,   163,   125,   126,   166,    24,     6,
+       4,     4,    41,     8,   229,     6,   287,   288,     6,   234,
+       6,     6,   293,   294,    41,     8,   297,   298,     8,     6,
+       6,   302,   303,    41,     8,    41,   307,   308,     6,    41,
+      24,   312,     6,     8,   259,   316,   317,   262,   263,    41,
+     321,   266,     8,   324,     8,     4,    11,   328,    21,   330,
+      41,     8,    41,   334,   253,   254,   255,   256,   283,    41,
+      41,     7,    41,     8,     1,     7,     7,     4,     5,    41,
+      41,     8,    11,    41,    41,    12,    11,    11,    41,    41,
+      41,    18,    19,    20,     8,    22,    41,    41,    25,    26,
+      27,    28,    29,    41,   319,    32,    33,    34,    35,    36,
+       8,    41,     1,    41,    41,     4,     5,     7,     1,     8,
+       7,     7,     5,    12,    41,     8,    10,     8,    13,    18,
+      19,    20,    10,    22,    17,     8,    25,    26,    27,    28,
+      29,    13,     1,    32,    33,     4,     5,    30,    31,     8,
+       7,    11,    41,    12,     8,    38,    39,    40,    41,    18,
+      19,    20,    24,    22,    41,     4,    25,    26,    27,    28,
+      29,     4,     5,    32,    33,     8,    13,    11,    24,    12,
+      11,    13,    41,    41,    11,    18,    19,    20,    13,    22,
+      13,     8,    25,    26,    27,    28,    29,     4,     5,    32,
+      33,     8,    13,    11,    37,    12,     7,    13,    41,    13,
+      13,    18,    19,    20,    13,    22,    13,    41,    25,    26,
+      27,    28,    29,     4,     5,    32,    33,     8,     7,    13,
+      37,    12,     8,    13,    41,     8,    13,    18,    19,    20,
+       7,    22,    13,    13,    25,    26,    27,    28,    29,     4,
+       5,    32,    33,     8,     8,     8,    37,    12,     6,    21,
+      41,    50,   212,    18,    19,    20,   131,    22,    83,    47,
+      25,    26,    27,    28,    29,     4,    -1,    32,    33,     8,
+      -1,    -1,    37,    12,    -1,    -1,    41,    -1,    -1,    18,
+      19,    20,    -1,    22,    -1,    -1,    25,    26,    27,    28,
+      29,    -1,    -1,    32,    33,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    41
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -890,7 +884,7 @@ static const unsigned char yystos[] =
       41,    51,    52,    36,    41,    46,     7,    41,    54,     9,
        1,     5,    52,     4,    55,     4,     1,     7,    10,    53,
        1,     5,     8,    17,    30,    31,    38,    39,    40,    41,
-      56,    57,    59,    60,    93,    94,    99,     4,     5,     8,
+      56,    57,    59,    60,    93,    94,    98,     4,     5,     8,
       12,    18,    19,    20,    22,    25,    26,    27,    28,    29,
       32,    33,    37,    41,    62,    64,    66,    70,    72,    84,
       86,    91,    92,     4,    41,    41,    24,    31,    41,     6,
@@ -900,25 +894,25 @@ static const unsigned char yystos[] =
        6,     8,     9,    11,    72,    72,    72,     5,    34,    35,
       36,    89,    90,     7,    41,    67,    88,     8,     9,     5,
       92,     5,    91,     8,    41,     6,    24,    41,    68,     5,
-      41,    96,     5,    36,    41,    97,    98,    58,    72,     1,
-       5,    72,     6,     8,    71,    63,    41,    68,    65,    10,
-      13,    11,    41,    10,    13,     8,    10,    14,     8,    74,
-      77,     4,    85,    73,    21,    79,    79,    79,    41,    41,
-      11,     5,    90,    41,     7,    10,    78,     5,     8,    68,
-      72,    41,     7,     8,     1,     5,    41,     1,     5,    98,
-       8,    13,    41,     7,    83,    41,    67,    13,    11,    67,
-      69,    69,    41,    69,    69,    41,    69,    36,    69,    41,
-      41,    61,    41,    72,    11,    11,    61,    41,    87,    41,
-       7,    41,    41,     8,     8,    13,    41,    68,     8,    88,
-       7,     7,    68,    68,     7,    10,    13,    10,    13,    14,
-       8,     7,     5,     8,    61,    61,     8,    41,    24,    41,
-      68,    13,    11,     7,     4,    13,    11,    69,    69,    69,
-      69,    36,    41,    75,    72,    24,    72,    13,    11,    68,
-      68,    68,    68,    41,    72,    68,    68,    13,    11,    13,
-      13,     8,    13,    11,    68,    68,    68,    68,    76,    68,
-      68,    13,    13,     7,    13,    41,    13,    13,    68,    68,
-      68,     7,    68,    68,     8,    13,    13,    72,     8,    13,
-      68,    68,    68,    13,     7,    13,    68,    68,     8,     8
+      41,    96,     5,    46,    97,    58,    72,     1,     5,    72,
+       6,     8,    71,    63,    41,    68,    65,    10,    13,    11,
+      41,    10,    13,     8,    10,    14,     8,    74,    77,     4,
+      85,    73,    21,    79,    79,    79,    41,    41,    11,     5,
+      90,    41,     7,    10,    78,     5,     8,    68,    72,    41,
+       7,     8,     1,     5,    41,     8,    13,     1,     5,    46,
+      41,     7,    83,    41,    67,    13,    11,    67,    69,    69,
+      41,    69,    69,    41,    69,    36,    69,    41,    41,    61,
+      41,    72,    11,    11,    61,    41,    87,    41,     7,    41,
+      41,     8,    41,    68,     8,    13,     8,    88,     7,     7,
+      68,    68,     7,    10,    13,    10,    13,    14,     8,     7,
+       5,     8,    61,    61,     8,    41,    24,    13,    11,    41,
+      68,     7,     4,    13,    11,    69,    69,    69,    69,    36,
+      41,    75,    72,    24,    72,    68,    68,    13,    11,    68,
+      68,    41,    72,    13,    11,    68,    68,    13,    13,     8,
+      68,    68,    13,    11,    68,    68,    76,    13,    13,    68,
+      68,     7,    13,    41,    68,    68,    13,    13,    68,     7,
+       8,    13,    68,    68,    13,    72,    68,     8,    13,    68,
+      13,    68,     7,    68,    13,     8,    68,     8
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -1294,327 +1288,322 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
   switch (yytype)
     {
       case 41: /* "word" */
-#line 171 "ael.y"
+#line 170 "ael.y"
         { free((yyvaluep->str));};
-#line 1300 "ael.tab.c"
+#line 1294 "ael.tab.c"
         break;
       case 44: /* "objects" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1308 "ael.tab.c"
+#line 1302 "ael.tab.c"
         break;
       case 45: /* "object" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1316 "ael.tab.c"
+#line 1310 "ael.tab.c"
         break;
       case 46: /* "word_or_default" */
-#line 171 "ael.y"
+#line 170 "ael.y"
         { free((yyvaluep->str));};
-#line 1321 "ael.tab.c"
+#line 1315 "ael.tab.c"
         break;
       case 47: /* "context" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1329 "ael.tab.c"
+#line 1323 "ael.tab.c"
         break;
       case 49: /* "macro" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1337 "ael.tab.c"
+#line 1331 "ael.tab.c"
         break;
       case 50: /* "globals" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1345 "ael.tab.c"
+#line 1339 "ael.tab.c"
         break;
       case 51: /* "global_statements" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1353 "ael.tab.c"
+#line 1347 "ael.tab.c"
         break;
       case 52: /* "global_statement" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1361 "ael.tab.c"
+#line 1355 "ael.tab.c"
         break;
       case 54: /* "arglist" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1369 "ael.tab.c"
+#line 1363 "ael.tab.c"
         break;
       case 55: /* "elements_block" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1377 "ael.tab.c"
+#line 1371 "ael.tab.c"
         break;
       case 56: /* "elements" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1385 "ael.tab.c"
+#line 1379 "ael.tab.c"
         break;
       case 57: /* "element" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1393 "ael.tab.c"
+#line 1387 "ael.tab.c"
         break;
       case 59: /* "ignorepat" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1401 "ael.tab.c"
+#line 1395 "ael.tab.c"
         break;
       case 60: /* "extension" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1409 "ael.tab.c"
+#line 1403 "ael.tab.c"
         break;
       case 61: /* "statements" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1417 "ael.tab.c"
+#line 1411 "ael.tab.c"
         break;
       case 62: /* "if_head" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1425 "ael.tab.c"
+#line 1419 "ael.tab.c"
         break;
       case 64: /* "random_head" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1433 "ael.tab.c"
+#line 1427 "ael.tab.c"
         break;
       case 66: /* "iftime_head" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1441 "ael.tab.c"
+#line 1435 "ael.tab.c"
         break;
       case 67: /* "word_list" */
-#line 171 "ael.y"
+#line 170 "ael.y"
         { free((yyvaluep->str));};
-#line 1446 "ael.tab.c"
+#line 1440 "ael.tab.c"
         break;
       case 68: /* "word3_list" */
-#line 171 "ael.y"
+#line 170 "ael.y"
         { free((yyvaluep->str));};
-#line 1451 "ael.tab.c"
+#line 1445 "ael.tab.c"
         break;
       case 69: /* "goto_word" */
-#line 171 "ael.y"
+#line 170 "ael.y"
         { free((yyvaluep->str));};
-#line 1456 "ael.tab.c"
+#line 1450 "ael.tab.c"
         break;
       case 70: /* "switch_head" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1464 "ael.tab.c"
+#line 1458 "ael.tab.c"
         break;
       case 72: /* "statement" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1472 "ael.tab.c"
+#line 1466 "ael.tab.c"
         break;
       case 79: /* "opt_else" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1480 "ael.tab.c"
+#line 1474 "ael.tab.c"
         break;
       case 80: /* "target" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1488 "ael.tab.c"
+#line 1482 "ael.tab.c"
         break;
       case 81: /* "jumptarget" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1496 "ael.tab.c"
+#line 1490 "ael.tab.c"
         break;
       case 82: /* "macro_call" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1504 "ael.tab.c"
+#line 1498 "ael.tab.c"
         break;
       case 84: /* "application_call_head" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1512 "ael.tab.c"
+#line 1506 "ael.tab.c"
         break;
       case 86: /* "application_call" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1520 "ael.tab.c"
+#line 1514 "ael.tab.c"
         break;
       case 87: /* "opt_word" */
-#line 171 "ael.y"
+#line 170 "ael.y"
         { free((yyvaluep->str));};
-#line 1525 "ael.tab.c"
+#line 1519 "ael.tab.c"
         break;
       case 88: /* "eval_arglist" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1533 "ael.tab.c"
+#line 1527 "ael.tab.c"
         break;
       case 89: /* "case_statements" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1541 "ael.tab.c"
+#line 1535 "ael.tab.c"
         break;
       case 90: /* "case_statement" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1549 "ael.tab.c"
+#line 1543 "ael.tab.c"
         break;
       case 91: /* "macro_statements" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1557 "ael.tab.c"
+#line 1551 "ael.tab.c"
         break;
       case 92: /* "macro_statement" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1565 "ael.tab.c"
+#line 1559 "ael.tab.c"
         break;
       case 93: /* "switches" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1573 "ael.tab.c"
+#line 1567 "ael.tab.c"
         break;
       case 94: /* "eswitches" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1581 "ael.tab.c"
+#line 1575 "ael.tab.c"
         break;
       case 95: /* "switchlist_block" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1589 "ael.tab.c"
+#line 1583 "ael.tab.c"
         break;
       case 96: /* "switchlist" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1597 "ael.tab.c"
+#line 1591 "ael.tab.c"
         break;
       case 97: /* "includeslist" */
-#line 158 "ael.y"
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1605 "ael.tab.c"
-        break;
-      case 98: /* "includedname" */
-#line 171 "ael.y"
-        { free((yyvaluep->str));};
-#line 1610 "ael.tab.c"
+#line 1599 "ael.tab.c"
         break;
-      case 99: /* "includes" */
-#line 158 "ael.y"
+      case 98: /* "includes" */
+#line 157 "ael.y"
         {
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1618 "ael.tab.c"
+#line 1607 "ael.tab.c"
         break;
 
       default:
@@ -1931,57 +1920,57 @@ yyreduce:
   switch (yyn)
     {
         case 2:
-#line 176 "ael.y"
+#line 175 "ael.y"
     { (yyval.pval) = parseio->pval = (yyvsp[0].pval); ;}
     break;
 
   case 3:
-#line 179 "ael.y"
+#line 178 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 4:
-#line 180 "ael.y"
+#line 179 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 5:
-#line 181 "ael.y"
+#line 180 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 6:
-#line 184 "ael.y"
+#line 183 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 7:
-#line 185 "ael.y"
+#line 184 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 8:
-#line 186 "ael.y"
+#line 185 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 9:
-#line 187 "ael.y"
+#line 186 "ael.y"
     {(yyval.pval)=0;/* allow older docs to be read */;}
     break;
 
   case 10:
-#line 190 "ael.y"
+#line 189 "ael.y"
     { (yyval.str) = (yyvsp[0].str); ;}
     break;
 
   case 11:
-#line 191 "ael.y"
+#line 190 "ael.y"
     { (yyval.str) = strdup("default"); ;}
     break;
 
   case 12:
-#line 194 "ael.y"
+#line 193 "ael.y"
     {
                (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);
@@ -1990,31 +1979,31 @@ yyreduce:
     break;
 
   case 13:
-#line 202 "ael.y"
+#line 201 "ael.y"
     { (yyval.intval) = 1; ;}
     break;
 
   case 14:
-#line 203 "ael.y"
+#line 202 "ael.y"
     { (yyval.intval) = 0; ;}
     break;
 
   case 15:
-#line 206 "ael.y"
+#line 205 "ael.y"
     {
                (yyval.pval) = npval2(PV_MACRO, &(yylsp[-7]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-6].str); (yyval.pval)->u2.arglist = (yyvsp[-4].pval); (yyval.pval)->u3.macro_statements = (yyvsp[-1].pval); ;}
     break;
 
   case 16:
-#line 209 "ael.y"
+#line 208 "ael.y"
     {
                (yyval.pval) = npval2(PV_MACRO, &(yylsp[-6]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-5].str); (yyval.pval)->u2.arglist = (yyvsp[-3].pval); ;}
     break;
 
   case 17:
-#line 212 "ael.y"
+#line 211 "ael.y"
     {
                (yyval.pval) = npval2(PV_MACRO, &(yylsp[-6]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-5].str);
@@ -2022,47 +2011,47 @@ yyreduce:
     break;
 
   case 18:
-#line 216 "ael.y"
+#line 215 "ael.y"
     {
                (yyval.pval) = npval2(PV_MACRO, &(yylsp[-5]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-4].str); ;}
     break;
 
   case 19:
-#line 221 "ael.y"
+#line 220 "ael.y"
     {
                (yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.statements = (yyvsp[-1].pval);;}
     break;
 
   case 20:
-#line 224 "ael.y"
+#line 223 "ael.y"
     { /* empty globals is OK */
                (yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-2]), &(yylsp[0])); ;}
     break;
 
   case 21:
-#line 228 "ael.y"
+#line 227 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 22:
-#line 229 "ael.y"
+#line 228 "ael.y"
     {(yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 23:
-#line 230 "ael.y"
+#line 229 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 24:
-#line 233 "ael.y"
+#line 232 "ael.y"
     { reset_semicount(parseio->scanner); ;}
     break;
 
   case 25:
-#line 233 "ael.y"
+#line 232 "ael.y"
     {
                (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -2070,82 +2059,82 @@ yyreduce:
     break;
 
   case 26:
-#line 239 "ael.y"
+#line 238 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 27:
-#line 240 "ael.y"
+#line 239 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
     break;
 
   case 28:
-#line 241 "ael.y"
+#line 240 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 29:
-#line 244 "ael.y"
+#line 243 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
   case 30:
-#line 245 "ael.y"
+#line 244 "ael.y"
     { (yyval.pval) = (yyvsp[-1].pval); ;}
     break;
 
   case 31:
-#line 248 "ael.y"
+#line 247 "ael.y"
     { (yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 32:
-#line 249 "ael.y"
+#line 248 "ael.y"
     {(yyval.pval)=0;;}
     break;
 
   case 33:
-#line 250 "ael.y"
+#line 249 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 34:
-#line 251 "ael.y"
+#line 250 "ael.y"
     { (yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 35:
-#line 254 "ael.y"
+#line 253 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 36:
-#line 255 "ael.y"
+#line 254 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 37:
-#line 256 "ael.y"
+#line 255 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 38:
-#line 257 "ael.y"
+#line 256 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 39:
-#line 258 "ael.y"
+#line 257 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 40:
-#line 259 "ael.y"
+#line 258 "ael.y"
     { reset_semicount(parseio->scanner); ;}
     break;
 
   case 41:
-#line 259 "ael.y"
+#line 258 "ael.y"
     {
                (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -2153,24 +2142,24 @@ yyreduce:
     break;
 
   case 42:
-#line 263 "ael.y"
+#line 262 "ael.y"
     {free((yyvsp[-1].str)); (yyval.pval)=0;;}
     break;
 
   case 43:
-#line 264 "ael.y"
+#line 263 "ael.y"
     {(yyval.pval)=0;/* allow older docs to be read */;}
     break;
 
   case 44:
-#line 267 "ael.y"
+#line 266 "ael.y"
     {
                (yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 45:
-#line 272 "ael.y"
+#line 271 "ael.y"
     {
                (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2178,7 +2167,7 @@ yyreduce:
     break;
 
   case 46:
-#line 276 "ael.y"
+#line 275 "ael.y"
     {
                (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2187,7 +2176,7 @@ yyreduce:
     break;
 
   case 47:
-#line 281 "ael.y"
+#line 280 "ael.y"
     {
                (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2196,7 +2185,7 @@ yyreduce:
     break;
 
   case 48:
-#line 286 "ael.y"
+#line 285 "ael.y"
     {
                (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2206,46 +2195,46 @@ yyreduce:
     break;
 
   case 49:
-#line 295 "ael.y"
+#line 294 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 50:
-#line 296 "ael.y"
+#line 295 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 51:
-#line 297 "ael.y"
+#line 296 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 52:
-#line 300 "ael.y"
+#line 299 "ael.y"
     { reset_parencount(parseio->scanner); ;}
     break;
 
   case 53:
-#line 300 "ael.y"
+#line 299 "ael.y"
     {
                (yyval.pval)= npval2(PV_IF, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str); ;}
     break;
 
   case 54:
-#line 305 "ael.y"
+#line 304 "ael.y"
     { reset_parencount(parseio->scanner); ;}
     break;
 
   case 55:
-#line 305 "ael.y"
+#line 304 "ael.y"
     {
                (yyval.pval) = npval2(PV_RANDOM, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str=(yyvsp[-1].str);;}
     break;
 
   case 56:
-#line 311 "ael.y"
+#line 310 "ael.y"
     {
                (yyval.pval) = npval2(PV_IFTIME, &(yylsp[-13]), &(yylsp[-13]));
                (yyval.pval)->u1.list = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-7]));
@@ -2261,7 +2250,7 @@ yyreduce:
     break;
 
   case 57:
-#line 323 "ael.y"
+#line 322 "ael.y"
     {
                (yyval.pval) = npval2(PV_IFTIME, &(yylsp[-9]), &(yylsp[-5])); /* XXX @5 or greater ? */
                (yyval.pval)->u1.list = nword((yyvsp[-7].str), &(yylsp[-7]));
@@ -2273,12 +2262,12 @@ yyreduce:
     break;
 
   case 58:
-#line 339 "ael.y"
+#line 338 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
   case 59:
-#line 340 "ael.y"
+#line 339 "ael.y"
     {
                asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
                free((yyvsp[-1].str));
@@ -2287,12 +2276,12 @@ yyreduce:
     break;
 
   case 60:
-#line 347 "ael.y"
+#line 346 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
   case 61:
-#line 348 "ael.y"
+#line 347 "ael.y"
     {
                asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
                free((yyvsp[-1].str));
@@ -2301,7 +2290,7 @@ yyreduce:
     break;
 
   case 62:
-#line 353 "ael.y"
+#line 352 "ael.y"
     {
                asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str));
                free((yyvsp[-2].str));
@@ -2311,12 +2300,12 @@ yyreduce:
     break;
 
   case 63:
-#line 361 "ael.y"
+#line 360 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
   case 64:
-#line 362 "ael.y"
+#line 361 "ael.y"
     {
                asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
                free((yyvsp[-1].str));
@@ -2324,7 +2313,7 @@ yyreduce:
     break;
 
   case 65:
-#line 366 "ael.y"
+#line 365 "ael.y"
     {
                asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str));
                free((yyvsp[-2].str));
@@ -2332,31 +2321,31 @@ yyreduce:
     break;
 
   case 66:
-#line 372 "ael.y"
+#line 371 "ael.y"
     { reset_parencount(parseio->scanner); ;}
     break;
 
   case 67:
-#line 372 "ael.y"
+#line 371 "ael.y"
     {
                (yyval.pval) = npval2(PV_SWITCH, &(yylsp[-5]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str); ;}
     break;
 
   case 68:
-#line 380 "ael.y"
+#line 379 "ael.y"
     {
                (yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
     break;
 
   case 69:
-#line 383 "ael.y"
+#line 382 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
   case 70:
-#line 383 "ael.y"
+#line 382 "ael.y"
     {
                (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -2364,43 +2353,43 @@ yyreduce:
     break;
 
   case 71:
-#line 387 "ael.y"
+#line 386 "ael.y"
     {
                (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
   case 72:
-#line 390 "ael.y"
+#line 389 "ael.y"
     {
                (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
   case 73:
-#line 393 "ael.y"
+#line 392 "ael.y"
     {
                (yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str); ;}
     break;
 
   case 74:
-#line 396 "ael.y"
+#line 395 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
   case 75:
-#line 397 "ael.y"
+#line 396 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
   case 76:
-#line 398 "ael.y"
+#line 397 "ael.y"
     {reset_parencount(parseio->scanner);;}
     break;
 
   case 77:
-#line 398 "ael.y"
+#line 397 "ael.y"
     {
                (yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0]));
                (yyval.pval)->u1.for_init = (yyvsp[-8].str);
@@ -2410,12 +2399,12 @@ yyreduce:
     break;
 
   case 78:
-#line 404 "ael.y"
+#line 403 "ael.y"
     {reset_parencount(parseio->scanner);;}
     break;
 
   case 79:
-#line 404 "ael.y"
+#line 403 "ael.y"
     {
                (yyval.pval) = npval2(PV_WHILE, &(yylsp[-5]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2423,44 +2412,44 @@ yyreduce:
     break;
 
   case 80:
-#line 408 "ael.y"
+#line 407 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
     break;
 
   case 81:
-#line 410 "ael.y"
+#line 409 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
                (yyval.pval)->u2.statements = (yyvsp[-1].pval);;}
     break;
 
   case 82:
-#line 413 "ael.y"
+#line 412 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;}
     break;
 
   case 83:
-#line 415 "ael.y"
+#line 414 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
     break;
 
   case 84:
-#line 417 "ael.y"
+#line 416 "ael.y"
     {
                (yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 85:
-#line 420 "ael.y"
+#line 419 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
   case 86:
-#line 420 "ael.y"
+#line 419 "ael.y"
     {
                char *bufx;
                int tot=0;
@@ -2497,22 +2486,22 @@ yyreduce:
     break;
 
   case 87:
-#line 453 "ael.y"
+#line 452 "ael.y"
     { (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
   case 88:
-#line 454 "ael.y"
+#line 453 "ael.y"
     { (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
   case 89:
-#line 455 "ael.y"
+#line 454 "ael.y"
     { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
   case 90:
-#line 456 "ael.y"
+#line 455 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */
                (yyval.pval)->u2.statements = (yyvsp[-1].pval);
@@ -2520,7 +2509,7 @@ yyreduce:
     break;
 
   case 91:
-#line 460 "ael.y"
+#line 459 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */
                (yyval.pval)->u2.statements = (yyvsp[-1].pval);
@@ -2528,7 +2517,7 @@ yyreduce:
     break;
 
   case 92:
-#line 464 "ael.y"
+#line 463 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */
                (yyval.pval)->u2.statements = (yyvsp[-1].pval);
@@ -2536,41 +2525,41 @@ yyreduce:
     break;
 
   case 93:
-#line 468 "ael.y"
+#line 467 "ael.y"
     { (yyval.pval)=0; ;}
     break;
 
   case 94:
-#line 471 "ael.y"
+#line 470 "ael.y"
     { (yyval.pval) = (yyvsp[0].pval); ;}
     break;
 
   case 95:
-#line 472 "ael.y"
+#line 471 "ael.y"
     { (yyval.pval) = NULL ; ;}
     break;
 
   case 96:
-#line 477 "ael.y"
+#line 476 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 97:
-#line 478 "ael.y"
+#line 477 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 98:
-#line 481 "ael.y"
+#line 480 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 99:
-#line 484 "ael.y"
+#line 483 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2578,7 +2567,7 @@ yyreduce:
     break;
 
   case 100:
-#line 488 "ael.y"
+#line 487 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2586,7 +2575,7 @@ yyreduce:
     break;
 
   case 101:
-#line 492 "ael.y"
+#line 491 "ael.y"
     {
                (yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2594,7 +2583,7 @@ yyreduce:
     break;
 
   case 102:
-#line 496 "ael.y"
+#line 495 "ael.y"
     {
                (yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2602,21 +2591,21 @@ yyreduce:
     break;
 
   case 103:
-#line 503 "ael.y"
+#line 502 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
                (yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;}
     break;
 
   case 104:
-#line 506 "ael.y"
+#line 505 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
                (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 105:
-#line 509 "ael.y"
+#line 508 "ael.y"
     {  /* XXX they are stored in a different order */
                (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
                (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
@@ -2624,7 +2613,7 @@ yyreduce:
     break;
 
   case 106:
-#line 513 "ael.y"
+#line 512 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2632,7 +2621,7 @@ yyreduce:
     break;
 
   case 107:
-#line 517 "ael.y"
+#line 516 "ael.y"
     {
                (yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
                (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
@@ -2640,7 +2629,7 @@ yyreduce:
     break;
 
   case 108:
-#line 521 "ael.y"
+#line 520 "ael.y"
     {
                (yyval.pval) = nword(strdup("default"), &(yylsp[-2]));
                (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[0]));
@@ -2648,12 +2637,12 @@ yyreduce:
     break;
 
   case 109:
-#line 527 "ael.y"
+#line 526 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
   case 110:
-#line 527 "ael.y"
+#line 526 "ael.y"
     {
                /* XXX original code had @2 but i think we need @5 */
                (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0]));
@@ -2662,19 +2651,19 @@ yyreduce:
     break;
 
   case 111:
-#line 532 "ael.y"
+#line 531 "ael.y"
     {
                (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str); ;}
     break;
 
   case 112:
-#line 540 "ael.y"
+#line 539 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
   case 113:
-#line 540 "ael.y"
+#line 539 "ael.y"
     {
                if (strcasecmp((yyvsp[-2].str),"goto") == 0) {
                        (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1]));
@@ -2687,7 +2676,7 @@ yyreduce:
     break;
 
   case 114:
-#line 551 "ael.y"
+#line 550 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
                if( (yyval.pval)->type == PV_GOTO )
@@ -2698,49 +2687,49 @@ yyreduce:
     break;
 
   case 115:
-#line 558 "ael.y"
+#line 557 "ael.y"
     { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
     break;
 
   case 116:
-#line 561 "ael.y"
+#line 560 "ael.y"
     { (yyval.str) = (yyvsp[0].str) ;}
     break;
 
   case 117:
-#line 562 "ael.y"
+#line 561 "ael.y"
     { (yyval.str) = strdup(""); ;}
     break;
 
   case 118:
-#line 565 "ael.y"
+#line 564 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 119:
-#line 566 "ael.y"
+#line 565 "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 120:
-#line 569 "ael.y"
+#line 568 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
     break;
 
   case 121:
-#line 572 "ael.y"
+#line 571 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 122:
-#line 573 "ael.y"
+#line 572 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 123:
-#line 576 "ael.y"
+#line 575 "ael.y"
     {
                (yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2748,7 +2737,7 @@ yyreduce:
     break;
 
   case 124:
-#line 580 "ael.y"
+#line 579 "ael.y"
     {
                (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = NULL;
@@ -2756,7 +2745,7 @@ yyreduce:
     break;
 
   case 125:
-#line 584 "ael.y"
+#line 583 "ael.y"
     {
                (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2764,43 +2753,43 @@ yyreduce:
     break;
 
   case 126:
-#line 588 "ael.y"
+#line 587 "ael.y"
     {
                (yyval.pval) = npval2(PV_CASE, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 127:
-#line 591 "ael.y"
+#line 590 "ael.y"
     {
                (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str = NULL;;}
     break;
 
   case 128:
-#line 594 "ael.y"
+#line 593 "ael.y"
     {
                (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 129:
-#line 599 "ael.y"
+#line 598 "ael.y"
     {(yyval.pval) = (yyvsp[0].pval);;}
     break;
 
   case 130:
-#line 600 "ael.y"
+#line 599 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 131:
-#line 603 "ael.y"
+#line 602 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 132:
-#line 604 "ael.y"
+#line 603 "ael.y"
     {
                (yyval.pval) = npval2(PV_CATCH, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-3].str);
@@ -2808,51 +2797,51 @@ yyreduce:
     break;
 
   case 133:
-#line 610 "ael.y"
+#line 609 "ael.y"
     {
                (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[0].pval); ;}
     break;
 
   case 134:
-#line 615 "ael.y"
+#line 614 "ael.y"
     {
                (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[0].pval); ;}
     break;
 
   case 135:
-#line 620 "ael.y"
+#line 619 "ael.y"
     { (yyval.pval) = (yyvsp[-1].pval); ;}
     break;
 
   case 136:
-#line 621 "ael.y"
+#line 620 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
   case 137:
-#line 624 "ael.y"
+#line 623 "ael.y"
     { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
     break;
 
   case 138:
-#line 625 "ael.y"
+#line 624 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;}
     break;
 
   case 139:
-#line 626 "ael.y"
+#line 625 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 140:
-#line 629 "ael.y"
+#line 628 "ael.y"
     { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
     break;
 
   case 141:
-#line 631 "ael.y"
+#line 630 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-13].str), &(yylsp[-13]));
                (yyval.pval)->u2.arglist = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-7]));
@@ -2868,7 +2857,7 @@ yyreduce:
     break;
 
   case 142:
-#line 643 "ael.y"
+#line 642 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[-9].str), &(yylsp[-9]));
                (yyval.pval)->u2.arglist = nword((yyvsp[-7].str), &(yylsp[-7]));
@@ -2880,12 +2869,12 @@ yyreduce:
     break;
 
   case 143:
-#line 651 "ael.y"
+#line 650 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;}
     break;
 
   case 144:
-#line 653 "ael.y"
+#line 652 "ael.y"
     {
                pval *z = nword((yyvsp[-13].str), &(yylsp[-13]));
                (yyval.pval) = linku1((yyvsp[-14].pval), z);
@@ -2902,7 +2891,7 @@ yyreduce:
     break;
 
   case 145:
-#line 666 "ael.y"
+#line 665 "ael.y"
     {
                pval *z = npval2(PV_WORD, &(yylsp[-9]), &(yylsp[-8]));
                (yyval.pval) = linku1((yyvsp[-10].pval), z);
@@ -2917,29 +2906,19 @@ yyreduce:
     break;
 
   case 146:
-#line 677 "ael.y"
+#line 676 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 147:
-#line 680 "ael.y"
-    { (yyval.str) = (yyvsp[0].str);;}
-    break;
-
-  case 148:
-#line 681 "ael.y"
-    {(yyval.str)=strdup("default");;}
-    break;
-
-  case 149:
-#line 684 "ael.y"
+#line 679 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
-  case 150:
-#line 687 "ael.y"
+  case 148:
+#line 682 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;}
     break;
@@ -2949,7 +2928,7 @@ yyreduce:
     }
 
 /* Line 1126 of yacc.c.  */
-#line 2953 "ael.tab.c"
+#line 2932 "ael.tab.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -3224,7 +3203,7 @@ yyreturn:
 }
 
 
-#line 692 "ael.y"
+#line 687 "ael.y"
 
 
 static char *token_equivs1[] =
index 1d309cd..0b5e1e9 100644 (file)
@@ -128,7 +128,6 @@ static pval *update_last(pval *, YYLTYPE *);
 %type <str>goto_word
 %type <str>word_list
 %type <str>word3_list
-%type <str>includedname
 
 %type <intval>opt_abstract
 
@@ -168,7 +167,7 @@ static pval *update_last(pval *, YYLTYPE *);
                opt_else
                elements_block switchlist_block
 
-%destructor { free($$);}  word word_list goto_word word3_list includedname opt_word word_or_default
+%destructor { free($$);}  word word_list goto_word word3_list opt_word word_or_default
 
 
 %%
@@ -198,7 +197,7 @@ context : opt_abstract KW_CONTEXT word_or_default elements_block {
                $$->u3.abstract = $1; }
        ;
 
-/* optional "abstract" keyword */
+/* optional "abstract" keyword  XXX there is no regression test for this */
 opt_abstract: KW_ABSTRACT { $$ = 1; }
        | /* nothing */ { $$ = 0; }
        ;
@@ -626,8 +625,8 @@ switchlist : word SEMI { $$ = nword($1, &@1); }
        | switchlist error {$$=$1;}
        ;
 
-includeslist : includedname SEMI { $$ = nword($1, &@1); }
-       | includedname BAR word3_list COLON word3_list COLON word3_list
+includeslist : word_or_default SEMI { $$ = nword($1, &@1); }
+       | word_or_default BAR word3_list COLON word3_list COLON word3_list
                        BAR word3_list BAR word3_list BAR word3_list SEMI {
                $$ = nword($1, &@1);
                $$->u2.arglist = npval2(PV_WORD, &@3, &@7);
@@ -640,7 +639,7 @@ includeslist : includedname SEMI { $$ = nword($1, &@1); }
                $$->u2.arglist->next->next->next = nword($13, &@13);
                prev_word=0;
        }
-       | includedname BAR word BAR word3_list BAR word3_list BAR word3_list SEMI {
+       | word_or_default BAR word BAR word3_list BAR word3_list BAR word3_list SEMI {
                $$ = nword($1, &@1);
                $$->u2.arglist = nword($3, &@3);
                $$->u2.arglist->next = nword($5, &@5);
@@ -648,8 +647,8 @@ includeslist : includedname SEMI { $$ = nword($1, &@1); }
                $$->u2.arglist->next->next->next = nword($9, &@9);
                prev_word=0;
        }
-       | includeslist includedname SEMI { $$ = linku1($1, nword($2, &@2)); }
-       | includeslist includedname BAR word3_list COLON word3_list COLON word3_list
+       | includeslist word_or_default SEMI { $$ = linku1($1, nword($2, &@2)); }
+       | includeslist word_or_default BAR word3_list COLON word3_list COLON word3_list
                        BAR word3_list BAR word3_list BAR word3_list SEMI {
                pval *z = nword($2, &@2);
                $$ = linku1($1, z);
@@ -663,7 +662,7 @@ includeslist : includedname SEMI { $$ = nword($1, &@1); }
                z->u2.arglist->next->next->next = nword($14, &@14);
                prev_word=0;
        }
-       | includeslist includedname BAR word BAR word3_list BAR word3_list BAR word3_list SEMI {
+       | includeslist word_or_default BAR word BAR word3_list BAR word3_list BAR word3_list SEMI {
                pval *z = npval2(PV_WORD, &@2, &@3);
                $$ = linku1($1, z);
                $$->u2.arglist->u1.str = $4;                    /* XXX maybe too early ? */
@@ -677,10 +676,6 @@ includeslist : includedname SEMI { $$ = nword($1, &@1); }
        | includeslist error {$$=$1;}
        ;
 
-includedname : word { $$ = $1;}
-       | KW_DEFAULT {$$=strdup("default");}
-       ;
-
 includes : KW_INCLUDES LC includeslist RC {
                $$ = npval2(PV_INCLUDES, &@1, &@4);
                $$->u1.list = $3;}