mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-04 05:15:22 +00:00 
			
		
		
		
	Merged revisions 177286 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r177286 | murf | 2009-02-18 16:50:57 -0700 (Wed, 18 Feb 2009) | 39 lines 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. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@177289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		@@ -512,7 +512,7 @@ union yyalloc
 | 
			
		||||
/* 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
 | 
			
		||||
@@ -521,7 +521,7 @@ union yyalloc
 | 
			
		||||
/* 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
 | 
			
		||||
@@ -595,17 +595,17 @@ static const yytype_int8 yyrhs[] =
 | 
			
		||||
      -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,
 | 
			
		||||
@@ -629,12 +629,12 @@ static const yytype_int8 yyrhs[] =
 | 
			
		||||
      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
 | 
			
		||||
@@ -747,91 +747,91 @@ static const yytype_uint8 yydefact[] =
 | 
			
		||||
{
 | 
			
		||||
      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
 | 
			
		||||
@@ -841,76 +841,86 @@ static const yytype_int16 yypgoto[] =
 | 
			
		||||
#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
 | 
			
		||||
@@ -919,33 +929,33 @@ static const yytype_uint8 yystos[] =
 | 
			
		||||
{
 | 
			
		||||
       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)
 | 
			
		||||
@@ -1470,7 +1480,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
      case 43: /* "word" */
 | 
			
		||||
#line 184 "ael.y"
 | 
			
		||||
	{ free((yyvaluep->str));};
 | 
			
		||||
#line 1474 "ael.tab.c"
 | 
			
		||||
#line 1484 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 46: /* "objects" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1478,7 +1488,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1482 "ael.tab.c"
 | 
			
		||||
#line 1492 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 47: /* "object" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1486,12 +1496,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1490 "ael.tab.c"
 | 
			
		||||
#line 1500 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 48: /* "context_name" */
 | 
			
		||||
#line 184 "ael.y"
 | 
			
		||||
	{ free((yyvaluep->str));};
 | 
			
		||||
#line 1495 "ael.tab.c"
 | 
			
		||||
#line 1505 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 49: /* "context" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1499,7 +1509,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1503 "ael.tab.c"
 | 
			
		||||
#line 1513 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 51: /* "macro" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1507,7 +1517,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1511 "ael.tab.c"
 | 
			
		||||
#line 1521 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 52: /* "globals" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1515,7 +1525,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1519 "ael.tab.c"
 | 
			
		||||
#line 1529 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 53: /* "global_statements" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1523,7 +1533,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1527 "ael.tab.c"
 | 
			
		||||
#line 1537 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 54: /* "assignment" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1531,7 +1541,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1535 "ael.tab.c"
 | 
			
		||||
#line 1545 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 56: /* "local_assignment" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1539,7 +1549,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1543 "ael.tab.c"
 | 
			
		||||
#line 1553 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 58: /* "arglist" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1547,7 +1557,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1551 "ael.tab.c"
 | 
			
		||||
#line 1561 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 59: /* "elements" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1555,7 +1565,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1559 "ael.tab.c"
 | 
			
		||||
#line 1569 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 60: /* "element" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1563,7 +1573,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1567 "ael.tab.c"
 | 
			
		||||
#line 1577 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 61: /* "ignorepat" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1571,7 +1581,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1575 "ael.tab.c"
 | 
			
		||||
#line 1585 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 62: /* "extension" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1579,7 +1589,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1583 "ael.tab.c"
 | 
			
		||||
#line 1593 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 63: /* "statements" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1587,12 +1597,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1591 "ael.tab.c"
 | 
			
		||||
#line 1601 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 64: /* "timerange" */
 | 
			
		||||
#line 184 "ael.y"
 | 
			
		||||
	{ free((yyvaluep->str));};
 | 
			
		||||
#line 1596 "ael.tab.c"
 | 
			
		||||
#line 1606 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 65: /* "timespec" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1600,12 +1610,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1604 "ael.tab.c"
 | 
			
		||||
#line 1614 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 66: /* "test_expr" */
 | 
			
		||||
#line 184 "ael.y"
 | 
			
		||||
	{ free((yyvaluep->str));};
 | 
			
		||||
#line 1609 "ael.tab.c"
 | 
			
		||||
#line 1619 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 68: /* "if_like_head" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1613,22 +1623,22 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1617 "ael.tab.c"
 | 
			
		||||
#line 1627 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 69: /* "word_list" */
 | 
			
		||||
#line 184 "ael.y"
 | 
			
		||||
	{ free((yyvaluep->str));};
 | 
			
		||||
#line 1622 "ael.tab.c"
 | 
			
		||||
#line 1632 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 71: /* "word3_list" */
 | 
			
		||||
#line 184 "ael.y"
 | 
			
		||||
	{ free((yyvaluep->str));};
 | 
			
		||||
#line 1627 "ael.tab.c"
 | 
			
		||||
#line 1637 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 72: /* "goto_word" */
 | 
			
		||||
#line 184 "ael.y"
 | 
			
		||||
	{ free((yyvaluep->str));};
 | 
			
		||||
#line 1632 "ael.tab.c"
 | 
			
		||||
#line 1642 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 73: /* "switch_statement" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1636,7 +1646,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1640 "ael.tab.c"
 | 
			
		||||
#line 1650 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 74: /* "statement" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1644,7 +1654,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1648 "ael.tab.c"
 | 
			
		||||
#line 1658 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 79: /* "opt_else" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1652,7 +1662,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1656 "ael.tab.c"
 | 
			
		||||
#line 1666 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 80: /* "target" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1660,12 +1670,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1664 "ael.tab.c"
 | 
			
		||||
#line 1674 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 81: /* "opt_pri" */
 | 
			
		||||
#line 184 "ael.y"
 | 
			
		||||
	{ free((yyvaluep->str));};
 | 
			
		||||
#line 1669 "ael.tab.c"
 | 
			
		||||
#line 1679 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 82: /* "jumptarget" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1673,7 +1683,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1677 "ael.tab.c"
 | 
			
		||||
#line 1687 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 83: /* "macro_call" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1681,7 +1691,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1685 "ael.tab.c"
 | 
			
		||||
#line 1695 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 85: /* "application_call_head" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1689,7 +1699,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1693 "ael.tab.c"
 | 
			
		||||
#line 1703 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 87: /* "application_call" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1697,12 +1707,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1701 "ael.tab.c"
 | 
			
		||||
#line 1711 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 88: /* "opt_word" */
 | 
			
		||||
#line 184 "ael.y"
 | 
			
		||||
	{ free((yyvaluep->str));};
 | 
			
		||||
#line 1706 "ael.tab.c"
 | 
			
		||||
#line 1716 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 89: /* "eval_arglist" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1710,7 +1720,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1714 "ael.tab.c"
 | 
			
		||||
#line 1724 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 90: /* "case_statements" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1718,7 +1728,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1722 "ael.tab.c"
 | 
			
		||||
#line 1732 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 91: /* "case_statement" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1726,7 +1736,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1730 "ael.tab.c"
 | 
			
		||||
#line 1740 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 92: /* "macro_statements" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1734,7 +1744,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1738 "ael.tab.c"
 | 
			
		||||
#line 1748 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 93: /* "macro_statement" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1742,7 +1752,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1746 "ael.tab.c"
 | 
			
		||||
#line 1756 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 94: /* "switches" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1750,7 +1760,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1754 "ael.tab.c"
 | 
			
		||||
#line 1764 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 95: /* "eswitches" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1758,7 +1768,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1762 "ael.tab.c"
 | 
			
		||||
#line 1772 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 96: /* "switchlist" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1766,7 +1776,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1770 "ael.tab.c"
 | 
			
		||||
#line 1780 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 97: /* "included_entry" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1774,7 +1784,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1778 "ael.tab.c"
 | 
			
		||||
#line 1788 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 98: /* "includeslist" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1782,7 +1792,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1786 "ael.tab.c"
 | 
			
		||||
#line 1796 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
      case 99: /* "includes" */
 | 
			
		||||
#line 171 "ael.y"
 | 
			
		||||
@@ -1790,7 +1800,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 | 
			
		||||
		destroy_pval((yyvaluep->pval));
 | 
			
		||||
		prev_word=0;
 | 
			
		||||
	};
 | 
			
		||||
#line 1794 "ael.tab.c"
 | 
			
		||||
#line 1804 "ael.tab.c"
 | 
			
		||||
	break;
 | 
			
		||||
 | 
			
		||||
      default:
 | 
			
		||||
@@ -3018,20 +3028,20 @@ yyreduce:
 | 
			
		||||
 | 
			
		||||
  case 133:
 | 
			
		||||
#line 670 "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 671 "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;
 | 
			
		||||
@@ -3084,7 +3094,7 @@ yyreduce:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Line 1267 of yacc.c.  */
 | 
			
		||||
#line 3088 "ael.tab.c"
 | 
			
		||||
#line 3098 "ael.tab.c"
 | 
			
		||||
      default: break;
 | 
			
		||||
    }
 | 
			
		||||
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
 | 
			
		||||
 
 | 
			
		||||
@@ -160,7 +160,7 @@ static pval *update_last(pval *, YYLTYPE *);
 | 
			
		||||
 | 
			
		||||
/* 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
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@@ -236,7 +236,7 @@ globals : KW_GLOBALS LC global_statements RC {
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
global_statements : { $$ = NULL; }
 | 
			
		||||
	| assignment global_statements {$$ = linku1($1, $2); }
 | 
			
		||||
	| global_statements assignment {$$ = linku1($1, $2); }
 | 
			
		||||
	| error global_statements {$$=$2;}
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
@@ -264,7 +264,7 @@ arglist : /* empty */ { $$ = NULL; }
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
elements : {$$=0;}
 | 
			
		||||
	| element elements { $$ = linku1($1, $2); }
 | 
			
		||||
	| elements element { $$ = linku1($1, $2); }
 | 
			
		||||
	| error elements  { $$=$2;}
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
@@ -316,7 +316,7 @@ extension : word EXTENMARK statement {
 | 
			
		||||
 | 
			
		||||
/* list of statements in a block or after a case label - can be empty */
 | 
			
		||||
statements : /* empty */ { $$ = NULL; }
 | 
			
		||||
	| statement statements { $$ = linku1($1, $2); }
 | 
			
		||||
	| statements statement { $$ = linku1($1, $2); }
 | 
			
		||||
	| error statements {$$=$2;}
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
@@ -627,7 +627,7 @@ eval_arglist :  word_list { $$ = nword($1, &@1); }
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
case_statements: /* empty */ { $$ = NULL; }
 | 
			
		||||
	| case_statement case_statements { $$ = linku1($1, $2); }
 | 
			
		||||
	| case_statements case_statement { $$ = linku1($1, $2); }
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
case_statement: KW_CASE word COLON statements {
 | 
			
		||||
@@ -645,7 +645,7 @@ case_statement: KW_CASE word COLON statements {
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
macro_statements: /* empty */ { $$ = NULL; }
 | 
			
		||||
	| macro_statement macro_statements { $$ = linku1($1, $2); }
 | 
			
		||||
	| macro_statements macro_statement { $$ = linku1($1, $2); }
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
macro_statement : statement {$$=$1;}
 | 
			
		||||
@@ -667,16 +667,16 @@ eswitches : KW_ESWITCHES LC switchlist RC {
 | 
			
		||||
	;
 | 
			
		||||
 | 
			
		||||
switchlist : /* empty */ { $$ = NULL; }
 | 
			
		||||
	| word SEMI switchlist { $$ = linku1(nword($1, &@1), $3); }
 | 
			
		||||
	| word AT word SEMI switchlist {
 | 
			
		||||
	| switchlist word SEMI { $$ = linku1($1,nword($2, &@2)); }
 | 
			
		||||
	| switchlist word AT word SEMI {
 | 
			
		||||
	  char *x;
 | 
			
		||||
	  if (asprintf(&x,"%s@%s", $1, $3) < 0) {
 | 
			
		||||
	  if (asprintf(&x,"%s@%s", $2, $4) < 0) {
 | 
			
		||||
		ast_log(LOG_WARNING, "asprintf() failed\n");
 | 
			
		||||
		$$ = NULL;
 | 
			
		||||
	  } else {
 | 
			
		||||
		free($1);
 | 
			
		||||
		free($3);
 | 
			
		||||
		$$ = linku1(nword(x, &@1), $5);
 | 
			
		||||
		free($2);
 | 
			
		||||
		free($4);
 | 
			
		||||
		$$ = linku1($1,nword(x, &@2));
 | 
			
		||||
	  }
 | 
			
		||||
	}
 | 
			
		||||
	| error switchlist {$$=$2;}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user