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: