changeset 2524:7dc71ca5d092

[project @ 1996-11-17 20:16:08 by jwe]
author jwe
date Sun, 17 Nov 1996 20:16:09 +0000
parents 007e977442b8
children 8561d88be5f2
files src/ChangeLog src/Makefile.in src/lex.l src/parse.y
diffstat 4 files changed, 26 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sat Nov 16 00:33:24 1996 +0000
+++ b/src/ChangeLog	Sun Nov 17 20:16:09 1996 +0000
@@ -1,3 +1,16 @@
+Sun Nov 17 14:14:48 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* lex.l (handle_identifier): Set lexer_flags.doing_set if the
+	token is "gset", not "set".
+
+Sat Nov 16 21:41:26 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* Makefile.in (parse.cc, lex.cc): Add special rules for these files.
+	Delete pattern rules for .y and .l files.
+
+	* parse.y (expression): Move colon_expr here.
+	(simple_expr1): From here.
+
 Fri Nov 15 13:48:02 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* pt-plot.cc: Put semicolons at the ends of all plot commands.
--- a/src/Makefile.in	Sat Nov 16 00:33:24 1996 +0000
+++ b/src/Makefile.in	Sun Nov 17 20:16:09 1996 +0000
@@ -18,21 +18,6 @@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 
-# Cancel default rule for .c from .y and make .cc from .y instead.
-
-%.c : %.y
-
-%.cc : %.y
-	$(YACC) $(YFLAGS) $<
-	@$(top_srcdir)/move-if-change y.tab.c $(@F)
-
-# Likewise for .c from .l.
-
-%.c : %.l
-
-%.cc : %.l
-	$(LEX) $(LFLAGS) $< > $(@F)
-
 XALL_CXXFLAGS_1 = $(subst -fexternal-templates, , $(ALL_CXXFLAGS))
 XALL_CXXFLAGS = $(subst -fno-implicit-templates, , $(XALL_CXXFLAGS_1))
 
@@ -372,6 +357,14 @@
 
 # Special rules -- these files need special things to be defined.
 
+parse.cc : parse.y
+	@echo "expect 18 shift/reduce conflicts"
+	$(YACC) $(YFLAGS) $<
+	@$(top_srcdir)/move-if-change y.tab.c $(@F)
+
+lex.cc : lex.l
+	$(LEX) $(LFLAGS) $< > $(@F)
+
 defaults.h: defaults.h.in ../Makeconf Makefile
 	@$(do-subst-default-vals)
 
--- a/src/lex.l	Sat Nov 16 00:33:24 1996 +0000
+++ b/src/lex.l	Sun Nov 17 20:16:09 1996 +0000
@@ -1709,7 +1709,7 @@
     {
       BEGIN TEXT_FCN;
 
-      if (tok == "set")
+      if (tok == "gset")
 	lexer_flags.doing_set = 1;
     }
 
--- a/src/parse.y	Sat Nov 16 00:33:24 1996 +0000
+++ b/src/parse.y	Sun Nov 17 20:16:09 1996 +0000
@@ -354,9 +354,9 @@
 %left UNARY PLUS_PLUS MINUS_MINUS EXPR_NOT
 %right POW EPOW
 
-// There are 19 shift/reduce conflicts, ok?  But this only works with
+// There are 18 shift/reduce conflicts, ok?  But this only works with
 // bison...
-// %expect 19
+// %expect 18
 
 // Where to start.
 %start input
@@ -771,6 +771,8 @@
 
 expression	: simple_expr
 		  { $$ = $1; }
+		| colon_expr
+		  { $$ = finish_colon_expression ($1); }
 		| NUM '=' expression
 		  {
 		    yyerror ("invalid assignment to a number");
@@ -810,8 +812,6 @@
 		  { $$ = new tree_constant (Matrix ()); }
 		| '[' ';' ']'
 		  { $$ = new tree_constant (Matrix ()); }
-		| colon_expr
-		  { $$ = finish_colon_expression ($1); }
 		| PLUS_PLUS identifier %prec UNARY
 		  { $$ = make_prefix_op (PLUS_PLUS, $2, $1); }
 		| MINUS_MINUS identifier %prec UNARY