zoukankan      html  css  js  c++  java
  • 编译原理学习总结

    第一章

    是基本概念,读完这一章是为了有个基本了解,这一章是很容易顺利读完的

    第二章

    这一章介绍了书中很多重要的东西。这一章虽然也有些难理解的地方,但是跟后面比还是容易很多,很多东西都很基本,对编译系统有个基本的理解。

    第三章 词法分析

    相比较语法分析,词法分析相对比较简单,就是一个自动机系统,学完这一章最基本应该把NFA、DFA概念理解,并能够将NFA转换为DFA,能将正则表达式转换为NFA,并可以使用lex生成简单的词法分析器。

    第四章 语法分析

    到目前为止最难的一章,据说很多自学的人都是读到这一章放弃的。学完这一章应该有了语法分析的概念,并理解语法分析的局限性,比如变量先声明后使用时没法通过语法定义的,但是相对词法分析,语法可以表示的东西已经多了很多。

    lex和yacc是学习编译原理很重要的部分,可以自动生成分析代码,但是默认编译对装换表做了优化,用几个一维表代替正常的二维表

    实际应用中的编译器通常会选择二义性文法和根据运算符的优先级来生成的文法,因为这样的文法相对比较简单

    第五章 语法制导的翻译

    这一章在语法分析中加入翻译代码,主要讲了2个概念:
    SDD:语法制导定义,由一个上下文无关文法和属性及规则组成
    SDT:语法制导翻译,是在其产生式体内嵌入了程序片段的一个上下文无关文法

    第六章 中间代码生成

    这一章讲了三地址中间代码的表示方法和程序中大部分内容的三地址表示方法

  • 相关阅读:
    Linux基础知识
    oracle用户及表空间基础
    渗透测试之目录扫描-Dirbuster
    oracle自定义函数身份证15位和18位的转换
    linux 网络带宽和延时测试
    LNMP(linux+nginx+mysql+php)服务器环境配置
    使用Medusa美杜莎暴力破解SSH密码
    暴力密码在线破解工具
    在linux下搭建NFS服务器实现文件共享
    Nginx是做什么的
  • 原文地址:https://www.cnblogs.com/wuwangchuxin0924/p/9187526.html
Copyright © 2011-2022 走看看