Hi everyone,
I work with OpenFOAM based on C++ platform.
One of my reference code found in 1977 journal was written with PL1 language. I have no knowledge with PL1.
In order to understand the PL1 program, is it possible to decode into C++ language?
Kindly someone share your ideas.
Thank you
Hi everyone,
I work with OpenFOAM based on C++ platform.
One of my reference code found in 1977 journal was written with PL1 language. I have no knowledge with PL1.
In order to understand the PL1 program, is it possible to decode into C++ language?
PL/I is easy to read; probably one of the easiest languages to read.
There are many introductory PL/I books available on Amazon.
On Tuesday, July 21, 2020 at 3:13:16 AM UTC+10, kumares...@gmail.com wrote:
Hi everyone,
I work with OpenFOAM based on C++ platform.
One of my reference code found in 1977 journal was written with PL1 language. I have no knowledge with PL1.
In order to understand the PL1 program, is it possible to decode into C++ language?
PL/I is easy to read; probably one of the easiest languages to read.
There are many introductory PL/I books available on Amazon.
On Tuesday, July 21, 2020 at 11:49:36 AM UTC+10, robin...@gmail.com wrote:
PL/I is easy to read; probably one of the easiest languages to read.
There are many introductory PL/I books available on Amazon.
P. Abel: Structured Programming in PL/I and PL/C
Neuhold & Lawson: The PL/I Machine: An Introduction to Proramming
E. Sturm: The New PL/I
On Tuesday, July 21, 2020 at 11:49:36 AM UTC+10, robin...@gmail.com wrote:
On Tuesday, July 21, 2020 at 3:13:16 AM UTC+10, kumares...@gmail.com wrote: >> > Hi everyone,
I work with OpenFOAM based on C++ platform.
One of my reference code found in 1977 journal was written with PL1 language. I have no knowledge with PL1.
In order to understand the PL1 program, is it possible to decode into C++ language?
PL/I is easy to read; probably one of the easiest languages to read.
There are many introductory PL/I books available on Amazon.
Suitable books include:
J. K. Hughes: PL/I Structured Programming
In article <a8cc71d9-1afc-43dd-8d01-4026052ae6e2o@googlegroups.com>,
robin.vowels@gmail.com writes:
On Tuesday, July 21, 2020 at 11:49:36 AM UTC+10, robin...@gmail.com wrote: >>> On Tuesday, July 21, 2020 at 3:13:16 AM UTC+10, kumares...@gmail.com wrote: >>>> Hi everyone,
I work with OpenFOAM based on C++ platform.
One of my reference code found in 1977 journal was written with PL1 language. I have no knowledge with PL1.
In order to understand the PL1 program, is it possible to decode into C++ language?
PL/I is easy to read; probably one of the easiest languages to read.
There are many introductory PL/I books available on Amazon.
Suitable books include:
J. K. Hughes: PL/I Structured Programming
If memory serves, that book had a lot of errors, although that would have been the original, and it's in 3rd edition now, so maybe it's gotten better.
On 05/08/2020 15:48, Richard L. Hamilton wrote:
In article <a8cc71d9-1afc-43dd-8d01-4026052ae6e2o@googlegroups.com>,
robin.vowels@gmail.com writes:
On Tuesday, July 21, 2020 at 11:49:36 AM UTC+10, robin...@gmail.com wrote: >>>> On Tuesday, July 21, 2020 at 3:13:16 AM UTC+10, kumares...@gmail.com wrote:
Hi everyone,
I work with OpenFOAM based on C++ platform.
One of my reference code found in 1977 journal was written with PL1 language. I have no knowledge with PL1.
In order to understand the PL1 program, is it possible to decode into C++ language?
PL/I is easy to read; probably one of the easiest languages to read.
There are many introductory PL/I books available on Amazon.
Suitable books include:
J. K. Hughes: PL/I Structured Programming
If memory serves, that book had a lot of errors, although that would have
been the original, and it's in 3rd edition now, so maybe it's gotten better. >>
I learned on that book in the late 70s or early 80s. I don't recall
whether it was bug-ridden or not but I do remember liking it and that it helped at the time. I think it's worth getting a copy.
In article <rgg93s$25pt$2@neodome.net>,
nobody in particular <nobody@devnull.org> writes:
On 05/08/2020 15:48, Richard L. Hamilton wrote:
In article <a8cc71d9-1afc-43dd-8d01-4026052ae6e2o@googlegroups.com>,
robin.vowels@gmail.com writes:
On Tuesday, July 21, 2020 at 11:49:36 AM UTC+10, robin...@gmail.com wrote: >>>>> On Tuesday, July 21, 2020 at 3:13:16 AM UTC+10, kumares...@gmail.com wrote:
Hi everyone,
I work with OpenFOAM based on C++ platform.
One of my reference code found in 1977 journal was written with PL1 >>>>>> language. I have no knowledge with PL1.
In order to understand the PL1 program, is it possible to decode into C++ language?
PL/I is easy to read; probably one of the easiest languages to read. >>>>> There are many introductory PL/I books available on Amazon.
Suitable books include:
J. K. Hughes: PL/I Structured Programming
If memory serves, that book had a lot of errors, although that would have >>> been the original, and it's in 3rd edition now, so maybe it's gotten better.
I learned on that book in the late 70s or early 80s. I don't recall
whether it was bug-ridden or not but I do remember liking it and that it
helped at the time. I think it's worth getting a copy.
I recently got a used copy of 2nd edition cheap from Amazon (3rd party seller), just to refresh my memory. That does no good for all the new
C compatibility functions, post-Y2K date functions, sort of
object-oriented features, etc, but it's better than nothing at the
price, I suppose.
In article <rgg93s$25pt$2@neodome.net>,
nobody in particular <nobody@devnull.org> writes:
On 05/08/2020 15:48, Richard L. Hamilton wrote:
In article <a8cc71d9-1afc-43dd-8d01-4026052ae6e2o@googlegroups.com>,
robin.vowels@gmail.com writes:
On Tuesday, July 21, 2020 at 11:49:36 AM UTC+10, robin...@gmail.com wrote: >>>>> On Tuesday, July 21, 2020 at 3:13:16 AM UTC+10, kumares...@gmail.com wrote:
Hi everyone,
I work with OpenFOAM based on C++ platform.
One of my reference code found in 1977 journal was written with PL1 language. I have no knowledge with PL1.
In order to understand the PL1 program, is it possible to decode into C++ language?
PL/I is easy to read; probably one of the easiest languages to read. >>>>> There are many introductory PL/I books available on Amazon.
Suitable books include:
J. K. Hughes: PL/I Structured Programming
If memory serves, that book had a lot of errors, although that would have >>> been the original, and it's in 3rd edition now, so maybe it's gotten better.
I learned on that book in the late 70s or early 80s. I don't recall
whether it was bug-ridden or not but I do remember liking it and that it
helped at the time. I think it's worth getting a copy.
I recently got a used copy of 2nd edition cheap from Amazon (3rd party seller), just to refresh my memory. That does no good for all the new
C compatibility functions, post-Y2K date functions, sort of
object-oriented features, etc, but it's better than nothing at the
price, I suppose.
Thank you for your response. The program is quite large. If you don't mind, can I mail you personally ?
Thank you again
Richard L. Hamilton <r......@smart.net> wrote:.
In article <r......@neodome.net>,
nobody in particular <n.....@devnull.org> writes:
On 05/08/2020 15:48, Richard L. Hamilton wrote:
In article <a......@googlegroups.com>,
r.......@gmail.com writes:
On Tuesday, July 21, 2020 at 11:49:36 AM UTC+10, r......@gmail.com wrote:
On Tuesday, July 21, 2020 at 3:13:16 AM UTC+10, k.......@gmail.com wrote:
Hi everyone,
I work with OpenFOAM based on C++ platform.
One of my reference code found in 1977 journal was written with PL1 >>>>>> language. I have no knowledge with PL1.
In order to understand the PL1 program, is it possible to decode into C++ language?
PL/I is easy to read; probably one of the easiest languages to read. >>>>> There are many introductory PL/I books available on Amazon.
Suitable books include:
J. K. Hughes: PL/I Structured Programming
If memory serves, that book had a lot of errors, although that would have
been the original, and it's in 3rd edition now, so maybe it's gotten better.
I learned on that book in the late 70s or early 80s. I don't recall
whether it was bug-ridden or not but I do remember liking it and that it >> helped at the time. I think it's worth getting a copy.
I recently got a used copy of 2nd edition cheap from Amazon (3rd party seller), just to refresh my memory. That does no good for all the new
C compatibility functions, post-Y2K date functions, sort of object-oriented features, etc, but it's better than nothing at the
price, I suppose.
Both Robin Vowels and Eberhard Sturm have relatively recent books that.
cover the new features. I’m not sure Robin’s is readily available,
you
might have to order from him and pay in Australian Dinars or something. I think Eberhard’s is available from Amazon: “The New PL/I”.
Hello all,.....
In my previous post, I have asked for decoding the PL1 program into C++ language (in order to understand the PL1 program). I couldnt able to decode into C++ language.
So, I thought of compiling PL1 program directly by its own compiler. I found a PL/1 compiler for a Linux here : iron-spring.com/download.html
I have installed the PL1 compiler there and while running sample case files, I found that three sample makefiles for one program that can be used to compile.
I don't know how to fix and compile the program, which I m looking for... I'll copy the program here. Kindly someone guide me to compile or convert into C++ (so that its easy to compile in C++)
Hello all,.
In my previous post, I have asked for decoding the PL1 program into C++ language (in order to understand the PL1 program). I couldnt able to decode into C++ language.
So, I thought of compiling PL1 program directly by its own compiler. I found a PL/1 compiler for a Linux here : iron-spring.com/download.html
I have installed the PL1 compiler there and while running sample case files, I found that three sample makefiles for one program that can be used to compile.
I don't know how to fix and compile the program,
which I m looking for...
I'll copy the program here. Kindly someone guide me to compile or convert into C++ (so that its easy to compile in C++)
On 24/10/2020 07:11, Kumaresh Selvakumar wrote:
Hello all,
In my previous post, I have asked for decoding the PL1 program into C++ language (in order to understand the PL1 program). I couldnt able to decode into C++ language.
So, I thought of compiling PL1 program directly by its own compiler. I found a PL/1 compiler for a Linux here : iron-spring.com/download.html
I have installed the PL1 compiler there and while running sample case files, I found that three sample makefiles for one program that can be used to compile.
I don't know how to fix and compile the program, which I m looking for... I'll copy the program here. Kindly someone guide me to compile or convert into C++ (so that its easy to compile in C++).....
Out of interest, I tried compiling the supplied source code. I am left
with the impression that it is an unfinished program. It contains uncorrected syntax errors and there may be portions of code missing. Do
you have other versions of the source?
Hello all,
In my previous post, I have asked for decoding the PL1 program into C++ language (in order to understand the PL1 program). I couldnt able to
decode into C++ language.
So, I thought of compiling PL1 program directly by its own compiler. I
found a PL/1 compiler for a Linux here : iron-spring.com/download.html
I have installed the PL1 compiler there and while running sample case
files, I found that three sample makefiles for one program that can be used to compile.
I don't know how to fix and compile the program, which I m looking for... I'll copy the program here. Kindly someone guide me to compile or convert into C++ (so that its easy to compile in C++.
On 10/23/20 11:11 PM, Kumaresh Selvakumar wrote:
Hello all,...
In my previous post, I have asked for decoding the PL1 program into
C++ language (in order to understand the PL1 program). I couldnt able
to decode into C++ language.
So, I thought of compiling PL1 program directly by its own compiler. I
found a PL/1 compiler for a Linux here : iron-spring.com/download.html
I have installed the PL1 compiler there and while running sample case
files, I found that three sample makefiles for one program that can be
used to compile.
I don't know how to fix and compile the program, which I m looking for...
I'll copy the program here. Kindly someone guide me to compile or
convert into C++ (so that its easy to compile in C++)
//*******************************************************//
PL1 PROGRAM
I don't know what happened. I thought I'd posted a reply, but haven't
seen it yet. I looked thru your program and found a mix of bugs in your
code and a few problems or unimplemented features in Iron Spring PL/I.
My conclusion was that most things are simple to fix, but since this
program has obviously never compiled, and you presumably don't have any
data to be input, it's probably not worth spending time on it. If my
original reply doesn't show up and you still want to pursue it I could probably recreate it.
If this is for a profit-making operation I could clean up the source for
a small fee. If it's just for fun and entertainment I can help with
fixing it.
Hello all,
In my previous post, I have asked for decoding the PL1 program into C++ language (in order to understand the PL1 program). I couldnt able to decode into C++ language.
So, I thought of compiling PL1 program directly by its own compiler. I found a PL/1 compiler for a Linux here : iron-spring.com/download.html
I have installed the PL1 compiler there and while running sample case files, I found that three sample makefiles for one program that can be used to compile.
I don't know how to fix and compile the program, which I m looking for... I'll copy the program here. Kindly someone guide me to compile or convert into C++ (so that its easy to compile in C++)
//*******************************************************//
PL1 PROGRAM
Thank you all for the replies...operated on an IBM 370/145 computer under the CMS-VM/370 system (REF: thesis).
Mr. Robin >> A little misunderstanding here. I have said that, to compile a single program three sample makefiles seems necessary (with extensions .lst, .map, .pli) and so, I don't know how to fix with this and compile.
Mr. Peter >> Currently, I'm working on my Ph.D. thesis, and I found a thesis written in PL1 language. I'm hereby attaching the thesis by drive below, where APPENDIX - 3 is the source code which I'm looking forward to. Kindly check it please.
Thesis --> Attached here by google drive, I couldn't able to find attach file option here.
https://drive.google.com/file/d/11LzHppFSCbJyOQU8W5AhSe-A-nwwlds0/view?usp=sharing
Mr. Carlf >> Thank you. I'm not sure whether the code is Fortran based, but ANTHLOG (in thesis found in above link) what you meant is the computer model used to examine the temperature history in the coke oven charge. The programme written in PL1 was
Thank you for sharing your programming knowledge. Kindly mail me (kumaresh.kummi04@gmail.com) the details when you are free please. The reason why I looked for the conversion of PL1 into C language is because, I thought that the compilation process inPL1 is complex and PL1 is new to me. Can I opt PL1 lang or C lang (by conversion) for compilation ? kindly suggest me here please.
Mr. Bearly >> Thank you for your detailed explanation with error messages. I haven't compiled my code yet. It's not my own set of code (Source code is found in the thesis - APPENDIX -3). Being a Ph.D. student, in order to understand the flow physics, I'm looking forward to interpret the sample code based on PL1 language. Thank you again for your kind statements. Its all about my work, not a business related profit making operations. Kindly help me out here to fix it, and I would like to learn and
Once again, thank you all whole heatedly for the responses.
Although my working platform is OpenFOAM, understanding this PL1 code might help to grasp some ideas about my problem. And, it would be a great help if someone guide me to install the appropriate PL1 compiler, where I can work with it. Kindly guide me.
Thank you again
Thank you all for the replies...operated on an IBM 370/145 computer under the CMS-VM/370 system (REF: thesis).
Mr. Robin >> A little misunderstanding here. I have said that, to compile a single program three sample makefiles seems necessary (with extensions .lst, .map, .pli) and so, I don't know how to fix with this and compile.
Mr. Peter >> Currently, I'm working on my Ph.D. thesis, and I found a thesis written in PL1 language. I'm hereby attaching the thesis by drive below, where APPENDIX - 3 is the source code which I'm looking forward to. Kindly check it please.
Thesis --> Attached here by google drive, I couldn't able to find attach file option here.
https://drive.google.com/file/d/11LzHppFSCbJyOQU8W5AhSe-A-nwwlds0/view?usp=sharing
Mr. Carlf >> Thank you. I'm not sure whether the code is Fortran based, but ANTHLOG (in thesis found in above link) what you meant is the computer model used to examine the temperature history in the coke oven charge. The programme written in PL1 was
Thank you for sharing your programming knowledge. Kindly mail me (kumaresh.kummi04@gmail.com) the details when you are free please. The reason why I looked for the conversion of PL1 into C language is because, I thought that the compilation process inPL1 is complex and PL1 is new to me. Can I opt PL1 lang or C lang (by conversion) for compilation ? kindly suggest me here please.
Mr. Bearly >> Thank you for your detailed explanation with error messages. I haven't compiled my code yet. It's not my own set of code (Source code is found in the thesis - APPENDIX -3). Being a Ph.D. student, in order to understand the flow physics, I'm looking forward to interpret the sample code based on PL1 language. Thank you again for your kind statements. Its all about my work, not a business related profit making operations. Kindly help me out here to fix it, and I would like to learn and
Once again, thank you all whole heatedly for the responses.
Although my working platform is OpenFOAM, understanding this PL1 code might help to grasp some ideas about my problem. And, it would be a great help if someone guide me to install the appropriate PL1 compiler, where I can work with it. Kindly guide me.
Thank you again
On Sunday, October 25, 2020 at 10:53:54 PM UTC+11, Peter J. Seymour wrote:
On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
I have nibbled away at another error, the PUT EDIT with an iterative
specification.
According to a late language reference manual, an iterative EDIT
specification must be in parentheses. The source code statement needs to
be changed to strictly implement this:
/**PUT EDIT((50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))***/
This PUT statement appears to be syntactically correct to me.
The inner spec is
(OUT(I,J) DO J=1 TO 5)
.
while the outer spec is:
(50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26)
.
That leaves an outer pair of parentheses for the EDIT list.
.
PUT EDIT(50*I,((OUT(I,J) DO J=1 TO 5) DO I=1 TO 26)).
That involved moving an opening bracket and the Iron Spring compiler now
accepts the statement. Presumably, early compilers were more lax in
their accepted syntax.
Not observed. Both specs are OK.
On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
Thank you all for the replies...I had a look at the PL/I source code in the thesis PDF. It seems that
Mr. Robin >> A little misunderstanding here. I have said that, to
compile a single program three sample makefiles seems necessary (with
extensions .lst, .map, .pli) and so, I don't know how to fix with this
and compile.
Mr. Peter >> Currently, I'm working on my Ph.D. thesis, and I found a
thesis written in PL1 language. I'm hereby attaching the thesis by
drive below, where APPENDIX - 3 is the source code which I'm looking
forward to. Kindly check it please.
Thesis --> Attached here by google drive, I couldn't able to find
attach file option here.
https://drive.google.com/file/d/11LzHppFSCbJyOQU8W5AhSe-A-nwwlds0/view?usp=sharing
Mr. Carlf >> Thank you. I'm not sure whether the code is Fortran
based, but ANTHLOG (in thesis found in above link) what you meant is
the computer model used to examine the temperature history in the coke
oven charge. The programme written in PL1 was operated on an IBM
370/145 computer under the CMS-VM/370 system (REF: thesis).
Thank you for sharing your programming knowledge. Kindly mail me
(kumaresh.kummi04@gmail.com) the details when you are free please. The
reason why I looked for the conversion of PL1 into C language is
because, I thought that the compilation process in PL1 is complex and
PL1 is new to me. Can I opt PL1 lang or C lang (by conversion) for
compilation ? kindly suggest me here please.
Mr. Bearly >> Thank you for your detailed explanation with error
messages. I haven't compiled my code yet. It's not my own set of code
(Source code is found in the thesis - APPENDIX -3). Being a Ph.D.
student, in order to understand the flow physics, I'm looking forward
to interpret the sample code based on PL1 language. Thank you again
for your kind statements. Its all about my work, not a business
related profit making operations. Kindly help me out here to fix it,
and I would like to learn and compile by suitable compiler and run on
my own.
Once again, thank you all whole heatedly for the responses.
Although my working platform is OpenFOAM, understanding this PL1 code
might help to grasp some ideas about my problem. And, it would be a
great help if someone guide me to install the appropriate PL1
compiler, where I can work with it. Kindly guide me.
Thank you again
some of the errors I previously identified are down to inaccurate OCR of
the source code. When I attempted to OCR the source in the PDF for
myself, I ended up with even more errors. Also, it is now apparent that
the extraneous lines of '*' are not missing code, but are page boundaries. The OCR errors are easily fixed by comparing the extracted code flagged
as in error with the original in the pdf. The extraneous asterisks can
simply be removed. In his post, Peter Flass has identified the errors
and also identified some current Iron Spring compiler limitations and
work arounds.
Now the program has got me interested, I will look further into making
it run.
On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
I have nibbled away at another error, the PUT EDIT with an iterative specification.
According to a late language reference manual, an iterative EDIT specification must be in parentheses. The source code statement needs to
be changed to strictly implement this:
/**PUT EDIT((50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))***/
PUT EDIT(50*I,((OUT(I,J) DO J=1 TO 5) DO I=1 TO 26)).
That involved moving an opening bracket and the Iron Spring compiler now accepts the statement. Presumably, early compilers were more lax in
their accepted syntax.
PC=0.894, PH=0.049, PX=0.037, PN=0.012, PS=0.008GET LIST(PC,PH,PX,PN,PS);
PMOISTO=10, PASHDRY=5, RHODRY=750, T0=20GET LIST(PMOISTO,PASHDRY,RHODRY,T0) // Here its T0(initial temperature) not TO --> inaccurate OCR error
WIDTH=0.45, WALL=0.05, WCOND=2.3, WSPHT=1200, WRHO=2800GET LIST(WIDTH,WALL,WCOND,WSPHT,WRHO)
NF= 1GET LIST(NF)
TIMESHR= 0-20 (varies hope so)GET LIST(TIMESHR)
TEMPS= 1050GET LIST(TEMPS)
On Sunday, October 25, 2020 at 10:53:54 PM UTC+11, Peter J. Seymour wrote:
On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
I have nibbled away at another error, the PUT EDIT with an iterative
specification.
According to a late language reference manual, an iterative EDIT
specification must be in parentheses. The source code statement needs to
be changed to strictly implement this:
/**PUT EDIT((50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))***/
This PUT statement appears to be syntactically correct to me.
The inner spec is
(OUT(I,J) DO J=1 TO 5)
.
while the outer spec is:
(50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26)
.
That leaves an outer pair of parentheses for the EDIT list.
.
PUT EDIT(50*I,((OUT(I,J) DO J=1 TO 5) DO I=1 TO 26)).
That involved moving an opening bracket and the Iron Spring compiler now
accepts the statement. Presumably, early compilers were more lax in
their accepted syntax.
Not observed. Both specs are OK.
Thank you for the valuable comments.sure here, kindly correct me if I'm wrong.
Here are the input data:
PC=0.894, PH=0.049, PX=0.037, PN=0.012, PS=0.008GET LIST(PC,PH,PX,PN,PS);
PMOISTO=10, PASHDRY=5, RHODRY=750, T0=20GET LIST(PMOISTO,PASHDRY,RHODRY,T0) // Here its T0(initial temperature) not TO --> inaccurate OCR error
WIDTH=0.45, WALL=0.05, WCOND=2.3, WSPHT=1200, WRHO=2800GET LIST(WIDTH,WALL,WCOND,WSPHT,WRHO)
NF= 1GET LIST(NF)
TIMESHR= 0-20 (varies hope so)GET LIST(TIMESHR)
TEMPS= 1050GET LIST(TEMPS)
In page no:364 of the thesis, from the top at line 8, the line is declared as "IF=1". I think, it shouldn't be "IF" (may be "LF"). Because, the word "IF" might mismatch with the usage of "IF" - conditional statement everywhere in the program. I'm not
Thank you again
On 25/10/2020 12:22, Robin Vowels wrote:
On Sunday, October 25, 2020 at 10:53:54 PM UTC+11, Peter J. Seymour wrote: >>> On 25/10/2020 04:51, Kumaresh Selvakumar wrote:OK, my theory doesnt seem to fit, it merely has the merit of compiling.
I have nibbled away at another error, the PUT EDIT with an iterative
specification.
According to a late language reference manual, an iterative EDIT
specification must be in parentheses. The source code statement needs to >>> be changed to strictly implement this:
/**PUT EDIT((50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))***/
This PUT statement appears to be syntactically correct to me.
The inner spec is
(OUT(I,J) DO J=1 TO 5)
.
while the outer spec is:
(50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26)
.
That leaves an outer pair of parentheses for the EDIT list.
.
PUT EDIT(50*I,((OUT(I,J) DO J=1 TO 5) DO I=1 TO 26)).
That involved moving an opening bracket and the Iron Spring compiler now >>> accepts the statement. Presumably, early compilers were more lax in
their accepted syntax.
Not observed. Both specs are OK.
I wonder what the resultant program would actually do.
Thank you. May be 'IF' will not worry PL/I.You will need to be sure there are no further OCR errors in the
Similarly, the variable 'TF' is unique too.
It was an interesting problem to look at but I feel I should stop there.
Thank you for the valuable comments.
Here are the input data:
PC=0.894, PH=0.049, PX=0.037, PN=0.012, PS=0.008GET LIST(PC,PH,PX,PN,PS);
PMOISTO, PASHDRY=5, RHODRYu0, T0GET LIST(PMOISTO,PASHDRY,RHODRY,T0) // Here its T0(initial temperature)
not TO --> inaccurate OCR error
WIDTH=0.45, WALL=0.05, WCOND=2.3, WSPHT00, WRHO(00GET LIST(WIDTH,WALL,WCOND,WSPHT,WRHO)
NF= 1GET LIST(NF)
TIMESHR= 0-20 (varies hope so)GET LIST(TIMESHR)
TEMPS= 1050GET LIST(TEMPS)
In page no:364 of the thesis, from the top at line 8, the line is
declared as "IF=1". I think, it shouldn't be "IF" (may be "LF"). Because,
the word "IF" might mismatch with the usage of "IF" - conditional
statement everywhere in the program. I'm not sure here, kindly correct me if I'm wrong.
Thank you again
On 25/10/2020 12:22, Robin Vowels wrote:.
On Sunday, October 25, 2020 at 10:53:54 PM UTC+11, Peter J. Seymour wrote:
On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
I have nibbled away at another error, the PUT EDIT with an iterative
specification.
According to a late language reference manual, an iterative EDIT
specification must be in parentheses. The source code statement needs to >> be changed to strictly implement this:
/**PUT EDIT((50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))***/
This PUT statement appears to be syntactically correct to me.
The inner spec is
(OUT(I,J) DO J=1 TO 5)
.
while the outer spec is:
(50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26)
.
That leaves an outer pair of parentheses for the EDIT list.
.
PUT EDIT(50*I,((OUT(I,J) DO J=1 TO 5) DO I=1 TO 26)).
That involved moving an opening bracket and the Iron Spring compiler now >> accepts the statement. Presumably, early compilers were more lax in
their accepted syntax.
Not observed. Both specs are OK.
I'm still thinking about this. Maybe I moved the wrong bracket. How about: PUT EDIT(((50*I,OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))
which also compiles.
What I find confusing is that loop variable I is referenced in two places.
Peter J. Seymour <ng@pjsdemon.uk> wrote:
On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
Thank you all for the replies...I have nibbled away at another error, the PUT EDIT with an iterative
Mr. Robin >> A little misunderstanding here. I have said that, to
compile a single program three sample makefiles seems necessary (with
extensions .lst, .map, .pli) and so, I don't know how to fix with this and compile.
Mr. Peter >> Currently, I'm working on my Ph.D. thesis, and I found a
thesis written in PL1 language. I'm hereby attaching the thesis by drive >>> below, where APPENDIX - 3 is the source code which I'm looking forward
to. Kindly check it please.
Thesis --> Attached here by google drive, I couldn't able to find
attach file option here.
https://drive.google.com/file/d/11LzHppFSCbJyOQU8W5AhSe-A-nwwlds0/view?usp=sharing
Mr. Carlf >> Thank you. I'm not sure whether the code is Fortran based,
but ANTHLOG (in thesis found in above link) what you meant is the
computer model used to examine the temperature history in the coke oven
charge. The programme written in PL1 was operated on an IBM 370/145
computer under the CMS-VM/370 system (REF: thesis).
Thank you for sharing your programming knowledge. Kindly mail me
(kumaresh.kummi04@gmail.com) the details when you are free please. The
reason why I looked for the conversion of PL1 into C language is
because, I thought that the compilation process in PL1 is complex and
PL1 is new to me. Can I opt PL1 lang or C lang (by conversion) for
compilation ? kindly suggest me here please.
Mr. Bearly >> Thank you for your detailed explanation with error
messages. I haven't compiled my code yet. It's not my own set of code
(Source code is found in the thesis - APPENDIX -3). Being a Ph.D.
student, in order to understand the flow physics, I'm looking forward to >>> interpret the sample code based on PL1 language. Thank you again for
your kind statements. Its all about my work, not a business related
profit making operations. Kindly help me out here to fix it, and I would >>> like to learn and compile by suitable compiler and run on my own.
Once again, thank you all whole heatedly for the responses.
Although my working platform is OpenFOAM, understanding this PL1 code
might help to grasp some ideas about my problem. And, it would be a
great help if someone guide me to install the appropriate PL1 compiler,
where I can work with it. Kindly guide me.
Thank you again
specification.
According to a late language reference manual, an iterative EDIT
specification must be in parentheses. The source code statement needs to
be changed to strictly implement this:
/**PUT EDIT((50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))***/
PUT EDIT(50*I,((OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))
That involved moving an opening bracket and the Iron Spring compiler now
accepts the statement. Presumably, early compilers were more lax in
their accepted syntax.
That’s what I thought. The syntax is a bit...infelicitous.
Peter J. Seymour <ng@pjsdemon.uk> wrote:
On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
Thank you all for the replies...I have nibbled away at another error, the PUT EDIT with an iterative
Mr. Robin >> A little misunderstanding here. I have said that, to
compile a single program three sample makefiles seems necessary (with
extensions .lst, .map, .pli) and so, I don't know how to fix with this and compile.
Mr. Peter >> Currently, I'm working on my Ph.D. thesis, and I found a
thesis written in PL1 language. I'm hereby attaching the thesis by drive >>> below, where APPENDIX - 3 is the source code which I'm looking forward
to. Kindly check it please.
Thesis --> Attached here by google drive, I couldn't able to find
attach file option here.
https://drive.google.com/file/d/11LzHppFSCbJyOQU8W5AhSe-A-nwwlds0/view?usp=sharing
Mr. Carlf >> Thank you. I'm not sure whether the code is Fortran based,
but ANTHLOG (in thesis found in above link) what you meant is the
computer model used to examine the temperature history in the coke oven
charge. The programme written in PL1 was operated on an IBM 370/145
computer under the CMS-VM/370 system (REF: thesis).
Thank you for sharing your programming knowledge. Kindly mail me
(kumaresh.kummi04@gmail.com) the details when you are free please. The
reason why I looked for the conversion of PL1 into C language is
because, I thought that the compilation process in PL1 is complex and
PL1 is new to me. Can I opt PL1 lang or C lang (by conversion) for
compilation ? kindly suggest me here please.
Mr. Bearly >> Thank you for your detailed explanation with error
messages. I haven't compiled my code yet. It's not my own set of code
(Source code is found in the thesis - APPENDIX -3). Being a Ph.D.
student, in order to understand the flow physics, I'm looking forward to >>> interpret the sample code based on PL1 language. Thank you again for
your kind statements. Its all about my work, not a business related
profit making operations. Kindly help me out here to fix it, and I would >>> like to learn and compile by suitable compiler and run on my own.
Once again, thank you all whole heatedly for the responses.
Although my working platform is OpenFOAM, understanding this PL1 code
might help to grasp some ideas about my problem. And, it would be a
great help if someone guide me to install the appropriate PL1 compiler,
where I can work with it. Kindly guide me.
Thank you again
specification.
According to a late language reference manual, an iterative EDIT
specification must be in parentheses. The source code statement needs to
be changed to strictly implement this:
/**PUT EDIT((50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))***/
PUT EDIT(50*I,((OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))
That involved moving an opening bracket and the Iron Spring compiler now
accepts the statement. Presumably, early compilers were more lax in
their accepted syntax.
That’s what I thought. The syntax is a bit...infelicitous.
However,
without having data to be input, and knowing that the program has never compiled, it might not be worth it.
On 10/24/2020 8:16 PM, Peter Flass wrote:
However,
without having data to be input, and knowing that the program has never
compiled, it might not be worth it.
The thesis document contains the input for an example run of ANTHLOG at
page 274, with the output on the following pages.
I took a stab at running the program; there are a lot of OCR errors and
a few small PL/I-F incompatibilities with (in my case) PL/I for Windows.
I got it as far as reading the sample input data:
S25
89.4, 4.9, 3.7, 1.2, 0.8
10 5 750 20
0.450 0.050 2.3 1200 2800
1
0
1050
But it fails with INVALIDOP trying to divide by zero on this statement:
ESHR(I)=MAX(0,1-(1-E)/(1-EO));
At which point I ran out of energy. I'm sure there are more OCR errors
I didn't uncover causing this problem. OP (or other interested parties) could msg me for my updated code if interested.
On 10/24/2020 8:16 PM, Peter Flass wrote:
However,The thesis document contains the input for an example run of ANTHLOG at
without having data to be input, and knowing that the program has never compiled, it might not be worth it.
page 274, with the output on the following pages.
I took a stab at running the program; there are a lot of OCR errors and
a few small PL/I-F incompatibilities with (in my case) PL/I for Windows.
I got it as far as reading the sample input data:
S25
89.4, 4.9, 3.7, 1.2, 0.8
10 5 750 20
0.450 0.050 2.3 1200 2800
1
0
1050
But it fails with INVALIDOP trying to divide by zero on this statement:
ESHR(I)=MAX(0,1-(1-E)/(1-EO));
At which point I ran out of energy. I'm sure there are more OCR errors
I didn't uncover causing this problem. OP (or other interested parties)
could msg me for my updated code if interested.
The thesis document contains the input for an example run of ANTHLOG at
page 274, with the output on the following pages.
I took a stab at running the program; there are a lot of OCR errors and
a few small PL/I-F incompatibilities with (in my case) PL/I for Windows.
I got it as far as reading the sample input data:
S25
89.4, 4.9, 3.7, 1.2, 0.8
10 5 750 20
0.450 0.050 2.3 1200 2800
1
0
1050
But it fails with INVALIDOP trying to divide by zero on this statement:
ESHR(I)=MAX(0,1-(1-E)/(1-EO));
At which point I ran out of energy. I'm sure there are more OCR errors
I didn't uncover causing this problem. OP (or other interested parties) could msg me for my updated code if interested.
Hi Everyone,.
I was working on this program yesterday, and I've got a clean compilation, and the same numeric results as the thesis.
I used PL/I (F) under Music/SP system, what's saying working in the same envirnoment as the original program, written for IBM370 CMS.
There were a couple of typos, from scanning, and a a format error in the original program ( trying to read A(80) into a string (20).
I think modern versions of PL/I may have different behaviour..
So the best thing to do is to rewrite it in C++,.
using the working program as a base..
Of course I sent the corrected program to mr. Kumaresh
I also had the zerodivide condition, and after tracking the guilty sentencem i was a thypo,
sompething like t0 instead of to, I checked the cross referencte and the variable
was used once. The same happened in other sentence. That's the price for
undeclared variables in PLI, worst, where variables with the name of a pli keyword....
The results are as follow:
1 PAGE 1
VERSION 5.5 OS/360 PL/I COMPILER (F) DATE 20.301
-PL/I F COMPILER OPTIONS SPECIFIED ARE AS FOLLOWS--
0 SM=(2,72,1),D,NS,NA,NX,NOL,FE,NOSOURCE,NOXREF,NOATR,NOMAP
0IEM3904I THE FOLLOWING STRING NOT IDENTIFIED AS A KEYWORD- NOMAP
1 ANTHLOG: PROC OPTIONS (MAIN); PAGE 2
- COMPILER DIAGNOSTICS.
-
0 ERRORS.
- IEM0097I 82 INVALID CHARACTER HAS BEEN REPLACED BY BLANK IN OR FOLLOWING STATEMENT NUMBER 82 . THE
- CONTAINING OUTPUT RECORD IS MARKED BY AN ASTERISK.
-
- WARNINGS SUPPRESSED.
-AUXILIARY STORAGE WILL NOT BE USED FOR DICTIONARY WHEN SIZE = 120K
-COMPILE TIME .24 MINS
0ELAPSED TIME .02 MINS
1
1 S25
0 INPUT DATA
0 COAL SPECIFICATION
C H O N S
89.40 4.90 3.70 1.20 0.80 % (DAFB)
0 CHARGE PREPARATION
MOISTURE ASH BULK DENSITY TEMPERATURE
10.0 5.0 750 20
% % (DRY BASIS) KG/M3 (DRY BASIS) DEG C
0 OVEN SPECIFICATION
WIDTH WALL:THICKNESS CONDUCTIVITY SPECIFIC HEAT DENSITY
0.450 0.050 2.3 1200 2800
M M W/M K J/KG K KG/M3
0 FLUE TEMPERATURE READINGS
NUMBER 1TIMES
0.0 H
TEMPS 1050 DEG C
0 PREDICTED TEMPERATURE HISTORY
0 TEMPERATURE TIME (H)
0 (DEG C) WALL 1/8 1/4 3/8 CENTRE
50 0.0 0.2 0.7 1.3 2.0
100 0.0 0.3 0.7 1.4 2.2
150 0.1 1.5 4.2 8.0 12.6
200 0.1 1.6 4.5 8.7 12.9
250 0.1 1.7 4.9 9.0 13.2
300 0.2 1.9 5.1 9.5 13.5
350 0.2 2.0 5.3 9.9 13.8
400 0.2 2.1 5.6 10.3 14.1
450 0.3 2.2 5.9 10.8 14.4
500 0.3 2.4 6.2 11.4 14.7
550 0.3 2.6 6.6 12.3 15.0
600 0.4 2.8 7.4 13.5 15.3
650 0.4 3.4 8.4 14.6 15.7
700 0.4 4.0 9.9 15.5 16.2
750 0.5 5.0 12.0 16.2 16.7
800 1.0 6.6 14.9 16.9 17.2
850 1.8 9.5 16.6 17.5 17.7
900 3.3 15.1 17.6 18.0 18.1
950 7.5 17.8 18.4 18.6 18.6
1000 17.9 19.2 19.3 19.2 19.1
1050 00.0 00.0 00.0 00.0 00.0
1100 00.0 00.0 00.0 00.0 00.0
1150 00.0 00.0 00.0 00.0 00.0
1200 00.0 00.0 00.0 00.0 00.0
1250 00.0 00.0 00.0 00.0 00.0
1300 00.0 00.0 00.0 00.0 00.0
0 COKING TIME 21.13 H
HEAT REQUIREMENTS 1.645 MJ/KG (DAF INITIAL COAL BASIS)
*** END OF PROGRAM ***
The warning is a tab introduced by my windows editor, into the CMS file
On Thursday, October 29, 2020 at 3:19:41 AM UTC+11, c......@gmail.com wrote:
Hi Everyone,
I was working on this program yesterday, and I've got a clean compilation, and the same numeric results as the thesis..
I used PL/I (F) under Music/SP system, what's saying working in the same envirnoment as the original program, written for IBM370 CMS.
There were a couple of typos, from scanning, and a a format error in the original program ( trying to read A(80) into a string (20).
That isn't a format error. It's perfectly OK in PL/I(F).
The string is truncated on the right; only the frst 20 characters are stored. .
I think modern versions of PL/I may have different behaviour..
Later versions of PL/I introduced the STRINGSIZE condition
that detected this and could issue an error message (by raising the STRINGRANGE condition).
.
So the best thing to do is to rewrite it in C++,.
Why? If it works, don't fix it.
.
using the working program as a base.
Of course I sent the corrected program to mr. Kumaresh
I also had the zerodivide condition, and after tracking the guilty sentencem i was a thypo,.
sompething like t0 instead of to, I checked the cross referencte and the variable
was used once. The same happened in other sentence. That's the price for
undeclared variables in PLI, worst, where variables with the name of a pli keyword....
These days, undeclared variables can be flagged as a compilation error.
.
In PL/I there are no reserved words, and any keyword may be
used as a variable.
One doesn't go round deliberately using every keyword as a variable name, but if a programmer uses a keyword inadvertently as a variable,
it doesn't cause an error.
The advantage of not having reserved words, is that if the language is extended,
new keywords do not invalidate ex
.
The results are as follow:
1 PAGE 1
VERSION 5.5 OS/360 PL/I COMPILER (F) DATE 20.301
-PL/I F COMPILER OPTIONS SPECIFIED ARE AS FOLLOWS--
0 SM=(2,72,1),D,NS,NA,NX,NOL,FE,NOSOURCE,NOXREF,NOATR,NOMAP
0IEM3904I THE FOLLOWING STRING NOT IDENTIFIED AS A KEYWORD- NOMAP
1 ANTHLOG: PROC OPTIONS (MAIN); PAGE 2
- COMPILER DIAGNOSTICS.
-
0 ERRORS.
- IEM0097I 82 INVALID CHARACTER HAS BEEN REPLACED BY BLANK IN OR FOLLOWING STATEMENT NUMBER 82 . THE
- CONTAINING OUTPUT RECORD IS MARKED BY AN ASTERISK.
-
- WARNINGS SUPPRESSED.
-AUXILIARY STORAGE WILL NOT BE USED FOR DICTIONARY WHEN SIZE = 120K -COMPILE TIME .24 MINS
0ELAPSED TIME .02 MINS
1
1 S25
0 INPUT DATA
0 COAL SPECIFICATION
C H O N S
89.40 4.90 3.70 1.20 0.80 % (DAFB)
0 CHARGE PREPARATION
MOISTURE ASH BULK DENSITY TEMPERATURE
10.0 5.0 750 20
% % (DRY BASIS) KG/M3 (DRY BASIS) DEG C
0 OVEN SPECIFICATION
WIDTH WALL:THICKNESS CONDUCTIVITY SPECIFIC HEAT DENSITY
0.450 0.050 2.3 1200 2800
M M W/M K J/KG K KG/M3
0 FLUE TEMPERATURE READINGS
NUMBER 1TIMES
0.0 H
TEMPS 1050 DEG C
0 PREDICTED TEMPERATURE HISTORY
0 TEMPERATURE TIME (H)
0 (DEG C) WALL 1/8 1/4 3/8 CENTRE
50 0.0 0.2 0.7 1.3 2.0
100 0.0 0.3 0.7 1.4 2.2
150 0.1 1.5 4.2 8.0 12.6
200 0.1 1.6 4.5 8.7 12.9
250 0.1 1.7 4.9 9.0 13.2
300 0.2 1.9 5.1 9.5 13.5
350 0.2 2.0 5.3 9.9 13.8
400 0.2 2.1 5.6 10.3 14.1
450 0.3 2.2 5.9 10.8 14.4
500 0.3 2.4 6.2 11.4 14.7
550 0.3 2.6 6.6 12.3 15.0
600 0.4 2.8 7.4 13.5 15.3
650 0.4 3.4 8.4 14.6 15.7
700 0.4 4.0 9.9 15.5 16.2
750 0.5 5.0 12.0 16.2 16.7
800 1.0 6.6 14.9 16.9 17.2
850 1.8 9.5 16.6 17.5 17.7
900 3.3 15.1 17.6 18.0 18.1
950 7.5 17.8 18.4 18.6 18.6
1000 17.9 19.2 19.3 19.2 19.1
1050 00.0 00.0 00.0 00.0 00.0
1100 00.0 00.0 00.0 00.0 00.0
1150 00.0 00.0 00.0 00.0 00.0
1200 00.0 00.0 00.0 00.0 00.0
1250 00.0 00.0 00.0 00.0 00.0
1300 00.0 00.0 00.0 00.0 00.0
0 COKING TIME 21.13 H
HEAT REQUIREMENTS 1.645 MJ/KG (DAF INITIAL COAL BASIS)
*** END OF PROGRAM ***
The warning is a tab introduced by my windows editor, into the CMS file
Hi To everyone !!!
I just ended dodaqy, to debug the four PL/I programs, having the same
results as the original thesis.
It was fun to debug using the GET COPY, ( CHECK (VARLIST)): and PRINTDATA. First program took me a mornig, last one just 1 hour.
Most of the problems were OCR, (for instance T0 and TO, or 14 value
versus I4) Specially when variables weren't declared.
Funny thing is the programmed included a nice data map, with all the declarations in his thesis .
I know, in the 1970's we don't wanted to punch cards, so we do strange, untidy things.
Things mus be now clearer for Kumaresh, since migration into C++, for
Open Foam, should be straightforward.
Other issue was, speed. Compilation and Linkedition, and Runtime were considerably faster in an emulator on an I5 class machine, that they were
in a real CMS under VM370.
Of course all this programs were sent to Kumares, so it only needs to
work in his real thesis.
Carlos
Argentina
carlos feldman <carlf...@gmail.com> wrote:Never used this compiler version, I only used the ones, that generate IBM360/370 Assembly or Load Modules
Hi To everyone !!!
I just ended dodaqy, to debug the four PL/I programs, having the same results as the original thesis.
It was fun to debug using the GET COPY, ( CHECK (VARLIST)): and PRINTDATA. First program took me a mornig, last one just 1 hour.
Most of the problems were OCR, (for instance T0 and TO, or 14 value
versus I4) Specially when variables weren't declared.
Funny thing is the programmed included a nice data map, with all the declarations in his thesis .
I know, in the 1970's we don't wanted to punch cards, so we do strange, untidy things.
Things mus be now clearer for Kumaresh, since migration into C++, for
Open Foam, should be straightforward.
Other issue was, speed. Compilation and Linkedition, and Runtime were considerably faster in an emulator on an I5 class machine, that they were in a real CMS under VM370.
Of course all this programs were sent to Kumares, so it only needs to
work in his real thesis.
Carlos
Argentina
Congratulations! You’re now an official PL/I programmer!
--
Pete
carlos feldman <carlf...@gmail.com> wrote:Pete, Thanks, for calling me a newbie !!!
Hi To everyone !!!
I just ended dodaqy, to debug the four PL/I programs, having the same results as the original thesis.
It was fun to debug using the GET COPY, ( CHECK (VARLIST)): and PRINTDATA. First program took me a mornig, last one just 1 hour.
Most of the problems were OCR, (for instance T0 and TO, or 14 value
versus I4) Specially when variables weren't declared.
Funny thing is the programmed included a nice data map, with all the declarations in his thesis .
I know, in the 1970's we don't wanted to punch cards, so we do strange, untidy things.
Things mus be now clearer for Kumaresh, since migration into C++, for
Open Foam, should be straightforward.
Other issue was, speed. Compilation and Linkedition, and Runtime were considerably faster in an emulator on an I5 class machine, that they were in a real CMS under VM370.
Of course all this programs were sent to Kumares, so it only needs to
work in his real thesis.
Carlos
Argentina
Congratulations! You’re now an official PL/I programmer!
--
Pete
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 251 |
Nodes: | 16 (2 / 14) |
Uptime: | 24:29:51 |
Calls: | 5,544 |
Calls today: | 3 |
Files: | 11,676 |
Messages: | 5,109,260 |