宏
宏编程
在用一种不熟悉的宏语言进行宏编程时,可以这样做,首先记录下用户想要宏完成什么,然后打开宏文件并尝试理解命令结构如何工作。也可以修改命令以调整宏。一些宏语言,比如Great Plains会计软件的Dexterity运行时引擎,不能从其它数据源(如由逗号分隔的文本文件)导入数据。这一限制可以通过用更强大的编程语言,如VBA来创建一个计算机程序在此弱编程语言里生成一个特别的宏来解决。例如,可以对Microsoft Excel宏编程从扩展样式表或文本文件中读取数据并创建Great Plains .mac文件,这一文件被用于将特定的数据导入Great Plains.需要针对每一个新的数据集合生成新的.mac文件。
宏应用
应用程序也可以使用一种和宏类似机理的系统来允许用户将一系列(一般是最常使用到的操作)自定义为一个步骤。也就是用户执行一系列操作,并且让应用程序来“记住”这些操作以及顺序。更高级的用户可以通过内建的宏编程来直接使用那些应用程序的功能。
当使用一种不熟悉的宏语言来编程时,比较有效的方法就是记录一连串用户希望得到的操作,然后通过阅读应用程序记录下来的宏文件来理解宏命令的结构组成。
键盘宏
键盘宏和编辑器宏分别在图形用户界面和编辑器中被交互式地使用。使用它们可以用简短的击键代替冗长的命令序列,并为重复性任务提供了一个简单的自动化形式,但2009年已经有所改变。
程序员的文本编辑器Emacs(“编辑宏”[Editing MACroS]的简称)是沿用这一思想的产物。事实上,大多数编辑器是由宏组成的。Emacs最初被设计为编辑语言TECO的宏集,后被移植为Lisp的一种方言Emacs Lisp。Vim也允许用户录制和播放简单的键盘宏。
宏语言
宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。例如,
C预处理器
Internet Macros(iOpus)
M4(如前所述,源于AT&T,捆绑于Unix)
微软Word和宏病毒
Visual Basic for Applications(VBA),是Microsoft Office里的一种编程语言。但由上面的定义,它完全不是一种宏语言。然而,它的功能已经从中发展并最终替代了用户应用程序的宏思想,所以它被广泛地错误地称为是一种宏语言。
VBA可以访问许多操作系统函数并支持文档打开时自动执行宏。这使得用这种语言写计算机病毒成为可能。1990年代中后期,宏病毒成为了最流行的计算机病毒类型之一。其它的包括宏语言的项目,如OpenOffice.org,故意从其宏语言中排除了一些功能(如:自动执行)以避免破坏程序。然而,这一特性在很多事务中受到欢迎。
参见
PHP
SMX
Stage 2
脚本语言如Tcl和ECMAScript(即:ActionScript,DMDScript,JavaScript,JScript)已被嵌入应用程序,所以它们的运行类似宏。
TeX
Visual Basic Script(Microsoft)
Lisp有一个强大而不整洁的宏语法,可能会产生变量同名捕捉的问题。(Lisp has a powerful system of unhygenic syntax macros, but is prone to variable capture.)
Scheme有整洁的宏语法,可能是常被使用的最高级的无型别的宏系统
MacroML是一个探寻静态型别和宏系统和谐点的实验系统。
通用目的宏处理器是一个上下文模式匹配宏处理器,可以说他是正则表达式,EBNF和awk的组合。
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

- 有价值
- 一般般
- 没价值



24小时热门
推荐阅读
关于我们

APP下载

