diff src/token.cc @ 581:bc813f5eb025

[project @ 1994-08-07 01:02:15 by jwe]
author jwe
date Sun, 07 Aug 1994 01:02:15 +0000
parents 7ea224e713cd
children ba6acc6309ec
line wrap: on
line diff
--- a/src/token.cc
+++ b/src/token.cc
@@ -40,6 +40,7 @@
   line_num = l;
   column_num = c;
   type_tag = generic_token;
+  orig_text = 0;
 }
 
 token::token (char *s, int l, int c)
@@ -48,14 +49,16 @@
   column_num = c;
   type_tag = string_token;
   str = strsave (s);
+  orig_text = 0;
 }
 
-token::token (double d, int l, int c)
+token::token (double d, char *s, int l, int c)
 {
   line_num = l;
   column_num = c;
   type_tag = double_token;
   num = d;
+  orig_text = strsave (s);
 }
 
 token::token (end_tok_type t, int l, int c)
@@ -64,6 +67,7 @@
   column_num = c;
   type_tag = ettype_token;
   et = t;
+  orig_text = 0;
 }
 
 token::token (plot_tok_type t, int l, int c)
@@ -72,6 +76,7 @@
   column_num = c;
   type_tag = pttype_token;
   pt = t;
+  orig_text = 0;
 }
 
 token::token (symbol_record *s, int l, int c)
@@ -80,12 +85,14 @@
   column_num = c;
   type_tag = sym_rec_token;
   sr = s;
+  orig_text = 0;
 }
 
 token::~token (void)
 {
   if (type_tag == string_token)
     delete [] str;
+  delete [] orig_text;
 }
 
 int
@@ -135,6 +142,12 @@
   return sr;
 }
 
+char *
+token::text_rep (void)
+{
+  return orig_text;
+}
+
 /*
 ;;; Local Variables: ***
 ;;; mode: C++ ***