Ada单独文件出错

时间:2010-08-23 17:27:10

标签: ada

我正在将Ada83翻译为Ada95文件。当我尝试编译调用单独的文件时会发生问题。错误是“非法字符”,并指向预处理器的指令:

使用BAS_PUT;

#if ADA_COMPILER =“GNAT”然后

WITH ADA.GNAT_PUT;

#其他

WITH ADA_PUT;

#万一;

分离(A_CALL_PUT) 程序......

当文件adb中的相同预处理程序指令不是单独的函数时,不会发生此问题。

有人可以帮助我???

1 个答案:

答案 0 :(得分:3)

Ada没有预处理器,因此#确实是非法角色。

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

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

大多数人会认为更好的形式是为不同的环境创建不同的源文件,并让构建环境(make rules?)在它们之间切换。