软件设计师第二章笔记

本文讨论了机器指令程序的效率问题,比较了编译程序和解释程序的工作原理,包括源程序、汇编、编译与解释的区别,以及传值调用与传引用的不同。强调了编译方式中的词法分析、语法分析和语义分析在生成目标代码中的重要性,以及符号表在辅助正确性检查的作用。
摘要由CSDN通过智能技术生成

机器指令程序:效率低,难以维护修复。

编译程序和解释程序:

语言处理程序:翻译高级程序设计的语言。翻译的形式:汇编,解释和编译。

源程序:由某种高级语言或汇编语言编写的程序

如果是汇编语言写的程序,先有汇编程序翻译成目标目标程序才能执行,程序是由某种高级程序编写,对应的解释程序或者编译程序进行翻译。

解释器:翻译源程序时不生成独立的目标程序。解释程序和源程序要参与程序的运行过程中。

编译器:翻译时将源程序翻译成独立保存的目标程序。机器上运行的时与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的运行过程。

传值调用:

将实参的值传给形参,形参必须有地址,实参不能是常量(值),表达式。

不可以实现实参和实参双向传递数据的结果。

传引用(地址)调用

将实参的地址传给形参,形参必须有地址,实参不能是常量(值),表达式。

可以实现形参和实参间双向传递数据的结果,及改变形参的值的同时也改变了实参的值。

编译方式:词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成。

解释方式:词法分析,语法分析,语义分析

(词法分析,语法分析,语义分析)不可忽略,顺序不可调换

编译器方式中间代码生成和代码优化可省略,编译器方式可忽略它们直接生成目标代码。

符号表:不断收集,记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入符号表中。记录源程序中各个字符的必要信息,以辅助语义的正确性检查和代码生成。

语法分析:

        输入:源程序;输出:记号流

词法分析阶段的主要作用是:分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言规定

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值