× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



John Carr wrote:
> 
> Re: DOW vs DOU
> 
> David, I mean Mr. Phelps
> 
> <THANK YOU,  Checkmate>
> 
> Sorry but your whole mission impossible team was destroyed by just one
> of the benign looking but deadly DOW traps. (Now gather round boys and
> girls there is a valuable lession here)
> 
> Mr. Phelps wrote;
> 
> >Like this, you mean?
> >
> >  KEY       CHAINFILEXXX              90
> 
> >  *IN90     DOWEQ*OFF
> >  XXCODE    ANDNE'B'
> 
> >  XXCODE    IFEQ 'A'
> >            ITER
> >            ENDIF
> 
> > <.... whatever process ....>
> 
> >  KEY       READEFILEXXX                  90
> >            ENDDO
> 
> Whats wrong with this Code?  Look at it carefully.
> 
> If this code is actually run and the program incounters a XXXCODE = A from
> FILEXXX what you will notice is;
> 
> First the lights will dim,  and peoples tubes will seem to freeze,
> and you may not have enough resources to kill this job.  BECAUSE.....
> the ITER opcode branchs TO the ENDDO statement and by passes the READE
> opcode.  Then with lighting speed it will branch back up to the DOW
> statement and test the XXXCODE again, It will still be "A" and the process
> will continue.  The whole program will be PAGED out except for this chunk
> of code and the machine will get Real Good, Real Fast at executing those 4
> statements.
> 
> You in essence have a classic example of an INFINITE LOOP!
> The bottom line is that you CANNOT USE an ITER opcode with the DOW!
> 
> Other than that your code does, how did you say it; "My example matches
> the structure of the code to the structure of the data, whereas yours
>  doesn't.".
> 
> That may be true but mine did have Brevity, and it had Clarity,
> and Succinctness, AND it didn't get into an Infinite Loop.
> 
> In the world of Left hand indicators, GOTO/CAB's and spaghetti code,etc.
> our lofty discussions of "What is Structured Code" often gets drowned
> out by production deadlines, Byzantine standards, and the rest.
> 
> As some french guy said of goverments "Of forms of goverments, let fools
> contest, that which is best adminstered is best"  I believe it's true
> of Code as well. Maintainability is #1.
> 
> Respectfully
> 
> John P. Carr CDP
> EdgeTech
> 74711.77@compuserve.com 804-739-7689
> 
> P.S. I'd like to meet you 3d sometime and have a beer. DOW aside I still
>      Highly respect your opinions!
> thanks for the fun
> 
> ------------------------------------------------------------------
> On May 25 1997 John P. Carr wrote:
> 
> >Ok David; (Mr Phelps)
> >
> >Here's your assignment if you chose to accept it, Convert the following
> >code of that infamous DOU connoisseur guy  John Carr to a DOW.
> 
> >Your score will be judged on Clarity, Brevity, and Succinctness.
> >To be especially harsh you cannot code the same IF statement
> >twice(But then, why should you need to?).
> 
> >  KEY      SETLL  FILEXXX
> > *IN90     DOUEQ  *ON
> >  KEY      READE   FILEXXX                 90
> > *IN90     IFEQ   *ON
> >           LEAVE
> >           ENDIF
> >
> >  XXXCODE  IFEQ    'B'
> >          LEAVE
> >          ENDIF
> >
> >  XXXCODE  IFEQ     'A'
> >           ITER
> >           ENDIF
> >< ... end of in-line edits ...>
> >
> > <.... whatever process ....>
> >
> >          ENDDO
> 

I prefer this method John.
Whether to process the record or skip it being determined in a
subroutine. CHKRCD often will have several checks rather than just the
one shown here.

Maybe old habits are hard to break, in any case, i've seen alot worse.
 
  KEY      CHAIN  FILEXXX
  *IN90    DOWEQ  *OFF                        While a record 
  XXXCODE  ANDNE  'B'                         & not code B
           EXSR   CHKRCD                      Check Record   
  GOODR    IFEQ   'Y'                         Process ?
 <.... whatever process ....>
           ENDIF                              End Process
  KEY      READE   FILEXXX                 90 Read Next
           ENDDO 

C* Check Record Subroutine 
  CHKRCD   BEGSR
           MOVE 'Y'        GOODR
  XXXCODE  IFEQ 'A'
           MOVE 'N'        GOODR
           ENDIF        
           ENDSR


-- 
Jim Welsh
Programmer/Analyst
B&B Cash Grocery Stores, Inc.

http://www.netcom.com/~jimwelsh/welcome.html
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This is the Midrange System Mailing List!  To submit a new message,   *
* send your mail to "MIDRANGE-L@midrange.com".  To unsubscribe from     *
* this list send email to MAJORDOMO@midrange.com and specify            *
* 'unsubscribe MIDRANGE-L' in the body of your message.  Questions      *
* should be directed to the list owner / operator: david@midrange.com   *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.