Merged revisions 189462 via svnmerge from
[asterisk/asterisk.git] / res / ael / ael.tab.c
index 34900ac..cbe9d8c 100644 (file)
@@ -511,16 +511,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  17
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   373
+#define YYLAST   371
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  44
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  56
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  142
+#define YYNRULES  143
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  281
+#define YYNSTATES  283
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -575,15 +575,15 @@ static const yytype_uint16 yyprhs[] =
       86,    89,    90,    93,    96,    98,   100,   102,   104,   106,
      108,   110,   113,   115,   120,   124,   130,   135,   143,   152,
      153,   156,   159,   165,   167,   175,   176,   181,   184,   187,
-     192,   194,   197,   199,   202,   206,   210,   212,   215,   219,
-     221,   224,   228,   234,   238,   240,   242,   246,   250,   253,
-     254,   255,   256,   269,   273,   275,   279,   282,   285,   286,
-     292,   295,   298,   301,   305,   307,   310,   311,   313,   317,
-     321,   327,   333,   339,   345,   346,   349,   352,   357,   358,
-     364,   368,   369,   373,   377,   380,   382,   383,   385,   386,
-     390,   391,   394,   399,   403,   408,   409,   412,   414,   416,
-     422,   427,   432,   433,   437,   443,   446,   448,   452,   455,
-     459,   462,   467
+     192,   194,   197,   199,   202,   206,   210,   214,   216,   219,
+     223,   225,   228,   232,   238,   242,   244,   246,   250,   254,
+     257,   258,   259,   260,   273,   277,   279,   283,   286,   289,
+     290,   296,   299,   302,   305,   309,   311,   314,   315,   317,
+     321,   325,   331,   337,   343,   349,   350,   353,   356,   361,
+     362,   368,   372,   373,   377,   381,   384,   386,   387,   389,
+     390,   394,   395,   398,   403,   407,   412,   413,   416,   418,
+     420,   426,   431,   436,   437,   441,   447,   450,   452,   456,
+     459,   463,   466,   471
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
@@ -610,33 +610,33 @@ static const yytype_int8 yyrhs[] =
       -1,    19,    66,    -1,    22,    66,    -1,    20,     6,    65,
        7,    -1,    43,    -1,    43,    43,    -1,    43,    -1,    70,
       43,    -1,    70,    11,    43,    -1,    70,    12,    43,    -1,
-      43,    -1,    43,    43,    -1,    43,    43,    43,    -1,    43,
-      -1,    43,    43,    -1,    72,    11,    43,    -1,    18,    66,
-       4,    90,     5,    -1,     4,    63,     5,    -1,    54,    -1,
-      56,    -1,    26,    80,     8,    -1,    27,    82,     8,    -1,
-      43,    11,    -1,    -1,    -1,    -1,    33,     6,    75,    43,
-       8,    76,    43,     8,    77,    43,     7,    74,    -1,    34,
-      66,    74,    -1,    73,    -1,    12,    83,     8,    -1,    87,
-       8,    -1,    43,     8,    -1,    -1,    87,     9,    78,    43,
-       8,    -1,    29,     8,    -1,    28,     8,    -1,    30,     8,
-      -1,    68,    74,    79,    -1,     8,    -1,    21,    74,    -1,
-      -1,    72,    -1,    72,    13,    72,    -1,    72,    10,    72,
-      -1,    72,    13,    72,    13,    72,    -1,    72,    10,    72,
-      10,    72,    -1,    37,    13,    72,    13,    72,    -1,    37,
-      10,    72,    10,    72,    -1,    -1,    10,    43,    -1,    72,
-      81,    -1,    72,    81,    14,    48,    -1,    -1,    43,     6,
-      84,    89,     7,    -1,    43,     6,     7,    -1,    -1,    43,
-       6,    86,    -1,    85,    89,     7,    -1,    85,     7,    -1,
-      43,    -1,    -1,    69,    -1,    -1,    89,    10,    88,    -1,
-      -1,    90,    91,    -1,    35,    43,    11,    63,    -1,    37,
-      11,    63,    -1,    36,    43,    11,    63,    -1,    -1,    92,
-      93,    -1,    74,    -1,    99,    -1,    38,    43,     4,    63,
-       5,    -1,    39,     4,    96,     5,    -1,    40,     4,    96,
-       5,    -1,    -1,    96,    43,     8,    -1,    96,    43,    14,
-      43,     8,    -1,     1,    96,    -1,    48,    -1,    48,    13,
-      65,    -1,    97,     8,    -1,    98,    97,     8,    -1,    98,
-       1,    -1,    41,     4,    98,     5,    -1,    41,     4,     5,
-      -1
+      70,    14,    43,    -1,    43,    -1,    43,    43,    -1,    43,
+      43,    43,    -1,    43,    -1,    43,    43,    -1,    72,    11,
+      43,    -1,    18,    66,     4,    90,     5,    -1,     4,    63,
+       5,    -1,    54,    -1,    56,    -1,    26,    80,     8,    -1,
+      27,    82,     8,    -1,    43,    11,    -1,    -1,    -1,    -1,
+      33,     6,    75,    43,     8,    76,    43,     8,    77,    43,
+       7,    74,    -1,    34,    66,    74,    -1,    73,    -1,    12,
+      83,     8,    -1,    87,     8,    -1,    43,     8,    -1,    -1,
+      87,     9,    78,    43,     8,    -1,    29,     8,    -1,    28,
+       8,    -1,    30,     8,    -1,    68,    74,    79,    -1,     8,
+      -1,    21,    74,    -1,    -1,    72,    -1,    72,    13,    72,
+      -1,    72,    10,    72,    -1,    72,    13,    72,    13,    72,
+      -1,    72,    10,    72,    10,    72,    -1,    37,    13,    72,
+      13,    72,    -1,    37,    10,    72,    10,    72,    -1,    -1,
+      10,    43,    -1,    72,    81,    -1,    72,    81,    14,    48,
+      -1,    -1,    43,     6,    84,    89,     7,    -1,    43,     6,
+       7,    -1,    -1,    43,     6,    86,    -1,    85,    89,     7,
+      -1,    85,     7,    -1,    43,    -1,    -1,    69,    -1,    -1,
+      89,    10,    88,    -1,    -1,    90,    91,    -1,    35,    43,
+      11,    63,    -1,    37,    11,    63,    -1,    36,    43,    11,
+      63,    -1,    -1,    92,    93,    -1,    74,    -1,    99,    -1,
+      38,    43,     4,    63,     5,    -1,    39,     4,    96,     5,
+      -1,    40,     4,    96,     5,    -1,    -1,    96,    43,     8,
+      -1,    96,    43,    14,    43,     8,    -1,     1,    96,    -1,
+      48,    -1,    48,    13,    65,    -1,    97,     8,    -1,    98,
+      97,     8,    -1,    98,     1,    -1,    41,     4,    98,     5,
+      -1,    41,     4,     5,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -648,15 +648,15 @@ static const yytype_uint16 yyrline[] =
      258,   261,   262,   263,   266,   267,   268,   269,   270,   271,
      272,   273,   274,   277,   282,   286,   294,   299,   304,   313,
      314,   315,   321,   331,   335,   343,   343,   347,   350,   353,
-     364,   365,   377,   378,   387,   396,   407,   408,   418,   431,
-     432,   441,   452,   461,   464,   465,   466,   469,   472,   475,
-     476,   477,   475,   483,   487,   488,   489,   490,   493,   493,
-     526,   527,   528,   529,   533,   536,   537,   540,   541,   544,
-     547,   551,   555,   559,   565,   566,   570,   573,   579,   579,
-     584,   592,   592,   603,   610,   613,   614,   617,   618,   621,
-     624,   625,   628,   632,   636,   642,   643,   646,   647,   648,
-     654,   659,   664,   665,   666,   677,   680,   681,   688,   689,
-     690,   693,   696
+     364,   365,   377,   378,   387,   396,   405,   416,   417,   427,
+     440,   441,   450,   461,   470,   473,   474,   475,   478,   481,
+     484,   485,   486,   484,   492,   496,   497,   498,   499,   502,
+     502,   535,   536,   537,   538,   542,   545,   546,   549,   550,
+     553,   556,   560,   564,   568,   574,   575,   579,   582,   588,
+     588,   593,   601,   601,   612,   619,   622,   623,   626,   627,
+     630,   633,   634,   637,   641,   645,   651,   652,   655,   656,
+     657,   663,   668,   673,   674,   675,   686,   689,   690,   697,
+     698,   699,   702,   705
 };
 #endif
 
@@ -708,15 +708,15 @@ static const yytype_uint8 yyr1[] =
       58,    59,    59,    59,    60,    60,    60,    60,    60,    60,
       60,    60,    60,    61,    62,    62,    62,    62,    62,    63,
       63,    63,    64,    64,    65,    67,    66,    68,    68,    68,
-      69,    69,    70,    70,    70,    70,    71,    71,    71,    72,
-      72,    72,    73,    74,    74,    74,    74,    74,    74,    75,
-      76,    77,    74,    74,    74,    74,    74,    74,    78,    74,
-      74,    74,    74,    74,    74,    79,    79,    80,    80,    80,
-      80,    80,    80,    80,    81,    81,    82,    82,    84,    83,
-      83,    86,    85,    87,    87,    88,    88,    89,    89,    89,
-      90,    90,    91,    91,    91,    92,    92,    93,    93,    93,
-      94,    95,    96,    96,    96,    96,    97,    97,    98,    98,
-      98,    99,    99
+      69,    69,    70,    70,    70,    70,    70,    71,    71,    71,
+      72,    72,    72,    73,    74,    74,    74,    74,    74,    74,
+      75,    76,    77,    74,    74,    74,    74,    74,    74,    78,
+      74,    74,    74,    74,    74,    74,    79,    79,    80,    80,
+      80,    80,    80,    80,    80,    81,    81,    82,    82,    84,
+      83,    83,    86,    85,    87,    87,    88,    88,    89,    89,
+      89,    90,    90,    91,    91,    91,    92,    92,    93,    93,
+      93,    94,    95,    96,    96,    96,    96,    97,    97,    98,
+      98,    98,    99,    99
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -728,15 +728,15 @@ static const yytype_uint8 yyr2[] =
        2,     0,     2,     2,     1,     1,     1,     1,     1,     1,
        1,     2,     1,     4,     3,     5,     4,     7,     8,     0,
        2,     2,     5,     1,     7,     0,     4,     2,     2,     4,
-       1,     2,     1,     2,     3,     3,     1,     2,     3,     1,
-       2,     3,     5,     3,     1,     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,     0,     2,     2,     4,     0,     5,
-       3,     0,     3,     3,     2,     1,     0,     1,     0,     3,
-       0,     2,     4,     3,     4,     0,     2,     1,     1,     5,
-       4,     4,     0,     3,     5,     2,     1,     3,     2,     3,
-       2,     4,     3
+       1,     2,     1,     2,     3,     3,     3,     1,     2,     3,
+       1,     2,     3,     5,     3,     1,     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,     0,     2,     2,     4,     0,
+       5,     3,     0,     3,     3,     2,     1,     0,     1,     0,
+       3,     0,     2,     4,     3,     4,     0,     2,     1,     1,
+       5,     4,     4,     0,     3,     5,     2,     1,     3,     2,
+       3,     2,     4,     3
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -748,178 +748,178 @@ static const yytype_uint8 yydefact[] =
        0,     7,     8,     0,     0,    17,    16,     1,     5,     4,
        0,    27,     0,     0,    11,    10,     0,    28,     0,    22,
       19,     0,    21,     0,    30,     0,     0,    23,     0,     0,
-     125,    29,     0,    33,    12,    42,     0,     0,     0,     0,
+     126,    29,     0,    33,    12,    42,     0,     0,     0,     0,
        0,     0,     0,     0,    39,    40,    32,    38,    34,    36,
       37,    35,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    41,     0,     0,     0,    18,    94,     0,     0,
+       0,     0,    41,     0,     0,     0,    18,    95,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    74,    75,     0,    84,   127,   118,     0,   126,
-     128,    24,     0,     0,     0,    62,     0,     0,     0,     0,
-     142,   136,     0,     0,    25,     0,    44,     0,     0,     0,
-       0,    55,     0,    57,     0,    58,     0,    69,    97,     0,
-     104,     0,    91,    90,    92,    79,     0,     0,   111,    87,
-      78,    96,   114,    60,   117,     0,    86,    88,    43,     0,
-      46,     0,     0,     0,    63,   135,   130,     0,   131,     0,
-     138,   140,   141,     0,     0,     0,    51,    73,    50,   108,
-      85,     0,   120,    53,     0,     0,     0,     0,     0,    70,
-       0,     0,     0,    76,     0,   106,    77,     0,    83,     0,
-     112,     0,    93,    61,   113,   116,     0,     0,     0,    64,
-      65,   133,     0,   137,   139,     0,    45,   110,   118,     0,
-       0,    67,     0,    59,     0,     0,     0,    99,    71,    98,
-     105,     0,     0,     0,    95,   115,   119,     0,     0,     0,
-       0,    26,     0,    56,    72,     0,     0,     0,   121,    68,
-      66,     0,     0,     0,     0,     0,     0,   107,    80,   129,
-      89,     0,    47,   134,   109,     0,     0,     0,     0,     0,
-     103,   102,   101,   100,     0,    48,     0,     0,   123,     0,
-      52,     0,   122,   124,     0,    81,    54,     0,     0,     0,
-      82
+       0,     0,    75,    76,     0,    85,   128,   119,     0,   127,
+     129,    24,     0,     0,     0,    62,     0,     0,     0,     0,
+     143,   137,     0,     0,    25,     0,    44,     0,     0,     0,
+       0,    55,     0,    57,     0,    58,     0,    70,    98,     0,
+     105,     0,    92,    91,    93,    80,     0,     0,   112,    88,
+      79,    97,   115,    60,   118,     0,    87,    89,    43,     0,
+      46,     0,     0,     0,     0,    63,   136,   131,     0,   132,
+       0,   139,   141,   142,     0,     0,     0,    51,    74,    50,
+     109,    86,     0,   121,    53,     0,     0,     0,     0,     0,
+      71,     0,     0,     0,    77,     0,   107,    78,     0,    84,
+       0,   113,     0,    94,    61,   114,   117,     0,     0,     0,
+      64,    65,    66,   134,     0,   138,   140,     0,    45,   111,
+     119,     0,     0,    68,     0,    59,     0,     0,     0,   100,
+      72,    99,   106,     0,     0,     0,    96,   116,   120,     0,
+       0,     0,     0,    26,     0,    56,    73,     0,     0,     0,
+     122,    69,    67,     0,     0,     0,     0,     0,     0,   108,
+      81,   130,    90,     0,    47,   135,   110,     0,     0,     0,
+       0,     0,   104,   103,   102,   101,     0,    48,     0,     0,
+     124,     0,    52,     0,   123,   125,     0,    82,    54,     0,
+       0,     0,    83
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
       -1,     6,     7,     8,   111,     9,    10,    11,    12,    23,
-      92,    42,    93,   164,    28,    39,    56,    57,    58,   118,
-     174,   175,   122,   171,    94,   144,   106,   176,   128,    95,
-     168,   187,   264,   277,   196,   192,   129,   185,   131,   120,
-     208,    97,   190,    98,   226,   145,   210,   238,    62,    99,
+      92,    42,    93,   165,    28,    39,    56,    57,    58,   118,
+     175,   176,   122,   172,    94,   144,   106,   177,   128,    95,
+     169,   188,   266,   279,   197,   193,   129,   186,   131,   120,
+     210,    97,   191,    98,   228,   145,   212,   240,    62,    99,
       59,    60,   108,   112,   113,    61
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -209
+#define YYPACT_NINF -211
 static const yytype_int16 yypact[] =
 {
-     262,  -209,   -32,    21,     5,    13,    69,   296,  -209,  -209,
-     112,  -209,  -209,   115,    14,  -209,  -209,  -209,  -209,  -209,
-     -29,    85,    14,     0,  -209,  -209,   129,  -209,   116,    92,
-    -209,   140,  -209,   105,  -209,   147,   125,  -209,   105,    99,
-    -209,  -209,   132,   252,  -209,  -209,   163,   -25,   159,   182,
-     186,   197,   162,   242,  -209,  -209,  -209,  -209,  -209,  -209,
-    -209,  -209,   165,   201,   170,   222,   204,   187,    16,    16,
-      68,   223,  -209,   190,   246,    59,  -209,  -209,   193,   234,
-     234,   236,   234,   -27,   212,   249,   251,   255,   238,   234,
-     228,   292,  -209,  -209,   246,  -209,  -209,    15,   146,  -209,
-    -209,  -209,   273,   187,   246,  -209,   107,    16,    25,    29,
-    -209,   269,   279,    39,  -209,   265,  -209,    19,   192,   299,
-     294,  -209,   302,  -209,   264,  -209,    70,   266,   161,   300,
-     168,   305,  -209,  -209,  -209,  -209,   246,   306,  -209,  -209,
-    -209,   293,  -209,   272,  -209,    84,  -209,  -209,  -209,   113,
-    -209,   274,   275,   278,  -209,   280,  -209,    76,  -209,   264,
-    -209,  -209,  -209,   308,   281,   246,   246,  -209,  -209,   315,
-    -209,   282,  -209,    22,   313,   320,   317,   212,   212,  -209,
-     212,   286,   212,  -209,   287,   318,  -209,   288,  -209,    59,
-    -209,   246,  -209,  -209,  -209,   290,   291,   295,   310,  -209,
-    -209,  -209,   297,  -209,  -209,   328,  -209,  -209,   282,   330,
-     122,   298,   301,  -209,   301,   171,    86,   205,  -209,   121,
-    -209,   -29,   331,   219,  -209,  -209,  -209,   334,   321,   246,
-     335,  -209,   102,  -209,  -209,   304,   307,   337,  -209,  -209,
-     309,   332,   338,   212,   212,   212,   212,  -209,  -209,  -209,
-    -209,   246,  -209,  -209,  -209,   340,   342,    19,   301,   301,
-     343,   343,   343,   343,   312,  -209,    19,    19,   246,   344,
-    -209,   348,   246,   246,   301,  -209,  -209,   316,   351,   246,
-    -209
+     166,  -211,   -32,    15,    12,    36,    40,   316,  -211,  -211,
+      75,  -211,  -211,    82,    17,  -211,  -211,  -211,  -211,  -211,
+     -28,    57,    17,     0,  -211,  -211,   127,  -211,     6,   109,
+    -211,   152,  -211,   136,  -211,   169,   143,  -211,   136,   117,
+    -211,  -211,   144,   272,  -211,  -211,   170,   -15,   191,   197,
+     199,   201,   168,   137,  -211,  -211,  -211,  -211,  -211,  -211,
+    -211,  -211,   180,   204,   172,   219,   202,   185,    25,    25,
+      28,   217,  -211,   186,   266,    90,  -211,  -211,   190,   229,
+     229,   230,   229,    21,   194,   240,   241,   242,   246,   229,
+     210,   312,  -211,  -211,   266,  -211,  -211,     1,    61,  -211,
+    -211,  -211,   248,   185,   266,  -211,    68,    25,    24,    29,
+    -211,   247,   254,    20,  -211,   238,  -211,    19,   212,   258,
+     263,  -211,   271,  -211,   233,  -211,   126,   234,   183,   275,
+      95,   279,  -211,  -211,  -211,  -211,   266,   286,  -211,  -211,
+    -211,   270,  -211,   236,  -211,   140,  -211,  -211,  -211,    78,
+    -211,   255,   259,   262,   264,  -211,   267,  -211,    69,  -211,
+     233,  -211,  -211,  -211,   289,   282,   266,   266,  -211,  -211,
+     294,  -211,   283,  -211,    70,   293,   315,   317,   194,   194,
+    -211,   194,   284,   194,  -211,   287,   319,  -211,   291,  -211,
+      90,  -211,   266,  -211,  -211,  -211,   292,   295,   298,   304,
+    -211,  -211,  -211,  -211,   299,  -211,  -211,   328,  -211,  -211,
+     283,   330,   135,   300,   301,  -211,   301,   104,    73,   132,
+    -211,   116,  -211,   -28,   337,   239,  -211,  -211,  -211,   338,
+     322,   266,   340,  -211,   173,  -211,  -211,   306,   307,   341,
+    -211,  -211,   308,   342,   343,   194,   194,   194,   194,  -211,
+    -211,  -211,  -211,   266,  -211,  -211,  -211,   345,   346,    19,
+     301,   301,   347,   347,   347,   347,   310,  -211,    19,    19,
+     266,   348,  -211,   351,   266,   266,   301,  -211,  -211,   320,
+     353,   266,  -211
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -209,  -209,  -209,   353,   -19,  -209,  -209,  -209,  -209,   339,
-     137,  -209,   -30,  -209,  -209,   324,  -209,  -209,  -209,  -114,
-    -209,   206,   -54,  -209,  -209,   195,   260,  -208,   -82,  -209,
-     -62,  -209,  -209,  -209,  -209,  -209,  -209,  -209,  -209,  -209,
-    -209,  -209,  -209,  -209,  -209,   156,  -209,  -209,  -209,  -209,
-    -209,  -209,     1,   254,  -209,   311
+    -211,  -211,  -211,   355,   -19,  -211,  -211,  -211,  -211,   344,
+      64,  -211,   -29,  -211,  -211,   326,  -211,  -211,  -211,  -114,
+    -211,   205,    46,  -211,  -211,   195,   265,  -210,   -82,  -211,
+     -62,  -211,  -211,  -211,  -211,  -211,  -211,  -211,  -211,  -211,
+    -211,  -211,  -211,  -211,  -211,   159,  -211,  -211,  -211,  -211,
+    -211,  -211,   -34,   257,  -211,   309
 };
 
 /* 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 -133
+#define YYTABLE_NINF -134
 static const yytype_int16 yytable[] =
 {
-      96,    26,   130,   166,   241,    30,   242,    65,    24,    55,
-     126,    13,   116,    55,    25,    22,   127,   107,    66,   -20,
-     117,  -132,   142,   -49,   -49,    14,   123,   -49,   125,    15,
-     156,   -49,   141,   -66,   158,   136,    16,   -49,   -49,   -49,
-     161,   -49,   150,    31,   162,   -49,   -49,   -49,   -49,   -49,
-     269,   270,   -49,   -49,   -49,   -49,   -49,   -20,   143,  -132,
-     117,   -49,   -49,   -49,   -49,   211,   276,   -49,   157,    17,
-     109,   -49,   157,   110,   188,   223,    24,   -49,   -49,   -49,
-     177,   -49,    25,   178,   201,   -49,   -49,   -49,   -49,   -49,
-     202,   194,   -49,   -49,   195,   215,   216,   181,   217,   244,
-     219,   -49,   -49,   206,    44,    24,    38,    45,   155,   254,
-     -31,    25,   195,   -31,   151,    20,    46,    34,   152,   153,
-     197,    21,   -31,    35,   152,   153,    36,   234,    27,   224,
-      47,    48,   181,    33,   246,    31,   -31,   -31,    49,    50,
-      51,    52,    53,   268,   -31,   -31,   -31,   -31,   -31,    37,
-     154,    40,   272,   273,   146,   147,   154,   235,   236,   237,
-      32,   260,   261,   262,   263,    67,    32,   252,    41,    75,
-      76,   180,   181,    77,   182,    63,    54,    78,   184,   181,
-      54,   243,   181,    79,    80,    81,    68,    82,    64,   265,
-      69,    83,    84,    85,    86,    87,    75,   167,    88,    89,
-      77,    70,   247,    90,    78,    71,    51,    52,    91,   101,
-      79,    80,    81,   102,    82,   245,   181,   280,    83,    84,
-      85,    86,    87,    75,   249,    88,    89,    77,   103,   104,
-     105,    78,   114,   115,    52,    91,   119,    79,    80,    81,
-     121,    82,   124,    72,   135,    83,    84,    85,    86,    87,
-      75,    37,    88,    89,    77,   127,    73,   132,    78,   133,
-      45,    52,    91,   134,    79,    80,    81,    74,    82,    46,
-       1,   137,    83,    84,    85,    86,    87,     2,     3,    88,
-      89,   148,   159,    47,    48,     4,     5,   160,    52,    91,
-     165,    49,    50,    51,    52,    53,    -2,    18,   138,   -14,
-     139,    37,   170,   140,     1,   169,   172,   173,   183,   179,
-     189,     2,     3,   186,   191,   193,   204,   198,   199,     4,
-       5,   200,   207,   157,   205,   143,   212,   213,   214,   218,
-     220,   222,   221,   225,   227,   229,   231,   233,   228,   248,
-     230,   239,   250,   253,   240,   258,   251,   255,   257,   259,
-     256,   266,   211,   267,   181,   271,   275,   274,   279,   278,
-      19,    29,    43,   149,   232,   203,   209,   163,     0,     0,
-       0,     0,     0,   100
+      96,    26,   130,   167,   243,    30,   244,    34,   142,    24,
+      55,    13,   116,    35,    55,    25,    36,    65,    22,    14,
+     117,   162,   -20,   -49,   -49,   163,   107,   -49,    66,   157,
+    -133,   -49,   141,   110,   159,   109,    15,   -49,   -49,   -49,
+      17,   -49,   150,    31,   143,   -49,   -49,   -49,   -49,   -49,
+     271,   272,   -49,   -49,   -49,   -49,   -49,    24,   126,    16,
+     -20,   -49,   -49,    25,   127,    24,   278,   158,  -133,   146,
+     147,    25,   158,   156,   189,   151,   225,   203,    20,   152,
+     153,   -67,   154,   204,   182,   198,   246,    32,    21,   152,
+     153,   117,   154,    32,   -49,   -49,   217,   218,   -49,   219,
+      27,   221,   -49,    54,   208,   185,   182,    54,   -49,   -49,
+     -49,   155,   -49,   213,   245,   182,   -49,   -49,   -49,   -49,
+     -49,   155,    44,   -49,   -49,    45,   123,   182,   125,   248,
+     226,    33,   -49,   -49,    46,   136,   178,    38,    72,   179,
+     236,   -31,   247,   182,   -31,   270,    37,   195,    47,    48,
+     196,    73,    31,   -31,   274,   275,    49,    50,    51,    52,
+      53,    37,    74,   262,   263,   264,   265,   -31,   -31,   254,
+     237,   238,   239,    40,     1,   -31,   -31,   -31,   -31,   -31,
+     256,     2,     3,   196,    75,    76,    41,    63,    77,     4,
+       5,   267,    78,   181,   182,    64,   183,    67,    79,    80,
+      81,    68,    82,    69,   249,    70,    83,    84,    85,    86,
+      87,    71,   101,    88,    89,   102,    75,   168,    90,   282,
+      77,    51,    52,    91,    78,   103,   114,   104,   105,   115,
+      79,    80,    81,   119,    82,   121,   124,   127,    83,    84,
+      85,    86,    87,    75,   251,    88,    89,    77,   132,   133,
+     134,    78,   135,   137,    52,    91,   148,    79,    80,    81,
+     160,    82,   161,   166,   170,    83,    84,    85,    86,    87,
+      75,   171,    88,    89,    77,   173,   174,   180,    78,   194,
+      45,    52,    91,   184,    79,    80,    81,   187,    82,    46,
+     190,   192,    83,    84,    85,    86,    87,   206,   199,    88,
+      89,   209,   200,    47,    48,   201,   214,   202,    52,    91,
+     158,    49,    50,    51,    52,    53,    -2,    18,   138,   -14,
+     139,    37,   215,   140,     1,   207,   143,   220,   216,   231,
+     222,     2,     3,   223,   224,   227,   233,   235,   229,     4,
+       5,   230,   232,   241,   242,   250,   252,   253,   255,   257,
+     258,   213,   259,   273,   261,   260,   268,   269,   182,   277,
+     281,   276,    19,   280,    43,   205,    29,   211,   149,   234,
+     164,   100
 };
 
-static const yytype_int16 yycheck[] =
+static const yytype_uint16 yycheck[] =
 {
-      62,    20,    84,   117,   212,     5,   214,    32,    37,    39,
-      37,    43,    74,    43,    43,     1,    43,     1,    43,     5,
-       1,     5,     7,     4,     5,     4,    80,     8,    82,    24,
-       5,    12,    94,    11,     5,    89,    23,    18,    19,    20,
-       1,    22,   104,    43,     5,    26,    27,    28,    29,    30,
-     258,   259,    33,    34,    35,    36,    37,    43,    43,    43,
-       1,    42,    43,     4,     5,    43,   274,     8,    43,     0,
-      69,    12,    43,     5,   136,   189,    37,    18,    19,    20,
-      10,    22,    43,    13,     8,    26,    27,    28,    29,    30,
-      14,     7,    33,    34,    10,   177,   178,    11,   180,    13,
-     182,    42,    43,   165,     5,    37,     1,     8,   107,     7,
-       5,    43,    10,     8,     7,     3,    17,     1,    11,    12,
-       7,     6,    17,     7,    11,    12,    10,     5,    43,   191,
-      31,    32,    11,     4,    13,    43,    31,    32,    39,    40,
-      41,    42,    43,   257,    39,    40,    41,    42,    43,     9,
-      43,     4,   266,   267,     8,     9,    43,    35,    36,    37,
-      23,   243,   244,   245,   246,     6,    29,   229,    43,     4,
-       5,    10,    11,     8,    13,    43,    39,    12,    10,    11,
-      43,    10,    11,    18,    19,    20,     4,    22,    25,   251,
-       4,    26,    27,    28,    29,    30,     4,     5,    33,    34,
-       8,     4,   221,    38,    12,    43,    41,    42,    43,     8,
-      18,    19,    20,    43,    22,    10,    11,   279,    26,    27,
-      28,    29,    30,     4,     5,    33,    34,     8,     6,    25,
-      43,    12,     9,    43,    42,    43,    43,    18,    19,    20,
-       6,    22,     6,     1,     6,    26,    27,    28,    29,    30,
-       4,     9,    33,    34,     8,    43,    14,     8,    12,     8,
-       8,    42,    43,     8,    18,    19,    20,    25,    22,    17,
-       8,    43,    26,    27,    28,    29,    30,    15,    16,    33,
-      34,     8,    13,    31,    32,    23,    24,     8,    42,    43,
-      25,    39,    40,    41,    42,    43,     0,     1,     6,     3,
-       8,     9,     8,    11,     8,     6,     4,    43,     8,    43,
-       4,    15,    16,     8,    21,    43,     8,    43,    43,    23,
-      24,    43,     7,    43,    43,    43,    13,     7,    11,    43,
-      43,    43,    14,    43,    43,    25,     8,     7,    43,     8,
-      43,    43,     8,     8,    43,    13,    25,    43,    11,    11,
-      43,    11,    43,    11,    11,    43,     8,    13,     7,    43,
-       7,    22,    38,   103,   208,   159,   171,   113,    -1,    -1,
-      -1,    -1,    -1,    62
+      62,    20,    84,   117,   214,     5,   216,     1,     7,    37,
+      39,    43,    74,     7,    43,    43,    10,    32,     1,     4,
+       1,     1,     5,     4,     5,     5,     1,     8,    43,     5,
+       5,    12,    94,     5,     5,    69,    24,    18,    19,    20,
+       0,    22,   104,    43,    43,    26,    27,    28,    29,    30,
+     260,   261,    33,    34,    35,    36,    37,    37,    37,    23,
+      43,    42,    43,    43,    43,    37,   276,    43,    43,     8,
+       9,    43,    43,   107,   136,     7,   190,     8,     3,    11,
+      12,    11,    14,    14,    11,     7,    13,    23,     6,    11,
+      12,     1,    14,    29,     4,     5,   178,   179,     8,   181,
+      43,   183,    12,    39,   166,    10,    11,    43,    18,    19,
+      20,    43,    22,    43,    10,    11,    26,    27,    28,    29,
+      30,    43,     5,    33,    34,     8,    80,    11,    82,    13,
+     192,     4,    42,    43,    17,    89,    10,     1,     1,    13,
+       5,     5,    10,    11,     8,   259,     9,     7,    31,    32,
+      10,    14,    43,    17,   268,   269,    39,    40,    41,    42,
+      43,     9,    25,   245,   246,   247,   248,    31,    32,   231,
+      35,    36,    37,     4,     8,    39,    40,    41,    42,    43,
+       7,    15,    16,    10,     4,     5,    43,    43,     8,    23,
+      24,   253,    12,    10,    11,    25,    13,     6,    18,    19,
+      20,     4,    22,     4,   223,     4,    26,    27,    28,    29,
+      30,    43,     8,    33,    34,    43,     4,     5,    38,   281,
+       8,    41,    42,    43,    12,     6,     9,    25,    43,    43,
+      18,    19,    20,    43,    22,     6,     6,    43,    26,    27,
+      28,    29,    30,     4,     5,    33,    34,     8,     8,     8,
+       8,    12,     6,    43,    42,    43,     8,    18,    19,    20,
+      13,    22,     8,    25,     6,    26,    27,    28,    29,    30,
+       4,     8,    33,    34,     8,     4,    43,    43,    12,    43,
+       8,    42,    43,     8,    18,    19,    20,     8,    22,    17,
+       4,    21,    26,    27,    28,    29,    30,     8,    43,    33,
+      34,     7,    43,    31,    32,    43,    13,    43,    42,    43,
+      43,    39,    40,    41,    42,    43,     0,     1,     6,     3,
+       8,     9,     7,    11,     8,    43,    43,    43,    11,    25,
+      43,    15,    16,    14,    43,    43,     8,     7,    43,    23,
+      24,    43,    43,    43,    43,     8,     8,    25,     8,    43,
+      43,    43,    11,    43,    11,    13,    11,    11,    11,     8,
+       7,    13,     7,    43,    38,   160,    22,   172,   103,   210,
+     113,    62
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -941,20 +941,20 @@ static const yytype_uint8 yystos[] =
       83,     6,    66,    66,     6,    66,    37,    43,    72,    80,
       72,    82,     8,     8,     8,     6,    66,    43,     6,     8,
       11,    74,     7,    43,    69,    89,     8,     9,     8,    70,
-      74,     7,    11,    12,    43,    96,     5,    43,     5,    13,
-       8,     1,     5,    97,    57,    25,    63,     5,    74,     6,
-       8,    67,     4,    43,    64,    65,    71,    10,    13,    43,
-      10,    11,    13,     8,    10,    81,     8,    75,    74,     4,
-      86,    21,    79,    43,     7,    10,    78,     7,    43,    43,
-      43,     8,    14,    65,     8,    43,    74,     7,    84,    69,
-      90,    43,    13,     7,    11,    72,    72,    72,    43,    72,
-      43,    14,    43,    63,    74,    43,    88,    43,    43,    25,
-      43,     8,    89,     7,     5,    35,    36,    37,    91,    43,
-      43,    71,    71,    10,    13,    10,    13,    48,     8,     5,
-       8,    25,    74,     8,     7,    43,    43,    11,    13,    11,
-      72,    72,    72,    72,    76,    74,    11,    11,    63,    71,
-      71,    43,    63,    63,    13,     8,    71,    77,    43,     7,
-      74
+      74,     7,    11,    12,    14,    43,    96,     5,    43,     5,
+      13,     8,     1,     5,    97,    57,    25,    63,     5,    74,
+       6,     8,    67,     4,    43,    64,    65,    71,    10,    13,
+      43,    10,    11,    13,     8,    10,    81,     8,    75,    74,
+       4,    86,    21,    79,    43,     7,    10,    78,     7,    43,
+      43,    43,    43,     8,    14,    65,     8,    43,    74,     7,
+      84,    69,    90,    43,    13,     7,    11,    72,    72,    72,
+      43,    72,    43,    14,    43,    63,    74,    43,    88,    43,
+      43,    25,    43,     8,    89,     7,     5,    35,    36,    37,
+      91,    43,    43,    71,    71,    10,    13,    10,    13,    48,
+       8,     5,     8,    25,    74,     8,     7,    43,    43,    11,
+      13,    11,    72,    72,    72,    72,    76,    74,    11,    11,
+      63,    71,    71,    43,    63,    63,    13,     8,    71,    77,
+      43,     7,    74
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -2537,12 +2537,25 @@ yyreduce:
     break;
 
   case 66:
-#line 407 "ael.y"
-    { (yyval.str) = (yyvsp[(1) - (1)].str);;}
+#line 405 "ael.y"
+    {
+               if (asprintf(&((yyval.str)), "%s@%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
+                       ast_log(LOG_WARNING, "asprintf() failed\n");
+                       (yyval.str) = NULL;
+               } else {
+                       free((yyvsp[(1) - (3)].str));
+                       free((yyvsp[(3) - (3)].str));
+               }
+       ;}
     break;
 
   case 67:
-#line 408 "ael.y"
+#line 416 "ael.y"
+    { (yyval.str) = (yyvsp[(1) - (1)].str);;}
+    break;
+
+  case 68:
+#line 417 "ael.y"
     {
                if (asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)) < 0) {
                        ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2555,8 +2568,8 @@ yyreduce:
        ;}
     break;
 
-  case 68:
-#line 418 "ael.y"
+  case 69:
+#line 427 "ael.y"
     {
                if (asprintf(&((yyval.str)), "%s%s%s", (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
                        ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2570,13 +2583,13 @@ yyreduce:
        ;}
     break;
 
-  case 69:
-#line 431 "ael.y"
+  case 70:
+#line 440 "ael.y"
     { (yyval.str) = (yyvsp[(1) - (1)].str);;}
     break;
 
-  case 70:
-#line 432 "ael.y"
+  case 71:
+#line 441 "ael.y"
     {
                if (asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)) < 0) {
                        ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2588,8 +2601,8 @@ yyreduce:
        ;}
     break;
 
-  case 71:
-#line 441 "ael.y"
+  case 72:
+#line 450 "ael.y"
     {
                if (asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
                        ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2601,69 +2614,69 @@ yyreduce:
        ;}
     break;
 
-  case 72:
-#line 452 "ael.y"
+  case 73:
+#line 461 "ael.y"
     {
                (yyval.pval) = npval2(PV_SWITCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
                (yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
                (yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;}
     break;
 
-  case 73:
-#line 461 "ael.y"
+  case 74:
+#line 470 "ael.y"
     {
                (yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
                (yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));;}
     break;
 
-  case 74:
-#line 464 "ael.y"
+  case 75:
+#line 473 "ael.y"
     { (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
     break;
 
-  case 75:
-#line 465 "ael.y"
+  case 76:
+#line 474 "ael.y"
     { (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
     break;
 
-  case 76:
-#line 466 "ael.y"
+  case 77:
+#line 475 "ael.y"
     {
                (yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
                (yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
     break;
 
-  case 77:
-#line 469 "ael.y"
+  case 78:
+#line 478 "ael.y"
     {
                (yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
                (yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
     break;
 
-  case 78:
-#line 472 "ael.y"
+  case 79:
+#line 481 "ael.y"
     {
                (yyval.pval) = npval2(PV_LABEL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
                (yyval.pval)->u1.str = (yyvsp[(1) - (2)].str); ;}
     break;
 
-  case 79:
-#line 475 "ael.y"
+  case 80:
+#line 484 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
-  case 80:
-#line 476 "ael.y"
+  case 81:
+#line 485 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
-  case 81:
-#line 477 "ael.y"
+  case 82:
+#line 486 "ael.y"
     {reset_parencount(parseio->scanner);;}
     break;
 
-  case 82:
-#line 477 "ael.y"
+  case 83:
+#line 486 "ael.y"
     { /* XXX word_list maybe ? */
                (yyval.pval) = npval2(PV_FOR, &(yylsp[(1) - (12)]), &(yylsp[(12) - (12)]));
                (yyval.pval)->u1.for_init = (yyvsp[(4) - (12)].str);
@@ -2672,43 +2685,43 @@ yyreduce:
                (yyval.pval)->u4.for_statements = (yyvsp[(12) - (12)].pval); set_dads((yyval.pval),(yyvsp[(12) - (12)].pval));;}
     break;
 
-  case 83:
-#line 483 "ael.y"
+  case 84:
+#line 492 "ael.y"
     {
                (yyval.pval) = npval2(PV_WHILE, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
                (yyval.pval)->u1.str = (yyvsp[(2) - (3)].str);
                (yyval.pval)->u2.statements = (yyvsp[(3) - (3)].pval); set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
     break;
 
-  case 84:
-#line 487 "ael.y"
+  case 85:
+#line 496 "ael.y"
     { (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
     break;
 
-  case 85:
-#line 488 "ael.y"
+  case 86:
+#line 497 "ael.y"
     { (yyval.pval) = update_last((yyvsp[(2) - (3)].pval), &(yylsp[(2) - (3)])); ;}
     break;
 
-  case 86:
-#line 489 "ael.y"
+  case 87:
+#line 498 "ael.y"
     { (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
     break;
 
-  case 87:
-#line 490 "ael.y"
+  case 88:
+#line 499 "ael.y"
     {
                (yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
                (yyval.pval)->u1.str = (yyvsp[(1) - (2)].str);;}
     break;
 
-  case 88:
-#line 493 "ael.y"
+  case 89:
+#line 502 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
-  case 89:
-#line 493 "ael.y"
+  case 90:
+#line 502 "ael.y"
     {
                char *bufx;
                int tot=0;
@@ -2744,127 +2757,127 @@ yyreduce:
        ;}
     break;
 
-  case 90:
-#line 526 "ael.y"
+  case 91:
+#line 535 "ael.y"
     { (yyval.pval) = npval2(PV_BREAK, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
     break;
 
-  case 91:
-#line 527 "ael.y"
+  case 92:
+#line 536 "ael.y"
     { (yyval.pval) = npval2(PV_RETURN, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
     break;
 
-  case 92:
-#line 528 "ael.y"
+  case 93:
+#line 537 "ael.y"
     { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
     break;
 
-  case 93:
-#line 529 "ael.y"
+  case 94:
+#line 538 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(2) - (3)]));
                (yyval.pval)->u2.statements = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));
                (yyval.pval)->u3.else_statements = (yyvsp[(3) - (3)].pval);set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
     break;
 
-  case 94:
-#line 533 "ael.y"
+  case 95:
+#line 542 "ael.y"
     { (yyval.pval)=0; ;}
     break;
 
-  case 95:
-#line 536 "ael.y"
+  case 96:
+#line 545 "ael.y"
     { (yyval.pval) = (yyvsp[(2) - (2)].pval); ;}
     break;
 
-  case 96:
-#line 537 "ael.y"
+  case 97:
+#line 546 "ael.y"
     { (yyval.pval) = NULL ; ;}
     break;
 
-  case 97:
-#line 540 "ael.y"
+  case 98:
+#line 549 "ael.y"
     { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
     break;
 
-  case 98:
-#line 541 "ael.y"
+  case 99:
+#line 550 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
                (yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;}
     break;
 
-  case 99:
-#line 544 "ael.y"
+  case 100:
+#line 553 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
                (yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;}
     break;
 
-  case 100:
-#line 547 "ael.y"
+  case 101:
+#line 556 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
                (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
                (yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
     break;
 
-  case 101:
-#line 551 "ael.y"
+  case 102:
+#line 560 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
                (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
                (yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
     break;
 
-  case 102:
-#line 555 "ael.y"
+  case 103:
+#line 564 "ael.y"
     {
                (yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
                (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
                (yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
     break;
 
-  case 103:
-#line 559 "ael.y"
+  case 104:
+#line 568 "ael.y"
     {
                (yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
                (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
                (yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
     break;
 
-  case 104:
-#line 565 "ael.y"
+  case 105:
+#line 574 "ael.y"
     { (yyval.str) = strdup("1"); ;}
     break;
 
-  case 105:
-#line 566 "ael.y"
+  case 106:
+#line 575 "ael.y"
     { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
     break;
 
-  case 106:
-#line 570 "ael.y"
+  case 107:
+#line 579 "ael.y"
     {                  /* ext[, pri] default 1 */
                (yyval.pval) = nword((yyvsp[(1) - (2)].str), &(yylsp[(1) - (2)]));
                (yyval.pval)->next = nword((yyvsp[(2) - (2)].str), &(yylsp[(2) - (2)])); ;}
     break;
 
-  case 107:
-#line 573 "ael.y"
+  case 108:
+#line 582 "ael.y"
     {  /* context, ext, pri */
                (yyval.pval) = nword((yyvsp[(4) - (4)].str), &(yylsp[(4) - (4)]));
                (yyval.pval)->next = nword((yyvsp[(1) - (4)].str), &(yylsp[(1) - (4)]));
                (yyval.pval)->next->next = nword((yyvsp[(2) - (4)].str), &(yylsp[(2) - (4)])); ;}
     break;
 
-  case 108:
-#line 579 "ael.y"
+  case 109:
+#line 588 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
-  case 109:
-#line 579 "ael.y"
+  case 110:
+#line 588 "ael.y"
     {
                /* XXX original code had @2 but i think we need @5 */
                (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
@@ -2872,20 +2885,20 @@ yyreduce:
                (yyval.pval)->u2.arglist = (yyvsp[(4) - (5)].pval);;}
     break;
 
-  case 110:
-#line 584 "ael.y"
+  case 111:
+#line 593 "ael.y"
     {
                (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
                (yyval.pval)->u1.str = (yyvsp[(1) - (3)].str); ;}
     break;
 
-  case 111:
-#line 592 "ael.y"
+  case 112:
+#line 601 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
-  case 112:
-#line 592 "ael.y"
+  case 113:
+#line 601 "ael.y"
     {
                if (strcasecmp((yyvsp[(1) - (3)].str),"goto") == 0) {
                        (yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(2) - (3)]));
@@ -2897,8 +2910,8 @@ yyreduce:
                } ;}
     break;
 
-  case 113:
-#line 603 "ael.y"
+  case 114:
+#line 612 "ael.y"
     {
                (yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(3) - (3)]));
                if( (yyval.pval)->type == PV_GOTO )
@@ -2908,126 +2921,126 @@ yyreduce:
        ;}
     break;
 
-  case 114:
-#line 610 "ael.y"
+  case 115:
+#line 619 "ael.y"
     { (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
     break;
 
-  case 115:
-#line 613 "ael.y"
+  case 116:
+#line 622 "ael.y"
     { (yyval.str) = (yyvsp[(1) - (1)].str) ;}
     break;
 
-  case 116:
-#line 614 "ael.y"
+  case 117:
+#line 623 "ael.y"
     { (yyval.str) = strdup(""); ;}
     break;
 
-  case 117:
-#line 617 "ael.y"
+  case 118:
+#line 626 "ael.y"
     { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
     break;
 
-  case 118:
-#line 618 "ael.y"
+  case 119:
+#line 627 "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 119:
-#line 621 "ael.y"
+  case 120:
+#line 630 "ael.y"
     { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;}
     break;
 
-  case 120:
-#line 624 "ael.y"
+  case 121:
+#line 633 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 121:
-#line 625 "ael.y"
+  case 122:
+#line 634 "ael.y"
     { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
     break;
 
-  case 122:
-#line 628 "ael.y"
+  case 123:
+#line 637 "ael.y"
     {
                (yyval.pval) = npval2(PV_CASE, &(yylsp[(1) - (4)]), &(yylsp[(3) - (4)])); /* XXX 3 or 4 ? */
                (yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
                (yyval.pval)->u2.statements = (yyvsp[(4) - (4)].pval); set_dads((yyval.pval),(yyvsp[(4) - (4)].pval));;}
     break;
 
-  case 123:
-#line 632 "ael.y"
+  case 124:
+#line 641 "ael.y"
     {
                (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
                (yyval.pval)->u1.str = NULL;
                (yyval.pval)->u2.statements = (yyvsp[(3) - (3)].pval);set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
     break;
 
-  case 124:
-#line 636 "ael.y"
+  case 125:
+#line 645 "ael.y"
     {
                (yyval.pval) = npval2(PV_PATTERN, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); /* XXX@3 or @4 ? */
                (yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
                (yyval.pval)->u2.statements = (yyvsp[(4) - (4)].pval);set_dads((yyval.pval),(yyvsp[(4) - (4)].pval));;}
     break;
 
-  case 125:
-#line 642 "ael.y"
+  case 126:
+#line 651 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 126:
-#line 643 "ael.y"
+  case 127:
+#line 652 "ael.y"
     { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
     break;
 
-  case 127:
-#line 646 "ael.y"
+  case 128:
+#line 655 "ael.y"
     {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
     break;
 
-  case 128:
-#line 647 "ael.y"
+  case 129:
+#line 656 "ael.y"
     { (yyval.pval)=(yyvsp[(1) - (1)].pval);;}
     break;
 
-  case 129:
-#line 648 "ael.y"
+  case 130:
+#line 657 "ael.y"
     {
                (yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
                (yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
                (yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;}
     break;
 
-  case 130:
-#line 654 "ael.y"
+  case 131:
+#line 663 "ael.y"
     {
                (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
                (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
     break;
 
-  case 131:
-#line 659 "ael.y"
+  case 132:
+#line 668 "ael.y"
     {
                (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
                (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
     break;
 
-  case 132:
-#line 664 "ael.y"
+  case 133:
+#line 673 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 133:
-#line 665 "ael.y"
+  case 134:
+#line 674 "ael.y"
     { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval),nword((yyvsp[(2) - (3)].str), &(yylsp[(2) - (3)]))); ;}
     break;
 
-  case 134:
-#line 666 "ael.y"
+  case 135:
+#line 675 "ael.y"
     {
          char *x;
          if (asprintf(&x,"%s@%s", (yyvsp[(2) - (5)].str), (yyvsp[(4) - (5)].str)) < 0) {
@@ -3041,55 +3054,55 @@ yyreduce:
        ;}
     break;
 
-  case 135:
-#line 677 "ael.y"
+  case 136:
+#line 686 "ael.y"
     {(yyval.pval)=(yyvsp[(2) - (2)].pval);;}
     break;
 
-  case 136:
-#line 680 "ael.y"
+  case 137:
+#line 689 "ael.y"
     { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
     break;
 
-  case 137:
-#line 681 "ael.y"
+  case 138:
+#line 690 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
                (yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval);
                prev_word=0; /* XXX sure ? */ ;}
     break;
 
-  case 138:
-#line 688 "ael.y"
+  case 139:
+#line 697 "ael.y"
     { (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
     break;
 
-  case 139:
-#line 689 "ael.y"
+  case 140:
+#line 698 "ael.y"
     { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
     break;
 
-  case 140:
-#line 690 "ael.y"
+  case 141:
+#line 699 "ael.y"
     {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
     break;
 
-  case 141:
-#line 693 "ael.y"
+  case 142:
+#line 702 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
                (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
     break;
 
-  case 142:
-#line 696 "ael.y"
+  case 143:
+#line 705 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;}
     break;
 
 
 /* Line 1267 of yacc.c.  */
-#line 3093 "ael.tab.c"
+#line 3106 "ael.tab.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3309,7 +3322,7 @@ yyreturn:
 }
 
 
-#line 701 "ael.y"
+#line 710 "ael.y"
 
 
 static char *token_equivs1[] =