栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 百科 > 知识 > 工程

什么是宏加工程序?

工程 更新时间: 发布时间: 百科归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

什么是宏加工程序?

[拼音]:hongjiagong chengxu

[外文]:macroprocessor

把源程序中的宏指令或宏语句扩展成等价的、预先定义的指令或语句序列的翻译程序。

宏指令或宏语句,实际上是按规定格式书写的某一源程序段的缩写,主要是根据用户自己特定的需要而设置的。它利用程序设计语言所提供的指令或语句来定义。系统也可以预先定义一些常用的宏指令或宏语句,以便用户直接调用。

建立宏加工程序后,用户就可以方便地定义和使用自己所需的宏指令或宏语句。这不仅能简化应用程序的编写,而且有助于软件人员研究和移植有关的软件。例如,利用宏指令或宏语句设计虚拟机,研究新的语言,以及生成带有变化成分的软件等。

宏指令的定义、调用和扩展

定义宏指令时,要给出它的名字、格式、参数和等价的指令序列,即由开始行、指令序列和结束行组成。开始行中的操作码标明宏指令定义开始;标号字段给出宏指令的名字;操作对象字段给出宏指令的参数;结束行中的操作码标明宏指令定义结束。在开始行和结束行之间,给出用来定义宏指令的指令序列,其中有些指令可出现开始行中列出的参数。

程序中可按宏指令的格式调用有定义的宏指令。宏指令中的操作码字段给出宏指令的名字;操作对象字段中给出用户所需的参数。

宏加工程序将程序中出现的宏指令扩展成等价的指令序列,并进行参数替换。

宏语句的定义、调用和扩展,与宏指令的情形类似。为简单起见,分别将其统称为宏定义、宏调用和宏扩展。

实现过程

宏加工程序通常采用两遍算法实现:第一遍收集宏定义的信息;第二遍实现宏扩展。在第一遍扫描中,遇到宏定义时,应把名字、格式、参数等信息以及随后的等价的指令或语句序列记录到宏定义表中。对于源程序中宏定义以外的部分,将不加改变地复写到中间结果程序区中。第二遍扫描第一遍所产生的中间结果程序。遇到宏调用时,则将宏定义表中相应的等价指令或语句序列复写到目标程序区中。复写过程中,要用宏调用中的实在参数替换宏定义中的形式参数。

如果限制每个宏调用只能调用前面已定义的宏指令或宏语句,那么,这种宏加工程序的实现算法可合并成一遍完成。

功能较强的宏加工程序还可增加嵌套宏定义、嵌套宏调用或条件宏加工等功能。如果宏定义中含有另外的宏定义,则称为嵌套宏定义。如果宏定义A中出现宏调用,那末在扩展A的宏调用过程中,又要进一步转去扩展另外的宏调用。这种情形称为嵌套宏调用。如果宏加工程序能根据宏调用中的参数,有选择地把宏调用扩展成不同的指令或语句序列,则称为条件宏加工。

参考书目
    M. Campbell-Kelly, An Introduction to Macros,MacDona ld.London,1973.P. J. Brown,Macro Processor and Techniques for Porable Software, Wiley, London,1974.A. J. Cole, Macro Processor,Cambridge Univ.Pr.,Cambridge,1976.
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/ask/842311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号