%{
#include <stdio.h>
#include <string.h>
int addr = 1000;
char dtype[10];
%}
%%
(int
|float|char
) { strcpy
(dtype
, yytext
); } [a-zA-Z_][a-zA-Z0-9_]* { printf("%s\t%s\t%d\n", yytext, dtype, addr); addr += 4; }
[=,;0-9 \t\n]+ ;
%%
int main() {
printf("Enter declaration: ");
yylex();
return 0;
}
int yywrap(){ return 1; }
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KaW50IGFkZHIgPSAxMDAwOwpjaGFyIGR0eXBlWzEwXTsKJX0KCiUlCihpbnR8ZmxvYXR8Y2hhcikgICAgICAgIHsgc3RyY3B5KGR0eXBlLCB5eXRleHQpOyB9ClthLXpBLVpfXVthLXpBLVowLTlfXSogIHsgcHJpbnRmKCIlc1x0JXNcdCVkXG4iLCB5eXRleHQsIGR0eXBlLCBhZGRyKTsgYWRkciArPSA0OyB9Cls9LDswLTkgXHRcbl0rICAgICAgICAgIDsKJSUKaW50IG1haW4oKSB7CiAgcHJpbnRmKCJFbnRlciBkZWNsYXJhdGlvbjogIik7CiAgeXlsZXgoKTsKICByZXR1cm4gMDsKfQppbnQgeXl3cmFwKCl7IHJldHVybiAxOyB9Cgo=