6

私は今、計算理論のコースを取っています。概念はよく理解できます。私は問題を解決することができます。そして、実際のアプリケーションについて講師に尋ねたところ、これらの概念はコンパイラーの設計において確実に有用であり、不可欠であるとのことでした。しかし、少なくとも有意義な調査を行うには、これらの概念をコーディングでどのように使用できるかについての説明が必要です。

たとえば、独自の grep を設計したい場合。C で文字列関数を使用します。コーディングで正規表現を使用する方法がわかりません。

同じケースがチューリングマシンにも当てはまります。

2 つの数値を追加したい場合、なぜそれらの単項概念に従う必要があるのですか。ハードウェアはそれらの概念を実装していますか?

4

2 に答える 2

9

この記事では、効率的な正規表現マッチングに適用される DFA と NFA についての実践的な議論を行います。効率的な Thompson NFA メソッドを使用する実際のライブラリについて説明します。

チューリングマシンは、主にコンピュータの定義として実用的です。誰かが新しい言語について教えてくれたら、その言語でチューリング マシンを構築しようとすることで、その言語が C や Java と同じくらい強力かどうか (使いやすさと混同しないでください) を確認できます。

于 2011-09-18T03:37:04.303 に答える
4

NFA と DFA : これら 2 つはコンパイラで使用され、ソース ファイル内の文字からトークンを作成し、それらを文法パーサーに返します。UNIXlexおよびyaccマニュアルから詳細を学ぶことができます。

Turing Machines : 私は、これが本来の学術目的と異なる用途を持っているとは思いません。

于 2011-09-18T03:45:50.180 に答える