我遇到問題。flex中的數據類型問題
我正在寫使用Flex程序,我使用此代碼:
%union {
int entero;
char *cadena;
TipoDato tipo;
}
此代碼是我的數據類型。
我想評估下一行:expresion SUM expresion其中SUM是操作總和評估,例如69 + 60
當我寫這篇文章
if (($1.tipo == ENT) && ($3.tipo == ENT)){
$$.tipo = ENT;
} else if (($1.tipo == CADEN) && ($3.tipo == CADEN)) {
$$.tipo = CADEN;
} else {
printf ("Error en la suma: Tipos de datos incompatibles Revise los tipos\n");
yyerror(parser);
}
我有一個錯誤
../src/buggy.y:350.37-38:$ 1日`expresion '沒有tiene TIPO declarado
../src/buggy.y:351.28-29:$ 1日`expresion' 沒有tiene TIPO declarad Ø
buggy.tab.c:在功能 'yyparse':
buggy.tab.c:1646:警告:函數 '函數yylex' 的隱式聲明
../src/buggy.y :在頂層:
lex.yy.c中:1577:警告: 'yyunput' 定義但未使用
lex.yy.c中:1618:**警告: '輸入' 定義但未使用
Leyend o fichero'../docs/prog1.bgy'。
什麼問題?
謝謝!
再見!
flex有特殊說明以避免未使用的定義: '%option noinput' '%option nounput' – jmster 2011-03-22 17:07:02