词法、语法、语义

编译原理

词法分析

词法分析阶段是编译过程的第一个阶段,这个阶段的任务是对源程序从前到后(从左到右)住个字符的扫描,从中识别出一个个“单词”符号。

"单词"符号是程序设计语言的基本语法单位,如关键字(保留字)、标识符、常数、运算符、分隔符 等。
词法分析程序输出的“单词”常以二元组的方式输出,即单词种别和单词自身的值。

语法分析

其任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位。如“表达式”、“语句”、“程序”等。

语法规则就是各类语法单位的构成规则。
通过语法分析确定整个输出串是否构成一个语法上正确的程序。如果源程序中没有语法错误,语法分析后就能正确的构造出其语法树;否则报错并给相关的诊断信息。

语义分析

语义分析阶段分析各语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息后面的代码生成阶段使用。

语义分析的一个主要工作内容是进行类型分析检查。
程序语言中的一个数据类型一般包含两个方面的内容:类型的载体及其上的运算。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量子,相反而皆相成也

感谢您的鼓励和支持❥(^_-)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值