1、在使用Yacc时,parser.py文件显示126行报错:
Syntax error. Expected \':\'
虽然报错意思是.处应该是\':\',实际上将126行\'|\'后紧接着的inner_binitplace改为‘| inner_binitplace’,即加上一个tab即可
2、输入Yacc的字符串只有26行,但打印出来发现多了很多空行(不影响使用):
3、开启debug模式定位bug
1 import logging 2 3 4 logging.basicConfig( 5 level = logging.DEBUG, 6 filename = "parselog.txt", 7 filemode = "w", 8 format = "%(filename)10s:%(lineno)4d:%(message)s" 9 ) 10 log = logging.getLogger() 11 12 # lex.lex(debug=True,debuglog=log) 13 parser = yacc.yacc(debug=True, debuglog=log)