[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNU-COBOL] Ramble IV



Hello all,

This is Ramble IV: no witty tagline, as there are no more rhymes.


Today, I want to bring a couple of assumations about the system that
the architects have.(ie me and Laura).


After, the last round of nice discussion, I realized that some differences
of opinion were based on these underlying assumations about the system,
so I figured it was high time to put them in writing.
OK, So what I really did was re-read Mythical-Man Month, and it reminded me. =)

BTW: if anyone hasnt read that book, you should. if you cant afford it,
or the library doesnt have a copy you can steal, I'll send you one.

Anyways...
ToDo list addations.
Under a heading of Phase 3+
-----------------------------
seperate compilation units, single run unit/mulit programs.
and embedded programs. I've thought and thought, and the idea of doing
this stuff in translation, makes me ill. If someone has an idea,
please pass it on to the list. But I think these will be easier when 
we start using the GCC backend(i am so glad the egcs/gcc merged finally,
I didnt like the thought of having to choose between them =)
then I wont have to rewrite the linker, which I might have to do anyways...
but I dont want to. =P

Program listing
Debuging - gdb source level crap.

Phase 2
---------
only do a single translation unit/program that will out put a single
execuatlbe program(not object files, etc)
[[note: technically ther will be object fiels, but thye wont necessarily be 
usable beyond a single link.]]


==========================
Revized Assumtions
----
input program verified correct thru other menas.
Phase II is about a runtime support and Grammar development/ParserGen choice.
==============================

Catagories of Features. so that we can prioritize 
-----------------
PRogram Development Features     - C
(ie use cob2c to write new programs) 
runtime feature                  - A
(support to execuate exisitng programs)
translation feature.             - A
(read in and act on existing programs)

======================
Intrinsic Fucntions 
may have to be heald off until Phase 3 when I do external function linkage.
(seperatly compilatable units)
- unless we dont check for function usage correctness until
c-src compile time, whic is an options and then just pretended that
its cobol link time, and thats when we would get the error anyways, I guess.
hmm..have to look thru std about function resolution time.
[[I've been influences by static checking AHHHHH!!!! think smalltalk chad!]]
IF we do the above then, we can just write a set of C funcitons to
impliment the intrinsic fucniton, using proper naming, then the linker(C)
will pull them at link time.

=====================
Tim: if you read this far this is kinda for you: 

THe Line Error FIle we talked about a few weeks ago to help do debug
errors between the main src and the included files.
Well I have a format, but whats is interesting is that Fujitsu Cobol
does something similar. =) Not tha I care what other ppl do, but tis
not to know that other ppl have the same bad ideas as I do.
And I think its a good intermediate step.

legends:

output == the psudo temp file output from the preprocessing* stage.
input  == the actual OS file under compilation.
*I know its a bad word, but I am so use to using it, if we dont have
a better word, then I'll continue to use it. =)
Format fo rthe file.

output line#:input name:input line #:[input line #:]*

That it. =)

With this, there needs to be about 2 fucntions.
a writer, and a lookup.
The easy way to to write a line in the error file for each line in the output
file. The hard way is to only write a lines at a transition point.
Start of file, end of file, coninuation( which is why th emulti input
lines per oneoutput, because all cont. are compressed to one line),

So thats it.
Example using the hard method, the easy method should be ecxtractable from this
just fill in all the missing line numbers. =)

1:orignal.cbl:1:
10:orignal.cbl:10:
11:copy lib A:1:
21:copy lib A:10:
22:orignal.cbl:11:12:13:      

The last line is an example of continuation.

==================
Assumations => to build a compile not an IDE
we are not building a tool to help develop cobol code or to migrate it.

debugging, listing, correct error reporting of code are important 
to that end and part of the final goal of this proejct, just not an 
intermediate goal.

this statement does not mean you should just ignore up coming features that
are required in the final product. You should think about them at design time
but not at coding time.
================

Thats all for now. =)

Chad


There
-- 
Chad Slaughter  -- slaught at umr.edu
<PGP public key available upon request>

--
This message was sent through the gnu-cobol mailing list.  To remove yourself
from this mailing list, send a message to gnu-cobol@acm.cs.umr.edu with the
words "unsubscribe gnu-cobol" in the message body.  For more information on
the GNU COBOL project, send mail to gnu-cobol-owner@acm.cs.umr.edu.