ada中的单独程序

时间:2011-08-20 09:38:37

标签: ada gnat

我有一个非常大的项目,我正在尝试使用GPS(Gnat编程工作室)而不是我的工作。

项目的命名约定如下:

something.1.ada for a spec

某人身上的东西

parents.son.2.ada用于单独的过程/函数,其中parent是声明单独的函数/过程的地方,而son是单独的函数/过程的名称。 它甚至可能更复杂,如grandparent.parent.son.2.ada

我的问题是我无法配置GPS以将单独的功能/程序识别为项目中的源文件。

这是一个庞大的项目,所以更改文件的名称或代码本身的任何其他更改都不是我的选择,因为它会导致太多麻烦。

如何正确配置GPS?

2 个答案:

答案 0 :(得分:5)

您需要一个包含Naming的GNAT项目文件。您的命名方案听起来像GPRbuild User's Guide中讨论的Apex命名方案 - 特别是here

那就是

package Naming is
   for Casing               use "lowercase";
   for Dot_Replacement      use ".";
   for Spec_Suffix ("Ada")  use ".1.ada";
   for Body_Suffix ("Ada")  use ".2.ada";
end Naming;

我觉得你不需要

   for Separate_Suffix ("Ada") use ".2.ada";

,因为

  

它表示在包含单独实体的文件名中使用的后缀。如果未指定,则默认为与Body_Suffix(“Ada”)相同的值。

答案 1 :(得分:2)

Simon没有提到的另一个选择是在你的程序上运行gnatchopgnatchop是一个程序,它会将您的所有文件重命名为Gnat默认查找的名称。

它的确有一个缺点,即结果不会像以前那样命名和排列文件。但是,与手动构建映射文件或调整项目的命名方案相比,它可能要少得多。