Forth
维库,知识与思想的自由文库
|
Forth是六十年代末期,由Charles H. Moore发展出来的一种程序设计语言,允许使用者将现有的简单叙述,定义成较复杂的叙述。 FORTH采用以词典为核心,以堆栈为基础的高度模块化结构,是一种将解译程序和组译程序合并运用的双态系统。使用FORTH,可在编译过程中检测差错,并且逐步增加编译程序代码部份。利用FORTH所写的程序几乎不必任何修改,就能在各类计算机运作;甚至在特別设计的电脑上可以完全放棄组合语言,直接由FORTH转化成机器语言,就好像现代的Java machine。台湾的黃大一是这方面的专材,並在1980年代后期开发过两部完全使用FORTH的嵌入式系统。同时,使用者也可以自由使用自己定义的运算功能,加入编译器 (compiler) 中,使Forth语言更有弹性。 forth是一种可扩展的,交互式的语言。最初为小型的嵌入式电脑设计的,现在它几乎可以在任何主流的芯片上运行。 在电子表格,专家系统,多用户数据库,和分布式实时控制系统中有广泛的应用。 表面来看,forth是一种基于堆栈的概念机。例如如果要计算 (3+4)*5 ,我们的程序就是:3 4 + 5 * . 首先把3和4入堆栈,然后调用+子程序,+把堆栈的最顶上两个元素取出(也就是3和4)进行加法运算,然后把结果入堆栈,然后把5入堆栈,然后调用*子程序,把最顶的2个元素,也就是7和5取出,并进行乘法运算,然后把结果入堆栈,最后的.把结果从堆栈中取出。事实上这是一种简单有效的概念机。当然forth远远不止这些, 最常用在内建程序,以及系统与过程控制。现在,它也用在微电脑上,主要运用在数据搜集与处理、图形处理、专家系统,以及实时流程控制等。 [编辑] Forth语言的Hello World!程序下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序: ." Hello, world!" CR [编辑] 从程序员的角度看Forth用Forth的“追随者”的话来说,Forth是一种“人机一体”的语言。在程序员的意识中必须要有一台逻辑上的机器(可能是实际的芯片,也可能是虚拟机)。这台机器拥有两个堆栈(数据堆栈和返回堆栈),一个词典(在Forth中的词(word)对应于高级语言的函数或者子程序,若干的词构成词典。)一个内部解释器和一个外部解释器。 和Forth语言一样,也是基于堆栈的程序设计语言还有PostScript。 [编辑] 外部連結
| |||||||||||||||


