Path: utzoo!mnetor!uunet!ncc!alberta!att-ih!ihnp4!ucbvax!tekgvs.GVS.TEK.COM!mikec From: mikec@tekgvs.GVS.TEK.COM (Micheal Cranford) Newsgroups: comp.lang.modula2 Subject: Re: "FOR loop" control var. and limit expression types Message-ID: <8804140228.AA15714@tekgvs.GVS.TEK.COM> Date: 14 Apr 88 02:28:23 GMT References: Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Info-Modula2 Distribution List Organization: Tektronix, Inc., Beaverton, OR. Lines: 61 Harvard, you resently stated : "I am interested in people's opinions on the restrictions of compatibility between a FOR loop control variable and the types of limit expressions." ............................[deleted].................................. "The issue arose during my work to port the 1-pass MC68K native code ETH compiler." ............................[deleted].................................. "I intend to change it to allow a free mix of CARDINAL and INTEGER control variable and limit expressions, but I wanted to get others opinions and interpretations first." ............................[deleted].................................. I have nothing useful to offer here except the painfully obvious `it seems the parser is even more confused than Wirth's definition of compatibility.'. Your proposed solution sounds just fine to me (follows Wirth's `INTEGER := CARDINAL assignment rules). So why am I bothering you? I am interested in the "1-pass MC68K native code ETH compiler". I am currently using an optimizing MC68K native code Modula2 compiler that has a number of problems. 1. A number of irritating `bugs'. 2. No compiler support available due to (3). 3. Original authors had a fight and went separate ways. 4. Incredibly slow to optimize (over 1/2 hour on a 1K line program). 5. No compiler source available (they are still fighting over `ownership'). 6. Some of the optimization is apparently for another microprocessor (i.e. instead of using BSET (BCLR) it uses `ROR, OR#1 (AND#FE), ROL' with sets!). 7. Etc...... Some Modula2 compilers that I currently have source to are : 1. 4 pass for ETH Lilith (generates `M' code - currently unused) 2. 4 pass for VMS VAX (derived from ETH multipass - currently unused) 3. 5 pass for MC68000 (derived from ETH 5 pass PDP11 - currently unused) 4. 1 (or 2?) pass for MC68000 (locally generated, little documentation, author departed over 2 years ago, has been used - currently unused). I just received #4 (above) and have started checking to see how involved it will be to make it operational (I don't know about optimizations, etc). My best choice may be to look elsewhere for a compiler (with source available). Some standard questions for you : 1. Is the "1-pass MC68K native code ETH compiler" `public domain'? 2. IF `yes' then can you send me a copy, otherwise, how much $? 3. What optimizations does it perform? Reliability? Bugs? Standard answers (check one or more) : [] 1. No. [] 2. Yes. [] 3. Maybe. [] 4. Go away. [] 5. Don't bother me. [] 6. Other ... please specify in reply Micheal Cranford