fpt and WinFPT Reference Manual - Command-line Commands

| SimCon Home | Ref Manual Home |

KEEP NAMES

Syntax:

KEEP NAME [:][:] <name> KEEP NAMES [:][:] <name> [,] <name> ...

Function:

Protects the specified names from modification by the commands OBFUSCATE, HIDE NAMES, OBFUSCATE ONLY and EDIT SYMBOL NAMES,

Where to Use this Command

Operating system command line Yes
Configuration file, config.fsp Yes
Specification (fsp) files, *.fsp Yes
Interactively, to FPT> prompt No
Interactive command files No
Embedded in the Fortran code Yes

Default

Fortran keywords, intrinsic function names and standard operators are always protected. No other names are protected by default.

Example

The test program t_keep_names.f90:

PROGRAM t_keep_names INTEGER*4 :: k1 = 1,c1 = 1,k2 = 2,c2 = 2,k3 = 3,c3 = 3 WRITE(*,*)k1,c1,k2,c2,k3,c3 ! The following will generate an error only if SSA is completed IF (k3) THEN WRITE(*,'("INTEGER k3 used as LOGICAL")') ENDIF ! Check that .AND., .OR. and intrinsics are not obfuscated IF ((k2 .GT. k1) .AND. (k2 .LT. k3)) THEN WRITE(*,'("k1 < k2 < k3")') ENDIF IF ((MAX(k1,k2) .LT. k3) .OR. & (.NOT. (k1 .GE. k2))) THEN WRITE(*,'(".NOT. works as well")') ENDIF END PROGRAM t_keep_names ! ***************************************************************

is processed using the fsp script:

! t_keep_names_only.fsp 1-Feb-25 John Collins % primary input file name extension: ".f90" FPTMAIN:free_format.fsp % keep name: k1 % keep names: k2,k3 % overwrite changed files % correct use of integer for logical % obfuscate only % edit output file names: replace "names" by "names_only" FPTTESTS:t_keep_names.f90 ! End of t_keep_names_only.fsp

and generates:

PROGRAM aabjed INTEGER*4 :: k1 = 1,aabjeg = 1,k2 = 2,aabjei = 2,k3 = 3,aabjfa = 3 WRITE (*,*)k1,aabjeg,k2,aabjei,k3,aabjfa IF (k3) THEN WRITE (*,'("INTEGER k3 used as LOGICAL")') ENDIF IF ((k2 .GT. k1) .AND. & (k2 .LT. k3)) THEN WRITE (*,'("k1 < k2 < k3")') ENDIF IF ((MAX(k1,k2) .LT. k3) .OR. & (.NOT. (k1 .GE. k2))) THEN WRITE (*,'(".NOT. works as well")') ENDIF END PROGRAM aabjed

Copyright ©1995 to 2025 Software Validation Ltd. All rights reserved.