Uvod u teoriju raunarstva http www fer unizg

  • Slides: 44
Download presentation
Uvod u teoriju računarstva http: //www. fer. unizg. hr/predmet/utrz/ Zadaci za vježbu Priprema za

Uvod u teoriju računarstva http: //www. fer. unizg. hr/predmet/utrz/ Zadaci za vježbu Priprema za međuispit Fakultet elektrotehnike i računarstva Sveučilište u Zagrebu 1 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 16 • Izbaciti sve beskorisne znakove iz zadane gramatike. S b. Ab.

Zadatak br. 16 • Izbaciti sve beskorisne znakove iz zadane gramatike. S b. Ab. E B DC D c. DAa. B S a. ABc B ad D b. Da. E A be. A C e. A E ed A C E ac Postupak izbacivanja beskorisnih znakova: a) Izbacivanje mrtvih znakova b) Izbacivanje nedohvatljivih znakova 2 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 16 a) Izbacivanje mrtvih znakova S b. Ab. E B DC D

Zadatak br. 16 a) Izbacivanje mrtvih znakova S b. Ab. E B DC D c. DAa. B S a. ABc B ad D b. Da. E A be. A C e. A E ed A C E ac Lista živih znakova: { a, b, c, d, e, E, C, B, A, S } a) U listu živih znakova stavljamo završne znakove b) Ako su s desne strane neke produkcije isključivo živi znakovi, u listu živih znakova stavljamo nezavršni znak s lijeve strane produkcije c) Ponavljamo korak b) dok se lista živih znakova mijenja Lista mrtvih znakova: { D } Izbacujemo produkcije koje sadrže mrtve znakove. 3 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 16 b) Izbacivanje nedohvatljivih znakova S b. Ab. E A C S

Zadatak br. 16 b) Izbacivanje nedohvatljivih znakova S b. Ab. E A C S a. ABc B ad E ed A be. A C e. A E ac Lista dohvatljivih znakova: { S, a, b, c, A, B, E, d, e } a) U listu dohvatljivih znakova stavljamo početni nezavršni znak b) Ako je s lijeve strane produkcije dohvatljivi znak, u listu dohvatljivih znakova stavljamo znakove s desne strane produkcije c) Ponavljamo korak b) dok se lista dohvatljivih znakova mijenja Lista nedohvatljivih znakova: { C } Izbacujemo produkcije koje sadrže nedohvatljive znakove. 4 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 16 • Da su se prvo tražili dohvatljivi znakovi onda bi bilo:

Zadatak br. 16 • Da su se prvo tražili dohvatljivi znakovi onda bi bilo: S b. Ab. E B DC D c. DAa. B S a. ABc B ad D b. Da. E A be. A C e. A E ed A C E ac Lista dohvatljivih znakova: { S, b, A, E, a, B, c, e, D, C, d } Nema nedohvatljivih znakova Lista živih znakova: { E, C, B, A, S } D je mrtav znak Nije točno jer u gramatici ostaje znak C koji je nedohvatljiv! 5 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 17 • Iz zadane gramatike izbaciti jedinične i produkcije. S x. ABz

Zadatak br. 17 • Iz zadane gramatike izbaciti jedinične i produkcije. S x. ABz A zy. A A BC B w. C C zx. C D y. B B C D D Iterativno izbacujemo jedinične pa produkcije, budući da se izbacivanjem produkcija mogu pojaviti nove jedinične produkcije. 6 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 17 a) Izbacivanje jediničnih produkcija. S x. ABz A zy. A A

Zadatak br. 17 a) Izbacivanje jediničnih produkcija. S x. ABz A zy. A A BC B w. C C zx. C D y. B C y. B B C D D C Izbacujemo produkciju: C D Supstitucija nezavršnog znaka D desnim stranama svih produkcija u kojima je s lijeve strane nezavršni znak D Nezavršni znak D je postao nedohvatljiv pa ga je moguće izbaciti iz gramatike radi jednostavnosti 7 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 17 b) Izbacivanje produkcija. S x. ABz A zy. A A BC

Zadatak br. 17 b) Izbacivanje produkcija. S x. ABz A zy. A A BC S x. ABz A zy. A S x. Az A zy S x. Bz A BC S xz B w. C C zx. C C B B w. C B w C y. B C zx. C C zx C y. B C y A B A C Izbacujemo produkcije: B , C , A BC Prazni znakovi: { B, C, A } Svaku produkciju koja sadrži n praznih znakova zamijenjujemo sa 2 n novih produkcija. 8 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 17 • Izbacivanje jediničnih produkcija. S x. ABz S x. Az S

Zadatak br. 17 • Izbacivanje jediničnih produkcija. S x. ABz S x. Az S x. Bz A zy. A A zy A BC S xz A B A C B w C zx. C C zx C y. B C y A w. C A w A zx. C A zx A y. B A y Izbacujemo produkcije: A B, A C Supstitucija nezavršnog znaka B desnim stranama svih produkcija u kojima je s lijeve strane nezavršni znak B Supstitucija nezavršnog znaka C desnim stranama svih produkcija u kojima je s lijeve strane nezavršni znak C 9 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 • Zadanu gramatiku pretvoriti u Chomskyev oblik. S 0 S 1

Zadatak br. 18 • Zadanu gramatiku pretvoriti u Chomskyev oblik. S 0 S 1 A 1 B 0 B 1 BA C B 0 S 0 SBS A SB B SA C A S 1 C 0 B 1 C A 0 Chomskyev oblik produkcija: A BC i A d Postupak pretvorbe u Chomskyev oblik: a) Izbacivanje jediničnih i produkcija b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove c) Produkcije koje s desne strane imaju više od dva znaka razbijaju se u podprodukcije 10 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 a) Izbacivanje jediničnih i produkcija. S 0 S 1 A 1

Zadatak br. 18 a) Izbacivanje jediničnih i produkcija. S 0 S 1 A 1 B 0 B 1 BA C B 0 S 0 SBS A SB B SA C A S 1 C 0 B 1 C A 0 Izbacuju se produkcije: C A i C S 0 S 1 B 1 BA C B 0 S 0 SBS A SB B SA C 1 B 0 S 1 C 0 B 1 C SB S 10 11 od 44 A 1 B 0 A 0 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S 0 S 1 B 1 BA C B 0 N 0 S 0 SBS A SB B SA C 1 B 0 J 1 S 1 C 0 B 1 C SB S 10 A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 12 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S 0 S 1 B 1 BA C B 0 N 0 S 0 SBS A SB B SA C 1 B 0 J 1 S 1 C 0 B 1 C SB S 10 A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 13 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S 0 S 1 B 1 BA C B 0 N 0 S 0 SBS A SB B SA C 1 B 0 J 1 S 1 C 0 B 1 C SB S 10 A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 14 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S 0 SBS A SB B SA C 1 B 0 J 1 S 1 C 0 B 1 C SB S 10 A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 15 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S 0 SBS A SB B SA C 1 B 0 J 1 S 1 C 0 B 1 C SB S 10 A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 16 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S 1 C 0 B 1 C SB S 10 A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 17 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S 1 C 0 B 1 C SB S 10 A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 18 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S 10 A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 19 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S 10 A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 20 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 21 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A 1 B 0 A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 22 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 23 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 24 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 25 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B 1 BA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 26 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 27 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 28 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 29 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C B 0 N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 30 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C BN N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 31 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C BN N 0 S NSBS A SB B SA C 1 B 0 J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 32 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C BN N 0 S NSBS A SB B SA C JBN J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 33 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C BN N 0 S NSBS A SB B SA C JBN J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 34 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C BN N 0 S NSBS A SB B SA C JBN J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 35 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C BN N 0 S NSBS A SB B SA C JBN J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 36 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C BN N 0 S NSBS A SB B SA C JBN J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 37 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više

Zadatak br. 18 b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove S NSJ B JBA C BN N 0 S NSBS A SB B SA C JBN J 1 S JCN B 1 C SB S JN A JBN A 0 C 0 Završni znak “ 0” zamjenjuje se nezavršnim znakom N. Završni znak “ 1” zamjenjuje se nezavršnim znakom J. 38 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 18 c) Produkcije koje s desne strane imaju više od dva znaka

Zadatak br. 18 c) Produkcije koje s desne strane imaju više od dva znaka razbijaju se u podprodukcije S NSJ B JBA C BN N 0 S NSBS A SB B SA C JBN J 1 S JCN A 0 B 1 C SB C 0 A JD 5 BN B JD 6 BA S JN S ND 1 SJ S ND 2 SD 3 A JBN C JD 5 D 3 BS S JD 4 CN 39 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 19 • Pokazati nejednoznačnost zadane gramatike. 1) S a. Sb. S 2)

Zadatak br. 19 • Pokazati nejednoznačnost zadane gramatike. 1) S a. Sb. S 2) S b. Sa. S 3) S Nejednoznačnost se pokazuje generiranjem niza abab na dva ili više načina zamjenom krajne lijevog (desnog) nezavršnog znaka Prvi način generiranja niza: 1 S a. Sb. S 3 1 3 ab. S aba. Sb. S abab. S 3 abab Drugi način generiranja niza: 1 S a. Sb. S 40 od 44 2 3 3 3 ab. Sa. Sb. S abab Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 20 • Za zadanu gramatiku napisan je LR parser. Pomoću LR parsera

Zadatak br. 20 • Za zadanu gramatiku napisan je LR parser. Pomoću LR parsera parsirati ulazni niz aabb. A BA (1) B a. B (3) A (2) B b (4) STOG ULAZ 0 aabb 0 a 4 a 4 b 5 0 a 4 a 4 B 6 0 a 4 a 4__ 0 a 4____ 0 a 4 B 6 abb bb b 0 B 2 b 0 B 2 b 5 0 B 2 B 2 A 3 0 B 2 A 3 0 A 1 prihvati 41 od 44 • • • 0 a b A B s 4 s 5 r 2 1 2 3 2 1 2 prihvati s 4 s 5 3 r 2 r 1 4 s 5 5 r 4 6 r 3 6 r 4 Konfiguracija LR parsera prikazuje se stanjem na stogu i nepročitanim dijelom ulaznog niza Parser je LR jer se niz čita s lijeva na desno, a generiranje niza se vrši zamjenom krajnje desnog nezavršnog znaka: A→BA→BB→Bb→aabb Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 21 • Konstruirati gramatiku koja generira nizove oblika aibjckdjei pri čemu su

Zadatak br. 21 • Konstruirati gramatiku koja generira nizove oblika aibjckdjei pri čemu su i, j, k 1. • • Simetrični nizovi Tip gramatike = ? Kontekstno-neovisna gramatika Produkcije gramatike istovremeno generiraju • aie • bid S a. Ae 42 od 44 ai bj ck dj ei A a. Ae B b. Bd C c. C A b. Bd B c. C C Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 22 • Konstruirati potisni automat koji prihvaća jezik L={ww. R | w

Zadatak br. 22 • Konstruirati potisni automat koji prihvaća jezik L={ww. R | w (0+1)*}. • • M=({q 0, q 1}, {0, 1}, {P, N, J}, , q 0, P, ) • q 0 pamti ulazne znakove • N i J kodiraju 0 i 1 • q 1 skida znakove sa stoga Potisni automat prihvaća praznim stogom Potisni automat prihvaća prazni niz Nije deterministički! • Nederministički prijelaz se primjenjuje kada se uzastopce ponovi isti ulazni znak (q 0, 0, P)=(q 0, NP) (q 0, 0, N)={(q 0, NN), (q 1, )} (q 1, 0, N)=(q 1, ) (q 0, 1, P)=(q 0, JP) (q 0, 1, J)={(q 0, JJ), (q 1, )} (q 1, 1, J)=(q 1, ) (q 0, 1, N)=(q 0, JN) (q 1, , P)=(q 1, ) (q 0, 0, J)=(q 0, NJ) (q 0, , P)=(q 0, ) 43 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Nastavak zad. 22 (q 0, 001100, P) (10) (1) (q 0, 01100, NP) (5)

Nastavak zad. 22 (q 0, 001100, P) (10) (1) (q 0, 01100, NP) (5) (q 0, 1100, NNP) (3) (q 0, 100, JNNP) (1) (q 0, 0, P)=(q 0, NP) (q 1, 001100, e) (2) (q 0, 1, P)=(q 0, JP) (3) (q 0, 1, N)=(q 0, JN) (q 1, 1100, P) (9) (4) (q 0, 0, J)=(q 0, NJ) (5) (q 0, 0, N)={(q 0, NN), (q 1, )} (q 1, 1100, e) (6) (q 0, 1, J)={(q 0, JJ), (q 1, )} (6) (q 0, 00, JJNNP) (q 1, 00, NNP) (4) (q 0, 0, NJJNNP) (q 1, 0, NP) (5) (q 0, e, NNJJNNP) (7) (q 1, 0, N)=(q 1, ) (7) (q 1, e, JJNNP) (8) (q 1, 1, J)=(q 1, ) (7) (q 1, e, P) (9) (q 1, , P)=(q 1, ) (10) (q 0, , P)=(q 0, ) (q 1, e, e) Prihvati niz 44 od 44 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva