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

[GNU-COBOL] Ramblings: part deux




Hello all,

Here is part deux. This is some more notes I found.
While I am writing this the first ramblings has not come thru
so I might have to rewrite the warning. 
Just note, this is thoughts in progress and my thoughts/ideas on the std
and how it should be implemented. Its not a commandment from Satan, so
dont treat it like one. I've been reading the std on and off and I try
to make notes on what I think is important, etc. And this is it.

Note about the ramblings. the things with the "--" before them 
are nots I make while I type this in.

Chad

======================================
ToDo List stuff 
-- jferg add thes they are kinda of important, adn other can work on them . =)

-- BTW: this is no order of importance. Its just how I wrote it down and
-- typed it in.

* Print Printing cobol. Look to see if a2ps supports this.
* Listing support.
* External switch: define andimpl ideas needed. Named semaphore would be nice.
 but does anything but Os/2 support it?
* Report Writer module
* Comm module: define the mcs, write it, etc. I think its a machine/network
  wide process..but not sure. maybe just impl with shared mem, sockets, 
  named pipes, or just flat files. 

-- here is the important One!
* Functional Test suite
  example Cobol programs to test each language feature/concept for 
  conformance and proper workign. with example input and output
  hopefully either automated in itsself. OR with an english explanation
  of the proper working semantic so it can be automated.
  Obscure shit is better. Any test that are incredibly similar to the
  ANSI conformance test would be very nice. =)
  This is a must have for this project ot go anywhere.

I am thinking about three or four different types of tests.
1) test fragments. Small little cobol programs, or program fragments
that utilize onyl one or two features. or maybe test a whole verb.
eg: somethign for add, move
   also a seperate test fragment to test the PIC statement b/c add and move
   wont neccessarily test this..or at least thast how I look at it.
   The important thing here is to get fragments with understanding of proper
   workings so we can mix and match for the second type of test.

2) More complex test programs to deal with interaction of several different
  features. These along with the above are still contrived exampels meant
  to properly test the system as oppossed to being useful.
3) actually "real world" example test programs. Programs that ppl have 
   written. Good all around testing. Also a good method to determine
   which features should be implemented first.
4) hell program. One program or as many as neccessary that does as
  much as inhumanly possible. I am think a multi tens of thousands of lines
  program that stresstests the sytsem. possible built up from 1)


I am thinking examples like this.(fragemetn)
note that the pics of the variables is irrelevent to the add function.

-- btw: is this even correct? =)
* Input A = 3, B = 5, C = 7
* Output D, E,F
ADD A,B,C to A,B,C GIVING D,E,F
* resutls D = 18, E = 20, F = 22

number 2) would do somethign like add, then do a move.
or do some math adn then a conditional or somthing.
you get the idea.

======================================

stop impl with signals?
stop [literal] sends SIGSTOP to self and prints out a message(a' la tin)
then the shell has to have job control and be able to restart the 
process in the fg or somethign. OR do something like pause.
stop run - > executes exit() assume atexit will be enough for clean up
        -> if pure C, then maybe, if C++ then atexit and destructors should
       -> be enough.

======================================
tracking level of conformance as with the Level 1,level 2 and module is
very important. Link this with the functional tests...probably one test
per line of the big conformatnce table break down.(see eariler email
for page number in std, I am too lazy to look it up again)
======================================
Notes on Section XII -- Soruce Text manipulation module level 1&2.
COPY -> level 1
Replace adn copy/replacing -> level 2

Cobol library format? what is the format of the Cobol copy libs from
which Copy can read? the std never talks about it.
So I am thinking just use ar. =) if debian can use it to package stuff
we can use if for cobol.
can somebody make me a copy lib in some impl(ibm,MF) I can get teh cobol
for os/2 to work properly..
<name>.cob.lib or cob<name>.lib
0I<path to libs>

Reference Format
mrgin R - ompl defined
area b - finite # of chars ... 213 ?? =)
--
Source manipulation pipeline
char conversiotn edcide to ascii (unicode)?
tab expandsion \t-> sapces
comment striping < rigth margin striping>(maybe column chekcing too)>
copy
replace
<run column check again?
<runc ommment strip again?>
continuation ??
debug & seq # handling.

NOTES: pre-copy adn replace run. The text is not a vaild cobol program
and is not parseable.
======================================
Obsolete support.

we have to support elements that are obsolete as per the std.
appendix C XVII-81

1) double char sub.
easy layup add to the todo list. write a script and preform subs.
YASU(add that to the glossary) and other cmd line switch
2) infer?
3) handled by a serperate processor.
  strip them out.
 - cissue with COPY, maybe just ignore it.
4) no problem to impl.
5) ditto impl defined
6)unknowns
7) "
8) "
9) "
10) fucntion ptrs.

11) impl defined use of passwords. use system passwords on unix.
12) but it depends how MCS is implimented.

13) my fav.
need clarificationov VI-83 syntax(2) and rule(3)
impl defiend.
those playing the home game. this is how we can call external C functions ,
system calls, or even inline ASM code. =)

14) see alter. 10)
15) hmmm no problme with irondoc files.
16) impl defined
17) no never. besides its optional. someone else can try and do it.
18) might do it...but its optional and someone else can figure out how.

======================================
-- 
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.