编译原理学习笔记06——(连连看—准备一下很多课件都演示的公式E → E+T | T )——2014_1_22
来源:互联网 发布:178数据库7.0 编辑:程序博客网 时间:2024/06/06 06:46
看了很多课件(至少3种),居然都用到了下面的例子,
G:
E → E+T | T
T → T*F | F
F → (E) | i
而且复杂的分析也是围绕上式展开的,
为了跟上,也采用上面的例子,同时做了一个连连看。感觉编译原理学得好,连连看肯定也不错。
三个产生式如下,
然后,上面的都是左递归,
实际上编程的时候,都是有很多限制的,其中左递归是不允许的,还有什么first 和 follow 等一堆规则。
在笔记04中理解过左递归,这里只是重复一下,主要目的是为后面的笔记建立一个grammer语法。
首先,这只是E的展开演示,
可以利用笔记04中的第二种方法消除左递归,
这样就把E 的左递归消除了,但看得眼也花了,所以连连看对眼力的要求还是比较高的。
还没完,还有T呢,
T也需要消除左递归,同法炮制,
一个提示,终结符是与猪八戒有关的,消除左递归而加入的中间变量与大话西游有关。这样可能好记些。
在后面的笔记中,就要利用上面的式子了。
0 0
- 编译原理学习笔记06——(连连看—准备一下很多课件都演示的公式E → E+T | T )——2014_1_22
- 编译原理学习笔记10——(野火烧不尽再递归下降—— E → E+T | T从上向下程序)——2014_1_26
- 6.7.1 Oops—错误地调用了C r e a t e T h r e a d
- 统一的IPv4/IPv6翻译与封装过渡技术——IVI/MAP-T/MAP-E
- 一种非线性函数的曲线拟合方法(函数公式: k = A*(T^a)*exp(E/T) )
- 一种非线性函数的曲线拟合方法(函数公式: k = A*(T^a)*exp(E/T) )
- 黑马学习笔记——public void Delete<T>(List<T> EntityList) where T : class, new() 的用法
- [小e笔记]之一步一步学习备份恢复——第二篇备份恢复原理
- 编译原理学习笔记08——(没有国你什么都不是之FOLLOW ME—推导笔记06的FOWLOW集)——2014_1_24
- hdu1175——连连看
- hdu1175——连连看
- NOJ1009——连连看
- MFC——连连看
- MFC——连连看
- 统计学学习笔记——(10)t检验
- Matlab的曲线拟合工具箱CFtool使用简介及一种非线性函数的曲线拟合方法(函数公式: k = A*(T^a)*exp(E/T) )
- 广东工业大学2016校赛决赛重现——E积木积水(方法据说很多)
- AT&T汇编语言——简单实例及工具演示
- 赋值语句的执行顺序
- Opencv 例程讲解8 ----如何实现Mat以及自定义类型的读写操作
- Java学习第五天:面向对象
- dispatch、onIntercept、onTouch三者对MotionEvent的分发、拦截机制分析
- jquery UI dialoag 窗口 建表 提交 (学习记录)
- 编译原理学习笔记06——(连连看—准备一下很多课件都演示的公式E → E+T | T )——2014_1_22
- db2导入导出表命令
- centos6 上用nginx 和 uwsgi 搭建 python web运行环境
- Construct Binary Tree from Preorder and Inorder Traversal
- Mysql date转string
- 黑马程序员_Java集合概述
- Hadoop管理员的十个最佳实践
- Android属性之build.prop生成过程分析
- 网站域名解析及ICP备案(新版)