; ** p12.stax ************************************************ ; STAX program to accept the language { 0^i1^j2^k | i,j,k>=0 and i=j or i=k } ; ; John Haskins, Jr. ; l'Universite de Virginie (University of Virginia) ; predator@cs.virginia.edu ; ----------------------------------------------------------- .input_alphabet "012" .stack_alphabet "a" qinit0: accept $, -, nop, qdone -, -, push[0]:$, qinit1 qinit1: deny -, -, nop, q0 -, -, nop, q3 -, -, nop, q4 q0: deny '0', -, push[0]:'a', q0 '0', -, push[0]:'a', q1a '0', -, push[0]:'a', q2 q1a: deny '1', 'a'[0], pop[0], q1a '1', 'a'[0], pop[0], q1b q1b: deny '2', $[0], nop, q1b $, $[0], nop, qdone q2: deny '1', 'a'[0], nop, q2 '2', 'a'[0], pop[0], q2 $, $[0], nop, qdone q3: deny '1', $[0], nop, q3 $, $[0], nop, qdone q4: deny '2', $[0], nop, q4 $, $[0], nop, qdone qdone: accept halt