body, table{font-family: 微软雅黑}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}

词典条目的结构
一个定义的词包含:名域、链域、代码指针域、参数域
名域允许最大为31个字符的系统,可以取2到32个字节的任意长度,这根据名字而定。


名字
      在上面截图的例子中,第一字节包含了被定义词全名的字符个数(DATE是四个字符)。下面三个字符包含了被定义词名字头三个字符的ASCII码。在三字符系统中,上面这些是 '  或 ['] 用来在词典中查对输入流中词的全部信息。
(图中”计数“字节的符号位被称为”优先位“。在编译期间,该位用来指明该词在编译期间是马上执行,还是仅被编译成一新定义。)

      “链”单元包含词典中的前一个定义的地址。链单元用于搜索词典。
每当编译程序把一个新词加入词典时,他便置该词的链域指向前一个定义的地址。搜索时,'  或  [']  从最新定义的词开始,沿着“链”指向的方向搜索,利用链单元中的地址反向确定下一个定义的位置。

代码指针
    这部分指针包含一个区别定义,具体是变量,常数还是冒号定义的地址。它是一条指令的地址,当执行某一特定类型的词时,首先执行这条指令。列如,若是变量,指针指向该变量的地址压入堆栈的代码。若是常数,指针指向把该常数的内容压入堆栈的代码。若是冒号定义,指针指向执行冒号定义中其余词的代码。
       被指向的代码称为“运行时间代码”,因为它们是某种类型的词在被执行(而不是在被定义或被编译)时才被用到。
       所有变量,所有常量,所有冒号定义都具有它们各自相同的代码指针。

参数域
    紧跟着代码指针下面的是参数域。在变量和常数中,参数域只占用一个单元。在 2CONSTANT 和 2VARIABLE 中, 参数域占两个单元。在数组中参数域的长度取决于自己需求。在冒号定义中参数域的长度取决于定义的长度。
由 '  提供的和  EXECUTE  所要求的地址是参数域的起始地址,称为参数域地址(pfa)。
注:名域和链域一起常被称为词典条目的“头”,代码指针和参数域一起被称为词典条目的“体”

Forth词典条目结构的更多相关文章

  1. Forth 采用CODE定义新词

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  2. HanLP二元核心词典解析

    HanLP二元核心词典解析 本文分析:HanLP版本1.5.3中二元核心词典的存储与查找.当词典文件没有被缓存时,会从文本文件CoreNatureDictionary.ngram.txt中解析出来存储 ...

  3. HanLP二元核心词典详细解析

    本文分析:HanLP版本1.5.3中二元核心词典的存储与查找.当词典文件没有被缓存时,会从文本文件CoreNatureDictionary.ngram.txt中解析出来存储到TreeMap中,然后构造 ...

  4. SCWS中文分词,词典词性标注详解

    SCWS中文分词词典条目多达26万条之巨,在整理的时候已经把很多明显不对的标注或词条清理了 ---- 附北大词性标注版本 ----Ag 形语素 形容词性语素.形容词代码为a,语素代码g前面置以A. a ...

  5. Forth 内存布局

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  6. Forth嵌套定义的执行过程图示

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  7. PC/FORTH 变量|常数|数组

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  8. 数据流图(DFD)画法

    数据流图(DFD)画法要求 一.数据流图(DFD) 1.数据流图的基本符号 数据流图由四种基本符号组成,见图5-4-1所示. 图5-4-1  数据流图的基本符号 例:图5-4-2是一个简单的数据流图, ...

  9. SCWS 中文分词

    SCWS 中文分词v1.2.3 开源免费的中文分词系统,PHP分词的上乘之选! 首页 下载 演示 文档 关于 服务&支持 API/HTTP 论坛 捐赠 源码@github 文档目录 SCWS- ...

随机推荐

  1. IP地址和子网划分学习笔记之《IP地址详解》

    2018-05-03 18:47:37   在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...

  2. 无需激活直接同步登入discuz,php代码(直接可用)

    <?php /** * 抽奖 * @param int $total */ function getReward($total=1000) { $win1 = floor((0.12*$tota ...

  3. Vue系列之 => 路由的嵌套

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. function的toString方法

    javascript的创建多行字符串的除了平时常见的”“+ 反斜杠\ 还有ES6的` ` 在js51上发现一个很有意思的方法 function heredoc(fn) { return fn.toSt ...

  5. P2P原理(转)

    P2P(Peer to Peer)对等网络 P2P技术属于覆盖层网络(Overlay Network)的范畴,是相对于客户机/服务器(C/S)模式来说的一种网络信息交换方式.在C/S模式中,数据的分发 ...

  6. 使用shiro框架,解决跳转页面出现404的问题

    shiro框架是一个安全框架,在进行登录的时候,如果没有配置路径,它会跳到shiro的默认配置的路径“/”下面,所以总是会出现404的错误,因为它的路径是保存在session中 所以需要我们把sess ...

  7. P2053 [SCOI2007]修车(费用流)

    P2053 [SCOI2007]修车 顾客平均等待的最小时间$=$等待总时间$/n$ 考虑只有1个技术人员时,$n$辆车等待总时间 $A_1+(A_1+A_2)+(A_1+A_2+A_3)+...+\ ...

  8. draw9patch图片拉伸

    在此吐槽Android studio的稳定性,我用的Android studio已经完全不能用了.只要新建项目资源文件就会变成乱码.解决无果,忍无可忍的我只能重新下了一个低版本的.虽然还是有点毛病,但 ...

  9. eclipse Oxygen2 4.7.2版本安装activiti插件,并兼容svn插件

    附录,插件下载:链接:https://pan.baidu.com/s/138ChoXao1fALBzdOhJjdQg 密码:06fx 安装方法: 解压eclipse安装包,将eclipse-activ ...

  10. 安装win10 和win中的一些杂项问题

    reg中的 policies是政策/策略, 主要是指 控制面板中的一些控制项目, 其中 explorer是 控制面板的 显示项目... DWORD值是一个32位(4个字节:即双字)长度的数值, 是数字 ...