/*Write a Lex specification program that generates a C program which takes a string “abcd” and prints the following output. abcd abc ab a
*/
%{ #include<stdio.h> char ch; char i,j; %} %% [a-z]* { for(i='d';i>=1;--i) { for(j='a';j<=i;++j) { printf("%c ",j); } printf("\n"); } } %% int main() { yylex(); return 0; }
//Output of the above program
Lex specification program that generates a C program which takes a string “abcd” and prints the pattern |
Thanks for uploading all the practicals of System Programming
ReplyDeleteThe appropriate code for this practical question is below :
%{
int i,j;
%}
%%
[a-z]* { printf("\n");
for(i=0; i<yyleng;i++ )
{
for(j=0;j<yyleng-i;j++)
{
printf("%c",yytext[j]);
}
printf("\n");
}
}
%%
/* This program will run for all small alphabets */