[m-rev.] diff: document moose bug with epsilon productions

Fergus Henderson fjh at cs.mu.OZ.AU
Tue Dec 9 03:10:15 AEDT 2003


Estimated hours taken: 1
Branches: main

extras/moose/README:
extras/moose/BUGS:
	Document a bug with the handling of epsilon productions.

Workspace: /home/jupiter/fjh/ws-jupiter/mercury
Index: extras/moose/BUGS
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/moose/BUGS,v
retrieving revision 1.1
diff -u -d -r1.1 BUGS
--- extras/moose/BUGS	22 May 2000 05:22:01 -0000	1.1
+++ extras/moose/BUGS	8 Dec 2003 16:07:03 -0000
@@ -1,4 +1,27 @@
 
+Doesn't handle epsilon productions properly -- throws an exception
+when computing the action table:
+
+	Uncaught Mercury exception:
+	Software Error: map__lookup: key not found
+		Key Type: grammar.symbol
+		Key Functor: terminal/1
+		Value Type: list.list(lalr.item)
+	Stack dump follows:
+	   0       pred exception.throw/1-0 (erroneous) (exception.m:304)
+	   1       pred require.error/1-0 (erroneous) (require.m:101)
+	   2       pred require.report_lookup_error/3-0 (erroneous) (require.m:89)
+	   3       pred map.lookup/3-0 (det) (map.m:469)
+	   4       pred tables.IntroducedFrom__pred__actions2__119__6/8-0 (det) (tables.m:121)
+	   5    2* pred list.foldl2/6-0 (det) (list.m:1356 and others)
+	   7       pred tables.actions2/12-0 (det) (tables.m:119)
+	   8       pred tables.actions1/10-0 (det) (tables.m:91)
+	   9       pred tables.actions/8-0 (det) (tables.m:72)
+	  10       pred moose.process_2/8-0 (det) (moose.m:200)
+	  11       pred moose.process/3-0 (det) (moose.m:133)
+	  12       pred moose.main2/4-0 (det) (moose.m:59)
+	  13       pred moose.main/2-0 (det) (moose.m:36)
+
 Doesn't give good error messages if :- action is used but the rule
 doesn't exist. 
 
Index: extras/moose/README
===================================================================
RCS file: /home/mercury1/repository/mercury/extras/moose/README,v
retrieving revision 1.2
diff -u -d -r1.2 README
--- extras/moose/README	19 Feb 2002 07:49:01 -0000	1.2
+++ extras/moose/README	8 Dec 2003 16:07:45 -0000
@@ -1,10 +1,10 @@
 Moose is a parser generator for Mercury.
 It does the same sort of thing for Mercury that Yacc and Bison do for C.
 
-Please note that Moose is relatively immature.  It works quite well,
-however error handling could be greatly improved, and there is room for
-adding quite a few bells and whistles.  See the files BUGS and TODO for
-more information.
+Please note that Moose is relatively immature.  It works reasonably
+well, but it has problems with epsilon productions, error handling
+could be greatly improved, and there is room for adding quite a few
+bells and whistles.  See the files BUGS and TODO for more information.
 
 
 
-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list