添加打印后出现RPLY无效令牌错误


所以我用python做了一个简单的玩具语言,在我的代码中我得到了以下错误:

Traceback (most recent call last):
  File "e:/ParserAndLexer/main.py", line 14, in <module>
    result = parser.parse(lexer.lex(command)).eval()
  File "C:\Python38\lib\site-packages\rply\parser.py", line 60, in parse
    self.error_handler(lookahead)
  File "e:\ParserAndLexer\main_parser.py", line 46, in error_handle
    raise ValueError(f"Invalid token {token}")
ValueError: Invalid token Token('INTEGER', '5')

自从我在解析器中添加了一条print语句后,这个错误才开始发生,在此之前,我的代码一直运行得很好。我把它用在下面

print(parser.parse(lexer.lex('5 + 5')).eval())

当我使用print语句时,我得到以下输出。

print(parser.parse(lexer.lex('print(5 + 5)')).eval())

>>> 10
>>> None

我不知道这是从哪里来的。我的代码是this paste编写的。

转载请注明出处:http://www.souyuntu.com/article/20230526/2002948.html