Proleap Cobol Parser Versions Save

ProLeap ANTLR4-based parser for COBOL

v2.4.0

6 years ago

Several bugs and requests have been issued. This release contains following new features and bug fixes:

Features

  • Extended preprocessor with a linked list data structure for COBOL lines. This enables referencing COBOL line predecessors and successors for analysis of line continuations.

Bug fixes

  • Fix for COMMA CHAR in string statement.
  • Fix for paragraph statement without dot.
  • Fix for non-compliant line continuation with quote in column 72.
  • Fix for whitespace between two string literals in line continuation.
  • Fix for FILE CONTROL paragraphs without FILE CONTROL keyword.
  • Fix for MOVE CORR statement.

v2.3.0

6 years ago

Several bugs and requests have been issued. This release contains following new features and bug fixes:

Features

  • Replaced the copy books list parameter with an optional param object, which contains (1) a copy book files list, (2) a copy book directories list and (3) a copy book extensions list:
final CobolParserParams params = new CobolParserParamsImpl();
params.setCopyBookDirectories(...);
params.setCopyBookFiles(...);
params.setCopyBookExtensions(Lists.newArrayList("cpy"));
final Program program = new CobolParserRunnerImpl().analyzeFile(inputFile, CobolSourceFormatEnum.FIXED, params);
  • Improved the copy book resolver for all kinds of COPY statement variants, including COPY statements with paths and with or without extensions.
  • The parser now throws a RuntimeException on syntax errors. Can be disabled by:
final CobolParserParams params = new CobolParserParamsImpl();
params.setIgnoreSyntaxErrors(true);
final Program program = new CobolParserRunnerImpl().analyzeFile(inputFile, CobolSourceFormatEnum.FIXED, params);
  • Added a charset parameter for COBOL files, which are not UTF-8:
final CobolParserParams params = new CobolParserParamsImpl();
params.setCharset(...);
final Program program = new CobolParserRunnerImpl().analyzeFile(inputFile, CobolSourceFormatEnum.FIXED, params);
  • Added support for a lot of COBOL preprocessor options such as CBL ADV.
  • Added <> operator.

Bug fixes

  • Fix for reserved keywords in the preprocessor.
  • Fix for ACCEPT statement.
  • Fix for STRING statement.
  • Fix for counter-intuitive names of DIVIDE sub-statements.
  • Fix for comment entries marker.

A big thank you to @Reinhard-Prehofer and @albertolovato for their steady contributions!

v2.2.0

6 years ago

We were provided with a batch of several hundred real-life finance COBOL files. Following features and bug fixes enable successful parsing of all of these files.

Features

  • $SET compiler directives are removed by preprocessor.
  • CBL and PROCESS statements are removed by preprocessor. Added numerous compiler options.
  • added SET TO ENTRY statement type.
  • added AND in combined condition.
  • added null-terminated string.
  • added procedure division ASG USING and GIVING clauses.

Bug fixes

  • fix for FIXED line format with short line numbers.
  • added NATIONAL-EDITED to initialize statement.
  • condition subscript fix.
  • fixed ADD TO GIVING.
  • NPE fixes.

v2.1.0

6 years ago

We're very excited to introduce ProLeap COBOL parser 2.1.0. In the last months, the parser was tested with a lot of real-life production COBOL files. As a result, this release contains a lot of bug fixes and optimizations:

  • optimized the order of called ASG elements, as they are added to the symbol table
  • redefined paragraphs, data description entries etc. do not collide on the symbol table
  • comments added to hidden channel
  • a lot of fixes in the preprocessor
  • a lot of fixes in the AST grammar
  • a lot of fixes in the ASG generator

Thanks to @Reinhard-Prehofer, @albertolovato, @acaramia for pull requests and contributions.

v2.0.0

6 years ago