考点:
n 文法
n 正规式
n 有穷自动机
n 语法推倒树
n 算符优先
文法
认识终结符和非终结符
终结符:是最终的符号,是不可以单独在推导式的左边 小写字母表示
非终结符:是可以拆分的 大写表示
通常用S表示为开始符
文法类型:
Vn:表示非终结符的集合
Vt:表示终结符的集合
P:推导式的集合
S:表示开始符
关于3型文法的详细解释,在随笔中可以找到
链接:http://www.cnblogs.com/tangwanzun/p/5879577.html
正规文法和正规式的转化
规则二中并不是x乘以y
其中A->aX 是一个递归式 ,x※ 表示x有0到无穷多个 但是,他最终也等于y 所以写作x※y
试题:
S可以xSx或者y,其中的xSx中的S又可以展开,那么就是xyx或者xxSxx,xxSxx又可以展开,不断下去,总是两边有一样多的x,然后中间一个y
所以选择D
选择排除法:
等价的概念:就是两个正则式可以相互表示,即,A正则式可以表达出B正则式的任意组合,反之相同
- 可以看到,每一项中后面都有一个b,所以我们可以不看b
- (aa*|ab)代指的是,由aa*和ab构成的
a) 文法特征: b前面必须有一个a
3.(a|b)表示由a或b组成
a) 文法特征:只要有a或b就可以
4.((a|b)|aa)
a) 文法特征:只要有a或b就可以
b) 解释:这个是由两部分构成(a|b)和aa,因为这两部分是或的关系,所以两者出现一个就可以,而且(a|b)还存在于正则式2中,所以可以看出2 与3是等价的
5. 此题选择C
a可以是零个或者是多个
我们由规则2知道,am等价于a※
b必须是一个以上,则b是bb※,只有这样才能保证b至少是一个
所以此题选择A
提醒:关于正则式的相关知识,其实太过于复杂,不适合初学者学习,即便是不懂也不用过于在意,考试中牵扯的只是简单的转化和理解,只要能够理解上面题目,就可以应付软件设计师的考试