CobolTransformer Home Cobol Data Readers Cobol Tools & Converters CobolTransformer Toolkit Press Releases Success Stories Technical News Contact Us | CobolTransformer . News and Updates |
Release 4.4.7: 12/15/08DataViewer and Cobol ToolsFix bugs in data readers.
Release 4.4.5: 01/15/07DataViewer and Cobol ToolsAdded XML export to data2flat. Added reading in index order to data2flat. Imporve date format detection in Data-Guess. Fix bugs in MF, SCO and RM file readers.
Release 4.4.3: 02/01/06DataViewer and Cobol ToolsFix bugs in MicroFocus index file reading.
Release 4.4.0: 05/05/05DataViewer and Cobol ToolsNew faster algorithm to determine unkown record length for sequential files. Fix bugs in AcuCobol COMP data interpretation.
Release 4.3.8: 02/28/05DataViewer and Cobol ToolsFix bug in RMKF data reader. Fix bug in iCobol data reader. Fix bug in reading empty MF files.
Release 4.3.6: 11/24/04DataViewer and Cobol ToolsAdd reader for Wang Cobol data files.
Release 4.3.5: 08/31/04DataViewer and Cobol ToolsAdd reader for Egan Systems iCobol data files. Add -line-format option to copybook parser interface in Data-Viewer.
Release 4.3.3: 07/19/04DataViewer and Cobol ToolsAdded usages 02 and 03 to XFD parser. Add command to Split one field into many (not just two) subfields of equal length in Data-Viewer. Add more SQL syntax to parser.
Release 4.3.0: 03/23/04DataViewer and Cobol ToolsAdd reader for uncompressed RMKF file format. Improve speed in reading indexed files in Data2Cr. Improve DataViewer GUI on Windows XP.
Release 4.2.6: 11/19/03DataViewer and Cobol ToolsAdd extracting record data layout from AcuCobol XFD files.
Add SrcPosnEnd() function to CobolTransformer API.
Release 4.2.3: 08/28/03DataViewer and Cobol ToolsCompute Decimals from Picture clause in Data-Viewer, show Decimals as a read-only value. Allow slightly corrupted MF IDX8 files to be read by DataAccess. Fix bugs.
Release 4.2.0: 04/25/03Cobol Tools and ConvertersCompile data and code converters on RedHat 8 Linux and IBM AIX. Convert all sources to compile with GCC 3.2, drop compatibility with GCC before GCC 3 for UNIX compiles. Add option -conv-list to converters, this option show which code transformations were applied with count for each transformation.
Release 4.1.6: 02/27/03DataViewer and DataReadersAdd MF IDXFORMAT8 compressed reader. Added new transformations to MF2FSC.
Release 4.1.4: 11/07/02DataViewer and DataReadersNew encryption based licensing system with ability to license only a subset of product for a reduced price. Time-limited Data2Cr trials.
Release 4.1.3: 09/20/02Cobol Tools and ConvertersConverters preserve statements that Cobol parser could not parse. Improve parsing of SQL statements, especiall SQL INCLUDE for inlining and uninlining purposes. DataViewer and DataReadersIntegrate Data2Cr and DataAccessCOM with Data-Viewer into one package. Add samples of using DataAccessCOM library in VB, C++ and Delphi. Add reader for MF format 8 of index files. Add ability to specify date format (such as YYYYMMDD) in Data-Viewer. Fix installation bugs that affected computers without VisualStudio.
Release 4.1.1: 07/16/02DataViewer and DataReadersImprove handling of uninterpreted fields, show them as special "binary" text fields. Add "Merge All" and "Split All" commands that allow to better control the data-guessing process. Add data reader for Visual Cobol files.
Release 4.1.0: 06/24/02DataViewer and DataReaders
Improve Cbl2Fdd (File Descriptor Extractor) and integrate it with Data-Viewer:
Improve Export Data dialog, provide more options. Add GUI callers of Data2Flat and Data2Dbf command-line conversion tools to Data-Viewer. Add record filtering to Data2Flat and Data-Viewer. Only fields that satisfy a combination of "field compare to constant" conditions will be displayed. A number of small but important improvements in User Interface.
Release 4.0.9: 05/23/02DataViewer and DataReadersImplement data-guessing for MF SCO format. Add data-guessing of sequential files. This is an experimantal feature that guesses record length of a sequential file and then record layout of the file. It can take a lot of time to guess record length. Fix small bugs in various readers.
Release 4.0.6: 02/20/02DataViewerNew DataViewer GUI tool combines DataGuess, Data2Flat and Record Layour Editor into one conveninet package that is a dream-come-true for people who need to extract data from their Cobol files.
Release 4.0.3: 11/14/01DataAccess COMMajor addition to Cobol Data File Reader technology:
Release 4.0.1: 08/31/01More Cobol data readersEnhancements in the Cobol Data File Reader technology:
Release 3.9.9: 07/15/01Cobol Data Readers Improvements
Release 3.9.8: 06/18/01More Cobol data readersEnhancements in the Cobol Data File Reader technology:
Release 3.9: 02/25/01More Cobol data readersEnhancements in the Cobol Data File Reader technology:
Release 3.8: 08/12/00More Cobol data readersEnhancements in the Cobol Data File Reader technology:
Release 3.7: 02/05/00More Cobol data readers and Data-GuessEnhancements in the Cobol Data File Reader technology:
Release 3.6: 10/25/99Data File Reader technology enhancedA number of enhancements and bug fixes was applied to Cobol Data File Reader technology:
Release 3.5: 07/28/99Cobol Data File Reader technologyCobol Data File Reader technology is introduced. It allows you to read and interpret Cobol data files (sometimes also called ISAM files). A number of specific converters from Cobol data files to non-Cobol data formats was built using this technology:
Miscellaneous
Release 3.4: 04/18/99Bug fix release 3.4.3 posted on 05/12/99. Goal of this release is to make our tools more convenient on WIN32 systems (Windows 95, Windows 98, Windows NT). Introduced new installer for WIN32 systems. It creates entries in Start Menu, automates deinstallation, and packages the whole distribution as one executable file. Introduced CL-launch -- GUI tool that is used for launching command-line tools. It stores command-line tool ouput in scrollable window that can be printed and saved. Also CL-launcher memorizes history of the tool invocations. Printable manual for Converters and Tools in PDF format. Introduced shareware trial versions of CobolBeautifier and CobolReporter.
Release 3.3: 03/01/99TransformationsLike everybody else, we think that software reuse is important. We keep asking the question: after we wrote a lot of code for a code conversion project X, how can we reuse a bulk of this code in the upcoming project Y?The question of reuse is so important for us that we decided to add transformations architecture to CobolTransformer Toolkit. We broke all our converters into a number of small transformations that have universal interface and run equally well in command-line and visual environments. Each transformation has a well-defined functionality and can be easily reused in other projects. With transformations, developing a new conversion has become a much simpler process because less code has to be written: (1) take transformations written for previous projects and select ones that can be used in the new project, (2) add to them transformations from the Standard Transformation Library (STRL) that is a part of CobolTransformer, (3) write a few new transformations that are unique for your project, and that is it. Transformation is an object that searches and/or transforms the Program Tree. Transformations follow certain conventions that allow CobolTransformer system to relieve a developer from many chores related to Program Tree transformation. In addition to reuse transformations bring us other important conveniences:
Transformation LibraryOften used transformations are assembled into libraries that from now on will be sold together with CobolTransformer, so that our customers may base their conversion effort on a solid foundation of previously written transformations. Library of existing transformations helps you to start writing transformations for your conversion sooner, because:
Currently the following transformation libraries are available:
CobolTransformer manual contains a complete list of available transformations. Object ConfigurationIn large programming projects we are dealing with objects that need to be configurable by user. For instance, in CobolTransformer we have Parser object, PrettyPrinter object and transformation objects that all have configuration parameters, such as dialect of Cobol to be parsed (in Parser) or indentation step (in PrettyPrinter). We invented a template-based mechanism for describing configuration parameters that allows:
SQL parserWe added a parser and Program Tree for SQL/92 language embedded into Cobol program.Preprocessor IntegrationPrettyPrinter can now generate Cobol code containing '#FILE/#LINE' preprocessor statements that connect generated Cobol code to the original (before conversion) Cobol code. One can use this feature to build a Cobol preprocessor that converts Cobol dialect A to Cobol dialect B and adds '#FILE/#LINE' preprocessor statements that let the compiler of dialect B to know where the code came from in dialect A so that debugging and error diagnostics happen in terms of original source. This effectively allows Cobol dialect B vendor to claim that they support dialect A without actually changing their compiler. Speed ImprovementsCode converters built with CobolTransformer are fast enough to be used as preprocessors for production compilers: 100-150 lines/sec for mf2fsc running on consumer-grade 166Mhz Pentium PC. Evaluation Version Limits IncreasedBy popular demand, CobolTransformer Evaluation Package limits were increased to:
Release 3.2: 12/15/98CobolGrep and Query LanguageWe invented CobolGrep and Query Language (QL) used in CobolGrep so that Cobol developer can perform program searches such as "Show me all the lines of code that contain data item declarations that have VALUE clause and belong to LINKAGE SECTION or FILE SECTION". Query Language is used to formulate search criteria that work on Cobol Program Tree that represents a Cobol Program in question. The above search looks as follows in QL: It means: "Find a node in Cobol Program Tree such that this node is data item declaration and this node is a descendant of Working-Storage Section node or of Linkage Section node and this node has Value Clause node". Data Item Length & Offset computationNow for every data item we compute:
Miscellaneous
Release 3.1: 08/09/98SourcePrintThe most important feature of 3.1. is revolutionary SourcePrint capability that allows you to fully restore the unchanged parts of the Cobol program, while using the full power of the tree-based program transformation engine. Details. Our general sequence of steps needed to perform a program transformation is fairly standard: (1) parse the program making it a Program Tree, (2) transform the Program Tree, and (3) generate the converted Cobol code from the transformed Program Tree. The only problem with this approach is that the Cobol code generated from the Program Tree usually differs from the original source code. The differences are minor -- words appear in different columns, some optional words may be skipped or added. These differences are result of a process of automatic code generation which cannot exactly reproduce the original program. While these differences may seem insignificant, they do not allow to use diff or any other automatic file comparison utility to independently verify what lines were changed by the converter. This is because the little differences introduced by beautification make every line look different to these diff utilities. Enters the SourcePrint. We store additional data in the tree nodes. This data allows us to generate Cobol code that does not differ from the original code -- down to a single byte -- for the tree fragments that were not changed by transformations. Code that is generated from the new tree nodes is generated in the beautified mode as was the case in the SCT versions prior to 3.1. What does it mean for you? It means that Cobol converters that use SourcePrint are easily and inexpensively verifiable. That is, upon finishing the conversion, you can run line diff utility that compares original directory with the full source of your application to the directory with the converted source. The generated difference logs are guaranteed to be minimal and reflect only changes made by the converter (and not the changes introduced by beautification or other parsing/printing side effects). Copybook GenerationThe other important feature of the Version 3.1 is its ability to fully control the copybook structure generation. As you may already know, a Cobol program consists of the main file and copy library (or copy book) files that are included in the main program by a preprocessor. Cobol parser needs to inline all the copybooks in order to correctly parse the program and build the complete Program Tree. However, when it comes to code generation, the almost universal desire of the conversion engineers is to have their copybook structure back. That is, the converted main file must contain COPY statements that refer to the converted copybooks. Since the copybooks also may be affected by a conversion, this creates a non-trivial problem of un-inlining the copybooks. By un-inlining we mean process of code generation in which a main program with COPY statements and series of copybooks used by these statements is generated from a single Program Tree. The correct and fully functioning implementation of copybook un-inlining is the new feature available in CobolTransformer 3.1. In addition to restoring the original copybook structure you can easily change the layout of copybooks: fully inline the existing copybooks, separate a fragment of code into a new copybook, or generate a totally new hierarchy of copybooks. All this is made possible by storing the copybook-related information on the Program Tree. Client-ServerAnother big advance in CobolTransformer is Client-Server Packaging. This is in addition to the previously standard Library Packaging. In client-server packaging all non-trivial functions such as parsing and pretty-printing occur in CobolTransformer server executables that run in a process/task that is separate from the process/task of your converter. The thin CobolTransformer client linked in with your conversion application contains only the tree transformation functions and proxy functions for parsing and pretty-printing that call the CobolTransformer server. Client-Server Packaging makes CobolTransformer a bit slower, because some time is spent on Program Tree externalization and internalization. However, it provides numerous advantages that are well worth the price:
The Library Packaging of SCT is still available. Free Evaluation PackageNow, with introduction of Client-Server Packaging you can Try CobolTransformer For Free. Yes, you can actually write your own conversion/analysis application that uses CobolTransformer and see how it works on small (less than 256 lines) programs. Once you are satisfied with the results, you can purchase a CobolTransformer license and the application that you wrote will then work on program of any size. This is a new risk free way to appreciate the power and flexibility of CobolTransformer.
Release 2.1.2: 02/17/98* Introduced Symbol Table, Use-to-Definition and Definition-to-Use links for Named Objects. Now for every User-Defined Word (Name) we compute a list of all Definitions for this Name. For every Use of a Named Object we have a link to the Definition of this Named Object, and for every Definition of a Named Object we have a list of links to all Uses of this Named Object. This greatly simplifies programming of renaming and other symbol table-related conversions in CobolTransformer. We have introduced function that performs renaming of Named Objects Definition and all its Uses. For every definition CobolTransformer can compute Fully Qualified Name and Shortest Unique Qualified Name. These new functionality is demonstrated in the new Paragraph/Section/Data-Name Renumbering tool, that is a part of cbl-beau. If we consider Use-Definition links together with Parent-Child links, Program Tree effectively becomes a general-case Graph that has a Tree skeleton. We introduce a technology that makes flattening/unflattening of these general-case Graphs possible. * Released free Paragraph/Section/Data-Name Renumbering tool as a part of CobolBeautifier cbl-beau to demonstrate our Def-Use links capabilities. The tool correctly handles name collisions and computes Shortest Qualified Name that uniquely identifies renamed Named Object. * Parsing. - Return the parsed contents of the whole source file as a single Expression Tree. In previous version we were calling user-defined processing function and passing fragments of the whole tree to it. The processing function options was left intact in 2.1.1 for compatibility with old SCT version and for processing very large Cobol programs, but this option is not a default choice. - Added Wang Cobol dialect construct to parser and code generator. - Added parsing and code generation for Fujitsu NetCobol. To be available through Fujitsu distribution channels. - Build a Tree of Nested Programs (ANSI-85) when they are present. - Insert special Error Nodes into the Program Tree when syntax error occurs while parsing, so that erroneous statements do not just disappear from the output file, but can be represented there with a noticeable text such as [SYNTAX ERROR]. - Allow user specify her own Warning/Error/SevereError processing functions. * Cobol Code Generation. - After PrettyPrint() has generated Cobol code for a given expression tree, every node in this tree knows its position in the generated text. - Added API to generate tagging text in columns 73-80 of the output line. This text contains one increasing Line Counter, for which starting value and step can be specified. - User-Defined Primary Table and System-Defined Default Table are now automatically merged into one Code Generation Table that has constant access time. User can still specify a separate Primary Table, but when PrettyPrint() is called first time, the merge process occurs. * Native makefile for WIN32. WIN32 customers will receive a native WIN32 makefile that works with Microsoft make program called "nmake".
Older Releases12/02/97: Version 1.4.1 ----------------------- * Implemented conditional compilation commands %define, %ifdef, %endif, %include in BtYacc. BtYacc is a parser generator used in CobolTransformer. This change allows us to break the Cobol grammar into several files/modules that can be assembled for shipping according to the individual customer desires. The first feature separated into add-on module is DMS/80 and DMS/1100 Data Manipulation Language (DML) implemented in ver. 1.4.0. 10/26/97: Version 1.4.0 ----------------------- * In addition to "Cobol Language Dialect" lexer option -language=dialect created "Embedded DB Language Dialect" option -db=dialect. We separated language and DB dialect options so that language dialect option and DB dialect option can be changed independent of each other. Currently only DMS/80 DML and DMS/1100 DML is implemented as Embedded DB Language Dialect. We plan to add CA-IDMS as another Embedded DB Language Dialect. * Now CobolTransformer can parse and synthesize DMS/80 and DMS/1100 Data Manipulation Language (DML). This is Embedded Database Manipulation language for a UNISYS network model database built to CODASYL spec. Use -db=dml option in cbl-beau to allow DML in the program. 08/21/97: Version 1.3.1 ----------------------- * Major redesign for the CobolTransformer Web site at http://www.cobolproducts.com/ * Implement NOTE statement (OSVS). This statement is yet another way to have comments in Procedure Division. Fix several bugs in OSVS dialect parsing. 08/10/97: Version 1.3 --------------------- * Create mf2fsc -- prototype of MicroFocus Cobol to Fujitsu Cobol converter. Make this prototype freely available for download. We expect this prototype to evolve into a finished product in the near future. * Considerably enhance expression tree handling functions. Introduce tree walker function, PICTURE character-string parser; rewrite SPECIAL-NAMES, ACCEPT, DISPLAY and SCREEN SECTION clauses tree representation. * Make separation between CobolTransformer library code and CobolTransformer user code more explicit and formal. Require that user code and CobolTransformer code reside in different directories. Tune makefiles to handle this correctly. 05/16/97: Version 1.2 --------------------- * Completed implementation of full ANSI-85 and MF Cobol syntax. Specifically, implemented COMMUNICATION SECTION (ANSI-85), SCREEN SECTION (MF), REPLACE statement. * Passed CCVS -- Federal Cobol Compiler test suite by National Institute of Standards and Technology (NIST). Fixed a number of bugs in lexer and parser to achieve this. Note: CobolTransformer was not formally submitted to NIST for testing, because it is not a *full* compiler. But we made sure that all the Cobol sources in CCVS are parsed and beautified correctly. * Ported CobolTransformer and cbl-beau to SUNOS 4.1 (UNIX) platform. The Cbl-Beau executable also runs on Solaris 2.5. * Allow separators not to be finished with spaces when -lang=mf is on. MicroFocus compiler allows constructs like "AAA>=12" be understood as "AAA >= 12". According to the standard, though, "AAA>=12" is a single character-string, not 3 character-strings, because '>' and '=' by itself are not separators and therefore space separator is required between "A" and ">=" and between ">=" and "12". CobolTransformer now can parse constructs like this according to MF rules. * Added -gen-max-indent=NNN option. Sets maximum allowable indentation to column NNN. If your program has too many levels of statements and/or gen-indent-step is large, then you can use this option to stop indentation at a specified position. 03/01/97: Version 1.1 --------------------- * Native compiler (Visual C++ 4.1) support for WIN32 (MS Windows 95 and NT). In version 1.0 we used CygWIN32 GCC-2.7.2 compiler to compile cbl-beau. As a result, run-time library CYGWIN.DLL was required to run cbl-beau. In version 1.1 we switch to Visual C++ version 4.0 compiler. It builds native WIN32 executables that do not require any extra DLLs to run. Also it produces executable that has a much better processing of CTRL-C signal. * Support for Ryan McFarland COBOL-85 was added. Only RM/COBOL-74 was supported at CobolTransformer version 1.0. * Cobol generator now generates code that strictly follows all Area A/B rules. Cobol Reference Format standard prohibits some language elements (SELECT clause, etc.) from appearing in Area A, they can only start in Area B. In version 1.0 some of Area A/B rules were disregarded. 02/01/97: Version 1.0 --------------------- * First publicly available release of CobolTransformer. * Created CobolTransformer Web site at http://www.cobolproducts.com/ |