【软考知识点整理】程序语言

汇编、编译、解释系统

编译过程

  • 词法分析
    将源程序的字符串转换成单词符号序列,主要是针对词汇的检查。
    有限自动机是词法分析的适当工具。
    输入:源程序字符串
    输出:记号流

  • 语法分析
    根据语言的语法规则将单词符号序列分解成各类语法单位,如表达式、语句、程序等。主要是针对结构的检查。
    输入:记号流
    输出:语法树
    语法分析分两类:

    • 自上而下分析法:递归下降分析法、预测分析法
    • 自下而上分析法:移进-规约分析法
  • 语义分析
    主要针对句子含义的检查,但不是所有的语义错误都能够在该阶段检出,比如死循环,除以0等。

  • 中间代码生成

  • 代码优化

  • 目标代码生成

中间代码

中间代码可提高编译程序的可移植性。
中间代码不依赖于具体的机器。
不同的语言可以生成相同的中间代码。
常见的中间代码形式:逆波兰记号、四元式、三元式和树。

后缀式(逆波兰式)

根据运算优先级,将运算符放在算式的后面。
如(a + b)* c的后缀式为ab+c*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值