3
我正在使用Python和PLY來解析類似LISP的S-表達式,並且在解析函數調用時可以有零個或多個參數。我怎樣才能把這個放入yacc代碼中。這是我目前的功能:Python PLY零次或多次出現的解析項目
def p_EXPR(p):
'''EXPR : NUMBER
| STRING
| LPAREN funcname [EXPR] RPAREN'''
if len(p) == 2:
p[0] = p[1]
else:
p[0] = ("Call", p[2], p[3:-1])
我需要用允許零個或多個EXPR的東西替換「[EXPR]」。我怎樣才能做到這一點?