Index: compilers/imcc/imcc.y =================================================================== --- compilers/imcc/imcc.y (revision 35338) +++ compilers/imcc/imcc.y (working copy) @@ -1731,30 +1731,6 @@ { $$ = iINDEXFETCH(interp, IMCC_INFO(interp)->cur_unit, $1, $3, $5); } | target '[' keylist ']' '=' var { $$ = iINDEXSET(interp, IMCC_INFO(interp)->cur_unit, $1, $3, $6); } - | target '=' NEW classname COMMA var - { $$ = iNEW(interp, IMCC_INFO(interp)->cur_unit, $1, $4, $6, 1); } - | target '=' NEW classname '[' keylist ']' - { $$ = iNEW(interp, IMCC_INFO(interp)->cur_unit, $1, $4, $6, 1); } - | target '=' NEW classname - { $$ = iNEW(interp, IMCC_INFO(interp)->cur_unit, $1, $4, NULL, 1); } - | target '=' NEW var - { $$ = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2, $1, $4); } - | target '=' NEW maybe_ns - { $$ = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2, $1, $4); } - | target '=' NEW maybe_ns COMMA var - { $$ = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, $1, $4, $6); } - | target '=' NEW var COMMA var - { $$ = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, $1, $4, $6); } - | target '=' NEW var '[' keylist ']' - { $$ = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, $1, $4, $6); } - /* NEW is here because it is both PIR and PASM keywords so we - * have to handle the token here (or badly hack the lexer). */ - | NEW target COMMA var - { $$ = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2, $2, $4); } - | NEW target COMMA var COMMA var - { $$ = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, $2, $4, $6); } - | NEW target COMMA var '[' keylist ']' - { $$ = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, $2, $4, $6); } /* Subroutine call the short way */ | target '=' sub_call { Index: compilers/imcc/imcc.l =================================================================== --- compilers/imcc/imcc.l (revision 35338) +++ compilers/imcc/imcc.l (working copy) @@ -366,7 +366,7 @@ "null" return PNULL; "int" return INTV; "num" return FLOATV; -"new" return NEW; + "pmc" return PMCV; "string" return STRINGV; "<<" return SHIFT_LEFT;