【发布时间】:2015-11-29 05:16:44
【问题描述】:
我正在使用 PLY 来解析跨越多行(或通过“;”分隔)的算术表达式。我不确定是否忽略换行符,因为我真的不需要它们。如果它们被忽略(在t_NEWLINE 中返回 None),是否有必要在制作中考虑它们?
def t_NEWLINE(self, t):
r"""\n+|;+"""
t.lexer.lineno += t.value.count("\n") + t.value.count(";")
return t # or not
def p_expression(self, t):
""" expression : ..."""
def p_expressions(self, t):
""" expressions : expression
| expressions NEWLINE expression
"""
# Do I need NEWLINE at all? How does the production figure out where expression ends without NEWLINE?
【问题讨论】: