2011-09-08 26 views
5

flex/bison kullanarak bir derleyici geliştiriyorum. Yapım çıktımda bu uyarı var. Uyarı Bison compilation

warning: type clash ('s' '') on default action

herhangi bir yardım

lütfen?

+1

Bu bir 'derleyici' değil, bir 'derleyici'. –

cevap

7

Kaynağınızdaki% belirteci ve% tür bildirimi ile ilgili gibi görünüyor. Kaynak çizgisi olmadan ve ilgili belirteç ve tip bildirimi size yardımcı olmak zordur.

Tür val bir expr belirtmek ve bir uyarısını

expr : ID; 

warning: type clash ('tptr' 'val') on default action 

Not yayacaktır herhangi bir eylem bizon olmadan yazarsanız

%{ 
#include "parser.h" 
%} 
%type <val> expr 
%token <tptr> ID 

tptr türünde bir kimlik belirteci Belirleyiciyi Eğer o bizon seviyesi Şu anda bu durumda biraz farklı bir mesaj yazdırıyorum.

expr : ID { $$ = some_conversion_code($1); } 

http://www.gnu.org/s/bison/manual/bison.html#Token-Decl

+0

@VGCE, bu yüzden uyarıyı düzeltmek için ne yapmalı? Eylemde neler olmalı? – Har

0

Kullanım birliği tanımını Lex adresinin verilen belirteçleri yazmak için:

foo.by:10.12:warning: type clash on default action : <tptr> != <val> 

Eğer belirgin bir işlem ihtiyaç bu uyarıyı gidermek için.