Email Us! sales@juggerSoft.com


 

RPG Decompiler Product Description

ABSTRACT
Every computer program stores the same information in two different computer languages. The first is called the source language and consists of English-like instructions which can be understood by humans. If a programmer wishes to change the task which a program is to perform s/he changes the instructions contained in the source. However, these instructions cannot be understood by the computer. The computer can only process instructions written in machine language. In order to run the program, the source instructions must be run through a language translator called a compiler. The compiler creates a new version of the program, one written in machine language. In other words, the compiler translates programs written in a language understandable by humans into a language understood by the computer.

As long as the machine language version of the program exists on the computer system, the program can be run, and as long as the source language version exists on the system, the program can be modified, enhanced or debugged by the programmer. If the machine language version is accidentally destroyed, the source can be run through the computer again, and a new machine instruction version is generated. But, if the source is accidentally destroyed, it can only be reached by the use of a decompiler, a programmer's tool which reverses the process of the original compiler.

MACHINE REQUIREMENTS
AS/400 ENVIRONMENT: The JGS utility will run on all models of the AS/400 system. Version 3 Release 1 or above of OS/400 is required.


DESCRIPTION
CAPABILITIES: The AS/400 RPG compiler produces not only executable code, but also a number of structures and tables which contain information associating the source member to the executable program object. An ODT (object definition table) is constructed containing information (length, type, decimal positions) about variables and constants. A BOM (break offset mapping) table is constructed associating a source statement with an MI instruction number. At that MI instruction number, a string of MI instructions are performed corresponding to the original RPG source instruction. A symbol table is constructed, containing the names of source fields, tables and arrays. Altogether, the program template contains almost all of the information from the original source member. The decompiler, then, has the capacity to generate a new source member identical to the original, except for internal comments, for any program object which has not had observability removed.

PERFORMANCE: Current benchmarks put the time required to decompile a program at approximately three times (3x) longer than the time required to compile the source program. That is, a program which would take 1 minute to compile would take 3 minutes to decompile.

HIGHLIGHTS
Enhances/increases user programmer productivity in several problem
solving areas

Determines which of several source members
corresponds to currently running object programs.
   
Retrieves modifications in current object
missing from current source.
   
Delivers Best Price/Performance
for Recreating Existing Code.
 
   
Simplifies Migration to New Platforms.
   
Protects Investment in Existing Software
for Which Source is Not Available.

SECURITY
Each copy of JGS RPG/400 is tied to a particular CPU via the system's unique serial number to prevent unauthorized duplication of the software. In order to decompile a program object, the user must have *ALLOBJ authority over the object to be restored and *CHANGE authority to the source physical file where the new member is to reside.

LIMITATIONS
JGS RPG currently supports decompilation of program objects compiled under CPF release 8 through OS/400 V5R2 for those objects which have not had observability removed.

 


Home | Products | About Us | Partners | Contact | Order | Site Directory | Downloads | Samples
© Copyright 2006 Jugger Enterprises, LLC. All rights reserved. Send email to
sales@juggerSoft.com