Ada单独文件中出现错误

Ada单独文件中出现错误,ada,Ada,我正在将Ada83转换为Ada95文件。当我试图编译一个调用单独。错误为“非法字符”,并指向预处理器的指令: 用BAS_PUT #如果ADA_COMPILER=“GNAT”,则 用ADA.GNAT_PUT #否则 与阿达乌普特 #如果结束; 单独(A_CALL_PUT) 程序 当同一预处理器指令位于文件中且不是单独的函数时,不会发生此问题 有人能帮我吗?Ada没有预处理器,所以#确实是非法字符 有些编译器(例如Gnat)确实附带了一个,但如果是这样的话,这是他们自己设计的。如果愿意,可以设置构建

我正在将Ada83转换为Ada95文件。当我试图编译一个调用单独。错误为“非法字符”,并指向预处理器的指令:

用BAS_PUT

#如果ADA_COMPILER=“GNAT”,则 用ADA.GNAT_PUT

#否则 与阿达乌普特

#如果结束; 单独(A_CALL_PUT) 程序

当同一预处理器指令位于文件中且不是单独的函数时,不会发生此问题


有人能帮我吗?

Ada没有预处理器,所以
#
确实是非法字符

有些编译器(例如Gnat)确实附带了一个,但如果是这样的话,这是他们自己设计的。如果愿意,可以设置构建系统,通过外部预处理器(例如:C预处理器)运行Ada源文件。我从来没有这样做过,但有人告诉我这是完全可行的

如果您的编译器碰巧带有预处理器,那么它是非标准的。如果您愿意,可以使用它,但根据定义,它对于创建可移植的源文件(这似乎就是您试图使用它的目的)是无用的

大多数人会认为最好为不同的环境创建不同的源文件,让构建环境(make规则)在它们之间切换。