Mercurial > octave
changeset 28565:0ecec070c086
return token ID directly from base_lexer::handle_number
* lex.h, lex.ll (base_lexer::handle_number): Return token ID. Accept
new argument, IMAG, to indicate whether the resulting number will be
an imaginary or real constant. Change all uses.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 13 Jul 2020 12:30:46 -0400 |
parents | 1dd765e54265 |
children | 20ee8aa92897 |
files | libinterp/parse-tree/lex.h libinterp/parse-tree/lex.ll |
diffstat | 2 files changed, 7 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/lex.h Sat Jul 11 06:36:31 2020 -0400 +++ b/libinterp/parse-tree/lex.h Mon Jul 13 12:30:46 2020 -0400 @@ -661,7 +661,7 @@ bool whitespace_is_significant (void); - void handle_number (void); + int handle_number (bool imag); void handle_continuation (void);
--- a/libinterp/parse-tree/lex.ll Sat Jul 11 06:36:31 2020 -0400 +++ b/libinterp/parse-tree/lex.ll Mon Jul 13 12:30:46 2020 -0400 @@ -1209,10 +1209,7 @@ unput (','); } else - { - curr_lexer->handle_number (); - return curr_lexer->count_token_internal (IMAG_NUM); - } + return curr_lexer->handle_number (true); } } @@ -1244,10 +1241,7 @@ unput (','); } else - { - curr_lexer->handle_number (); - return curr_lexer->count_token_internal (NUM); - } + return curr_lexer->handle_number (false); } } @@ -2935,8 +2929,8 @@ namespace octave { - void - base_lexer::handle_number (void) + int + base_lexer::handle_number (bool imag) { double value = 0.0; int nread = 0; @@ -3003,6 +2997,8 @@ update_token_positions (flex_yyleng ()); push_token (new token (NUM, value, yytxt, m_tok_beg, m_tok_end)); + + return count_token_internal (imag ? IMAG_NUM : NUM); } void