boost-spirit

Boost.Spirit ist eine Sammlung von C ++ - Bibliotheken zum Parsen und zur Ausgabeerzeugung, die als domänenspezifische eingebettete Sprachen (DSEL) unter Verwendung von Expression-Templates und Template Meta-Programming implementiert werden. Die Spirit-Bibliotheken ermöglichen das Schreiben einer Zielgrammatik ausschließlich in C ++. Inline-Grammatikspezifikationen können sich frei mit anderem C ++ - Code mischen und sind dank der generativen Kraft von C ++ - Templates sofort ausführbar.
2
Antworten

Kann Boost Spirit verwendet werden, um Byte-Stream-Daten zu analysieren?

Can Spirit (Teil der Boost C ++ - Bibliothek) wird verwendet, um binäre Daten aus einem Stream zu analysieren? Kann es zum Beispiel verwendet werden, um Daten, die von einem Socket kommen, in Strukturen, Bytes und einzelne Bit-Flags zu parsen? D...
12.11.2008, 20:19
1
Antwort

Wie kann ich den Skipper ascii :: space verwenden, OHNE eol zu überspringen?

Ich muss boost :: spirit zum Parsen verwenden, und ich möchte phrase_parse function: verwenden %Vor% Aber der vierte Begriff (ascii :: space - qi :: eol) ist von meinem Compiler nicht erlaubt. Wie kann ich den Skipper ascii :: space OHNE eol...
05.05.2012, 20:38
1
Antwort

Parse int oder double mit boost spirit (lonest_d)

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 Dire...
07.11.2012, 00:21
1
Antwort

Boost Spirit ist zu gierig

Ich bin zwischen einer tiefen Bewunderung über Boost :: Geist und ewiger Frustration, um es nicht zu verstehen;) Ich habe Probleme mit Strings, die zu gierig sind und daher nicht passen. Unterhalb eines minimalen Beispiels, das nicht analysie...
18.03.2011, 17:31
1
Antwort

Boost Spirit X3 kann keine Wiederholungsanweisung mit variablem Faktor kompilieren

Ich versuche, die Boost Spirit X3-Direktive wiederhole mit einem Wiederholungsfaktor zu verwenden, der variabel ist. Die Grundidee ist eine Header + Payload, wobei der Header die Größe der Payload angibt. Ein einfaches Beispiel "3 1 2 3" wird...
10.11.2015, 06:29
1
Antwort

Ändere den Attributtyp beim Analysieren von Binärdateien mit boost :: spirit

Ich habe boost::spirit::qi erfolgreich verwendet, um einen Stream zu analysieren, der aus den integrierten Parsern besteht (z. B. byte_ , little_word usw.). Jetzt muss ich jedoch Daten parsen, die nicht in eine dieser Kategorien fallen....
15.03.2012, 07:02
1
Antwort

Wie erstelle ich ein synthetisiertes Argument aus einer Lambda-Semantik-Aktion von C ++ 11 in Boost Spirit?

Ich versuche, einen AST mit Boost Spirit zu bauen, und ich habe mit dem Erstellen synthetischer Argumente gekämpft, wenn ich C ++ 11 Lambda-Ausdrücke als semantische Aktionen benutze. Sagen Sie, ich habe eine Regel: qi::rule<char*,asci...
01.10.2012, 17:49
1
Antwort

Abrufen von AST von boost :: spirit parser

Nachdem ich die Tutorials auf boost :: spirit , ich mochte es wegen der Parser-Kombinator-Syntax. Einen Parser zu erstellen ist so einfach. Leider waren die Tutorials nicht so genau, um eine komplexe Datenstruktur aus dem Parser herauszuho...
10.12.2011, 23:41
1
Antwort

Operator Vorrang in boost :: spirit?

Ich habe einige Tests mit der spirit mini_c Probe gemacht. Leider behält es den Operator nicht wie erwartet: %Vor% wird zu 0 ausgewertet. %Vor% gibt 1 zurück Ich habe versucht, die Definition von "||" zu verschieben. und "& amp; & amp...
28.08.2010, 14:45
3
Antworten

Wie passt man Unicode-Zeichen mit boost :: spirit?

Wie kann ich utf8 Unicode-Zeichen mit boost::spirit ? vergleichen? Ich möchte zum Beispiel alle Zeichen in dieser Zeichenfolge erkennen: %Vor% Wenn ich dieses einfache boost::spirit -Programm versuche, stimmt es nicht mit den Unicode...
06.05.2012, 21:45