[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