W
ykªad
3.
Analiza
leksyk
alna
i
generatory
analizatoró
w
leksyk
aln
y
h
1.
(3p.)
Dla
nastpuj¡ ego
fragmen
tu
pliku
ini:
[info℄
drivername=ContentIndex
symbolfile=perf i.h
[languages℄
009=English
015=Polish
[obje ts℄
CIOBJECT_009_NAME=Indexing
Servi e
CIOBJECT_015_NAME=Usªuga
indeksowania
p
o
da
j:
•
jak
b
y±
go
p
o
dzieliª
na
leksem
y
,
•
jakie
»eton
y
b
y±
wy
o
drbniª
•
jakie
atrybut
y
b
d¡
to
w
arzyszy¢
leksemom.
eton
y
mog¡
b
y¢
ró»nie
nazw
ane,
ale
generalnie
p
o
winn
y
p
o
ja
wi¢
si
ztery
»eton
y
i
nastpuj¡ y
p
o
dziaª
na
leksem
y:
Leksem
eton
A
trybut
[info℄
sek
ja
info
driv
ername
iden
t
yk
ator
driv
ername
=
ró
wno±¢
Con
ten
tIndex
w
arto±¢
Con
ten
tIndex
sym
b
olle
iden
t
yk
ator
sym
b
olle
=
ró
wno±¢
p
erf i.h
w
arto±¢
p
erf i.h
[languages℄
sek
ja
languages
009
iden
t
yk
ator
009
=
ró
wno±¢
English
w
arto±¢
English
015
iden
t
yk
ator
015
=
ró
wno±¢
P
olish
w
arto±¢
P
olish
[ob
je ts℄
sek
ja
ob
je ts
CIOBJECT_009_NAME
iden
t
yk
ator
CIOBJECT_009_NAME
=
ró
wno±¢
Indexing
Servi e
w
arto±¢
Indexing
Servi e
CIOBJECT_015_NAME
iden
t
yk
ator
CIOBJECT_015_NAME
=
ró
wno±¢
Usªuga
indekso
w
ania
w
arto±¢
Usªuga
indekso
w
ania
2.
(7p.)
Napisz
sp
e yk
a j
sk
anera,
który
zamienia
pierwsz¡
liter
w
k
a»dym
zdaniu
na
wielk
¡,
a
p
ozostaªe
na
maªe.
Zdanie,
to
do
w
oln
y
i¡
g
znak
ó
w
zak
o« zon
y
kropk
¡.
Inne
znaki
ni»
litery
p
o
winn
y
b
y¢
wypisyw
ane
b
ez
zmian.
Rozwi¡zanie
mo»e
wygl¡da¢
np.
tak:
4
%{
#in lude
<stdio.h>
#in lude
< type.h>
int
i;
%}
senten e
[a-zA-Z℄[^.℄*"."
%%
{senten e}
{
yytext[0℄
=
toupper
(yytext[0℄);
for
(i=1;
i<yyleng;
i++)
yytext[i℄=tolower(yytext [i℄) ;
printf(yytext);
}
%%
int
main()
{
yylex();
return
0;
}
W
sta
wk
a
w
k
o
dzie
zamienia
j¡ a
litery
o
dp
o
wiednio
na
wielkie
i
maªe
mo»e
wygl¡da¢
rozmai ie.
5