TypeCobol is two things:
Our parser is based on IBM Enterprise Cobol 5.1 for zOS syntax. We'll certainly implement IBM Enterprise Cobol 6 in 2018/19.
This parser can be used :
TypeCobol extends Cobol 85 with the following features:
::
which allow to qualify a variable starting with the top most variable
of
and in
, but you have to start with the parent variableTypeCobol code is then translated to Cobol 85 compliant with IBM Enterprise Cobol 5.1 for zOS syntax.
We provide minimal integration with RDZ.
We also have an integration with RDZ and our LanguageServer. This is still a work in progress and the RDZ plugin is currently private. Maybe this will change in the future.
The LanguageServer allows us to provide:
::
This project is currently maintained by 4 persons and our company starts to use it since July 2017.
The documentation is still very limited. If you are interested don't hesitate to contact us so we can give you more information.
The best way to test this project is to download and install both tools (for free) on your local machine, login to Github from Visual Studio Team Explorer, then refresh this page and click on the Open in Visual Studio button which should appear on the right of the repository : this action will clone the solution in your local Git repository and open it in Visual Studio.
The solution contains these projects :
The following librairies are included in the Visual Studio projects by the Nuget package manager :
ANTLR 4 : The C# target of the ANTLR 4 parser generator for Visual Studio 2010+ projects.
ANTLR 4 Runtime : The runtime library for parsers generated by the C# target of ANTLR 4. This package supports projects targeting .NET 2.0 or newer, and built using Visual Studio 2008 or newer.
Reactive Extensions - Main Library : Reactive Extensions Main Library combining the interfaces, core, LINQ, and platform services libraries. The Reactive Extensions (Rx) is a library to compose asynchronous and event-based programs using observable collections and LINQ-style query operators.
System.Collections.Immutable : This package provides collections that are thread safe and guaranteed to never change their contents, also known as immutable collections. Like strings, any methods that perform modifications will not change the existing instance but instead return a new instance. For efficiency reasons, the implementation uses a sharing mechanism to ensure that newly created instances share as much data as possible with the previous instance while ensuring that operations have a predictable time complexity.