<?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[Spirit datei parsen]]></title><description><![CDATA[<p>Hey, ich hab gerade ein Problem. Ich versuch aus einer *.cl (OpenCL) datei die kernel deklaration in form von</p>
<pre><code class="language-cpp">__kernel void rayCastVolume(__read_only image3d_t input, ...) 
{
// zeugs halt
}
</code></pre>
<p>mit Boost.spirit zu parsen. Das Funktioniert eigentlich auch super und ich bekomm die parameter der funktion. Leder steht in einem kernel gerne mehr als nur diese zeile. Es kann mehr oder weniger beliebiger text vor und nach dieser zeile stehen. Ich frag mich gerade wie ich jetzt am besten den Anfang vom kernel finde. Einfach als String nach</p>
<pre><code class="language-cpp">__kernel void
</code></pre>
<p>suchen klappt nicht weil vorher z.B.</p>
<pre><code class="language-cpp">// __kernel void
/* __kernel void */
const char *muh = &quot;__kernel void&quot;;
</code></pre>
<p>stehen kann, wobei mir da bestimmt noch nicht alle sachen eingefallen sind. Gibts da vielleicht noch generell eine einfache möglichkeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/280124/spirit-datei-parsen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 06:04:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/280124.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Jan 2011 00:06:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Spirit datei parsen on Mon, 10 Jan 2011 00:06:58 GMT]]></title><description><![CDATA[<p>Hey, ich hab gerade ein Problem. Ich versuch aus einer *.cl (OpenCL) datei die kernel deklaration in form von</p>
<pre><code class="language-cpp">__kernel void rayCastVolume(__read_only image3d_t input, ...) 
{
// zeugs halt
}
</code></pre>
<p>mit Boost.spirit zu parsen. Das Funktioniert eigentlich auch super und ich bekomm die parameter der funktion. Leder steht in einem kernel gerne mehr als nur diese zeile. Es kann mehr oder weniger beliebiger text vor und nach dieser zeile stehen. Ich frag mich gerade wie ich jetzt am besten den Anfang vom kernel finde. Einfach als String nach</p>
<pre><code class="language-cpp">__kernel void
</code></pre>
<p>suchen klappt nicht weil vorher z.B.</p>
<pre><code class="language-cpp">// __kernel void
/* __kernel void */
const char *muh = &quot;__kernel void&quot;;
</code></pre>
<p>stehen kann, wobei mir da bestimmt noch nicht alle sachen eingefallen sind. Gibts da vielleicht noch generell eine einfache möglichkeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004734</guid><dc:creator><![CDATA[spiriter]]></dc:creator><pubDate>Mon, 10 Jan 2011 00:06:58 GMT</pubDate></item><item><title><![CDATA[Reply to Spirit datei parsen on Mon, 10 Jan 2011 04:37:26 GMT]]></title><description><![CDATA[<p>Am einfachsten wäre wahrscheinlich, zu überprüfen, ob nach &quot;__kernel void&quot; was Sinnvolles (i.e. Funktionsdefinition) kommt. Wenn ja -&gt; gefunden, wenn nein -&gt; weitersuchen. Das dürfte schonmal ziemlich viele Fälle abdecken.</p>
<p>Dann gäbe es noch sowas wie</p>
<pre><code class="language-cpp">// __kernel
void ...
</code></pre>
<p>, am Besten du filterst also Kommentare vor oder während der Suche komplett raus.</p>
<p>Spätestens bei</p>
<pre><code class="language-cpp">#define MYKERNEL __kernel
...
MYKERNEL void ...
</code></pre>
<p>wirst du aber wohl nicht mehr drumrumkommen, dir teilweise einen C-Parser inkl. Präprozessor zu programmieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2004766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2004766</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Mon, 10 Jan 2011 04:37:26 GMT</pubDate></item></channel></rss>