diff options
-rw-r--r-- | CHANGES | 8 | ||||
-rw-r--r-- | ply/yacc.py | 2 |
2 files changed, 8 insertions, 2 deletions
@@ -59,11 +59,17 @@ Version 3.5 imported by mistake. For example, if it's found somewhere else on the path by accident. + *** POTENTIAL INCOMPATIBILITY *** It's possible that this might break some + packaging/deployment setup if PLY was instructed to place its parsetab.py + in a different location. You'll have to specify a proper outputdir= argument + to yacc() to fix this if needed. + 04/19/15: beazley Changed default output directory to be the same as that in which the yacc grammar is defined. If your grammar is in a file 'calc.py', then the parsetab.py and parser.out files should be generated in the - same directory as that file. + same directory as that file. The destination directory can be changed + using the outputdir= argument to yacc(). 04/19/15: beazley Changed the parsetab.py file signature slightly so that the parsetab won't diff --git a/ply/yacc.py b/ply/yacc.py index d2138df..8fa5c64 100644 --- a/ply/yacc.py +++ b/ply/yacc.py @@ -314,7 +314,7 @@ class LRParser: self.defaulted_states = {} for state, actions in self.action.items(): rules = list(actions.values()) - if rules and rules[0] < 0 and all(rules[0] == rule for rule in rules): + if len(rules) == 1 and rules[0] < 0: self.defaulted_states[state] = rules[0] def disable_defaulted_states(self): |