Ich denke über die Verwendung von Petitparser für Dart (https://pub.dartlang.org/packages/petitparser) in meinem Projekt. Ich möchte es verwenden, um als Strings gespeicherten Lisp-Code zu verarbeiten.Dart Petitparser zum Bearbeiten Lisp Code
Zum Beispiel angegebenen Daten wie folgt aus:
(setq age 20)
(setq livesin "Mississippi")
Und ein String
, die einen Lisp Ausdruck wie folgt enthält:
'(and (< age 21) (string= livesin "Iowa"))'
Wie kann ich ein Ergebnis bekommen?
Zweitens, ist dies ein guter Ansatz, und eine ordnungsgemäße Verwendung von Petitparser?
Beachten Sie, dass ich ein Lisp-Neuling bin.
Haben Sie sich https://github.com/petitparser/dart-petitparser/tree/master/example/lisp und https://www.dartdocs.org/documentation/petitparser/1.6.1/index.html angesehen ? – coredump
Ja, tat ich. Danke, dass du darauf hingewiesen hast. Ich hätte es in meiner Frage erwähnen sollen. Ich habe mir auch Lispweb angeschaut, Implementierung in den Beispielen. – Hesh
Ich kenne Dart nicht und habe keine geeignete Umgebung, um es hier zu testen. Solltest du nicht einfach etwas wie 'lp = new LispParser()' und 'lp.parse (string)' machen? Funktioniert es? Dann müssen Sie einen Evaluator erstellen, aber das ist ein anderes Problem. – coredump