[asterisk-commits] murf: trunk r177286 - in /trunk: ./ res/ael/ael.tab.c res/ael/ael.y

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Feb 18 17:50:57 CST 2009


Author: murf
Date: Wed Feb 18 17:50:57 2009
New Revision: 177286

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=177286
Log:
Merged revisions 177225 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r177225 | murf | 2009-02-18 15:43:14 -0700 (Wed, 18 Feb 2009) | 34 lines
  
  This patch fixes a regression of sorts that was introduced in 
  rev 24425.
  
  It basically fixes AST-190/ABE-1782.
  
  What was wrong: the user has 6000 extensions in one context; and
  then 6000 contexts, one per extension. The parser could only handle
  about 4893 of the 6000 extens in the single context.
  
  This was due to the regression I mentioned. To get rid of
  shift/reduce conflicts, Luigi set up right-recursive lists
  for globals, context elements, switch lists, and statements.
  Right recursive lists got rid of the warnings, but instead, they
  use up a tremendous amount of stack space when the lists are long.
  
  I saw this a few years back, and resolved not to fix it until
  someone complained. That day has arrived!
  
  After the changes were made, I ran the regression test suite,
  and there were no problems.
  
  I took the test case the user provided, and added 100,000 
  extensions to the single context, that already had 6,000 extens
  in it. (I'll see your 6, and raise you 100!) It takes a few minutes
  to read it all in, check it and generate code for it, but no
  problems.
  
  So, I think I can say that fundamentally, there are no longer
  any limits on the number of items you can place in contexts,
  statement blocks, switches, or globals, beyond your virt mem
  constraints.
........

Modified:
    trunk/   (props changed)
    trunk/res/ael/ael.tab.c
    trunk/res/ael/ael.y

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/res/ael/ael.tab.c
URL: http://svn.digium.com/svn-view/asterisk/trunk/res/ael/ael.tab.c?view=diff&rev=177286&r1=177285&r2=177286
==============================================================================
--- trunk/res/ael/ael.tab.c (original)
+++ trunk/res/ael/ael.tab.c Wed Feb 18 17:50:57 2009
@@ -511,7 +511,7 @@
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  17
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   327
+#define YYLAST   373
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  44
@@ -520,7 +520,7 @@
 /* YYNRULES -- Number of rules.  */
 #define YYNRULES  142
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  288
+#define YYNSTATES  281
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -594,17 +594,17 @@
       -1,    43,    -1,    37,    -1,    50,     3,    48,     4,    59,
        5,    -1,    23,    -1,    -1,    24,    -1,    24,    23,    -1,
       23,    24,    -1,    15,    43,     6,    58,     7,     4,    92,
-       5,    -1,    16,     4,    53,     5,    -1,    -1,    54,    53,
+       5,    -1,    16,     4,    53,     5,    -1,    -1,    53,    54,
       -1,     1,    53,    -1,    -1,    43,     9,    55,    43,     8,
       -1,    -1,    42,    43,     9,    57,    43,     8,    -1,    -1,
       43,    -1,    58,    10,    43,    -1,    58,     1,    -1,    -1,
-      60,    59,    -1,     1,    59,    -1,    62,    -1,    99,    -1,
+      59,    60,    -1,     1,    59,    -1,    62,    -1,    99,    -1,
       94,    -1,    95,    -1,    61,    -1,    54,    -1,    56,    -1,
       43,     1,    -1,     8,    -1,    17,    25,    43,     8,    -1,
       43,    25,    74,    -1,    43,    14,    43,    25,    74,    -1,
       31,    43,    25,    74,    -1,    32,     6,    70,     7,    43,
       25,    74,    -1,    31,    32,     6,    70,     7,    43,    25,
-      74,    -1,    -1,    74,    63,    -1,     1,    63,    -1,    71,
+      74,    -1,    -1,    63,    74,    -1,     1,    63,    -1,    71,
       11,    71,    11,    71,    -1,    43,    -1,    64,    13,    71,
       13,    71,    13,    71,    -1,    -1,     6,    67,    69,     7,
       -1,    19,    66,    -1,    22,    66,    -1,    20,     6,    65,
@@ -628,12 +628,12 @@
       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,    91,    90,    -1,    35,    43,    11,    63,    -1,    37,
-      11,    63,    -1,    36,    43,    11,    63,    -1,    -1,    93,
-      92,    -1,    74,    -1,    99,    -1,    38,    43,     4,    63,
+      -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,    43,     8,    96,    -1,    43,    14,    43,
-       8,    96,    -1,     1,    96,    -1,    48,    -1,    48,    13,
+       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
@@ -746,91 +746,91 @@
 {
       14,     9,     0,     0,    13,    15,     0,     0,     3,     6,
        0,     7,     8,     0,     0,    17,    16,     1,     5,     4,
-       0,    27,     0,     0,     0,     0,    11,    10,     0,    28,
-       0,    22,    23,    19,    21,     0,    30,     0,     0,     0,
-       0,    42,     0,     0,     0,     0,     0,     0,     0,     0,
-      39,    40,     0,     0,    38,    34,    36,    37,    35,   125,
-      29,     0,    33,     0,     0,     0,     0,     0,     0,     0,
-       0,    41,     0,     0,    12,    32,     0,    94,     0,     0,
+       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,
+       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,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    74,    75,     0,    84,   127,   118,     0,     0,
-     125,   128,    24,     0,     0,     0,    62,     0,     0,     0,
-       0,     0,   142,   136,     0,     0,    25,     0,    44,     0,
-       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,    18,   126,    43,     0,    46,     0,     0,     0,    63,
-     135,     0,     0,   130,   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,     0,     0,     0,
-     120,    67,     0,    59,     0,     0,     0,    99,    71,    98,
+       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,     0,     0,     0,    72,   121,    68,
+       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,   123,     0,     0,
-     103,   102,   101,   100,     0,    48,   122,   124,     0,    52,
-       0,     0,    81,    54,     0,     0,     0,    82
+      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
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     6,     7,     8,   113,     9,    10,    11,    12,    24,
-      92,    39,    93,   170,    30,    52,    53,    54,    55,   120,
-     180,   181,   125,   177,    94,   147,   107,   182,   131,    95,
-     121,   193,   274,   284,   202,   198,   132,   191,   134,   123,
-     214,    97,   196,    98,   236,   148,   219,   220,    99,   100,
-      56,    57,   110,   114,   115,    58
+      -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,
+      59,    60,   108,   112,   113,    61
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -219
+#define YYPACT_NINF -209
 static const yytype_int16 yypact[] =
 {
-     102,  -219,   -25,    40,    24,    29,    70,   249,  -219,  -219,
-      74,  -219,  -219,   107,    11,  -219,  -219,  -219,  -219,  -219,
-      -6,    65,    11,   137,   148,    11,  -219,  -219,   152,  -219,
-      87,  -219,  -219,  -219,  -219,   123,  -219,   173,   126,   136,
-     123,  -219,   159,   -11,   186,   190,   194,   196,   158,    86,
-    -219,  -219,   203,   123,  -219,  -219,  -219,  -219,  -219,   177,
-    -219,   201,  -219,   170,   208,   191,   179,    12,    12,    19,
-     214,  -219,   181,   213,  -219,  -219,   115,  -219,   183,   222,
-     222,   223,   222,    36,   187,   226,   228,   229,   232,   222,
-     202,   182,  -219,  -219,   213,  -219,  -219,    16,   113,   239,
-     177,  -219,  -219,   240,   179,   213,  -219,    22,    12,   101,
-     246,   248,  -219,   241,   250,    10,  -219,   234,  -219,    56,
-     255,    56,   256,   253,  -219,   259,  -219,   224,  -219,    26,
-     225,   157,   258,   119,   261,  -219,  -219,  -219,  -219,   213,
-     266,  -219,  -219,  -219,   254,  -219,   231,  -219,    59,  -219,
-    -219,  -219,  -219,  -219,    60,  -219,   233,   235,   236,  -219,
-    -219,    12,   237,  -219,  -219,   224,  -219,  -219,  -219,   263,
-     238,   213,  -219,  -219,  -219,   270,  -219,   242,   124,    -1,
-     269,   276,   273,   187,   187,  -219,   187,   243,   187,  -219,
-     244,   274,  -219,   247,  -219,   115,  -219,   213,  -219,  -219,
-    -219,   251,   252,   257,   264,  -219,  -219,  -219,   283,  -219,
-    -219,   284,  -219,  -219,   242,   286,   260,   262,   285,   292,
-     124,   265,   267,  -219,   267,   172,    15,   176,  -219,   165,
-    -219,    -6,   290,   294,  -219,  -219,  -219,   293,   277,   213,
-      12,  -219,   129,  -219,   295,   296,    56,  -219,  -219,  -219,
-     268,   291,   298,   187,   187,   187,   187,  -219,  -219,  -219,
-    -219,   213,  -219,  -219,  -219,    56,    56,  -219,   267,   267,
-     301,   301,   301,   301,   271,  -219,  -219,  -219,   300,  -219,
-     307,   267,  -219,  -219,   275,   309,   213,  -219
+     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
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -219,  -219,  -219,   310,   -19,  -219,  -219,  -219,  -219,   125,
-       5,  -219,   -15,  -219,  -219,   -31,  -219,  -219,  -219,  -114,
-    -219,   154,    25,  -219,  -219,   143,   217,  -218,   -82,  -219,
-     -59,  -219,  -219,  -219,  -219,  -219,  -219,  -219,  -219,  -219,
-    -219,  -219,  -219,  -219,  -219,   108,   103,  -219,   227,  -219,
-    -219,  -219,   -65,   209,  -219,   -51
+    -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
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -840,76 +840,86 @@
 #define YYTABLE_NINF -133
 static const yytype_int16 yytable[] =
 {
-      96,    28,   133,   111,   251,   172,   252,   174,   101,    62,
-     -66,   167,    22,   108,   118,   168,   -20,  -132,    13,    25,
-      51,    64,    75,   145,   112,    51,   187,    25,   254,   156,
-      25,    26,    65,   157,   158,   144,   183,    27,    51,   184,
-      50,    96,   221,   160,    14,    50,   155,    26,    15,   101,
-     278,   279,    16,    27,    23,   109,    26,   119,    50,   146,
-      76,   -49,    27,   283,    77,   159,   200,   203,    78,   201,
-      17,   157,   158,   129,    79,    80,    81,    20,    82,   130,
-     194,   233,    83,    84,    85,    86,    87,    71,    36,    88,
-      89,   -49,   -49,   -49,    37,    32,   207,    38,    48,    91,
-      72,   225,   226,   159,   227,   126,   229,   128,    29,   161,
-       1,    73,   212,    21,   139,   162,   119,     2,     3,    76,
-     -49,   149,   150,    77,    40,     4,     5,    78,   -31,   190,
-     187,    41,   267,    79,    80,    81,   264,    82,   234,   201,
-      42,    83,    84,    85,    86,    87,    32,    31,    88,    89,
-      34,   276,   277,    33,    43,    44,    35,    48,    91,   216,
-     217,   218,    45,    46,    47,    48,    49,   186,   187,    60,
-     188,   270,   271,   272,   273,   263,   187,    59,   256,    61,
-     262,    76,   253,   187,    63,    77,   255,   187,   141,    78,
-     142,    32,    66,   143,    67,    79,    80,    81,    68,    82,
-      69,    70,   275,    83,    84,    85,    86,    87,    74,   102,
-      88,    89,   257,   103,   104,    90,   105,    76,    47,    48,
-      91,    77,   106,   116,   117,    78,   122,   287,   124,   127,
-     130,    79,    80,    81,   135,    82,   136,   137,   138,    83,
-      84,    85,    86,    87,   151,   140,    88,    89,   153,    -2,
-      18,   163,   -14,   164,   165,    48,    91,     1,   166,   171,
-     173,   176,   175,   178,     2,     3,   189,   179,   185,   192,
-     195,   210,     4,     5,   199,   197,   204,   213,   205,   206,
-     208,   211,   222,   223,   224,   146,   228,   230,   231,   239,
-     232,   240,   241,   243,   235,   237,   246,   247,   258,   259,
-     238,   260,   261,   244,   268,   245,   265,   266,   249,   269,
-     250,   221,   187,   281,   280,   282,   286,    19,   285,   209,
-     215,   154,   242,   248,   169,     0,     0,   152
+      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
 };
 
 static const yytype_int16 yycheck[] =
 {
-      59,    20,    84,    68,   222,   119,   224,   121,    59,    40,
-      11,     1,     1,     1,    73,     5,     5,     5,    43,    14,
-      35,    32,    53,     7,     5,    40,    11,    22,    13,     7,
-      25,    37,    43,    11,    12,    94,    10,    43,    53,    13,
-      35,   100,    43,   108,     4,    40,   105,    37,    24,   100,
-     268,   269,    23,    43,    43,    43,    37,     1,    53,    43,
-       4,     5,    43,   281,     8,    43,     7,     7,    12,    10,
-       0,    11,    12,    37,    18,    19,    20,     3,    22,    43,
-     139,   195,    26,    27,    28,    29,    30,     1,     1,    33,
-      34,    35,    36,    37,     7,     9,   161,    10,    42,    43,
-      14,   183,   184,    43,   186,    80,   188,    82,    43,     8,
-       8,    25,   171,     6,    89,    14,     1,    15,    16,     4,
-       5,     8,     9,     8,     1,    23,    24,    12,     5,    10,
-      11,     8,   246,    18,    19,    20,     7,    22,   197,    10,
-      17,    26,    27,    28,    29,    30,     9,    22,    33,    34,
-      25,   265,   266,     5,    31,    32,     4,    42,    43,    35,
-      36,    37,    39,    40,    41,    42,    43,    10,    11,    43,
-      13,   253,   254,   255,   256,   240,    11,     4,    13,    43,
-     239,     4,    10,    11,    25,     8,    10,    11,     6,    12,
-       8,     9,     6,    11,     4,    18,    19,    20,     4,    22,
-       4,    43,   261,    26,    27,    28,    29,    30,     5,     8,
-      33,    34,   231,    43,     6,    38,    25,     4,    41,    42,
-      43,     8,    43,     9,    43,    12,    43,   286,     6,     6,
-      43,    18,    19,    20,     8,    22,     8,     8,     6,    26,
-      27,    28,    29,    30,     5,    43,    33,    34,     8,     0,
-       1,     5,     3,     5,    13,    42,    43,     8,     8,    25,
-       5,     8,     6,     4,    15,    16,     8,    43,    43,     8,
-       4,     8,    23,    24,    43,    21,    43,     7,    43,    43,
-      43,    43,    13,     7,    11,    43,    43,    43,    14,    25,
-      43,     8,     8,     7,    43,    43,    11,     5,     8,     5,
-      43,     8,    25,    43,    13,    43,    11,    11,    43,    11,
-      43,    43,    11,    13,    43,     8,     7,     7,    43,   165,
-     177,   104,   214,   220,   115,    -1,    -1,   100
+      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
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -918,33 +928,33 @@
 {
        0,     8,    15,    16,    23,    24,    45,    46,    47,    49,
       50,    51,    52,    43,     4,    24,    23,     0,     1,    47,
-       3,     6,     1,    43,    53,    54,    37,    43,    48,    43,
-      58,    53,     9,     5,    53,     4,     1,     7,    10,    55,
-       1,     8,    17,    31,    32,    39,    40,    41,    42,    43,
-      54,    56,    59,    60,    61,    62,    94,    95,    99,     4,
-      43,    43,    59,    25,    32,    43,     6,     4,     4,     4,
-      43,     1,    14,    25,     5,    59,     4,     8,    12,    18,
+       3,     6,     1,    53,    37,    43,    48,    43,    58,    53,
+       5,    43,    54,     4,     1,     7,    10,     9,     1,    59,
+       4,    43,    55,    59,     5,     8,    17,    31,    32,    39,
+      40,    41,    42,    43,    54,    56,    60,    61,    62,    94,
+      95,    99,    92,    43,    25,    32,    43,     6,     4,     4,
+       4,    43,     1,    14,    25,     4,     5,     8,    12,    18,
       19,    20,    22,    26,    27,    28,    29,    30,    33,    34,
-      38,    43,    54,    56,    68,    73,    74,    85,    87,    92,
-      93,    99,     8,    43,     6,    25,    43,    70,     1,    43,
-      96,    96,     5,    48,    97,    98,     9,    43,    74,     1,
-      63,    74,    43,    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,     5,    92,     8,    70,    74,     7,    11,    12,    43,
-      96,     8,    14,     5,     5,    13,     8,     1,     5,    97,
-      57,    25,    63,     5,    63,     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,    96,    43,    65,
-       8,    43,    74,     7,    84,    69,    35,    36,    37,    90,
-      91,    43,    13,     7,    11,    72,    72,    72,    43,    72,
+      38,    43,    54,    56,    68,    73,    74,    85,    87,    93,
+      99,     8,    43,     6,    25,    43,    70,     1,    96,    96,
+       5,    48,    97,    98,     9,    43,    74,     1,    63,    43,
+      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,
-       8,     8,    89,     7,    43,    43,    11,     5,    90,    43,
+      43,     8,    89,     7,     5,    35,    36,    37,    91,    43,
       43,    71,    71,    10,    13,    10,    13,    48,     8,     5,
-       8,    25,    74,    96,     7,    11,    11,    63,    13,    11,
-      72,    72,    72,    72,    76,    74,    63,    63,    71,    71,
-      43,    13,     8,    71,    77,    43,     7,    74
+       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)
@@ -1469,7 +1479,7 @@
       case 43: /* "word" */
 #line 183 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1473 "ael.tab.c"
+#line 1483 "ael.tab.c"
 	break;
       case 46: /* "objects" */
 #line 170 "ael.y"
@@ -1477,7 +1487,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1481 "ael.tab.c"
+#line 1491 "ael.tab.c"
 	break;
       case 47: /* "object" */
 #line 170 "ael.y"
@@ -1485,12 +1495,12 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1489 "ael.tab.c"
+#line 1499 "ael.tab.c"
 	break;
       case 48: /* "context_name" */
 #line 183 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1494 "ael.tab.c"
+#line 1504 "ael.tab.c"
 	break;
       case 49: /* "context" */
 #line 170 "ael.y"
@@ -1498,7 +1508,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1502 "ael.tab.c"
+#line 1512 "ael.tab.c"
 	break;
       case 51: /* "macro" */
 #line 170 "ael.y"
@@ -1506,7 +1516,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1510 "ael.tab.c"
+#line 1520 "ael.tab.c"
 	break;
       case 52: /* "globals" */
 #line 170 "ael.y"
@@ -1514,7 +1524,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1518 "ael.tab.c"
+#line 1528 "ael.tab.c"
 	break;
       case 53: /* "global_statements" */
 #line 170 "ael.y"
@@ -1522,7 +1532,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1526 "ael.tab.c"
+#line 1536 "ael.tab.c"
 	break;
       case 54: /* "assignment" */
 #line 170 "ael.y"
@@ -1530,7 +1540,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1534 "ael.tab.c"
+#line 1544 "ael.tab.c"
 	break;
       case 56: /* "local_assignment" */
 #line 170 "ael.y"
@@ -1538,7 +1548,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1542 "ael.tab.c"
+#line 1552 "ael.tab.c"
 	break;
       case 58: /* "arglist" */
 #line 170 "ael.y"
@@ -1546,7 +1556,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1550 "ael.tab.c"
+#line 1560 "ael.tab.c"
 	break;
       case 59: /* "elements" */
 #line 170 "ael.y"
@@ -1554,7 +1564,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1558 "ael.tab.c"
+#line 1568 "ael.tab.c"
 	break;
       case 60: /* "element" */
 #line 170 "ael.y"
@@ -1562,7 +1572,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1566 "ael.tab.c"
+#line 1576 "ael.tab.c"
 	break;
       case 61: /* "ignorepat" */
 #line 170 "ael.y"
@@ -1570,7 +1580,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1574 "ael.tab.c"
+#line 1584 "ael.tab.c"
 	break;
       case 62: /* "extension" */
 #line 170 "ael.y"
@@ -1578,7 +1588,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1582 "ael.tab.c"
+#line 1592 "ael.tab.c"
 	break;
       case 63: /* "statements" */
 #line 170 "ael.y"
@@ -1586,12 +1596,12 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1590 "ael.tab.c"
+#line 1600 "ael.tab.c"
 	break;
       case 64: /* "timerange" */
 #line 183 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1595 "ael.tab.c"
+#line 1605 "ael.tab.c"
 	break;
       case 65: /* "timespec" */
 #line 170 "ael.y"
@@ -1599,12 +1609,12 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1603 "ael.tab.c"
+#line 1613 "ael.tab.c"
 	break;
       case 66: /* "test_expr" */
 #line 183 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1608 "ael.tab.c"
+#line 1618 "ael.tab.c"
 	break;
       case 68: /* "if_like_head" */
 #line 170 "ael.y"
@@ -1612,22 +1622,22 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1616 "ael.tab.c"
+#line 1626 "ael.tab.c"
 	break;
       case 69: /* "word_list" */
 #line 183 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1621 "ael.tab.c"
+#line 1631 "ael.tab.c"
 	break;
       case 71: /* "word3_list" */
 #line 183 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1626 "ael.tab.c"
+#line 1636 "ael.tab.c"
 	break;
       case 72: /* "goto_word" */
 #line 183 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1631 "ael.tab.c"
+#line 1641 "ael.tab.c"
 	break;
       case 73: /* "switch_statement" */
 #line 170 "ael.y"
@@ -1635,7 +1645,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1639 "ael.tab.c"
+#line 1649 "ael.tab.c"
 	break;
       case 74: /* "statement" */
 #line 170 "ael.y"
@@ -1643,7 +1653,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1647 "ael.tab.c"
+#line 1657 "ael.tab.c"
 	break;
       case 79: /* "opt_else" */
 #line 170 "ael.y"
@@ -1651,7 +1661,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1655 "ael.tab.c"
+#line 1665 "ael.tab.c"
 	break;
       case 80: /* "target" */
 #line 170 "ael.y"
@@ -1659,12 +1669,12 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1663 "ael.tab.c"
+#line 1673 "ael.tab.c"
 	break;
       case 81: /* "opt_pri" */
 #line 183 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1668 "ael.tab.c"
+#line 1678 "ael.tab.c"
 	break;
       case 82: /* "jumptarget" */
 #line 170 "ael.y"
@@ -1672,7 +1682,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1676 "ael.tab.c"
+#line 1686 "ael.tab.c"
 	break;
       case 83: /* "macro_call" */
 #line 170 "ael.y"
@@ -1680,7 +1690,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1684 "ael.tab.c"
+#line 1694 "ael.tab.c"
 	break;
       case 85: /* "application_call_head" */
 #line 170 "ael.y"
@@ -1688,7 +1698,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1692 "ael.tab.c"
+#line 1702 "ael.tab.c"
 	break;
       case 87: /* "application_call" */
 #line 170 "ael.y"
@@ -1696,12 +1706,12 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1700 "ael.tab.c"
+#line 1710 "ael.tab.c"
 	break;
       case 88: /* "opt_word" */
 #line 183 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1705 "ael.tab.c"
+#line 1715 "ael.tab.c"
 	break;
       case 89: /* "eval_arglist" */
 #line 170 "ael.y"
@@ -1709,7 +1719,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1713 "ael.tab.c"
+#line 1723 "ael.tab.c"
 	break;
       case 90: /* "case_statements" */
 #line 170 "ael.y"
@@ -1717,7 +1727,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1721 "ael.tab.c"
+#line 1731 "ael.tab.c"
 	break;
       case 91: /* "case_statement" */
 #line 170 "ael.y"
@@ -1725,7 +1735,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1729 "ael.tab.c"
+#line 1739 "ael.tab.c"
 	break;
       case 92: /* "macro_statements" */
 #line 170 "ael.y"
@@ -1733,7 +1743,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1737 "ael.tab.c"
+#line 1747 "ael.tab.c"
 	break;
       case 93: /* "macro_statement" */
 #line 170 "ael.y"
@@ -1741,7 +1751,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1745 "ael.tab.c"
+#line 1755 "ael.tab.c"
 	break;
       case 94: /* "switches" */
 #line 170 "ael.y"
@@ -1749,7 +1759,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1753 "ael.tab.c"
+#line 1763 "ael.tab.c"
 	break;
       case 95: /* "eswitches" */
 #line 170 "ael.y"
@@ -1757,7 +1767,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1761 "ael.tab.c"
+#line 1771 "ael.tab.c"
 	break;
       case 96: /* "switchlist" */
 #line 170 "ael.y"
@@ -1765,7 +1775,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1769 "ael.tab.c"
+#line 1779 "ael.tab.c"
 	break;
       case 97: /* "included_entry" */
 #line 170 "ael.y"
@@ -1773,7 +1783,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1777 "ael.tab.c"
+#line 1787 "ael.tab.c"
 	break;
       case 98: /* "includeslist" */
 #line 170 "ael.y"
@@ -1781,7 +1791,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1785 "ael.tab.c"
+#line 1795 "ael.tab.c"
 	break;
       case 99: /* "includes" */
 #line 170 "ael.y"
@@ -1789,7 +1799,7 @@
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1793 "ael.tab.c"
+#line 1803 "ael.tab.c"
 	break;
 
       default:
@@ -3013,20 +3023,20 @@
 
   case 133:
 #line 665 "ael.y"
-    { (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;}
+    { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval),nword((yyvsp[(2) - (3)].str), &(yylsp[(2) - (3)]))); ;}
     break;
 
   case 134:
 #line 666 "ael.y"
     {
 	  char *x;
-	  if (asprintf(&x,"%s@%s", (yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str)) < 0) {
+	  if (asprintf(&x,"%s@%s", (yyvsp[(2) - (5)].str), (yyvsp[(4) - (5)].str)) < 0) {
 		ast_log(LOG_WARNING, "asprintf() failed\n");
 		(yyval.pval) = NULL;
 	  } else {
-		free((yyvsp[(1) - (5)].str));
-		free((yyvsp[(3) - (5)].str));
-		(yyval.pval) = linku1(nword(x, &(yylsp[(1) - (5)])), (yyvsp[(5) - (5)].pval));
+		free((yyvsp[(2) - (5)].str));
+		free((yyvsp[(4) - (5)].str));
+		(yyval.pval) = linku1((yyvsp[(1) - (5)].pval),nword(x, &(yylsp[(2) - (5)])));
 	  }
 	;}
     break;
@@ -3079,7 +3089,7 @@
 
 
 /* Line 1267 of yacc.c.  */
-#line 3083 "ael.tab.c"
+#line 3093 "ael.tab.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);

Modified: trunk/res/ael/ael.y
URL: http://svn.digium.com/svn-view/asterisk/trunk/res/ael/ael.y?view=diff&rev=177286&r1=177285&r2=177286
==============================================================================
--- trunk/res/ael/ael.y (original)
+++ trunk/res/ael/ael.y Wed Feb 18 17:50:57 2009
@@ -159,7 +159,7 @@
 
 /* there will be two shift/reduce conflicts, they involve the if statement, where a single statement occurs not wrapped in curlies in the "true" section
    the default action to shift will attach the else to the preceeding if. */
-%expect 3
+%expect 30
 %error-verbose
 
 /*
@@ -235,7 +235,7 @@
 	;
 
 global_statements : { $$ = NULL; }
-	| assignment global_statements {$$ = linku1($1, $2); }
+	| global_statements assignment {$$ = linku1($1, $2); }
 	| error global_statements {$$=$2;}
 	;
 

[... 60 lines stripped ...]



More information about the asterisk-commits mailing list