From: kramm Date: Tue, 6 Jan 2009 21:34:44 +0000 (+0000) Subject: added '|=' implementation X-Git-Tag: release-0-9-0~384 X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;ds=sidebyside;h=890e63b6feb1b8178da3ef2e44336821509f1296;p=swftools.git added '|=' implementation --- diff --git a/lib/as3/parser.y b/lib/as3/parser.y index d2188ef..1558aa4 100644 --- a/lib/as3/parser.y +++ b/lib/as3/parser.y @@ -137,6 +137,7 @@ %token T_NEE "!==" %token T_LE "<=" %token T_GE ">=" +%token T_ORBY "|=" %token T_DIVBY "/=" %token T_MODBY "%=" %token T_MULBY "*=" @@ -213,7 +214,7 @@ %right '?' ':' %left "||" %left "&&" -%nonassoc '|' +%left '|' %nonassoc '^' %nonassoc '&' %nonassoc "==" "!=" "===" "!==" @@ -2399,6 +2400,12 @@ E : E "/=" E { $$.c = toreadwrite($1.c, c, 0, 0); $$.t = $1.t; } +E : E "|=" E { + code_t*c = abc_bitor($3.c); + c=converttype(c, TYPE_INT, $1.t); + $$.c = toreadwrite($1.c, c, 0, 0); + $$.t = $1.t; + } E : E "+=" E { code_t*c = $3.c; if(TYPE_IS_INT($3.t) || TYPE_IS_UINT($3.t)) {