Mercurial > octave
comparison libinterp/parse-tree/lex.ll @ 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 | dfcb9d74b253 |
children | 40de9f8f23a6 |
comparison
equal
deleted
inserted
replaced
21293:350caa6afadf | 21294:3d375b0905a0 |
---|---|
1537 | 1537 |
1538 "^" { CMD_OR_OP ("^", POW, true); } | 1538 "^" { CMD_OR_OP ("^", POW, true); } |
1539 "**" { CMD_OR_OP ("**", POW, false); } | 1539 "**" { CMD_OR_OP ("**", POW, false); } |
1540 "&&" { CMD_OR_OP ("&&", EXPR_AND_AND, true); } | 1540 "&&" { CMD_OR_OP ("&&", EXPR_AND_AND, true); } |
1541 "||" { CMD_OR_OP ("||", EXPR_OR_OR, true); } | 1541 "||" { CMD_OR_OP ("||", EXPR_OR_OR, true); } |
1542 "<<" { CMD_OR_OP ("<<", LSHIFT, false); } | |
1543 ">>" { CMD_OR_OP (">>", RSHIFT, false); } | |
1544 | 1542 |
1545 ";" { | 1543 ";" { |
1546 bool at_beginning_of_statement | 1544 bool at_beginning_of_statement |
1547 = (! (curr_lexer->whitespace_is_significant () | 1545 = (! (curr_lexer->whitespace_is_significant () |
1548 || curr_lexer->looking_at_object_index.front ())); | 1546 || curr_lexer->looking_at_object_index.front ())); |
1676 "**=" { CMD_OR_COMPUTED_ASSIGN_OP ("^=", POW_EQ); } | 1674 "**=" { CMD_OR_COMPUTED_ASSIGN_OP ("^=", POW_EQ); } |
1677 ".^=" { CMD_OR_COMPUTED_ASSIGN_OP (".^=", EPOW_EQ); } | 1675 ".^=" { CMD_OR_COMPUTED_ASSIGN_OP (".^=", EPOW_EQ); } |
1678 ".**=" { CMD_OR_COMPUTED_ASSIGN_OP (".^=", EPOW_EQ); } | 1676 ".**=" { CMD_OR_COMPUTED_ASSIGN_OP (".^=", EPOW_EQ); } |
1679 "&=" { CMD_OR_COMPUTED_ASSIGN_OP ("&=", AND_EQ); } | 1677 "&=" { CMD_OR_COMPUTED_ASSIGN_OP ("&=", AND_EQ); } |
1680 "|=" { CMD_OR_COMPUTED_ASSIGN_OP ("|=", OR_EQ); } | 1678 "|=" { CMD_OR_COMPUTED_ASSIGN_OP ("|=", OR_EQ); } |
1681 "<<=" { CMD_OR_COMPUTED_ASSIGN_OP ("<<=", LSHIFT_EQ); } | |
1682 ">>=" { CMD_OR_COMPUTED_ASSIGN_OP (">>=", RSHIFT_EQ); } | |
1683 | 1679 |
1684 %{ | 1680 %{ |
1685 // In Matlab, '{' may also trigger command syntax. | 1681 // In Matlab, '{' may also trigger command syntax. |
1686 %} | 1682 %} |
1687 | 1683 |
2183 || tok == EPOW || tok == EPOW_EQ || tok == EXPR_AND | 2179 || tok == EPOW || tok == EPOW_EQ || tok == EXPR_AND |
2184 || tok == EXPR_AND_AND || tok == EXPR_EQ || tok == EXPR_GE | 2180 || tok == EXPR_AND_AND || tok == EXPR_EQ || tok == EXPR_GE |
2185 || tok == EXPR_GT || tok == EXPR_LE || tok == EXPR_LT | 2181 || tok == EXPR_GT || tok == EXPR_LE || tok == EXPR_LT |
2186 || tok == EXPR_NE || tok == EXPR_NOT || tok == EXPR_OR | 2182 || tok == EXPR_NE || tok == EXPR_NOT || tok == EXPR_OR |
2187 || tok == EXPR_OR_OR || tok == LEFTDIV || tok == LEFTDIV_EQ | 2183 || tok == EXPR_OR_OR || tok == LEFTDIV || tok == LEFTDIV_EQ |
2188 || tok == LSHIFT || tok == LSHIFT_EQ || tok == MUL_EQ | 2184 || tok == MUL_EQ || tok == OR_EQ || tok == POW |
2189 || tok == OR_EQ || tok == POW || tok == POW_EQ | 2185 || tok == POW_EQ || tok == SUB_EQ); |
2190 || tok == RSHIFT || tok == RSHIFT_EQ || tok == SUB_EQ); | |
2191 } | 2186 } |
2192 | 2187 |
2193 bool | 2188 bool |
2194 lexical_feedback::previous_token_is_keyword (void) const | 2189 lexical_feedback::previous_token_is_keyword (void) const |
2195 { | 2190 { |
3226 case EDIV_EQ: std::cerr << "EDIV_EQ\n"; break; | 3221 case EDIV_EQ: std::cerr << "EDIV_EQ\n"; break; |
3227 case ELEFTDIV_EQ: std::cerr << "ELEFTDIV_EQ\n"; break; | 3222 case ELEFTDIV_EQ: std::cerr << "ELEFTDIV_EQ\n"; break; |
3228 case EPOW_EQ: std::cerr << "EPOW_EQ\n"; break; | 3223 case EPOW_EQ: std::cerr << "EPOW_EQ\n"; break; |
3229 case AND_EQ: std::cerr << "AND_EQ\n"; break; | 3224 case AND_EQ: std::cerr << "AND_EQ\n"; break; |
3230 case OR_EQ: std::cerr << "OR_EQ\n"; break; | 3225 case OR_EQ: std::cerr << "OR_EQ\n"; break; |
3231 case LSHIFT_EQ: std::cerr << "LSHIFT_EQ\n"; break; | |
3232 case RSHIFT_EQ: std::cerr << "RSHIFT_EQ\n"; break; | |
3233 case LSHIFT: std::cerr << "LSHIFT\n"; break; | |
3234 case RSHIFT: std::cerr << "RSHIFT\n"; break; | |
3235 case EXPR_AND_AND: std::cerr << "EXPR_AND_AND\n"; break; | 3226 case EXPR_AND_AND: std::cerr << "EXPR_AND_AND\n"; break; |
3236 case EXPR_OR_OR: std::cerr << "EXPR_OR_OR\n"; break; | 3227 case EXPR_OR_OR: std::cerr << "EXPR_OR_OR\n"; break; |
3237 case EXPR_AND: std::cerr << "EXPR_AND\n"; break; | 3228 case EXPR_AND: std::cerr << "EXPR_AND\n"; break; |
3238 case EXPR_OR: std::cerr << "EXPR_OR\n"; break; | 3229 case EXPR_OR: std::cerr << "EXPR_OR\n"; break; |
3239 case EXPR_NOT: std::cerr << "EXPR_NOT\n"; break; | 3230 case EXPR_NOT: std::cerr << "EXPR_NOT\n"; break; |