adaada入门


备注

Ada是一种国际标准化,高级,面向对象的计算机编程语言,支持强类型和结构化编程。可在此处找到更多信息。

版本

发布日期
Ada 2012(TC-1) 2016年4月1日
Ada 2012 2012年12月10日
Ada 2005 2007-01-01
阿达95 1995年12月10日
阿达83 1983年1月1日

你好,世界

with Ada.Text_IO;

procedure Hello_World is
begin
   Ada.Text_IO.Put_Line ("Hello World");
end Hello_World;
 

或者,在导入包Ada.Text_IO之后 ,您可以说use Ada.Text_IO; 为了能够使用Put_Line而不明确声明它应该来自哪个包,因此:

with Ada.Text_IO; use Ada.Text_IO;

procedure Hello_World is
begin
    Put_Line ("Hello World");
end Hello_World;
 

如果您使用的是gnat 编译器,可以使用这个简单的程序进行编译

gnatmake hello_world
 

这将生成许多文件,包括您可以执行以查看着名消息的hello_world (或Windows上的hello_world.exe )。可执行文件的名称是从主Ada子程序的名称自动计算的。在Ada中,主子程序可以有任何名称。它只需要一个无参数的过程,你作为gnatmake 的参数。

其他编译器也有类似的要求,当然构建命令也不同。

安装或设置

Ada是一种编程语言,存在多个编译器。

  • 其中一个编译器,也许是最常用的编译器,是GNAT。它是GCC工具链的一部分。它可以从几个来源安装:

    • AdaCore每年发布的GPL版本,可在libre网站免费获得。此版本经历了AdaCore为其专业版发布的所有内部测试,可在大量平台上使用。编译器及其运行时是根据GPL许可证发布的,除非您不使用运行时,否则您分发的任何可执行文件也将受此许可证的保护。对于初期阶段的学术和项目,这不是问题。

    • FSF gcc定期收到相同的补丁。 GNAT的版本可能并不总是最新的,但定期赶上。

    • 许多贡献者正在为各种Linux发行版(基于Debian的系统等)和Mac OS X的二进制文件打包FSF版本。使用您的发行版中的软件包管理器可能是安装GNAT的最简单方法。此类版本附带标准GCC许可证,允许您编写封闭源代码。

    • AdaCore还提供GNAT Pro ,它带有标准的GCC许可证,允许您编写封闭的源代码。更重要的是,它可能带有支持,如果您对语言的使用,工具,如何最好地实现某些内容,当然还有错误报告和增强请求有疑问。

Ada WikiBook中列出了另外数量的编译器以及安装说明。 Getadanow.com提供FSF GNAT版本,适用于多种硬件或虚拟机上的各种操作系统。该网站还收集用于学习和分享Ada的资源。

图书馆

对于任何编程语言,Ada都带有丰富的库来完成各种任务。这里有一些指向其中一些,虽然在github上搜索会带来更多。

  • Ada运行时本身,分布在所有编译器中,包括一组广泛的包和附件,包括数据结构和容器,输入/输出,字符串操作,时间操作,文件,数值计算,多任务,命令行开关,随机数,......

  • GNAT编译器带有自己的扩展运行时,在GNAT 层次结构中有新的包,它们支持正则表达式,排序,搜索,unicode,CRC,时间输入/输出,...

  • gnatcoll是一个可以从AdaCore的libre站点获得的库,它包括一个广泛的日志记录框架,使用python扩展应用程序,mmap,与文件系统交互的扩展框架,解析电子邮件和邮箱,以及与数据库交互的广泛框架。类型安全的方式,与图标,readline,终端颜色等各种库的接口,支持自动内存管理的引用计数类型,JSON文件,...

  • XML / Ada是一个用于解析和验证XML文档的库

  • GtkAda是对gtk +库的完全绑定,让你在Unix,Windows和OSX上编写可移植的用户界面。

  • AWS是一个在Ada中创建Web服务器的框架,完全支持各种协议,如HTTP,Websockets,......以及自己的模板系统。

标准的Ada编程语言在Ada参考手册中定义。临时版本更改和发行说明将在相应的基本原理文档中讨论。实现通常记录其在一个用户指南和/或参考手册的形式的标准符合性,对于例如