fpt and WinFPT Reference Manual - Command-line Commands

| SimCon Home | Ref Manual Home |

HIDE NAMES

Syntax:

OBFUSCATE LOCAL NAMES OBFUSCATE ALL NAMES HIDE NAMES [ [:] <integer> ]

Function:

Renders code unreadable and unmaintainable, but preserves its integrity as compilable and functional Fortran.

HIDE NAMES : 1 - removes all comments from the code.

OBFUSCATE LOCAL NAMES or HIDE NAMES : 2 - removes all comments and replaces all names which are local to the compilation of the sub-programs by meaningless 6 character alphanumeric strings. Sub-program names and COMMON block names are unchanged, so that the code may still be linked against external sub-programs and libraries.

OBFUSCATE ALL NAMES or HIDE NAMES : 3 - removes all comments and replaces all user-defined names, including sub-program and COMMON block names by meaningless strings. The following names are NOT changed:

  1. Intrinsic function names;
  2. Names in intrinsic modules (e.g. iso_c_binding);
  3. Names of sub-programs which have not been read in the fpt pass;
  4. Names specified by the DO NOT OBFUSCATE command.

 

HIDE NAMES without an argument is equivalent to HIDE NAMES : 2
 

HIDE NAMES : 0 cancels any previous HIDE NAMES command.

Where to Use this Command

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

Default

User-defined names are not changed by default.

(Note that defaults may be changed in the configuration file)

Examples

Original code of SWAP.FOR:

SUBROUTINE swap(a,b) ! Subroutine to interchange the real arguments REAL a,b,t t=a a=b b=t RETURN END SUBROUTINE swap

Code generated by the command:

$ fpt swap.f "%hide_names:2"

SUBROUTINE SWAP(A00594,A00595) REAL A00594,A00595,A00591 A00591=A00594 A00594=A00595 A00595=A00591 RETURN END

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