区分语法

2024-05-19 17:08:10 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在做一个项目,在这个项目中,你命令一个叉车用自然语言做某些事情,我使用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,但这似乎又不是一个好办法。或者我第一次就把整个概念搞错了。你知道吗


Tags: 项目命令def字母方式item事情side
1条回答
网友
1楼 · 发布于 2024-05-19 17:08:10

如果不同的产品(即使对于同一个非终端)有不同的操作,那么就在不同的函数中实现它们。这是一个正常和完全合理的方式来使用层。把不同的生产活动结合起来,这样你就必须弄清楚哪个生产减少了,这是错误的经济。你知道吗

相关问题 更多 >