Upload
nemanja-dokic
View
219
Download
0
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