Parsing 为什么它会给我这个错误?Python解析器

Parsing 为什么它会给我这个错误?Python解析器,parsing,ply,Parsing,Ply,我正在用ply开发一个解析器。我有以下语法规则: def p_maint(p): 'maint : PROGRAMA ID declaraciones' def p_declaraciones(p): '''declaraciones : vacio | declaraciones | tipo ID definicion_vector ";"''' def p_tipo(p): ''

我正在用ply开发一个解析器。我有以下语法规则:

def p_maint(p):
    'maint : PROGRAMA ID declaraciones'

def p_declaraciones(p):
    '''declaraciones : vacio
                     | declaraciones
                     | tipo ID definicion_vector ";"'''

def p_tipo(p):
    '''tipo : ENTERO
            | FLOTANTE
            | CHAR'''

def p_definicion_vector(p):
    '''definicion_vector : vacio 
                         | "[" CTE_ENTERO "]" '''


def p_vacio(p):
    'vacio : '
但它给了我一个警告:

WARNING: 1 reduce/reduce conflict
WARNING: reduce/reduce conflict in state 8 resolved using rule (maint -> PROGRAMA ID declaraciones)
WARNING: rejected rule (declaraciones -> declaraciones) in state 8
WARNING: Rule (declaraciones -> declaraciones) is never reduced

如何删除此错误?

您拥有生产
declaraciones->declaraciones
,这是毫无意义的。(这不会扩大语言范围,也会使语法模棱两可。)

我的猜测是,你的意思是连接两个右手边:

''声明:真空
|声明tipo ID定义向量“;”“”

我该怎么做?谢谢你,真的很有帮助!