- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
-
-/* Written by Richard Stallman by simplifying the original so called
- ``semantic'' parser. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
- "$end", "error", "$undefined", "BREAK", "FOR", "CONTINUE", "IF", "ELSE",
- "DO", "WHILE", "THIS", "EVAL", "TIME", "RANDOM", "LENGTH", "INT",
- "CONCAT", "DUPLICATECLIP", "REMOVECLIP", "TRACE", "STARTDRAG",
- "STOPDRAG", "ORD", "CHR", "CALLFRAME", "GETURL", "GETURL1", "LOADMOVIE",
- "LOADVARIABLES", "POSTURL", "SUBSTR", "GETPROPERTY", "NEXTFRAME",
- "PREVFRAME", "PLAY", "STOP", "TOGGLEQUALITY", "STOPSOUNDS", "GOTOFRAME",
- "GOTOANDPLAY", "FRAMELOADED", "SETTARGET", "TELLTARGET", "STRING",
- "NUMBER", "IDENTIFIER", "PATH", "GETURL_METHOD", "\"==\"", "\"<=\"",
- "\">=\"", "\"!=\"", "\"&&\"", "\"||\"", "\"++\"", "\"--\"", "\"+=\"",
- "\"/=\"", "\"*=\"", "\"-=\"", "\"===\"", "\"!==\"", "\"<=>\"", "\"..\"",
- "\"end\"", "','", "'='", "'?'", "':'", "'<'", "'>'", "'&'", "'+'",
- "'-'", "'*'", "'/'", "'!'", "UMINUS", "POSTFIX", "NEGATE", "'{'", "'}'",
- "';'", "'('", "')'", "'.'", "$accept", "program", "elems", "elem",
- "stmt", "assign_stmts", "statements", "if_stmt", "expr_opt",
- "iter_stmt", "assign_stmts_opt", "cont_stmt", "break_stmt",
- "void_function_call", "function_call", "pf_expr", "rhs_expr",
- "variable", "sprite", "lhs_expr", "assign_stmt", "expr", 0
+ "$end", "error", "$undefined", "BREAK", "FOR", "CONTINUE", "IF", "ELSE",
+ "DO", "WHILE", "THIS", "EVAL", "TIME", "RANDOM", "LENGTH", "INT",
+ "CONCAT", "DUPLICATECLIP", "REMOVECLIP", "TRACE", "STARTDRAG",
+ "STOPDRAG", "ORD", "CHR", "CALLFRAME", "GETURL", "GETURL1", "LOADMOVIE",
+ "LOADVARIABLES", "POSTURL", "SUBSTR", "GETPROPERTY", "NEXTFRAME",
+ "PREVFRAME", "PLAY", "STOP", "TOGGLEQUALITY", "STOPSOUNDS", "GOTOFRAME",
+ "GOTOANDPLAY", "FRAMELOADED", "SETTARGET", "TELLTARGET", "STRING",
+ "NUMBER", "IDENTIFIER", "PATH", "GETURL_METHOD", "\"==\"", "\"<=\"",
+ "\">=\"", "\"!=\"", "\"&&\"", "\"||\"", "\"++\"", "\"--\"", "\"+=\"",
+ "\"/=\"", "\"*=\"", "\"-=\"", "\"===\"", "\"!==\"", "\"<=>\"", "\"..\"",
+ "\"end\"", "','", "'='", "'?'", "':'", "'<'", "'>'", "'&'", "'+'", "'-'",
+ "'*'", "'/'", "'!'", "UMINUS", "POSTFIX", "NEGATE", "'{'", "'}'", "';'",
+ "'('", "')'", "'.'", "$accept", "program", "elems", "elem", "stmt",
+ "assign_stmts", "statements", "if_stmt", "expr_opt", "iter_stmt",
+ "assign_stmts_opt", "cont_stmt", "break_stmt", "void_function_call",
+ "function_call", "pf_expr", "rhs_expr", "variable", "sprite", "lhs_expr",
+ "assign_stmt", "expr", 0
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- Current.first_line = Rhs[1].first_line; \
- Current.first_column = Rhs[1].first_column; \
- Current.last_line = Rhs[N].last_line; \
- Current.last_column = Rhs[N].last_column;
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ do \
+ if (YYID (N)) \
+ { \
+ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
+ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
+ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
+ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
+ } \
+ else \
+ { \
+ (Current).first_line = (Current).last_line = \
+ YYRHSLOC (Rhs, 0).last_line; \
+ (Current).first_column = (Current).last_column = \
+ YYRHSLOC (Rhs, 0).last_column; \
+ } \
+ while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+ This macro was not mandated originally: define only if we know
+ we won't break user code: when these are the locations we know. */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+# define YY_LOCATION_PRINT(File, Loc) \
+ fprintf (File, "%d.%d-%d.%d", \
+ (Loc).first_line, (Loc).first_column, \
+ (Loc).last_line, (Loc).last_column)
+# else
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
-# define YYDSYMPRINTF(Title, Token, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yysymprint (stderr, \
- Token, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (0)
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
+{
+ if (!yyvaluep)
+ return;
+# ifdef YYPRINT
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+ YYUSE (yyoutput);
+# endif
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+#endif
+{
+ if (yytype < YYNTOKENS)
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+ YYFPRINTF (yyoutput, ")");
+}
+ int yytype = YYTRANSLATE (yychar);
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ int yysize_overflow = 0;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ int yyx;
+
+# if 0
+ /* This is so xgettext sees the translatable formats that are
+ constructed on the fly. */
+ YY_("syntax error, unexpected %s");
+ YY_("syntax error, unexpected %s, expecting %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+ char *yyfmt;
+ char const *yyf;
+ static char const yyunexpected[] = "syntax error, unexpected %s";
+ static char const yyexpecting[] = ", expecting %s";
+ static char const yyor[] = " or %s";
+ char yyformat[sizeof yyunexpected
+ + sizeof yyexpecting - 1
+ + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+ * (sizeof yyor - 1))];
+ char const *yyprefix = yyexpecting;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 1;
+
+ yyarg[0] = yytname[yytype];
+ yyfmt = yystpcpy (yyformat, yyunexpected);
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ yyformat[sizeof yyunexpected - 1] = '\0';
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+ yyfmt = yystpcpy (yyfmt, yyprefix);
+ yyprefix = yyor;
+ }
+
+ yyf = YY_(yyformat);
+ yysize1 = yysize + yystrlen (yyf);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+
+ if (yysize_overflow)
+ return YYSIZE_MAXIMUM;
+
+ if (yyresult)
+ {
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ char *yyp = yyresult;
+ int yyi = 0;
+ while ((*yyp = *yyf) != '\0')
+ {
+ if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyf += 2;
+ }
+ else
+ {
+ yyp++;
+ yyf++;
+ }
+ }
+ }
+ return yysize;
- { yyval.action = newBuffer();
- bufferWriteU8(yyval.action, SWFACTION_WAITFORFRAME);
- bufferWriteS16(yyval.action, 3);
- bufferWriteS16(yyval.action, atoi(yyvsp[-5].str));
- free(yyvsp[-5].str);
- bufferWriteU8(yyval.action, 1); /* if not loaded, jump to.. */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)+5);
- bufferConcat(yyval.action, yyvsp[0].action); /* ..here */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[-2].action));
- bufferConcat(yyval.action, yyvsp[-2].action); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteU8((yyval.action), SWFACTION_WAITFORFRAME);
+ bufferWriteS16((yyval.action), 3);
+ bufferWriteS16((yyval.action), atoi((yyvsp[(5) - (10)].str)));
+ free((yyvsp[(5) - (10)].str));
+ bufferWriteU8((yyval.action), 1); /* if not loaded, jump to.. */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(10) - (10)].action))+5);
+ bufferConcat((yyval.action), (yyvsp[(10) - (10)].action)); /* ..here */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(8) - (10)].action)));
+ bufferConcat((yyval.action), (yyvsp[(8) - (10)].action)); ;}
- { yyval.action = newBuffer();
- bufferWriteU8(yyval.action, SWFACTION_WAITFORFRAME);
- bufferWriteS16(yyval.action, 3);
- bufferWriteS16(yyval.action, atoi(yyvsp[-3].str));
- free(yyvsp[-3].str);
- bufferWriteU8(yyval.action, 1); /* if not loaded, jump to.. */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, 5);
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS); /* ..here */
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)); /* ..and then out */
- bufferConcat(yyval.action, yyvsp[0].action); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteU8((yyval.action), SWFACTION_WAITFORFRAME);
+ bufferWriteS16((yyval.action), 3);
+ bufferWriteS16((yyval.action), atoi((yyvsp[(5) - (8)].str)));
+ free((yyvsp[(5) - (8)].str));
+ bufferWriteU8((yyval.action), 1); /* if not loaded, jump to.. */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), 5);
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS); /* ..here */
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(8) - (8)].action))); /* ..and then out */
+ bufferConcat((yyval.action), (yyvsp[(8) - (8)].action)); ;}
- { yyval.action = newBuffer();
- bufferWriteU8(yyval.action, SWFACTION_WAITFORFRAME);
- bufferWriteS16(yyval.action, 3);
- bufferWriteS16(yyval.action, atoi(yyvsp[-3].str));
- free(yyvsp[-3].str);
- bufferWriteU8(yyval.action, 1); /* if not loaded, jump to.. */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action));
- bufferConcat(yyval.action, yyvsp[0].action); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteU8((yyval.action), SWFACTION_WAITFORFRAME);
+ bufferWriteS16((yyval.action), 3);
+ bufferWriteS16((yyval.action), atoi((yyvsp[(6) - (9)].str)));
+ free((yyvsp[(6) - (9)].str));
+ bufferWriteU8((yyval.action), 1); /* if not loaded, jump to.. */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(9) - (9)].action)));
+ bufferConcat((yyval.action), (yyvsp[(9) - (9)].action)); ;}
- { yyval.action = yyvsp[-5].action;
- bufferWriteU8(yyval.action, SWFACTION_WAITFORFRAMEEXPRESSION);
- bufferWriteS16(yyval.action, 1);
- bufferWriteU8(yyval.action, 1); /* if not loaded, jump to.. */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)+5);
- bufferConcat(yyval.action, yyvsp[0].action); /* ..here */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[-2].action));
- bufferConcat(yyval.action, yyvsp[-2].action); ;}
+ { (yyval.action) = (yyvsp[(5) - (10)].action);
+ bufferWriteU8((yyval.action), SWFACTION_WAITFORFRAMEEXPRESSION);
+ bufferWriteS16((yyval.action), 1);
+ bufferWriteU8((yyval.action), 1); /* if not loaded, jump to.. */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(10) - (10)].action))+5);
+ bufferConcat((yyval.action), (yyvsp[(10) - (10)].action)); /* ..here */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(8) - (10)].action)));
+ bufferConcat((yyval.action), (yyvsp[(8) - (10)].action)); ;}
- { yyval.action = yyvsp[-3].action;
- bufferWriteU8(yyval.action, SWFACTION_WAITFORFRAMEEXPRESSION);
- bufferWriteS16(yyval.action, 1);
- bufferWriteU8(yyval.action, 1); /* if not loaded, jump to.. */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, 5);
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS); /* ..here */
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)); /* ..and then out */
- bufferConcat(yyval.action, yyvsp[0].action); ;}
+ { (yyval.action) = (yyvsp[(5) - (8)].action);
+ bufferWriteU8((yyval.action), SWFACTION_WAITFORFRAMEEXPRESSION);
+ bufferWriteS16((yyval.action), 1);
+ bufferWriteU8((yyval.action), 1); /* if not loaded, jump to.. */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), 5);
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS); /* ..here */
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(8) - (8)].action))); /* ..and then out */
+ bufferConcat((yyval.action), (yyvsp[(8) - (8)].action)); ;}
- { yyval.action = yyvsp[-3].action;
- bufferWriteU8(yyval.action, SWFACTION_WAITFORFRAMEEXPRESSION);
- bufferWriteS16(yyval.action, 1);
- bufferWriteU8(yyval.action, 1); /* if not loaded, jump to.. */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action));
- bufferConcat(yyval.action, yyvsp[0].action); ;}
+ { (yyval.action) = (yyvsp[(6) - (9)].action);
+ bufferWriteU8((yyval.action), SWFACTION_WAITFORFRAMEEXPRESSION);
+ bufferWriteS16((yyval.action), 1);
+ bufferWriteU8((yyval.action), 1); /* if not loaded, jump to.. */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(9) - (9)].action)));
+ bufferConcat((yyval.action), (yyvsp[(9) - (9)].action)); ;}
- { bufferWriteU8(yyvsp[-4].action, SWFACTION_BRANCHIFTRUE);
- bufferWriteS16(yyvsp[-4].action, 2);
- bufferWriteS16(yyvsp[-4].action, bufferLength(yyvsp[0].action)+5);
- bufferConcat(yyvsp[-4].action, yyvsp[0].action);
- bufferWriteU8(yyvsp[-4].action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyvsp[-4].action, 2);
- bufferWriteS16(yyvsp[-4].action, bufferLength(yyvsp[-2].action));
- bufferConcat(yyvsp[-4].action, yyvsp[-2].action);
- yyval.action = yyvsp[-4].action; ;}
+ { bufferWriteU8((yyvsp[(3) - (7)].action), SWFACTION_BRANCHIFTRUE);
+ bufferWriteS16((yyvsp[(3) - (7)].action), 2);
+ bufferWriteS16((yyvsp[(3) - (7)].action), bufferLength((yyvsp[(7) - (7)].action))+5);
+ bufferConcat((yyvsp[(3) - (7)].action), (yyvsp[(7) - (7)].action));
+ bufferWriteU8((yyvsp[(3) - (7)].action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyvsp[(3) - (7)].action), 2);
+ bufferWriteS16((yyvsp[(3) - (7)].action), bufferLength((yyvsp[(5) - (7)].action)));
+ bufferConcat((yyvsp[(3) - (7)].action), (yyvsp[(5) - (7)].action));
+ (yyval.action) = (yyvsp[(3) - (7)].action); ;}
- { yyval.action = newBuffer();
- bufferWriteU8(yyval.action, SWFACTION_WAITFORFRAME);
- bufferWriteS16(yyval.action, 3);
- bufferWriteS16(yyval.action, atoi(yyvsp[-3].str));
- free(yyvsp[-3].str);
- bufferWriteU8(yyval.action, 1); /* if not loaded, jump to.. */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)+5);
- bufferConcat(yyval.action, yyvsp[0].action); /* ..here */
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, -(bufferLength(yyval.action)+2)); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteU8((yyval.action), SWFACTION_WAITFORFRAME);
+ bufferWriteS16((yyval.action), 3);
+ bufferWriteS16((yyval.action), atoi((yyvsp[(6) - (9)].str)));
+ free((yyvsp[(6) - (9)].str));
+ bufferWriteU8((yyval.action), 1); /* if not loaded, jump to.. */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(9) - (9)].action))+5);
+ bufferConcat((yyval.action), (yyvsp[(9) - (9)].action)); /* ..here */
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), -(bufferLength((yyval.action))+2)); ;}
- { yyval.action = yyvsp[-2].action;
- bufferWriteU8(yyval.action, SWFACTION_LOGICALNOT);
- bufferWriteU8(yyval.action, SWFACTION_BRANCHIFTRUE);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)+5);
- bufferConcat(yyval.action, yyvsp[0].action);
- bufferWriteU8(yyval.action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyval.action, 2);
- bufferWriteS16(yyval.action, -(bufferLength(yyval.action)+2));
- bufferResolveJumps(yyval.action); ;}
+ { (yyval.action) = (yyvsp[(3) - (5)].action);
+ bufferWriteU8((yyval.action), SWFACTION_LOGICALNOT);
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHIFTRUE);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), bufferLength((yyvsp[(5) - (5)].action))+5);
+ bufferConcat((yyval.action), (yyvsp[(5) - (5)].action));
+ bufferWriteU8((yyval.action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyval.action), 2);
+ bufferWriteS16((yyval.action), -(bufferLength((yyval.action))+2));
+ bufferResolveJumps((yyval.action)); ;}
- bufferConcat(yyvsp[-4].action, yyvsp[0].action);
- bufferConcat(yyvsp[-4].action, yyvsp[-2].action);
- bufferWriteU8(yyvsp[-4].action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyvsp[-4].action, 2);
- bufferWriteS16(yyvsp[-4].action, -(bufferLength(yyvsp[-4].action)+2));
- bufferResolveJumps(yyvsp[-4].action);
- yyval.action = yyvsp[-6].action;
- if(!yyval.action) yyval.action = newBuffer();
- bufferConcat(yyval.action, yyvsp[-4].action);
+ bufferConcat((yyvsp[(5) - (9)].action), (yyvsp[(9) - (9)].action));
+ bufferConcat((yyvsp[(5) - (9)].action), (yyvsp[(7) - (9)].action));
+ bufferWriteU8((yyvsp[(5) - (9)].action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyvsp[(5) - (9)].action), 2);
+ bufferWriteS16((yyvsp[(5) - (9)].action), -(bufferLength((yyvsp[(5) - (9)].action))+2));
+ bufferResolveJumps((yyvsp[(5) - (9)].action));
+ (yyval.action) = (yyvsp[(3) - (9)].action);
+ if(!(yyval.action)) (yyval.action) = newBuffer();
+ bufferConcat((yyval.action), (yyvsp[(5) - (9)].action));
- { yyval.action = newBuffer();
- bufferConcat(yyval.action, yyvsp[-7].action);
- bufferConcat(yyval.action, yyvsp[-3].action);
- bufferConcat(yyval.action, yyvsp[-5].action);
- bufferConcat(yyval.action, yyvsp[-1].action);
- bufferWriteString(yyval.action, "1", 2); /* has constraint */
- bufferConcat(yyval.action, yyvsp[-9].action);
- bufferConcat(yyval.action, yyvsp[-11].action);
- bufferWriteU8(yyval.action, SWFACTION_STARTDRAGMOVIE); ;}
+ { (yyval.action) = newBuffer();
+ bufferConcat((yyval.action), (yyvsp[(7) - (14)].action));
+ bufferConcat((yyval.action), (yyvsp[(11) - (14)].action));
+ bufferConcat((yyval.action), (yyvsp[(9) - (14)].action));
+ bufferConcat((yyval.action), (yyvsp[(13) - (14)].action));
+ bufferWriteString((yyval.action), "1", 2); /* has constraint */
+ bufferConcat((yyval.action), (yyvsp[(5) - (14)].action));
+ bufferConcat((yyval.action), (yyvsp[(3) - (14)].action));
+ bufferWriteU8((yyval.action), SWFACTION_STARTDRAGMOVIE); ;}
- { yyval.action = newBuffer();
- bufferWriteBuffer(yyval.action, yyvsp[-1].action);
- bufferWriteU8(yyval.action, SWFACTION_GETVARIABLE);
- bufferWriteBuffer(yyval.action, yyvsp[-1].action);
- bufferConcat(yyval.action, yyvsp[-1].action);
- bufferWriteU8(yyval.action, SWFACTION_GETVARIABLE);
- bufferWriteString(yyval.action, "1", 2);
- bufferWriteU8(yyval.action, SWFACTION_ADD);
- bufferWriteU8(yyval.action, SWFACTION_SETVARIABLE); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteBuffer((yyval.action), (yyvsp[(1) - (2)].action));
+ bufferWriteU8((yyval.action), SWFACTION_GETVARIABLE);
+ bufferWriteBuffer((yyval.action), (yyvsp[(1) - (2)].action));
+ bufferConcat((yyval.action), (yyvsp[(1) - (2)].action));
+ bufferWriteU8((yyval.action), SWFACTION_GETVARIABLE);
+ bufferWriteString((yyval.action), "1", 2);
+ bufferWriteU8((yyval.action), SWFACTION_ADD);
+ bufferWriteU8((yyval.action), SWFACTION_SETVARIABLE); ;}
- { yyval.action = newBuffer();
- bufferWriteBuffer(yyval.action, yyvsp[-1].action);
- bufferWriteU8(yyval.action, SWFACTION_GETVARIABLE);
- bufferWriteBuffer(yyval.action, yyvsp[-1].action);
- bufferConcat(yyval.action, yyvsp[-1].action);
- bufferWriteU8(yyval.action, SWFACTION_GETVARIABLE);
- bufferWriteString(yyval.action, "1", 2);
- bufferWriteU8(yyval.action, SWFACTION_SUBTRACT);
- bufferWriteU8(yyval.action, SWFACTION_SETVARIABLE); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteBuffer((yyval.action), (yyvsp[(1) - (2)].action));
+ bufferWriteU8((yyval.action), SWFACTION_GETVARIABLE);
+ bufferWriteBuffer((yyval.action), (yyvsp[(1) - (2)].action));
+ bufferConcat((yyval.action), (yyvsp[(1) - (2)].action));
+ bufferWriteU8((yyval.action), SWFACTION_GETVARIABLE);
+ bufferWriteString((yyval.action), "1", 2);
+ bufferWriteU8((yyval.action), SWFACTION_SUBTRACT);
+ bufferWriteU8((yyval.action), SWFACTION_SETVARIABLE); ;}
- { yyval.action = newBuffer();
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[0].str);
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteSetProperty(yyval.action, yyvsp[0].str);
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[0].str);
- bufferWriteString(yyval.action, "1", 2);
- bufferWriteU8(yyval.action, SWFACTION_ADD);
- bufferWriteU8(yyval.action, SWFACTION_SETPROPERTY);
- bufferWriteU8(yyval.action, SWFACTION_GETPROPERTY);
- free(yyvsp[-2].str);
- free(yyvsp[0].str); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteSetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteString((yyval.action), "1", 2);
+ bufferWriteU8((yyval.action), SWFACTION_ADD);
+ bufferWriteU8((yyval.action), SWFACTION_SETPROPERTY);
+ bufferWriteU8((yyval.action), SWFACTION_GETPROPERTY);
+ free((yyvsp[(2) - (4)].str));
+ free((yyvsp[(4) - (4)].str)); ;}
- { yyval.action = yyvsp[0].action;
- bufferWriteU8(yyval.action, SWFACTION_DUP);
- bufferWriteU8(yyval.action, SWFACTION_DUP);
- bufferWriteU8(yyval.action, SWFACTION_GETVARIABLE);
- bufferWriteString(yyval.action, "1", 2);
- bufferWriteU8(yyval.action, SWFACTION_ADD);
- bufferWriteU8(yyval.action, SWFACTION_SETVARIABLE);
- bufferWriteU8(yyval.action, SWFACTION_GETVARIABLE); ;}
+ { (yyval.action) = (yyvsp[(2) - (2)].action);
+ bufferWriteU8((yyval.action), SWFACTION_DUP);
+ bufferWriteU8((yyval.action), SWFACTION_DUP);
+ bufferWriteU8((yyval.action), SWFACTION_GETVARIABLE);
+ bufferWriteString((yyval.action), "1", 2);
+ bufferWriteU8((yyval.action), SWFACTION_ADD);
+ bufferWriteU8((yyval.action), SWFACTION_SETVARIABLE);
+ bufferWriteU8((yyval.action), SWFACTION_GETVARIABLE); ;}
- { yyval.action = newBuffer();
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[0].str);
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteSetProperty(yyval.action, yyvsp[0].str);
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[0].str);
- bufferWriteString(yyval.action, "1", 2);
- bufferWriteU8(yyval.action, SWFACTION_ADD);
- bufferWriteU8(yyval.action, SWFACTION_SETPROPERTY);
- bufferWriteU8(yyval.action, SWFACTION_GETPROPERTY);
- free(yyvsp[-2].str);
- free(yyvsp[0].str); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteSetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteString((yyval.action), "1", 2);
+ bufferWriteU8((yyval.action), SWFACTION_ADD);
+ bufferWriteU8((yyval.action), SWFACTION_SETPROPERTY);
+ bufferWriteU8((yyval.action), SWFACTION_GETPROPERTY);
+ free((yyvsp[(2) - (4)].str));
+ free((yyvsp[(4) - (4)].str)); ;}
- { yyval.action = yyvsp[0].action;
- bufferWriteU8(yyval.action, SWFACTION_DUP);
- bufferWriteU8(yyval.action, SWFACTION_DUP);
- bufferWriteU8(yyval.action, SWFACTION_GETVARIABLE);
- bufferWriteString(yyval.action, "1", 2);
- bufferWriteU8(yyval.action, SWFACTION_SUBTRACT);
- bufferWriteU8(yyval.action, SWFACTION_SETVARIABLE);
- bufferWriteU8(yyval.action, SWFACTION_GETVARIABLE); ;}
+ { (yyval.action) = (yyvsp[(2) - (2)].action);
+ bufferWriteU8((yyval.action), SWFACTION_DUP);
+ bufferWriteU8((yyval.action), SWFACTION_DUP);
+ bufferWriteU8((yyval.action), SWFACTION_GETVARIABLE);
+ bufferWriteString((yyval.action), "1", 2);
+ bufferWriteU8((yyval.action), SWFACTION_SUBTRACT);
+ bufferWriteU8((yyval.action), SWFACTION_SETVARIABLE);
+ bufferWriteU8((yyval.action), SWFACTION_GETVARIABLE); ;}
- { bufferWriteU8(yyvsp[-4].action, SWFACTION_BRANCHIFTRUE);
- bufferWriteS16(yyvsp[-4].action, 2);
- bufferWriteS16(yyvsp[-4].action, bufferLength(yyvsp[0].action)+5);
- bufferConcat(yyvsp[-4].action, yyvsp[0].action);
- bufferWriteU8(yyvsp[-4].action, SWFACTION_BRANCHALWAYS);
- bufferWriteS16(yyvsp[-4].action, 2);
- bufferWriteS16(yyvsp[-4].action, bufferLength(yyvsp[-2].action));
- bufferConcat(yyvsp[-4].action, yyvsp[-2].action); ;}
+ { bufferWriteU8((yyvsp[(1) - (5)].action), SWFACTION_BRANCHIFTRUE);
+ bufferWriteS16((yyvsp[(1) - (5)].action), 2);
+ bufferWriteS16((yyvsp[(1) - (5)].action), bufferLength((yyvsp[(5) - (5)].action))+5);
+ bufferConcat((yyvsp[(1) - (5)].action), (yyvsp[(5) - (5)].action));
+ bufferWriteU8((yyvsp[(1) - (5)].action), SWFACTION_BRANCHALWAYS);
+ bufferWriteS16((yyvsp[(1) - (5)].action), 2);
+ bufferWriteS16((yyvsp[(1) - (5)].action), bufferLength((yyvsp[(3) - (5)].action)));
+ bufferConcat((yyvsp[(1) - (5)].action), (yyvsp[(3) - (5)].action)); ;}
- { yyval.action = newBuffer();
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[0].str);
- bufferWriteU8(yyval.action, SWFACTION_GETPROPERTY);
- bufferWriteString(yyval.action, "1", 2);
- bufferWriteU8(yyval.action, SWFACTION_ADD);
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteSetProperty(yyval.action, yyvsp[0].str);
- bufferWriteU8(yyval.action, SWFACTION_SETPROPERTY);
- free(yyvsp[-2].str);
- free(yyvsp[0].str); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteU8((yyval.action), SWFACTION_GETPROPERTY);
+ bufferWriteString((yyval.action), "1", 2);
+ bufferWriteU8((yyval.action), SWFACTION_ADD);
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteSetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteU8((yyval.action), SWFACTION_SETPROPERTY);
+ free((yyvsp[(2) - (4)].str));
+ free((yyvsp[(4) - (4)].str)); ;}
- { yyval.action = newBuffer();
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[0].str);
- bufferWriteU8(yyval.action, SWFACTION_GETPROPERTY);
- bufferWriteString(yyval.action, "1", 2);
- bufferWriteU8(yyval.action, SWFACTION_SUBTRACT);
- bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
- bufferWriteSetProperty(yyval.action, yyvsp[0].str);
- bufferWriteU8(yyval.action, SWFACTION_SETPROPERTY);
- free(yyvsp[-2].str);
- free(yyvsp[0].str); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteU8((yyval.action), SWFACTION_GETPROPERTY);
+ bufferWriteString((yyval.action), "1", 2);
+ bufferWriteU8((yyval.action), SWFACTION_SUBTRACT);
+ bufferWriteString((yyval.action), (yyvsp[(2) - (4)].str), strlen((yyvsp[(2) - (4)].str))+1);
+ bufferWriteSetProperty((yyval.action), (yyvsp[(4) - (4)].str));
+ bufferWriteU8((yyval.action), SWFACTION_SETPROPERTY);
+ free((yyvsp[(2) - (4)].str));
+ free((yyvsp[(4) - (4)].str)); ;}
- { yyval.action = newBuffer();
- bufferWriteString(yyval.action, yyvsp[-4].str, strlen(yyvsp[-4].str)+1);
- bufferWriteSetProperty(yyval.action, yyvsp[-2].str);
- bufferWriteString(yyval.action, yyvsp[-4].str, strlen(yyvsp[-4].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[-2].str);
- bufferWriteU8(yyval.action, SWFACTION_GETPROPERTY);
- bufferConcat(yyval.action, yyvsp[0].action);
- bufferWriteU8(yyval.action, SWFACTION_MULTIPLY);
- bufferWriteU8(yyval.action, SWFACTION_SETPROPERTY);
- free(yyvsp[-4].str);
- free(yyvsp[-2].str); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteString((yyval.action), (yyvsp[(1) - (5)].str), strlen((yyvsp[(1) - (5)].str))+1);
+ bufferWriteSetProperty((yyval.action), (yyvsp[(3) - (5)].str));
+ bufferWriteString((yyval.action), (yyvsp[(1) - (5)].str), strlen((yyvsp[(1) - (5)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(3) - (5)].str));
+ bufferWriteU8((yyval.action), SWFACTION_GETPROPERTY);
+ bufferConcat((yyval.action), (yyvsp[(5) - (5)].action));
+ bufferWriteU8((yyval.action), SWFACTION_MULTIPLY);
+ bufferWriteU8((yyval.action), SWFACTION_SETPROPERTY);
+ free((yyvsp[(1) - (5)].str));
+ free((yyvsp[(3) - (5)].str)); ;}
- { yyval.action = newBuffer();
- bufferWriteString(yyval.action, yyvsp[-4].str, strlen(yyvsp[-4].str)+1);
- bufferWriteSetProperty(yyval.action, yyvsp[-2].str);
- bufferWriteString(yyval.action, yyvsp[-4].str, strlen(yyvsp[-4].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[-2].str);
- bufferWriteU8(yyval.action, SWFACTION_GETPROPERTY);
- bufferConcat(yyval.action, yyvsp[0].action);
- bufferWriteU8(yyval.action, SWFACTION_DIVIDE);
- bufferWriteU8(yyval.action, SWFACTION_SETPROPERTY);
- free(yyvsp[-4].str);
- free(yyvsp[-2].str); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteString((yyval.action), (yyvsp[(1) - (5)].str), strlen((yyvsp[(1) - (5)].str))+1);
+ bufferWriteSetProperty((yyval.action), (yyvsp[(3) - (5)].str));
+ bufferWriteString((yyval.action), (yyvsp[(1) - (5)].str), strlen((yyvsp[(1) - (5)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(3) - (5)].str));
+ bufferWriteU8((yyval.action), SWFACTION_GETPROPERTY);
+ bufferConcat((yyval.action), (yyvsp[(5) - (5)].action));
+ bufferWriteU8((yyval.action), SWFACTION_DIVIDE);
+ bufferWriteU8((yyval.action), SWFACTION_SETPROPERTY);
+ free((yyvsp[(1) - (5)].str));
+ free((yyvsp[(3) - (5)].str)); ;}
- { yyval.action = newBuffer();
- bufferWriteString(yyval.action, yyvsp[-4].str, strlen(yyvsp[-4].str)+1);
- bufferWriteSetProperty(yyval.action, yyvsp[-2].str);
- bufferWriteString(yyval.action, yyvsp[-4].str, strlen(yyvsp[-4].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[-2].str);
- bufferWriteU8(yyval.action, SWFACTION_GETPROPERTY);
- bufferConcat(yyval.action, yyvsp[0].action);
- bufferWriteU8(yyval.action, SWFACTION_ADD);
- bufferWriteU8(yyval.action, SWFACTION_SETPROPERTY);
- free(yyvsp[-4].str);
- free(yyvsp[-2].str); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteString((yyval.action), (yyvsp[(1) - (5)].str), strlen((yyvsp[(1) - (5)].str))+1);
+ bufferWriteSetProperty((yyval.action), (yyvsp[(3) - (5)].str));
+ bufferWriteString((yyval.action), (yyvsp[(1) - (5)].str), strlen((yyvsp[(1) - (5)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(3) - (5)].str));
+ bufferWriteU8((yyval.action), SWFACTION_GETPROPERTY);
+ bufferConcat((yyval.action), (yyvsp[(5) - (5)].action));
+ bufferWriteU8((yyval.action), SWFACTION_ADD);
+ bufferWriteU8((yyval.action), SWFACTION_SETPROPERTY);
+ free((yyvsp[(1) - (5)].str));
+ free((yyvsp[(3) - (5)].str)); ;}
- { yyval.action = newBuffer();
- bufferWriteString(yyval.action, yyvsp[-4].str, strlen(yyvsp[-4].str)+1);
- bufferWriteSetProperty(yyval.action, yyvsp[-2].str);
- bufferWriteString(yyval.action, yyvsp[-4].str, strlen(yyvsp[-4].str)+1);
- bufferWriteGetProperty(yyval.action, yyvsp[-2].str);
- bufferWriteU8(yyval.action, SWFACTION_GETPROPERTY);
- bufferConcat(yyval.action, yyvsp[0].action);
- bufferWriteU8(yyval.action, SWFACTION_SUBTRACT);
- bufferWriteU8(yyval.action, SWFACTION_SETPROPERTY);
- free(yyvsp[-4].str);
- free(yyvsp[-2].str); ;}
+ { (yyval.action) = newBuffer();
+ bufferWriteString((yyval.action), (yyvsp[(1) - (5)].str), strlen((yyvsp[(1) - (5)].str))+1);
+ bufferWriteSetProperty((yyval.action), (yyvsp[(3) - (5)].str));
+ bufferWriteString((yyval.action), (yyvsp[(1) - (5)].str), strlen((yyvsp[(1) - (5)].str))+1);
+ bufferWriteGetProperty((yyval.action), (yyvsp[(3) - (5)].str));
+ bufferWriteU8((yyval.action), SWFACTION_GETPROPERTY);
+ bufferConcat((yyval.action), (yyvsp[(5) - (5)].action));
+ bufferWriteU8((yyval.action), SWFACTION_SUBTRACT);
+ bufferWriteU8((yyval.action), SWFACTION_SETPROPERTY);
+ free((yyvsp[(1) - (5)].str));
+ free((yyvsp[(3) - (5)].str)); ;}
-#if YYERROR_VERBOSE
- yyn = yypact[yystate];
-
- if (YYPACT_NINF < yyn && yyn < YYLAST)
- {
- YYSIZE_T yysize = 0;
- int yytype = YYTRANSLATE (yychar);
- char *yymsg;
- int yyx, yycount;
-
- yycount = 0;
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- for (yyx = yyn < 0 ? -yyn : 0;
- yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- yysize += yystrlen (yytname[yyx]) + 15, yycount++;
- yysize += yystrlen ("syntax error, unexpected ") + 1;
- yysize += yystrlen (yytname[yytype]);
- yymsg = (char *) YYSTACK_ALLOC (yysize);
- if (yymsg != 0)
- {
- char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
- yyp = yystpcpy (yyp, yytname[yytype]);
-
- if (yycount < 5)
- {
- yycount = 0;
- for (yyx = yyn < 0 ? -yyn : 0;
- yyx < (int) (sizeof (yytname) / sizeof (char *));
- yyx++)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- {
- const char *yyq = ! yycount ? ", expecting " : " or ";
- yyp = yystpcpy (yyp, yyq);
- yyp = yystpcpy (yyp, yytname[yyx]);
- yycount++;
- }
- }
- yyerror (yymsg);
+#if ! YYERROR_VERBOSE
+ yyerror (YY_("syntax error"));
+#else
+ {
+ YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+ if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+ {
+ YYSIZE_T yyalloc = 2 * yysize;
+ if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+ yyalloc = YYSTACK_ALLOC_MAXIMUM;
+ if (yymsg != yymsgbuf)