Ada是一种结构化,静态类型,命令式,广谱和面向对象的高级计算机编程语言,从Pascal和其他语言扩展而来。
如何为对数组元素求和的函数编写 Spark 后置条件? (Spark 2014,但如果有人向我展示如何为早期的 Spark 做到这一点,我应该能够适应它。) 所以...
SPARK-Ada 使用 GNATProve 假设 GCC 内在函数的后置条件
我想在 SPARK_Mode 中创建一个利用 GNAT GCC 内部函数“__builtin_ctzll”的函数。 带接口;使用接口; 将 GCC_Intrinsic 封装为 SPARK_模式 ...
我大约有一个数据结构(我无法分享完整的来源,但可以根据要求提供其他信息)如下: 通用的 类型 Item_Type 是私有的; 包 Util.Pool 我...
无法断言 libsparkcrypto SHA256 结果相等
我的问题总结 我正在使用 libsparkcrypto 库来实现 SHA256 函数。我发现我无法断言 x = y 意味着 Sha256(x) = Sha256(y)。任何帮助将不胜感激。 ...
我的目的是证明霍纳规则是正确的。为此,我将霍纳当前计算的值与“实”多项式的值进行比较。 所以我写了这段代码: 包...
对于可能在函数或过程内释放的访问类型,如何处理 **Post** 合约中的“Old”属性?
假设具有以下设置: 类型 My 是新整数; 输入 My_Acc 是访问 My; 过程 Replace(Self : in out My_Acc; New_Int : Integer) 与 Pre => New_Int /= Self.all, Post => Sel...
我需要有关 Ada SPARK 的帮助。 我想将像“1”这样的字符串保存到整数变量中。背景:我想从命令行输入读取数字并处理...
我正在使用 GNAT 构建我的 Ada/SPARK 项目,并且正在使用链接器脚本。以下是摘录: 部分 { 。代码 : { 。 =对齐(0x4); *(.text.section1) _教派结束...
我正在尝试创建数组对象的视图,以更好地利用 x86_64 平台上的 SIMD 向量。 主要思想如下: 类型 Char_Set_Index 的范围为 0 .. 7; 类型 Char_Set_Element 是 mod ...
我一直在尝试学习使用 SPARK 的基础知识,并且已经使用前置条件和后置条件进行了头脑风暴,但我不确定它们是否取代了验证?例如一个函数...
Spark 简介课程包含一个示例 (#5),其中 GNATprove 无法证明在交换数组的两个元素的过程中不会发生别名: 包P SPARK_Mode =>...
Ada/SPARK:我应该使用 GNATprove 吗?哪里可以找到?
在 Learning Ada 的第 22.1 章中,尝试构建示例。 它期望安装 GNATprove。我使用的是 Ubuntu 18.04 LTS,但没有看到任何提供它的软件包。当我尝试...
我正在尝试从 Ada 中的 Tahoe-LAFS 读取共享的 URI 扩展块。它看起来像这样: codec_name:3:crs,codec_params:11:131073-3-10,crypttext_hash:32:..G.3u1~A..o;.w..k,..3.h.......
我在重新索引切片字符串时遇到问题, 过程 String_Test 是 mystr:String:="你好世界"; str:字符串:=mystr(6 .. 11); str_re_indexed:字符串:=修剪(Str...
我是 Ada 编程语言新手,正在做练习, 说明如下, • 编写一个包含 4 个选项的案例陈述,显示一对骰子掷骰子的信息。 ...
我正在尝试在基于 Cortex M4 的板(特别是 stm32f429I 板)中进行任务分配,但看起来我正在使用的运行时不允许任务层次结构(这是有道理的)。给...
有谁知道可以在 ARM(针对 Linux)上编译 Ada 的编译器吗?最好至少可以编译 Ada 2005。
我是 Ada 新手,所以我有一个问题:如何定义一个包含两个多维无约束数组的结构并将其传递给过程。 按照我写的代码: 打包...
我对编程很陌生。 我正在尝试为我的 Vscode 安装编译器。我尝试使用 GNAT 但不知道如何安装它,所以我使用了 mingw64。 我按照网上的文档...
如何在 Mac 上安装 Gnat Planning Studio (GPS)?
我设法在 OSx 10.6.8 上从 libre.adacore.com 安装 gnat 编译器。我还想安装 Gnat Planning Studio (GPS) 环境。我尝试了不同的方法,但没有一个......