#
# This is a *.fa (i.e. finite automata) definition file
# which follows the yaml.org data format.
# The ~ character is used to refer to the empty string.
# The automata below is non-deterministic, since both
# ~ and lists of symbols are used in the transition table.
#
start: s
accept: [ q0, r0 ]
transitions :
  #   state x alpha -> state
  - [ s,      ~,       q0   ]
  - [ s,      ~,       r0   ]
  - [ q0,     1,       q1   ]
  - [ q1,     1,       q1   ]
  - [ r0,     [0,1],   r0   ]
  - [ r1,     [0,1],   r2   ]
  - [ r2,     [0,1],   r0   ]
tests :
  - [ yes, ~      ]
  - [ no,  00000  ]
  - [ yes, 1111   ]
  - [ no,  1010   ]
  - [ yes, 111000 ]

