Forth[計算機解譯程式]

Forth[計算機解譯程式]
Forth[計算機解譯程式]
更多義項 ▼ 收起列表 ▲

Forth是六十年代末期,由Charles H. Moore發展出來在天文台使用的電腦自動控制系統及程式設計語言,允許使用者很容易組合系統已有的簡單指令,定義成為功能較複雜的高階指令。由於其結構精簡、執行快速、操作方便,廣為當代天文學界使用。八十年代以後,有愛用者成立Forth Interest Group在世界各地推廣,並陸續在各類計算機上建立Forth系統及標準的語言。

簡介

FORTH以可延伸的詞典為核心,採用兩個堆疊為基礎的高度模組化結構,是一種將解譯程式interpreting和編譯程式compiling合併運用的雙態系統。使用FORTH,可在編譯過程中檢測差錯,並且逐步擴充編譯程式代碼。利用標準FORTH所寫的程式幾乎不必大修改,就能在各類計算機運作;甚至在特別設計的電腦上可以完全放棄組合語言,直接由FORTH轉化成機器語言,就好像現代的Java machine。同時,使用者也可以自由使用自己定義的運算功能,加入編譯器(compiler)中,使Forth語言更有彈性。台灣的黃大一及現旅居美國的丁陳漢蓀是這方面的專材,黃大一在1980年代後期開發過兩部完全使用FORTH的嵌入式系統,丁陳漢蓀於2002年代即以eforth架構打通軟硬體任督二脈發展完成forth晶片,並將畢生研究forth的心得於2003年代編輯成書嵌入式系統:使用eForth。

forth是一種可擴展的,互動式的語言。最初為小型的嵌入式電腦設計的,現在它幾乎可以在任何主流的晶片上解譯和編譯,甚至已有多種可直接運行forth指令的晶片。在電子表格,專家系統,多用戶資料庫,和分散式實時控制系統中有廣泛的套用。表面來看,forth是一種基於堆疊的概念機。例如要計算(3+4)*5 ,我們的程式就是:3 4 + 5 * .首先把3和4入堆疊,然後調用+子程式,把堆疊的最頂上兩個元素取出(也就是3和4)進行加法運算,然後把結果入堆疊,然後把5入堆疊,然後調用*子程式,把最頂的2個元素,也就是7和5取出,並進行乘法運算,然後把結果入堆疊,最後的.把結果從堆疊中取出列印。事實上這是一種最簡單有效的概念機。當然forth遠遠不止這些。

最常用在內建程式,以及系統與過程控制,它也用在微電腦上。主要運用在數據蒐集與處理、圖形處理、專家系統,以及實時流程控制等。

程式

下面是一個在標準輸出設備上輸出Hello World的簡單程式,這種程式通常作為開始學習程式語言時的第一個程式:

." Hello, world!" CR。

外界評價

用Forth的“追隨者”的話來說,Forth是一種“人機一體”的語言。在程式設計師的意識中必須要有一台邏輯上的機器(可能是實際的晶片,也可能是虛擬機)。這台機器擁有兩個堆疊(數據堆疊和返回堆疊),一個詞典(在Forth中的詞(word)對應於高級語言的函式或者子程式,若干的詞構成詞典。)一個內部解釋器和一個外部解釋器。

和Forth語言一樣,也是基於堆疊的程式設計語言還有 PostScript

相關詞條

相關搜尋

熱門詞條

聯絡我們