changeset 476:de9de43ad21f

[project @ 1994-06-24 16:17:47 by jwe]
author jwe
date Fri, 24 Jun 1994 16:17:47 +0000
parents 28167349d46a
children 94b7d47cd064
files src/builtins.cc src/g-builtins.cc src/g-builtins.h src/lex.l src/parse.y src/pt-plot.cc src/token.h
diffstat 7 files changed, 27 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/src/builtins.cc	Tue Jun 21 21:08:12 1994 +0000
+++ b/src/builtins.cc	Fri Jun 24 16:17:47 1994 +0000
@@ -605,9 +605,6 @@
        rand (\"seed\")         -- get current seed\n\
        rand (\"seed\", n)      -- set seed", },
 
-  { "replot", 1, 0, builtin_replot,
-    "replot (): redisplay current plot", },
-
   { "scanf", 2, -1, builtin_scanf,
     "[a, b, c, ...] = scanf (\"fmt\")", },
 
--- a/src/g-builtins.cc	Tue Jun 21 21:08:12 1994 +0000
+++ b/src/g-builtins.cc	Fri Jun 24 16:17:47 1994 +0000
@@ -1550,22 +1550,6 @@
 }
 
 /*
- * Replot current plot.
- */
-tree_constant *
-builtin_replot (const tree_constant *args, int nargin, int nargout)
-{
-  tree_constant *retval = NULL_TREE_CONST;
-
-  if (nargin > 1)
-    warning ("replot: ignoring extra arguments");
-
-  send_to_plot_stream ("replot\n");
-
-  return retval;
-}
-
-/*
  * Formatted reading.
  */
 tree_constant *
--- a/src/g-builtins.h	Tue Jun 21 21:08:12 1994 +0000
+++ b/src/g-builtins.h	Fri Jun 24 16:17:47 1994 +0000
@@ -115,7 +115,6 @@
 extern tree_constant *builtin_quit (const tree_constant *, int, int);
 extern tree_constant *builtin_qzval (const tree_constant *, int, int);
 extern tree_constant *builtin_rand (const tree_constant *, int, int);
-extern tree_constant *builtin_replot (const tree_constant *, int, int);
 extern tree_constant *builtin_setstr (tree_constant *, int, int);
 extern tree_constant *builtin_scanf (const tree_constant *, int, int);
 extern tree_constant *builtin_schur (const tree_constant *, int, int);
--- a/src/lex.l	Tue Jun 21 21:08:12 1994 +0000
+++ b/src/lex.l	Fri Jun 24 16:17:47 1994 +0000
@@ -1057,6 +1057,7 @@
     {
       plotting = 1;
       yylval.tok_val = new token (token::two_dee, l, c);
+      token_stack.push (yylval.tok_val);
       return PLOT;
     }
   else if (strcmp ("gsplot", s) == 0)
@@ -1066,6 +1067,13 @@
       token_stack.push (yylval.tok_val);
       return PLOT;
     }
+  else if (strcmp ("replot", s) == 0)
+    {
+      plotting = 1;
+      yylval.tok_val = new token (token::replot, l, c);
+      token_stack.push (yylval.tok_val);
+      return PLOT;
+    }
   else if (strcmp ("if", s) == 0)
     {
       iffing++;
--- a/src/parse.y	Tue Jun 21 21:08:12 1994 +0000
+++ b/src/parse.y	Fri Jun 24 16:17:47 1994 +0000
@@ -381,13 +381,21 @@
 		  }
 		| PLOT ranges plot_command1
 		  {
-		    tree_subplot_list *tmp = $3->reverse ();
-		    $$ = new tree_plot_command (tmp, $2, $1->pttype ());
-		    plotting = 0;
-		    past_plot_range = 0;
-		    in_plot_range = 0;
-		    in_plot_using = 0;
-		    in_plot_style = 0;
+		    if ($1->pttype () == token::replot)
+		      {
+			yyerror ("cannot specify new ranges with replot");
+			ABORT_PARSE;
+		      }
+		    else
+		      {
+			tree_subplot_list *tmp = $3->reverse ();
+			$$ = new tree_plot_command (tmp, $2, $1->pttype ());
+			plotting = 0;
+			past_plot_range = 0;
+			in_plot_range = 0;
+			in_plot_using = 0;
+			in_plot_style = 0;
+		      }
 		  }
 		;
 
--- a/src/pt-plot.cc	Tue Jun 21 21:08:12 1994 +0000
+++ b/src/pt-plot.cc	Fri Jun 24 16:17:47 1994 +0000
@@ -89,6 +89,9 @@
 
   switch (ndim)
     {
+    case 1:
+      plot_buf << "replot";
+      break;
     case 2:
       plot_buf << "plot";
       break;
--- a/src/token.h	Tue Jun 21 21:08:12 1994 +0000
+++ b/src/token.h	Fri Jun 24 16:17:47 1994 +0000
@@ -55,6 +55,7 @@
 
   enum plot_tok_type
     {
+      replot = 1,
       two_dee = 2,
       three_dee = 3,
     };