预处理

✍ dations ◷ 2025-05-18 07:03:47 #预处理
在计算机科学中,预处理器是程序中处理输入数据,产生能用来输入到其他程序的数据的程序。输出被称为输入数据预处理过的形式,常用在之后的程序比如编译器中。所作处理的数量和种类依赖于预处理器的类型,一些预处理器只能够执行相对简单的文本替换和宏展开,而另一些则有着完全成熟的编程语言的能力。一个来自计算机编程的常见的例子是在进行下一步编译之前,对源代码执行处理。在一些计算机语言(例如:C语言)中有一个叫做预处理的翻译阶段。词法预处理器是最低级的预处理器,因为它们只需要词法分析,也就是说,它们在语法分析处理之前,根据用户定义的规则,进行简单的词法单元替换。典型的词法预处理器产生宏替换,包含其他文件的文本,并且条件性地编译或者包含文件。最常见的例子是C预处理器,采用以'#'为行首的指示。因为它不知道底层语言,它的使用被批评并且它的许多功能被其它语言直接内建。例如,宏替换被显式内联和模板替代,包含变为编译期导入(compile-time import,这需要在目标代码中预先保存类型信息,使这个功能无法改进一个语言);条件编译被if-then-else和死代码消除替代。其他词法预处理器包括一般用途的m4,最常用的跨平台构建系统,比如autoconf,和开源的宏处理器GEMA,操作上下文模式。句法预处理器是由Lisp家族语言引进的。它们的作用是根据若干用户定义的规则转换语法树。对于某些程序语言,这些规则是使用同一种语言来写的(compile-time reflection)。这就是Lisp和OCaml的情况。某些编程语言依靠一个完全的外部语言来定义转换,例如XSLT处理器处理XML的方式,或与静态类型的对应语言CDuse。静态处理器常被用来自定编程语言的语法,并透过增加新的primitives或嵌入特定领域语言(Domain-Specific Programming Language)到一般用途的语言里来扩展。关于自定义语法的一个好例子是在OCaml编程语言里两个不同语法的存在。程序可能平常地由“正常语法”或“校正过的语法”写成,并且按需求由两者之一进行程序优化类似地,一些OCaml语言写成的程序借由新运算符的增加来自定化语言的语法。对于从宏扩展语言最好的示例可在LISP语言家族里找到。这种语言本身就是简单的动态类型核心模块,Scheme或Common Lisp的标准分配允许了命令或面向对象的程序编辑,静态类型亦如此。几乎所有这些特性都由语法预处理运行,虽然它的“宏扩展”编译阶段由LISP的编译器处理这点很值得一提就是。这仍然可以视为预处理的一种形式,因为它在编译阶段前就进行了。类似地,静态检查、类型安全正规表式或代码生成可能透过宏被加入到OCaml的语法和语义里,如同微线程(亦称为协程或fibers)、单子或透明的XML操作。任何“一般目的预处理器”,例如M4,都可以当成模版引擎(template engine)使用。

相关

  • 反刍综合症反刍综合症是指经常性的将已经吞咽下去的正常食物吐出或是咀嚼后再咽下的一种进食障碍,过去这种疾病只在儿童身上出现,但如今它在成年人身上出现了上升趋势。
  • 本体论本体论(英语:Ontology),又译存在论、存有论,是形而上学的基本分支,本体论主要探讨存有本身,即一切现实事物的基本特征。有的哲学家,如柏拉图学派认为:任何一个名词都对应着一个实际存
  • 美国政府作品版权依据美国版权法规定,美国政府作品是指政府官员或雇员职务上所创作的作品。此处所定义的政府作品仅及于美国联邦政府,不包括各州及地方政府。依据版权法第105节,美国政府作品不
  • 爱兰爱兰是一种乳白色的冷饮,它由三分之一的优格和三分之二的盐水搅拌而成。爱兰在中东、中亚和东南欧地区非常流行。爱兰的历史可以追溯到波斯王朝。土耳其是世界上生产爱兰最多
  • 冰醋酸乙酸,也叫醋酸,化学式CH3COOH,是一种有机一元酸和短链饱和脂肪酸,为食醋内酸味及刺激性气味的来源。纯正且近乎无水的乙酸(含水量1%以下)称为“冰醋酸”,为无色的吸湿性固体,凝固
  • 罗尔夫·马克西米利安·希沃特罗尔夫·马克西米利安·希沃特(瑞典语:Rolf Maximilian Sievert,1896年5月6日-1966年10月3日,瑞典语发音:)是一位瑞典生物物理学家、辐射防护专家,他主要贡献于研究辐射对生物体的影
  • 子音辅音,或称子音,在调音语音学中是语音的一类,与元音相对,发音的调音环节中气流在调音器官某一部分受到完全或部分阻碍。辅音的发音都可以分为三个阶段:成阻——持阻——除阻。这三
  • 第一财政大臣政治主题第一财政大臣(英语:First Lord of the Treasury),或首席财政大臣,是行使英国过去财务大臣(Lord High Treasurer)职位的长官,19世纪末以来,皆为首相兼任。目前,此职位现由鲍里
  • Tasub2/subOsub5/sub五氧化二钽(化学式:Ta2O5)是钽最常见的氧化物,也是钽在空气中燃烧生成的最终产物。白色无色结晶粉末。在1000~1200℃时仍保持白色,进一步升高温度则变为灰色。已知有两种变体:
  • 下埃及上下埃及乃埃及在前王朝时期,以孟斐斯为界,位处尼罗河上下游的两个各自独立政权。上游南方地区为上埃及(Upper Egypt),下游北方地区为下埃及(Lower Egypt)。埃及的统一及由之而来的