预处理

✍ dations ◷ 2025-06-07 22:11:00 #预处理
在计算机科学中,预处理器是程序中处理输入数据,产生能用来输入到其他程序的数据的程序。输出被称为输入数据预处理过的形式,常用在之后的程序比如编译器中。所作处理的数量和种类依赖于预处理器的类型,一些预处理器只能够执行相对简单的文本替换和宏展开,而另一些则有着完全成熟的编程语言的能力。一个来自计算机编程的常见的例子是在进行下一步编译之前,对源代码执行处理。在一些计算机语言(例如: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)使用。

相关

  • 易感个体易感个体(英语:susceptible individual)在流行病学中是指人群中容易感染疾病或暴露于致病因子下但不能服用某些特定药物(如抗生素)的个体。易感个体在暴露于野毒株或接种相应的疫
  • 世界概况《世界概况》(英语:The World Factbook,又译作世界各国纪实年鉴)是由美国中央情报局出版的调查报告,发布世界各国及地区的概况,例如人口、地理、政治及经济等各方面的统计数据。因
  • 对氨基水杨酸钠4-氨基水杨酸(英语:4-Aminosalicylic acid,又名对氨基水杨酸、氨基水杨酸或PAS)是一种用于治疗结核病的抗菌药。 它也被用于治疗炎症性肠病。 它通过抑制NF-κB及清除自由基而发
  • 西墙西墙,又名哭墙(希伯来语:הַכֹּתֶל הַמַּעֲרָבִי‎,HaKotel HaMa'aravi),阿拉伯人称之为布拉克墙(阿拉伯语:حائط البراق‎,Ḥā'iṭ Al-Burāq)位于耶路
  • 手肘肘是指手臂中部,连接上臂与前臂的铰链关节——肘关节附近的区域。有三块骨头与肘关节相连:上臂的肱骨、前臂的尺骨和桡骨。肘尖的突出物是尺骨鹰嘴,而肘内部的外表构造称为肘前
  • 理查德·亨德森理查德·亨德森,CH,FRS,FMedSci,Hon FRSC(英语:Richard Henderson,1945年7月19日-),苏格兰分子生物学家、生物物理学家、英国皇家学会院士。他是低温电子显微镜研究领域的开创者。2017
  • 米勒县米勒县(Miller County, Georgia)是美国乔治亚州西南部的一个县。面积735平方公里。根据美国2000年人口普查,共有人口6,383人。县治科尔奎特 (Colquitt)。成立于1856年2月26日。
  • 电脑辅助设计电脑辅助设计(英语:Computer Aided Design, CAD)是指运用电脑软件制作并模拟实物设计,展现新开发商品的外型、结构、彩色、质感等特色的过程。随着技术的不断发展电脑辅助设计不
  • 行政管理公务管理(Public Administration),又称公共行政。是运用国家权力对社会上公共事务的一种管理活动;也可以泛指一切企业、事业单位的行政事务管理工作。从广义的角度, 指国家政治目
  • 黄酮类黄酮类化合物(英语:Flavonoid,又称类黄酮)基于2-苯基色原酮-4-酮(2-苯基-1-苯并吡喃(英语:Benzopyran)-4-酮)骨架的黄酮类化合物,如右图所示,基本母核为2-苯基色原酮类化合物,现在则泛指