2.priklad - zasobnikovy automat pre jazyk zatvorkovych vyrazov (hranate zatvorky, medzi zatv. vyrazy patria aj alfa, beta, alfa krat beta - take daco)
Pokus o riesenie:
vstupna abeceda: {a,b,+,*,[,]}
abeceda zasobnika: {V,Z,[,O}
Program:
(q0,a,Z,qo,VZ) - Nacitanie prveho symbola do zasobnika
(q0,b,Z,qo,VZ) - -||-
(q0,[,Z,qo,[Z) - -||-
(q0,a,[,q0,V[) - Nacitanie symbolu za zatvorkou do zasobnika
(q0,b,[,q0,V[) - -||-
(q0,[,[,q0,[[) - -||-
(q0,*,V,q0,O) - Vyraz* - ocakava hruhy operand
(q0,+,V,q0,O) - vyraz +
(q0,a,O,q0,V) - vyraz operator vyraz >> vyraz
(q0,b,O,q0,V) - -||-
(q0,[,O,q0,[O) - vyraz operator [vyraz]
(q0,],V[,q0,V) - [vyraz] >> vyraz
(q0,],V[O,q0,V) - vyraz operator [vyraz] >> vyraz
(q0,lambda,VZ,qF,Z) - ak cely retazec je jeden vyraz >> finalny stav
Co vy na to? zabudol som na nieco?
(EDIT: uz som nasiel podobny priklad v zbierke a tam to uplne inak riesia kua:-()