Tool for automatic software translation/migration from ASM/370 to ANSI/C 
Author Message
 Tool for automatic software translation/migration from ASM/370 to ANSI/C

The tool described in this artical has been developed in SAPIENS
Technologies Ltd, as part for a product-portability project. The tool is
used here for automatic translation of a VERY LARGE product, written in
assembler, to "C".

FALCON  - Full Assembly Language CONvertor.

Software systems written in assembly language are tightly linked  to the
hardware architecture in which they are developed. Many applications on
mainframe computers are written in assembly language and are therefore  
difficult to port to different platforms.  The "C" programming language, on
the other hand, is  commonly used on multiple platforms. Manually rewriting
assembly programs in the "C" language for porting these programs to various
platforms is a tedious task, requiring  a  considerable investment of time
and personnel. Manual rewriting suffers also from other  drawbacks:

* Lack of compatibility between  the converted code and the original.
* Rewriting different versions of the a program in another language doubles
the investment in development.

FALCON was designed and implemented in Sapiens Technologies. It provides  
the automatic translation of programs from assembly language to "C".

 Sapiens /FALCON offers:

* Automatic conversion of  programs written in Assembler/370  to portable
"C" language.

* Possibility of continuos development in assembly language during a gradual
porting process.

* Full  compatibility between original and converted versions.

The use of Sapiens/Falcon  minimizes new investment in the conversion
process and it helps in  conservation of the original investment in the
development of the programs in assembly language.
Features:

* Automatic translation of  IBM/370 Assembly language to portable  "C"
language. The resulted code can run on different platforms.

* Support of in-house Assembly Macros ( e.g., If-then-else, Routines'
interface etc.).

* Definitions of  program segments  that are suitable only for  a specific
environment.

* Generated code easily understood by Assembly language programmers
unfamiliar with the "C" language.

* Possibility of defining manually overriding "C" code for optimizations.

* A system module providing common system services interface for the
translated code, working in different operating environments.  The macros
interface is recognized by FALCON.

 Components             Activities
============           ============
Parser                  Parsing of  Assembly code, Completion of missing
                        labels,  Performing Validity Checks.

Portability Checker     Checking compatibility of operands to instructions,
                        checking  correctness of variables' definitions.

Translator              Building data dictionary, defining C-structures,
                        Translating Assembly instructions to appropriate
                        C statements, while  taking into consideration the
                        types of the operands involved.

Optimizer               Creating an intermediate representation,        
                        Performing optimizing transformations on this  
                        representation on the representation, Generating
                        optimized "C" code programs.                  

Operating System Services

* In Sapiens, common operating system services are provided through a
specialized system module. This provides a single common interface, under
different operating environments,  for the programs that use these services.
It currently provides supports for all the different IBM/MF environments
(Operating systems, TP/Monitors, etc.).

* The operating system services are currently provided by macros that are
recognized by FALCON.

* The system module was manually programmed in "C" for the UNIX rnvironment.
Minor modifications were done to support Windows/NT, Windows/95 and AS/400
environments.

Operating environments

* FALCON runs on any machine running the PC or UNIX boxes.



Mon, 08 Jun 1998 03:00:00 GMT  
 Tool for automatic software translation/migration from ASM/370 to ANSI/C


:>The tool described in this artical has been developed in SAPIENS
:>Technologies Ltd, as part for a product-portability project. The tool is
:>used here for automatic translation of a VERY LARGE product, written in
:>assembler, to "C".
:>
:>
:>
:>FALCON  - Full Assembly Language CONvertor.
:>
:>Software systems written in assembly language are tightly linked  to the
:>hardware architecture in which they are developed. Many applications on
:>mainframe computers are written in assembly language and are therefore  
:>difficult to port to different platforms.  The "C" programming language, on
:>the other hand, is  commonly used on multiple platforms. Manually rewriting
:>assembly programs in the "C" language for porting these programs to various
:>platforms is a tedious task, requiring  a  considerable investment of time
:>and personnel. Manual rewriting suffers also from other  drawbacks:
:>
:>* Lack of compatibility between  the converted code and the original.
:>* Rewriting different versions of the a program in another language doubles
:>the investment in development.
:>
:>FALCON was designed and implemented in Sapiens Technologies. It provides  
:>the automatic translation of programs from assembly language to "C".
:>
:>
:> Sapiens /FALCON offers:
:>
:>* Automatic conversion of  programs written in Assembler/370  to portable
:>"C" language.
:>
:>* Possibility of continuos development in assembly language during a gradual
:>porting process.
:>
:>* Full  compatibility between original and converted versions.
:>
:>
:>The use of Sapiens/Falcon  minimizes new investment in the conversion
:>process and it helps in  conservation of the original investment in the
:>development of the programs in assembly language.
:>Features:
:>
:>* Automatic translation of  IBM/370 Assembly language to portable  "C"
:>language. The resulted code can run on different platforms.
:>
:>* Support of in-house Assembly Macros ( e.g., If-then-else, Routines'
:>interface etc.).
:>
:>* Definitions of  program segments  that are suitable only for  a specific
:>environment.
:>
:>* Generated code easily understood by Assembly language programmers
:>unfamiliar with the "C" language.
:>
:>* Possibility of defining manually overriding "C" code for optimizations.
:>
:>* A system module providing common system services interface for the
:>translated code, working in different operating environments.  The macros
:>interface is recognized by FALCON.
:>
:>
:> Components                Activities
:>============           ============
:>Parser                     Parsing of  Assembly code, Completion of missing
:>                   labels,  Performing Validity Checks.
:>
:>Portability Checker        Checking compatibility of operands to instructions,
:>                   checking  correctness of variables' definitions.
:>
:>Translator         Building data dictionary, defining C-structures,
:>                   Translating Assembly instructions to appropriate
:>                   C statements, while  taking into consideration the
:>                   types of the operands involved.
:>
:>Optimizer          Creating an intermediate representation,        
:>                   Performing optimizing transformations on this  
:>                   representation on the representation, Generating
:>                   optimized "C" code programs.                  
:>  
:>
:>Operating System Services
:>
:>* In Sapiens, common operating system services are provided through a
:>specialized system module. This provides a single common interface, under
:>different operating environments,  for the programs that use these services.
:>It currently provides supports for all the different IBM/MF environments
:>(Operating systems, TP/Monitors, etc.).
:>
:>* The operating system services are currently provided by macros that are
:>recognized by FALCON.
:>
:>* The system module was manually programmed in "C" for the UNIX rnvironment.
:>Minor modifications were done to support Windows/NT, Windows/95 and AS/400
:>environments.
:>
:>Operating environments
:>
:>* FALCON runs on any machine running the PC or UNIX boxes.

Do you have some examples of Assembler input and the generated C output?

--
Binyamin Dissen

Formerly of: SKK, Inc.
             UCCEL
             Computer Associates
             MVS Software
             GOAL Systems
             LEGENT



Mon, 08 Jun 1998 03:00:00 GMT  
 Tool for automatic software translation/migration from ASM/370 to ANSI/C

Quote:

>Do you have some examples of Assembler input and the generated C output?
>--
>Binyamin Dissen
>Formerly of: SKK, Inc.
>             UCCEL
>             Computer Associates
>             MVS Software
>             GOAL Systems
>             LEGENT

I will e-mail some samples to you (these are too large to be posted as
an articals)

Yosh



Tue, 09 Jun 1998 03:00:00 GMT  
 Tool for automatic software translation/migration from ASM/370 to ANSI/C
I would like to see them as well.

Thanx - Paul


: >Do you have some examples of Assembler input and the generated C output?

: >--
: >Binyamin Dissen

: >Formerly of: SKK, Inc.
: >             UCCEL
: >             Computer Associates
: >             MVS Software
: >             GOAL Systems
: >             LEGENT

: I will e-mail some samples to you (these are too large to be posted as
: an articals)

: Yosh

--

            Compuserve 72632,2674

The Tree of Liberty must be refreshed from time to time with the {*filter*} of
patriots.  - Thomas Paine



Sun, 14 Jun 1998 03:00:00 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. Q: pc based 370 asm/emulators

2. WE ARE IN 370 not in x86 ASM

3. 370 asm cross assembler?

4. Introduction to asm 370

5. asm/370 Simm under OS/2?

6. I need Microfocus ASM/370

7. IBM 370 ASM emulator from Micro Focus

8. asm 370 programmer wanted

9. Need some 370 ASM guidance.

10. IBM 370 ASM to C

11. ASM/370 in five sessions...

12. how can learn 370 Asm

 

 
Powered by phpBB® Forum Software