Tehnici de Comp

download Tehnici de Comp

of 5

Transcript of Tehnici de Comp

  • 7/25/2019 Tehnici de Comp

    1/5

    tema 1

    pr 1

    %{static int nr=0;

    %}

    %%

    (0|1)*01 {printf("cuvant acceptat: %s\n",yytext); nr++;}

    [ \t\n]+ ;

    . ;

    \n ;

    %%

    void main(){

    yylex();

    printf("nr de cuv acceptate: %d\n",nr);

    }

    pr 2

    %{

    static int nr=0;

    %}

    %%

    1*01* {printf("cuvant acceptat: %s\n",yytext); nr++;}

    [ \t\n]+ ;

    . ;

    \n ;

    %%

    void main()

    {

    yylex();

    printf("nr de cuv acceptate: %d\n",nr);

  • 7/25/2019 Tehnici de Comp

    2/5

    }

    pr 3

    %{

    static int nr=0;

    %}

    %%

    (11)* {printf("cuvant acceptat: %s\n",yytext); nr++;}

    [ \t\n]+ ;

    . ;

    \n ;%%

    void main()

    {

    yylex();

    printf("nr de cuv acceptate: %d\n",nr);

    }

    pr 4

    %{

    static int nr=0;

    %}

    %%

    0*(10|01|11)*0* {printf("cuvant acceptat: %s\n",yytext); nr++;}

    [ \t\n]+ ;

    . ;

    \n ;

    %%

    void main()

    {

    yylex();

    printf("nr de cuv acceptate: %d\n",nr);

    }

  • 7/25/2019 Tehnici de Comp

    3/5

    pr 5

    %{static int nr=0;

    %}

    %%

    (0|1)*01(0|1)* {printf("%s este un cuvant care contine substringul 01. \n",yytext);}

    [ \t\n]+ ;

    . ;

    \n ;

    %%

    void main(){

    yylex();

    printf("nr de cuv acceptate: %d\n",nr);

    }

    pr 6

    %{static int nr=0;

    %}

    %%

    1*0* {printf("cuvant acceptat: %s\n",yytext); nr++;}

    [ \t\n]+ ;

    . ;

    \n ;

    %%

    void main()

    {

    yylex();

    printf("nr de cuv acceptate: %d\n",nr);

    }

  • 7/25/2019 Tehnici de Comp

    4/5

    sau

    %{

    static int nr=0;%}

    %%

    (0|1)*01(0|1)* ;

    [ \t\n]+ {printf("%s este un cuvant care contine substringul 01. \n",yytext);}

    . ;

    \n ;

    %%

    void main()

    {yylex();

    printf("nr de cuv acceptate: %d\n",nr);

    }

    tema 2

    pr 1

    %{

    static FILE *f;

    %}

    %%[ \t]+ fprintf(f," ");

    [\n]+ fprintf(f,"\n");

    [\b\t\n] fprintf(f,yytext);

    %%

    void main()

    {

  • 7/25/2019 Tehnici de Comp

    5/5

    f=fopen("FISIER OUT CALE","w");

    yylex();

    fclose(f);

    }

    pr 2

    %{

    static FILE *f;

    %}

    %%[0-9]+ fprintf(f,"numar intreg \n");

    [0-9]+(\.[0-9]+)? fprintf(f,"numar real \n");

    [a-zA-Z][a-zA-Z0-9]* fprintf(f,"identificator \n");

    %%

    void main()

    {

    f=fopen("FISIER OUT CALE","w");

    yylex();

    fclose(f);}