首页 >
预处理
✍ dations ◷ 2025-07-29 07:21:32 #预处理
在计算机科学中,预处理器是程序中处理输入数据,产生能用来输入到其他程序的数据的程序。输出被称为输入数据预处理过的形式,常用在之后的程序比如编译器中。所作处理的数量和种类依赖于预处理器的类型,一些预处理器只能够执行相对简单的文本替换和宏展开,而另一些则有着完全成熟的编程语言的能力。一个来自计算机编程的常见的例子是在进行下一步编译之前,对源代码执行处理。在一些计算机语言(例如: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)使用。
相关
- 马赛1法国统计部门在计算土地面积时,不计算面积大于1平方公里的湖泊、池塘、冰川和河口。马赛(普罗旺斯语:Marselha 或;法语:Marseille,马赛口音: ,巴黎口音)是法国第二大城市和第三大都
- 楚科奇-堪察加语系楚科奇-堪察加语系,又名罗拉维特兰语系(Luorawetlan),是古西伯利亚语言的其中一种,通行于东北西伯利亚。虽然古西伯利亚语言本身的成员未必有关连,但楚科奇-堪察加语族之内的语言
- primer引物(英文:primer),又译引子,是一小段单链DNA或RNA,作为DNA复制的起始点,存在于自然中生物的DNA复制(RNA引物)和聚合酶链式反应(PCR)中人工合成的引物(通常为DNA引物)。之所以需要引物是
- 基团官能团(英语:Functional group),是决定有机化合物的化学性质的原子和原子团。根据所含π键的不同,不同的烃基官能团具有不同的性质。卤代烃中含有碳-卤素键,键能随卤素不同而有变
- 圣路易岛坐标:48°51′06″N 2°21′23″E / 48.85167°N 2.35639°E / 48.85167; 2.35639圣路易岛(Île Saint-Louis)是塞纳河上的两个天然河岛之一,位于法国巴黎市,另一个天然的河岛是
- 张兴钤张兴钤(1921年10月16日-),中国金属物理学家。生于河北武邑。1942年毕业于武汉大学矿冶系。1949年获美国科士理工学院物理冶金硕士学位,1952年获麻省理工学院物理冶金博士学位。中
- 恩基其他传说恩基(Enki,/ˈɛŋki/; 苏美语: dEN.KI(G)),又译为恩奇,是苏美神话中的一位水神,后在阿卡德和巴比伦神话中被称为埃亚。他原本是埃利都的守护神,但后来对他的崇拜遍及整个
- 科学学科学学是一门主要以经验方法对科学进行整体研究的综合性学科。是自然科学和社会科学综合产生的新兴交叉学科。是关于科学的科学。科学学向人们回答的问题主要是:究竟什么是科
- 工人国际委员会工人国际委员会(英语:Committee for a Workers' International),简称工国委(CWI),是一个已不存在的托洛茨基主义政党和组织的国际联盟。它成立于1974年4月21日。总部位于英国伦敦。
- 湄州岛战斗湄州岛战斗一场发生于1953年国共内战的小型战斗。2月13日上午7时,中华民国国军将领胡琏派出章乃安游击大队率领3000余人突袭福建省莆田市的湄洲岛,当时岛上驻守的是解放军守军