为什么Ada标准库没有注释版本

为什么Ada标准库没有注释版本,ada,gnat-gps,Ada,Gnat Gps,我非常喜欢源代码注释,但是Ada标准库中的注释充其量只是简朴的。据我所知,库的接口是用语言定义定义的,但实现留给编译器制造商。我经常想知道它们是如何做到的,因为我在手册中看到的纯函数名、参数和其他定义通常无法解释各个子程序的具体功能,并且留下了很多解释的余地。我希望有一些关于QT库的文档 为什么没有对每个函数都有大量注释的库的定义?例如,Ada.Containers.Hashed_Maps的ARM部分在第1段中说-通常称为A.18.5 1“- 泛型库包Containers.Hashed_映射具有

我非常喜欢源代码注释,但是Ada标准库中的注释充其量只是简朴的。据我所知,库的接口是用语言定义定义的,但实现留给编译器制造商。我经常想知道它们是如何做到的,因为我在手册中看到的纯函数名、参数和其他定义通常无法解释各个子程序的具体功能,并且留下了很多解释的余地。我希望有一些关于QT库的文档


为什么没有对每个函数都有大量注释的库的定义?

例如,Ada.Containers.Hashed_Maps的ARM部分在第1段中说-通常称为A.18.5 1“-

泛型库包Containers.Hashed_映射具有以下声明:

所以我猜实现者已经把它看作是一个指令

对于散列_映射,您将看到a.18.4的链接,该链接描述了映射的常见语义;例如,长度为

来自AdaCore Help>GNAT的GPS GPL链接到ARM GPS GPL 2014的本地副本,该副本仅适用于ARM2005;我不知道Debian版本做什么


就是这样,;这并不是要否认你有一个观点,那就是它可能会更好

例如,Ada.Containers.Hashed_Maps的ARM部分在第1段中表示-通常称为A.18.5 1“-

泛型库包Containers.Hashed_映射具有以下声明:

所以我猜实现者已经把它看作是一个指令

对于散列_映射,您将看到a.18.4的链接,该链接描述了映射的常见语义;例如,长度为

来自AdaCore Help>GNAT的GPS GPL链接到ARM GPS GPL 2014的本地副本,该副本仅适用于ARM2005;我不知道Debian版本做什么


就是这样,;这并不是要否认你有一个观点,那就是它可能会更好

听起来您在错误的地方查找文档

Ada标准库在标准中有非常详细的描述,在中有更详细的描述


Ada标准库的各个实现的源文件不是标准库应该如何工作的文档。

听起来您在错误的地方查找文档

Ada标准库在标准中有非常详细的描述,在中有更详细的描述


Ada标准库的各个实现的源文件不是标准库应如何工作的文档。

标准库中的几乎所有子程序都有很好的文档记录,如果字符串中不存在子字符串,则Ada.Strings.Fixed.Index等异常和返回值将一起返回0。因此,我看不出有什么问题。实施定义的子程序必须记录在用户指南或参考文件中;在gnat的情况下,它们是有文档记录的gnat pro用户指南或参考[现在不记得是哪一个]您能给出一个语言定义子程序的示例,其中您发现RM的描述不充分吗?我这样问是因为可能描述真的在那里,而你只是很难找到它。有些地方描述的位置不明显,比如一些I/O操作。darkestkhan,描述非常稀疏,文档在源文件中!正如Herr_Doktor所希望的,只有一个例子是ADS文件Ada.Containers.Doubly_Linked_list。这里没有任何注释,只是类型、子程序等的定义。在我看来,设计者认为每个人对每个标识符都有相同的理解,但如果没有,人们会采取不同的行为。例如,将其与Ada.Containers.Hashed_映射进行比较,后者至少包含一些解释功能的注释。对于我这个新手来说,这留下了很多猜测。几乎标准库中的所有子程序都有很好的文档记录,还有异常和返回值,例如Ada.Strings.Fixed.Index,如果字符串中不存在子字符串,则返回0。因此,我看不出有什么问题。实施定义的子程序必须记录在用户指南或参考文件中;在gnat的情况下,它们是有文档记录的gnat pro用户指南或参考[现在不记得是哪一个]您能给出一个语言定义子程序的示例,其中您发现RM的描述不充分吗?我这样问是因为可能描述真的在那里,而你只是很难找到它。有些地方描述的位置不明显,比如一些I/O操作。darkestkhan,描述非常稀疏,文档在源文件中!先生_
Doktor WANTS一个例子是ADS文件Ada.Containers.Doubly_Linked_list。这里没有任何注释,只是类型、子程序等的定义。在我看来,设计者认为每个人对每个标识符都有相同的理解,但如果没有,人们会采取不同的行为。例如,将其与Ada.Containers.Hashed_映射进行比较,后者至少包含一些解释功能的注释。作为一个新手,这给我留下了很多猜测。单个实现甚至不需要为标准库提供源文件。好的,这肯定比我见过的大多数头文件都要多,而且对于实现编译器和标准库的人来说,这似乎足够了。它是以一种非常抽象和难以理解的风格编写的,但我想带注释的手册中的正式定义确实是实现者所需要的。这对Ada的新手来说并没有多大帮助,但这也不是我的问题,尽管仔细想想,这对一本书来说是一个很好的主题。我主要关心的是,如何保证库只使用接口规范实现相同的语义,但是,带注释的手册似乎基本上回答了这个问题。单个实现甚至不需要为标准库提供源文件。好的,这肯定比我所看到的大多数头文件都要多,大概这对于实现编译器和标准库的人来说已经足够了。它是以一种非常抽象和难以理解的风格编写的,但我想带注释的手册中的正式定义确实是实现者所需要的。对于Ada的新手来说,这并没有多大帮助,但这也不是我的问题,尽管仔细想想,这对一本书来说是一个很好的主题。我主要关心的是,如何保证库只使用接口规范就可以实现相同的语义,但带注释的手册似乎基本上回答了这个问题。