baihongyu.com
博客
关于我
强烈建议你试试无所不能的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标签的使用
查看>>