// states, P34
const states = ['q1', 'q2', 'q3']
const startState = 'q1'
const endState = 'q2'
// rules
const q1 = (input) => {
switch (input) {
case '0':
return 'q1'
case '1':
return 'q2'
}
}
const q2 = (input) => {
switch (input) {
case '0':
return 'q3'
case '1':
return 'q2'
}
}
const q3 = (input) => {
switch (input) {
case '0':
case '1':
return 'q2'
}
}
// machine business
const check = (string) => {
let arr = string.split("")
let currState = startState
for (let i = 0; i < arr.length; i++ ) {
currState = eval(currState)(arr[i])
}
return currState == endState
}