Løsningsforslg til ukeoppgver i INF3/4 Uke 42 (5-723) Oppgve Jernbnedigrm: FlotingPointLiterl Digits Digits xponentprt xponentprt Digits Digits Digit xponentprt Digit xponentprt Digits + -
2 Omskriving til regulær grmmtikk Én måte å omskrive definisjonen ser slik ut: fpl fpl fpl fpl2 fpl fpl fpl fpl3 ep fpl2 fpl3 fpl3 fpl3 fpl3 fpl3 ep ep ep ep2 ep + ep2 - ep2 ep2 digits digits digits digits Tnken bk metsymbolene er: fpl er FlotingPointLiterl fpl er og 3 lterntiv v fpl etter t vi hr lest minst ett siffer fpl2 er 2 lterntiv v fpl etter t vi hr lest punktumet fpl3 er situsjonen for lle lterntivene v fpl etter t punktum er lest ep er xponentprt ep er situsjonen etter t i ep er lest ep2 er etter t og eventuelt fortegn i ep er lest 3 Fr jernbnedigrm til ikke-deterministisk utomt Én mulig ID-utomt er vist Figur Den er lget nesten «rett frem», men for t ikke utomten skulle bli for stor, er det ikke lget flere kopier v xponentprt (Strttilstnden er her merket B ) B + - Figur : n ID-utomt for FlotingPointLiterl 2
+ - Figur 2: n D-utomt for FlotingPointLiterl 3
B + - Figur 3: n ren-tegnet D-utomt for FlotingPointLiterl 4
4 Tilsvrende deterministisk utomt Den deterministiske utgven v ID-utomten i Figur er vist i Figur 2 Denne figuren viser utomten tegnet slik det er gjort i kompendiet tter «rentegning» ser den ut som vist i Figur 3 5 Fr bnf-grmmtikk til ikke-deterministisk utomt Den nturlige utomten ut fr grmmtikken fr punkt 2 er vist i Figur 4 B,fpl fpl ep ep fpl2,fpl3 + - ep2 digits Figur 4: n ID-utomt for fpl 6 Tilsvrende deterministisk utomt Den deterministiske utgven v ID-utomten i Figur 4 er vist i Figur 5 Tilstndstbell Tbellen for utomten i Figur 5 er vist i Tbell Tilstnd + - =FPL 3 3 2 F F F 2=FPL2 4 4 F F F F 3 = FPL, P 3 3 4 F F 5 4 = FPL3, P 4 4 F F F 5 JA 5 = P, DIGITS, P2 6 6 F 7 7 F 6 = DIGITS 6 6 F F F F JA 7 = P2, DIGITS 6 6 F F F F F(= FIL ) F F F F F F Tbell : Tilstndstbell for fpl 5
- + Figur 5: n D-utomt for fpl 7 Smmenligning Automten i Figur 3 inneholder en tilstnd mer enn utomten i Figur 5 Vi ser imidlertid t tilstnden øverst til høyre i Figur 3 kn slås smmen med tilstnden under, d begge hr helt like utknter (smme symbol til smme node) og begge er slutttilstnder tter å h gjort en slik smmenslåing vil vi d h smme utomt som i Figur 3 n deterministisk utomt hvor lle mulige smmenslåinger er gjort, klles miniml thvert regulært språk hr en entydig miniml D-utomt Oppgve 2 Setningene er vilkårlige sekvenser v ere og ere, men slik t sekvensen minst er tre tegn lng og slik t det nest siste tegnet i sekvensen er 2 To mulige ID-utomter er: ID utomt nr : ID utomt nr 2:,,,,,, 3 Med utgngspunkt i ID-utomt nr får vi følgende D-utomt: Strt, (T) (T2) (T3) Slutt (T4) Slutt (T5) 6
4 Her er en regulær grmmtikk som beskriver språket: A B B B B B C C Oppgve 3 n vledning v setningen 3333555555: S A B 3 A 3 B 33 A 33 B 3 333 B 33335 B 5 333355 B 55 3333555 B 555 3333555555 2 Setningene i dette språket er strenger som begynner et like ntll 3 ere og som slutter med et like ntll 5 ere Oppgve 4 bb: JA (B,, 2, 3, ) 2 bbbb: NI 3 bb: JA (B, 4, 5, 5, 5, ) 4 bb: JA (B,, 2, 3, 3, ) 5 bbb: NI 6 bbb: JA:(B,,2,,2,3,3,) 7
Oppgve 5 I denne utomten er de to tilstndene lengst til høyre sluttilstnder; tilstnden lengst til venstre er strttilstnden b b I denne utomten er lle tilstndene sluttilstnder; tilstnden lengst til venstre er strttilstnden b 8
Oppgve 6 (kn puffes til neste uke) To eksempler: Setningen begin end hr syntkstreet: PROGRAM DKL- SKV STN- SKV begin end Setningen begin dekl ; dekl ; if end hr syntkstreet: PROGRAM DKL- SKV STN- SKV DKL- SKV DKL STN- SKV DKL- SKV DKL STN begin dekl ; dekl ; if end 2 Deklsekv og Setnsekv er de eneste som kn produsere den tomme setning 3 Strtmengder: Metsymbol Progrm Deklsekv Setnsekv Setnsekv Dekl Setn Strtmengde begin dekl put if while put if while dekl put if while 9