Ich suche nach einer Möglichkeit, eine Zeichenkette als int oder double zu analysieren, der Parser sollte beide Alternativen ausprobieren und diejenige auswählen, die dem längsten Teil des Eingabestroms entspricht.
Es gibt eine veraltete Direktive (lonest_d), die genau das tut, wonach ich suche:
%Vor%... da es veraltet ist, gibt es noch andere Alternativen? Wenn es notwendig ist, eine semantische Aktion zu implementieren, um das gewünschte Verhalten zu erreichen, hat jemand einen Vorschlag?
Wechseln Sie zuerst zu Spirit V2 - das den klassischen Geist seit Jahren ersetzt.
Zweitens müssen Sie sicherstellen, dass ein int bevorzugt wird. Standardmäßig kann ein Double alle Integer gleich gut parsen, daher müssen Sie stattdessen strict_real_policies
verwenden:
Jetzt können Sie einfach
angeben %Vor%Siehe
Tags und Links c++ boost boost-spirit boost-spirit-qi