【编译原理】求First集和Follow集
2016-04-21 18:16
253 查看
弄了好长时间的编译原理还是在网上找的博客才搞懂的,在这里把博客贴出来!
文法:
文法:
S→ABc |
A→a|ε |
B→b|ε |
First集合求法: |
能由非终结符号推出的所有的开头符号或可能的ε,但要求这个开头符号是终结符号。如此题A可以推导出a和ε,所以FIRST(A)={a,ε};同理FIRST(B)={b,ε};S可以推导出aBc,还可以推导出bc,还可以推导出c,所以FIRST(S)={a,b,c} |
Follow集合的求法: |
紧跟随其后面的终结符号或#。但文法的识别符号包含#,在求的时候还要考虑到ε。 具体做法是把所有包含你要求的符号的产生式都找出来,再看哪个有用。 Follow(S)={#} |
如求A的,产生式:S→ABc A→a|ε ,但只有S→ABc 有用。跟随在A后年的终结符号是FIRST(B)={b,ε},当FIRST(B)的元素为ε时,跟随在A后的符号就是c,所以 Follow(A)={b,c} 同理Follow(B)={c} 原博客:http://guanjy0129.blog.163.com/blog/static/11154944520106149828498/ |
相关文章推荐
- Http 请求原理简介
- linux异步IO编程实例分析
- android学习笔记——Socket简单介绍
- android学习笔记——蓝牙介绍
- CSS中font-style的属性有Italic oblique,它们俩的区别是什么呢?
- ZOJ 3609 Modular Inverse【同余问题】
- 程序媛的好习惯
- 中间表--简例说明
- iOS环信3.0集成 (二)UI文件集成
- C和指针第四章编程练习
- android学习笔记——MVP模式介绍
- Android adb logcat使用技巧
- 数字图像处理,相位相关图像配准算法的C++实现
- CardView,android代码设置颜色没效果,解决
- SharePoint 2013 创建我的站点、onedrive
- Android 6.0 动态权限申请注意事项
- iOS开发 贝塞尔曲线UIBezierPath
- 使用kickstart脚本安装CentOS7
- innodb的锁到底占用多少内存
- nginx lua获取客户端ip