我的編程語言沒有數組,沒有列表,沒有指針,沒有eval也沒有變量變量。它所具有:使用堆棧實現數組
像你這樣的普通變量從大多數編程語言中瞭解他們:他們都有一個確切的名稱和值。
一個堆棧。提供的功能有:推(添加元素頂部),流行(從上刪除元素,得到的值)和空(檢查堆棧是空的)
我的語言是圖靈完備。 (基本算術,條件跳轉等)這意味着,它必須有可能實現某種列表或數組,對嗎?
但我不知道我該怎麼...
想實現什麼:創建可檢索和/或改變一個元素x棧的功能。
我可以很容易地在執行我的語言時添加這個函數,在解釋器中,但是我想用來編寫我的編程語言。
- 「解決方案」 一(訪問的元素x,從堆棧頂部算起)
創建一個循環。彈出堆棧頂部的元素x
次。彈出的最後一個元素是元素號x
。我結束了一個破壞的堆棧。
- 解決方法二:
執行與上述相同的,但存儲在第二堆棧中的所有彈出值。然後,您可以在完成後將所有元素移回。但你知道嗎?我沒有第二個堆棧!
聽起來像'Forth':http://en.wikipedia.org/wiki/Forth_(programming_language) – 2010-05-02 15:53:22
雖然Forth有指針和分配(它給了它數組)和第二個堆棧。 – 2010-05-02 16:01:23