- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
forth系统入门指导手册0-11(告一段落)
forth系统入门指导手册0-11(告一段落)
forth系统入门指导手册0-11(告一段落).txt24生活如海,宽容作舟,泛舟于海,方知海之宽阔;生活如山,宽容为径,循径登山,方知山之高大;生活如歌,宽容是曲,和曲而歌,方知歌之动听。第0章 前言
这是一本游戏手册,是的,你没听错,因为forth不能给你带来显而易见的实际利益,几乎没什么公司会招聘一个forth程序员,因为forth太冷门了,所以你只能把它当成一个游戏来玩。
在推销一件东西的时候,吹嘘它的优点是必须的,虽然对forth吹得天花乱坠的溢美词很多,但是冷门还是冷门,所以我也懒得吹了。简单说说它的优缺点吧
优点:可以迅速适应不同的CPU(可移植性好),结构小巧紧凑,模块化优秀,可以自制语法,足够自由。
缺点:与主流语言差异很大,太过自由,过于个性化,只有一个基本的统一标准,对程序员自身思维水平的要求比较高,没有足够的函数库,需要重新发明轮子,使用者稀少,趋近消亡。
本文的目标是让那些有一定编程经验、对forth感兴趣、但是对forth和汇编毫无概念的业余爱好者也能看得懂。这里是forth所有版本的编译器/compilers.html,本文主要是以eforth为例,理由是够简陋。我会把我反复咀嚼过的东西再吐出来喂给你们吃的,哇哈哈哈哈哈!
第1章 简单的语法
还记得以前我们是怎样学英文的吗?现在来回顾一下吧
he is a bold man
he :他
is :是
a :一个
bold :
man :人
我不认得bold这个单词,怎么办?聪明好学的同学提供了一个方法,查字典。OK,那就查吧。
bold:大胆的
好了,现在我知道怎么翻译了,他就是一个胆儿肥的人。以后再遇到不懂的单词,我就知道该去查字典了。
英文是这样,中文也是这样,碰到不懂的字,我们就会去查字典,弄清这个句子里所有的字是什么意思的时候,我们也就完全明白这个句子是什么意思了。
让我们继续翻译
he is a sdf man
sdf:胆大的;是bold的同义词
“sdf???你瞎编的吧?”没错,就是瞎编的,而且我还成功忽悠了刚刚学英语的小朋友,这让我很有成就感!但是大朋友们就不那么好忽悠了,他们会用怀疑的目光看着我,然后转过头去翻字典,这让我很没成就感!
为了将忽悠进行到底,我决定贿赂该字典的出版社,让他们把我瞎编的词收录到他们的字典里,然后自掏腰包出版新字典。这样一来,当大朋友们在字典上查不到sdf时,我会告诉他们说,他们用的是过了期的字典,然后递给他们一本我自费出版的新字典,再然后。。。他们全信了!这让我的虚荣心得到了极大的满足,哈哈哈哈哈!现在,我可以在跟别人沟通交流时毫无障碍的使用sdf这个流行词了。
以上所说的就是forth里最基本的内容:字,字典,造字。forth里有几十个最基本的字,它们被人称作code字、核心字、原语、一级字等等等等。下一个阶层的字则是由这些最基本的字或本阶层的字组合而成,被称作colon字、扩展字、冒号字、二级字等等等等。拿上面的英文句子举个例子:
输入:
: he . 他 ;
: is . 是 ;
: a . 一个 ;
: bold . 胆大的 ;
: sdf bold ;
: man . 人 ;
he is a sdf man
屏幕显示:
他是一个胆大的人
需要说明的一点就是: bold必须在: sdf之前,否则forth会告诉你没有sdf这个字。
forth的语法就是按顺序执行每一个字,碰到字典里没有的字的时候,就给出提示,并终止运行,这语法够简单吧?
:(冒号)是一个用来定义一个新字的字,;(分号)是一个表示语句结束的字,.是一个用于输出字符串的字,与输出内容用空格隔开。在forth里面,“有且只有”字,这保证了forth整体上的统一性。如果还要再算上一个,那就是空格,它是使用频率最高的符号,用于区分字与字。
有人要问了,为什么要把冒号放在顶头,这不是完全违反了人类的语法习惯?我的回答是,forth这种反人类反社会的语法不是专门给人看的,是给机器看的,但是人也能看懂。就像听老外说中国话,虽然他时不时的反一下人类,但你也能听懂他说的是什么意思。
另一个反人类的语法
1+2=?
如果你这样询问forth,它会告诉你没有“1+2=?”这个字。那么应该怎么问呢?是这样的,问它“1 2 +
文档评论(0)