From: Glen C. <gco...@US...> - 1999-12-09 04:34:08
|
> Also, as for handling run time errors, I would like to propose the following > calling convention: > > void runtime_error(int iErrorNbr, struct fld_desc *pFldDesc, void *pData); > I think we need a more complex pointer to the data. We will need to display working storage, i-o buffers, and pointers received in linkage. A simple ... varargs would give us access to the data, but no method of identifying what type of storage it is (buffer, linkage, etc.) We can load the program name and compile date, compiler version, and other relevent dump information as constants when creating the executable. |
From: Noeth, J. <jm...@ag...> - 1999-12-13 17:07:20
|
To all, I have been working on the run time routines to facilitate the cobol move verb, and have them very close to being finished. My concern, though, is that these routines have considerable overhead (especially when moving numeric fields) to figure out what type of move is involved, how much to pad, how much to truncate, etc.. I'm afraid that our move routines are going to be very innefficient. What I would like to do is to modify the 'gen_move' routine to generate the code directly, all of the information to do these 'overhead' calculations is available at compile time, and we could generate code that is very specific to each move statement. I realize that this will make the compiler less portable (and a little more difficult to debug), I believe that I can write the code generation routines such that they can be easily modified for different platforms. Let me know what you think. Jim Noeth - SWAT/Technology Services A. G. Edwards and Sons, Inc. |
From: Ted R. <te...@ac...> - 1999-12-13 17:15:48
|
Well, as a COBOL/S370 assembler fan, I can assure you that is the way the IBM COBOL compiler works. Having a 'generalized' MOVE routine would involve much overhead and require a lot of tweaking and changes whenever someone comes up with a new idea. I vote for a 'lean and mean' type-specific MOVE. It would localize changes and result in faster code. First-time surrealists are often confused by the similarities between fish and telephones. On Mon, 13 Dec 1999, Noeth, Jim wrote: > To all, > > I have been working on the run time routines to facilitate the cobol move > verb, and have them very close to being finished. My concern, though, is > that these routines have considerable overhead (especially when moving > numeric fields) to figure out what type of move is involved, how much to > pad, how much to truncate, etc.. I'm afraid that our move routines are going > to be very innefficient. What I would like to do is to modify the 'gen_move' > routine to generate the code directly, all of the information to do these > 'overhead' calculations is available at compile time, and we could generate > code that is very specific to each move statement. > > I realize that this will make the compiler less portable (and a little more > difficult to debug), I believe that I can write the code generation routines > such that they can be easily modified for different platforms. Let me know > what you think. > > Jim Noeth - SWAT/Technology Services > A. G. Edwards and Sons, Inc. > > > _______________________________________________ > Tiny-cobol-users mailing list > Tin...@li... > http://lists.sourceforge.net/mailman/listinfo/tiny-cobol-users > |
From: Fred M. <fr...@mo...> - 1999-12-13 19:17:07
|
Ted Rolle wrote: > Well, as a COBOL/S370 assembler fan, I can assure you that is the way the > IBM COBOL compiler works. > > Having a 'generalized' MOVE routine would involve much overhead and > require a lot of tweaking and changes whenever someone comes up with a > new idea. > > I vote for a 'lean and mean' type-specific MOVE. It would localize > changes and result in faster code. As being a Cobol / Siemens Assembler fan I'll support this vote. Thank you Ted, you're completely right. Regards, Fred Mobach |
From: Glen C. <gco...@US...> - 1999-12-14 02:35:45
|
> -----Original Message----- > From: tin...@so... > [mailto:tin...@so...]On Behalf Of Noeth, Jim > Sent: Monday, December 13, 1999 10:00 AM > To: 'tin...@li...' > 'gen_move' > routine to generate the code directly, all of the information to do these > 'overhead' calculations is available at compile time, and we > could generate > code that is very specific to each move statement. Hi Jim, I think that the most supportable approach (in the long term) would be a routine for each source/target combination. This would result in about 28-40 different move commands (depending on the number of numeric types that we define). While this is a LOT more to program, it will allow individual tuning and troubleshooting. You should also consider that these move types are closely related to the math routines.....and each math routine will probably end by calling a move to move the data from a math library variable (FPU register, GNU Infinite Math type, or whatever) to numeric and/or numeric edited fields. Additional consideration may be needed for constants (MOVE -123.45 TO WS-NUMBER) as these seem to be treated differently by the compiler (what data type should we assign constants to)... To permit multiple programmers to work in the move libraries without tripping on each other, we should probably divide the move library into seperate source code based either on source or target data type (math would be easier if we divided by source, edited field moves would be easier if we divided by destination type). A nice feature would be to only link in the move code used by the program (multiple move and math libraries?), but this is probably overkill. Glen |
From: Rildo P. <rpr...@ac...> - 2001-03-16 02:23:05
|
Hi, This article in "Diario de Pernambuco" (local newspaper in Recife, Brazil) is about TinyCobol. I forgot to send it before, so my excuses for being so late. You may need babelfish to translate it to english (unless you understand portuguese). http://www.pernambuco.com/diario/2001/03/07/info9_0.html best regards, Rildo ---------------------------------------------------------------- Rildo Pragana FPGA/uControllers * Linux * tcl/tk P.O. Box 721 Camaragibe PE http://members.nbci.com/rpragana Brazil 54792-990 +55-81-3459-1776 |
From: scott s. <kk...@ya...> - 2001-08-24 21:37:00
|
hello all, i am very new to the list. i hope it is not in bad taste to post a small non working program in it's intirety. if it is please tell me and i will not do it again. ok here goes my proble. i wrote a tiny program (see below) and it will not compile. i have rid it of all the stupid errors like typos and easly found bad code. i however do not under stand the compile errors. if you would like a screen print of them please e-mail me. thank you for your time scott IDENTIFICATION DIVISION. PROGRAM-ID. SUPPLIERS. ENVIRONMENT DIVISION. CONFIGURATION SECTION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT SUPPLIERS ASSIGN TO "SUP.dat" ORGANIZATION IS SEQUENTIAL. DATA DIVISION. FILE SECTION. FD SUPPLIERS. 01 SUPPLY-RECORD. 03 PHONE. 05 AREA-CODE PIC 999. 05 FIRST-THREE PIC 999. 05 LAST-FOUR PIC 9999. 03 COMPANY PIC X(20). 03 ADDRESS-LINE-1 PIC X(60). 03 ADDRESS-LINE-2 PIC X(60). 03 CITY PIC X(60). 03 STATE PIC 9(02). 03 ZIP PIC 9(05). 03 EXTENSION PIC 9(05). 03 CONTACT PIC X(60). 03 TERMS PIC X(20). 03 MINIMUM PIC 9(04). 03 CUSTOMER-NUMBER PIC X(20). WORKING-STORAGE SECTION. 01 WS-SUPPLY-HOUSE. 03 WS-PHONE. 05 WS-AREA-CODE PIC 999. 05 WS-FIRST-THREE PIC 999. 05 WS-LAST-FOUR PIC 9999. 03 WS-COMPANY PIC X(20). 03 WS-ADDRESS-LINE-1 PIC X(60). 03 WS-ADDRESS-LINE-2 PIC X(60). 03 WS-CITY PIC X(60). 03 WS-STATE PIC 9(02). 03 WS-ZIP PIC 9(05). 03 WS-EXTENSION PIC 9(05). 03 WS-CONTACT PIC X(60). 03 WS-TERMS PIC X(20). 03 WS-MINIMUM PIC 9(04). 03 WS-CUSTOMER-NUMBER PIC X(20). 01 WS-PROCESS-ANOTHER PIC X. 01 WS-ANSWER-ONE PIC X. 01 WS-CORRECT PIC X. PROCEDURE DIVISION. PERFORM OPENING-PROCEDURE. PERFORM ENTER-ANOTHER UNTIL WS-PROCESS-ANOTHER = "N". PERFORM CLOSING-PROCEDURE. PROGRAM-DONE. STOP RUN. OPENING-PROCEDURE. DISPLAY "would you like to enter a supplier? Y OR N". ACCEPT WS-ANSWER-ONE. IF WS-ANSWER-ONE = "Y" OPEN INPUT SUPPLIERS PERFORM ENTER-DATA PERFORM IS-THIS-CORRECT ELSE IF WS-ANSWER-ONE = "N" PERFORM PROGRAM-DONE ELSE PERFORM TRY-AGAIN-2 END-IF END-IF. CLOSING-PROCEDURE. CLOSE SUPPLIERS. ADD-RECORD. PERFORM FORMAT-THE-RECORD. PERFORM ADD-THIS-RECORD. FORMAT-THE-RECORD. MOVE SPACES TO SUPPLY-RECORD. MOVE WS-SUPPLY-HOUSE TO SUPPLY-RECORD. ADD-THIS-RECORD. WRITE SUPPLY-RECORD. ENTER-DATA. DISPLAY "enter company name" accept WS-COMPANY DISPLAY "enter adreess line 1" accept WS-ADDRESS-LINE-1 DISPLAY "enter adreess line 2, leave blank if none" accept WS-ADDRESS-LINE-2 DISPLAY "enter city" accept WS-CITY DISPLAY "enter state" accept WS-STATE DISPLAY "enter zip code" accept WS-ZIP DISPLAY "phone number including area code (no (,) or _)" accept WS-PHONE DISPLAY "enter extension, leave blank if none" accept WS-EXTENSION DISPLAY "enter contact person, leave blank if none" accept WS-CONTACT DISPLAY "enter terms (pre-pay, net 30)" accept WS-TERMS DISPLAY "enter minimum order" accept WS-MINIMUM DISPLAY "enter customer number, leave blank if none" accept WS-CUSTOMER-NUMBER ENTER-ANOTHER. MOVE SPACES TO WS-ANSWER-ONE. DISPLAY "would you like to enter another supplier Y OR N". ACCEPT WS-ANSWER-ONE. IF WS-ANSWER-ONE = "Y" PERFORM ENTER-DATA PERFORM IS-THIS-CORRECT ELSE IF WS-ANSWER-ONE = "N" MOVE "N" TO WS-PROCESS-ANOTHER ELSE PERFORM TRY-AGAIN-2 END-IF END-IF. IS-THIS-CORRECT. DISPLAY "is this information correct" DISPLAY WS-COMPANY DISPLAY WS-ADDRESS-LINE-1 DISPLAY WS-ADDRESS-LINE-2 DISPLAY WS-CITY DISPLAY WS-STATE DISPLAY WS-ZIP DISPLAY "(" WITH NO ADVANCING DISPLAY WS-AREA-CODE WITH NO ADVANCING DISPLAY ") " WITH NO ADVANCING DISPLAY WS-FIRST-THREE WITH NO ADVANCING DISPLAY "-" WITH NO ADVANCING DISPLAY WS-LAST-FOUR DISPLAY WS-EXTENSION DISPLAY WS-CONTACT DISPLAY WS-TERMS DISPLAY WS-MINIMUM DISPLAY WS-CUSTOMER-NUMBER ACCEPT WS-CORRECT. IF WS-CORRECT = "N" MOVE SPACES TO WS-SUPPLY-HOUSE PERFORM ENTER-DATA ELSE IF WS-CORRECT = "Y" PERFORM ADD-RECORD ELSE PERFORM TRY-AGAIN-1 END-IF END-IF. TRY-AGAIN-1. DISPLAY "sorry i did not understand your answer please answer" DISPLAY "with a Y or N" PERFORM IS-THIS-CORRECT. TRY-AGAIN-2. DISPLAY "sorry i did not understand your answer " DISPLAY "please answer with a Y or N" PERFORM OPENING-PROCEDURE. __________________________________________________ Do You Yahoo!? Make international calls for as low as $.04/minute with Yahoo! Messenger http://phonecard.yahoo.com/ |
From: David E. <de...@ar...> - 2001-08-25 05:56:11
|
At 02:36 PM 24/08/01 -0700, Scott Snider wrote: >I am very new to the list. I hope it is not in bad >taste to post a small non working program in it's >entirety. if it is please tell me and I will not do it >again. > >OK here goes my problem. I wrote a tiny program (see >below) and it will not compile. I have rid it of all >the stupid errors like typos and easily found bad code. >I however do not under stand the compile errors. if >you would like a screen print of them please e-mail >me. > ... I have no problem compiling your program, using TC release 0.54. make test01a htcobol -P -D -I../copybooks -I. test01a.cob as -D -o test01a.o -a=test01a.listing.0.txt test01a.s gcc -g -o test01a test01a.o -L/usr/local/lib -lhtcobol -ldb -lm Perhaps you neglected to add the db library, which is required for all file IO. David Essex |
From: eurlix <eu...@li...> - 2001-08-25 14:47:12
|
Hi David, On Sat, 25 Aug 2001 01:53:31 -0400 David Essex <de...@ar...> wrote: > gcc -g -o test01a test01a.o -L/usr/local/lib -lhtcobol -ldb -lm > > Perhaps you neglected to add the db library, which is required for all file > IO. > perhaps, we can write a makefile "proto" including all the libraries that TC can use ? It is not so easy to discover and, at this time, the only way I know is to read all the Makefiles in test.code . ------- Alain Lucari Eurlix 1, rue Reine Elisabeth 13001 Marseille FRANCE |
From: David E. <de...@ar...> - 2001-08-25 18:41:00
|
At 04:25 PM 25/08/01 +0200, eurlix wrote: >On Aug 25, 2001 01:53:31 -0400 David Essex wrote: > >> gcc -g -o test01a test01a.o -L/usr/local/lib -lhtcobol -ldb -lm >> >> Perhaps you neglected to add the db library, which is >> required for all file IO. >> >perhaps, we can write a makefile "prototype" including all >the libraries that TC can use ? I am planning to write a utility which will generate a skeleton COBOL code and Makefile, depending on options. >It is not so easy to discover and, at this time, the only >way I know is to read all the Makefiles in test.code . It is not that difficult to remember, unless you are a newbie. Any file IO statements will require the db library. The SCREEN section or DISPLAY POS/LINE statements will require the ncurses library. In any case, the TC main compiler front end, once completed, will automatically detect which libraries are required to create the final binary. David Essex |
From: eurlix <eu...@li...> - 2001-08-26 19:09:34
|
Hi David, On Sat, 25 Aug 2001 14:37:01 -0400 David Essex <de...@ar...> wrote: > > It is not that difficult to remember, unless you are a newbie. > > Any file IO statements will require the db library. > Perhaps, I am always a newbie, at less with TC, but it seem to me you are hoping for newbies in TC, is it not ? and, it seem to me, also that i must, sometime ago, add "-ldb" in some Makefile in test.code, in order to can compile the program. ------- Alain Lucari Eurlix 1, rue Reine Elisabeth 13001 Marseille FRANCE |
From: scott s. <kk...@ya...> - 2001-08-25 23:30:54
|
thank you very much, i am all set now. thanks again scott --- David Essex <de...@ar...> wrote: > At 02:36 PM 24/08/01 -0700, Scott Snider wrote: > > >I am very new to the list. I hope it is not in bad > >taste to post a small non working program in it's > >entirety. if it is please tell me and I will not do > it > >again. > > > >OK here goes my problem. I wrote a tiny program > (see > >below) and it will not compile. I have rid it of > all > >the stupid errors like typos and easily found bad > code. > >I however do not under stand the compile errors. > if > >you would like a screen print of them please e-mail > >me. > > ... > > I have no problem compiling your program, using TC > release 0.54. > > make test01a > htcobol -P -D -I../copybooks -I. test01a.cob > as -D -o test01a.o -a=test01a.listing.0.txt > test01a.s > gcc -g -o test01a test01a.o -L/usr/local/lib > -lhtcobol -ldb -lm > > Perhaps you neglected to add the db library, which > is required for all file > IO. > > > > > David Essex > > > _______________________________________________ > Tiny-cobol-users mailing list > Tin...@li... > http://lists.sourceforge.net/lists/listinfo/tiny-cobol-users __________________________________________________ Do You Yahoo!? Make international calls for as low as $.04/minute with Yahoo! Messenger http://phonecard.yahoo.com/ |
From: eurlix <eu...@li...> - 2001-08-25 14:47:11
|
Hi scott, on Fri, 24 Aug 2001 14:36:59 -0700 (PDT) scott snider <kk...@ya...> wrote: > IF WS-ANSWER-ONE = "Y" > OPEN INPUT SUPPLIERS ~~~~~ > Like in perl, it is more than one way to do something in CoBol ;) but, it seem to me that you can have some problem (when the compile is Ok) if you don't replace this by "EXTEND". ------- Alain Lucari Eurlix 1, rue Reine Elisabeth 13001 Marseille FRANCE |
From: scott s. <kk...@ya...> - 2001-08-25 23:28:19
|
thank you very much... good catch. it would not add a record untill i changed it. i have no cobol book at home to work from (my ex wife ended up with them somehow) and i do this for fun. i would have been stuck for days. thanks again scott --- eurlix <eu...@li...> wrote: > > Hi scott, > > on Fri, 24 Aug 2001 14:36:59 -0700 (PDT) > scott snider <kk...@ya...> wrote: > > > > IF WS-ANSWER-ONE = "Y" > > OPEN INPUT SUPPLIERS > ~~~~~ > > > > Like in perl, it is more than one way to do > something in CoBol ;) > but, it seem to me that you can have some problem > (when the compile is Ok) > if you don't replace this by "EXTEND". > > ------- > Alain Lucari Eurlix > 1, rue Reine Elisabeth > 13001 Marseille > FRANCE > > _______________________________________________ > Tiny-cobol-users mailing list > Tin...@li... > http://lists.sourceforge.net/lists/listinfo/tiny-cobol-users __________________________________________________ Do You Yahoo!? Make international calls for as low as $.04/minute with Yahoo! Messenger http://phonecard.yahoo.com/ |
From: scott s. <kk...@ya...> - 2001-08-29 03:26:09
|
hello all, i am looking for a free or trial ware oo cobol compiler. i have some code from an online class i would like to play with and my compiler wont do the job. thanks scott __________________________________________________ Do You Yahoo!? Make international calls for as low as $.04/minute with Yahoo! Messenger http://phonecard.yahoo.com/ |
From: scott s. <kk...@ya...> - 2001-09-06 15:41:48
|
thank you all. it did the trick. scott __________________________________________________ Do You Yahoo!? Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger http://im.yahoo.com |
From: <bg...@fr...> - 2001-10-24 19:43:58
|
From: Eric S. <es...@gl...> - 2001-11-14 15:15:08
|
I=92m in the procedure division, and I get a syntax error at the followin= g lines. Is the =93note=94 statement supported at this time? TRANSLATION-TABLES SECTION. TRANS-TABLE-NOTE. NOTE *********************************************************** * THIS SECTION READS THE TRANS-FILE WHICH CONTAINS * * A CONTROL CARD AND THE TRANSLATION TABLES FOR EACH OF * * THE DATA ELEMENTS, IF A DATA ELEMENT HAS NO TRANSLATION * * TABLE PROVIDED, IT IS ASSUMED THAT THE VARIABLES ARE * * ALREADY IN THE CORRECT FORMAT * ***********************************************************. |
From: <bg...@fr...> - 2001-12-05 12:11:47
|
Hi all, I have uploaded changes in the current CVS version. Improvements in the following areas: - pure numeric labels are back - GOBACK statement implemented like an EXIT PROGRAM - support for BLANK ZERO in the compiler Could someone, I am thinking perticularly at Jim or Jeff, implement the code in the RTS cobmove routines. That'll be great, Bernard |
From: David E. <de...@ar...> - 2001-12-05 19:30:14
|
At 01:11 PM 05/12/01 +0100, Bernard Giroud wrote: > I have uploaded changes in the current CVS version. > > Improvements in the following areas: > - pure numeric labels are back > - GOBACK statement implemented like an EXIT PROGRAM > - support for BLANK ZERO in the compiler Is there any advantage in 'pure numeric labels' ? Is this part of the COBOL 200x draft standard ? Other changes and improvements: - Bison is now the default compiler compiler and yacc193 is an option. - Some preliminary support for a native Win32 version. The TC pre-processor will now compile using Mingw32, the native GNU Win32 compiler. David Essex |
From: Fred M. <fr...@mo...> - 2001-12-06 10:26:33
|
David Essex wrote: > > At 01:11 PM 05/12/01 +0100, Bernard Giroud wrote: > > > I have uploaded changes in the current CVS version. > > > > Improvements in the following areas: > > - pure numeric labels are back > > - GOBACK statement implemented like an EXIT PROGRAM > > - support for BLANK ZERO in the compiler > > Is there any advantage in 'pure numeric labels' ? Not for me, but YMMV. > Is this part of the COBOL 200x draft standard ? ISO/IEC FCD 1989 : 2001 (E) 8.3.1.1.1 User-defined words states : With the exception of section-names, paragraph-names, and level-numbers, each user-defined word shall contain at least one basic letter or extended letter. Regards, Fred -- Fred Mobach - fr...@mo... - pos...@mo... Systemhouse Mobach bv - The Netherlands - since 1976 Save Harbour for encumbered Free and Open Source software and links: http://apache.dataloss.nl/~fred/ |
From: Bernard G. <bg...@ao...> - 2001-12-05 20:40:24
|
David Essex a écrit : > At 01:11 PM 05/12/01 +0100, Bernard Giroud wrote: > > > I have uploaded changes in the current CVS version. > > > > Improvements in the following areas: > > - pure numeric labels are back > > - GOBACK statement implemented like an EXIT PROGRAM > > - support for BLANK ZERO in the compiler > > Is there any advantage in 'pure numeric labels' ? > > > Is this part of the COBOL 200x draft standard ? > > They are needed for ANSI85. > Other changes and improvements: > - Bison is now the default compiler compiler > and yacc193 is an option. > - Some preliminary support for a native Win32 version. > The TC pre-processor will now compile using Mingw32, > the native GNU Win32 compiler. > > David Essex Great!! That'll be nice to use TC under Win32 too !! Bernard |
From: David E. <de...@ar...> - 2001-12-09 04:35:06
|
At 09:42 PM 05/12/01 +0100, Bernard Giroud wrote: >David Essex a =E9crit : >> ... >> Is there any advantage in 'pure numeric labels' ? >> Is this part of the COBOL 200x draft standard ? > > They are needed for ANSI85. By labels do you mean paragraph/section names ? >> Some preliminary support for a native Win32 version. >> The TC pre-processor will now compile using Mingw32, >> the native GNU Win32 compiler. > > Great!! That'll be nice to use TC under Win32 too !! Unfortunately, the only the pre-processor (htcobolpp) currently compiles and runs under Mingw32. The main compiler should not be much a problem either.=20 The real problem is the Run-Time. Specifically the lack of native Win32 version of Berkeley's DB version 1. So unless some one would like to volunteer (hint hint) to do a port, don't hold your breath. It will not be anytime soon. David Essex |
From: <bg...@fr...> - 2002-03-21 19:22:54
|
Hi all, I just uploaded the grammar for declaratives. I'll try to implement tommorow the beginning of tests behind I/O statements. Bernard |
From: Eric E. -=R. Mail=- <e....@rc...> - 2002-06-05 01:25:38
|
That didn't work either. This had me stumped. [eric@Mithrilhall tinycobol]$ ./configure --with-libdb=3 loading cache ./config.cache checking for gcc... gcc checking for as... as checking for a BSD compatible install... /usr/bin/install -c checking whether ln -s works... yes checking whether make sets ${MAKE}... yes checking for ranlib... ranlib checking for ar... ar checking for flex... flex checking for bison... bison checking for expand... /usr/bin/expand checking how to run the C preprocessor... gcc -E checking whether cross-compiling... no checking for ANSI C header files... yes checking for stdio.h... yes checking for alloca.h... yes checking for errno.h... yes checking for fcntl.h... yes checking for limits.h... yes checking for sys/time.h... yes checking for unistd.h... yes checking for malloc.h... yes checking for stdlib.h... yes checking for string.h... yes checking for strings.h... yes checking for utime.h... yes checking for ctype.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for getopt.h... yes checking for working const... yes checking for off_t... yes checking for size_t... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for 8-bit clean memcmp... yes checking for vprintf... yes checking for strcspn... yes checking for strdup... yes checking for strerror... yes checking for strspn... yes checking for -lm... yes Beginning DB library header search sequence checking for db3/db_185.h... yes Beginning DB library test link sequence checking for -ldb3 (with 1.85 API compatibility)... no checking for -ldb (version 3.x with 1.85 API compatibility)... yes checking for ncurses.h... no configure: error: header ncurses.h not found... aborting [eric@Mithrilhall tinycobol]$ |