43 lines
544 B
Plaintext
43 lines
544 B
Plaintext
|
|
%{
|
|
#include <stdio.h>
|
|
|
|
extern FILE * yyin;
|
|
|
|
void yyerror(const char * str)
|
|
{
|
|
fprintf(stderr, "error: %s\n", str);
|
|
}
|
|
|
|
int yywrap()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int main(int argc, char * argv[])
|
|
{
|
|
if (argc > 0)
|
|
{
|
|
yyin = fopen(argv[1], "r");
|
|
}
|
|
yyparse();
|
|
}
|
|
|
|
%}
|
|
|
|
%token BIN_NUMBER OCT_NUMBER DEC_NUMBER HEX_NUMBER
|
|
|
|
%%
|
|
|
|
program: /* empty */
|
|
| number program { printf("Saw a number\n"); }
|
|
|
|
number: BIN_NUMBER
|
|
| OCT_NUMBER
|
|
| DEC_NUMBER
|
|
| HEX_NUMBER
|
|
{
|
|
printf("Saw a number\n");
|
|
}
|
|
;
|