编译原理第二章高级语言机器语法描述总结

 知识点:

       程序语言由语法和语义两方面定义,语法包括字母表、单词符号、语法单位这三个基本概念,而语义定义了语言的单词符号和语法单位的意义。

       字母表是一个有限的字符集,它包括大小写英文字母,数字,特殊符号。(任何语言都是一定字符集或字母表上的字符串或有限数列)

        单词符号是语言中具有独立意义的最基本结构,一般包括常数、标识符、基本字、算符和界符。eg:0.5是实数,=是赋值符号。

        语法单位是由单词符号构成的更大的结构,一般包括表达式、语句、分程序、函数(语句块)、函数(有返回值)、程序等。

        语法是一组规则,再次规则上可以产生形式上正确的程序,它包括词法规则和语法规则。词法规则是合法单词的构成规则,语法规则是合法程序的构成规则。

        语义描述方法:属性文法和基于属性文法的语法制导翻译方法。

        

        建立在有限字母集上的一个符号系统有一定的语法和语义规则。语法规则包括此法规则和语法规则,语义规则是描述语法单位的功能和含义。而程序的功能是描述数据和对数据的运算。

        高级语言分类:

        程序设计规范:强制式语言、应用式语言、基于规则的语言、面向对象的语言。

        编译时是否需要类型检查:静态类型语言(编译时需要确定类型)、动态类型语言(运行时自动确定类型)。

        类型检查强弱:弱类型语言、强类型语言。

        

        文法是描述语言的语法结构的形式规则。

        上下文无关文法:所定义的语法范畴或语法单位是完全独立于这种范畴可能出现的环境的。具有独立性的特点但不能用来描述自然语言。

        分析方法:推导、构造语法树。

    文法G组成:一组终结符号,一组非终结符,一个开始符,一集一组产生式。即可表示为

        终结符:组成语言的基本符号,即在程序语言中屡次提到的单词符号,如基本字、标识符、常数、算符和界符等、

        非终结符(语法变量)用来代表语法范畴。一个非终结符代表一个一定的语法概念,是一个类或集合的记号,而不是个体记号。

        开始符号是一个特殊的非终结符号,表示所定义的语言中我们最感兴趣的语法范畴。个人理解为一个句型的开端,由此来来推导出整个句型。

        产生式是定义语法范畴的一种书写规则。eg:A→α,其中A是一个非终结符,α是非终结符号或是终结符号组成的医嘱符号串,称为候选式。产生式的主要目的是通过左边的非终结符,根据规则,最终转化成为终结符。


        推导:


        假设g是一个文法,s是开始符号,则有s经任一次推导得到的α称为句型,仅有终结符号的句型是一个句子,而又g产生的所有句子就是一个语言,记为L(G)。

    

        最左(右)推导:在对α=>β的任何推导过程中,首先对α的最左(右)非终结符进行替换的过程。


        语法分析树:简称语法树,是用来表示推导的过程。语法树的根节有开始符号所标记。随着推导的展开,当某一个非终结符被他的某个候选式所替换时,这个非终结符的相应结就产生了下一代新结点,每个新结点和气父亲节点间都有线连接。在语法树生长过程的任何时刻,是由没有后代的端末结自左到右排列起来就是一个句型。

                eg:

                        

        如果一个文法存在某个句子对应两颗不同的语法树,则称为这个文法具有二义性。

        注意:    

                

        消除二义性:定义优先级和结合性,引入新的非终结符,建立新的产生式。

        如:

            

    上下文无关文法的限制:                


        

        形式语言鸟瞰:

        文法分为四种类型:0型、1型、2型、3型,后比前强(对应的语言表达能力强,即句子的形式多,语言集合大)。

        0型:


        1型:产生式的形式为α→β,其中|α|<=|β|,S→空除外,但S不得出现于任何产生式的右部。

        1型文法又称为上下文有关文法,另一种定义形式αAβ→αγβ。该文法所描述的语言又称上下文有关语言。

        2型:文法的产生式满足A→α,A是非终结符,α为非终结符和终结符组成的符号串或是空串。

        2型文法又称为上下文无关文法,所描述的语言又称为上下文无关语言。

        3型:文法的产生式满足A→αB或A→Bα,A是非终结符,α为非终结符和终结符组成的符号串或是空串。

        3型文法又称为右线性文法过左线性文法,统称正规文法,所描述的语言又称为正规语言。

        

        4种文法的比较:




习题:


        


总结:

        高级语言机器语法描述这一章是之后章节的基础通过学习这一章,我知道了有关构造语言的基本内容。学会了以推导和语法分析书的方式由基本的文法的到跟该文法有关的语言。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值