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. 如何在Virtualbox中对Ubuntu系统根分区扩容

    转载:             参见博客: https://blog.csdn.net/LEON1741/article/details/56494797 前在Virtualbox中安装了一个Ubun ...

  2. HeadFirst Ruby 第十五章总结 Saving and loading data

    前言 在上一章讲述了如何进行基础的操作,比如 处理 GET 请求的 get route, 再比如下载 gem 等等方面的知识.在这一章节,作者告诉我们如何储存.处理数据.整个过程分三步走: 首先,当 ...

  3. canvas学习之饼状图

    接着上一节说,这次我使用canvas绘制了饼状图,主要是SectorGraph.js, 引入 import {canvasPoint} from '../../assets/js/canvas';im ...

  4. session一二事

    Session即回话,指一种持续性的.双向的连接.Session和Cookie在本质上没有什么区别,都是针对HTTP协议的局限性而提出的一种保持客户端和服务器间保持会话连接状态的机制. Session ...

  5. 1.2 面向对象 Object-oriented

    前导课程 1.UML(统一建模语言) 2.OOAD Concept(Object-oriented Analysis and Design 概念) 3.Design Pattern(设计模式) 4.面 ...

  6. Maxim and Array CodeForces - 721D (贪心)

    大意: 给定序列, 每次操作选择一个数+x或-x, 最多k次操作, 求操作后所有元素积的最小值 贪心先选出绝对值最小的调整为负数, 再不断选出绝对值最小的增大它的绝对值 #include <io ...

  7. Android实现选择题答题(包括单选、多选和答题卡)

    在线答题demo,具体代码是一年多前完成的,比较简单,不再贴出,请参见Github. 主要功能: 单选:点击选项直接进入下一题.多选:选择多个选项,向右滑动进入下一题.答题卡:点击题号重新进入答题界面 ...

  8. NIM 博弈 牛客小白月赛2 E-是是非非

    题目链接 分析:一个裸的NIM博弈 对于一个Nim游戏的局面(a1,a2,...,an),它是P-position(即当前局面先手必败)当且仅当a1^a2^...^an=0,其中^表示异或(xor)运 ...

  9. Spring Boot 是什么?

    Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,那么, Spring Boot 诞生的背景是什么?Spring 企业又是基于什么样的考虑创建 Spring Boot ...

  10. DBWritable的使用

    首先导入mysql连接驱动jar包 或者maven模式下在pom.xml文件中追加: <dependency> <groupId>mysql</groupId> & ...