zoukankan      html  css  js  c++  java
  • 编译原理-第二章-高级语言及其语法描述总结

    1.语法:

      任何语言程序都可以看成是一定字符集上的字符串。但是怎么样产生这种”字符串“就要有语法

    2.语义:

      一种语言,给出了词法和语法还要给出符号单位的意义。离开语义语言只不过是一堆符号的集合。

    3.上下文无关文法:

      所谓上下文无关文法是指:他所定义的语法范畴(或语法单位)是完全独立于这种范畴可能出现的环境的。

    4.最左最右推导:

      就是优先推导最左(右)的非终结符。

      例题:

        令文法为:

          E -> T | E + T | E - T

          T -> F | T * F | T / F

          F -> (E) | i

        给出i + i * i的最左推导最右推导

        左:E -> E + T -> T + T -> F + T -> i + T -> i + T * F -> i + F * F -> i + i * i

        右:E -> E + F -> E + F * T -> E + F * F -> E + i * i -> F + i * i -> i + i * i   

    5.语法分析树和二义性:

      如果对于不同的推导方式会产生不同的语法树,那么这个文法是二义

      语法分析树:简称语法树,用来表示推导过程。具有不唯一性。

      例题:

        令文法为:

          E→E+E|E*E|(E)|i

        关于(i*i+i)的推导形成语法树:

      

    6.上下文无关:

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

       上下文无关文法的特点:它所定义的语法范畴(或语法单位)是完全独立于这种范畴可能出现的环境的。

    特点:独立性

            缺点:不能用来描述自然语言

    感悟:

      编译原理挺难的,很多东西很抽象,理解起来很麻烦。可能到后边的应用就会好些吧。

  • 相关阅读:
    《冒号课堂》目录 书名:冒号课堂——编程范式与OOP思想
    很好的WEB打印网页打印功能
    桌面搜索程序 Python
    面向对象保存爬虫数据 Python
    爬取微博热搜榜 李白之死 Python
    雪中悍刀行热播,来做一篇关于python的作业 爬虫与数据分析
    几个简单的例子 巩固Xpath语法 Python
    替换特殊字符 Python
    爬取酷狗榜单并可视化词云 Python
    Selenium尝试更改useragent 基于Python
  • 原文地址:https://www.cnblogs.com/wuwangchuxin0924/p/8603617.html
Copyright © 2011-2022 走看看