फ्लेक्स/बाइसन का उपयोग कर एक कंपाइलर विकसित कर रहा हूँ। मेरे पास मेरे निर्माण आउटपुट में यह चेतावनी है।चेतावनी बाइसन संकलन
warning: type clash ('s' '') on default action
किसी भी मदद कृपया?
फ्लेक्स/बाइसन का उपयोग कर एक कंपाइलर विकसित कर रहा हूँ। मेरे पास मेरे निर्माण आउटपुट में यह चेतावनी है।चेतावनी बाइसन संकलन
warning: type clash ('s' '') on default action
किसी भी मदद कृपया?
ऐसा लगता है कि यह आपके स्रोत में आपके% टोकन और% प्रकार की घोषणा से संबंधित है। स्रोत लाइन के बिना और संबंधित टोकन और प्रकार की घोषणा के बिना यह आपकी मदद करना मुश्किल है।
आप प्रकार वैल के expr निर्दिष्ट और प्रकार का एक आईडी टोकन Definer tptr
%{
#include "parser.h"
%}
%type <val> expr
%token <tptr> ID
आप कोई भी कार्रवाई जंगली भैंसों के बिना लिखते हैं तो एक चेतावनी उत्सर्जित करेगा
expr : ID;
warning: type clash ('tptr' 'val') on default action
नोट हैं कि जंगली भैंसों स्तर मैं वर्तमान में इस मामले में एक मामूली अलग संदेश प्रिंट का उपयोग कर रहा हूं।
expr : ID { $$ = some_conversion_code($1); }
@VGCE तो ऑप चेतावनी को सही करने के लिए क्या करेगा? कार्रवाई में क्या जाना चाहिए? – Har
उपयोग संघ परिभाषा लेक्स से अपने दिए गए टोकन टाइप करने के लिए:
foo.by:10.12:warning: type clash on default action : <tptr> != <val>
इस चेतावनी आप कोई स्पष्ट कदम की जरूरत है ठीक करने के लिए।
यह 'कंपिलेटर' नहीं है, यह एक 'कंपाइलर' है। –