3-编译原理

考点:

n  文法

n  正规式

n  有穷自动机

n  语法推倒树

n  算符优先

文法

认识终结符和非终结符

3-编译原理

终结符:是最终的符号,是不可以单独在推导式的左边     小写字母表示

非终结符:是可以拆分的       大写表示

3-编译原理

通常用S表示为开始符

文法类型:

3-编译原理

3-编译原理

Vn:表示非终结符的集合

Vt:表示终结符的集合

P:推导式的集合

S:表示开始符

3-编译原理

3-编译原理

3-编译原理

3-编译原理

关于3型文法的详细解释,在随笔中可以找到

链接:http://www.cnblogs.com/tangwanzun/p/5879577.html

正规文法和正规式的转化

3-编译原理

规则二中并不是x乘以y

其中A->aX 是一个递归式 ,x※  表示x有0到无穷多个 但是,他最终也等于y  所以写作x※y

试题:

3-编译原理

S可以xSx或者y,其中的xSx中的S又可以展开,那么就是xyx或者xxSxx,xxSxx又可以展开,不断下去,总是两边有一样多的x,然后中间一个y

所以选择D

3-编译原理

选择排除法:

等价的概念:就是两个正则式可以相互表示,即,A正则式可以表达出B正则式的任意组合,反之相同

  1. 可以看到,每一项中后面都有一个b,所以我们可以不看b
  2. (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

3-编译原理

a可以是零个或者是多个

我们由规则2知道,am等价于a※

b必须是一个以上,则b是bb※,只有这样才能保证b至少是一个

所以此题选择A

提醒:关于正则式的相关知识,其实太过于复杂,不适合初学者学习,即便是不懂也不用过于在意,考试中牵扯的只是简单的转化和理解,只要能够理解上面题目,就可以应付软件设计师的考试