.rm 72;.lm 5; .skip 4 .nofill SUBJECT:##Update Pages for Flecs Manual FILE:#####cluster::[MP1Q.MANUALS]FLECSUIM_UPDATE.RNO AUTHOR:###M. Oothoudt DATE:#####26-Mar-86 .skip 3 .autopara .fill FLECS Version 22 has been upgraded to Version 860214 at LAMPF. The following information may be used to update the FLECS manual dated August 27, 1984. The new version of FLECS is now the only version supported on the cluster and MP1 DAQ VAXs. These changes apply to FLECS only; they are not implemented for ALECS. FLECS version 860214: .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.) .els .page .center 72;Section 4.1 The following paragraphs belong at the beginning of Sec.#4.1 in the August 27, 1984 version of the manual: .skip 2 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. There may be 0 or more ELSEIFs in the block. There may be 0 or 1 ELSEs in the block. The .FLL listing file shows this structure indented in the same way as other FLECS structures. For new code this control structure should be used instead of the old FLECS IF, UNLESS, and WHEN/ELSE statements. CONDITIONAL and SELECT should, however, continue to be used. When FORTRAN 88 comes out, FLECS will be able to produce better FORTRAN code for CONDITIONAL or SELECT than it will for the equivalent IF-THEN-ELSE construct. .page .center 72;Section 4.2 The following paragraphs belong at the beginning of Sec.#4.2 in the August 27, 1984 version of the manual: .skip 2 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. For new code this control structure should be used in place of the old FLECS DO structure which put parentheses around the loop control information. 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. For new code the DOWHILE should be used in place of the old FLECS WHILE and UNTIL structures. (Do not use it to replace REPEAT WHILE or REPEAT UNTIL. When FORTRAN88 comes out there will be a more efficient replacement for these structures.)