Home | Products | TAL to C/C++
www.proetcon.de | Products | TAL to C/C++
[Tal to C/C++]
Motivation
In the case you want to migrate your HP NonStop applications to another hardware and operating system and the sources are implemented in (p)TAL, our "TAL to C/C++ Translator" (TTC) will convert these sources exactly, completely, fast and at low cost to C/C++.

But also if you use HP NonStop furthermore, a modernization of your software by a TAL to C/C++ conversion offers a lot of advantages:
  • There is a transfer to modern, object oriented language concepts, because the converted sources are maintained on the base of C/C++. The maintenance effort is reduced by modern C/C++ development environments.
  • The involving of software products like NONStop-SQL/MX is comfortable.
  • The use of manifold available standard software, as well Open Source, to own applications is possible.
  • There exists a lot of professional C++ developers. How many programmers know (can) TAL ?
Architecture
TTC is a software toolbox, which realises an automatic conversion of programs developed in the programming language TAL (Transaction Application Language), optional to target code in C or C++.

TTC consists of the following components:
  • preprocessor tpp with formatting tool tal_only
  • conversion tool cgn
  • dividing tool div
  • run time system ttcsys
  • formatting file ttc.cfg
  • description file tal.stp
The following graphic shows the architecture of the TTC:

[TTC - Architecture]
Components
Preprocessor
tpp
tpp reads a TAL source code file, which contains the MAIN procedure of the TAL program to convert and generates a complete TAL program from different source code modules with the compiler directives (?SECTION, ?SOURCE, ...) in mind. In parallel the comments of the original TAL source program are stored within a separate file.
Formatting tool
tal_only
tal_only reads the complete TAL program generated by tpp and prepares it within a file, so the user can view it with an editor.
Conversion tool
cgn
cgn parses the complete TAL program generated by tpp resp. optional by tal_only and creates a complete program in C or C++ code of it. The result is a complete C/C++ program with parametrizable formatting. Syntax errors and semantical errors are located and documented. In parallel according to the configured options information about the SQL commands within the TAL source code can be written.
Dividing tool
div
div divides the complete C/C++ program according to the layout of the TAL program to convert into single source code modules.
Runtime system
ttcsys
ttcsys consists of a collection of header files and libraries, which are linked with the converted C/C++ program to a executable program. This ensures the correct functionality of the generated C/C++ programs at the target architecture.
Formatting file
ttc.cfg
ttc.cfg is used for the description of the C/C++ target code to generate.
Description file
tal.stp
tal.stp contains a description of the standard functions and Guardian calls in formalized formatting. Furthermore settings (signatures) for procedures can be defined within this file. It is possible to determine the C type of the parameters and the return type for the conversion of TAL procedures.
Features
Comments Recording and optional re-inserting of the original comments into the converted C/C++ program for the improvement of maintainability.
Hardware dependencies Generation of warnings within the protocol during the conversion of hardware dependent language constructions.
DDL compatibility Converted C structures, the original in TAL of which was generated from DDL (Data Definition Language), are DDL compatible also in C/C++.
TAL standard functions Conversion of the TAL standard functions to C/C++ equivalents.
Guardian system calls Conversion of the Guardian system calls to C/C++ equivalents.
SQL statements Are copied into the C/C++ program with adaption of the SQL identifiers to the C/C++ variable names. INVOKE is supported.
Formatting Automatic formatting of the C/C++ code based on the user defined formatting rules. This ensures maintainable code according to special wishes of the user.
Modularising
("Dividing")
Automatic dividing into single source code modules.
Technical Data
Version TTC 2.5
Host system pTAL for TNS/E
Target system optional
  • C/C++ for TNS/E NATIVE
  • ANSI-compliant C/C++ code (for ANSI conform C/C++ compilers under Windows and UNIX)
System requirements
  • Operating system: Windows 2000 / XP
  • Working storage: min. 512 MB RAM
  • Free fixed-disk storage: ca. 1 GB
The text above can include company names, trademarks or registered trademarks of the corresponding firms. Their report isn't made in the sense of trademark right.