Forth

Forth

困難

說明

為 Forth 的一個非常簡單的子集實作評估器。

Forth 是一種以堆疊為基礎的程式語言。請為 Forth 的一小部分子集實作一個最基本的評估器。

你的評估器必須支援以下詞彙:

  • +、-、*、/(整數運算)
  • DUP、DROP、SWAP、OVER(堆疊操作)

你的評估器也必須支援以慣用語法定義新的詞彙:: word-name definition ;。

為了保持簡單,你只需要支援一種資料型態:至少 16 位元大小的有號整數。

你應該採用以下語法規則:數字是由一個或多個(ASCII)數字字元組成的序列,詞彙則是由一個或多個字母、數字、符號或標點符號組成、且本身不是數字的序列。 (Forth 的規則可能略有不同,但這樣已經夠接近了。)

詞彙不分大小寫。

軌道專屬說明

輸入會以字串陣列的形式提供。 定義會以 : var x ... ; 的形式呈現,其中var會綁定到後面的內容。 其他情況下,字串代表一連串的堆疊操作。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Scheme Exercism

準備好開始 Forth 了嗎?

註冊 Exercism,透過 39 個練習 和真人引導來學習並精通 Scheme,全部免費。