?看了看学校的ppt,记的比较随意O.o?
?因为我的考试范围里边没有简答所以概念什么的没怎么记?
?没有简答只有选择真是太好了嘿嘿嘿?
目录
3、Chomsky分类(没记得老师讲过O.o,不过还是看看吧)
3、NFA 转成 DFA(要出大题但是ppt没看懂。。需要看课本)
过程式(怎么做),逻辑式(做什么),函数式(数学证明),面向对象(如Java)
顺序,并行
将源程序翻译成机器能识别的目标代码程序
检测源程序中可能出现的各种错误,包括:词法错误,语法错误,语义错误等
输入高级语言源程序,识别源程序中的单词,并把单词转换成内部表示形式,同时检测程序中的词法错误。(?把高级语言程序转换成单词序列,检测词法错误?)
检测源程序中的语法错误,即检测程序中语法结构存在的错误。
构造符号表,并检测程序中的语义错误。
将源程序翻译成与机器无关的中间表示形式。中间代码是高级语言与目标语言之间的桥梁,不依赖于目标语言,有利于进行与目标机无关的代码优化,也有利于编译程序的重定位和移植。
中间代码的优化以便产生高质量的目标代码。
可以是汇编语言程序,也可以是机器代码程序。
1、编译程序是元级程序
2、编译程序要面对所有源语言程序,所以要面面俱到,考虑周全
3、高级语言和低级语言是不同级别的语言,二者的差异很大
4、编译程序是计算机系统中最重要的系统软件之一,其可靠性和优化方面的要求均很高
字母表:符号的有穷集合,符号用以构成语言中的句子。
文法:结构规则的有穷集合,定义句子中符号的合法上下文。
语义:操作规则的集合,定义了程序在计算机上执行的操作效果。
是定义语言语法结构的一组形式规则(语法规则),可以将语言的所有成分描述出来。
一步直接推导 好多步叫推导
某个句子存在两颗不同语法树,即:一个句子有两种推法
最左 → 推的时候从左边第一个开始换
最右(规范) → 从右边第一个开始换
从左到右逐个字符地对源程序进行扫描,产生单词序列,用于语法分析。
图例(不熟的话可以看看),例图可以看看书,ppt上画的有点。。丑
直接看例题,找所有第一个小写字母
后边的first,后边是空就把左边的follow加进去
?刚开始还因为B'有个空看了半天。。后来问了大佬懂了。笨死我算了 O.o?
因为 B→ X]或BA,所以B'空相当于B → X]
前四章看完了,还有挺多盲区。。等看完后边四章再看看课本去Orz