首页 > 解决方案 > Parser with ply - 解析器规则简单引用

问题描述

我正在用 ply 在 python 中开发一个解析器。但我有一个关于解析规则的问题,因为我有这样的事情:

def p_main(p):
main : PROGRAMA ID declaraciones declaracion_funcion bloque

但是我已经看到规则使用简单的引号,为什么?它是用来做什么的?

例如:

def p_expression_binop(p):
    '''expression : expression PLUS expression
                  | expression MINUS expression
                  | expression TIMES expression
                  | expression DIVIDE expression'''
    if p[2] == '+'  : p[0] = p[1] + p[3]
    elif p[2] == '-': p[0] = p[1] - p[3]
    elif p[2] == '*': p[0] = p[1] * p[3]
    elif p[2] == '/': p[0] = p[1] / p[3]

为什么是 3 个简单的引号?

标签: pythonparsingply

解决方案


三引号(双引号或单引号)是python中的多行字符串。

https://www.digitalocean.com/community/tutorials/how-to-format-text-in-python-3#multiple-lines


推荐阅读