带注释的Ada语言(Anna)

带注释的Ada语言(Anna),ada,Ada,我是Ada语言的初学者,我想知道符号的含义。我在Kreuger软件重用论文中读到Anna是一种描述Ada的注释语言。这是否被认为是对艾达代码的正式评论? 例如: subtype EVEN is INTEGER; --| where X : EVEN = ) X mod 2 = 0; 第二行是Anna注释,第一行是Ada代码。 第二行只是让用户理解第一行的注释,还是一个“必须”的约束,而不仅仅是一个可选行 我真的很困惑安娜是个古董,别浪费时间了 有很多地方可以从Ada开始。其中包括,美国残疾人

我是Ada语言的初学者,我想知道符号的含义。我在Kreuger软件重用论文中读到Anna是一种描述Ada的注释语言。这是否被认为是对艾达代码的正式评论?

例如:

subtype EVEN is INTEGER;

--| where X : EVEN = ) X mod 2 = 0;
第二行是Anna注释,第一行是Ada代码。 第二行只是让用户理解第一行的注释,还是一个“必须”的约束,而不仅仅是一个可选行

我真的很困惑

安娜是个古董,别浪费时间了

有很多地方可以从Ada开始。其中包括,美国残疾人协会信息交换所(AdaIC)维持着一个

如果你对Ada的形式逻辑感兴趣,你会想看看SPARK(“SPARK是一种编程语言,一套源代码分析(静态验证)工具,以及一种开发高保证软件的设计方法。”),尽管你可能不想解决这个问题,直到你和Ada进行了一些练习

您可能已经知道GNAT编译器,但为了以防万一,它是一个可用于Linux、Windows和其他一些平台的开源编译器。(GNATPro可用于许多平台。)

祝你好运,在这里提问,其他资源包括和

  • 偶数是一个整数,它的约束条件是,嗯,偶数。所以第二行是一个约束。但编译器不会检查它——而且据我所知,Anna工具集从未能够检查此类约束

  • Anna已经过时了,但最近的Ada标准(Ada 2012)支持这种注释(甚至可以由编译器检查)。因此,您的Ada/Anna表达式可以在Ada 2012中写成

    子类型偶数是整数 使用动态_谓词=>偶数模2=0


  • 这实际上是Ada 2012基本原理中的一个例子,请参见。

    非常感谢,实际上我是在征求Anna的意见,因为我想在我的论文中将其作为注释的一个例子。我想了解这两行代码,这样我可以举个例子,因为我正在研究软件重用,Anna是用AdaLook编写的组件的一个例子,请看SPARK材料。它做同样的注释,而且由于它是最新的,因此更容易找到关于它的解释性材料。(简言之,安娜已经去世很久了,因此没有什么确切的资料。)