<?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[boost::spirit: Lexer oder Parser]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will mit boost::spirit folgendes in Teile zerlegen:</p>
<p>Buchstaben(groß/klein) gefolgt von (leeres Wort oder ' oder , beliebig oft hintereinander) gefolgt von (einer Zahl)</p>
<p>Muss ich dafür den Lexer oder den Parser nehmen?</p>
<p>Für den String dachte ich an [a-zA-Z]<em>[,']</em>[0-9]*</p>
<p>Ist das richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/297217/boost-spirit-lexer-oder-parser</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 11:50:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/297217.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Dec 2011 13:08:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost::spirit: Lexer oder Parser on Wed, 21 Dec 2011 13:08:45 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will mit boost::spirit folgendes in Teile zerlegen:</p>
<p>Buchstaben(groß/klein) gefolgt von (leeres Wort oder ' oder , beliebig oft hintereinander) gefolgt von (einer Zahl)</p>
<p>Muss ich dafür den Lexer oder den Parser nehmen?</p>
<p>Für den String dachte ich an [a-zA-Z]<em>[,']</em>[0-9]*</p>
<p>Ist das richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159691</guid><dc:creator><![CDATA[hiohihi]]></dc:creator><pubDate>Wed, 21 Dec 2011 13:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to boost::spirit: Lexer oder Parser on Wed, 21 Dec 2011 13:16:18 GMT]]></title><description><![CDATA[<p>Das wäre eher eine Aufgabe für einen Lexer.<br />
Ob du das captures was du denkst kannst du mit diversen Online Tools testen. Z.B:<br />
<a href="http://rubular.com/" rel="nofollow">http://rubular.com/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159695</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 21 Dec 2011 13:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to boost::spirit: Lexer oder Parser on Wed, 21 Dec 2011 13:21:49 GMT]]></title><description><![CDATA[<p>Kommt darauf an, was du machen willst. Wenn du den Text lediglich validieren willst, würde ich eher zu ner Regex greifen. Wenn du den Text auch irgendwie zerlegen möchtest, dann zum Parser.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159698</guid><dc:creator><![CDATA[314159265358979__]]></dc:creator><pubDate>Wed, 21 Dec 2011 13:21:49 GMT</pubDate></item><item><title><![CDATA[Reply to boost::spirit: Lexer oder Parser on Wed, 21 Dec 2011 13:24:44 GMT]]></title><description><![CDATA[<p>Das ist mein Parser:</p>
<pre><code class="language-cpp">*alpha &gt;&gt; *(char_(',') | char_*('\'')) &gt;&gt; uint_;
</code></pre>
<p>Wie verwende ich ihn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159700</guid><dc:creator><![CDATA[dsfdfdfs]]></dc:creator><pubDate>Wed, 21 Dec 2011 13:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to boost::spirit: Lexer oder Parser on Wed, 21 Dec 2011 20:29:49 GMT]]></title><description><![CDATA[<p>So, jetzt bin ich soweit:</p>
<pre><code class="language-cpp">#include &lt;boost/spirit/home/qi.hpp&gt;
namespace qi = boost::spirit::qi;
#include &lt;boost/lambda/lambda.hpp&gt;
namespace lambda = boost::lambda;

#include &lt;iostream&gt;
using namespace std;

        using lambda::_1;
        qi::parse(str.begin(), str.end(), (+qi::alpha)[cout &lt;&lt; _1 &lt;&lt; endl]
                                        &gt;&gt; (*(qi::char_(',') | qi::char_('\'')))[cout &lt;&lt; _1 &lt;&lt; endl]
                                        &gt;&gt; qi::uint_[cout &lt;&lt; _1 &lt;&lt; endl]);
</code></pre>
<p>Ohne das &quot;[cout &lt;&lt; _1 &lt;&lt; endl]&quot; funzt es auch, aber mit diesem nicht. Was mache ich falsch? Und kann man statt boost::lambda hier auch die C++11-Lambda-Funktionen benutzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159910</guid><dc:creator><![CDATA[hihopppp]]></dc:creator><pubDate>Wed, 21 Dec 2011 20:29:49 GMT</pubDate></item><item><title><![CDATA[Reply to boost::spirit: Lexer oder Parser on Wed, 21 Dec 2011 20:37:08 GMT]]></title><description><![CDATA[<p>So, jetzt geht der uint_-Parser mit C++1Lambdas:</p>
<pre><code class="language-cpp">qi::parse(str.begin(), str.end(), (+qi::alpha)&lsqb;&lsqb;](const string&amp; ton){cout &lt;&lt; ton &lt;&lt; '\n';}]
                                        &gt;&gt; (*(qi::char_(',') | qi::char_('\'')))
                                        &gt;&gt; qi::uint_&lsqb;&lsqb;](int integer){cout &lt;&lt; integer &lt;&lt; '\n';}]);
</code></pre>
<p>Aber der +qi::alpha-Parser funzt noch nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159913</guid><dc:creator><![CDATA[hihopppp]]></dc:creator><pubDate>Wed, 21 Dec 2011 20:37:08 GMT</pubDate></item><item><title><![CDATA[Reply to boost::spirit: Lexer oder Parser on Thu, 22 Dec 2011 18:05:08 GMT]]></title><description><![CDATA[<p>*push*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2160219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2160219</guid><dc:creator><![CDATA[hihopppp]]></dc:creator><pubDate>Thu, 22 Dec 2011 18:05:08 GMT</pubDate></item><item><title><![CDATA[Reply to boost::spirit: Lexer oder Parser on Thu, 22 Dec 2011 20:25:58 GMT]]></title><description><![CDATA[<p>Die Lösung: string -&gt; vector&lt;char&gt; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2160240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2160240</guid><dc:creator><![CDATA[hihopppp]]></dc:creator><pubDate>Thu, 22 Dec 2011 20:25:58 GMT</pubDate></item></channel></rss>