Mercurial > octave
changeset 21294:3d375b0905a0
eliminate unused << and >> operators from Octave scripting language
* ov.h, ov.cc (binary_op): Remove op_lshift and op_rshift from the
list of binary operators. Delete all uses.
(assign_op): Remove op_lshift_eq and op_rshift_eq from the list of
assignment operators. Delete all uses.
* lex.ll, oct-parse.in.yy (LSHIFT, RSHIFT, LSHIFT_EQ, RSHIFT_EQ):
Delete tokens.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 18 Feb 2016 11:19:47 -0500 |
parents | 350caa6afadf |
children | 29a0e9e70879 |
files | libinterp/octave-value/ov.cc libinterp/octave-value/ov.h libinterp/parse-tree/lex.ll libinterp/parse-tree/oct-parse.in.yy |
diffstat | 4 files changed, 3 insertions(+), 68 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/octave-value/ov.cc Thu Feb 18 11:10:05 2016 -0500 +++ b/libinterp/octave-value/ov.cc Thu Feb 18 11:19:47 2016 -0500 @@ -189,12 +189,6 @@ case op_ldiv: return "\\"; - case op_lshift: - return "<<"; - - case op_rshift: - return ">>"; - case op_lt: return "<"; @@ -369,12 +363,6 @@ case op_pow_eq: return "^="; - case op_lshift_eq: - return "<<="; - - case op_rshift_eq: - return ">>="; - case op_el_mul_eq: return ".*="; @@ -421,12 +409,6 @@ case op_pow_eq: return op_pow; - case op_lshift_eq: - return op_lshift; - - case op_rshift_eq: - return op_rshift; - case op_el_mul_eq: return op_el_mul; @@ -2612,12 +2594,6 @@ case op_pow_eq: return op_pow; - case op_lshift_eq: - return op_lshift; - - case op_rshift_eq: - return op_rshift; - case op_el_mul_eq: return op_el_mul;
--- a/libinterp/octave-value/ov.h Thu Feb 18 11:10:05 2016 -0500 +++ b/libinterp/octave-value/ov.h Thu Feb 18 11:19:47 2016 -0500 @@ -94,8 +94,6 @@ op_div, // mrdivide op_pow, // mpower op_ldiv, // mldivide - op_lshift, - op_rshift, op_lt, // lt op_le, // le op_eq, // eq @@ -139,8 +137,6 @@ op_div_eq, op_ldiv_eq, op_pow_eq, - op_lshift_eq, - op_rshift_eq, op_el_mul_eq, op_el_div_eq, op_el_ldiv_eq, @@ -1507,8 +1503,6 @@ OV_BINOP_FN (op_pow) OV_BINOP_FN (op_ldiv) -OV_BINOP_FN (op_lshift) -OV_BINOP_FN (op_rshift) OV_BINOP_FN_OP (op_lt, <) OV_BINOP_FN_OP (op_le, <=)
--- a/libinterp/parse-tree/lex.ll Thu Feb 18 11:10:05 2016 -0500 +++ b/libinterp/parse-tree/lex.ll Thu Feb 18 11:19:47 2016 -0500 @@ -1539,8 +1539,6 @@ "**" { CMD_OR_OP ("**", POW, false); } "&&" { CMD_OR_OP ("&&", EXPR_AND_AND, true); } "||" { CMD_OR_OP ("||", EXPR_OR_OR, true); } -"<<" { CMD_OR_OP ("<<", LSHIFT, false); } -">>" { CMD_OR_OP (">>", RSHIFT, false); } ";" { bool at_beginning_of_statement @@ -1678,8 +1676,6 @@ ".**=" { CMD_OR_COMPUTED_ASSIGN_OP (".^=", EPOW_EQ); } "&=" { CMD_OR_COMPUTED_ASSIGN_OP ("&=", AND_EQ); } "|=" { CMD_OR_COMPUTED_ASSIGN_OP ("|=", OR_EQ); } -"<<=" { CMD_OR_COMPUTED_ASSIGN_OP ("<<=", LSHIFT_EQ); } -">>=" { CMD_OR_COMPUTED_ASSIGN_OP (">>=", RSHIFT_EQ); } %{ // In Matlab, '{' may also trigger command syntax. @@ -2185,9 +2181,8 @@ || tok == EXPR_GT || tok == EXPR_LE || tok == EXPR_LT || tok == EXPR_NE || tok == EXPR_NOT || tok == EXPR_OR || tok == EXPR_OR_OR || tok == LEFTDIV || tok == LEFTDIV_EQ - || tok == LSHIFT || tok == LSHIFT_EQ || tok == MUL_EQ - || tok == OR_EQ || tok == POW || tok == POW_EQ - || tok == RSHIFT || tok == RSHIFT_EQ || tok == SUB_EQ); + || tok == MUL_EQ || tok == OR_EQ || tok == POW + || tok == POW_EQ || tok == SUB_EQ); } bool @@ -3228,10 +3223,6 @@ case EPOW_EQ: std::cerr << "EPOW_EQ\n"; break; case AND_EQ: std::cerr << "AND_EQ\n"; break; case OR_EQ: std::cerr << "OR_EQ\n"; break; - case LSHIFT_EQ: std::cerr << "LSHIFT_EQ\n"; break; - case RSHIFT_EQ: std::cerr << "RSHIFT_EQ\n"; break; - case LSHIFT: std::cerr << "LSHIFT\n"; break; - case RSHIFT: std::cerr << "RSHIFT\n"; break; case EXPR_AND_AND: std::cerr << "EXPR_AND_AND\n"; break; case EXPR_OR_OR: std::cerr << "EXPR_OR_OR\n"; break; case EXPR_AND: std::cerr << "EXPR_AND\n"; break;
--- a/libinterp/parse-tree/oct-parse.in.yy Thu Feb 18 11:10:05 2016 -0500 +++ b/libinterp/parse-tree/oct-parse.in.yy Thu Feb 18 11:19:47 2016 -0500 @@ -208,7 +208,6 @@ %token <tok_val> '=' ':' '-' '+' '*' '/' %token <tok_val> ADD_EQ SUB_EQ MUL_EQ DIV_EQ LEFTDIV_EQ POW_EQ %token <tok_val> EMUL_EQ EDIV_EQ ELEFTDIV_EQ EPOW_EQ AND_EQ OR_EQ -%token <tok_val> LSHIFT_EQ RSHIFT_EQ LSHIFT RSHIFT %token <tok_val> EXPR_AND_AND EXPR_OR_OR %token <tok_val> EXPR_AND EXPR_OR EXPR_NOT %token <tok_val> EXPR_LT EXPR_LE EXPR_EQ EXPR_NE EXPR_GE EXPR_GT @@ -305,13 +304,12 @@ %type <octave_user_function_type> method_decl1 // Precedence and associativity. -%right '=' ADD_EQ SUB_EQ MUL_EQ DIV_EQ LEFTDIV_EQ POW_EQ EMUL_EQ EDIV_EQ ELEFTDIV_EQ EPOW_EQ OR_EQ AND_EQ LSHIFT_EQ RSHIFT_EQ +%right '=' ADD_EQ SUB_EQ MUL_EQ DIV_EQ LEFTDIV_EQ POW_EQ EMUL_EQ EDIV_EQ ELEFTDIV_EQ EPOW_EQ OR_EQ AND_EQ %left EXPR_OR_OR %left EXPR_AND_AND %left EXPR_OR %left EXPR_AND %left EXPR_LT EXPR_LE EXPR_EQ EXPR_NE EXPR_GE EXPR_GT -%left LSHIFT RSHIFT %left ':' %left '-' '+' EPLUS EMINUS %left '*' '/' LEFTDIV EMUL EDIV ELEFTDIV @@ -832,10 +830,6 @@ simple_expr : colon_expr { $$ = $1; } - | simple_expr LSHIFT simple_expr - { $$ = parser.make_binary_op (LSHIFT, $1, $2, $3); } - | simple_expr RSHIFT simple_expr - { $$ = parser.make_binary_op (RSHIFT, $1, $2, $3); } | simple_expr EXPR_LT simple_expr { $$ = parser.make_binary_op (EXPR_LT, $1, $2, $3); } | simple_expr EXPR_LE simple_expr @@ -886,10 +880,6 @@ { $$ = parser.make_assign_op (LEFTDIV_EQ, $1, $2, $3); } | assign_lhs POW_EQ expression { $$ = parser.make_assign_op (POW_EQ, $1, $2, $3); } - | assign_lhs LSHIFT_EQ expression - { $$ = parser.make_assign_op (LSHIFT_EQ, $1, $2, $3); } - | assign_lhs RSHIFT_EQ expression - { $$ = parser.make_assign_op (RSHIFT_EQ, $1, $2, $3); } | assign_lhs EMUL_EQ expression { $$ = parser.make_assign_op (EMUL_EQ, $1, $2, $3); } | assign_lhs EDIV_EQ expression @@ -2437,14 +2427,6 @@ t = octave_value::op_el_ldiv; break; - case LSHIFT: - t = octave_value::op_lshift; - break; - - case RSHIFT: - t = octave_value::op_rshift; - break; - case EXPR_LT: t = octave_value::op_lt; break; @@ -3003,14 +2985,6 @@ t = octave_value::op_pow_eq; break; - case LSHIFT_EQ: - t = octave_value::op_lshift_eq; - break; - - case RSHIFT_EQ: - t = octave_value::op_rshift_eq; - break; - case EMUL_EQ: t = octave_value::op_el_mul_eq; break;