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;}

条件短语
IF   THEN     |    满足条件就执行 IF 后面的语句    不满足就执行 THEN 后面的语句;不管 IF 成功不成功,THEN 后面的语句都会执行到。
IF 只能编译,只能用于定义中
 YIDA(n - result)   如果 n 等于12 就执行 IF 后面的语句 STAR, 否则就执行 THEN 后面的语句; 
 
词 < 和 > 要求的栈顶顺序和算术运算符一直,即: 2  <  10   相当于   2  10  <   ;17  >  -39  相当于  17  -39  >  ;
词 0= ,0< 和 0> 只要求栈顶上的一个值 ,把该值与 0 比较。
词  NOT  ,把测试值的条件值求反; =  NOT  IF   表示栈顶两个值不相等时便执行  IF  后面的词;

选择短语
 
IF    ELSE    THEN
定义词, /CHECK  ,从栈中弹出一个数查看是否 =0  ,如果相等就显示 INVALID  并且 运行 DROP 命令清除栈顶的数据;否则,就执行  /  操作。

嵌套的 IF ……  THEN 语句
** 每个  IF  必须保证有一个  THEN  语句对应
  
FORTH 中的比较运算符最后会在栈顶放一个 “1”或 “0” ,1 表示真,0 表示假。
我这里显示 “-1” 表示真 , “0” 表示假;因为 IF 把任何非零值表示为真,“0”作为假
 
NOT 把一个数的逐位二进制反码 : 0   NOT . -1       |       1  NOT . -2      |     -2  NOT . 1

逻辑操作词
OR     或操作,对栈中前两个数进行或操作, 1 OR -1 = -1  
ANT   与操作,对栈中前两个数进行与操作

两个本身包含 IF 的词
?DUP     表示当栈顶项为非零值时才复制栈顶元素。
:  /CHECK      ?DUP   IF   /   ELSE   DROP   THEN   ;                :   /CHECK       ?DUP   IF   /    THEN   ;  
ABOUT"    :如果程序在运行中可能某处会出错,则可在该处使用词   ABOUT"   。这个词把栈顶值作为标志,若标志为真则使执行异常终止并清除堆栈,返回到终端等待输入信息。同时也可以打印出最后被解释的名词,以及我们想附加的任何信息。
:   /CHECK     DUP   0=   ABORT"   ZERO   DENOMINATOR"   /   ;
改进:
: ENVELOPE      /CHECK  ."  THE  ANSWER  IS"  .   ;
验证堆栈是否下溢,?STACK    eg:    :  ?STACK    ABORT"    STACK    EMPTY"  ;

PC/FORTH 判定的更多相关文章

  1. php 判定pc端與移動端

    1.親測有效 2.上代買 //判斷移動端,pc端 /*移动端判断*/ public static function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移 ...

  2. 检测当前运行环境——移动端与PC端。

    方法1: $(function checkBrowser(){ var browser={ versions:function(){ var u = navigator.userAgent, app ...

  3. acm pc^2的配置与使用

    -------------------------------------------------------------------------------------- !!! 转载请注明: 转自 ...

  4. emWin(ucGUI)在PC机上模拟的按键响应多次解决办法 worldsing

    emWin(ucgui) 在PC端的模拟器,默认的按键机制是"按抬都Msg",当在按下键盘时,会收到一个key值-1,在按键没有离开时一直维持,当按键松开时还发送一个key值-0的 ...

  5. 组建自己的局域网(可以将PC机实现为服务器)

    最近想要自己组建一个集群,并且可以通过外网访问,查了好些资料,终于成功了! 设备清单:笔记本1:(4g内存,500g硬盘),笔记本2:(12g内存,120g固态硬盘) (笔记本2上装有5台虚拟机,操作 ...

  6. 20155213 《网络攻防》 Exp1 PC平台逆向破解

    20155213 <网络攻防> Exp1 PC平台逆向破解(5)M 实践内容 通过对实践对象--pwn20155213的linux可执行文件的修改或输入,完成以下三块: 手工修改可执行文件 ...

  7. 兼顾pc和移动端的textarea字数监控的实现方法

    概述 pc端移动端中文本框监控字数的功能的一种较为简单的实现,考虑到安卓和IOS输入法输入过程中是否触发keyup的差异.利用监听compositionstart判断是否开启了输入法.从而实现体验较为 ...

  8. mint-ui 企业微信PC端内置浏览器 Picker 无法滚动

    处理 在主JS代码之上附加以下代码 : <script> if (~navigator.userAgent.toLowerCase().indexOf('windowswechat')) ...

  9. 6.DNS公司PC访问外网的设置 + 主DNS服务器和辅助DNS服务器的配置

    网站部署之~Windows Server | 本地部署 http://www.cnblogs.com/dunitian/p/4822808.html#iis DNS服务器部署不清楚的可以看上一篇:ht ...

随机推荐

  1. ie67的冷知识

    1. _display:inline;是什么意思 只有ie6认识带下划线的,一般这种写法是用来消除ie6对margin双倍的bug的,比如你写margin-left:10px;那么ie6下显示的是20 ...

  2. 第 4 章 容器 - 029 - 限制容器的 Block IO

    限制容器的 Block IO Block IO 是另一种可以限制容器使用的资源. Block IO 指的是磁盘的读写,docker 可通过设置权重.限制 bps 和 iops 的方式控制容器读写磁盘的 ...

  3. Java从内存流中读取byte数组

    Java中通过servlet接收二进制数据,然后将二进制数据流读取为byte数组.开始使用:byte[] bs = new byte[request.getContentLength()];reque ...

  4. 记录python接口自动化测试--根据excel中的期望输出是否存在请求返回的响应来判断用例是否执行成功(第八目)

    1.首先在excel中的expectValue列填好预期结果值 这里判断接口成功的依据是预期结果值是否存在于接口返回的数据中. 首先,要知道在之前封装的get/post请求方法中返回的是‘str’,也 ...

  5. linux中用户和用户组

    一.用户和组原理 一个用户可以属于多个组,一个组有多个用户 在Linux中操作系统必须依赖组和用户进行管理 二.与用户和组相关的配置文件 1.组相关配置文件 1)/etc/group :管理用户组信息 ...

  6. layui 导出表格数据

    第一种方法没试过,有机会要试试.

  7. 『TensotFlow』RNN中文文本_上

    中文文字预处理流程 文本处理 读取+去除特殊符号 按照字段长度排序 辅助数据结构生成 生成 {字符:出现次数} 字典 生成按出现次数排序好的字符list 生成 {字符:序号} 字典 生成序号list ...

  8. 媒体查询漫谈——@media Queries

    通过不同的媒体类型和条件定义样式表规则.媒体查询让CSS可以更精确作用于不同的媒体类型和同一媒体的不同条件.媒体查询的大部分媒体特性都接受min和max用于表达”大于或等于”和”小与或等于”.如:wi ...

  9. python 日期操作【转】

    SQLite中的时间日期函数这是我学习SQLite时做的笔记,参考并翻译了Chris Newman写的<SQLite>中的<Working with Dates and Times& ...

  10. Python面向对象编程-类的封装,继承、多态

    面向对象是一种程序设计思想,对象作为程序基本单元,包含了数据和操作数据的函数. 面向对象的三大特点--数据封装.多态和继承. #类的创建,class关键字,类名大写,object表示从哪个类继承而来, ...