我一直在嘗試Ply example calculator from Github。Ply示例計算器多個表達式
當我運行計算器時,它運行在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 >
我是否需要修改文法r,解析器還是兩者兼而有之?我已經嘗試修改語法,使其左遞歸,但它似乎並沒有工作。
由於示例語法*已經是左遞歸,所以您試圖將其修改爲左遞歸的陳述需要一些解釋(您爲什麼認爲這會有所作爲?) – rici
太廣泛了:您基本上已經找到了第三方庫,並且您正在問如何針對自己的目的對其進行修改,這不比「爲我編寫此代碼」更好。 –
@ Two-BitAlchemist老實說,我不是。我正在嘗試使用Ply編寫一個簡單的解釋器,而我的解釋器目前只能一次評估一個表達式/語句。我不想發佈我的翻譯,因爲它比樣本計算器長得多。我選擇了樣本計算器,因爲它具有我試圖找出的相同限制,並且它更小。 – Francis