次の問題の答えが見つかりません。オートマトンは "A:5739"のような文字列を受け入れます。または "C :: 399 \ 4342)"、これらは私にファイルシステムのパスを思い出させますが、私はそれについてはわかりません。PROLOG特定の有限状態オートマトン
問題のテキスト:
はPrologで書かれた以下の有限状態オートマトンを考えてみましょう。 認識されるようですか?
は、その引数が文字または数字であるとき真である述語
alphanumeric/1
を持つものとします。
オートマトン:
accept([I | Is], S) :- delta(S, I, N), accept(Is, N). accept([], Q) :- final(Q). initial(start). final(type). delta(start, 'A', dev). delta(start, 'B', dev). delta(start, 'C', dev). ... delta(start, 'Z', dev). delta(dev, ':', n1). delta(n1, '\', dev). delta(n1, L, name) :- alphanumeric(L). delta(name, L, name) :- alphanumeric(L). delta(name, '\', name). delta(name, '.', type). delta(name, L, type) :- alphanumeric(L).
問題を解決するためにあなた自身で*いくつかの努力をしてもらえますか? –
私はオートマトンがある種の正規言語を受け入れることを知っています。しかし、あなたの側からの公平な試みです。問題を解決しようとしましたか?あなたはどんな問題に遭遇しましたか?あなたはどこにいるのですか?現在、この質問は宿題が(ほぼ)逐語的にコピーされているようです。 –
私はオートマトンを描画しようとしましたが、A:5739やC:\:399 \ 4342のようなオートマトンで受け入れられた文字列を書きました... 私が書いた例は、ファイルシステムのパスを思い出します。 ..おそらくJSONのような言語に接続できますか? – DouglasP