- 卡介苗
-
除了BCG_READ手册页中的错误修复之外,词汇表和BCG_CMP和BCG_MIN的选项名称澄清如下。这个"-分支选项现在被记录为“保持分歧”分支互模拟”而非发散敏感分支相互模拟”。现有选项“-尖锐的“已重命名为"-分裂的(“保持发散的尖锐互模拟”),而"-尖锐的“现在实现了sharp互模拟的变体不保留分歧。SVL中也做了类似的更改,现在区分“急剧下降", "缩分","尖锐的比较“、和”divsharp比较".
有关详细信息,请参阅历史记录条目:#2792 #2804 #2806
- 演示
-
除了在演示09中修复了一个错误外,演示04、26、27和33已经增强并从LOTOS转换为LNT。另外,演示24的LOTOS代码被缩短了21%,仍保留其语义演示30变得更具可读性。
有关详细信息,请参阅历史记录条目:#2763 #2765 #2790 #2813 #2814 #2818 #2830 #2832 #2846 #2848
- LNT公司
-
LNT语言继续发展成为更好的语言并与支持LOTOS NT语言的TRAIAN编译器。2022年,LNT发生了以下变化:
- 带有“!外部的“pragma现在可能有一个空体。
- 带有“!外部的“pragma现在可能有一个空(而不是“无效的“)车身。
- 二进制常量必须以“0b”开头,而不是以字母“0b”开头“B”可能被误认为是8。
- 八进制常数必须以“0o”开头,而不是以字母“O”开头可能会被误认为是零。
- 类似地,十六进制常量必须以“0x”而不是“0x”开头。
- 实数的尾数可能不再以点开头,例如。,“.01”应写为“0.01”。
- 实数的尾数可能不再以点结尾,例如。,“12.”应写成“12.0”。
- 非空数字不能再以零开头,例如“03.4”应该写为“3.4”(但“0.8e5”仍然有效)。
- 两个新类型杂注“!指针“和”!无指针“已经介绍。
- 同构于自然数的LNT类型可能不再具有“!指针"杂注。
- "虽然“和”对于“循环现在可能有一个可选标签可用于“打破“声明。
- “评估“关键字现在在中是可选的(不鼓励使用)四分之三的情况。
- 名称为特殊标识符(例如+、*等)的任何函数必须现在返回一个结果,没有“外面的", "输出无功功率“,或"输入输出“参数。
- 函数杂注必须携带有效的C标识符,并且可能不再包含“%s”(标识符名称替换),也不包含“%d”、“%i”、“%d”等。(位置编号替换)。
- LNT模块标识符必须与其各自的文件名相同;现在,这种比较是区分大小写的(以前是不区分大小写)。
- “带有更新子句,正在重复带套件",已被抑制。
- 输出优惠中不再允许使用“!”符号,例如“PRINT(!X)”现在必须写入“打印(X)”。
- “{}”不能再用作非结构化函数的名称。
- “{}”不能再用作带参数的构造函数的名称。
- 集合类型现在配备了预定义的操作“子集”检查集合包含。
LNT2LOTOS参考手册和LNT工具已更新为记录并实施这些更改。“upc”shell脚本已扩展以简化LNT程序的迁移。这些可以升级(自动或半自动),按顺序调用以下命令:
upc 2022-LNT-BIN-HEX-OCT<目录>upc 2022-LNT-REALS<目录>upc 2022-LNT-LEADING-ZEROS<目录>upc 2022-LNT-EVAL<目录>upc 2022-LNT-MODULE<目录>upc 2022-LNT-UPDATE<目录>upc 2022-LNT-EXCLAIM<目录>upc 2022-LNT-NONE<目录>
添加了一个名为LNT_MERGE的新工具,它将一个LNT程序作为输入,可能由几个LNT模块组成,并产生一个LNT作为输出包含在单个LNT模块中的程序。“.fnt”和“.tnt”文件,如果有,也会合并。此工具用于打包多模块LNT程序转换为非回归测试套件。
除了七个错误修复程序(一个在LNT2LOTOS中,一个在RNT_DEPEND中,另一个在UPC和LNT_MERGE中的四个),LNT2LOTOS转换器增强为如下所示:
- 它检查为“!位“pragma更大大于零。
- 它检查为“!卡片“pragma更大超过一个。
- 它生成的LOTOS代码不再导致某些GCC警告详尽的LNT模式。
- 它警告位于无穷大之后的死代码“环“没有"打破”LNT过程中的子句。
- 它警告“单位:var“使用前分配的工艺参数在无限中”环“没有”打破".
- 它检查在“C:xxx”杂注中,所有标识符“xxx”都是不同的和不是C关键字。
- 它检查在“LOTOS:xxx”杂注中,所有标识符“xxx”是否不同和不是LOTOS关键字。
- 它现在为有关不推荐使用的LNT的警告提供源代码行号句法特征。
- 它警告使用这两种声明的LNT函数!外部的和!由“LOTOS:xxx个"杂注,因为标识符“xxx”是(暂时)忽略。
- 它不再为此类LNT函数生成LOTOS代码。
- 它(暂时)禁止具有“外面的“或"输入输出“参数。
- 它(暂时)禁止具有pre-("要求“)或后条件(”确保").
有关详细信息,请参阅历史记录条目:#2764 #2766 #2768 #2769 #2770 #2771 #2772 #2774 #2786 #2787 #2788 #2789#2793 #2795 #2802 #2803 #2807 #2809 #2811 #2815 #2816 #2817 #2819 #2820#2821 #2822 #2823 #2824 #2826 #2827 #2828 #2834 #2835 #2837 #2838 #2841#2843 #2850
- LOTOS公司
-
除了修复X_BIT库中导致CAESAR警告的错误外。ADT、,CAESAR和CAESAR。LOTOS的ADT编译器得到了如下增强。
不再允许在特殊注释中使用“布尔", "假“,或”真实的“作为C外部函数的名称。
修改了CAESAR生成的C代码,以减少稀疏代码检查器生成的警告。
CAESAR生成的C代码。修改ADT以减少数量夹板代码检查器生成的警告。
CAESAR生成的C代码。名称包含以下内容的LOTOS操作的ADT“\”(反斜杠)字符不再引起Gcc的警告。
有关详细信息,请参阅历史记录条目:#2778 #2780 #2781 #2782 #2791
- MCL公司
-
除了关于EVALUATOR模型中内存分配的错误修复之外检查器中,CAESAR_SOLVE_1布尔分辨率库丰富了两种新的动态算法,命名为A10和A11。这些算法基于对布尔变量之间的依赖关系图进行深度首次搜索。算法A10(resp.A11)专门用于求解析取(resp。最小(相对最大)不动点符号的合取)方程块,如果在块。算法A10和A11比对应的算法A3消耗更少的内存和A4,允许在同一个方程式块上进行多次调用。
有关详细信息,请参阅历史记录条目:#2842 #2849
- 其他
-
所有CADP工具的源代码,以及由这些工具已经更新,以便系统地使用“布尔“类型和“假“和”真实的“stdbool.h”中定义的常量。
所有CADP工具现在都是使用最新版本的SYNTAX构建的编译器生成器和最新版本的TRAIAN。还有,垃圾CAESAR调用的收集器已从版本7.6.4升级到版本8.2.2。
在LNT文件上操作时,EUCALYPTUS图形用户界面,现在默认情况下预先选择MAIN进程,因此可以从用户。
GNOME文本编辑器(Gedit、Pluma等)的样式文件修改后不仅可以使用Gtk3,还可以使用Gtk4(更新)和Gtk5(即将推出)。
已为CADP支持的各种语言和文件格式。
CADP的文件在各个地方进行了更新和增强。
有关详细信息,请参阅历史记录条目:#2777 #2779 #2794 #2796 #2833 #2836 #2839
- NUPN公司
-
CAESAR公司。BDD工具已升级到CUDD的3.1.0版本。工具扩展了四个新选项:“-电弧-pt", "-电弧-tp","-签名“、和”-签名-多个“;后两种选择显示NUPN校验和,该校验和不受任何位置排列的影响,转换和/或单元。
现有选项“-位置顺序“和”-单位阶“拥有提高了速度,缩短了生产时间,但更具辨别力结果。“-并行位置CAESAR.BDD的速度也更快。
有关详细信息,请参阅历史记录条目:#2767 #2773 #2775 #2783 #2784 #2812 #2845
除了六个错误修复(三个在Linux上,两个在Windows上,一个在macOS上),CADP工具得到了针对不同处理器的特定增强和操作系统。
关于macOS:CADP被移植到macOS 13“Ventura”,支持添加用于在带有ARM处理器的Apple机器上运行CADP。
关于SunOS:支持“sol86”体系结构(32位可执行文件Solaris和OpenIndiana)已停止使用,因为“sol64”体系结构(64位可执行文件)被认为已经足够了。
关于Windows:在Windows/Cygwin上安装CADP的说明进行了更新和简化,消除了对老式系统的依赖工具,如“bc”和“ed”。支持最新版本的GNU-tar(例如。,版本1.34)。修改了EUCALYPTUS图形用户界面以避免启动EMACS的Cygwin版本时出现问题。最后,已经进行了初步更改,以支持64位Windows可执行文件。
有关详细信息,请参阅历史记录条目:#2776 #2785 #2797 #2798 #2799 #2800 #2801 #2805 #2808 #2810 #2825 #2829 #2831 #2840 #2844 #2847