Man Boy Test ¶
~cpp
begin real procedure A(k, x1, x2, x3, x4, x5);
value k; integer k;
begin real procedure B;
begin k := k - 1;
B := A := A(k, B, x1, x2, x3, x4)
end;
if k <= 0 then A := x4 + x5 else B
end;
end;
outreal(A(10, 1, -1, -1, 1, 0));
Donald Knuth ๊ฐ Algol 60์ ๊ตฌํ ์ ๋๋ฅผ ํ๋ณํ๊ธฐ์ํด์ ๋ง๋ ํ๋ก๊ทธ๋จ. ํ
์คํธ์ ๋ชฉ์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํ๋ scoping rule, call-by-name์ ๊ตฌํ ์ ๋๋ฅผ ํ๋ณํด์ boys(algol 60 ๊ตฌํ๋ฌผ)๋ค์ค์์ men (์ธ๋งํ ๋)์ ๊ฐ๋ ค๋ด๋ ์ฉ๋๋ก ๊ณ ์๋์์ต๋๋ค.
----
CompilerTheory
CompilerTheory










