Wildcat Cobol Compiler for .NET

home | about | docs | feedback | download | launchpad project

An open-source COBOL compiler for .NET and Mono

About the Compiler

Development Roadmap

Over the next month, it is intended that the compiler will gain support for:

  • All built in identifiers. ZERO and SPACES are the only ones currently supported.
  • All relational conditions. <= >= and <> aren't done yet. (implemented on 16th June 2007)
  • Using AND and OR in IF statements (implemented on 14th June 2007)
  • UNSTRING
  • MOVE from array to array
  • MOVE from string to struct
  • MOVE from struct to string
  • Standard COBOL compiler errors and warnings

Beyond that, the next developments will include:

  • Handling of math errors
  • Implementation of standard data types (rather than just the current "string" and "number")
  • File I/O
  • Improvement on the way INVOKE works out which version of a .NET method to call (implemented on 27th May 2007)

Standards and Compatibility

The Wildcat COBOL compiler aims to implement a substantial part of COBOL-85, and generates CIL code which conforms to the ECMA-335 standard. On this site, the term "COBOL-85" refers to:

  • ISO 1989:1985 - Programming languages - COBOL
  • ISO 1989/Amendment 1 - Programming languages - COBOL - Amendment 1: Intrinsic function module
  • ANSI X3.23-1985 - Programming Language - COBOL
  • ANSI X3.23a-1989 - Programming Language - Intrinsic Function Module for COBOL

As a result of generating standard CIL code, the Wildcat COBOL compiler produces executable files compatible with:

The compiler will probably run on the many other combinations of operating systems and CLRs that are out there, but these are the only ones that I have the resources and time to test.

Project Background

Sandy Dunlop became interested in .NET technology in June 2002 after reading about Miguel de Icaza's work on the Mono open-source project which was unveiled at the 2001 O'Reilly conference. He begain work on a C# port of his company's in-house database SDK, which at the time was written in C, in an exercise in learning about the .NET Framework and the C# language.

After watching an interview with Valer Bocan about his implementation of a Forth compiler for .NET in MSDN's Channel 9 on 14th September 2006, Sandy began work on his own COBOL compiler for .NET. His work on this project is motivated by the absence of a freely available COBOL compiler for .NET. On 11th March 2007, Sandy released a downloadable demonstration of his compiler on the Internet.

There are several COBOL compilers for the .NET Framework, and there are a few Open Source COBOL compilers. With its source being released on the Internet on 15th May 2007, The Wildcat COBOL compiler is the first open-source COBOL compiler for .NET.