1

昨天,我用這篇關於編程語言BrainFuck的文章停留在互聯網上。 http://www.muppetlabs.com/~breadbox/bf/史上最小的編譯器

那麼,什麼是不知道我是這樣的

Brainfuck is the ungodly creation of Urban Müller, whose goal was apparently 
to create a Turing-complete language for which he could write the smallest 
compiler ever, for the Amiga OS 2.0. His compiler was 240 bytes in size. 
(Though he improved upon this later -- he informed me at one point that 
he had managed to bring it under 200 bytes.) 

所以,今天是它的圖靈完備的編程語言編譯器的最小真的? 這是否證明小型編譯器不存在?

在這方面有什麼結果。它對我真的很感興趣,圖靈完整編程語言的compiller的大小是否有最小值?這個值是什麼?

+0

這不是這個問題的正確論壇。 –

+0

我想如果支持標籤,問題也必須得到支持。 –

+0

是的,我明白,@mesiesta。但這個問題實際上不是關於編程。更多的是關於歷史和世界紀錄等等。本論壇面向程序員討論代碼示例的編程問題。 –

回答

12

儘可能小的BrainFuck編譯器的大小總是取決於機器。因此,如果您談論某個特定的值,則必須始終考慮它正在運行的體系結構。

可能的最小BrainFuck編譯器是0bytes

這個編譯器上運行的架構,有beeing能夠解釋Brainfuck源代碼本身的整齊財產。它具有更整潔的屬性,程序輸出駐留在與輸入相同的內存位置。

那麼最小可定位BrainFuck編譯器的字節碼是:「」。由於此程序立即終止,因此不會對輸入應用任何修改。因此,該程序的運行輸出總是等於該運行的輸入。由於架構本身可以執行BrainFuck,因此該程序將BrainFuck Sourcecode轉換爲該架構的二進制代碼。該程序因此是該體系結構的BrainFuck編譯器。

實字架構

偏偏上述體系結構並不適用於現實世界的應用程序,但也不是BraickFuck。

+0

+1爲真正的智能投票而沒有實際投票。 – scravy