Services on the Cobol Language⚓
At OCamlPro, we are a team of experts in programming languages, most of us with a PhD in Programming Languages or Formal Verification, and/or a long experience of development in many different languages.
We have recently started studying COBOL deeply, to help some of our customers modernize their Cobol infrastructure, either to more recent Mainframes or clusters of Linux computers.
Consulting on Cobol and Modernization Projects⚓
We can help Cobol developers in many different ways during Cobol development and Modernization projects:
Cartography of old Cobol applications;
Advising on how to migrate the different components of the application;
Understanding incompatibilities between source and target systems, both in the constructor-specific languages and in the platforms;
Development and Support on the GNUCobol Compiler⚓
We have recently become experts of the GNUCobol Compiler: GNUCobol is a highly portable compiler for COBOL, with support for many dialects of Cobol (IBM, Micro Focus, etc.). Formerly known as OpenCobol, it is fully open-source compiler supported by the FSF (Free Software Foundation).
Our experience of GNUCobol allows us to:
Extend GNUCobol to support constructor-specific extensions of COBOL. For example, we recently started writing a dialect in GNUCobol for GCOS7 Cobol, that allows scripts to be compiled without any modification, considerably speeding up their migration;
Provide help and advices on how to use GNUCobol in COBOL projects;
Easily fix bugs in any part of the GNUCobol distribution;
Development of Cobol Tooling⚓
Thanks to components that we have developed in OCaml to process Cobol programs, we are able to design, develop and deliver Cobol development tooling, specific to our customer needs.
Transpilers: to translate Cobol scripts from constructor-specific dialects to other dialects, or to other programming languages;
Code analyzers: to analyze Cobol applications, understand their architectures, navigate in them, and detect bugs;
Test and Coverage tooling: to check that applications are totally covered by tests, and run the tests easily and report failures early to developers;