_parse_variable($expr_arg) . "))"; } else { $expr = "!(1 & $is_arg)"; } break; case 'odd': if (isset($_args[$expr_end]) && $_args[$expr_end] == 'by') { $expr_end++; $expr_arg = $_args[$expr_end++]; $expr = "(1 & ($is_arg / " . $object->_parse_variable($expr_arg) . "))"; } else { $expr = "(1 & $is_arg)"; } break; case 'div': if (@$_args[$expr_end] == 'by') { $expr_end++; $expr_arg = $_args[$expr_end++]; $expr = "!($is_arg % " . $object->_parse_variable($expr_arg) . ")"; } else { $object->trigger_error("expecting 'by' after 'div'", E_USER_ERROR, __FILE__, __LINE__); } break; default: $object->trigger_error("unknown 'is' expression - '$expr_type'", E_USER_ERROR, __FILE__, __LINE__); break; } if ($negate_expr) { $expr = "!($expr)"; } array_splice($_args, 0, $expr_end, $expr); return $_args; } ?>