2011-11-07 12 views
3

私はlanguageのための簡単なパーサー/インタープリタを書いています。命令は「遅延置換」とはどういう意味ですか?

に機能 がゼロ以上の引数の代わりに、一つだけのリストを受け入れることができるように説明しfun言語機能を拡張して、「繰延置換」を言及しておきます。関数へのすべての の引数は、同じ遅延の の代入で評価する必要があります。

私はこれを実装するための助けは必要ありません、私はちょうど '遅延置換'が何を意味するのか混乱しています。何かご意見は?

+0

私は[あなたが使っていると思われる教科書]の第5章と第6.4節を詳しく見ていきます(http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/PDF/plai)。 -2006-01-15.pdf)。 – hammar

+0

私が提供したリンクは、私がすばやくグーグルで見つけたものでした...それは私の任務ではありませんが、ありがとう! – chris

答えて

4

遅延置換は、可能な限り最新のステップで変数の値を代入することを指します。そうすることで、あなたはそれの代用を延期します!

は、ここではそれが何を意味するのか理解するのに役立つかもしれない例です: あなたは次の関数があるとします。 F(X)= 500 + 300 + 2X + 45X

はのは、If のx = 1ということを言ってみましょうあなたはxの置換を延期したい、あなたはおそらくだろう:

  1. F(X)= 800 + 2X + 45X
  2. F(X)= 800 + 47X
  3. F(1)= 800 + 47(1)

この関数の変数ではないものすべてを単純化した後で、可能な限り最新のステップでxの値を置き換えたことに注目してください。

関連する問題