<?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[Fehlersuche]]></title><description><![CDATA[<p>Ich möchte ein größeres Programm kompilieren, was leider nicht funktioniert.</p>
<p>Es treten mehrere Fehler auf, wobei einige unter Umständen nur Folgefehler sind.</p>
<p>Aus diesem Grund starte ich zunächst mal mit dem ersten auftretenden Fehler:</p>
<blockquote>
<p>In file included from parser.yy:25:0:<br />
parser.tab.hh:111:14: Fehler: expected identifier before numeric constant<br />
#define EXIT 278</p>
</blockquote>
<p>In der betreffenden Datei stehen nur jede Menge Tokens - wahrscheinlich für FLEXX und YACC.</p>
<p>Kann es sein, dass EXIT schon irgendwie vordefiniert ist und ich daher einen Fehler erhalte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/329617/fehlersuche</link><generator>RSS for Node</generator><lastBuildDate>Tue, 26 May 2026 10:31:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/329617.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Dec 2014 08:37:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehlersuche on Mon, 01 Dec 2014 08:37:11 GMT]]></title><description><![CDATA[<p>Ich möchte ein größeres Programm kompilieren, was leider nicht funktioniert.</p>
<p>Es treten mehrere Fehler auf, wobei einige unter Umständen nur Folgefehler sind.</p>
<p>Aus diesem Grund starte ich zunächst mal mit dem ersten auftretenden Fehler:</p>
<blockquote>
<p>In file included from parser.yy:25:0:<br />
parser.tab.hh:111:14: Fehler: expected identifier before numeric constant<br />
#define EXIT 278</p>
</blockquote>
<p>In der betreffenden Datei stehen nur jede Menge Tokens - wahrscheinlich für FLEXX und YACC.</p>
<p>Kann es sein, dass EXIT schon irgendwie vordefiniert ist und ich daher einen Fehler erhalte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430456</guid><dc:creator><![CDATA[shisha]]></dc:creator><pubDate>Mon, 01 Dec 2014 08:37:11 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Mon, 01 Dec 2014 08:50:33 GMT]]></title><description><![CDATA[<p>Ja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430459</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Mon, 01 Dec 2014 08:50:33 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Mon, 01 Dec 2014 09:02:22 GMT]]></title><description><![CDATA[<p>Gibts da Möglichkeiten, das zu umgehen, OHNE dass ich den Quellcode des Programmes anfassen muss.<br />
Eventuell ist EXIT ja bei einem älteren oder neueren Compiler nicht definiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430461</guid><dc:creator><![CDATA[shisha]]></dc:creator><pubDate>Mon, 01 Dec 2014 09:02:22 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Mon, 01 Dec 2014 09:05:21 GMT]]></title><description><![CDATA[<p>Erstmal würde ich doch den Fehler suchen.<br />
Warum sollte EXIT überhaupt schon definiert sein?</p>
<p>Da muss doch noch mehr zu dem Fehler gehören. Denn die Zeile, die in der Fehlermeldung auftaucht ist kein Fehler.<br />
Wie geht es denn dann weiter mit der Ausgabe von gcc?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430462</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Mon, 01 Dec 2014 09:05:21 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Mon, 01 Dec 2014 09:17:09 GMT]]></title><description><![CDATA[<p>Dake Furble, ich suche auch gerade. EXIT scheint ja nicht im C++-Standard definiert zu sein. Also 2 Möglichkeiten:</p>
<p>Wird irgendwo im Programm definiert oder ich suche an der falschen Stelle.</p>
<p>Also weiter im Text:</p>
<pre><code>In file included from parser.yy:25:0:
parser.tab.hh:111:14: Fehler: expected identifier before numeric constant
 #define EXIT 278
              ^
./include/CFG.h:96:24: Anmerkung: bei Substitution des Makros »EXIT«
   typedef enum {START, EXIT} MapType;
                        ^
parser.tab.hh:111:14: Fehler: expected »}« before numeric constant
 #define EXIT 278
              ^
./include/CFG.h:96:24: Anmerkung: bei Substitution des Makros »EXIT«
   typedef enum {START, EXIT} MapType;
                        ^
parser.tab.hh:111:14: Fehler: expected unqualified-id before numeric constant
 #define EXIT 278
              ^
./include/CFG.h:96:24: Anmerkung: bei Substitution des Makros »EXIT«
   typedef enum {START, EXIT} MapType;
                        ^
</code></pre>
<p>Interessanterweise kommt der Block tatsächlich doppelt vor.<br />
Dann gehts weiter mit den Fehlern:</p>
<pre><code>./include/CFG.h:96:30: Fehler: Templatedeklaration von »BuildCFGTraverse&lt;Node&gt; MapType«
   typedef enum {START, EXIT} MapType;
                              ^
./include/CFG.h:120:3: Fehler: »Node« bezeichnet keinen Typ
   Node* GetStmtNode( const AstNodePtr&amp; s, MapType t ) 
   ^
./include/CFG.h:131:42: Fehler: »Node« wurde nicht deklariert
   void SetStmtNode( const AstNodePtr&amp; s, Node* n, MapType t)
                                          ^
./include/CFG.h:131:51: Fehler: »MapType« wurde nicht deklariert
   void SetStmtNode( const AstNodePtr&amp; s, Node* n, MapType t)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2430466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430466</guid><dc:creator><![CDATA[shisha]]></dc:creator><pubDate>Mon, 01 Dec 2014 09:17:09 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Mon, 01 Dec 2014 09:25:50 GMT]]></title><description><![CDATA[<p>Da hast Du's doch schon.</p>
<pre><code>./include/CFG.h:96:24: Anmerkung: bei Substitution des Makros »EXIT«
   typedef enum {START, EXIT} MapType;
</code></pre>
<p>Allerdings wüßte ich jetzt auch nicht, wie Du das beheben kannst. Soll das schon mal kompiliert haben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430469</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Mon, 01 Dec 2014 09:25:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Mon, 01 Dec 2014 09:37:15 GMT]]></title><description><![CDATA[<blockquote>
<p>Soll das schon mal kompiliert haben?</p>
</blockquote>
<p>Nicht bei mir <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Ich sehe jetzt auch das Problem. Die Map, in der EXIT benötigt wird, stammt aus einer anderen Programmkomponente, was ich anhand der Pfadangaben, die bei mir natürlich vollständig sind, sehen kann.</p>
<p>Der Teil, der EXIT als konstante definieren möchte ist weniger umfangreich. Vielleicht kann ich die parser-Files so anpassen, dass kein Konflikt mehr mit der Map-Definition vorliegt?</p>
<p>Hier mal die Ausgaben von grep -r EXIT:</p>
<pre><code>./parser.ll:exit                   BEGIN(LINE); return EXIT;
./cscope.out:   gEXIT
./cscope.out:YY_EXIT_FAILURE
./cscope.out:   #YY_EXIT_FAILURE
./cscope.out:YY_EXIT_FAILURE
./cscope.out:   mEXIT
./cscope.out:   mEXIT
./cscope.out:   #WEXITSTATUS
./cscope.out:   `__WEXITSTATUS
./cscope.out:   #WIFEXITED
./cscope.out:   `__WIFEXITED
./cscope.out:   #EXIT_FAILURE
./cscope.out:   #EXIT_SUCCESS
./cscope.out:   m_SC_ATEXIT_MAX
./cscope.out:   #_SC_ATEXIT_MAX
./cscope.out:_SC_ATEXIT_MAX
./cscope.out:   mCLD_EXITED
./cscope.out:   #CLD_EXITED
./cscope.out:CLD_EXITED
./cscope.out:   #WEXITED
./cscope.out:   #__WEXITSTATUS
./cscope.out:   `__WEXITSTATUS
./cscope.out:   #__WIFEXITED
./cscope.out:   #__W_EXITCODE
./cscope.out:   #_G_HAVE_ATEXIT
./parser.yy:%token NONSINGULAR EXIT KNOWN SKEW SHIFT SHIFT_TO FUSE DISTRIBUTE REMOVE_DEP SCALE REVERSE PEEL
./parser.yy:        | EXIT '\n' { return(0); }
grep: ./bin/chill: Datei oder Verzeichnis nicht gefunden
./parser.tab.hh:     EXIT = 278,
./parser.tab.hh:#define EXIT 278
./lex.yy.cc:BEGIN(LINE); return EXIT;
./lex.yy.cc:#ifndef YY_EXIT_FAILURE
./lex.yy.cc:#define YY_EXIT_FAILURE 2
./lex.yy.cc:    exit( YY_EXIT_FAILURE );
./parser.tab.cc:     EXIT = 278,
./parser.tab.cc:#define EXIT 278
./parser.tab.cc:  &quot;NONSINGULAR&quot;, &quot;EXIT&quot;, &quot;KNOWN&quot;, &quot;SKEW&quot;, &quot;SHIFT&quot;, &quot;SHIFT_TO&quot;, &quot;FUSE&quot;,
Übereinstimmungen in Binärdatei ./lex.yy.o.
</code></pre>
<p>Wenn ich es richtig sehe, wird EXIT nur in Parser.tab definiert und verwendet. Wenn ich es hier umbenenne könnte es dann funktionieren?<br />
Der Zusammenhang zwischen gscope und parser ist mir leider nicht bekannt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430473</guid><dc:creator><![CDATA[shisha]]></dc:creator><pubDate>Mon, 01 Dec 2014 09:37:15 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Mon, 01 Dec 2014 10:20:12 GMT]]></title><description><![CDATA[<p>Vielen Dank, Thread kann gelöscht werden. Funktioniert nun alles.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430484</guid><dc:creator><![CDATA[shisha]]></dc:creator><pubDate>Mon, 01 Dec 2014 10:20:12 GMT</pubDate></item></channel></rss>