PL/I是一种非常古老的语言,但似乎没有像科学计算的Fortran那样得到太多的宣传和赞赏.这是为什么?在网上搜索确实表明有许多用于科学计算的PL/I代码.其中包括IBM在PL/I中开发的科学计算库.
但我还没有为PL/I找到任何Windows免费编译器.PL/I是否因为缺乏免费的编译器而没有吸引科学界?
非常感谢...
PL/I中的代码片段如下:
DECLARE WAVE_LTH FLOAT BINARY(21);
...
WAVE_LTH = 11001E-10B (**resultant value = 0.0244140**)
Run Code Online (Sandbox Code Playgroud)
任何人都可以澄清如何得出结果值吗?
我有以下 PL/I 代码:
declare 1 u union,
2 c character(1),
2 ci fixed binary(4) unsigned;
ci = data_mem(data_ptr);
put list (c);
Run Code Online (Sandbox Code Playgroud)
它的作用是接受一个整数并输出它,就好像它是一个 ascii/ebcdic 值一样。所以它显示了字符。到目前为止这有效。现在的问题是每个字符以24个空格间隔打印,就好像插入了3个TAB一样。我尝试先将 c 转换为字符串,然后应用 trim() 但这没有帮助。
有任何想法吗?
我一直在寻找互联网上的各种资源,但找不到我理解的确定答案,所以我在这里问:
如何从z/OS MVS调用z/OS UNIX代码?
我知道BPXBATCH PGM ...可以从z/OS MVS TSO调用z/OS UNIX程序.
但我可以这样做,例如在az/OS MVS PL/I程序中吗?
我想说的是,
我的用例是:我有一个20世纪70年代的旧PL/I库,现在需要进行网络连接.据我所知,网络将在z/OS UNIX世界中顺利进行.
旧的PL/I库静态链接到我无法直接影响的多个其他软件.
PS:有声望更高的人可以建立一个stackoverflow PLI标签吗?;-)
我需要将数据从 SYSIN JCL 传递到 PL/I 程序。下面是我来自 JCL 和 PL/I 程序的代码,并且值没有被传递。有人可以帮忙吗?
//SYSIN DD *
12345
PROG: PROC(INPARM) OPTIONS(MAIN REENTRANT) REORDER;
DCL INPARM CHAR(5) VARYING;
PUT SKIP LIST('INPARAM - '|| INPARM);
Run Code Online (Sandbox Code Playgroud) 如何将 PL/I 字帖转换为 COBOL 字帖。
2 PL_COPYBOOK.
3 FIRST_FIELD CHAR(20).
3 SECOND_FIELD FIXED(5).
3 THIRD_FIELD FIXED(9,0).
3 FOURTH_FIELD FIXED(7,1).
3 FIFTH_FIELD BIT(8).
3 SIXTH_FIELD FIXED BIN(15).
Run Code Online (Sandbox Code Playgroud)