所以我用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