4.9 错误处理
最后,在词法分析中遇到非法字符时,t_error()
用来处理这类错误。这种情况下,t.value
包含了余下还未被处理的输入字串,在之前的例子中,错误处理方法是这样的:
# Error handling rule
def t_error(t):
print "Illegal character "%s"" % t.value[0]
t.lexer.skip(1)
这个例子中,我们只是简单的输出不合法的字符,并且通过调用t.lexer.skip(1)
跳过一个字符。