changeset 33154:16c392461132

eliminate some code duplication in the lexer * lex.h, lex.ll (base_lexer::handle_token (int, token*)): Eliminate unused second argument. (base_lexer::count_token): Delete. Change all callers to use the now equivalant handle_token function instead.
author John W. Eaton <jwe@octave.org>
date Wed, 06 Mar 2024 08:09:45 -0500
parents c2ab726fcc88
children f94a1dd11534
files libinterp/parse-tree/lex.h libinterp/parse-tree/lex.ll
diffstat 2 files changed, 11 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/parse-tree/lex.h	Sat Mar 02 16:10:00 2024 -0500
+++ b/libinterp/parse-tree/lex.h	Wed Mar 06 08:09:45 2024 -0500
@@ -746,11 +746,9 @@
 
   int finish_command_arg ();
 
-  int handle_token (int tok_id, token *tok = nullptr);
+  int handle_token (int tok_id);
   int handle_token (token *tok);
 
-  int count_token (int tok_id);
-
   int count_token_internal (int tok_id);
 
   int show_token (int tok_id);
--- a/libinterp/parse-tree/lex.ll	Sat Mar 02 16:10:00 2024 -0500
+++ b/libinterp/parse-tree/lex.ll	Wed Mar 06 08:09:45 2024 -0500
@@ -688,7 +688,7 @@
 
         curr_lexer->push_start_state (MATRIX_START);
 
-        return curr_lexer->count_token ('[');
+        return curr_lexer->handle_token ('[');
       }
   }
 
@@ -1389,7 +1389,7 @@
                 curr_lexer->m_looking_at_function_handle++;
                 curr_lexer->m_looking_for_object_index = false;
 
-                return curr_lexer->count_token ('@');
+                return curr_lexer->handle_token ('@');
               }
             else
               {
@@ -1440,7 +1440,7 @@
 
         curr_lexer->m_at_beginning_of_statement = true;
 
-        return curr_lexer->count_token ('\n');
+        return curr_lexer->handle_token ('\n');
       }
     else if (curr_lexer->m_nesting_level.is_bracket_or_brace ())
       {
@@ -1505,7 +1505,7 @@
                 else
                   {
                     curr_lexer->m_filepos.increment_column ();
-                    return curr_lexer->count_token (HERMITIAN);
+                    return curr_lexer->handle_token (HERMITIAN);
                   }
               }
           }
@@ -1521,7 +1521,7 @@
             else
               {
                 curr_lexer->m_filepos.increment_column ();
-                return curr_lexer->count_token (HERMITIAN);
+                return curr_lexer->handle_token (HERMITIAN);
               }
           }
       }
@@ -1711,7 +1711,7 @@
         curr_lexer->m_nesting_level.anon_fcn_body ();
       }
 
-    return curr_lexer->count_token (')');
+    return curr_lexer->handle_token (')');
   }
 
 "." {
@@ -1796,7 +1796,7 @@
 
         curr_lexer->push_start_state (MATRIX_START);
 
-        return curr_lexer->count_token ('{');
+        return curr_lexer->handle_token ('{');
       }
   }
 
@@ -3335,7 +3335,7 @@
 
     pop_start_state ();
 
-    return count_token (bracket_type);
+    return handle_token (bracket_type);
   }
 
   bool
@@ -3931,12 +3931,9 @@
   }
 
   int
-  base_lexer::handle_token (int tok_id, token *tok)
+  base_lexer::handle_token (int tok_id)
   {
-    if (! tok)
-      tok = new token (tok_id, m_tok_beg, m_tok_end);
-
-    return handle_token (tok);
+    return handle_token (new token (tok_id, m_tok_beg, m_tok_end));
   }
 
   int
@@ -3948,12 +3945,6 @@
   }
 
   int
-  base_lexer::count_token (int tok_id)
-  {
-    return handle_token (new token (tok_id, m_tok_beg, m_tok_end));
-  }
-
-  int
   base_lexer::count_token_internal (int tok_id)
   {
     if (tok_id != '\n')