编译原理入门:词法分析、语法分析与语义分析详解
创作时间:
作者:
@小白创作中心
编译原理入门:词法分析、语法分析与语义分析详解
引用
CSDN
1.
https://blog.csdn.net/cprimesplus/article/details/105724168
什么是编译?
编译就是将高级语言程序转换成汇编语言程序/及其语言程序的过程。
编译,说白了就是翻译,对比精细的人工英译汉的步骤:
- 词法分析:分析词性:每个词属于名词?形容词?动词?介词…
- 语法分析:分析各种介词短语、名词短语、动词短语…
- 语义分析:以上两个步骤的意义就是为语义分析做铺垫,通过将语法展开成下图树的形式,可以最终根据根节点分析出整个句子的意思是什么。
编译的步骤也和人工翻译是一样的。
编译器的结构
词法分析
- 词法单元形式:二元组token:<种别码,属性值>
- 对种别码的解释
一词一码:就是说,每个不同的词分别使用一个种别码,比如:
if: <IF, >
program: <PROGRAM, >
while: <WHILE, >
多词一码:标识符是程序员编程时设置的。我们为不能枚举所有标识符,因此将所有标识符归为一个种别码。由于多个词对应一个种别码,因此在同一种别码间需要另外设置属性值来标识不同的属性:(变量名?数组名?常量?)或者(整型?浮点型?字符型?…)
语法分析
解释:
整条语句
数据类型
标识序列
语义分析
主要做两件事:收集标识符的属性信息 和 对语义的检查(检查合法性)
热门推荐
如何在1.3万元预算内购齐9件高性价比家电
万领钧 Knit People剖析:德国劳动法中对劳动者权益的保障及启示
德国工作时间与心理健康:工作与休息的科学
坦桑尼亚红爪帝王蝎:从形态特征到饲养指南的全面解析
解析:五官端正的具体含义
林丹羽毛球教学——扣杀技巧(从零基础到高级技巧)
羽动青春,健康与乐趣并存——打羽毛球的全方位指南
口腔溃疡与免疫力的关系,如何通过饮食增强免疫力
软件开发路线图:从初学者到专家的完整指南
刘肥之“肥”:名字背后的真相揭秘
为什么要测量相序是否一致呢?
油梭子萝卜馅蒸饺怎么做好吃
西安半坡博物馆:中国第一座史前聚落遗址博物馆
腹泻了该吃哪些止泻药好 蒙脱石散止泻效果怎么样
除瘢痕最有效的方法是什么
Steam更新失败怎么办?8个实用解决方案帮你轻松应对加载问题
Steam游戏缺少dll文件怎么办?5种实用解决方案
企业团队建设活动全攻略:40种创意方案提升团队凝聚力
厦门大学附属第一医院:闽西南规模最大三甲综合医院
探秘洱海:云南洱海必游的八大绝美景点精选
2025年高考各省用什么卷子?附全国各省用卷+试卷结构情况
古代军队如何能把征召来的农民教育成不怕死的战士
国产镜片跟进口镜片的区别是什么?从两者的材质、成效、价格、口碑多方面来进行对比
尿崩症是什么原因引起的,有什么症状
21场输5场!皇马低迷的原因找到了,罪魁祸首并非姆巴佩,太意外
《文豪野犬》动漫深度解析推荐
自古华山一条路——华山古道的开拓、价值及保护发展探讨
华山游攻略:投身华山冒险,感受雄伟与险峻
如何了解房产的租赁市场情况?这种了解对租房有哪些帮助?
生活压力大,如何舒缓抑郁情绪?