TeOR Rokovi

Embed Size (px)

Citation preview

  • 7/26/2019 TeOR Rokovi

    1/2

    Ime i prezime

    Izlazni kolokvijum iz predmeta Teoretske osnove raunarstva 16.07.2010.

    A. Za zadani ulaz, pronai izlaz sljedeih lex programa (NAPOMENA:znak oznaava newlinekarakter i ne ispisuje se!)

    %{

    #include

    %}

    %s expect

    %%

    expect-floats BEGIN(expect);

    [0-9]+"."[0-9]+ {

    printf( "dec, = %f\n",

    atof( yytext ) );

    }

    \n {BEGIN(INITIAL);}

    [0-9]+ {printf( "int, = %d\n",

    atoi( yytext ) );

    }

    "." printf( "tacka\n" );

    ulaz:

    1.

    expect-floats 2.3 1 4.5

    2

    2.45

    %%

    dan.* {ECHO; yymore();}

    danas {ECHO; REJECT;}ulaz:

    Dan danas je

    petak i radimo

    danima test

    word [A-Za-z]{2,8}

    %%

    cat|lucky|feel {printf("en word %s", yytext);}

    {word} { printf("other -> %s\n", yytext); yyless(1);}

    ulaz:

    java cat

    lucky

    ocat feel

    smt [0-9]+

    %%

    {smt} {printf("found - %x", atoi(yytext));}

    smt {printf(""); unput(0);}

    ulaz:

    26

    smt 35

    hex 11a

  • 7/26/2019 TeOR Rokovi

    2/2

    Ime i prezime

    Izlazni kolokvijum iz predmeta Teoretske osnove raunarstva 16.07.2010.

    %{

    #include

    int citatbr =1;

    %}

    citat ^\"[A-Z][a-zA-Z0-9,]+[.?!]\"$

    %%

    {citat} {printf("%d %s", citatbr+2, yytext); }

    %%

    int main()

    {

    printf("CitatI\n");

    yylex();

    }

    ulaz:

    "Danas je TeOR".

    "Java!" - samo san.

    B. Za zadane linije na ulazu pronai svapoklapanja za sljedee POSIXregularne izraze (ispisati samo match, ne cijelu liniju!)

    [a-f]?[24-70]+[:-]?

    ulaz:

    a2:di

    bf69

    334

    278

    ca4

    www[.][a-z]+[a-z0-9]+(\.de|\.ru)

    ulaz:

    www.34xss.ru

    www.demol34.de

    www.de333.ba

    www.w3cxss.ru

    \b[01]{6,8}\b

    ulaz:

    10111111111018

    101010

    18010101

    00011101

    [6-9]+[.][0-9]{2}

    ulaz:

    45

    6.11

    96.2

    78.3332

    \.[^.\\/:*?"|\r\n]+$

    ulaz:

    iz .java kompajliranjem

    nastaje .class,

    a ne .*class

    .di?.com