From a617a3f620ff20ce6fc8b328fcece879e36ce18c Mon Sep 17 00:00:00 2001 From: Scott Owens Date: Mon, 22 Jul 2002 21:23:58 +0000 Subject: [PATCH] *** empty log message *** original commit: 58b8b709a19550201a6e297b771fc5c52ca9a87f --- collects/parser-tools/private-yacc/table.ss | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/collects/parser-tools/private-yacc/table.ss b/collects/parser-tools/private-yacc/table.ss index 7928caf..9e85688 100644 --- a/collects/parser-tools/private-yacc/table.ss +++ b/collects/parser-tools/private-yacc/table.ss @@ -136,10 +136,15 @@ (cond ((null? rest) current-guess) ((shift? (car rest)) (car rest)) - ((< (reduce-prod-num (car rest)) - (reduce-prod-num current-guess)) + ((and (reduce? (car rest)) + (< (reduce-prod-num (car rest)) + (reduce-prod-num current-guess))) (loop (car rest) (cdr rest))) - (else (loop current-guess (cdr rest)))))) + ((accept? (car rest)) + (fprintf (current-error-port) + "accept/reduce or accept/shift conflicts. Check the grammar for useless cycles of productions~n")) + (loop current-guess (cdr rest)) + (else (loop current-guess (cdr rest)))))) (else entry))))) (send a for-each-state (lambda (state)