牛骨文教育服务平台(让学习变的简单)

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)跳过一个字符。