问题标签 [gnat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - gnatbind:找不到:s-stalib.ali
我在我的 OS X 10.8.5 机器上安装了 GNAT,步骤如下:
- 从http://libre.adacore.com/download/configurations下载 GNAT GPL
- 安装
./doinstall
,接受所有默认选项 - 添加
/usr/local/gnat/bin
到$PATH
在尝试编译一个简单的 hello world 示例后,我收到此错误:
知道为什么会发生这种情况吗?
PS:gnat make -a hello
有效,但会创建大量文件,据我所知不应该是必需的。
编辑:根据要求,这是gnatls -v
这是输出的摘录ls -l /usr/local/gnat/lib/gcc/x86_64-apple-darwin12.2.0/4.7.4/adalib/
:
有趣的是,请求的文件s-stalib.ali
不包含在此目录中。
xcode - Mac OS 上的 Ada 编译器 GNAT
我正在尝试使用我的 mac 上的终端编译 ada,但我总是收到此错误“错误:'-x ada' 中的无效值 'ada'”有人知道我该如何解决这个问题吗?
perl - 如何在使用 XS 的 Perl 程序中使用 Ada 模块?
我最近开始学习 Ada 并且知道 Ada 和 C 目标文件可以链接在一起以构建多语言程序或库,是否可以使用 XS 从 Perl 调用 Ada 代码?
compiler-construction - 有没有办法直接修改 .adt 文件?
今天是个好日子,
我目前正在试验用于 ADA 程序的 ASIS 工具。我想知道是否可以直接修改编译期间生成的抽象语法树(.adt)。如果是这样,有人可以指出我如何实现这一目标的正确方向吗?
非常感谢您的宝贵时间。
runtime-error - Ada 程序不打印任何运行时错误
我正在使用 Ada 语言开发一个大型项目(大约 10000 行纯代码)。在使用基于契约的编程过程中(Ada-2012 功能,如前置条件、后置条件、类型不变量等),我发现当断言或条件出错时,程序终止,因此断言已被检查,但没有有关类型和错误位置的任何消息。
然后,为了确定问题是否与 ada 2012 功能有关,或者与任何运行时错误有关,我尝试插入一个与断言/合同无关的简单运行时错误:除以零。
在这种情况下,编译器建议我将引发异常,但在运行时程序完全终止,但任何内容都会打印出来。因此,问题出现在各种运行时检查失败中,不仅仅是那些与断言有关的问题。
此外,我尝试用几行代码创建一个新项目,以尝试简单的运行时错误(如除以零之前)以及先决条件和断言失败。在这个小项目中,程序会在控制台上打印所有错误。只有大型项目会受到问题的影响。
我的问题是问题可能出在哪里?为什么这只影响我的项目而不是简单的、刚刚创建的项目?是否有禁止打印运行时检查失败的选项?我在 XUbuntu 13.10 上运行。我正在使用 gnat、gps、gnatcoll、aws、polyorb 的最新 (2013) gpl 版本。我正在使用开关“-gnata”和“-gnat12”进行编译。
非常感谢您的帮助。
ada - Ada 代码检测作为 GNAT 编译部分?
我正在寻找一种将 GNAT 编译器与我们的自定义代码分析/修改工具集成的最佳方法。我们正在使用自定义工具来执行不同的代码指标(如执行时间、测试覆盖率等),甚至进行一些代码混淆。因此,例如,为了测量代码执行时间,我需要在每个函数/过程中插入 2 个过程调用(第一个是函数开始的地方,另一个是每个函数退出的地方)。这两个过程的代码在单独的翻译单元中实现。就简单性和性能而言,使用 GNAT 编译器执行这些代码检测(插入/修改代码)的最佳方法是什么?我可以想到这几种方法:
- GNAT 编译器是否支持任何类型的代码生成插件?似乎它没有,但也许我在谷歌搜索时错过了一些东西。也许有一种方法可以使用一些元编程技巧(比如在 Nimrod 和 D 等一些现代编程语言中),但我找不到 Ada 是否支持元编程。
- 看起来 ASIS 库可以帮助我,但它是为创建单独的工具而设计的。是否可以将基于 ASIS 的工具与 GNAT 集成?因此,例如编写一个在编译期间将由 GNAT 加载的工具,并在它(AST)即将转换为 GIMPLE 之前修改 AST 中的节点。单独使用基于 ASIS 的工具(例如通过在将每个源文件传递给编译器之前对其进行预处理)可以减少编译时间,因为源代码需要被解析两次(由工具和编译器)并保存/加载到/来自磁盘上的某个临时位置。
- 是否可以从 GNAT 编译器中获取 GIMPLE,对其进行修改并将其传递给 GCC?我找不到 GCC 内部是否有工作的 GIMPLE 前端,但似乎 GIMPLE 仅在内部使用。我可以用 GCC 编译器转储它,但之后我无法重新编译修改后的 GIMPLE(似乎没有 GCC 的 GIMPLE 前端)。
gcc - gcc compiler lib file not found error
Please help me on the gcc compiler command
gcc -c -ID:\pjtName\lib -c -fprofile-arcs -ftest-coverage D:\pjtName\source\tmp.ada
I am trying to compile the tmp.ada with coverage. adb and ads files are located in D:\pjtName\source folder. and my lib files are located in D:\pjtName\lib folder.
The problem is gcc is not locates tmp.ads file and the library files in the D:\pjtName\lib folder. it show file not found error
after this command i need to run gcov command for the tmp.ada file
autocomplete - GPS for ADA - 改进自动完成功能的插件
我正在寻找一种方法来改进 GPS ADA 的自动完成功能(版本:GPS 6.0.1 和 GNAT Pro 6.4.2)。
GPS 自动完成搜索以您输入的文本开头的匹配项。
我想在文本中的任何地方匹配我的字符串。
目前正则表达式类似于:/myString.*/i
我希望它是:/.*myString.*/i
- 有没有我错过的选项?
- 有谁知道这样做的 GPS 插件?
我也看过自己编写这个插件, http: //docs.adacore.com/gps-docs/users_guide/_build/html/GPS.html#GPS.Completion上的文档引用了“completion.py” - 我无法找到 - 我猜这可能只包含在后来的 GPS 版本中。
xcode5 - Xcode 5 可以编译 Ada 吗?
我使用 Xcode 3.0 来编辑和构建 Ada 项目。由于我也在 Xcode 5 上开发 iOS 应用程序,因此我想将所有与 Ada 相关的工作转移到 Xcode 5,以便我只打开一个 Xcode 版本。在 Xcode 3.0 和 Xcode 5 之间切换真的很麻烦。
有人用 Xcode 5 编译 Ada 吗?
我试过http://homepage.mac.com/awreynolds/但看起来网站已经停止服务。Macada.org 已过时。
谢谢。
ada - 这是我应该报告的 GNAT 中的错误吗
当我使用以 127 结尾的范围定义自己的类型时,编译器不会进行上限检查,这允许变量回绕并在其定义的限制以下变为负数。如果我将范围定义为 126,则会引发正确的异常。我在下面包含了这些程序及其输出。
输出:
.
输出: