码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 编译原理网课笔记——第一章


    第一章

    1.1绪论

    编译:将高级语言(源语言)翻译成汇编语言或机器语言(目标语言)的过程。

    1.2编译系统的结构

    词法分析 :确定词性词类

    语法分析 :识别短语,划分句子成分,获取结构

    语义分析 :根据结构,分析短语,词与词之间的关系,给出中间表示形式。

    代码生成优化

    1.3词法分析概述

    词法分析的主要目标:从左向右识别各个单词,确定单词的类型。将识别出的单词转换成统一的机内表示(词法单元形式)。

    token:

    1.4语法分析概述

    语法分析的主要任务:语法分析器(parser)从词法分析器输出的token序列中识别出各类短语,并构造语法分析树(parse tree)。

    文法:

    声明语句 ==

    类型 == int|real|char|bool

    标识符序列 == id|,id

    语句的分析树

    1.5语义分析概述

    语义分析的主要任务:

    • 收集标识符的属性信息
      • 种属
      • 类型
      • 存储位置与长度、值、作用域
      • 参数与返回信息)
    • 语义检查
      • 变量或过程未经声明就使用
      • 变量或过程重复声明
      • 运算分量类型不匹配
      • 操作符与操作数之间类型不匹配

    符号表:用来存放标识符的属性信息的数据结构。

    设计字符串表的原因:可能存在字符串相同但种属与类型等参数不同的情况,使用字符串表更好。)

    1.6中间代码生成和编译器后端

    1. 常用的中间表示方式:
    • 三地址码:由类似于汇编语言的指令序列组成,每个指令最多有三个操作数)(表示方法:四元式,三元式,间接三元式)
    • 语法结构树/语法树(Syntax tree)
    1. 目标代码生成的主要任务:以程序的中间表示形式为输入,并把它映射到目标语言。为程序中的变量分配寄存器
    2. 代码优化:为改进代码所进行的等价程序变换,使运行效率加快,占用空间减少。
    • 机器无关优化(对象:中间代码)
    • 机器相关优化(对象:机器代码)
  • 相关阅读:
    新用户如何选择WMS仓储管理系统解决方案
    什么是向量量化层以及向量量化层在生成模型中的作用
    (六)Ansible-Template
    L2-020 功夫传人(Python3)
    长城软件面经
    多商户进驻小程序商城的作用是什么
    六步快速搭建个人网站
    C++继承与派生解析(继承、重载/转换运算符、多重继承、多态、虚函数/纯虚函数、抽象类)
    MySQL字符串提取
    【大数据采集技术与应用】【第一章】【大数据采集技术与应用概述】
  • 原文地址:https://blog.csdn.net/m0_54674275/article/details/127631449
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号