有没有一种方法可以用下面的语法定义一个多线生产?PLY期望:在ID之前,这意味着每条线一个产品。
def p_envvar(p):
'''
envvar : EV \
ID \
COLON \
INT_VAL \
BOX_OPEN \
INT_VAL \
SEP \
INT_VAL \
BOX_CLOSE \
STRING_VAL \
INT_VAL \
INT_VAL \
DUMMY_NODE_VECTOR \
comma_identifier_list \
SEMICOLON
'''发布于 2013-11-21 05:39:07
您应该使用“管道”来分隔备用规则:
def p_envvar(p):
'''
envvar : EV
| ID
| COLON
| INT_VAL
| BOX_OPEN
| INT_VAL
| SEP
| INT_VAL
| BOX_CLOSE
| STRING_VAL
| INT_VAL
| DUMMY_NODE_VECTOR
| comma_identifier_list
| SEMICOLON
'''但是使用如此多的替代提示给我提示,你可能需要简化,(你可以声明不同的函数来简化到相同的状态:
def p_envar_ev():
"""envvar : EV"""
def p_envvar_id():
"""envvar : ID"""..。等,这比使用大的if块来处理每种可能的情况更容易阅读。
https://stackoverflow.com/questions/19850048
复制相似问题