scheitern könnte ich the Boost X3 Quick Start tutorial und bemerkte die Linieeps-Parser, der für eine „post-Initialisierung“ kann fehlschlagen, die
eps
ist ein besonderer Geist Parser gerade lese, die keinen Eingang verbraucht aber ist immer erfolgreich. Wir verwenden es, um das synthetisierte Attribut der Regel zu initialisieren, vor allem anderen auf Null. [...] Unter Verwendung voneps
ist dieser Weg gut für Pre- und Post-Initialisierungen.
Jetzt kann ich nicht helfen, aber frage mich, ob ein eps_that_might_fail
nützlich wäre, eine Art semantischer/post-Analyse auf einem Teil des analysierten Eingang zu tun, die, scheitern könnte irgendeine Art von Ort der Prüfung zu haben, in der Grammatik.
Gibt es einen möglichen Fehler eps
, und ist es eine gute Idee, zusätzliche Eingabeverifizierung mit diesem Konstrukt zu machen?
Ein schreckliches Beispiel dafür, was ich versuche zu vermitteln:
int_ >> eps_might_fail[is_prime]
Dies wird nur analysieren Primzahlen, wenn ich mich nicht irre, und für den vollständigen Parser ermöglicht an dem Punkt zu scheitern, wo es erwartet eine Primzahl.
Ouch I X3 spät bemerkt. Es ist ohne Zweifel ähnlich getroffen zu versuchen. – sehe
Erweitert die Antwort mit X3 Demo, Differenz und Begründung! [Live On Coliru] (http://coliru.stacked-crooked.com/a/e7281f5ec19b6190) – sehe
Super Antwort, danke :). Ich finde es schwierig, gute Ressourcen auf X3 zu finden (es scheint keine zu geben außer den cppnow2015 Folien und der Dokumentation ...). Danke, dass Sie eine wertvolle Ressource sind: D. – rubenvb