what you give them. Help stamp out software-hoarding!
-------------------------------------------------------------------------*/
+B [0-1]
D [0-9]
L [a-zA-Z_$]
H [a-fA-F0-9]
count();
return(check_type());
}
+0[bB]{B}+{IS}? {
+ if (!options.std_sdcc)
+ {
+ yyerror("binary (0b) constants are not allowed in ISO C");
+ }
+ count();
+ yylval.val = constVal(yytext);
+ return(CONSTANT);
+}
0[xX]{H}+{IS}? { count(); yylval.val = constVal(yytext); return(CONSTANT); }
0[0-7]*{IS}? { count(); yylval.val = constVal(yytext); return(CONSTANT); }
[1-9]{D}*{IS}? { count(); yylval.val = constVal(yytext); return(CONSTANT); }
/* check if it is in the table as a typedef */
if (!ignoreTypedefType && sym && IS_SPEC (sym->etype)
- && SPEC_TYPEDEF (sym->etype))
+ && SPEC_TYPEDEF (sym->etype) && findSym(TypedefTab, NULL, yytext))
return (TYPE_NAME);
else
return(IDENTIFIER);
dbuf_destroy(&linebuf);
}
else
- unput(ch);
- break;
+ {
+ unput(ch);
+ goto out;
+ }
default:
count_char(ch);