The COBOL front end, in 8 notes

James K. Lowden jklowden@schemamania.org
Thu Dec 12 17:56:36 GMT 2024


The following 8 patches constitute the 80 files needed to build and
document the COBOL front end.  They assume that following exist:

    gcc/cobol/ChangeLog
    libgcobol/ChangeLog

The messages are grouped by files in a more or less logical order,
but groups are somewhat arbitrary.  The primary constraint afaik is to
keep them from getting too big, fsvo $too.  We have:

	460K hdr  header files
	484K par  the parser
	760K gen  GENERIC interface
	556K cbl  other supporting C++ files
	432K cfg  libgcobol/configure
	788K lib  libgcobol, all of it
	 72K doc  man pages, for now
	 24K bld  "meta" files, such a gcc/cobol/Make-lang.in

Except for "bld", these all contain new files, can be applied in any
order.  

If you would like the patches smaller or larger, I'm happy to rearrange
them.  Some of exceed the 400 KB mail limit, but I'm assured they'll be
moderated through.  

This patchset excludes tests.  While we do have tests, it's not clear
how or if to add them to gcc.  They use a combination of (largely) 3rd
party sources and GNU Autotest.

A word about C style, always a lively topic.  For any files already
present in gcc, the existing style was followed, and any variation from
it is unintentional.  Files related to the parser use K&R style.  The
GENERIC interface and runtime library use Whitesmiths style.  All C++
code uses spaces for indentation.  

The COBOL front end has been and is being written by two guys with
decades of experience.  We hope the code is a testament to that
experience.  Our relatively recent experience, these last four years,
is that it has been more productive to keep using the styles to which
we've long become accustomed.  The position of curly braces is hardly
any hindrance to read another's code, but it's a burden to write that
way. We think, 83,068 lines later, the proof of the pudding is in the
eating.  

Thank you for your kind consideration of our work.

--jkl



More information about the Gcc-patches mailing list