決定性有限オートマトン
wikipediaの例をjavascriptで書いてみました。
<script> var M = { sigma:["q0","q1"], S:[0,1], T:{ q0:function(s){return s == "0" ? "q1" : s == "1" ? "q0" : null; }, q1:function(s){return s == "0" ? "q0" : s == "1" ? "q1" : null; } }, s:"q0", A:["q0"], judge: function(str) {with(this){ var s1 = s; for (var i = 0; i < str.length; i++) { var f = T[s1]; if (f == null) return false; s1 = f( str.charAt(i) ); } for (var i = 0; i < A.length; i++) if (s1 == A[i]) return true; return false; }} } function p(str) { document.write(str+":"+M.judge(str)+"<br>"); } p("1111"); p("10111"); p("101110"); </script>