.rm 72;.lm 5; .skip 4 .nofill SUBJECT:##Future of FLECS FILE:#####cluster::[MP1Q.FLEALECOM]FLECS__FUTURE.RNO AUTHOR:###M. Oothoudt DATE:#####18-FEB-86 .skip 3 .autopara .fill A new version of FLECS will become the default version of FLECS for the cluster on March 10, 1985. If you wish to use the new version of FLECS before the release date, define the following DCL symbol: .skip 1 $ FLE:==@MP01$DISK:[MP1Q.FLEALECOM.FLECS.TEST]FLE .SKIP 1 This will override the system definition of FLE that points to the old version of the code. The new version of FLECS: .list .le;Generates FORTRAN77 output code (eg. IF-THEN-ELSE) instead of FORTRAN II code (IF-GOTO). The execution speed of your programs will not be influenced by this change. If your code executes incorrectly after using the new FLECS and the FLECS source code seems to be correct, you may need to see if the generated FORTRAN code is correct. (The new FLECS has been extensively tested on simple test modules and on HPL and TSU, so few if any bugs should exist.) .le;The program no longer puts out the message .skip 1 *****WARN--INPUT FORCED OUTPUT CONTINUATION LINE .skip 1 Instead it truncates any in-line comment on the line. (The in-line comment might cause the error that FLECS was warning you of.) .le;The following is a new FLECS control structure: .skip 1 #####DOWHILE (L) .br #####code .br #####ENDDO .skip 1 Here "L" is a logical expression and "code" is any set of legal FORTRAN or FLECS statements. The .FLL listing file shows this structure indented in the same way as other FLECS structures. Note that this control structure is a subset of the VAX FORTRAN77 DOWHILE instruction. .le;The following is a new FLECS control structure: .skip 1 #####DO v=e1,e2[,e3] .br #####code .br #####ENDDO .skip 1 Here "v=e1,e2[,e3]" is normal loop control informaion and "code" is any set of legal FORTRAN or FLECS statements. Note that there is no statement label and there are no parentheses. The .FLL listing file shows this structure indented in the same way as other FLECS structures. Note that this control structure is a subset of the VAX FORTRAN77 DO instruction. .le;The following is a new FLECS control structure: .skip 1 #####IF (L) THEN .br #####code .br #####ELSE IF (L1) THEN .BR #####code .BR #####ELSE .BR #####code .br #####ENDIF .skip 1 Here "L" and "L1" are logical expressions and "code" is any set of legal FORTRAN or FLECS statements. The .FLL listing file shows this structure indented in the same way as other FLECS structures. .els The last three items in the list may seem strange, since they are standard DEC VAX FORTRAN77 and FLECS has equivalent statements. The reason for their inclusion is that MP-1 wants to eliminate FLECS within the next couple of years. Current DEC VAX FORTRAN77 completely supports equivalents of all the FLECS statements except internal procedures and .PASSIF/.PASSUNLESS. Rather than make a sudden change, we are making a gradual change in FLECS. New code should be written with DOWHILE, DO/ENDDO, IF-THEN-ELSE rather than WHILE, WHEN/ELSE, etc. At some future date (which we will announce well in advance), we will supply a program to convert sources with WHEN/ELSE, etc. into standard FORTRAN77. A new version of FLECS will then be used which only translates internal procedures and .PASSIF/.PASSUNLESS. An output formatting program will be provided for the FORTRAN77 statements plus internal procedures. When FORTRAN88 comes out, FLECS may disappear entirely. .skip 1 .literal Mike O. .end literal