博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【编译原理】第一章引论
阅读量:2355 次
发布时间:2019-05-10

本文共 380 字,大约阅读时间需要 1 分钟。

1.1语言处理器

  • 编译器:将源语言翻译成目标语言。
  • 解释器: 直接利用用户提供的输入执行源程序中指定的操作。
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

1.2一个编译器的结构

  • 由两个部分组成:分析部分和综合部分。
    • 分析部分:把源程序分解成多个组成部分,并在这些要素之上加上语法结构。程序语法出错在这个阶段检测并反馈。产生符号表,并将符号表和中间表示形式一起传送给综合部分。
    • 综合部分:根据前段传回来的信息构造目标程序。
    • 通常分析部分称为编译器的前段,综合部分称为编译器的后端。
  • 一个编译器的各个步骤图示:
    在这里插入图片描述
  • 词法分析器产生如下的词法单元:
  • 语法分析产生语法树。
  • 语义分析检查是否符合目标语言的语法规范。
  • 中间代码生成:三地址代码。
    • 三地址码注意事项:①每个三地址赋值指令的右端最多只有1个运算符。
      ②编译器应生成一个临时名字,以存放一个三地址指令计算得到的值。
      ③有些三地址指令的运算分量少于三个。
你可能感兴趣的文章
16.windbg-.frame、dt(切换局部上下文、查找结构体)
查看>>
开源任务管理器 Process Hacker (Windows)
查看>>
快速发现Windows中毒的工具:Process Hacker
查看>>
Process Hacker源码中的用户态hook的做法
查看>>
Get IT技能知识库 50个领域一键直达
查看>>
浅析C++中的this指针及汇编实现
查看>>
关于32位程序在64位系统下运行中需要注意的重定向问题(有图有真相)(***)
查看>>
解决win10系统中截图异常放大的问题
查看>>
关于Windows高DPI的一些简单总结
查看>>
tlb文件为何而生?
查看>>
IE9 GPU硬件加速到底是实用创新还是噱头
查看>>
几种TCP连接中出现RST的情况
查看>>
IAAS、SAAS 和 PAAS 的区别、理解
查看>>
RichEdit对ole 对象的相关支持总结
查看>>
(分享)win10下双显示屏独立设置不同缩放率的方法
查看>>
管理学十大经典定理
查看>>
杨澜的一句话,却要让我记一生
查看>>
U盘使用心得
查看>>
作为程序员的心态
查看>>
struts 2 s:if标签的使用
查看>>