Atitit 下推自动机﹙PDA﹚说明书

目录

1. 概念组成与原理成分 1

2. 性状 1

3. 适用场景 主治 适应症 1

3.1. 所有场景()。 1

3.2. 语法解析 构建ast 2

3.3. 监视器模式 2

4. Bp 最佳实践 用法 2

5. 缺点 不良反应 2

5.1. 比起fsm强大了很多 2

5.2. 依然有写功能可能不好实现 2

6. 禁忌 不适应场合 2

7. 注意事项 2

8. 相互作用与其他类库模式 3

8.1. 类似的有fsm  turing机 3

9. 过量与滥用后果 3

10. 原理 3

11. 理解曲线动力学 3

11.1. 学习曲线,鉴于fsm状态机和,turing机之间  3

12. 储藏 3

13. 包装与api接口 3

14. 执行标准 3

15. 生产组织与个人  attilax 3

16. Ref 3

1. 概念组成与原理成分

下推自动机可以形象的理解为,把有限状态自动机扩展使之可以存取一个栈。每一个下推自动机都接受一个形式语言。下推自动机存在确定与非确定两种形式,两者并不等价。﹙对有限状态自动机两者是等价的﹚被非确定下推自动机接受的语言是上下文无关语言。

2.  性状

3.  适用场景 主治 适应症

3.1. 所有场景()。

更复杂场景使用turing机

3.2. 语法解析 构建ast

3.3. 监视器模式

4. Bp 最佳实践 用法

5、处理事件输入,实现状态跳转逻辑。 双case

这里有两种写法,一种是在状态中判断事件:一种是事件中判断状态:

本人观点:一般业务场景来说,状态的数量是确定的切数目较少,不同状态下需要处理的事件也不一样。而触发的事件数量则比较多,采用上面第二种方式在事件中判断状态也有利于把里面一层的switch/case剥离出来当成单独的函数,做一些代码模块结构的优化,故推荐使用第二种方式,事件中判断状态。

5. 缺点 不良反应

5.1. 比起fsm强大了很多

5.2. 依然有写功能可能不好实现

6.  禁忌 不适应场合

7. 注意事项

这里需要注意的两个问题:

1、避免把某个“程序动作”当作是一种“状态”来处理。那么如何区分“动作”和“状态”?“动作”是不稳定的,即使没有条件的触发,“动作”一旦执行完毕就结束了;而“状态”是相对稳定的,如果没有外部条件的触发,一个状态会一直持续下去。

2、状态划分时漏掉一些状态,导致跳转逻辑不完整。

所以维护上述一张状态表就非常必要,而且有意义了。从表中可以直观看出那些状态直接存在跳转路径,那些状态直接不存在。如果不存在,就把对应的单元格置灰。 每次写代码之前先把表格填写好,并且对置灰的部分重点review,看看是否有“漏态”,然后才是写代码。QA拿到这张表格之后,写测试用例也是手到擒来。

8. 相互作用与其他类库模式

8.1. 类似的有fsm  turing机

9. 过量与滥用后果

10. 原理

11. 理解曲线动力学 

11.1. 学习曲线,鉴于fsm状态机和,turing机之间

下推自动机比有限状态自动机复杂:除了有限状态组成部分外,还包括一个长度不受限制的栈;下推自动机的状态迁移不但要参考有限状态部分,也要参照栈当前的状态;状态迁移不但包括有限状态的变迁,还包括一个栈的出栈或入栈过程。

12. 储藏 

13. 包装与api接口

14. 执行标准

15. 生产组织与个人  attilax

16. Ref

Atitit 下推自动机﹙PDA﹚说明书 目录 1. 概念组成与原理成分 1 2. 性状 1 3. 适用场景 主治 适应症 1 3.1. 所有场景()。 1 3.2. 语法解析 构建ast 2 3.相关推荐

  1. 【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 2 ) ★★

    文章目录 一.上下文无关文法 CFG 转为下推自动机 PDA 流程 二.上下文无关文法 CFG 转为下推自动机 PDA 示例 2 参考博客 : [计算理论]上下文无关语法 ( 语法组成 | 规则 | ...

  2. 【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 1 ) ★★

    文章目录 一.上下文无关文法 CFG 转为下推自动机 PDA 流程 二.上下文无关文法 CFG 转为下推自动机 PDA 示例 1 参考博客 : [计算理论]上下文无关语法 ( 语法组成 | 规则 | ...

  3. 【计算理论】计算理论总结 ( 下推自动机计算过程 | 上下文无关文法 CFG 转为下推自动机 PDA ) ★★

    文章目录 一.下推自动机计算过程 二.上下文无关文法 CFG 转为下推自动机 PDA 流程 参考博客 : [计算理论]上下文无关语法 ( 语法组成 | 规则 | 语法 | 语法示例 | 约定的简写形式 ...

  4. 【计算理论】下推自动机 PDA ( 设计下推自动机 | 上下文无关语法 CFG 等价于 下推自动机 PDA )

    文章目录 I . 下推自动机 设计 II . 上下文无关语法 ( CFG ) 等价于 下推自动机 ( PDA ) I . 下推自动机 设计 设计下推自动机 , 可以识别 {wwR:w∈{0,1}∗}\ ...

  5. 【计算理论】下推自动机 PDA 及 计算示例

    文章目录 一. 下推自动机 二.下推自动机 计算过程 三.下推自动机 计算结果 四.下推自动机 计算示例 一. 下推自动机 1 . 下推自动机 由来 : 下推自动机 ( PDA ) 是在 确定性有限自 ...

  6. 形式语言与自动机 Part.5 上下文无关语言与下推自动机(PDA)

    课程名:形式语言与自动机 作者:Lupinus_Linn 许可证:CC-BY-NC-SA 3.0 创作共用-署名-非商业性-相同方式共享 署名(英语:Attribution,BY):您(用户)可以复制 ...

  7. 【计算理论】下推自动机 PDA ( 上下文无关语言 CFL 的 泵引理 | 泵引理反证示例 | 自动机扩展 )

    文章目录 I . 上下文无关语言 ( CFL ) 的 泵引理 ( Pumping Lemma ) II . 上下文无关语言 ( CFL ) 的 泵引理 ( Pumping Lemma ) 示例 III ...

  8. 【计算理论】上下文无关语法 ( CFG ) 转为 下推自动机 ( PDA )

    文章目录 I . 上下文无关语法 ( CFG ) 转为 下推自动机 ( PDA ) II . 下推自动机 ( PDA ) 三个状态 III . 下推自动机 ( PDA ) qstartq_{start ...

  9. OpenLDAP、什么是目录服务、OpenLDAP简介、LDAP的基本模型、目录树概念、(DC、UID、OU、CN、SN、DN、RDN、c、o)、LDAP的使用

    2.OpenLDAP 2.1.什么是目录服务 2.2.OpenLDAP简介 2.3.LDAP的基本模型 2.3.1.目录树概念 2.3.2.DC.UID.OU.CN.SN.DN.RDN.c.o 2.4 ...

  10. 【计算机视觉】计算机视觉入门大全:基础概念、运行原理、应用案例详解

    来源:图灵人工智能  「机器能够模拟人类视觉系统」的幻想已经过时了.自 1960 年代第一批学术论文出现以来,计算机视觉已经走了很远,现代系统已经出现,且它们可以集成到移动应用中. 今天,由于其广泛应 ...

最新文章

  1. miniUI怎么显示HTML显示整数,MINIUI后台获取数据
  2. 一看就明白的爬虫入门讲解-基础理论篇(上篇)
  3. 树莓派外设开发之控制继电器(组)
  4. c#求三角形面积周长公式_C#源代码—三角形面积、圆的面积
  5. flex布局_flex 布局概述
  6. maven构建ssm工程
  7. 再论《IT人员应聘建议》
  8. mybatis(二)
  9. mysql创建图书馆书库表格,mysql图书馆管理系统的数据库
  10. C语言编写FFT程序
  11. CDA LEVELⅠ2021最新模拟题一(全网最详细有答案)
  12. Android实战开发--制作圆形头像(简易篇)
  13. 再见shareplex
  14. 为什么公交Wi-Fi还不如地铁上普及?
  15. android--GooglePay 谷歌支付内购接入(1)
  16. 可恢复保险丝的内部结构
  17. ADS1292R的使用
  18. wps office 办公软件下载
  19. 终于连熊也可以代表了!
  20. 生成器,迭代器,装饰器

热门文章

  1. java数据集合总结_java集合总结 - 雷开你的门的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. cdc2016年cypher资源_CDC最新Cypher!Ty.简直叼爆
  3. windows上dmg转换cdr_cdr中常见问题及其解决方案
  4. 如何调用畅捷通接口_用友金蝶多组织多账套的不同数据如何合并?
  5. Django Rest framework实现流程
  6. 【转】Js中的window.parent ,window.top,window.self 详解
  7. 如何在vim中打印出^M
  8. 628和822大K站:每个站长挥之不去的阴影
  9. Android中设置位移动画的停止
  10. Vue项目在nginx下的部署实践(个人学习总结)