9.2 运行时调试

为分析器指定debug选项,可以激活语法分析器的运行时调试功能。这个选项可以是整数(表示对调试功能是开还是关),也可以是logger对象。例如:

log = logging.getLogger()
parser.parse(input,debug=log)

如果传入日志对象的话,你可以使用其级别过滤功能来控制内容的输出。INFO级别用来产生归约信息;DEBUG级别会显示分析栈的信息、移进的标记和其他详细信息。ERROR级别显示分析过程中的错误相关信息。

对于每个复杂的问题,你应该用日志对象,以便输出重定向到文件中,进而方便在执行结束后检查。

文章导航