HUE
1)
input: '[abb'
blank: '_'
start state: q_s
table:
q_s:
a: {R: q_s}
b: {write: a, R: q_1}
_: {R: b_a}
'[': R
q_1:
a: {R: b_1}
b: {R: q_1}
_: {R: b_a}
'[': R
q_a:
a: {R: b_a}
b: {R: b_a}
'[': {R: b_a}
_: {R: b_a}
q_r:
a: {R: b_r}
b: {R: b_r}
'[': {R: b_r}
_: {R: b_r}
b_a:
a: {L: q_a}
b: {L: q_a}
'[': {L: q_a}
_: {L: q_a}
b_1:
a: {L: q_1}
b: {L: q_1}
'[': {L: q_1}
_: {L: q_1}
b_r:
a: {L: q_r}
b: {L: q_r}
'[': {L: q_r}
_: {L: q_r}
a)
b)
Alle wo erst as und dann bs kommen. Dabie wird das erste b zu einem b.
2)
input: 'abaa'
blank: '_'
start state: q_s
table:
q_s:
a: {write: _, R: find_a}
b: {write: _, R: find_b}
_: {R: accept}
find_a:
a: R
b: R
_: {L: check_a}
check_a:
a: {write: _, L: go_start}
b: {R: fail}
_: {R: accept}
find_b:
a: R
b: R
_: {L: check_b}
check_b:
a: {R: fail}
b: {write: _, L: go_start}
_: {R: accept}
go_start:
a: L
b: L
_: {R: q_s}
fail:
accept:
PUE:
input: 'abbbaa'
blank: '_'
start state: start
table:
start:
a: {write: a, L: add_start}
b: {write: b, L: add_start}
_: {write: _, R: accept}
add_start:
_: {write: '[', R: add_end}
add_end:
'[': R
a: R
b: R
_: {write: ']', R: back}
back:
'[': {R: f_any}
a: L
b: L
_: L
']': L
f_any:
'[': R
_: R
a: {write: _, R: f_b}
b: {write: _, R: f_a}
']': {write: ']', R: remove_a}
f_a:
'[': R
_: R
b: R
a: {write: _, R: back}
']': {write: ']', R: fail}
f_b:
'[': R
_: R
a: R
b: {write: _, R: back}
']': {write: ']', R: fail}
remove_a:
']': {write: _, L}
_: L
'[': {write: _, L: accept}
accept:
fail: