首页 >
预处理
✍ dations ◷ 2025-11-30 21:25:55 #预处理
在计算机科学中,预处理器是程序中处理输入数据,产生能用来输入到其他程序的数据的程序。输出被称为输入数据预处理过的形式,常用在之后的程序比如编译器中。所作处理的数量和种类依赖于预处理器的类型,一些预处理器只能够执行相对简单的文本替换和宏展开,而另一些则有着完全成熟的编程语言的能力。一个来自计算机编程的常见的例子是在进行下一步编译之前,对源代码执行处理。在一些计算机语言(例如: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)使用。
相关
- Pd[氪 ] 4d102, 8, 18, 18蒸气压(>3300)第一:804.4 kJ·mol−1 第二:1870 kJ·mol−1 第三:3177 kJ·mol主条目:钯的同位素钯(注音:ㄅㄚ,拼音:bǎ,英文:Palladium)是一种化学元素,化学符
- 酵母聚糖酵母聚糖(英语:Zymosan)是一种葡萄糖为单元,之间以β-1,3-糖苷键相连起来葡聚糖。该物质可以结合在Toll样受体2上,并可以与蛋白质组成复合体。酵母聚糖可以从酵母细胞壁中制备得
- 斐济面积以下资讯是以2016年估计国家领袖国内生产总值(购买力平价) 以下资讯是以2016年估计国内生产总值(国际汇率) 以下资讯是以2016年估计人类发展指数 以下资讯是以2018年估计斐
- 拉多姆拉多姆(波兰语:Radom)是位于波兰中部的一个城市,2013年有219,703名居民。它位于马佐夫舍省(由1999年开始)内的Mleczna河畔,前身是拉多姆省(1975年-1998年)的首府。所在地正是波兰首都
- 语干在语言学中,词干(stem),或语干,是词的一部分。在不同情况下使用,其含义有差异。词干的其中一种含义,是指词缀所附着的部分。 例如在英语单词friendships中包含了词干friend,词缀-shi
- 行星地质学行星地质学(Planetary Geology),亦称为天体地质学(Astrogeology)、天文地质学(Exogeology),是行星科学的一个重要分支学科,研究的范围是行星、卫星、小行星、彗星以及陨石等天体的地
- 离子通道闸门离子通道(英语:Ion channel)是一种膜蛋白,它通过允许某种特定类型的离子依靠电化学梯度穿过该通道,来帮助细胞建立和控制质膜间的微弱电压压差(见动作电位)。这些离子通道存在于所
- 解放日解放日是标记一个地方解放的日期,通常是公众假期。类似独立日。
- 全能干细胞细胞潜能(Cell potency)是指一个细胞可以分化为其他种细胞的能力。一般来说,一种细胞可以分化成越多种不同类型的细胞,就可以认为这种细胞的细胞潜能越大。细胞潜能从大到小可以
- 漠河县漠河市是黑龙江省大兴安岭地区下辖的一个县级市,是中国最北边的县级市。面积18233平方千米,人口83465人。邮政编码165300。市人民政府驻西林吉镇。市内的北红村是中国最北的村
