Ich habe die Ply example calculator from Github ausprobiert.Ply Beispiel Rechner mehrere Ausdrücke
Wenn ich den Rechner laufen lasse, läuft es innerhalb einer REPL. Wie würde ich Ply verwenden, um zu ermöglichen, dass mehrere Ausdrücke nacheinander ausgewertet werden.
Zum Beispiel, wenn ich eingeben 3+4
der REPL tut dies:
calc > 3+4
7
calc >
Wenn ich eingeben 4+3 6+2
der REPL tut dies:
calc > 4+3 6+2
Syntax error at '6'
2
calc >
Wie würde ich das Beispiel Rechner modifizieren, um die REPL zu ermöglichen Um dies zu tun:
calc > 4+3 6+2
7
8
calc >
Muss ich das Gramma ändern r, der Parser oder beides? Ich habe versucht, die Grammatik zu ändern, um es rekursiv zu machen, aber es scheint nicht zu funktionieren.
Da die Probe Grammatik * bereits * linksrekursive, Ihre Aussage, dass Sie es versucht haben, zu modifizieren linksrekursive werden erfordert eine gewisse Aufklärung. (Und warum würden Sie denken, dass würde einen Unterschied machen?) – rici
Zu weit gefasst: Sie haben im Wesentlichen eine Bibliothek eines Drittanbieters gefunden und Sie fragen, wie Sie sie für Ihre eigenen Zwecke ändern können, was nicht besser ist als "schreibe diesen Code für mich". –
@ Two-BitAlchemist Ehrlich gesagt bin ich nicht. Ich versuche einen einfachen Interpreter mit Ply zu schreiben und mein Interpreter kann momentan nur einen Ausdruck/eine Aussage gleichzeitig auswerten. Ich wollte meinen Interpreter nicht posten, da er wesentlich länger ist als der Beispielrechner. Ich habe den Sample-Rechner gewählt, weil er die gleiche Beschränkung hat, die ich herausfinden möchte, und er ist viel kleiner. – Francis