问题标签 [pl-i]

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.

0 投票
3 回答
3120 浏览

programming-languages - 为什么 PL/我没有在科学计算中成功?

PL/I 是一门非常古老的语言,但在科学计算方面似乎没有像 Fortran 那样得到太多的宣传和赞赏。这是为什么?在网络上搜索确实显示有许多用于科学计算的 PL/I 代码。其中有一个由 IBM 在 PL/I 中开发的科学计算库。

但是我还没有找到任何适用于 PL/I 的免费 Windows 编译器。是不是因为缺乏免费的编译器,PL/I 没有吸引到科学界?

非常感谢...

0 投票
1 回答
807 浏览

storage - z/OS PL/I CONTROLLED 变量是否在过程的单独调用之间保留?

z/OS PL/I CONTROLLED 变量是否在过程的单独调用之间保留?假设我们需要一个在子例程内部并在调用之间保留的计数器。最简单的方法是使用初始化为零的静态变量,并在子例程的每个条目上递增。但是如果程序必须是可重入的,你就不能这样做。所以问题是我们是否可以访问在先前调用中分配的受控变量。下面的代码会起作用吗?

根据 PL/I Language Reference,在 ALLOCATE 一个变量之后,您不需要释放它(尽管这通常是一种好的做法),并且“所有受控存储都在程序结束时被释放”。它并没有说存储在块的末尾被释放。PL/I 编程指南在定位受控变量部分的使用 PLIDUMP 一章中提供了一些线索,但它不是确定的。它说定位受控变量的关键是找到它的锚。NORENT WRITABLE 在静态存储中有一个锚。NORENT NOWRITABLE(FWS) 有一个锚点自动存储的地址。(有一个额外的间接级别。)使用 NORENT NOWRITABLE(PRV) 似乎有一个静态表,其中每个受控变量的私有表都有一个偏移量。换句话说,根据处理选项,也许变量是可访问的,也许不是。它没有说明使用 RENT 选项。有什么想法吗?

0 投票
3 回答
334 浏览

c - 使用外部 DLL 时 PL/I 中的错误处理?

我正在从我的 PL/I 模块调用一个外部 DLL。DLL 将一个指向数组的指针作为输入,并返回另一个指向输出数组的指针,以及错误消息和返回代码。

我已经根据从 DLL 得到的返回代码进行了适当的错误处理(在我的 PL/I 模块中)。但由于使用了指向数组的指针,我可能会在 DLL CSECT 本身中获得 S0C4(即内存/指针执行)。不幸的是,我没有 DLL 的源代码(由于 IP 权利,我们必须将其视为黑匣子),我可以保证异常处理是否已在 DLL 本身内完成。因此,目前如果我在 DLL 中遇到异常,我的主模块的 ON ERROR 块会立即捕获该错误,并且批处理会发出 PLIDUMP/CEEDUMP。

我希望以这样一种方式更改我的错误处理,即我可以简单地忽略我在 DLL 中遇到内存问题的记录,然后写出一些错误消息并继续处理其余记录,而不是发出 PLIDUMP 或CEEDUMP。

如果我从我的 ON ERROR 块中删除对 PLIDUMP 的调用,那么我将不会从我的 PL/I 代码中获得其他问题的 PLIDUMP(比如数据不匹配,即 S0C7)。

所以我的问题是: 从我的 PL/I 模块访问 TCB 是否有一种方法可以确定我从哪个 CSECT 得到错误?

否则我想我会在我的 DLL 上编写一些 C++ 包装器,如下所示:

然后使用aacatch(std::bad_alloc)来处理内存异常。

0 投票
1 回答
2830 浏览

mainframe - 在运行时或编译时使用 BY NAME 选项分配 PL1 结构

在 PL1 中,可以使用 BY NAME 选项分配结构。此功能是在运行时使用还是仅在编译期间使用?

IBM 文档在这种情况下不是很有帮助。

0 投票
1 回答
1582 浏览

pl-i - 将地址指针设置为 PL/I 中的指针

我不明白源代码 PL/I:

帮助我理解显示变量 AA。非常感谢

0 投票
1 回答
124 浏览

floating-point - 任何人都可以澄清结果值是如何得出的吗?

PL/I 中的代码片段如下:

任何人都可以澄清结果值是如何得出的吗?

0 投票
1 回答
354 浏览

pl-i - pl/i 企业动态分配文件

我正在尝试通过动态分配文件

文件已创建,但记录大小为默认值。我尝试了 env 变量和备用名称,DD_DDNAME但不断得到

引发了 UNDEFINEDFILE 条件 ABENDU4038

0 投票
0 回答
100 浏览

testing - PL/I 的官方测试套件喜欢 Cobol 85?

有人可以指出我的 PL/I 官方测试套件吗?

由于 PL/I 是 ANSI 标准,我希望找到这样的套件,但直到现在我的搜索都没有成功。

理想的做法是找到一个类似于国家计算中心生产的 COBOL85 测试套件的测试套件,可在http://www.itl.nist.gov/div897/ctg/cobol_form.htm获得

目标是通过正式测试验证 x86 的 PL/I 编译器。

提前致谢 !

迪迪埃

0 投票
2 回答
1171 浏览

loops - PL/I - 如何在不多次打开/关闭文件的情况下循环读取文件

我有一个程序正在读取文件(FILE1)。对于 FILE1 中的每条记录,它都会获取字段“A”,并在 FILE2 中搜索以查找具有字段“B”匹配值的记录。当 A = B 时,两个文件中的一些字段被读出。该程序目前正在使用如下代码。但是,问题是我在循环中多次打开和关闭 FILE2。我在没有打开循环内的文件的情况下尝试了这个,但是如果我这样做了,我会得到重复的记录,因为 FILE2 是从上一次搜索停止的地方读入的。每次从 FILE1 读取新记录时,有什么方法可以指向 File2 的开头?代码如下:

0 投票
1 回答
103 浏览

mainframe - 为什么我怀疑比较不起作用?PL/I

此比较打印'0'b。不明白为什么......据我所知,float如果需要,字符串会自动转换为 PL/I。