编程语言 Forth

未知
未知
2009-12-29
绿悠悠

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
加载中
请先登录后再评论。

暂无资讯

暂无问答

how networks work forth note

通过接入网进入互联网内部 ##思维导图 问题 第一个采用包机制的网络就是互联网的前身ARPANET ADSL的线路费用包含在电话中,光纤的线路费用包含在上网费中,因为光纤的上网费高,电话费便宜 ...

2019/02/14 14:38
29
0
《Thinking in Java》Forth 控制执行流程

true/false/if-else/while/for/Foreach

2016/03/26 21:33
138
1
unordered_map自定义key

struct MAP_KEY { double first; double second; double third; double forth; }; struct KeyHash { std::size_t operator()(const MAP_KEY & k) const { using boost::hash_value; using bo...

2015/09/02 15:36
2.3K
0
剑指Offer(Java版):两个链表的第一个公共结点

题目:输入两个链表,找出它们的第一个公共结点。 面试的时候碰到这道题,很多应聘者的第一反应就是蛮力法:在第一链表 上顺序遍历每个结点,没遍历到一个结点的时候,在第二个链表上顺序遍历...

2016/08/02 21:07
41
0
poll机制的总结

poll机制就是给定一段时间,在这一段时间内程序处于睡眠状态一直等待某一个资源,它会在两种情况下返回①时间到了②等到了资源。 驱动程序的实现并不复杂,但原理有待分析。 首先要在file_op...

2018/11/14 10:01
60
0
标签控制器原理

UITabBarController

2016/04/17 14:39
44
1
PHP关于数据的舍入归类:round、ceil、floor、number_format

下面是关于数字转化的几种方法: round -- 对浮点数进行四舍五入 例子: <?php echo round(3.4); // 3 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 e...

2012/12/14 13:30
1K
0
qutebrowser 只用键盘操作的浏览器

一个 Qt 库制作的最简化浏览器,内核是 Chromium。最大特点就是它自带命令行,可以完全用键盘操作。 下载地址: 链接:https://share.weiyun.com/5Y2Ajvn 密码:mwc4qn 基本操作: Use the ...

2018/10/12 16:19
32
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部