Я пробовал пример калькулятора Ply из Github.
Когда я запускаю калькулятор, он работает внутри REPL. Как бы я использовал Ply, чтобы можно было оценивать несколько выражений одно за другим.
Например, если я ввожу 3+4
, REPL делает следующее:
calc > 3+4
7
calc >
Если я ввожу 4+3 6+2
, REPL делает следующее:
calc > 4+3 6+2
Syntax error at '6'
2
calc >
Как бы я изменил пример калькулятора, чтобы REPL мог это сделать:
calc > 4+3 6+2
7
8
calc >
Нужно ли мне модифицировать грамматику, синтаксический анализатор или и то, и другое? Я попытался изменить грамматику, чтобы сделать ее рекурсивной, но, похоже, это не сработало.