本栏博客目录
软考-软件设计师 笔记七(程序设计语言与语言处理程序基础)
软考-软件设计师 笔记八(法律法规)
软考-软件设计师 笔记十五(数据结构及算法应用)
文章目录
- 语法推导树
- 传值与传址
内容提要
编译过程
文法定义
语法推导树
在文法G中,a,b属于终结符(一般以小写字母来代表),大写的S和A是非终结符(这种符号可以推出其它符号),S是起始符,P是产生式(推导式)
S->aAS|a ⇒ S->aAs 、S -> a,S就是非终结符,因为S可以推导出别的元素来,a则是终结符,因为a不能推导出别的元素来,同理A也是非终结符,由这些生成式可以得出推导树。
有限自动机
{集合1(状态集),集合2(输入字符集),转换函数,唯一的初态,终态集}
由上式可知,S是开始,f是结束
由上式关系得下面的状态转换图
正规式
正规式跟正则表达式有点像。。。。
对于(1)中的 A 选项: S -> aA -> abS -> abaA -> ababS -> ababaA -> ababab (因为 S->aA|bB、A->bS|b)
其他选项也可以这么推导,D选项不能推导出来。
对于第二个空,需要将(1)中可以推导出来的式子带到(2)的各个选项中,判断哪个满足可能是正确答案。
(2)选C。(相当于正则匹配,不过得匹配所有的字符)
有限自动机例题
将选项带入即可,例如对于A:0000就是判断输入4个0能否从开始到结束,带入后发现是不可以的,其他选项同理带入,只有C选项满足。
表达式
先构造成树(括号提现的是优先级问题),然后再看需要求的前/中/后缀表达式。
对于例题构造成树后,后缀表达式显然是D(相当于对树后序遍历)
函数调用
传值与传址
传值
传址
各种程序语言特点