所以我在做一个项目,在这个项目中,你命令一个叉车用自然语言做某些事情,我使用Python-Lex-Yacc。我想知道是否有办法区分长度相同的置换语法?文档中只说明可以使用len(p)来完成,但只有在长度不同时才有帮助。示例代码:
def p_moveitemfromto(p):
'''moveitemfromto : MOVEITEM fulltype item rack rack side
| MOVEITEM rack rack side fulltype item
| rack MOVEITEM fulltype item rack side
| rack MOVEITEM rack side fulltype item'''
我需要输出总是在一个统一的顺序(所以我坚持第一是默认值),我现在所做的只是在较低的水平上添加不同的字母,这样我就可以按正确的方式排序,然后删除字母,但似乎这不是一种方式。我也可以把它分成不同的def,但这似乎又不是一个好办法。或者我第一次就把整个概念搞错了。你知道吗
如果不同的产品(即使对于同一个非终端)有不同的操作,那么就在不同的函数中实现它们。这是一个正常和完全合理的方式来使用层。把不同的生产活动结合起来,这样你就必须弄清楚哪个生产减少了,这是错误的经济。你知道吗
相关问题 更多 >
编程相关推荐