编译原理

来源:互联网 发布:淘宝开店关键词 编辑:程序博客网 时间:2024/03/28 17:01

 编译原理学习总结如下,这也是软考中的考点

文法

        文法:描述语言语法结构的形式规则称为文法。文法G是一个四元组,表示为G=(Vn,Vt,P,S)。

                    Vt:是一个非空有限集,其中的每个元素称为一个终结符。小写表示

                   Vn:是一个非空有限及,其每个元素称为非终结符。大写表示

                   S:称为开始符号,它至少要在一条产生式中作为左部出现。

                   P:产生式的集合。

        文法的分类:

                   文法的分类本质的差别在于对产生式施加不同的限制。α→β,均有α∈(Vn∪Vt)

                   0型文法:又称短语文法,α→β产生式中,α至少含有一个非终结符。其能力相当于图灵机

                   1型文法:又称上下文有关文法。它对应与线性有界自动机。在0型文法基础上要求|α|<=|β|,这里指的是产生式的长度

                   2型文法:又称上下文无关文法。它对应于下推自动机。α→β产生式中,左边产生式必须为非终结符。

                   3型文法:也叫正规文法。它对应于有限自动机。3型文法又分为左线性文法和右线性文法。在2型文法基础之上要求A→α|αB(右线性);A→α|Bα(左线性)

有限自动机

                    有限自动机分为:确定有限自动机和不确定有限自动机。

                    确定有限自动机(Deterministic Finite Automata,DFA)是个五元组(S,∑,f,s0,Z)

                    S:是一个有限集,其每一个元素称为一个状态。

                    ∑:是一个有限字母表,其每个元素称为一个输入字符;

                    f:是从S x ∑→S上得单值部分映像。

                    s0:s0∈S,是唯一的一个开始状态。

                    Z:是非空的终止状态集合,Z包含与S

                    不确定有限自动机(Nondeterministic Finite Automata,NFA),它与不确定有限自动机的区别在于

                     1、f是从S x ∑→2s上得映像。对于S中得一个给定状态及输入符号,返回一个状态的集合。当前状态的后继状态不一定是唯一的。

                     2、有向弧上的标记可以是ε;ε代表空;

                    有限自动机考点主要是不确定有限自动机和确定性有限自动机之间的转换。  

语法推导树

                   短语:每一个树的叶子节点就是一个短语

                   句柄:最左直接短语就是该句型的句柄

                   直接短语:只经过一步就可以推出的。

                   素短语:至少含有一个终结符的短语。

 算符优先级

  正规式

       

       

原创粉丝点击