【软考】【程序设计语言基础】编译与解释

  • 计算机对源程序的处理有两种方式,一种是解释型,一种是编译型。解释型就是输入一行代码按回车立即分析执行该条语句;编译型是指整个代码写完后,按编译运行才可以执行。

1.编译过程

这里写图片描述

这里写图片描述

1.1 词法分析

逐字符扫描,识别出“单词”符号,如关键字、标识符等。词法分析输出的单词常常采用二元组的方式,即单词类别和单词自身的值。

  • 词法错误: 非法字符,关键字或标识符拼写错误

1.2 语法分析

根据语法规则将单词符号序列分解成各类语法单位,如表达式、语句、程序等。在此过程需要分配存储空间(基本数据类型和结构化数据类型以及连接数据,如返回地址、参数等)。分配策略有静态存储分配和动态存储分配。

  • 静态存储分配: 在编译时就可以安排好目标程序运行时的全部数据空间,并确定每个数据对象的存储位置。
  • 动态存储分配: 如果一个程序语言允许递归过程和可变数据结构,则需用栈分配和堆分配来动态存储分配。
  • 语法错误:
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值