diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c
index 10103b0892271ee108a9b898c438e55de20ec387..aeff148dbd6abd788622bec3489d351f04f5d70e 100644
--- a/pbx/ael/ael.tab.c
+++ b/pbx/ael/ael.tab.c
@@ -420,16 +420,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  14
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   321
+#define YYLAST   302
 
 /* YYNTOKENS -- Number of terminals. */
 #define YYNTOKENS  42
 /* YYNNTS -- Number of nonterminals. */
-#define YYNNTS  55
+#define YYNNTS  54
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  135
+#define YYNRULES  132
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  263
+#define YYNSTATES  262
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -482,16 +482,16 @@ static const unsigned short int yyprhs[] =
       21,    23,    25,    30,    32,    33,    42,    47,    48,    51,
       54,    55,    61,    62,    64,    68,    71,    75,    76,    79,
       82,    84,    86,    88,    90,    92,    94,    97,    99,   104,
-     108,   113,   121,   130,   132,   135,   138,   144,   146,   154,
-     155,   160,   163,   166,   171,   173,   176,   178,   181,   185,
-     187,   190,   194,   200,   204,   206,   210,   214,   217,   218,
-     219,   220,   233,   237,   239,   243,   246,   249,   250,   256,
-     259,   262,   265,   269,   271,   274,   275,   277,   281,   285,
-     291,   297,   303,   309,   311,   315,   321,   325,   326,   332,
-     336,   337,   341,   345,   348,   350,   351,   353,   354,   358,
-     359,   361,   364,   365,   367,   372,   376,   381,   382,   384,
-     387,   389,   395,   398,   401,   405,   408,   411,   415,   418,
-     420,   424,   427,   431,   434,   439
+     108,   113,   121,   130,   131,   134,   137,   143,   145,   153,
+     154,   159,   162,   165,   170,   172,   175,   177,   180,   184,
+     186,   189,   193,   199,   203,   205,   209,   213,   216,   217,
+     218,   219,   232,   236,   238,   242,   245,   248,   249,   255,
+     258,   261,   264,   268,   270,   273,   274,   276,   280,   284,
+     290,   296,   302,   308,   310,   314,   320,   324,   325,   331,
+     335,   336,   340,   344,   347,   349,   350,   352,   353,   357,
+     358,   361,   366,   370,   375,   376,   378,   381,   383,   389,
+     392,   395,   399,   402,   405,   409,   412,   414,   418,   421,
+     425,   428,   433
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -500,67 +500,66 @@ static const yysigned_char yyrhs[] =
       43,     0,    -1,    44,    -1,    45,    -1,    44,    45,    -1,
       44,     1,    -1,    47,    -1,    49,    -1,    50,    -1,     8,
       -1,    41,    -1,    36,    -1,    48,     3,    46,    55,    -1,
-      23,    -1,    -1,    15,    41,     6,    54,     7,     4,    88,
+      23,    -1,    -1,    15,    41,     6,    54,     7,     4,    87,
        5,    -1,    16,     4,    51,     5,    -1,    -1,    52,    51,
       -1,    51,     1,    -1,    -1,    41,     9,    53,    41,     8,
       -1,    -1,    41,    -1,    54,    10,    41,    -1,    54,     1,
       -1,     4,    56,     5,    -1,    -1,    57,    56,    -1,    56,
-       1,    -1,    59,    -1,    96,    -1,    90,    -1,    91,    -1,
+       1,    -1,    59,    -1,    95,    -1,    89,    -1,    90,    -1,
       58,    -1,    52,    -1,    41,     1,    -1,     8,    -1,    17,
       24,    41,     8,    -1,    41,    24,    70,    -1,    30,    41,
       24,    70,    -1,    31,     6,    67,     7,    41,    24,    70,
       -1,    30,    31,     6,    67,     7,    41,    24,    70,    -1,
-      70,    -1,    60,    70,    -1,    60,     1,    -1,    67,    11,
-      67,    11,    67,    -1,    41,    -1,    61,    13,    67,    13,
-      67,    13,    67,    -1,    -1,     6,    64,    66,     7,    -1,
-      19,    63,    -1,    22,    63,    -1,    20,     6,    62,     7,
-      -1,    41,    -1,    41,    41,    -1,    41,    -1,    41,    41,
-      -1,    41,    41,    41,    -1,    41,    -1,    41,    41,    -1,
-      41,    11,    41,    -1,    18,    63,     4,    85,     5,    -1,
-       4,    60,     5,    -1,    52,    -1,    25,    76,     8,    -1,
-      26,    77,     8,    -1,    41,    11,    -1,    -1,    -1,    -1,
-      32,     6,    71,    41,     8,    72,    41,     8,    73,    41,
-       7,    70,    -1,    33,    63,    70,    -1,    69,    -1,    12,
-      78,     8,    -1,    82,     8,    -1,    41,     8,    -1,    -1,
-      82,     9,    74,    41,     8,    -1,    28,     8,    -1,    27,
-       8,    -1,    29,     8,    -1,    65,    70,    75,    -1,     8,
-      -1,    21,    70,    -1,    -1,    68,    -1,    68,    13,    68,
-      -1,    68,    10,    68,    -1,    68,    13,    68,    13,    68,
-      -1,    68,    10,    68,    10,    68,    -1,    36,    13,    68,
-      13,    68,    -1,    36,    10,    68,    10,    68,    -1,    68,
-      -1,    68,    10,    68,    -1,    68,    10,    41,    14,    46,
-      -1,    68,    14,    46,    -1,    -1,    41,     6,    79,    84,
-       7,    -1,    41,     6,     7,    -1,    -1,    41,     6,    81,
-      -1,    80,    84,     7,    -1,    80,     7,    -1,    41,    -1,
-      -1,    66,    -1,    -1,    84,    10,    83,    -1,    -1,    87,
-      -1,    85,    87,    -1,    -1,    60,    -1,    34,    41,    11,
-      86,    -1,    36,    11,    86,    -1,    35,    41,    11,    86,
-      -1,    -1,    89,    -1,    88,    89,    -1,    70,    -1,    37,
-      41,     4,    60,     5,    -1,    38,    92,    -1,    39,    92,
-      -1,     4,    93,     5,    -1,     4,     5,    -1,    41,     8,
-      -1,    93,    41,     8,    -1,    93,     1,    -1,    46,    -1,
-      46,    13,    62,    -1,    94,     8,    -1,    95,    94,     8,
-      -1,    95,     1,    -1,    40,     4,    95,     5,    -1,    40,
-       4,     5,    -1
+      -1,    70,    60,    -1,    60,     1,    -1,    67,    11,    67,
+      11,    67,    -1,    41,    -1,    61,    13,    67,    13,    67,
+      13,    67,    -1,    -1,     6,    64,    66,     7,    -1,    19,
+      63,    -1,    22,    63,    -1,    20,     6,    62,     7,    -1,
+      41,    -1,    41,    41,    -1,    41,    -1,    41,    41,    -1,
+      41,    41,    41,    -1,    41,    -1,    41,    41,    -1,    41,
+      11,    41,    -1,    18,    63,     4,    85,     5,    -1,     4,
+      60,     5,    -1,    52,    -1,    25,    76,     8,    -1,    26,
+      77,     8,    -1,    41,    11,    -1,    -1,    -1,    -1,    32,
+       6,    71,    41,     8,    72,    41,     8,    73,    41,     7,
+      70,    -1,    33,    63,    70,    -1,    69,    -1,    12,    78,
+       8,    -1,    82,     8,    -1,    41,     8,    -1,    -1,    82,
+       9,    74,    41,     8,    -1,    28,     8,    -1,    27,     8,
+      -1,    29,     8,    -1,    65,    70,    75,    -1,     8,    -1,
+      21,    70,    -1,    -1,    68,    -1,    68,    13,    68,    -1,
+      68,    10,    68,    -1,    68,    13,    68,    13,    68,    -1,
+      68,    10,    68,    10,    68,    -1,    36,    13,    68,    13,
+      68,    -1,    36,    10,    68,    10,    68,    -1,    68,    -1,
+      68,    10,    68,    -1,    68,    10,    41,    14,    46,    -1,
+      68,    14,    46,    -1,    -1,    41,     6,    79,    84,     7,
+      -1,    41,     6,     7,    -1,    -1,    41,     6,    81,    -1,
+      80,    84,     7,    -1,    80,     7,    -1,    41,    -1,    -1,
+      66,    -1,    -1,    84,    10,    83,    -1,    -1,    86,    85,
+      -1,    34,    41,    11,    60,    -1,    36,    11,    60,    -1,
+      35,    41,    11,    60,    -1,    -1,    88,    -1,    87,    88,
+      -1,    70,    -1,    37,    41,     4,    60,     5,    -1,    38,
+      91,    -1,    39,    91,    -1,     4,    92,     5,    -1,     4,
+       5,    -1,    41,     8,    -1,    92,    41,     8,    -1,    92,
+       1,    -1,    46,    -1,    46,    13,    62,    -1,    93,     8,
+      -1,    94,    93,     8,    -1,    94,     1,    -1,    40,     4,
+      94,     5,    -1,    40,     4,     5,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short int yyrline[] =
 {
-       0,   182,   182,   185,   186,   187,   190,   191,   192,   193,
-     196,   197,   200,   208,   209,   212,   217,   222,   223,   224,
-     227,   227,   233,   234,   235,   236,   239,   242,   243,   244,
-     247,   248,   249,   250,   251,   252,   253,   254,   257,   262,
-     266,   271,   276,   285,   286,   287,   293,   298,   302,   310,
-     310,   315,   318,   321,   332,   333,   340,   341,   346,   354,
-     355,   359,   365,   374,   377,   378,   381,   384,   387,   388,
-     389,   387,   395,   399,   400,   402,   404,   407,   407,   440,
-     441,   442,   443,   447,   450,   451,   456,   457,   460,   463,
-     467,   471,   475,   482,   485,   488,   492,   498,   498,   503,
-     511,   511,   522,   529,   532,   533,   536,   537,   540,   543,
-     544,   545,   549,   550,   553,   557,   561,   567,   568,   569,
-     572,   573,   579,   584,   589,   590,   593,   594,   595,   598,
-     599,   606,   607,   608,   611,   614
+       0,   180,   180,   183,   184,   185,   188,   189,   190,   191,
+     194,   195,   198,   206,   207,   210,   215,   220,   221,   222,
+     225,   225,   231,   232,   233,   234,   237,   240,   241,   242,
+     245,   246,   247,   248,   249,   250,   251,   252,   255,   260,
+     264,   269,   274,   284,   285,   286,   292,   297,   301,   309,
+     309,   314,   317,   320,   331,   332,   339,   340,   345,   353,
+     354,   358,   364,   373,   376,   377,   380,   383,   386,   387,
+     388,   386,   394,   398,   399,   401,   403,   406,   406,   439,
+     440,   441,   442,   446,   449,   450,   455,   456,   459,   462,
+     466,   470,   474,   481,   484,   487,   491,   497,   497,   502,
+     510,   510,   521,   528,   531,   532,   535,   536,   539,   542,
+     543,   546,   550,   554,   560,   561,   562,   565,   566,   572,
+     577,   582,   583,   586,   587,   588,   591,   592,   599,   600,
+     601,   604,   607
 };
 #endif
 
@@ -583,10 +582,9 @@ static const char *const yytname[] =
   "word_list", "word3_list", "goto_word", "switch_statement", "statement",
   "@3", "@4", "@5", "@6", "opt_else", "target", "jumptarget", "macro_call",
   "@7", "application_call_head", "@8", "application_call", "opt_word",
-  "eval_arglist", "case_statements", "opt_statements", "case_statement",
-  "macro_statements", "macro_statement", "switches", "eswitches",
-  "switchlist_block", "switchlist", "included_entry", "includeslist",
-  "includes", 0
+  "eval_arglist", "case_statements", "case_statement", "macro_statements",
+  "macro_statement", "switches", "eswitches", "switchlist_block",
+  "switchlist", "included_entry", "includeslist", "includes", 0
 };
 #endif
 
@@ -617,9 +615,9 @@ static const unsigned char yyr1[] =
       70,    70,    70,    70,    75,    75,    76,    76,    76,    76,
       76,    76,    76,    77,    77,    77,    77,    79,    78,    78,
       81,    80,    82,    82,    83,    83,    84,    84,    84,    85,
-      85,    85,    86,    86,    87,    87,    87,    88,    88,    88,
-      89,    89,    90,    91,    92,    92,    93,    93,    93,    94,
-      94,    95,    95,    95,    96,    96
+      85,    86,    86,    86,    87,    87,    87,    88,    88,    89,
+      90,    91,    91,    92,    92,    92,    93,    93,    94,    94,
+      94,    95,    95
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -629,16 +627,16 @@ static const unsigned char yyr2[] =
        1,     1,     4,     1,     0,     8,     4,     0,     2,     2,
        0,     5,     0,     1,     3,     2,     3,     0,     2,     2,
        1,     1,     1,     1,     1,     1,     2,     1,     4,     3,
-       4,     7,     8,     1,     2,     2,     5,     1,     7,     0,
+       4,     7,     8,     0,     2,     2,     5,     1,     7,     0,
        4,     2,     2,     4,     1,     2,     1,     2,     3,     1,
        2,     3,     5,     3,     1,     3,     3,     2,     0,     0,
        0,    12,     3,     1,     3,     2,     2,     0,     5,     2,
        2,     2,     3,     1,     2,     0,     1,     3,     3,     5,
        5,     5,     5,     1,     3,     5,     3,     0,     5,     3,
        0,     3,     3,     2,     1,     0,     1,     0,     3,     0,
-       1,     2,     0,     1,     4,     3,     4,     0,     1,     2,
-       1,     5,     2,     2,     3,     2,     2,     3,     2,     1,
-       3,     2,     3,     2,     4,     3
+       2,     4,     3,     4,     0,     1,     2,     1,     5,     2,
+       2,     3,     2,     2,     3,     2,     1,     3,     2,     3,
+       2,     4,     3
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -651,84 +649,84 @@ static const unsigned char yydefact[] =
        0,    17,    11,    10,     0,    23,     0,    20,    19,    16,
        0,    27,    12,    25,     0,     0,     0,    37,     0,     0,
        0,     0,     0,     0,     0,    35,     0,    27,    34,    30,
-      32,    33,    31,   117,    24,     0,     0,     0,     0,     0,
-       0,   122,   123,     0,    36,     0,    29,    26,     0,     0,
+      32,    33,    31,   114,    24,     0,     0,     0,     0,     0,
+       0,   119,   120,     0,    36,     0,    29,    26,     0,    43,
       83,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    64,     0,    73,   120,   107,
-       0,     0,   118,    21,     0,     0,     0,    56,     0,   125,
-       0,     0,   135,   129,     0,     0,    39,     0,    43,     0,
+       0,     0,     0,     0,     0,    64,     0,    73,   117,   107,
+       0,     0,   115,    21,     0,     0,     0,    56,     0,   122,
+       0,     0,   132,   126,     0,     0,    39,     0,    43,     0,
        0,    49,     0,    51,     0,    52,     0,    59,    86,     0,
       93,     0,    80,    79,    81,    68,     0,     0,   100,    76,
-      67,    85,   103,    54,   106,     0,    75,    77,    15,   119,
-      38,     0,    40,    57,     0,   126,   128,   124,     0,     0,
-     131,   133,   134,     0,    45,    63,    44,    97,    74,     0,
+      67,    85,   103,    54,   106,     0,    75,    77,    15,   116,
+      38,     0,    40,    57,     0,   123,   125,   121,     0,     0,
+     128,   130,   131,     0,    45,    63,     0,    97,    74,     0,
      109,    47,     0,     0,     0,     0,     0,     0,    60,     0,
-       0,    65,     0,     0,    66,     0,    72,     0,   101,     0,
-      82,    55,   102,   105,     0,     0,    58,     0,   127,   130,
-     132,    99,   107,     0,     0,     0,     0,     0,   110,     0,
+       0,    65,     0,     0,    66,     0,    72,    43,   101,     0,
+      82,    55,   102,   105,     0,     0,    58,     0,   124,   127,
+     129,    99,   107,     0,     0,     0,     0,     0,   109,     0,
       53,     0,     0,     0,    61,    88,    87,    59,    94,    96,
        0,     0,    84,   104,   108,     0,     0,     0,     0,    50,
-       0,     0,   112,    62,   111,     0,     0,     0,     0,     0,
-       0,     0,    69,   121,    78,     0,    41,    98,   112,   112,
-       0,   115,     0,     0,    92,    91,    90,    89,    95,     0,
-      42,   114,   116,     0,    46,     0,     0,    70,    48,     0,
-       0,     0,    71
+       0,     0,    43,    62,   110,     0,     0,     0,     0,     0,
+       0,     0,    69,   118,    78,     0,    41,    98,    43,    43,
+       0,     0,     0,    92,    91,    90,    89,    95,     0,    42,
+       0,     0,     0,    46,     0,     0,    70,    48,     0,     0,
+       0,    71
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short int yydefgoto[] =
 {
       -1,     5,     6,     7,   103,     8,     9,    10,    11,    20,
-      85,    36,    26,    32,    46,    47,    48,    49,   240,   162,
+      85,    36,    26,    32,    46,    47,    48,    49,   107,   162,
      163,   112,   159,    86,   134,   164,   118,    87,   108,   175,
-     249,   259,   184,   180,   119,   121,   110,   192,    89,   178,
-      90,   214,   135,   197,   241,   198,    91,    92,    50,    51,
-      61,   101,   104,   105,    52
+     248,   258,   184,   180,   119,   121,   110,   192,    89,   178,
+      90,   214,   135,   197,   198,    91,    92,    50,    51,    61,
+     101,   104,   105,    52
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -73
+#define YYPACT_NINF -106
 static const short int yypact[] =
 {
-     116,   -73,   -19,    28,   -73,    67,   122,   -73,   -73,    72,
-     -73,   -73,    95,    71,   -73,   -73,   -73,    45,    85,   119,
-      18,    71,   -73,   -73,   137,   -73,    19,   -73,   -73,   -73,
-     135,    20,   -73,   -73,   154,   123,   127,   -73,   146,   -16,
-     163,   167,   167,   168,     7,   -73,   142,    20,   -73,   -73,
-     -73,   -73,   -73,   245,   -73,   165,   133,   169,   152,   136,
-       0,   -73,   -73,    -1,   -73,   271,   -73,   -73,   149,   271,
-     -73,   138,   172,   172,   174,   172,    68,   141,   173,   176,
-     179,   183,   172,   150,   140,   -73,   271,   -73,   -73,     5,
-     110,   219,   -73,   -73,   182,   136,   271,   151,   186,   -73,
-     187,    13,   -73,   189,   188,     6,   -73,    88,   -73,   194,
-     195,   -73,   200,   -73,   166,   -73,    11,    -5,    81,   198,
-     143,   202,   -73,   -73,   -73,   -73,   271,   204,   -73,   -73,
-     -73,   196,   -73,   175,   -73,    23,   -73,   -73,   -73,   -73,
-     -73,   221,   -73,   191,   192,   -73,   -73,   -73,   222,   166,
-     -73,   -73,   -73,   227,   -73,   -73,   -73,   229,   -73,   199,
-      99,    46,   216,   235,   232,   141,   141,   209,   -73,   141,
-     141,   -73,   213,    45,   -73,   214,   -73,   271,   -73,   271,
-     -73,   -73,   -73,   217,   218,   220,   -73,   238,   -73,   -73,
-     -73,   -73,   199,   259,   228,   239,   257,    48,   -73,   136,
-     -73,   136,   266,   268,   -73,   274,   272,    54,   -73,   -73,
-     279,   193,   -73,   -73,   -73,   280,   270,   271,   145,   -73,
-     281,   284,   271,   -73,   -73,   288,   291,   141,   141,   141,
-     141,    45,   -73,   -73,   -73,   271,   -73,   -73,   271,   271,
-      44,   -73,   136,   136,   -73,   -73,   -73,   -73,   -73,   264,
-     -73,   -73,   -73,   293,   -73,   299,   136,   -73,   -73,   267,
-     302,   271,   -73
+     122,  -106,   -25,    13,  -106,    36,   166,  -106,  -106,    40,
+    -106,  -106,    69,    50,  -106,  -106,  -106,    21,    60,   102,
+      93,    50,  -106,  -106,   128,  -106,    96,  -106,  -106,  -106,
+     103,   123,  -106,  -106,   137,   107,   108,  -106,   151,    17,
+     185,   188,   188,   200,   104,  -106,   124,   123,  -106,  -106,
+    -106,  -106,  -106,     0,  -106,   197,   169,   201,   187,   171,
+       9,  -106,  -106,     6,  -106,   168,  -106,  -106,   134,   168,
+    -106,   172,   209,   209,   210,   209,    46,   176,   211,   212,
+     213,   216,   209,   177,   101,  -106,   168,  -106,  -106,     8,
+      59,    51,  -106,  -106,   215,   171,   168,   183,   218,  -106,
+     219,     5,  -106,   217,   220,     4,  -106,   142,   168,   223,
+     224,  -106,   222,  -106,   190,  -106,   158,    12,   160,   225,
+     136,   226,  -106,  -106,  -106,  -106,   168,   231,  -106,  -106,
+    -106,   221,  -106,   195,  -106,   192,  -106,  -106,  -106,  -106,
+    -106,   230,  -106,   198,   199,  -106,  -106,  -106,   233,   190,
+    -106,  -106,  -106,   235,  -106,  -106,    30,   237,  -106,   204,
+     143,    19,   234,   239,   227,   176,   176,   207,  -106,   176,
+     176,  -106,   208,    21,  -106,   214,  -106,   168,  -106,   168,
+    -106,  -106,  -106,   228,   229,   232,  -106,   236,  -106,  -106,
+    -106,  -106,   204,   243,   238,   240,   241,   246,   143,   171,
+    -106,   171,   244,   245,  -106,   247,   248,    10,  -106,  -106,
+     251,   150,  -106,  -106,  -106,   254,   242,   168,   196,  -106,
+     252,   253,   168,  -106,  -106,   255,   256,   176,   176,   176,
+     176,    21,  -106,  -106,  -106,   168,  -106,  -106,   168,   168,
+      80,   171,   171,  -106,  -106,  -106,  -106,  -106,   249,  -106,
+      85,    88,   258,  -106,   257,   171,  -106,  -106,   250,   265,
+     168,  -106
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short int yypgoto[] =
 {
-     -73,   -73,   -73,   304,   -17,   -73,   -73,   -73,   -73,   290,
-      -4,   -73,   -73,   -73,   269,   -73,   -73,   -73,   -66,   -73,
-     164,    15,   -73,   -73,   155,   -57,   -67,   -73,   -52,   -73,
-     -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,
-     -73,   -73,   125,   -73,   -72,   118,   -73,   230,   -73,   -73,
-     276,   -73,   215,   -73,   -73
+    -106,  -106,  -106,   268,   -17,  -106,  -106,  -106,  -106,   259,
+     105,  -106,  -106,  -106,   206,  -106,  -106,  -106,  -105,  -106,
+     126,   -21,  -106,  -106,    97,   -57,   -70,  -106,   -52,  -106,
+    -106,  -106,  -106,  -106,  -106,  -106,  -106,  -106,  -106,  -106,
+    -106,  -106,    84,    79,  -106,  -106,   191,  -106,  -106,   260,
+    -106,   173,  -106,  -106
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -738,76 +736,72 @@ static const short int yypgoto[] =
 #define YYTABLE_NINF -114
 static const short int yytable[] =
 {
-      24,    88,    98,   107,   102,    99,   167,   151,    64,    21,
-     120,   152,   132,   106,   146,    57,    27,    21,   147,    28,
-      33,   165,    12,    29,   166,    58,    34,    45,    37,    35,
-     182,    65,    13,   183,   131,    22,   168,    38,   141,    88,
-      23,   100,    22,    45,   142,   154,   133,    23,    69,  -113,
-      39,    40,    70,   223,   148,   156,    71,   -56,    41,    42,
-      43,    44,    72,    73,    74,   167,    75,    14,   231,    76,
-      77,    78,    79,    80,   176,    17,    81,    82,  -113,  -113,
-    -113,    22,   194,   195,   196,    84,    23,   143,   113,   154,
-     115,   169,    69,   155,   170,   168,    70,   126,   202,   203,
-      71,    18,   205,   206,   116,   208,    72,    73,    74,   117,
-      75,   211,    19,    76,    77,    78,    79,    80,   136,   137,
-      81,    82,    -2,    15,     1,   -14,    25,   212,    27,    84,
-       1,     2,     3,   194,   195,   196,    28,     2,     3,     4,
-     -18,    31,   225,    66,   226,     4,   128,    67,   129,    27,
-      66,   130,   237,   172,   -28,   183,   209,   173,    53,   156,
-     244,   245,   246,   247,    54,   236,   251,   252,    55,    59,
-      56,    60,    63,    93,    94,    95,    96,    97,   111,   109,
-     114,   122,   117,   250,   123,   253,   254,   124,   156,   125,
-     140,   127,   143,   144,   154,   145,   150,    69,   233,   258,
-     157,    70,   149,   158,   160,    71,   171,   161,   177,   262,
-     174,    72,    73,    74,   248,    75,   181,   179,    76,    77,
-      78,    79,    80,    69,   138,    81,    82,    70,   185,   199,
-     188,    71,   186,   187,    84,   190,   191,    72,    73,    74,
-     133,    75,   200,   201,    76,    77,    78,    79,    80,    69,
-     204,    81,    82,    70,   207,   210,    83,    71,   213,   215,
-      84,   216,   217,    72,    73,    74,   219,    75,   222,   220,
-      76,    77,    78,    79,    80,    69,   227,    81,    82,    70,
-     221,   228,    83,    71,   229,   230,    84,   232,   234,    72,
-      73,    74,   238,    75,   235,   239,    76,    77,    78,    79,
-      80,   242,   243,    81,    82,   255,   256,   257,   260,   261,
-      16,    30,    84,   189,   193,   224,    68,   218,    62,     0,
-     153,   139
+      24,    88,    98,   156,    69,   151,   146,   120,    70,   152,
+     147,   102,    71,   106,    99,   132,    12,    13,    72,    73,
+      74,   167,    75,   167,   231,    76,    77,    78,    79,    80,
+     -56,   154,    81,    82,   131,   -44,    14,    83,   141,    88,
+      22,    84,    22,    17,   142,    23,   148,    23,    57,   133,
+     100,   168,   113,   168,   115,    69,   138,    22,    58,    70,
+     143,   126,    23,    71,   -44,   -44,   -44,   136,   137,    72,
+      73,    74,   211,    75,   176,    18,    76,    77,    78,    79,
+      80,   154,   116,    81,    82,  -112,   154,   117,    83,   154,
+    -111,    19,    84,  -113,    28,   202,   203,    33,    29,   205,
+     206,    25,   208,    34,    28,    64,    35,   128,   -18,   129,
+      27,    27,   130,    27,  -112,  -112,  -112,   240,    21,  -111,
+    -111,  -111,  -113,  -113,  -113,    66,    21,   212,    65,    67,
+       1,    37,    31,   250,   251,    66,    45,     2,     3,   -28,
+      38,    53,   225,   154,   226,     4,   172,   155,    54,    55,
+     173,   154,    45,    39,    40,   233,   209,   243,   244,   245,
+     246,    41,    42,    43,    44,   236,    -2,    15,   165,   -14,
+     169,   166,    69,   170,     1,    56,    70,   194,   195,   196,
+      71,     2,     3,   249,   252,   253,    72,    73,    74,     4,
+      75,    59,    60,    76,    77,    78,    79,    80,   257,   182,
+      81,    82,   183,   237,    63,    93,   183,    95,   261,    84,
+      94,    96,    97,   109,   247,   111,   114,   117,   127,   122,
+     123,   124,   125,   140,   143,   144,   160,   145,   150,   157,
+     149,   161,   158,   171,   174,   177,   181,   185,   201,   186,
+     187,   188,   179,   190,   191,   133,   200,   199,   204,   207,
+     219,   223,   222,    68,   227,   210,   193,   229,   228,   232,
+     217,   230,   234,   238,   239,   256,   235,   242,   241,   213,
+     215,   255,   260,   216,    16,   189,   218,   224,   153,   220,
+      30,   221,   139,     0,     0,     0,     0,     0,     0,     0,
+     254,   259,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    62
 };
 
 static const short int yycheck[] =
 {
-      17,    53,    59,    69,     5,     5,    11,     1,     1,    13,
-      77,     5,     7,    65,     1,    31,     9,    21,     5,     1,
-       1,    10,    41,     5,    13,    41,     7,    31,     8,    10,
-       7,    24,     4,    10,    86,    36,    41,    17,    95,    91,
-      41,    41,    36,    47,    96,     1,    41,    41,     4,     5,
-      30,    31,     8,     5,    41,   107,    12,    11,    38,    39,
-      40,    41,    18,    19,    20,    11,    22,     0,    14,    25,
-      26,    27,    28,    29,   126,     3,    32,    33,    34,    35,
-      36,    36,    34,    35,    36,    41,    41,    41,    73,     1,
-      75,    10,     4,     5,    13,    41,     8,    82,   165,   166,
-      12,     6,   169,   170,    36,   172,    18,    19,    20,    41,
-      22,   177,    41,    25,    26,    27,    28,    29,     8,     9,
-      32,    33,     0,     1,     8,     3,    41,   179,     9,    41,
-       8,    15,    16,    34,    35,    36,     1,    15,    16,    23,
-       5,     4,   199,     1,   201,    23,     6,     5,     8,     9,
-       1,    11,     7,    10,     5,    10,   173,    14,     4,   211,
-     227,   228,   229,   230,    41,   217,   238,   239,    41,     6,
-      24,     4,     4,     8,    41,     6,    24,    41,     6,    41,
-       6,     8,    41,   235,     8,   242,   243,     8,   240,     6,
-       8,    41,    41,     7,     1,     8,     8,     4,     5,   256,
-       6,     8,    13,     8,     4,    12,     8,    41,     4,   261,
-       8,    18,    19,    20,   231,    22,    41,    21,    25,    26,
-      27,    28,    29,     4,     5,    32,    33,     8,     7,    13,
-       8,    12,    41,    41,    41,     8,     7,    18,    19,    20,
-      41,    22,     7,    11,    25,    26,    27,    28,    29,     4,
-      41,    32,    33,     8,    41,    41,    37,    12,    41,    41,
-      41,    41,    24,    18,    19,    20,     7,    22,    11,    41,
-      25,    26,    27,    28,    29,     4,    10,    32,    33,     8,
-      41,    13,    37,    12,    10,    13,    41,     8,     8,    18,
-      19,    20,    11,    22,    24,    11,    25,    26,    27,    28,
-      29,    13,    11,    32,    33,    41,    13,     8,    41,     7,
-       6,    21,    41,   149,   159,   197,    47,   192,    42,    -1,
-     105,    91
+      17,    53,    59,   108,     4,     1,     1,    77,     8,     5,
+       5,     5,    12,    65,     5,     7,    41,     4,    18,    19,
+      20,    11,    22,    11,    14,    25,    26,    27,    28,    29,
+      11,     1,    32,    33,    86,     5,     0,    37,    95,    91,
+      36,    41,    36,     3,    96,    41,    41,    41,    31,    41,
+      41,    41,    73,    41,    75,     4,     5,    36,    41,     8,
+      41,    82,    41,    12,    34,    35,    36,     8,     9,    18,
+      19,    20,   177,    22,   126,     6,    25,    26,    27,    28,
+      29,     1,    36,    32,    33,     5,     1,    41,    37,     1,
+       5,    41,    41,     5,     1,   165,   166,     1,     5,   169,
+     170,    41,   172,     7,     1,     1,    10,     6,     5,     8,
+       9,     9,    11,     9,    34,    35,    36,   222,    13,    34,
+      35,    36,    34,    35,    36,     1,    21,   179,    24,     5,
+       8,     8,     4,   238,   239,     1,    31,    15,    16,     5,
+      17,     4,   199,     1,   201,    23,    10,     5,    41,    41,
+      14,     1,    47,    30,    31,     5,   173,   227,   228,   229,
+     230,    38,    39,    40,    41,   217,     0,     1,    10,     3,
+      10,    13,     4,    13,     8,    24,     8,    34,    35,    36,
+      12,    15,    16,   235,   241,   242,    18,    19,    20,    23,
+      22,     6,     4,    25,    26,    27,    28,    29,   255,     7,
+      32,    33,    10,     7,     4,     8,    10,     6,   260,    41,
+      41,    24,    41,    41,   231,     6,     6,    41,    41,     8,
+       8,     8,     6,     8,    41,     7,     4,     8,     8,     6,
+      13,    41,     8,     8,     8,     4,    41,     7,    11,    41,
+      41,     8,    21,     8,     7,    41,     7,    13,    41,    41,
+       7,     5,    11,    47,    10,    41,   159,    10,    13,     8,
+      24,    13,     8,    11,    11,     8,    24,    11,    13,    41,
+      41,    13,     7,    41,     6,   149,   192,   198,   105,    41,
+      21,    41,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      41,    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    42
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -819,28 +813,28 @@ static const unsigned char yystos[] =
       51,    52,    36,    41,    46,    41,    54,     9,     1,     5,
       51,     4,    55,     1,     7,    10,    53,     8,    17,    30,
       31,    38,    39,    40,    41,    52,    56,    57,    58,    59,
-      90,    91,    96,     4,    41,    41,    24,    31,    41,     6,
-       4,    92,    92,     4,     1,    24,     1,     5,    56,     4,
+      89,    90,    95,     4,    41,    41,    24,    31,    41,     6,
+       4,    91,    91,     4,     1,    24,     1,     5,    56,     4,
        8,    12,    18,    19,    20,    22,    25,    26,    27,    28,
       29,    32,    33,    37,    41,    52,    65,    69,    70,    80,
-      82,    88,    89,     8,    41,     6,    24,    41,    67,     5,
-      41,    93,     5,    46,    94,    95,    70,    60,    70,    41,
+      82,    87,    88,     8,    41,     6,    24,    41,    67,     5,
+      41,    92,     5,    46,    93,    94,    70,    60,    70,    41,
       78,     6,    63,    63,     6,    63,    36,    41,    68,    76,
       68,    77,     8,     8,     8,     6,    63,    41,     6,     8,
-      11,    70,     7,    41,    66,    84,     8,     9,     5,    89,
+      11,    70,     7,    41,    66,    84,     8,     9,     5,    88,
        8,    67,    70,    41,     7,     8,     1,     5,    41,    13,
-       8,     1,     5,    94,     1,     5,    70,     6,     8,    64,
+       8,     1,     5,    93,     1,     5,    60,     6,     8,    64,
        4,    41,    61,    62,    67,    10,    13,    11,    41,    10,
       13,     8,    10,    14,     8,    71,    70,     4,    81,    21,
       75,    41,     7,    10,    74,     7,    41,    41,     8,    62,
-       8,     7,    79,    66,    34,    35,    36,    85,    87,    13,
+       8,     7,    79,    66,    34,    35,    36,    85,    86,    13,
        7,    11,    68,    68,    41,    68,    68,    41,    68,    46,
       41,    60,    70,    41,    83,    41,    41,    24,    84,     7,
-      41,    41,    11,     5,    87,    67,    67,    10,    13,    10,
+      41,    41,    11,     5,    85,    67,    67,    10,    13,    10,
       13,    14,     8,     5,     8,    24,    70,     7,    11,    11,
-      60,    86,    13,    11,    68,    68,    68,    68,    46,    72,
-      70,    86,    86,    67,    67,    41,    13,     8,    67,    73,
-      41,     7,    70
+      60,    13,    11,    68,    68,    68,    68,    46,    72,    70,
+      60,    60,    67,    67,    41,    13,     8,    67,    73,    41,
+       7,    70
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -1216,340 +1210,332 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
   switch (yytype)
     {
       case 41: /* "word" */
-#line 175 "ael.y"
+#line 173 "ael.y"
         { free((yyvaluep->str));};
-#line 1222 "ael.tab.c"
+#line 1216 "ael.tab.c"
         break;
       case 44: /* "objects" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1230 "ael.tab.c"
+#line 1224 "ael.tab.c"
         break;
       case 45: /* "object" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1238 "ael.tab.c"
+#line 1232 "ael.tab.c"
         break;
       case 46: /* "context_name" */
-#line 175 "ael.y"
+#line 173 "ael.y"
         { free((yyvaluep->str));};
-#line 1243 "ael.tab.c"
+#line 1237 "ael.tab.c"
         break;
       case 47: /* "context" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1251 "ael.tab.c"
+#line 1245 "ael.tab.c"
         break;
       case 49: /* "macro" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1259 "ael.tab.c"
+#line 1253 "ael.tab.c"
         break;
       case 50: /* "globals" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1267 "ael.tab.c"
+#line 1261 "ael.tab.c"
         break;
       case 51: /* "global_statements" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1275 "ael.tab.c"
+#line 1269 "ael.tab.c"
         break;
       case 52: /* "assignment" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1283 "ael.tab.c"
+#line 1277 "ael.tab.c"
         break;
       case 54: /* "arglist" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1291 "ael.tab.c"
+#line 1285 "ael.tab.c"
         break;
       case 55: /* "elements_block" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1299 "ael.tab.c"
+#line 1293 "ael.tab.c"
         break;
       case 56: /* "elements" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1307 "ael.tab.c"
+#line 1301 "ael.tab.c"
         break;
       case 57: /* "element" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1315 "ael.tab.c"
+#line 1309 "ael.tab.c"
         break;
       case 58: /* "ignorepat" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1323 "ael.tab.c"
+#line 1317 "ael.tab.c"
         break;
       case 59: /* "extension" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1331 "ael.tab.c"
+#line 1325 "ael.tab.c"
         break;
       case 60: /* "statements" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1339 "ael.tab.c"
+#line 1333 "ael.tab.c"
         break;
       case 61: /* "timerange" */
-#line 175 "ael.y"
+#line 173 "ael.y"
         { free((yyvaluep->str));};
-#line 1344 "ael.tab.c"
+#line 1338 "ael.tab.c"
         break;
       case 62: /* "timespec" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1352 "ael.tab.c"
+#line 1346 "ael.tab.c"
         break;
       case 63: /* "test_expr" */
-#line 175 "ael.y"
+#line 173 "ael.y"
         { free((yyvaluep->str));};
-#line 1357 "ael.tab.c"
+#line 1351 "ael.tab.c"
         break;
       case 65: /* "if_like_head" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1365 "ael.tab.c"
+#line 1359 "ael.tab.c"
         break;
       case 66: /* "word_list" */
-#line 175 "ael.y"
+#line 173 "ael.y"
         { free((yyvaluep->str));};
-#line 1370 "ael.tab.c"
+#line 1364 "ael.tab.c"
         break;
       case 67: /* "word3_list" */
-#line 175 "ael.y"
+#line 173 "ael.y"
         { free((yyvaluep->str));};
-#line 1375 "ael.tab.c"
+#line 1369 "ael.tab.c"
         break;
       case 68: /* "goto_word" */
-#line 175 "ael.y"
+#line 173 "ael.y"
         { free((yyvaluep->str));};
-#line 1380 "ael.tab.c"
+#line 1374 "ael.tab.c"
         break;
       case 69: /* "switch_statement" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1388 "ael.tab.c"
+#line 1382 "ael.tab.c"
         break;
       case 70: /* "statement" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1396 "ael.tab.c"
+#line 1390 "ael.tab.c"
         break;
       case 75: /* "opt_else" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1404 "ael.tab.c"
+#line 1398 "ael.tab.c"
         break;
       case 76: /* "target" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1412 "ael.tab.c"
+#line 1406 "ael.tab.c"
         break;
       case 77: /* "jumptarget" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1420 "ael.tab.c"
+#line 1414 "ael.tab.c"
         break;
       case 78: /* "macro_call" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1428 "ael.tab.c"
+#line 1422 "ael.tab.c"
         break;
       case 80: /* "application_call_head" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1436 "ael.tab.c"
+#line 1430 "ael.tab.c"
         break;
       case 82: /* "application_call" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1444 "ael.tab.c"
+#line 1438 "ael.tab.c"
         break;
       case 83: /* "opt_word" */
-#line 175 "ael.y"
+#line 173 "ael.y"
         { free((yyvaluep->str));};
-#line 1449 "ael.tab.c"
+#line 1443 "ael.tab.c"
         break;
       case 84: /* "eval_arglist" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1457 "ael.tab.c"
+#line 1451 "ael.tab.c"
         break;
       case 85: /* "case_statements" */
-#line 160 "ael.y"
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1465 "ael.tab.c"
+#line 1459 "ael.tab.c"
         break;
-      case 86: /* "opt_statements" */
-#line 160 "ael.y"
+      case 86: /* "case_statement" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1473 "ael.tab.c"
+#line 1467 "ael.tab.c"
         break;
-      case 87: /* "case_statement" */
-#line 160 "ael.y"
+      case 87: /* "macro_statements" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1481 "ael.tab.c"
+#line 1475 "ael.tab.c"
         break;
-      case 88: /* "macro_statements" */
-#line 160 "ael.y"
+      case 88: /* "macro_statement" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1489 "ael.tab.c"
+#line 1483 "ael.tab.c"
         break;
-      case 89: /* "macro_statement" */
-#line 160 "ael.y"
+      case 89: /* "switches" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1497 "ael.tab.c"
+#line 1491 "ael.tab.c"
         break;
-      case 90: /* "switches" */
-#line 160 "ael.y"
+      case 90: /* "eswitches" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1505 "ael.tab.c"
+#line 1499 "ael.tab.c"
         break;
-      case 91: /* "eswitches" */
-#line 160 "ael.y"
+      case 91: /* "switchlist_block" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1513 "ael.tab.c"
+#line 1507 "ael.tab.c"
         break;
-      case 92: /* "switchlist_block" */
-#line 160 "ael.y"
+      case 92: /* "switchlist" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1521 "ael.tab.c"
+#line 1515 "ael.tab.c"
         break;
-      case 93: /* "switchlist" */
-#line 160 "ael.y"
+      case 93: /* "included_entry" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1529 "ael.tab.c"
+#line 1523 "ael.tab.c"
         break;
-      case 94: /* "included_entry" */
-#line 160 "ael.y"
+      case 94: /* "includeslist" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1537 "ael.tab.c"
+#line 1531 "ael.tab.c"
         break;
-      case 95: /* "includeslist" */
-#line 160 "ael.y"
+      case 95: /* "includes" */
+#line 159 "ael.y"
         {
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1545 "ael.tab.c"
-        break;
-      case 96: /* "includes" */
-#line 160 "ael.y"
-        {
-		destroy_pval((yyvaluep->pval));
-		prev_word=0;
-	};
-#line 1553 "ael.tab.c"
+#line 1539 "ael.tab.c"
         break;
 
       default:
@@ -1866,57 +1852,57 @@ yyreduce:
   switch (yyn)
     {
         case 2:
-#line 182 "ael.y"
+#line 180 "ael.y"
     { (yyval.pval) = parseio->pval = (yyvsp[0].pval); ;}
     break;
 
   case 3:
-#line 185 "ael.y"
+#line 183 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 4:
-#line 186 "ael.y"
+#line 184 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 5:
-#line 187 "ael.y"
+#line 185 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 6:
-#line 190 "ael.y"
+#line 188 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 7:
-#line 191 "ael.y"
+#line 189 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 8:
-#line 192 "ael.y"
+#line 190 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 9:
-#line 193 "ael.y"
+#line 191 "ael.y"
     {(yyval.pval)=0;/* allow older docs to be read */;}
     break;
 
   case 10:
-#line 196 "ael.y"
+#line 194 "ael.y"
     { (yyval.str) = (yyvsp[0].str); ;}
     break;
 
   case 11:
-#line 197 "ael.y"
+#line 195 "ael.y"
     { (yyval.str) = strdup("default"); ;}
     break;
 
   case 12:
-#line 200 "ael.y"
+#line 198 "ael.y"
     {
 		(yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-3]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-1].str);
@@ -1925,51 +1911,51 @@ yyreduce:
     break;
 
   case 13:
-#line 208 "ael.y"
+#line 206 "ael.y"
     { (yyval.intval) = 1; ;}
     break;
 
   case 14:
-#line 209 "ael.y"
+#line 207 "ael.y"
     { (yyval.intval) = 0; ;}
     break;
 
   case 15:
-#line 212 "ael.y"
+#line 210 "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 217 "ael.y"
+#line 215 "ael.y"
     {
 		(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-3]), &(yylsp[0]));
 		(yyval.pval)->u1.statements = (yyvsp[-1].pval);;}
     break;
 
   case 17:
-#line 222 "ael.y"
+#line 220 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
   case 18:
-#line 223 "ael.y"
+#line 221 "ael.y"
     {(yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 19:
-#line 224 "ael.y"
+#line 222 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 20:
-#line 227 "ael.y"
+#line 225 "ael.y"
     { reset_semicount(parseio->scanner); ;}
     break;
 
   case 21:
-#line 227 "ael.y"
+#line 225 "ael.y"
     {
 		(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -1977,94 +1963,94 @@ yyreduce:
     break;
 
   case 22:
-#line 233 "ael.y"
+#line 231 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
   case 23:
-#line 234 "ael.y"
+#line 232 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 24:
-#line 235 "ael.y"
+#line 233 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
     break;
 
   case 25:
-#line 236 "ael.y"
+#line 234 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 26:
-#line 239 "ael.y"
+#line 237 "ael.y"
     { (yyval.pval) = (yyvsp[-1].pval); ;}
     break;
 
   case 27:
-#line 242 "ael.y"
+#line 240 "ael.y"
     {(yyval.pval)=0;;}
     break;
 
   case 28:
-#line 243 "ael.y"
+#line 241 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 29:
-#line 244 "ael.y"
+#line 242 "ael.y"
     { (yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 30:
-#line 247 "ael.y"
+#line 245 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 31:
-#line 248 "ael.y"
+#line 246 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 32:
-#line 249 "ael.y"
+#line 247 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 33:
-#line 250 "ael.y"
+#line 248 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 34:
-#line 251 "ael.y"
+#line 249 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 35:
-#line 252 "ael.y"
+#line 250 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 36:
-#line 253 "ael.y"
+#line 251 "ael.y"
     {free((yyvsp[-1].str)); (yyval.pval)=0;;}
     break;
 
   case 37:
-#line 254 "ael.y"
+#line 252 "ael.y"
     {(yyval.pval)=0;/* allow older docs to be read */;}
     break;
 
   case 38:
-#line 257 "ael.y"
+#line 255 "ael.y"
     {
 		(yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 39:
-#line 262 "ael.y"
+#line 260 "ael.y"
     {
 		(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2072,7 +2058,7 @@ yyreduce:
     break;
 
   case 40:
-#line 266 "ael.y"
+#line 264 "ael.y"
     {
 		(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2081,7 +2067,7 @@ yyreduce:
     break;
 
   case 41:
-#line 271 "ael.y"
+#line 269 "ael.y"
     {
 		(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2090,7 +2076,7 @@ yyreduce:
     break;
 
   case 42:
-#line 276 "ael.y"
+#line 274 "ael.y"
     {
 		(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2100,22 +2086,22 @@ yyreduce:
     break;
 
   case 43:
-#line 285 "ael.y"
-    {(yyval.pval)=(yyvsp[0].pval);;}
+#line 284 "ael.y"
+    { (yyval.pval) = NULL; ;}
     break;
 
   case 44:
-#line 286 "ael.y"
+#line 285 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
   case 45:
-#line 287 "ael.y"
+#line 286 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 46:
-#line 293 "ael.y"
+#line 292 "ael.y"
     {
 		asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[-4].str), (yyvsp[-2].str), (yyvsp[0].str));
 		free((yyvsp[-4].str));
@@ -2124,12 +2110,12 @@ yyreduce:
     break;
 
   case 47:
-#line 298 "ael.y"
+#line 297 "ael.y"
     { (yyval.str) = (yyvsp[0].str); ;}
     break;
 
   case 48:
-#line 302 "ael.y"
+#line 301 "ael.y"
     {
 		(yyval.pval) = nword((yyvsp[-6].str), &(yylsp[-6]));
 		(yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
@@ -2138,32 +2124,32 @@ yyreduce:
     break;
 
   case 49:
-#line 310 "ael.y"
+#line 309 "ael.y"
     { reset_parencount(parseio->scanner); ;}
     break;
 
   case 50:
-#line 310 "ael.y"
+#line 309 "ael.y"
     {
 		(yyval.str) = (yyvsp[-1].str); ;}
     break;
 
   case 51:
-#line 315 "ael.y"
+#line 314 "ael.y"
     {
 		(yyval.pval)= npval2(PV_IF, &(yylsp[-1]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[0].str); ;}
     break;
 
   case 52:
-#line 318 "ael.y"
+#line 317 "ael.y"
     {
 		(yyval.pval) = npval2(PV_RANDOM, &(yylsp[-1]), &(yylsp[0]));
 		(yyval.pval)->u1.str=(yyvsp[0].str);;}
     break;
 
   case 53:
-#line 321 "ael.y"
+#line 320 "ael.y"
     {
 		(yyval.pval) = npval2(PV_IFTIME, &(yylsp[-3]), &(yylsp[0]));
 		(yyval.pval)->u1.list = (yyvsp[-1].pval);
@@ -2171,12 +2157,12 @@ yyreduce:
     break;
 
   case 54:
-#line 332 "ael.y"
+#line 331 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
   case 55:
-#line 333 "ael.y"
+#line 332 "ael.y"
     {
 		asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
 		free((yyvsp[-1].str));
@@ -2185,12 +2171,12 @@ yyreduce:
     break;
 
   case 56:
-#line 340 "ael.y"
+#line 339 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
   case 57:
-#line 341 "ael.y"
+#line 340 "ael.y"
     {
 		asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
 		free((yyvsp[-1].str));
@@ -2199,7 +2185,7 @@ yyreduce:
     break;
 
   case 58:
-#line 346 "ael.y"
+#line 345 "ael.y"
     {
 		asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str));
 		free((yyvsp[-2].str));
@@ -2209,12 +2195,12 @@ yyreduce:
     break;
 
   case 59:
-#line 354 "ael.y"
+#line 353 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
   case 60:
-#line 355 "ael.y"
+#line 354 "ael.y"
     {
 		asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
 		free((yyvsp[-1].str));
@@ -2222,7 +2208,7 @@ yyreduce:
     break;
 
   case 61:
-#line 359 "ael.y"
+#line 358 "ael.y"
     {
 		asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str));
 		free((yyvsp[-2].str));
@@ -2230,7 +2216,7 @@ yyreduce:
     break;
 
   case 62:
-#line 365 "ael.y"
+#line 364 "ael.y"
     {
 		(yyval.pval) = npval2(PV_SWITCH, &(yylsp[-4]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-3].str);
@@ -2238,55 +2224,55 @@ yyreduce:
     break;
 
   case 63:
-#line 374 "ael.y"
+#line 373 "ael.y"
     {
 		(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0]));
 		(yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
     break;
 
   case 64:
-#line 377 "ael.y"
+#line 376 "ael.y"
     { (yyval.pval) = (yyvsp[0].pval); ;}
     break;
 
   case 65:
-#line 378 "ael.y"
+#line 377 "ael.y"
     {
 		(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
 		(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
   case 66:
-#line 381 "ael.y"
+#line 380 "ael.y"
     {
 		(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
 		(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
   case 67:
-#line 384 "ael.y"
+#line 383 "ael.y"
     {
 		(yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-1].str); ;}
     break;
 
   case 68:
-#line 387 "ael.y"
+#line 386 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
   case 69:
-#line 388 "ael.y"
+#line 387 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
   case 70:
-#line 389 "ael.y"
+#line 388 "ael.y"
     {reset_parencount(parseio->scanner);;}
     break;
 
   case 71:
-#line 389 "ael.y"
+#line 388 "ael.y"
     { /* XXX word_list maybe ? */
 		(yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0]));
 		(yyval.pval)->u1.for_init = (yyvsp[-8].str);
@@ -2296,7 +2282,7 @@ yyreduce:
     break;
 
   case 72:
-#line 395 "ael.y"
+#line 394 "ael.y"
     {
 		(yyval.pval) = npval2(PV_WHILE, &(yylsp[-2]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-1].str);
@@ -2304,36 +2290,36 @@ yyreduce:
     break;
 
   case 73:
-#line 399 "ael.y"
+#line 398 "ael.y"
     { (yyval.pval) = (yyvsp[0].pval); ;}
     break;
 
   case 74:
-#line 400 "ael.y"
+#line 399 "ael.y"
     {
 		(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;}
     break;
 
   case 75:
-#line 402 "ael.y"
+#line 401 "ael.y"
     {
 		(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
     break;
 
   case 76:
-#line 404 "ael.y"
+#line 403 "ael.y"
     {
 		(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 77:
-#line 407 "ael.y"
+#line 406 "ael.y"
     {reset_semicount(parseio->scanner);;}
     break;
 
   case 78:
-#line 407 "ael.y"
+#line 406 "ael.y"
     {
 		char *bufx;
 		int tot=0;
@@ -2370,22 +2356,22 @@ yyreduce:
     break;
 
   case 79:
-#line 440 "ael.y"
+#line 439 "ael.y"
     { (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
   case 80:
-#line 441 "ael.y"
+#line 440 "ael.y"
     { (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
   case 81:
-#line 442 "ael.y"
+#line 441 "ael.y"
     { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
   case 82:
-#line 443 "ael.y"
+#line 442 "ael.y"
     {
 		(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1]));
 		(yyval.pval)->u2.statements = (yyvsp[-1].pval);
@@ -2393,41 +2379,41 @@ yyreduce:
     break;
 
   case 83:
-#line 447 "ael.y"
+#line 446 "ael.y"
     { (yyval.pval)=0; ;}
     break;
 
   case 84:
-#line 450 "ael.y"
+#line 449 "ael.y"
     { (yyval.pval) = (yyvsp[0].pval); ;}
     break;
 
   case 85:
-#line 451 "ael.y"
+#line 450 "ael.y"
     { (yyval.pval) = NULL ; ;}
     break;
 
   case 86:
-#line 456 "ael.y"
+#line 455 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 87:
-#line 457 "ael.y"
+#line 456 "ael.y"
     {
 		(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
 		(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 88:
-#line 460 "ael.y"
+#line 459 "ael.y"
     {
 		(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
 		(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 89:
-#line 463 "ael.y"
+#line 462 "ael.y"
     {
 		(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
 		(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2435,7 +2421,7 @@ yyreduce:
     break;
 
   case 90:
-#line 467 "ael.y"
+#line 466 "ael.y"
     {
 		(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
 		(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2443,7 +2429,7 @@ yyreduce:
     break;
 
   case 91:
-#line 471 "ael.y"
+#line 470 "ael.y"
     {
 		(yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
 		(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2451,7 +2437,7 @@ yyreduce:
     break;
 
   case 92:
-#line 475 "ael.y"
+#line 474 "ael.y"
     {
 		(yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
 		(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2459,21 +2445,21 @@ yyreduce:
     break;
 
   case 93:
-#line 482 "ael.y"
+#line 481 "ael.y"
     {			/* ext, 1 */
 		(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
 		(yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;}
     break;
 
   case 94:
-#line 485 "ael.y"
+#line 484 "ael.y"
     {		/* ext, pri */
 		(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
 		(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 95:
-#line 488 "ael.y"
+#line 487 "ael.y"
     {	/* context, ext, pri */
 		(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
 		(yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
@@ -2481,7 +2467,7 @@ yyreduce:
     break;
 
   case 96:
-#line 492 "ael.y"
+#line 491 "ael.y"
     {		/* context, ext, 1 */
 		(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
 		(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2489,12 +2475,12 @@ yyreduce:
     break;
 
   case 97:
-#line 498 "ael.y"
+#line 497 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
   case 98:
-#line 498 "ael.y"
+#line 497 "ael.y"
     {
 		/* XXX original code had @2 but i think we need @5 */
 		(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0]));
@@ -2503,19 +2489,19 @@ yyreduce:
     break;
 
   case 99:
-#line 503 "ael.y"
+#line 502 "ael.y"
     {
 		(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-2].str); ;}
     break;
 
   case 100:
-#line 511 "ael.y"
+#line 510 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
   case 101:
-#line 511 "ael.y"
+#line 510 "ael.y"
     {
 		if (strcasecmp((yyvsp[-2].str),"goto") == 0) {
 			(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1]));
@@ -2528,7 +2514,7 @@ yyreduce:
     break;
 
   case 102:
-#line 522 "ael.y"
+#line 521 "ael.y"
     {
 		(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
  		if( (yyval.pval)->type == PV_GOTO )
@@ -2539,190 +2525,175 @@ yyreduce:
     break;
 
   case 103:
-#line 529 "ael.y"
+#line 528 "ael.y"
     { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
     break;
 
   case 104:
-#line 532 "ael.y"
+#line 531 "ael.y"
     { (yyval.str) = (yyvsp[0].str) ;}
     break;
 
   case 105:
-#line 533 "ael.y"
+#line 532 "ael.y"
     { (yyval.str) = strdup(""); ;}
     break;
 
   case 106:
-#line 536 "ael.y"
+#line 535 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
   case 107:
-#line 537 "ael.y"
+#line 536 "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 108:
-#line 540 "ael.y"
+#line 539 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
     break;
 
   case 109:
-#line 543 "ael.y"
+#line 542 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
   case 110:
-#line 544 "ael.y"
-    {(yyval.pval)=(yyvsp[0].pval);;}
-    break;
-
-  case 111:
-#line 545 "ael.y"
+#line 543 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
-  case 112:
-#line 549 "ael.y"
-    { (yyval.pval) = NULL; ;}
-    break;
-
-  case 113:
-#line 550 "ael.y"
-    { (yyval.pval) = (yyvsp[0].pval); ;}
-    break;
-
-  case 114:
-#line 553 "ael.y"
+  case 111:
+#line 546 "ael.y"
     {
 		(yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */
 		(yyval.pval)->u1.str = (yyvsp[-2].str);
 		(yyval.pval)->u2.statements = (yyvsp[0].pval);;}
     break;
 
-  case 115:
-#line 557 "ael.y"
+  case 112:
+#line 550 "ael.y"
     {
 		(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0]));
 		(yyval.pval)->u1.str = NULL;
 		(yyval.pval)->u2.statements = (yyvsp[0].pval);;}
     break;
 
-  case 116:
-#line 561 "ael.y"
+  case 113:
+#line 554 "ael.y"
     {
 		(yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */
 		(yyval.pval)->u1.str = (yyvsp[-2].str);
 		(yyval.pval)->u2.statements = (yyvsp[0].pval);;}
     break;
 
-  case 117:
-#line 567 "ael.y"
+  case 114:
+#line 560 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 118:
-#line 568 "ael.y"
+  case 115:
+#line 561 "ael.y"
     {(yyval.pval) = (yyvsp[0].pval);;}
     break;
 
-  case 119:
-#line 569 "ael.y"
+  case 116:
+#line 562 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
     break;
 
-  case 120:
-#line 572 "ael.y"
+  case 117:
+#line 565 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
-  case 121:
-#line 573 "ael.y"
+  case 118:
+#line 566 "ael.y"
     {
 		(yyval.pval) = npval2(PV_CATCH, &(yylsp[-4]), &(yylsp[0]));
 		(yyval.pval)->u1.str = (yyvsp[-3].str);
 		(yyval.pval)->u2.statements = (yyvsp[-1].pval);;}
     break;
 
-  case 122:
-#line 579 "ael.y"
+  case 119:
+#line 572 "ael.y"
     {
 		(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-1]), &(yylsp[0]));
 		(yyval.pval)->u1.list = (yyvsp[0].pval); ;}
     break;
 
-  case 123:
-#line 584 "ael.y"
+  case 120:
+#line 577 "ael.y"
     {
 		(yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0]));
 		(yyval.pval)->u1.list = (yyvsp[0].pval); ;}
     break;
 
-  case 124:
-#line 589 "ael.y"
+  case 121:
+#line 582 "ael.y"
     { (yyval.pval) = (yyvsp[-1].pval); ;}
     break;
 
-  case 125:
-#line 590 "ael.y"
+  case 122:
+#line 583 "ael.y"
     { (yyval.pval) = NULL; ;}
     break;
 
-  case 126:
-#line 593 "ael.y"
+  case 123:
+#line 586 "ael.y"
     { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
     break;
 
-  case 127:
-#line 594 "ael.y"
+  case 124:
+#line 587 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;}
     break;
 
-  case 128:
-#line 595 "ael.y"
+  case 125:
+#line 588 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
-  case 129:
-#line 598 "ael.y"
+  case 126:
+#line 591 "ael.y"
     { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
     break;
 
-  case 130:
-#line 599 "ael.y"
+  case 127:
+#line 592 "ael.y"
     {
 		(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
 		(yyval.pval)->u2.arglist = (yyvsp[0].pval);
 		prev_word=0; /* XXX sure ? */ ;}
     break;
 
-  case 131:
-#line 606 "ael.y"
+  case 128:
+#line 599 "ael.y"
     { (yyval.pval) = (yyvsp[-1].pval); ;}
     break;
 
-  case 132:
-#line 607 "ael.y"
+  case 129:
+#line 600 "ael.y"
     { (yyval.pval) = linku1((yyvsp[-2].pval), (yyvsp[-1].pval)); ;}
     break;
 
-  case 133:
-#line 608 "ael.y"
+  case 130:
+#line 601 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
-  case 134:
-#line 611 "ael.y"
+  case 131:
+#line 604 "ael.y"
     {
 		(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0]));
 		(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
-  case 135:
-#line 614 "ael.y"
+  case 132:
+#line 607 "ael.y"
     {
 		(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;}
     break;
@@ -2732,7 +2703,7 @@ yyreduce:
     }
 
 /* Line 1126 of yacc.c.  */
-#line 2736 "ael.tab.c"
+#line 2707 "ael.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -3007,7 +2978,7 @@ yyreturn:
 }
 
 
-#line 619 "ael.y"
+#line 612 "ael.y"
 
 
 static char *token_equivs1[] =
diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y
index 2b4108b90dc1a4752e303114e21f0b8799d7fe71..f9b5435946ae140768ed242203f07d262490f393 100644
--- a/pbx/ael/ael.y
+++ b/pbx/ael/ael.y
@@ -121,7 +121,6 @@ static pval *update_last(pval *, YYLTYPE *);
 %type <pval>switchlist_block
 %type <pval>timespec
 %type <pval>included_entry
-%type <pval>opt_statements
 
 %type <str>opt_word
 %type <str>context_name
@@ -170,7 +169,6 @@ static pval *update_last(pval *, YYLTYPE *);
 		opt_else
 		elements_block switchlist_block
 		timespec included_entry
-		opt_statements
 
 %destructor { free($$);}  word word_list goto_word word3_list opt_word context_name
 		timerange
@@ -282,8 +280,9 @@ extension : word EXTENMARK statement {
 
 	;
 
-statements : statement {$$=$1;}
-	| statements statement { $$ = linku1($1, $2); }
+/* list of statements in a block or after a case label - can be empty */
+statements : /* empty */ { $$ = NULL; }
+	| statement statements { $$ = linku1($1, $2); }
 	| statements error {$$=$1;}
 	;
 
@@ -541,24 +540,18 @@ eval_arglist :  word_list { $$ = nword($1, &@1); }
 	;
 
 case_statements: /* empty */ { $$ = NULL; }
-	| case_statement {$$=$1;}
-	| case_statements case_statement { $$ = linku1($1, $2); }
+	| case_statement case_statements { $$ = linku1($1, $2); }
 	;
 
-/* statement in a switch body after a label */
-opt_statements : { $$ = NULL; }
-	| statements { $$ = $1; }
-	;
-
-case_statement: KW_CASE word COLON opt_statements {
+case_statement: KW_CASE word COLON statements {
 		$$ = npval2(PV_CASE, &@1, &@3); /* XXX 3 or 4 ? */
 		$$->u1.str = $2;
 		$$->u2.statements = $4;}
-	| KW_DEFAULT COLON opt_statements {
+	| KW_DEFAULT COLON statements {
 		$$ = npval2(PV_DEFAULT, &@1, &@3);
 		$$->u1.str = NULL;
 		$$->u2.statements = $3;}
-	| KW_PATTERN word COLON opt_statements {
+	| KW_PATTERN word COLON statements {
 		$$ = npval2(PV_PATTERN, &@1, &@4); /* XXX@3 or @4 ? */
 		$$->u1.str = $2;
 		$$->u2.statements = $4;}