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