• How to decode PL1 programming language into C++ language

    From kumaresh.kummi04@gmail.com@21:1/5 to All on Mon Jul 20 10:13:15 2020
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From nobody in particular@21:1/5 to kumaresh.kummi04@gmail.com on Mon Jul 20 18:41:06 2020
    On 20/07/2020 17:13, kumaresh.kummi04@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?

    Kindly someone share your ideas.
    Thank you


    A quick websearch resulted in hits for several companies offering the
    service. I guess if you spend a bit of time you may be able to find a
    freeware utility. PL/I was available for many platforms so depending on
    what your code was written to run on it may be easy or difficult to
    convert it to C++

    PL/I is infinitely more readable than C++ except for a few features like
    the macro language. The other thing about PL/I is that although it is statically typed, it converts implicity based on the target variable.
    That is used very often and will not necessarily be easily converted to
    C++ straight across without some creative classmaking.

    If the program is not large you could post it here although if it is a
    homework question you will be drawn and quartered, shot, hung, and taken
    down and shot again.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From kumaresh.kummi04@gmail.com@21:1/5 to All on Mon Jul 20 12:53:14 2020
    Thank you for your response. The program is quite large. If you don't mind, can I mail you personally ?

    Thank you again

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From robin.vowels@gmail.com@21:1/5 to kumares...@gmail.com on Mon Jul 20 18:49:35 2020
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From robin.vowels@gmail.com@21:1/5 to robin...@gmail.com on Mon Jul 20 19:34:25 2020
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From robin.vowels@gmail.com@21:1/5 to robin...@gmail.com on Mon Jul 20 19:27:46 2020
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From kumaresh.kummi04@gmail.com@21:1/5 to robin...@gmail.com on Tue Jul 21 00:54:38 2020
    On Tuesday, July 21, 2020 at 8:04:26 AM UTC+5:30, robin...@gmail.com wrote:
    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

    Thank you so much for your suggestion. I'll look into the books to understand the PL/I Programming

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard L. Hamilton@21:1/5 to robin.vowels@gmail.com on Wed Aug 5 15:48:01 2020
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From nobody in particular@21:1/5 to Richard L. Hamilton on Thu Aug 6 06:48:29 2020
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard L. Hamilton@21:1/5 to nobody in particular on Mon Aug 31 12:56:27 2020
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to Richard L. Hamilton on Mon Aug 31 06:08:58 2020
    Richard L. Hamilton <rlhamil@smart.net> wrote:
    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.


    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”.

    --
    Pete

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From nobody in particular@21:1/5 to Richard L. Hamilton on Mon Aug 31 16:55:34 2020
    On 31/08/2020 12:56, Richard L. Hamilton wrote:
    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.

    The IBM publications are downloadable for free. If you want the latest
    and greatest info, see here:

    https://www.ibm.com/support/pages/enterprise-pli-zos-documentation-library

    I hope the link doesn't break as it just wrapped in news client.

    The PL/I Language reference will tell you about the language itself; the
    PL/I Programmer's Guide is how to use the compiler options and compile
    and link programs, but it often contains helpful guidance and examples
    about various topics.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robert Prins@21:1/5 to kumaresh.kummi04@gmail.com on Mon Aug 31 22:02:50 2020
    On 2020-07-20 19:53, kumaresh.kummi04@gmail.com wrote:
    Thank you for your response. The program is quite large. If you don't mind, can I mail you personally ?

    Thank you again

    You could put it on your GMail Drive and share the URL... (or any other file-sharing service)

    Robert
    --
    Robert AH Prins
    robert(a)prino(d)org
    The hitchhiking grandfather - https://prino.neocities.org/indez.html
    Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robin Vowels@21:1/5 to Peter Flass on Mon Aug 31 21:06:03 2020
    On Monday, August 31, 2020 at 11:09:00 PM UTC+10, Peter Flass wrote:
    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,
    .
    Yes, my book is still available, by mail order. It's title is
    "Introduction to PL/I, Algorithms, and Structured Programming",
    with 669 pages.
    Comes with floppy disc containing the programs from the book,
    plus procedure for many of the new built-in functions.
    .
    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”.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kumaresh Selvakumar@21:1/5 to All on Fri Oct 23 23:11:12 2020
    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

    ANTHLOG: PROC OPTIONS (MAIN);

    /* INPUT DATA */;

    REPEAT: ON ENDFILE (SYSIN) STOP;
    DECLARE ISTRING CHAR(80),NAME CHAR(20);
    DT=120;
    NSEG#=5;
    FINTIM=30;
    TSOAK=3;
    AHEAT=130;
    KHEAT=100;
    XRAD=.01;
    GET EDIT(ISTRING)(A(80));
    IF INDEX(ISTRING,'=')>0 THEN DO;
    IF INDEX(ISTRING,';')=0 THEN
    SUBSTR(ISTRING,80,1)=';';
    GET STRING(ISTRING) DATA;
    GET EDIT(NAME) (A(80));
    END;
    ELSE NAME=SUBSTR(ISTRING,1,20);
    DECLARE (MASS,NIT,MOISTO,NPVOL,KHEAT) DECIMAL FLOAT;
    GET LIST(PC,PH,PX,PN,PS);
    PY=PC+PH+PX+PN+PS;
    CAR=PC/PY;
    HY=PH/PY;
    OX=PX/PY;
    NIT=PN/PY;
    SUL=PS/PY;

    GET LIST(PMOISTO,PASHDRY,RHODRY,TO);
    MOISTO=PMOISTO/100;
    ASH=PASHDRY* (1-MOISTO) /100;
    DAFO=1-MOISTO-ASH;
    RHOWET=RHOORY/(1-MOISTO) ;
    RHOO=RHOWET/(0.875+.137E-3*RHODRY);

    GET LIST (WIDTH,WALL,WCOND,WSPHT,WRHO);

    HWIDTH=WIDTH/2;
    NSEG=NSEG#*4+1 ;
    DX=HWIDTH/NSEG;
    DO=DX*DX/DT;
    VO=DX/DT;
    M=1.5+WALL/DX;
    N=M+NSEG-1;
    WDIFF=WCOND/(WRHO*WSPHT); *********************************************

    GET LIST(NF);
    (NOUFL): BEGIN;
    DECLARE(TIMES,TIMESHR,TEMPS)(NF);
    GET LIST(TIMESHR);
    TIMES=TIMESHR*3600;
    GET LIST(TEMPS);

    /* INITIAL CONDITIONS */;

    DECLARE(TRN1,TRN2,TRN3,TRN4,TRN5,H2,CH4,CO)(N);
    YINF=1.573-16*HY-0.14*OX-NIT-SUL;
    CINF=YINF-0.02;
    PVOL=16.3*HY-.21*OX+NIT+SUL-0.667;
    CPVOL=(15*HY-1.01*OX-0.598)/PVOL;
    HPVOL=(1.3*HY-0.051)/PVOL;
    XPVOL=(0.8*OX-.002)/PVOL;
    NPVOL=(NIT-.01)/PVOL;
    SPVOL=(SUL-0.006)/PVOL;
    TRN1=0.015;
    TRN2=MIN(0.05,PVOL-0.015);
    TRN3=MIN(0.05,MAX(0,PVOL-0.065));
    TRN4=MIN(0.1,MAX(0,PVOL-0.115));
    TRN5=MAX(0,PVOL-0.215);
    QH2=0.034-0.3*HY;
    QCH4=0.06;
    QCO=0.35*OX;
    H2=QH2;
    CH4=QCH4;
    CO=QCO;

    DECLARE(MOIST,DAF,ATMASS)(N)DECIMAL FLOAT;
    DAF=DAFO;
    MOIST=MOISTO;
    ATMASS=1/(CAR/12+HY+OX/16+NIT/14+SUL/32);

    DECLARE(Q,H,K,CVOL,ESHR)(N) DECIMAL FLOAT;
    DECLARE(KPART,KCOKE,KMOIST,KGAS,KO,KRAD,KL,KU,LBOIL,TIME)
    DECIMAL FLOAT;
    H=0;
    EO=1-RHOO*(0.000668*DAFO+ASH/3000);
    DO I=1 TO M-1;
    Q(I)=0;
    K(I)=WCOND;
    CVOL(I)=WRHO*WSPHT;
    END;
    *********************************************

    DECLARE(T,L,G,U,Z)(N)DECIMAL FLOAT;
    DO I=1 TO M-1;
    T(I)=TEMPS(1);
    END;
    DO I=M TO N;
    T(I)=TO;
    END;
    IF=1;
    XB=0;
    CSTEAM=2000;
    LBOIL=2.257E6;
    QINPUT=0;

    DECLARE INDX(5),OUT(26,5);
    CTIME=20;
    INDX=TO/50+1;
    DO I=1 TO 26;
    IF TO>50*I THEN OUT(I,*)=0;
    ELSE OUT(I,*)=100;
    END;

    CTIME=OUT(18,5);
    TIME=0;

    TLOOP: DO TIME=0 BY DT WHILE(TIME<MIN(FINTIM,CTIME+TSOAK)*3600);
    XLOOP: DO I=M TO N;
    TK=T(I)+273;

    /* VOLATILE EVOLUTION MODEL */

    IF T(I)>350 THEN DO;
    TRN1(I)=TRN1(I)*EXP(-.13E14*EXP(-29486/TK)*DT);
    TRN2(I)=TRN2(I)*EXP(-.13E14*EXP(-28042/TK)*DT);
    TRN3(I)=TRN3(I)*EXP(-.13E14*EXP(-26838/TK)*DT);
    TRN4(I)=TRN4(I)*EXP(-.13E14*EXP(-26116/TK)*DT);
    TRN5(I)=TRN5(I)*EXP(-.13E14*EXP(-25755/TK)*DT);
    PVOL=TRN1(I)+TRN2(I)+TRN3(I)+TRN4(I)+TRN5(I);

    H2(I)=MIN(H2(I),QH2*EXP(-((T(I)-350)/455)**2.5));
    CH4(I)=MIN(CH4(I),QCH4*EXP(-((T(I)-350)/324)**2.38));
    CO(I)=MIN(CO(I),QCO*EXP(-((T(I)-350)/420)**2.63));

    Y=PVOL+H2(I)+CH4(I)+CO(I)+YINF;
    CAR=(CPVOL*PVOL+.75*CH4(I)+.4286*CO(I)+CINF)/Y;
    HY=(HPVOL*PVOL+.25*CH4(I)+H2(I)+.002)/Y;
    OX=(XPVOL*PVOL+.5714*CO(I)+.002)/Y.;
    NIT=(NPVOL*PVOL+.01)/Y;
    SUL=(SPVOL*PVOL+.006)/Y;
    DAF(I)=Y*DAFO;
    ATMASS(I)=1/(CAR/12+HY+OX/16+NIT/14+SUL/32);
    END;

    ****************

    /* PHYSICAL PROPERTIES /MODEL */;

    MASS=DAF(I)+ASH+MOIST(I);
    RHO=RHOO*MASS;

    DENSDAF=1/(0.001388-7.69E-5*ATMASS(I));
    DENS=MASS/(DAF(I)/DENSDAF+ASH/3000+MOIST(I)/1000);

    E=1-RHO/DENS;
    ESHR(I)=MAX(0,1-(1-E)/(1-EO));

    F1=EXP(380/TK);
    E1=F1*(380/TK/(F1-1))**2;
    F2=EXP(1800/TK);
    E2=F2*(1800/TK/(F2-1))**2;
    CDAF=8314.4*(E1+2*E2)/ATMASS(I);
    CASH=754+.586*T(I);
    C=(DAF(I)*CDAF+ASH*CASH+4186.8*MOIST(I))/MASS;
    CVOL(I)=C*RHO;

    HOCH4=6234000*(QCH4-CH4(I));
    HOCO=-4243000*(QCO-CO(I));
    HOH2=966000*(QH2-H2(I));
    HO=HOCH4+HOCO+HOH2;
    QDAF=KHEAT*EXP(-AHEAT*1E6/(8314.4*TK))*(HO-H(I));

    Q(I)=QDAF*DAFO*RHOO;
    H(I)=H(I)+QDAF*DT;
    IF TK<700 THEN KGAS=7.83E-5*TK;
    ELSE IF TK<1100 THEN KGAS=1.095E-3*TK-0.712;
    ELSE KGAS=4.48E-4*TK;
    KO=(0.016*ATMASS(I)-0.105)*SQRT(TK);
    IF E<EO THEN DO;
    EPART=1-(1-E)**0.333333;
    KPART=1/(EPART/KGAS+(1-EPART)/KO);
    EMOIST=RHOO*MOIST(I)*0.001;
    KMOIST=(0.6-KPART)*EMOIST;
    K(I)=KPART+KMOIST;
    END;
    ELSE DO;
    ECOKE=E/(1-E**.6666667+E);
    KCOKE=ECOKE*KGAS+(1-ECOKE)*KO;
    ERAD=1-(1-ESHR(I))**.666667;
    KRAD=1.822E-7*ERAD*XRAD*TK**3;
    K(I)=KCOKE+KRAD;
    END;

    END XLOOP;

    ****************************

    /* TEMPERATURE HISTORY MODEL */;

    IF TIME<TIMES(1) THEN
    TF=TEMPS(1);
    ELSE IF TIME<TIMES(NF) THEN DO;
    IF TIME>TIMES(IF+1) THEN
    IF=IF+1;
    TF=(TEMPS(IF)*(TIMES(IF+1)-TIME)+TEMPS(IF+1)*(TIME-TIMES(IF)))
    /(TIMES(IF+1)-TIMES(IF));
    END;ELSE
    TF=TEMPS(NF);

    G(1)=1;
    U(1)=0;
    Z(1)=TF;
    DO I=2 TO N-1;
    KL=2/(1/K(I)+1/K(I-1));
    KU=2/(1/K(I+1)+1/K(I));
    DIFFL=KL/CVOL(I);
    DIFFU=KU/CVOL(I);
    @DIFFL=DIFFL/DO;
    @DIFFU=DIFFU/DO;
    REACT=Q(I)/CVOL(I);
    @REACT=REACT*DT;
    L(I)=-@DIFFL;
    G(I)=1+@DIFFL+@DIFFU;
    U(I)=-@DIFFU;
    Z(I)=T(I)+@REACT;
    END;
    L(N)=-@DIFFU;
    G(N)=1+@DIFFU;
    U(N)=0;
    Z(N)=T(N)+Q(N)*DT/CVOL(N);
    IB,IC=N+1;
    DO I=N BY -1 TO M;
    IF T(I)=100 & MOIST(I)>0 THEN IB=I;
    END;
    DO I=N BY -1 TO IB+1;
    IF T(I)<100 THEN IC=I;
    END;
    DO I=IB TO IC-1;
    L(I)=0;
    G(I)=1;
    U(I)=0;
    Z(I)=100;
    END;

    ************************************

    DO I=2 TO N;
    FACTOR=L(I)/G(I-1);
    G(I)=G(I)-FACTOR*U(I-1);
    Z(I)=Z(I)-FACTOR*Z(I-1);
    END;
    DO I=N-1 BY -1 TO 1;
    Z(I)=Z(I)-Z(I+1)*U(I)/G(I+1);
    END;
    DO I=1 TO N;
    T(I)=Z(I)/G(I);
    END;

    DO I=M TO N;
    IF T(I)>100 & MOIST(I)>0 THEN T(I)=100;
    END;
    IF IB<N+1 THEN DO;
    QB=K(IB-1)*(T(IB-1)-100)/DX;
    QBMAX=LBOIL*(DX-XB)*RHOO*MOIST(IB)/DT;
    IF QB>QBMAX THEN DO;
    QB=QBMAX;
    XB=0;
    MOIST(IB)=0;
    END;
    ELSE XB=XB+QB*DT/(RHOO*MOIST(IB)*LBOIL);
    IF IC<N+1 THEN DO;
    QC=K(IC)*(100-T(IC))/DX;
    QERR=QB-QC;
    DO I=IC TO N HHILE(QERR>O);
    QSENS=CVOL(I)*(100-T(I))*VO;
    IF QSENS>QERR THEN DO;
    T(I)=T(I)+QERR/(CVOL(I)*VO);
    MOIST(I)=MOIST(I)+QERR/(LBOIL*RHOO*VO);
    QERR=0;
    END;
    ELSE DO;
    T(I)=100;
    MOIST(I)=MOIST(I)+QSENS/(LBOIL*RHOO*VO);
    QERR=QERR-QSENS;
    END;END;END;
    ELSE DO;
    V=CSTEAM*QB/LBOIL;
    DO I=IB-1 BY -1 TO M WHILE(ESHR(I)=0);
    VEL=V/CVOL(I);
    @VEL=VEL/VO;
    T(I)=T(I)-@VEL*(T(I-1)-T(I+1))/2;
    END;END;END;
    IF M>2 THEN
    QINPUT=QINPUT+MAX(O, WCOND*(T(1)-T(M-1))/((M-2)*VO));

    ***********************

    /* OUTPUT */;

    DO I=1 TO 5;
    IF INDX(I)<27 THEN
    IF T(NSEG#*(I-1)+M)>=50*INDX(I) THEN DO;
    OUT(INDX(I),I)=TIME/3600;
    INDX(I)=INDX(I)+1;
    END;END;
    CTIME=OUT(18,5);

    END TLOOP;


    PUT EDIT(NAME)(PAGE,X(35),A(20));
    PUI EDIT('INPUT DATA')(SKIP(2),X(5),A);
    IF INDEX(ISTRING, '=')>0 THEN DO;
    PUT EDIT('PROGRAMME CONTROL DATA')(SKIP(2),X(5),A);
    PUT EDIT(ISTRING)(SKIP,X(5),A);
    END;
    PUT EDIT('COAL SPECIFICATION')(SKIP(2),X(5),A);
    PUI EDIT('C','H','O','N','S')
    (SKIP,X(7),(5) A(6));
    PUT EDIT(PC,PH,PX,PN,PS)
    (SKIP,X(4),(5) F(6,2));
    PUT EDIT('% (DAFB)')(X(2),A(8));
    PUT EDIT('CHARGE PREPARATION') (SKIP(2),X(5),A);
    PUT EDIT('MOISTURE','ASH','BULK DENSITY','TEMPERATURE')
    (SKIP,X(5),A(15),A(12),A(17),A);
    PUT EDIT(PMOISTO,PASHDRY,RHODRY,TO)
    (SKIP,F(10,1),F(13,1),F(17),F(15));
    PUT EDIT('%','% (DRY BASIS)','KG/M3 (DRY BASIS)',' DEG C')
    (SKIP,X(8),A(7),A(15),A(21),A);
    PUT EDIT ('OVEN SPECIFICATION' )(SKIP(2) ,X(5)) ,A);
    PUT EDIT ('WIDTH','WALL:THICKNESS CONDUCTIVITY SPECIFIC '
    II'HEAT DENSITY')(SKIP,X(5),A(10),A);
    PUT EDIT (WIDTH,WALL,WCOND,WSPHT,WRHO)
    (SKIP,F(10,3),F(17,3),F(13,1),F(13),F(10));
    PUT EDIT ('M','M','W/M K','J/KG K','KG/M3')
    (SKIP,X(7),A(17),A(12),A(12),A(10),A);
    PUT EDIT('FLUE TEMPERATURE READINGS')(SKIP(2),X(5),A);
    PUT EDIT('NUMBER',NF,'TIMES',TlMESHR,' H','TEMPS',
    TEMPS,' DEG C')(SKIP,X(5),A,F(5),SKIP,X(5),A,(NF) F(6,1),A,
    SKIP,X(5),A,(NF) F(6),A);
    PUT EDIT('PREDICTED TEMPERATURE HISTORY')(SKIP (2) ,X(5) ,A);
    PUT EDIT('TEMPERATURE','TIME (H)')(SKIP(2),X(5),A(31),A);
    PUT EDIT('(DEG C)','WALL','1/8','1/4','3/8','CENTRE',' ')
    (SKIP(2),X(5) ,(4) A(10),A(9),A,SKIP,A);
    PUT EDIT((50*I,(OUT(I,J) DO J=1 TO 5) DO I=1 TO 26))
    (SKIP,F(9),(5) (X(6),F(4,1)));
    PUT EDIT ('COKING TIME',CTIME+3,'H')
    (SKIP(2),X(5),A(11),F(8,2),X(3),A);
    PUT EDIT('HEAT REQUIREMENTS',QINPUT*1E-6/(RHOO*HWIDTH),
    'MJ/KG (DAF INITIAL COAL BASIS)')
    (SKIP,X(5),A(17),F(6,3),X(3),A);
    END;
    GO TO REPEAT;
    END ANTHLOG;

    //*******************************************************//

    Thank you

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter J. Seymour@21:1/5 to Kumaresh Selvakumar on Sat Oct 24 16:34:30 2020
    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?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robin Vowels@21:1/5 to Kumaresh Selvakumar on Sat Oct 24 08:24:02 2020
    On Saturday, October 24, 2020 at 5:11:14 PM UTC+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,
    .
    Since you are able to compile three of the sample programs,
    you should have no difficulty in compiling the program you have
    posted.
    .
    For help with that, you should post any error messages here.
    .
    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++)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From carlos feldman@21:1/5 to All on Sat Oct 24 13:31:53 2020
    El sábado, 24 de octubre de 2020 a la(s) 12:34:32 UTC-3, Peter J. Seymour escribió:
    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?

    Hi Kumaresh Selvakumar;

    I was taking a look to your program.
    Seems to be an old fortan program translated into PL/I, you can easily translate into C,C++,Fortran or even Basic.
    It has only one module, called anthlog, no subroutines or external procedures. Unlike C or C++, PL/I do has Input output routines (also have them Fortran and Basic )
    You may want to compile PLI your program with the options SOURCE,NEST,ATTR,XREF . This will give you the nesting of modules and do loops, also the position and type of each variable used.
    The program uses Get Edit, and put edit equivalents to printf and scanf.
    Also take into account that DO .... END is equivalent to Do {}, that beguin... end is like { }.
    There are some complilation errors ( sorry the listing is about 900 lines long, I can't attach it to this message. If you want me, I can email it to you ), mostly format errors, I used IBM's PLI(f) from the middle 60's, so it may be some sintax
    differences.
    With the nested listing you may easily translate PL/I to C, since the 90% of the progam is arithmetic expressions, and the rest is printout. You'll need to convert the put to printf, and the dos, if/then, beguin to the C format.

    regards

    Carlos
    Argentina

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to Kumaresh Selvakumar on Sat Oct 24 20:16:34 2020
    Kumaresh Selvakumar <kumaresh.kummi04@gmail.com> 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++.

    I’m always happy to have code to test with, particularly bad code ;-)

    The problems are a mix of errors in the code and a couple of Iron Spring problems. Simplest are the lines of “***” which should be either converted to comments or deleted.
    1. Line 142: “Y.” at the end of the statement should be just “Y”?
    2. Line 316, 322: “PUI” instead of “PUT”.
    3. Line 334: extra “)” in format.
    4. Line 336: “II” (letter I) instead of “||” (concatenation)
    Obviously, as someone said, this program has never compiled.

    Now to the bad stuff :-(
    5. Line 18: Iron Spring PL/I currently doesn’t support GET DATA without a data list. This syntax allows you to input any data element “known” at this point in the program. The format of ISTRING read above with A(80) would be “name1=value1, name2=value2, ... ;
    6. Line 349: unknown, may be a bug handling type-3 DO data lists or may be syntax error
    7. Line 54: Array expressions currently not supported. May be in next
    release
    8. Line 114, 115: Array cross-sections such as “OUT(I,*)” not currently supported
    9. Various: There is a known lexing bug. A statement that breaks at the and
    of a line with no trailing blank and continues in the start column of the
    next line with no leading blank may be scanned incorrectly. See line
    204-205. This is a simple global change to add a blank following a THEN
    that ends a line. I really should fix this, but in <mumble> years no one
    has ever encountered it before.

    There are simple work-arounds for all the above. For (5) you’d have to
    limit the data to be input by saying, e.g. GET DATA(var1,var2...) However, without having data to be input, and knowing that the program has never compiled, it might not be worth it.
    --
    Pete

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Iron Spring Software@21:1/5 to Iron Spring Software on Sat Oct 24 20:37:55 2020
    On 10/24/20 8:37 PM, Iron Spring Software wrote:
    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.



    Oh, I see my previous reply now...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Iron Spring Software@21:1/5 to Kumaresh Selvakumar on Sat Oct 24 20:37:13 2020
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kumaresh Selvakumar@21:1/5 to All on Sat Oct 24 21:51:16 2020
    Thank you all for the replies...

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter J. Seymour@21:1/5 to Kumaresh Selvakumar on Sun Oct 25 10:42:06 2020
    On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
    Thank you all for the replies...

    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

    I had a look at the PL/I source code in the thesis PDF. It seems that
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter J. Seymour@21:1/5 to Kumaresh Selvakumar on Sun Oct 25 11:53:52 2020
    On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
    Thank you all for the replies...

    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

    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter J. Seymour@21:1/5 to Robin Vowels on Sun Oct 25 12:37:09 2020
    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.

    OK, my theory doesnt seem to fit, it merely has the merit of compiling.
    I wonder what the resultant program would actually do.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter J. Seymour@21:1/5 to Peter J. Seymour on Sun Oct 25 12:41:08 2020
    On 25/10/2020 10:42, Peter J. Seymour wrote:
    On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
    Thank you all for the replies...

    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

    I had a look at the PL/I source code in the thesis PDF. It seems that
    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.

    Some more progress:

    Near the front of the program are the statements:
    GET STRING(ISTRING) DATA;
    GET EDIT(NAME) (A(80));
    They do not seem to make any sense.
    If I merge them as
    GET STRING(ISTRING) EDIT(NAME) (A(80));
    the program seems to make more sense and it compiles, links and runs.
    I cannot go further without understanding the input data.
    There is one further point though. When I say it runs, I mean
    it will start executing and then just hang, even if supplied with some arbitrary data, and I have to reboot to recover. So it is possible a
    further change is required to get the program to end cleanly. (This is
    Iron Spring compiler and OS/2)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robin Vowels@21:1/5 to Peter J. Seymour on Sun Oct 25 05:22:06 2020
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kumaresh Selvakumar@21:1/5 to All on Sun Oct 25 07:53:09 2020
    Thank you for the valuable comments.

    Here are the input data:
    GET LIST(PC,PH,PX,PN,PS);
    PC=0.894, PH=0.049, PX=0.037, PN=0.012, PS=0.008

    GET LIST(PMOISTO,PASHDRY,RHODRY,T0) // Here its T0(initial temperature) not TO --> inaccurate OCR error
    PMOISTO=10, PASHDRY=5, RHODRY=750, T0=20

    GET LIST(WIDTH,WALL,WCOND,WSPHT,WRHO)
    WIDTH=0.45, WALL=0.05, WCOND=2.3, WSPHT=1200, WRHO=2800

    GET LIST(NF)
    NF= 1

    GET LIST(TIMESHR)
    TIMESHR= 0-20 (varies hope so)

    GET LIST(TEMPS)
    TEMPS= 1050

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter J. Seymour@21:1/5 to Robin Vowels on Sun Oct 25 15:05:33 2020
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter J. Seymour@21:1/5 to Kumaresh Selvakumar on Sun Oct 25 15:18:15 2020
    On 25/10/2020 14:53, Kumaresh Selvakumar wrote:
    Thank you for the valuable comments.

    Here are the input data:
    GET LIST(PC,PH,PX,PN,PS);
    PC=0.894, PH=0.049, PX=0.037, PN=0.012, PS=0.008

    GET LIST(PMOISTO,PASHDRY,RHODRY,T0) // Here its T0(initial temperature) not TO --> inaccurate OCR error
    PMOISTO=10, PASHDRY=5, RHODRY=750, T0=20

    GET LIST(WIDTH,WALL,WCOND,WSPHT,WRHO)
    WIDTH=0.45, WALL=0.05, WCOND=2.3, WSPHT=1200, WRHO=2800

    GET LIST(NF)
    NF= 1

    GET LIST(TIMESHR)
    TIMESHR= 0-20 (varies hope so)

    GET LIST(TEMPS)
    TEMPS= 1050

    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

    A variable 'IF' will not worry PL/I, it is capable of dealing with such situations. It could be bad OCR as there is also a variable 'TF' but I
    cannot say what is correct for the program.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kumaresh Selvakumar@21:1/5 to All on Sun Oct 25 08:24:46 2020
    Thank you. May be 'IF' will not worry PL/I.
    Similarly, the variable 'TF' is unique too.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to Peter J. Seymour on Sun Oct 25 11:09:32 2020
    Peter J. Seymour <ng@pjsdemon.uk> wrote:
    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.

    OK, my theory doesnt seem to fit, it merely has the merit of compiling.
    I wonder what the resultant program would actually do.


    That’s the question. With all these obvious errors, what else is lurking in the OCRed code? The program doesn’t declare most (all?) variables, and I think there are over one hundred. It’s going to take a while to comb out
    all the errors.

    --
    Pete

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter J. Seymour@21:1/5 to Kumaresh Selvakumar on Sun Oct 25 17:18:32 2020
    On 25/10/2020 15:24, Kumaresh Selvakumar wrote:
    Thank you. May be 'IF' will not worry PL/I.
    Similarly, the variable 'TF' is unique too.
    It was an interesting problem to look at but I feel I should stop there.
    You will need to be sure there are no further OCR errors in the
    extracted source code whichever onwards direction you go.

    All the best
    Peter

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to Kumaresh Selvakumar on Sun Oct 25 14:44:03 2020
    Kumaresh Selvakumar <kumaresh.kummi04@gmail.com> wrote:
    Thank you for the valuable comments.

    Here are the input data:
    GET LIST(PC,PH,PX,PN,PS);
    PC=0.894, PH=0.049, PX=0.037, PN=0.012, PS=0.008

    GET LIST(PMOISTO,PASHDRY,RHODRY,T0) // Here its T0(initial temperature)
    not TO --> inaccurate OCR error
    PMOISTO, PASHDRY=5, RHODRYu0, T0

    GET LIST(WIDTH,WALL,WCOND,WSPHT,WRHO)
    WIDTH=0.45, WALL=0.05, WCOND=2.3, WSPHT00, WRHO(00

    GET LIST(NF)
    NF= 1

    GET LIST(TIMESHR)
    TIMESHR= 0-20 (varies hope so)

    GET LIST(TEMPS)
    TEMPS= 1050

    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


    PL/I has no reserved words. I did notice the use of “IF” as a variable name.

    --
    Pete

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robin Vowels@21:1/5 to Peter J. Seymour on Sun Oct 25 17:04:03 2020
    On Monday, October 26, 2020 at 2:05:34 AM UTC+11, Peter J. Seymour wrote:
    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.
    .
    The loop variable can be referenced in as many places as you want.
    It's just like an ordinary DO loop, but in a single statement --
    the ends of which are indicated by parentheses.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John W Kennedy@21:1/5 to Peter Flass on Mon Oct 26 18:23:41 2020
    On 10/25/20 2:09 PM, Peter Flass wrote:
    Peter J. Seymour <ng@pjsdemon.uk> wrote:
    On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
    Thank you all for the replies...

    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

    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.



    That’s what I thought. The syntax is a bit...infelicitous.


    I have a distant memory of this being the substance of an APAR long,
    long ago.

    --
    John W. Kennedy
    "The blind rulers of Logres
    Nourished the land on a fallacy of rational virtue."
    -- Charles Williams. "Taliessin through Logres: Prelude"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter J. Seymour@21:1/5 to Peter Flass on Tue Oct 27 09:26:37 2020
    On 25/10/2020 18:09, Peter Flass wrote:
    Peter J. Seymour <ng@pjsdemon.uk> wrote:
    On 25/10/2020 04:51, Kumaresh Selvakumar wrote:
    Thank you all for the replies...

    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

    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.



    That’s what I thought. The syntax is a bit...infelicitous.


    I find the syntax with multiple DO groups a bit alarming. The problem in
    this case is the multiple DO groups. If you remove the 1 TO 26 group so reducing things to a single group, and recode it as a loop around the
    PUT statement, the results seem correct.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eric Jackson@21:1/5 to Peter Flass on Tue Oct 27 09:40:06 2020
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to Eric Jackson on Tue Oct 27 15:56:58 2020
    Eric Jackson <jhril@ca.rr.com> wrote:
    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.


    Maybe host it on sourceforge, github, or somewhere, on the off-chance that
    more than one person wants to work on it. (I can’t right now, I have my
    hands full)

    --
    Pete

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robin Vowels@21:1/5 to Eric Jackson on Tue Oct 27 17:50:42 2020
    On Wednesday, October 28, 2020 at 3:40:08 AM UTC+11, Eric Jackson wrote:
    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.

    You could try getting an attribute and cross-reference listing.
    With OCR, zeros and capital OH can be mis-interpreted.
    For example, is that E0 or EO?

    As well as that, good idea to enable SUBSCRIPTRANGE, SIZE.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From carlos feldman@21:1/5 to All on Wed Oct 28 09:19:39 2020
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eric Jackson@21:1/5 to Eric Jackson on Wed Oct 28 18:05:43 2020
    On 10/27/2020 9:40 AM, Eric Jackson wrote:
    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.

    There were just a couple of more OCR errors to resolve before it ran
    with the same results as the PDF. You can see the results here:

    https://drive.google.com/drive/folders/1HWh8OfxHDgbwaN0rIaeo3kmr3mj96JWW

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robin Vowels@21:1/5 to c......@gmail.com on Wed Oct 28 18:20:20 2020
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From carlos feldman@21:1/5 to All on Thu Oct 29 08:41:11 2020
    El miércoles, 28 de octubre de 2020 a la(s) 22:20:21 UTC-3, Robin Vowels escribió:
    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 Robin!,

    In the compiler version I used I've got a conversion error during runtime, that's why I changed the format. Actually there are some differences in PL/I Subset D, (f) and optimizing, reflecting the development of the software and computer capacity along
    years.
    PLI(f) was able to run, in computers so tiny, we would consider them a joke.

    I agree PL/I is very permisive in the use of identifiers, and not declaring them, but this is also a nice way, to get hard to find bugs ( for instance the overflows, were caused by endings in 0 and O. or L and I or 1.

    As for myself I would have declared all the variables, commenting out them, a way I use since my first PLI in the 1970's. This, along the options, nest, xref and nest and (check:) are wonderful debugging tools, from a time where you had to debug based in
    assembly code, and memory dumps.

    I would have modularizated the program, with internal modules, and also would have simplified all the formats.
    Seems like the then candidate to doctorate, was influenced by FORTRAN IV style, very much used in universities, during 1960's and 70's

    And why translate to C++ ? Because mr Kumaresh is doctorate candidate, doing original work, using as a tool flow model systems based in C++. Having this programs up and running, can help him to veryfy his results. This original thesis from the 1970's was
    test using PL/I under CMS. Now half a century later, there are other tools.

    Regard,
    Carlos

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From carlos feldman@21:1/5 to All on Tue Nov 3 07:32:17 2020
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to carlos feldman on Tue Nov 3 10:49:48 2020
    carlos feldman <carlfelster@gmail.com> wrote:
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From carlos feldman@21:1/5 to All on Wed Nov 4 11:46:26 2020
    El martes, 3 de noviembre de 2020 a la(s) 14:49:50 UTC-3, bearlyabus...@gmail.com escribió:
    carlos feldman <carlf...@gmail.com> wrote:
    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
    Never used this compiler version, I only used the ones, that generate IBM360/370 Assembly or Load Modules

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From carlos feldman@21:1/5 to All on Wed Nov 4 11:51:35 2020
    El martes, 3 de noviembre de 2020 a la(s) 14:49:50 UTC-3, bearlyabus...@gmail.com escribió:
    carlos feldman <carlf...@gmail.com> wrote:
    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
    Pete, Thanks, for calling me a newbie !!!
    I wrote my first PL/I in 1979, I was some time at IBM, and I wrote my engineering thesis, a microrocessor, assembler, using PL/I. Even had used CMS in a selectric printing terminal !!!!
    This Covid-19, gave lots of free time, to relearn this.
    Regards.
    Carlos

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)