<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[parsing]]></title><description><![CDATA[<p>Hallo, auf die Gefahr hin...</p>
<p>...das das schon 1000 mal abgehandelt wurde..ich bin nicht mehr als ein Hobbycoder.</p>
<p>Ich bin auf der suche nach der besten Moeglichkeit Texte/Code analytisch zu scannen/parsen.</p>
<p>Primaer gehts mir da drum, wenn ich z.B. Beispielcode habe den in seine Funktionen zu zerlegen um schnell mal Uebersicht zu gewinnen, oder Snippets herauszuloesen und anderswo einzufuegen, oder etwas was in diese Richtung parallelen aufweist.</p>
<p>Also im Grunde wohl sowas wie Lex/Yacc, oder (vielleicht) auch Bison ??</p>
<p>Waer gut wenn man deren Regeln waehrend der Laufzeit abaendern koennte...</p>
<p>Naja, kann mich schlecht Ausdruecken - wo gehts lang??</p>
<p>thx<br />
chab</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156158/parsing</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 23:47:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156158.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Aug 2006 04:26:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to parsing on Mon, 14 Aug 2006 04:26:32 GMT]]></title><description><![CDATA[<p>Hallo, auf die Gefahr hin...</p>
<p>...das das schon 1000 mal abgehandelt wurde..ich bin nicht mehr als ein Hobbycoder.</p>
<p>Ich bin auf der suche nach der besten Moeglichkeit Texte/Code analytisch zu scannen/parsen.</p>
<p>Primaer gehts mir da drum, wenn ich z.B. Beispielcode habe den in seine Funktionen zu zerlegen um schnell mal Uebersicht zu gewinnen, oder Snippets herauszuloesen und anderswo einzufuegen, oder etwas was in diese Richtung parallelen aufweist.</p>
<p>Also im Grunde wohl sowas wie Lex/Yacc, oder (vielleicht) auch Bison ??</p>
<p>Waer gut wenn man deren Regeln waehrend der Laufzeit abaendern koennte...</p>
<p>Naja, kann mich schlecht Ausdruecken - wo gehts lang??</p>
<p>thx<br />
chab</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1116739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1116739</guid><dc:creator><![CDATA[chabayo]]></dc:creator><pubDate>Mon, 14 Aug 2006 04:26:32 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Mon, 14 Aug 2006 06:50:44 GMT]]></title><description><![CDATA[<p>C++? Dann <a href="http://spirit.sourceforge.net/" rel="nofollow">http://spirit.sourceforge.net/</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1116758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1116758</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 14 Aug 2006 06:50:44 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Mon, 14 Aug 2006 07:48:02 GMT]]></title><description><![CDATA[<p>Schau dir mal das Interpreter Pattern an. Lohnt sich allerdings eher für kleine Parser, nicht für komplettte Programmiersprachen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1116773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1116773</guid><dc:creator><![CDATA[DocJunioR]]></dc:creator><pubDate>Mon, 14 Aug 2006 07:48:02 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Mon, 14 Aug 2006 19:15:33 GMT]]></title><description><![CDATA[<p>chabayo schrieb:</p>
<blockquote>
<p>Ich bin auf der suche nach der besten Moeglichkeit Texte/Code analytisch zu scannen/parsen.</p>
</blockquote>
<p>Wie tief bist du bereit, dich in das Thema einzuarbeiten? Das eine oder andere Buch zu dem Thema wuerde ich schon empfehlen ...</p>
<blockquote>
<p>Primaer gehts mir da drum, wenn ich z.B. Beispielcode habe den in seine Funktionen zu zerlegen um schnell mal Uebersicht zu gewinnen, oder Snippets herauszuloesen und anderswo einzufuegen, oder etwas was in diese Richtung parallelen aufweist.</p>
</blockquote>
<p>Sowas wie ctags oder Doxygen <a href="http://o.ae" rel="nofollow">o.ae</a>.? Was genau hast du vor?</p>
<blockquote>
<p>Also im Grunde wohl sowas wie Lex/Yacc, oder (vielleicht) auch Bison ??</p>
</blockquote>
<p>Bison ist die GNU-Version von Yacc. Das originale yacc gibts m.W. nur auf kommerziellen Unix-Systemen. Das gleiche gilt in Bezug auf Flex und lex, nur das Flex nicht zum GNU-Projekt gehoert.</p>
<blockquote>
<p>Waer gut wenn man deren Regeln waehrend der Laufzeit abaendern koennte...</p>
</blockquote>
<p>Das geht weder bei Bison noch bei Spirit noch bei irgendwelchen anderen mir bekannten Parser-Frameworks. Es gibt zwar im Grunde keine prinzipiellen Schwierigkeiten zu ueberwinden, aber wozu soll man das denn brauchen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117229</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 14 Aug 2006 19:15:33 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Mon, 14 Aug 2006 20:44:30 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>chabayo schrieb:</p>
<blockquote>
<p>Ich bin auf der suche nach der besten Moeglichkeit Texte/Code analytisch zu scannen/parsen.</p>
</blockquote>
<p>Wie tief bist du bereit, dich in das Thema einzuarbeiten? Das eine oder andere Buch zu dem Thema wuerde ich schon empfehlen ...</p>
</blockquote>
<p>...soweit wuerde ich nicht gehen, hab mir ein Buch angesehen,und da kann ich ja gleich ein Informatikstudium beginnen. Oder seh ich das so falsch??</p>
<p>Bashar schrieb:</p>
<blockquote>
<p>Sowas wie ctags oder Doxygen <a href="http://o.ae" rel="nofollow">o.ae</a>.? Was genau hast du vor?</p>
</blockquote>
<p>...eigentlich schon, nur komm ich irgendwie nicht ganz klar mit ctags, und so schwer ist es ja wohl auch nicht fuer c einen Parser zu schreiben oder??</p>
<p>--Doxygen: ...werd ich mir genauer ankucken.</p>
<p>.filmor schrieb:</p>
<blockquote>
<p>C++? Dann <a href="http://spirit.sourceforge.net/" rel="nofollow">http://spirit.sourceforge.net/</a>.</p>
</blockquote>
<p>...sieht ja lecker aus, thx.</p>
<p>Danke erstmal, muss das aufarbeiten.</p>
<p>cu<br />
chab</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117277</guid><dc:creator><![CDATA[chabayo]]></dc:creator><pubDate>Mon, 14 Aug 2006 20:44:30 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Tue, 15 Aug 2006 05:58:35 GMT]]></title><description><![CDATA[<p>Du solltest die Aufgabe einen Parser für C zu schreiben nicht unterschätzen...</p>
<p>Ich habe mich lange damit herumgeplagt die ANSI Grammatik auf &quot;reales&quot; C u.a. mit Dialekten von embedded Compilern zu erweitern.</p>
<p>Allerdings habe ich den Parser mit Lex und Yacc (bzw. flex und bison) erstellt und nicht mit Boost::spirit.</p>
<p>Und ohne Bücher gelesen zu haben wird es auch ein steiniger Weg. Damals war ich in der gleichen Situation wie du, da ich vom Compilerbau, bzw. Automatentheorien noch keine Ahnung hatte und gleich mit einem Parser für C begonnen habe.</p>
<p>Meiner Einschätzung nach wäre es 1000x leichter sich die ctags näher anzuschauen....</p>
<p>Gruß Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117341</guid><dc:creator><![CDATA[Paddy82]]></dc:creator><pubDate>Tue, 15 Aug 2006 05:58:35 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Tue, 15 Aug 2006 06:43:31 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<blockquote>
<p>Waer gut wenn man deren Regeln waehrend der Laufzeit abaendern koennte...</p>
</blockquote>
<p>Das geht weder bei Bison noch bei Spirit noch bei irgendwelchen anderen mir bekannten Parser-Frameworks.</p>
</blockquote>
<p>Wieso soll das bei Spirit nicht gehen?</p>
<p>Bashar schrieb:</p>
<blockquote>
<p>Es gibt zwar im Grunde keine prinzipiellen Schwierigkeiten zu ueberwinden, aber wozu soll man das denn brauchen?</p>
</blockquote>
<p>Für Parser-Generatoren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117349</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 15 Aug 2006 06:43:31 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Tue, 15 Aug 2006 08:35:10 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Bashar schrieb:</p>
<blockquote>
<blockquote>
<p>Waer gut wenn man deren Regeln waehrend der Laufzeit abaendern koennte...</p>
</blockquote>
<p>Das geht weder bei Bison noch bei Spirit noch bei irgendwelchen anderen mir bekannten Parser-Frameworks.</p>
</blockquote>
<p>Wieso soll das bei Spirit nicht gehen?</p>
</blockquote>
<p>Weil beide Frameworks zur Compile-Time den Parser generieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117385</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Tue, 15 Aug 2006 08:35:10 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Tue, 15 Aug 2006 09:54:47 GMT]]></title><description><![CDATA[<p>Nur weil Spirit Expression Templates benutzt, ist der Parser nicht an die Compilezeit gebunden. Ich kann im Programm jederzeit Regeln umdefinieren:</p>
<pre><code class="language-cpp">rule&lt;&gt; a;
if (cond)
    a = b;
else
    a = c;
</code></pre>
<p>Es gibt sogar eine &quot;eigene&quot; Syntax um das direkt als Expression Template zu bauen:</p>
<pre><code class="language-cpp">rule&lt;&gt; a = if_p(cond)[b].else_p[c];
</code></pre>
<p>Siehe Spirit Dokumentation, Kapitel Dynamic. Oder verstehe ich das falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117421</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 15 Aug 2006 09:54:47 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Tue, 15 Aug 2006 18:37:59 GMT]]></title><description><![CDATA[<p>OK, dann kann Spirit das wohl doch, den Punkt nehm ich zurueck. Das:</p>
<p>.filmor schrieb:</p>
<blockquote>
<p>Für Parser-Generatoren.</p>
</blockquote>
<p>... wuerde ich aber trotzdem nicht unterschreiben. Ein Parser-Generator muss doch nicht seine Eingabe-Syntax dynamisch aendern. Ich denke da eher an Sprachen, bei denen man eigene Operatoren definieren und mit beliebiger Rangfolge versehen kann. Aber selbst das muesste ohne dynamisch gebaute Regeln gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117794</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 15 Aug 2006 18:37:59 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Tue, 15 Aug 2006 18:56:09 GMT]]></title><description><![CDATA[<p>Bei meinem derzeitigen Projekt für die Arbeit lese ich die Beschreibung gewisser Komponenten aus einer XML-Datei ein. Anhand dieser Beschreibung erzeuge ich dann einen Parser um weitere Daten einzulesen. Für sowas ist es nötig den Parser dynamisch zu erzeugen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117802</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Tue, 15 Aug 2006 18:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Tue, 15 Aug 2006 19:04:07 GMT]]></title><description><![CDATA[<p>Nicht schlagen, aber bei &quot;Regeln zur Laufzeit aendern&quot; denk ich nicht daran, zur Laufzeit einen Parser zu erzeugen, sondern die Regeln *waehrend* des Parsens einer Datei abhaengig vom Inhalt der Datei zu aendern. Dein Problem koennte man ja z.B. auch loesen in dem man eine Beschreibung fuer bison generiert, uebersetzt und ausfuehrt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117806</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 15 Aug 2006 19:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to parsing on Tue, 15 Aug 2006 20:56:13 GMT]]></title><description><![CDATA[<p>Okay, für sowas kann ich mir auch nicht wirklich Vorstellen wozu es gut sein sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117879</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Tue, 15 Aug 2006 20:56:13 GMT</pubDate></item></channel></rss>