Saturday, December 4, 2010

Recognition of function call

LEX PROGRAM


%{

%}
%%
.|\n { ECHO; }
%%
int yywrap()
{
return 1;
}
int main()
{
yylex();
}
YACC PROGRAM
%token func NUMBER
%{
%}
%%
line:line call { printf("\nACCEPTED..\n"); }
|error { printf("\nINVALID...\n"); }
;
call:func'('arg')'';'
;
arg:NUMBER','NUMBER
|NUMBER
|func
|
;
%%
#include "lex.yy.c"
#include
void yyerror(char *s)
{
fprintf(stderr,"\n%s...\n",s);
}
int main()
{
yyparse();
exit(50);
}

No comments:

Post a Comment