预处理

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

相关

  • 异位性皮肤炎异位性皮肤炎(Atopic dermatitis,简称AD),又叫过敏性皮肤炎或异位性湿疹(Atopic eczema),常见症状包含发痒、红肿,以及皮肤龟裂。发炎区域常有清澈液体流出,液体会随着发炎时间越久而
  • 年,或称地球年、太阳年,是与地球在轨道上绕太阳公转有关事件再现之间的时间单位。将之扩展,可以适用于任何一颗行星:例如,一“火星年”是火星自己完整的运行绕太阳轨道一圈的时间
  • 下标下标,也叫下角标、脚标,是出现在一列正常字体下边的数字、字母或其他标志,特别是用于公式、数学表达式或化学复合物的描述,例如水的分子式“H2O”中的数字“2”。在印刷上,下标设
  • 斯特鲁普效应红色 绿色 蓝色绿色 蓝色 橘色绿色 红色 橘色蓝色 红色 绿色老鼠 企鹅 猴子老鼠 企鹅 猴子如果文字的意义与显示的字体颜色没有相关,说出显示文字的颜色的名称比较容易且迅速
  • UN编号联合国危险货物编号(UN number)是一组4位数字的编号,它们可以被用来识别有商业价值的危险物质和货物(例如爆炸物或是有毒物质)。这种数字架构在国际贸易当中被广泛使用,以便于标注
  • 雅高雅高酒店集团(Accor)是一家大型的法国跨国企业 ,在将近100个国家中经营,股票列入巴黎CAC40指数。 雅高旗下的雅高酒店是欧洲旅馆业的霸主,在全球拥有超过4000家旅馆,涵盖最豪华的
  • 西班牙交响曲《D小调西班牙交响曲》,作品21,是爱德华·拉罗一首为小提琴与乐队而作的协奏曲。作于1874年,虽名为交响曲,但不具交响曲的形式。一开始简短的管弦乐导奏带出整曲的气氛,继之以小
  • 米歇尔·欧仁·谢弗勒尔米歇尔·欧仁·谢弗勒尔(法语:Michel Eugène Chevreul,1786年8月31日-1889年4月9日),法国化学家,对动物脂肪的组成和皂化反应的本质进行了深入研究,从多种脂肪里提纯了硬脂酸、油酸
  • 姜中宏姜中宏(1930年8月7日-),中国无机非金属材料专家。原籍广东广州,生于广东台山。1953年毕业于华南工学院化工系。中国科学院上海光学精密机械研究所研究员。1999年当选为中国科学院
  • 车前草车前草(学名:Plantago asiatica)为车前草科车前草属的物种,是一种多年生草本植物,又名蕮(音同“惜”)、车轮菜子、猪耳朵棵子、五更草、田灌草、牛舌草子、车轱辘草子,诗经中称之为