v2.3.0
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!