SlideShare a Scribd company logo
Opencobol Faq Documentation Release 1111 Brian
Tifn download
https://ebookbell.com/product/opencobol-faq-documentation-
release-1111-brian-tifn-23632990
Explore and download more ebooks at ebookbell.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Opencobol Faq Documentation Release 1111 Brian Tifn
https://ebookbell.com/product/opencobol-faq-documentation-
release-1111-brian-tifn-23632990
OpenCOBOL FAQ Documentation
Release 1.1.11
Brian Tiffin
February 25, 2013
Opencobol Faq Documentation Release 1111 Brian Tifn
CONTENTS
1 1.1 What is OpenCOBOL? 5
2 1.2 What is COBOL? 7
3 1.3 How is OpenCOBOL licensed? 9
4 1.4 What platforms are supported by OpenCOBOL? 11
5 1.5 Are there pre-built OpenCOBOL packages 13
5.1 1.5.1 kiska.net repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2 1.5.2 sourceforge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6 1.6 What is the most recent version of OpenCOBOL? 15
7 1.7 How complete is OpenCOBOL? 17
8 1.8 Will I be amazed by OpenCOBOL? 19
9 1.9 Who do I thank for OpenCOBOL? 21
10 1.10 Does OpenCOBOL include a Test Suite? 23
11 1.11 Does OpenCOBOL pass the NIST Test Suite? 25
12 1.12 What about OpenCOBOL and benchmarks? 27
12.1 1.12.1 telco billing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
13 1.13 Can OpenCOBOL be used for CGI? 29
14 1.14 Does OpenCOBOL support a GUI? 31
14.1 1.14.1 GTK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
14.2 1.14.2 Tcl/Tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
14.3 1.14.3 Vala, WebKit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
15 1.15 Does OpenCOBOL have an IDE? 33
16 1.16 Can OpenCOBOL be used for production applications? 35
16.1 1.16.1 Nagasaki Prefecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
16.2 1.16.2 Stories from Currey Adkins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
16.3 1.16.3 Public Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
i
17 1.17 Where can I get more information about COBOL? 39
18 1.18 Where can I get more information about OpenCOBOL? 41
18.1 1.18.1 The OpenCOBOL Programmer’s Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
19 1.19 Can I help out with the OpenCOBOL project? 43
19.1 1.19.1 Translation Efforts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
20 1.20 Is there an OpenCOBOL mailing list? 45
21 1.21 Where can I find more information about COBOL standards? 47
22 1.22 Can I see the OpenCOBOL source codes? 49
22.1 1.22.1 What was used to color the source code listings? . . . . . . . . . . . . . . . . . . . . . . . . 49
23 1.23 What happened to opencobol.org? 51
24 1.24 What is COBOL in Latin? 53
25 1.25 Do you know any good jokes? 55
25.1 1.25.1 A 5-7-5 haiku? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
26 2 History 57
26.1 2.1 What is the history of COBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
26.2 2.2 What are the Official COBOL Standards? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
26.3 2.3 What is the development history of OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . 58
26.4 2.4 What is the current version of OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
27 3 Using OpenCOBOL 61
27.1 3.1 How do I install OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
27.2 3.2 What are the configure options available for building OpenCOBOL? . . . . . . . . . . . . . . . 64
27.3 3.3 Does OpenCOBOL have any other dependencies? . . . . . . . . . . . . . . . . . . . . . . . . . 66
27.4 3.4 How does the OpenCOBOL compiler work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
27.5 3.5 What is cobc? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
27.6 3.6 What is cobcrun? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
27.7 3.7 What is cob-config? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
27.8 3.8 What compiler options are supported? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
27.9 3.9 What dialects are supported by OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
27.10 3.10 What extensions are used if cobc is called with/without “-ext” for COPY . . . . . . . . . . . . 77
27.11 3.11 What are the OpenCOBOL compile time configuration files? . . . . . . . . . . . . . . . . . . 77
27.12 3.12 Does OpenCOBOL work with make? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
27.13 3.13 Do you have a reasonable source code skeleton for OpenCOBOL? . . . . . . . . . . . . . . . 81
27.14 3.14 Can OpenCOBOL be used to write command line stdin, stdout filters? . . . . . . . . . . . . . 84
27.15 3.15 How do you print to printers with OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . 86
27.16 3.16 Can I run background processes using OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . 94
27.17 3.17 Is there OpenCOBOL API documentation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
27.18 3.18 How do I use LD_RUN_PATH with OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . 95
27.19 3.19 What GNU build tool options are available when building OpenCOBOL? . . . . . . . . . . . . 95
28 4 Reserved Words 99
28.1 4.1 What are the OpenCOBOL RESERVED WORDS? . . . . . . . . . . . . . . . . . . . . . . . . 99
28.2 4.2 Does OpenCOBOL implement any Intrinsic FUNCTIONs? . . . . . . . . . . . . . . . . . . . . 217
28.3 4.3 Can you clarify the use of FUNCTION in OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . 247
28.4 4.4 What is the difference between the LENGTH verb and FUNCTION LENGTH? . . . . . . . . . 247
28.5 4.5 What STOCK CALL LIBRARY does OpenCOBOL offer? . . . . . . . . . . . . . . . . . . . . 247
28.6 4.6 What are the XF4, XF5, and X91 routines? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
ii
28.7 4.7 What is CBL_OC_NANOSLEEP OpenCOBOL library routine? . . . . . . . . . . . . . . . . . 262
28.8 4.8 How do you use C$JUSTIFY? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
28.9 4.9 What compiler directives are supported by OpenCOBOL? . . . . . . . . . . . . . . . . . . . . 264
29 5 Features and extensions 267
29.1 5.1 How do I use OpenCOBOL for CGI? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
29.2 5.2 What is ocdoc? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
29.3 5.3 What is CBL_OC_DUMP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
29.4 5.4 Does OpenCOBOL support any SQL databases? . . . . . . . . . . . . . . . . . . . . . . . . . 293
29.5 5.5 Does OpenCOBOL support ISAM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
29.6 5.6 Does OpenCOBOL support modules? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
29.7 5.7 What is COB_PRE_LOAD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
29.8 5.8 What is the OpenCOBOL LINKAGE SECTION for? . . . . . . . . . . . . . . . . . . . . . . . 302
29.9 5.9 What does the -fstatic-linkage OpenCOBOL compiler option do? . . . . . . . . . . . . . . . . . 303
29.10 5.10 Does OpenCOBOL support Message Queues? . . . . . . . . . . . . . . . . . . . . . . . . . . 303
29.11 5.11 Can OpenCOBOL interface with Lua? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
29.12 5.12 Can OpenCOBOL use ECMAScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
29.13 5.13 Can OpenCOBOL use JavaScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
29.14 5.14 Can OpenCOBOL interface with Scheme? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
29.15 5.15 Can OpenCOBOL interface with Tcl/Tk? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
29.16 5.16 Can OpenCOBOL interface with Falcon PL? . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
29.17 5.17 Can OpenCOBOL interface with Ada? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
29.18 5.18 Can OpenCOBOL interface with Vala? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
29.19 5.19 Can OpenCOBOL interface with S-Lang? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
29.20 5.20 Can the GNAT Programming Studio be used with OpenCOBOL? . . . . . . . . . . . . . . . . 358
29.21 5.21 Does OpenCOBOL support SCREEN SECTION? . . . . . . . . . . . . . . . . . . . . . . . . 364
29.22 5.22 What are the OpenCOBOL SCREEN SECTION colour values? . . . . . . . . . . . . . . . . . 365
29.23 5.23 Does OpenCOBOL support CRT STATUS? . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
29.24 5.24 What is CobCurses? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
29.25 5.25 What is CobXRef? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
29.26 5.26 Does OpenCOBOL implement Report Writer? . . . . . . . . . . . . . . . . . . . . . . . . . . 373
29.27 5.27 Does OpenCOBOL implement LINAGE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
29.28 5.28 Can I use ctags with OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
29.29 5.29 What about debugging OpenCOBOL programs? . . . . . . . . . . . . . . . . . . . . . . . . . 374
29.30 5.30 Is there a C interface to OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
29.31 5.31 What are some idioms for dealing with C char * data from OpenCOBOL? . . . . . . . . . . . 377
29.32 5.32 Does OpenCOBOL support COPY includes? . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
29.33 5.33 Does OpenCOBOL support WHEN-COMPILED? . . . . . . . . . . . . . . . . . . . . . . . . 378
29.34 5.34 What is PI in OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
29.35 5.35 Does OpenCOBOL support the Object features of the 2002 standard? . . . . . . . . . . . . . . 378
29.36 5.36 Does OpenCOBOL implement PICTURE 78? . . . . . . . . . . . . . . . . . . . . . . . . . . 379
29.37 5.37 Does OpenCOBOL implement CONSTANT? . . . . . . . . . . . . . . . . . . . . . . . . . . 379
29.38 5.38 What source formats are accepted by OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . 379
29.39 5.39 Does OpenCOBOL support continuation lines? . . . . . . . . . . . . . . . . . . . . . . . . . 379
29.40 5.40 Does OpenCOBOL support string concatenation? . . . . . . . . . . . . . . . . . . . . . . . . 380
29.41 5.41 Does OpenCOBOL support D indicator debug lines? . . . . . . . . . . . . . . . . . . . . . . . 381
29.42 5.42 Does OpenCOBOL support mixed case source code? . . . . . . . . . . . . . . . . . . . . . . 381
29.43 5.43 What is the shortest OpenCOBOL program? . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
29.44 5.44 What is the shortest Hello World program in OpenCOBOL? . . . . . . . . . . . . . . . . . . . 383
29.45 5.45 How do I get those nifty sequential sequence numbers in a source file? . . . . . . . . . . . . . 383
29.46 5.46 Is there a way to count trailing spaces in data fields using OpenCOBOL? . . . . . . . . . . . . 384
29.47 5.47 Is there a way to left justify an edited numeric field? . . . . . . . . . . . . . . . . . . . . . . . 385
29.48 5.48 Is there a way to detemermine when OpenCOBOL is running ASCII or EBCDIC? . . . . . . . 385
29.49 5.49 Is there a way to determine when OpenCOBOL is running on 32 or 64 bits? . . . . . . . . . . 386
iii
29.50 5.50 Does OpenCOBOL support recursion? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
29.51 5.51 Does OpenCOBOL capture arithmetic overflow? . . . . . . . . . . . . . . . . . . . . . . . . . 387
29.52 5.52 Can OpenCOBOL be used for plotting? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
29.53 5.53 Does OpenCOBOL support the GIMP ToolKit, GTK+? . . . . . . . . . . . . . . . . . . . . . 393
29.54 5.54 What is ocsort? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
29.55 5.55 When is Easter? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
29.56 5.56 Does Vim support OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
29.57 5.57 What is w3m? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
29.58 5.58 What is COB_LIBRARY_PATH? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
29.59 5.59 Can OpenCOBOL interface with Rexx? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
29.60 5.60 Does OpenCOBOL support table SEARCH and SORT? . . . . . . . . . . . . . . . . . . . . . 420
29.61 5.61 Can OpenCOBOL handle named pipes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
29.62 5.62 Can OpenCOBOL interface with ROOT/CINT? . . . . . . . . . . . . . . . . . . . . . . . . . 426
29.63 5.63 Can OpenCOBOL be used to serve HTTP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
29.64 5.64 Is there a good SCM tool for OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
29.65 5.65 Does OpenCOBOL interface with FORTRAN? . . . . . . . . . . . . . . . . . . . . . . . . . 435
29.66 5.66 Does OpenCOBOL interface with APL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
29.67 5.67 Does OpenCOBOL interface with J? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
29.68 5.68 What is COBOLUnit? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
29.69 5.69 Can OpenCOBOL interface with Gambas? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
29.70 5.70 Does OpenCOBOL work with LLVM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
30 6 Notes 443
30.1 6.1 big-endian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
30.2 6.2 little-endian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
30.3 6.3 ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
30.4 6.4 currency symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
30.5 6.5 DSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
30.6 6.6 errno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
30.7 6.7 gdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
30.8 6.8 GMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
30.9 6.9 ISAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
30.10 6.10 line sequential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
30.11 6.11 APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
30.12 6.12 ROBODoc Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
30.13 6.13 cobol.vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
30.14 6.14 make check listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
30.15 6.15 ABI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
30.16 6.16 Tectonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
30.17 6.17 Setting Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
30.18 6.18 GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
30.19 6.19 Performing FOREVER? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
30.20 6.20 POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
31 7 Authors 483
32 8 Maintainers and Contributors 485
33 9 ChangeLog 487
34 Indices and tables 491
Bibliography 493
iv
OpenCOBOL FAQ Documentation, Release 1.1.11
Status
This is a 1.1 release candidate of the OpenCOBOL FAQ. Sourced at ocfaq.rst. Courtesty of ReStructuredText,
Sphinx and Pygments.
ocfaq.pdf is also available, using rst2latex and then pdflatex.
This FAQ is more than a FAQ and less than a FAQ. Someday that will change and this document will be split
into an OpenCOBOL manual and a simplified Frequently Asked Questions file.
Website favicon by Mark James, help.png from the FAMFAMFAM Silk icon set.
http://creativecommons.org/licenses/by/2.5/
“COBOL Warriors” image Copyright © 2008 Robert Saczkowski. Banner courtesy of the GIMP, Copyright
© 2008-2013 Brian Tiffin and both are licensed under Creative Commons Attribution-Share Alike 2.0 Generic
License http://creativecommons.org/licenses/by-sa/2.0/
Authors
Brian Tiffin [btiffin]
Answers, quotes and contributions:
John Ellis [jrls_swla], Vincent Coen, Jim Currey, Bill Klein [wmklein],
Ganymede, Simon Sobisch [human], Rildo Pragana, Sergey Kashyrin,
Federico Priolo, Frank Swarbrick, Angus, DamonH, Parhs, Gerald Chudyk
Compiler by:
Roger While [Roger],
Keisuke Nishida [Keisuke],
(with the invaluable assistance of many others)
Special credits to
Gary Cutler author of the OpenCOBOL Programmers Guide
Joseph James Frantz for hosting and advocacy [aoirthoir]
Version 1.1rc13, February 25th, 2013 (now in Sphinx)
Status close to complete
Copyright Copyright © 2008-2013 Brian Tiffin
ChangeLog ChangeLog
Note: Regarding COBOL Standards, Official COBOL Standards: There are many references to standards in this
document. Very few of them are technically correct references. Apologies to all the hard working men and women of
the technical committees for this unintentional slight. For specific details on what wordings should be used please see
What are the Official COBOL Standards?
CONTENTS 1
OpenCOBOL FAQ Documentation, Release 1.1.11
OpenCOBOL
Contents
• 1 OpenCOBOL FAQ
– 1.1 What is OpenCOBOL?
– 1.2 What is COBOL?
– 1.3 How is OpenCOBOL licensed?
– 1.4 What platforms are supported by OpenCOBOL?
– 1.5 Are there pre-built OpenCOBOL packages
– 1.6 What is the most recent version of OpenCOBOL?
– 1.7 How complete is OpenCOBOL?
– 1.8 Will I be amazed by OpenCOBOL?
– 1.9 Who do I thank for OpenCOBOL?
– 1.10 Does OpenCOBOL include a Test Suite?
– 1.11 Does OpenCOBOL pass the NIST Test Suite?
– 1.12 What about OpenCOBOL and benchmarks?
– 1.13 Can OpenCOBOL be used for CGI?
– 1.14 Does OpenCOBOL support a GUI?
– 1.15 Does OpenCOBOL have an IDE?
– 1.16 Can OpenCOBOL be used for production applications?
– 1.17 Where can I get more information about COBOL?
– 1.18 Where can I get more information about OpenCOBOL?
– 1.19 Can I help out with the OpenCOBOL project?
– 1.20 Is there an OpenCOBOL mailing list?
– 1.21 Where can I find more information about COBOL standards?
– 1.22 Can I see the OpenCOBOL source codes?
– 1.23 What happened to opencobol.org?
– 1.24 What is COBOL in Latin?
– 1.25 Do you know any good jokes?
• 2 History
– 2.1 What is the history of COBOL?
– 2.2 What are the Official COBOL Standards?
– 2.3 What is the development history of OpenCOBOL?
– 2.4 What is the current version of OpenCOBOL?
• 3 Using OpenCOBOL
– 3.1 How do I install OpenCOBOL?
– 3.2 What are the configure options available for building OpenCOBOL?
– 3.3 Does OpenCOBOL have any other dependencies?
– 3.4 How does the OpenCOBOL compiler work?
– 3.5 What is cobc?
– 3.6 What is cobcrun?
– 3.7 What is cob-config?
– 3.8 What compiler options are supported?
– 3.9 What dialects are supported by OpenCOBOL?
– 3.10 What extensions are used if cobc is called with/without “-ext” for COPY
– 3.11 What are the OpenCOBOL compile time configuration files?
– 3.12 Does OpenCOBOL work with make?
– 3.13 Do you have a reasonable source code skeleton for OpenCOBOL?
– 3.14 Can OpenCOBOL be used to write command line stdin, stdout filters?
– 3.15 How do you print to printers with OpenCOBOL?
– 3.16 Can I run background processes using OpenCOBOL?
– 3.17 Is there OpenCOBOL API documentation?
– 3.18 How do I use LD_RUN_PATH with OpenCOBOL?
– 3.19 What GNU build tool options are available when building OpenCOBOL?
• 4 Reserved Words
– 4.1 What are the OpenCOBOL RESERVED WORDS?
– 4.2 Does OpenCOBOL implement any Intrinsic FUNCTIONs?
– 4.3 Can you clarify the use of FUNCTION in OpenCOBOL?
– 4.4 What is the difference between the LENGTH verb and FUNCTION LENGTH?
2 CONTENTS
OpenCOBOL FAQ Documentation, Release 1.1.11
OpenCOBOL FAQ
CONTENTS 3
OpenCOBOL FAQ Documentation, Release 1.1.11
4 CONTENTS
CHAPTER
ONE
1.1 WHAT IS OPENCOBOL?
OpenCOBOL is an open-source COBOL compiler. OpenCOBOL implements a substantial part of the COBOL 85 and
COBOL 2002 standards, as well as many extensions of the existent COBOL compilers.
OpenCOBOL translates COBOL into C and compiles the translated code using the native C compiler. You can build
your COBOL programs on various platforms, including Unix/Linux, Mac OS X, and Microsoft Windows.
The most excellent OpenCOBOL Programmer’s Guide can be found at OpenCOBOL Programmers Guide.
5
OpenCOBOL FAQ Documentation, Release 1.1.11
6 Chapter 1. 1.1 What is OpenCOBOL?
CHAPTER
TWO
1.2 WHAT IS COBOL?
COBOL is an acronym for COmmon Business Oriented Language. This author has always thought of it as “Common
Business” Oriented more than Common “Business Oriented”, but that emphasis is perhaps up to the reader’s point of
view.
7
OpenCOBOL FAQ Documentation, Release 1.1.11
8 Chapter 2. 1.2 What is COBOL?
CHAPTER
THREE
1.3 HOW IS OPENCOBOL LICENSED?
The compiler is licensed under GNU General Public License.
The run-time library is licensed under GNU Lesser General Public License.
All source codes are copyright by the respective authors.
What that means, roughly, is:
You are allowed to write OpenCOBOL programs that use the libcob run time
library however you like. Closed, proprietary, commercial use is allowed
and encouraged. You can ship programs in binary form as you wish.
Modifications to the compiler itself, MUST provide access to source code and
be licensed under the GNU GPL. This ensures that no one is allowed to call
modified sources their own, nor deny anyone else the chance to copy and
re-distribute the compiler source code, including your local changes.
Please note: any verion of the compiler that is configured to use Berkeley DB
beyond version 1.85 must abide by the Oracle license and sources of the
COBOL programs that use libdb must be shipped with any binaries.
OpenCOBOL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
9
OpenCOBOL FAQ Documentation, Release 1.1.11
10 Chapter 3. 1.3 How is OpenCOBOL licensed?
CHAPTER
FOUR
1.4 WHAT PLATFORMS ARE
SUPPORTED BY OPENCOBOL?
OpenCOBOL 1.0 the current official release version, hosted on SourceForge.net, compiles on:
• All 32-bit MS Windows (95/98/NT/2000/XP)
• All POSIX (Linux/BSD/UNIX-like OSes)
• OS/X
OpenCOBOL 1.1, has been built on
• MS Windows native
• MS Windows with Cygwin
• GNU/Linux
• POSIX Systems including OpenSolaris
• OS/X
• AS/400
• HP Integrity HPUX 11.23
• RS600 AIX 5
• 390 Mainframe z/OS OMVS/USS
• others
11
OpenCOBOL FAQ Documentation, Release 1.1.11
12 Chapter 4. 1.4 What platforms are supported by OpenCOBOL?
CHAPTER
FIVE
1.5 ARE THERE PRE-BUILT
OPENCOBOL PACKAGES
Yes. Debian APT, and RPM packages exist. Packages for NetBSD. Many. Google opencobol packages for any late
breaking news.
A Debian Advanced Package Tool binary package exists for OpenCOBOL 1.0 as open-cobol and lists dependencies
of
• libc6 (>= 2.7-1),
• libcob1,
• libcob1-dev (= 1.0-1),
• libdb4.5 (>= 4.5.20-3),
• libdb4.5-dev,
• libgmp3-dev,
• libgmp3c2,
• libltdl3-dev,
• libncurses5 (>= 5.6+20071006-3)
Thanks to the gracious efforts of Bart Martens, bartm on Debian’s .org domain.
5.1 1.5.1 kiska.net repository
Also check out kiska.net for binary builds on various platforms. Thanks to Sergey Kashyrin.
5.2 1.5.2 sourceforge
There are OpenCOBOL links at http://cobol.sourceforge.net
In particular, http://sourceforge.net/projects/cobol/files/open-cobol/ can come in handy, with sources and MinGW
binaries at a mininum. Maybe more as time goes on.
13
OpenCOBOL FAQ Documentation, Release 1.1.11
14 Chapter 5. 1.5 Are there pre-built OpenCOBOL packages
CHAPTER
SIX
1.6 WHAT IS THE MOST RECENT
VERSION OF OPENCOBOL?
See What is the current version of OpenCOBOL?
15
OpenCOBOL FAQ Documentation, Release 1.1.11
16 Chapter 6. 1.6 What is the most recent version of OpenCOBOL?
CHAPTER
SEVEN
1.7 HOW COMPLETE IS OPENCOBOL?
OpenCOBOL 1.0 implements a substantial portion of COBOL 85, supports many of the advances and clarifications
of COBOL 2002, and includes many extensions in common use from Micro Focus COBOL, ACUCOBOL and other
existent compilers.
OpenCOBOL 1.1 implements a more substantial portion of the COBOL 85 Dialect, COBOL 2002 and a growing
number of vendor extensions. Some proposed COBOL 20xx features have also been implemented. Compatibility
support includes:
• MF for Micro Focus
• IBM for IBM compatibility
• MVS
• BS2000
OpenCOBOL also includes some advanced features allowing source code such as
CALL "cfunction" USING BY REFERENCE ADDRESS OF VAR-IN-LINKAGE-SECTION.
Passing the equivalent of char**, pointer to pointer to char. Just as a small example of the level of coverage and
flexibility provided by OpenCOBOL.
DISPLAY
FUNCTION UPPER-CASE(
FUNCTION SUBSTITUTE(
"This is the orginal string.";
"original"; "new"; "string"; "text"
)
)
END-DISPLAY
To allow for substitution of mixed length strings, something not normally so easy in COBOL. The above will output:
THIS IS THE NEW TEXT.
Note: While OpenCOBOL can be held to a high standard of quality and robustness, the authors DO NOT claim it to
be a “Standard Conforming” implementation of COBOL.
17
OpenCOBOL FAQ Documentation, Release 1.1.11
18 Chapter 7. 1.7 How complete is OpenCOBOL?
CHAPTER
EIGHT
1.8 WILL I BE AMAZED BY
OPENCOBOL?
This author believes so. For an open source implementation of COBOL, OpenCOBOL may surprise you in the depth
and breadth of its COBOL feature support, usability and robustness.
COBOL has historically been very secretive and low key. Its domain of use being very secretive and low key. COBOL
programmers rarely work on systems that would allow for open internet chat regarding details, let alone existence.
It is a tribute to the professionalism of these programmers that most people rarely, if ever, hear the name COBOL, a
programming language with billions of lines of source code compiled and in production around the world over half a
century.
OpenCOBOL is poised to change that historic trend, and allow for the long overdue sharing of wisdom that legions
of COBOL developers have accumulated over 50 years of success and failure. The OpenCOBOL conversation may
be more POSIX than mainframe, but there is now room to share, critique and pass on the hard lessons learned from
critical systems computing. Given that millions of COBOL programmers kept billions of lines of COBOL source
out of the press, surely some of the wisdom can be passed on in a way that keeps all the secrets secret while curious
developers are exposed to COBOL outside the vaults.
19
OpenCOBOL FAQ Documentation, Release 1.1.11
20 Chapter 8. 1.8 Will I be amazed by OpenCOBOL?
CHAPTER
NINE
1.9 WHO DO I THANK FOR
OPENCOBOL?
Many people. In particular Keisuke Nishida and Roger While.
See the THANKS file in the source code archive for more names of people that have worked on the OpenCOBOL
project. Roger points out that the list is woefully incomplete. To quote:
The OC project would not have been where it is today without the
significant/enormous help from many-many persons. The THANKS
file does not even do justice to this.
21
OpenCOBOL FAQ Documentation, Release 1.1.11
22 Chapter 9. 1.9 Who do I thank for OpenCOBOL?
CHAPTER
TEN
1.10 DOES OPENCOBOL INCLUDE A
TEST SUITE?
Why yes it does. 74 syntax tests, 170 coverage tests, and 16 data representation tests in the February 2009 pre-release.
88 syntax, 253 coverage, and 22 data tests in a 2010 cut.
From the development tarball:
$ make check
will evaluate and report on the test suite. See make check listing for a current output listing of a test run.
23
OpenCOBOL FAQ Documentation, Release 1.1.11
24 Chapter 10. 1.10 Does OpenCOBOL include a Test Suite?
CHAPTER
ELEVEN
1.11 DOES OPENCOBOL PASS THE
NIST TEST SUITE?
The National Institute of Standards and Technology, NIST, maintains a COBOL 85 implementation verification suite
of tests. An archive of the tests can be found at
http://www.itl.nist.gov/div897/ctg/cobol_form.htm
OpenCOBOL passes many of the tests included in the NIST sponsored COBOL 85 test suite. While it passes over
9000 of the tests, OpenCOBOL does not claim conformance to any level of COBOL Standard.
Instructions for use of the NIST suite is included in the build archive under:
tests/cobol85/README
Basically, it is a simple uncompress and make then sit back and relax. The scripts run OpenCOBOL over some 374
programs/modules and includes thousands of test passes.
Test Modules
------------
Core tests:
NC - COBOL nucleus tests
SM - COPY sentence tests
IC - CALL sentence tests
File I-O tests:
SQ - Sequential file I-O tests
RL - Relative file I-O tests
IX - Indexed file I-O tests
ST - SORT sentence tests
Advanced facilities:
IF - Intrinsic Function tests
With the addition of GLOBAL support, the OpenCOBOL 1.1 pre-release fails none of the attempted tests.
The summary.log from a run in February 2009:
------ Directory Information ------- --- Total Tests Information ---
Module Programs Executed Error Crash Pass Fail Deleted Inspect Total
------ -------- -------- ----- ----- ----- ---- ------- ------- -----
NC 92 92 0 0 4363 0 6 11 4380
25
OpenCOBOL FAQ Documentation, Release 1.1.11
SM 15 15 0 0 290 0 3 1 294
IC 24 24 0 0 246 0 4 0 250
SQ 81 81 0 0 512 0 6 81 599
RL 32 32 0 0 1827 0 5 0 1832
IX 39 39 0 0 507 0 1 0 508
ST 39 39 0 0 278 0 0 0 278
SG 5 5 0 0 193 0 0 0 193
OB 5 5 0 0 16 0 0 0 16
IF 42 42 0 0 732 0 0 0 732
------ -------- -------- ----- ----- ----- ---- ------- ------- -----
Total 374 374 0 0 8964 0 25 93 9082
26 Chapter 11. 1.11 Does OpenCOBOL pass the NIST Test Suite?
CHAPTER
TWELVE
1.12 WHAT ABOUT OPENCOBOL AND
BENCHMARKS?
COBOL has a legacy dating back to 1959. Many features of the COBOL standard provide defaults more suitable to
mainframe architecture than the personal computer a 3rd millennium OpenCOBOL developer will likely be using.
OpenCOBOL, by default, generates code optimized for big-endian hardware. Fairly dramatic speed improvements on
Intel architecture can come from simple USAGE IS COMPUTATIONAL-5 clauses in the DATA DIVISION.
12.1 1.12.1 telco billing
There is a benchmark posted at http://speleotrove.com/decimal/telco.html and thanks to Bill Klein [wmklein], there is
a COBOL entry. From the source code at http://home.comcast.net/~wmklein/DOX/TELCO.txt you should only have
to modify
Input-Output Section.
File-Control.
Select InFile Assign to
"C:expon180.1e6".
Select OutFile Assign to
"C:TELCO.TXT"
Line
Sequential.
to point to the correct filename for your local copy of the benchmark million entry file and a suitable OutFile name for
a clean compile and run.
In summary, the benchmark reads a large input file containing a suitably distributed list of telephone call durations
(each in seconds). For each call, a charging rate is chosen and the price calculated and rounded to hundreths. One or
two taxes are applied (depending on the type of call) and the total cost is converted to a character string and written to
an output file. Running totals of the total cost and taxes are kept; these are displayed at the end of the benchmark for
verification.
A run on an older pentium 4 and the million number file gave:
$ echo ’N’ | time ./telco
Enter ’N’ to skip calculations:
0.46user 1.08system 0:01.61elapsed 96%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+134776outputs (0major+345minor)pagefaults 0swaps
$ echo ’’ | time ./telco
Enter ’N’ to skip calculations:
11.37user 1.41system 0:12.95elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
27
OpenCOBOL FAQ Documentation, Release 1.1.11
24inputs+134776outputs (0major+360minor)pagefaults 0swaps
$ tail TELCO.TXT
35 D | 0.31 0.02 0.01 | 0.34
193 D | 1.73 0.11 0.05 | 1.89
792 L | 1.03 0.06 | 1.09
661 D | 5.91 0.39 0.20 | 6.50
44 L | 0.06 0.00 | 0.06
262 L | 0.34 0.02 | 0.36
-------------+----------------------------------------+-------------
Totals: | 922,067.11 57,628.30 25,042.17 | 1,004,737.58
Start-Time:09:37:23.93
End-Time:09:37:36.83
A more recent 1.1 pre-release, on a dual quad-core Xeon box running Linux SLES 10 64-bit:
35 D | 0.31 0.02 0.01 | 0.34
193 D | 1.73 0.11 0.05 | 1.89
792 L | 1.03 0.06 | 1.09
661 D | 5.91 0.39 0.20 | 6.50
44 L | 0.06 0.00 | 0.06
262 L | 0.34 0.02 | 0.36
-------------+----------------------------------------+-------------
Totals: | 922,067.11 57,628.30 25,042.17 | 1,004,737.58
Start-Time:21:40:48.52
End-Time:21:40:51.92
3.4 seconds cache-hot. Not bad.
28 Chapter 12. 1.12 What about OpenCOBOL and benchmarks?
CHAPTER
THIRTEEN
1.13 CAN OPENCOBOL BE USED FOR
CGI?
Yes. Through standard IO redirection and the extended ACCEPT ... FROM ENVIRONMENT ... feature, Open-
COBOL is more than capable of supporting advanced Common Gateway Interface programming. See How do I use
OpenCOBOL for CGI? for a sample Hello Web program.
For those developers looking to serve OpenCOBOL applications on hosted systems and no super user privileges, see
How do I use LD_RUN_PATH with OpenCOBOL? for some pointers.
29
OpenCOBOL FAQ Documentation, Release 1.1.11
30 Chapter 13. 1.13 Can OpenCOBOL be used for CGI?
CHAPTER
FOURTEEN
1.14 DOES OPENCOBOL SUPPORT A
GUI?
Yes, but not out of the box. There is not currently (February 2013) anything that ships with the product.
Third party extensions for Tcl/Tk and bindings for GTK+ do allow for graphical user interfaces. See Does Open-
COBOL support the GIMP ToolKit, GTK+? and Can OpenCOBOL interface with Tcl/Tk?.
14.1 1.14.1 GTK
The expectation is that GTK+ will be completely bound as a callable interface. That is currently (February 2013) not
the case, with perhaps 2% of the GTK+ functionality wrapped (but with that 2%, fully functional graphical interfaces
are possible).
14.2 1.14.2 Tcl/Tk
The Tcl/Tk engine is already quite complete but does place most of the burden of GUI development squarely on the
Tk side.
14.3 1.14.3 Vala, WebKit
Vala will also open up a quick path to GUI development with OpenCOBOL. There is already an embedded web
browser using the Vala bindings to WebKit. See Can OpenCOBOL interface with Vala? for a lot more details.
31
OpenCOBOL FAQ Documentation, Release 1.1.11
32 Chapter 14. 1.14 Does OpenCOBOL support a GUI?
CHAPTER
FIFTEEN
1.15 DOES OPENCOBOL HAVE AN
IDE?
Yes and no. There is no IDE that ships with the product. The add1tocobol team is currently (February 2013) at work
creating extensions for the GNAT Programming Studio. This is working out quite nicely and will likely be the IDE of
choice for the add1tocobol OpenCOBOL developers.
See Can the GNAT Programming Studio be used with OpenCOBOL? for more information.
There is also the Eclipse IDE and a major project for integrating COBOL but this will not be OpenCOBOL specific.
Many text editors have systems in place for invoking compilers. SciTE, Crimson Editor, vi and emacs to name but a
few of the hundreds that support edit/compile/test development cycles.
See Does OpenCOBOL work with make? for some information on command line compile assistance.
33
OpenCOBOL FAQ Documentation, Release 1.1.11
34 Chapter 15. 1.15 Does OpenCOBOL have an IDE?
CHAPTER
SIXTEEN
1.16 CAN OPENCOBOL BE USED FOR
PRODUCTION APPLICATIONS?
Depends. OpenCOBOL is still in active development. Feature coverage is growing, and while the current implemen-
tation offers great coverage, applicability to any given situation would need to analyzed and risks evaluated before
commitment to production use.
The licensing allows for commercial use, but OpenCOBOL also ships with notice of indemnity, meaning that there
are no guarantees when using OpenCOBOL, directly or indirectly.
There may be a time when commercial support of OpenCOBOL is offered, but at the time of writing no known offering
exists.
Search google just in case!
And yes, OpenCOBOL is used in production environments.
From [Roger]:
Incidentally, OC has been (and still is) used in production
environments since 2005.
(This includes projects that I personally worked on plus other
projects reported to me; these worldwide)
The OC project would not have been where it is today without the
significant/enormous help from many-many persons. The THANKS
file does not even do justice to this.
16.1 1.16.1 Nagasaki Prefecture
Reported on opencobol.org, The Nagasaki Prefecture, population 1.44 million and 30,000 civil employees is using
OpenCOBOL in support of its payroll management system. A team of 3 ported and maintain a suite of 200 COBOL
programs, mingled with Perl and specialized reporting modules, running on Nec PX9000 big iron and Xeon servers.
16.2 1.16.2 Stories from Currey Adkins
Another post from opencobol.org in April 2009, reprinted with permission.
OpenCOBOL viability
For those concerned about the viability of OpenCOBOL in a production
35
OpenCOBOL FAQ Documentation, Release 1.1.11
environment, I offer our situation as an example.
We started loading OpenCOBOL to a Debian (Etch) Parisc box in mid March. With
some valuable help from this forum we were up and running in a few days.
We then explored the CGI capabilities and moved our home-brewed CGI handler
(written in HP3000 Cobol) over. We ended up changing only a few lines.
As Marcr’s post indicates, we found a MySql wrapper and made some minor
changes to it.
Starting the second week in April we were in full development of new systems
for commercial use.
Please accept our congratulations to the community and our gratitude for the
help from the forum.
jimc
Another reference by Jim, some 6 months later in February 2010, which seems to be enough time for any rose-coloured
glass effect to have worn off if it was going to.
For our part, the answer is yes.
You may want to read an earlier thread about this. Search on OpenCOBOL
viability.
Having worked with Cobol since the 1960’s, my mindset is that no
conversion is automatic.
In our case we are not converting from a specific dialect like MF,
but instead are either writing entirely new systems or are changing
features (making them web based for example) in older systems.
There are some identified failures in OpenCOBOL execution that have
been discussed in this forum. We have found them to be inconsequential
and simply work around them. Then again I do not remember working with
a bug-free compiler.
Our environment is Debian Linux, OpenCOBOL 1.1, MySQL, ISAM (the one
provided with the 1.1 prerelease), HTML (via CGI) and a new PreProcessor
to relieve the tedium of writing SQL statements.
If you have some "nay sayers" in your organization and would like some
support I will be happy to speak with them.
jimc
I hope people don’t mind a little advertising in this FAQ, but Jim has done a lot for OpenCOBOL and his company is
a community minded company. http://www.curreyadkins.com
16.3 1.16.3 Public Accounting
Another from opencobol.org
36 Chapter 16. 1.16 Can OpenCOBOL be used for production applications?
OpenCOBOL FAQ Documentation, Release 1.1.11
As part of an initial study of COBOL compilers for finding an alternative to
that of MicroFocus, OpenCobol was selected to develop a model for the
compilation of a public accounting package (1.5 million lines).
The model had to validate this choice, including with the use of sequential
indexed files, with OpenCobol version 0.33 and small adjustments to the COBOL
code (mainly using reserved keywords and keywords not implemented).
After the functional qualification of this model, the software is in production
since July, 2011 under Linux RedHat Enterprise Linux 4 Advanced Server 32-bit
virtualized environment VMWARE ESX - 4 GB of RAM - processor dual AMD Opteron
6176 (tm).
The software package is deployed for 650 users whose 150 connected
simultaneously, at the peaks of activity and in comparison with the previous
platform on AIX 4.3 and MicroFocus, performance gain is in a report, at best,
1-10 (batch of exploitation of entrustment), at worst, 1 to 4 (batch of
recalculation).
With the rise of the package version, a functional validation is in progress
since September 2011 with OpenCobol version 1.1 under Linux RedHat Enterprise
Linux 5 Advanced Server 64-bit and dual Quad-Core AMD Opteron 8356 (tm)
processor. No loss of performance related to the new version of OpenCobol (but
related to the package of 10% to 20% loss) after campaign in the two
environments.
16.3. 1.16.3 Public Accounting 37
OpenCOBOL FAQ Documentation, Release 1.1.11
38 Chapter 16. 1.16 Can OpenCOBOL be used for production applications?
CHAPTER
SEVENTEEN
1.17 WHERE CAN I GET MORE
INFORMATION ABOUT COBOL?
The COBOL FAQ by William M Klein is a great place to start.
A google of the search words “COBOL” or “OpenCOBOL” are bound to lead to enough days worth of reading of
in-depth articles, opinions and technical information to satisfy the greatest of curiosities.
The COBUG site COBOL User Groups is also a wonderful resource for OpenCOBOL developers.
This is highly subject to change, but currently (February 2013) a Draft of 20xx is available at
http://www.cobolstandard.info/j4/index.htm and in particular http://www.cobolstandard.info/j4/files/std.zip
Note: While OpenCOBOL can be held to a high standard of quality and robustness, the authors DO NOT claim it to
be a “Standard Conforming” implementation of COBOL.
39
OpenCOBOL FAQ Documentation, Release 1.1.11
40 Chapter 17. 1.17 Where can I get more information about COBOL?
CHAPTER
EIGHTEEN
1.18 WHERE CAN I GET MORE
INFORMATION ABOUT OPENCOBOL?
The opencobol.org website is probably the best place to find out more about the OpenCOBOL system.
add1tocobol.com is a place to find out about a few of the fan initiatives. (An older archive has been stashed at
http://oldsite.add1tocobol.com)
18.1 1.18.1 The OpenCOBOL Programmer’s Guide
A very well written and masterful OpenCOBOL reference and COBOL development guide. By Gary Cutler, Open-
COBOL Programmers Guide.
41
OpenCOBOL FAQ Documentation, Release 1.1.11
42 Chapter 18. 1.18 Where can I get more information about OpenCOBOL?
CHAPTER
NINETEEN
1.19 CAN I HELP OUT WITH THE
OPENCOBOL PROJECT?
Absolutely. Visit the opencobol.org website and either post a message asking what needs to be done, or perhaps join
the development mailing list to find out the current state of development. See Is there an OpenCOBOL mailing list?
for some details. OpenCOBOL is a GPL licensed open source project and while [Roger] is the lead developer he is
quite open to code submissions. Having a central point of development allows for consistency and the very high level
of quality control enjoyed by OpenCOBOL users.
19.1 1.19.1 Translation Efforts
A new project has started to see native language support in the cobc compile and run-time systems. Please see
http://www.opencobol.org/modules/newbb/viewtopic.php?topic_id=1127&forum=1 for details if you think you can
help.
Hi folks!
We’re starting to translate upcoming versions into different
languages. The necessary code changes for OC 2.0 were already done.
Now we need translators.
Before posting every stuff here I want to gather the translators
here. Who is able and willing to translate the strings (currently 667)
into what language(s)
[or has somebody who does this]?
From the last discussions I remember people wanting to do this for
French, Italian, Spanish, German but I don’t remember who exactly said
that he/she will help. We already have a Japanese translation, but
that needs an heavy update.
...
43
OpenCOBOL FAQ Documentation, Release 1.1.11
44 Chapter 19. 1.19 Can I help out with the OpenCOBOL project?
Other documents randomly have
different content
Det er Lillejuleaften,
det er Lillejuleaften,
og et Brus af fjerne Minder
jager Blod til mine Kinder,
— dem, den fattige Polarnat havde bleget.
Jeg er sær og syg til Mode,
kunde gerne grædt og skreget
over Smærter i mit Ho'de,
for jeg længes, saa min Hjerne bliver svimmel,
og mit Livshaab slukner som en bristet Klode ...
Der er Taage over Fjældet,
der er Slør for Aftnens Himmel,
og jeg ligger, overvældet
af de gamle Minders Brus,
tavs i Angmalor'toks Hus.
Det er Lillejuleaften,
det er Lillejuleaften ...
Hvordan lever I derhjemme? —
Aa, om jeg dog kunde glemme — —
Nøgen ligger jeg paa Fælgen,
og min Vært, som ser mig lide,
siger: »Det er vist paa Tide
at faa givet dig lidt Foer!«
Og jeg ser ham trække Bælgen
af en Blaaræv, Dagens Fangst;
den blir kogt og, Gud skal vide,
jeg er slunken som en Slange,
Gulvet er vort Spisebord,
og jeg spiser,
mens han viser
mig den Gunst at nynne Sange,
først et Par og siden mange;
— men min Sult er stadig stor,
og hans Kone spytter Spæk
paa en optøet Narhvalshjerne,
paa en optøet Narhvalshjerne,
for hun under mig saa gerne
denne lækre Juleret.
Endelig blir jeg da mæt —
og min Svimmelhed er væk,
— Taagen med; nu har vi Blæst —
og jeg sover mig fra Længsel hjem og Angst,
mens Fru Angmalor'tok, venlig mod sin Gæst,
nytter Tiden til en heldig Lyske-Fangst ...
VI
Saa tyst stod aldrig Fjældene om Fjorden
og aldrig Stjernerne saa vemodsfulde
og Sneen ingen Tid saa hvid af Kulde
som nu ved Jul. Og der er Fred paa Jorden.
Selv er af Fred og Vé jeg sært bevæget,
kan ikke være ude, ikke inde,
min Sjæl er fyldt af Julens fjerne Minde,
og Vunder bløder, som jeg troede læged.
Og rundt i Verden fejres Juledrømmen,
og alle Hjærter næste-kærligt bløder.
— Snart er vel Julens Baal kun slukne Gløder,
og Hjærtet gaar igen saa jævnt med Strømmen.
Men der var Tider, da jeg ærligt troede
paa Julens store Fredsbudskab i Folket,
— forlængst har Verden Loven omfortolket,
og Julen er nu blot en gammel Mode.
Rørte til Gavmildhed, som Lammets Hyrde,
er alle Menneskenes Millioner —
men kun saa længe Klokken højtids-toner,
Dagen derefter stjæle de og myrde ...
Og dog stod aldrig Fjældene om Fjorden
og aldrig Himlens Lys saa højtidsfulde
som nu i denne Nat, saa hvid af Kulde,
thi det er Jul. Og der er Fred paa Jorden ...
VII
Nej, det er altfor skøn en Nat,
og jeg kan ikke sove,
Fjældkæderne har Linjer
som danske Bøgeskove.
Som Udhugst-Lysninger blandt Trær
staar istids-fødte hvide Brær
i sælsomt livløst Maaneskær —
et Snitværk af Sølv-Filigran,
som tier dødt. Her lever Pan ...
VIII
Jeg har saa ung en Glæde
bare ved at træde
mit Fodtrins lette Spor
paa den sne-tilføgne Jord.
Min Sjæl er tavs af Lykke,
jeg kaster ingen Skygge
i denne dejlige Nat
fredfyldt og lysforladt.
Min Hjerne har ej Tanker,
og Livet ingen Skranker ...
Over Himlen de funklende Stjerneskud strøs,
her gaar jeg saa lykkelig skyggeløs.
IX
Maane og skyfrit og en Snes Kuldegrader!
Nu har vi Nyaar efter Almanakken,
hjemme er Vrimlen en gensidig Takken,
en Ønsken Godt-Aar selv for dem, man hader,
et Mundsvejr blot af tyndslidte Tirader,
en Brev-Hob Falskhed, bragt paa Kaffe-Bakken,
— aa, Gudskelov, jeg kasted Selskabsfrakken,
da Luften blev mig kvalm i vore Gader ...
Mit Nyaar nævnes aldrig i Kalender,
det kommer uanmældt og uformodet
en skønne Dag, naar noget sælsomt hænder:
de Stunder, da mit Selv sanddru erkender
og rejser Viljen, lutrer Hjærteblodet,
da blir en Nyaars-Kvist mit Træ indpodet.
X
Der er ikke et Træ, som tør Pollandet gæste,
end ikke den usleste Busk finder Fæste,
— men hjemme staar Graner paa goldeste Banke
hvidpudrede ranke.
Jeg drømmer mig hjemme, ser Raabukken springe
og lytter til flaksende Fuglevinge,
jeg følger i Snedriven Muldvarpens Stier,
jeg lytter og tier.
Jeg har en Veninde, vi elsker begge
at suse paa Skøjter langs klukkende Bække,
og ud ad de barfrosne Veje vi gaar
med Rimløv i Haar.
Nu gaar hun alene. Jeg sidder som bundet,
maaske er mit Timeglas snart udrundet.
Jeg sanser kun Mad, baade god og slet,
og jeg er saa træt ...
XI
Min Livskraft ligger i Dvale,
alle mine Tanker er gaaet i Hi.
Nu drager den store Nat forbi
de slumrende Fjælde og Dale.
Jeg ligger som dybt i Dvale.
Min Sjæl er sløv som en Larve,
den sanser ej længer sin vante Strid,
den sover sig frem til Lysets Tid,
hvor den skal faa Liv og Farve.
Min Sjæl er en jordbunden Larve.
Jeg tror, Genfødelsen kommer.
Naar Vinterens Nattemulm er forbi,
skal Larven blive sommerfugle-fri
med al den flyvende Sommer.
Jeg véd jo, Genfødelsen kommer.
XII
Tidt tror jeg min Ungdoms livssvulmende Lilje
udblomstret og gold,
mit følsomme Hjærteblod omstøbt til Vilje
og Hjernen is-kold,
skarpt ser mine Øjne, som før var forblindet,
min Manddomsvej ligger belyst ud ad Vildnissets
skyggende Løv.
Mit Øre
kan høre
hver varslende Rytme, hvert dryssende Støv,
klart véd jeg, hvorhen al min Stræben skal føre,
men tidt gaar en hjælpeløs Sorg mig i Sindet:
Jeg er kun et Frø,
som skal dø.
Hvad er vel mit Livsværk mig, selv om jeg sejrrig
til Kampmaalet naar?
Vandt Livet, der udrandt i vekslende Vejrlig,
ublidere Kaar?
Og hvad er det værd, hvis jeg Maalet forfejler?
Gik ikke i maalbevidst Trang og Ærgerrighed
Ungdommen tabt?
— Men bygge
min Lykke
paa Ungdom, dertil var min Sjæl ikke skabt;
jeg savner det Stof, som gør Mennesker trygge.
— O, Ungdomsaar! Jeg er en ydmyget Bejler,
der angrer, at I
gled forbi!
Jeg angrer hver Klogskab, der førte til Handling.
Er Ungdommen klog?
Nej, Ungdom er Afsind og evig Forvandling
og hensynsløst Sprog.
Den Gang, jeg var ung med de yngste, som kendtes,
da sad jeg indspundet i taktfuld, forkrøblende
j g p ,
Slægts-Pietet.
Jeg vilde
ved stille
udadlelig Flid vinde mere end sket.
Først nu er jeg fri. O, men er det for silde
forynget at leve de Drømme, som sendtes,
da Haabet var sundt,
Verden rundt!
XIII
Der er en Higen i hver Drøm, jeg digter,
ud til et blodrigt Liv i sære Egne,
en Udvé, som gaar alle vide Vegne
til Fjæld og Skov, frigjort for trange Pligter,
hvor Fugl og Dyr er Maal, hvortil jeg sigter.
— Der er saa mange Præmie-Sjæle til,
o, lad mig altid være ung og vild!
Og lad mig aldrig, ivrig efter »Ære«,
min egen ranke Nakke ydmygt bøje
— hellere med det lidet lade mig nøje
end tækkes Krybet i en højere Sfære,
hvor der er smitsomt for min Sjæl at være.
Saa mangen Radikal blir Snob ad Aare,
o, lad mig altid være ung og Daare!
XIV
Der er ikke et Menneske, fjern eller nær,
som véd, hvilken Grøde mit Sjæledyb bær,
jeg kalde jer Hustru, Far eller Ven,
I véd, hvad jeg hedder, og hvor jeg gaar hen,
men Driften, som hidser mig, kender I den?
Tidt véd jeg knapt selv, om min Saasæd gir Frugt.
Hvem er jeg? Hvad vil jeg af hæsligt og smukt?
Jeg véd kun, og det har med Kvide jeg lært,
at Menneskelivet er bitterlig svært
og Mennesket selv af omtvisteligt Værd.
Jeg er i den vide Verden kun én,
hvorhen jeg saa færdes, i Fryd eller Mén,
kun ene og ensom, en tillukket Grav,
hvor strømmende Ord mine Læber saa gav,
en Sjæl, der er tavs med sit dybeste Krav.
Og enten jeg lever, hvor Larmen er stor,
eller gemmer mig bort i det tavseste Nord,
hvad enten jeg længes fra Mylret mod Fred
eller higer mod Liv fra mit Skjulested,
jeg er dog kun én i al Evighed.
En venneløs gaar jeg i Fjendekrig,
og fjenderig møder jeg Vennesvig,
selv sviger jeg, stejl af den Ensommes Magt,
den Ven eller Fjende, der faar min Foragt
— og dømmer mig selv for hvert Ord, jeg har sagt.
Tidt knuger min ensomme Lod mig i Knæ,
jeg ønsker mig podet paa rodfæstet Træ,
men ofte — og mest naar jeg rammes brutalt —
da lukker min Sjæl sig, mit Skrig bliver kvalt,
men stærk er jeg bleven i godt som i galt.
XV
Jeg har grædt, naar en Spurv blev skudt ned,
naar jeg saa' et Insekt blive pint,
naar en Blomst, jeg holdt af, traadtes sønder,
og dens Hjærteblad skælvede fint.
Jeg har været et fængeligt Tønder
for hvad Skabningens Ringeste led,
jeg har ødslet med Kærlighed.
Jeg har næret min Pen med mit Blod,
naar jeg skrev om al Menneskenød,
om forskyldt eller skyldfri Elende
og dens Véraab paa Retfærd og Brød.
O, mit pulsende Blod kunde brænde,
og min følsomme Sjæl fatte Mod,
naar jeg stred for den Sag, jeg fandt god.
Det var den Gang, mit Hjærte var Ler
og min Tillid til Menneske-Værd
og min Tro paa mig selv uforfærdet,
da mit Liv laa i morgenrødt Skær.
Ak, men nu er mit Hjærte forhærdet
af de usle Bedrag, som det ser,
og nu tror jeg paa ingen Ting mer.
— Ja, en Gang har jeg inderlig grædt
ved al Skabningens Kummer og Nag,
men da selv jeg fik Pinslerne prøvet,
tog jeg graadløs de grusomme Slag.
Og nu taler mit Hjærte bedrøvet
kun i dæmpede Aandedrag,
men min Taare har rundet sig træt.
XVI
Jeg byder ej mit Venskab frem
til Per og Povl og alle dem,
der søger mine Stuer, min Tobak, mit Bord, min Vin,
men vandt du mig for dig og dit,
saa bliver du mig aldrig kvit,
da er jeg al min Levetid uforbeholden din.
Og den, der kalder mig sin Ven,
skal ærligt yde mig igen
et Alvorsord, en sund Kritik, ud af sin Hjærtebund,
og han skal taale min Protest,
naar han ej gir sig, sand og bedst,
thi den, hvis Hjærte aabnes ret, slaar ikke Laas for Mund.
En Kvinde kan jeg ofre alt:
min Daad, mit Hjærte, ubetalt,
og alt kan af en Kvinde jeg modtage hjærteløst.
Men Mand og Mand i Venskabspagt
har samme Pligt og lige Magt,
og han skal mig gengælde dyrt, som af min Sjæl har øst.
Men vandt du mig for dig og dit,
og tør du tale hensyns-frit
og elske mine Evner frem og kue mine Fejl,
da bliver du mig aldrig kvit,
da ejer du alt, som er mit,
ubrydelig vor Venskabspagt bær' Hjærtets Adels-Segl.
XVII
Mit Liv er planlagt frem til sene Stunder,
hvert Arbejd gennemtænkt i Hovedtrækket,
skal al Ting lykkes, maa der ske det Under,
at jeg blir hundred-aarig og usvækket.
Men er der muldfast dèr, hvor Roden bunder,
hvordan blir Stammen trøsket da og knækket!
Nej, jeg vil ikke dø den meningsløse
snigmorderiske Død af Sot og Syge,
Knald eller Fald! Og aldrig daadløs døse
i lunkent Sollys — hellere en Byge,
lad bare Stormen piske, Regnen øse,
og alle Lungepibere rejse og ryge!
I brat og voldsom Død har helst jeg villet
med denne dejlige Jord faa Afsked taget.
Paa ét Kort sat mit Liv — jeg vover Spillet,
men alle Kneb skal gælde, selv Bedraget,
og først naar alle Trumfer er udspillet,
slutter jeg af, livsmæt og højt bedaget.
Maaske, naar jeg blir gammel, kommer Gigten,
et Eftersmæk fra Liv i Baad og Slæde,
men aldrig skal jeg angre, at min Digten
drog mig langt udenfor den alfar Glæde.
Mit Liv er planlagt, dyrebar er Pligten,
o, lad mig hundred-aarig Jorden træde!
XVIII
Ja, jeg vil vorde Mand og fæste Rod
dybt i den jydske Muld, der var min Amme,
Jordens Safter skal stige i min Stamme,
forny mit Væv og nære mit Løv med Blod,
— ja, jeg vil dyrke Jorden grøn og god.
Min Sjæl er træt af fremmed, bjergfuld Strand
og længes hjem til Slettens Kløver og Tidsler,
til Heden helst, dèr hvor et Aaløb risler
det frodige Grønsvær frem af magert Sand,
stolt vil jeg dyrke Jord i eget Land.
Ja, jeg vil fæste Rod i Lyng og Klit
og klamre mig som Marehalm til Bunden,
at Havet ikke skal underskære Grunden,
men bruse mig for Øje tro og frit,
thi ene dette Hav og Land er mit!
XIX
Den Mand véd ikke, hvad Sol vil sige,
hvem den tilsmiler hver Dag i Aaret,
for ham er Sol det selvfølgelige,
men her i Pollandets Mørkerige,
hvor jeg maa leve, dens Lys beskaaret,
her faar jeg Solen smærtelig kær:
nu véd mit Øje, hvad Sol er værd.
XX
Giv mig Solen, aa, giv mig Solen
og lad mig gense de danske Strande,
hvor Natten skifter med solfyldt Dag,
og Himlen spejles i dybt-blaa Vande,
paa Marken Solsikken og Violen
og Lyd af Kornlærkers Vingeslag.
Giv mig Solen, aa, giv mig Solen,
en purpurglødende Morgenrøde
bag Ferskenblomsternes hvide Lin,
med sødlig Duft af en tropisk Grøde,
af Oleanderen og Magniolen,
af gul Orange og blaalig Vin.
Giv mig Solen, ja, giv mig Solen,
den skal fremelske Ungdom og Ynde,
jeg længes vanvittigt langt mod Syd,
dèr vil jeg aande og se og synde,
jeg hader Natmørket her ved Polen
og min Grav-Tilværelses golde Dyd.
Giv mig Solen, aa, giv mig Solen,
jeg sidder længsels-pint her og bier.
Hvordan er Verden? — fremdeles slet?
Har Kunsten udklækket ny Genier,
har Frihedskravet knust Kongestolen?
— aa, hvem der bare kom hjem til det!
XXI
Vi har atter Maanetid og Gæsteri
— ja, den Maane os med Mørkets Tid forsoner! —
Her er daglig et Par Slæder paa Visit,
for vi ligger netop paa en alfar Sti,
og her er en stadig livlig Bytten Koner,
det er svært at skelne mellem mit og dit
— akkurat som blandt de Kristnes Millioner!
Her kom nys Krajo'dak med sin Nabos Viv,
og med Agpalarsuar'suk kom Fru O'dak,
Husets allerbedste raadne Kød blir budt,
og man skynder sig at proppe i sit Liv,
mens Passiaren stiger som en lystig Krosnak,
og en høflig Vært gir Konen med til Slut,
og en høflig Gæst har blot at svare: Jo Tak!
XXII
Ja, lille søde Aini'nak,
du spørger, om Kvinderne hjemme
er ligesaa gode som her mod Nord
og Mændene ligesaa slemme?
Om Damer, lille Aini'nak,
tør ingen sin Mening sige.
Men Mændene er af et grumset Stof
og ikke just elskelige.
Jeg véd, at din Mand har slaaet dig,
jeg ser jo, din Kind bærer Skrammer,
— aa, stakkels lille Aini'nak,
hos os er der bitrere Jammer.
Du havde vel været ulydig
og nægtet ham, hvad han kan kræve,
— hos os er der tungere Vaaben
end den bare knyttede Næve.
Det véd du jo, lille Aini'nak,
snart læges din Smule Rift,
men Mændene hjemme i Danmark
de drypper i Saaret Gift.
Vi saarer med Øjets Staalblink
og Tungens bidende Odd,
med smaabitte haanske Skuldertræk
eller Tavshedens ætsende Braadd.
Saa lever vi Side om Side,
men dyrker dog hver sin Gud,
vi vælger helst det dulgte Bedrag
fremfor et ærligt Brud.
Nej, kære lille Aini'nak,
du, som er saa god og smuk,
du, som er saa god og smuk,
du kender ikke den Livsens Vé,
der bæver i Kvindesuk.
Og paa dit Spørgsmaal, Aini'nak,
svarer den fremmede Herre:
Kvinderne hjemme er bedre end her,
men Mændene meget værre!
Alene den lille Aini'nak,
der er sky som en opskræmmet Raa,
du er den eneste Kvindesjæl,
jeg blandt dine Søstre saa'.
XXIII
Vi grubler for meget og handler for lidt
og hugger hverandres Livsgerning i Splinter,
under Selv-Reflektionernes Mareridt
vi leger og kriges med Vitser og Finter,
men flytter os ikke et eneste Skridt,
dèr sidder de Skriftkloge højsæde-kry
og haaner hver Handlingens Mand og hans Ry.
Tidt væmmes jeg ved at tænke med Ord,
det er Tingene selv og ej deres Navne,
hvoraf jeg vil fyldes — som Barnet, der tror
uden at famle og føle og favne,
thi Ord er Bedrag, den Naive er stor;
mit slyngede, selv-reflekterende Jeg
skal blive én eneste lige Streg.
Saa vil jeg da bortkaste Tingenes Dragt,
min Tænkning skal være blot nøgen Beskuen,
jeg sanser kun Tingenes egen Magt
oprindeligt, ubevidst — Fjældet og Tuen —
og glemmer hvert Ord, der er skrevet og sagt;
jeg vil ikke mere studere mit Selv,
blot leve naivt under Himmelens Hvælv.
XXIV
Nu stiger Lyset,
Nat-Mørket brister,
og Kulde-Gyset
af Landet lister.
Rødlige Buer
af Dæmringens Straale
dirrer som Luer
bag Isblink-Naale.
Paa Sletten blegner
Skyggerne bort,
Fjældryggen tegner
sig skarp og sort.
Tarmrude-Lyset
taber sit Skær,
— nu flygter Gyset,
Dagen er nær.
XXV
Opbruds-Travlhed, Rejse-Iver,
raskt Farvel til dem, der bliver,
Tak for alt og Tak til Alle:
— se, dèr kommer En og giver
mig en lækker Hvalros-Lalle,
som han i sin Kødgrav fandt,
den er Rejseproviant;
og den største Tromme-Mand
forærer mig en Narhvalstand ...
— Afsked gør mig altid trist,
jeg blir helt beklemt tilsidst;
det er svært nok at forlade
disse gode, altid glade,
trofast hjælpsomme Eskimoer;
— hvad jeg haaber end og tror,
skal vi maaske aldrig ses ...
— Det er rart at se sit Værk
kronet af en fast, besluttet
Viljesytring; den gør stærk:
— jeg vil hjem, straks paa Minuttet!
— Hør, der snakkes og der les,
og jeg gir Signal til Spandet
og er snart langt væk fra Landet ...
Ja, nu gaar det atter hjemad,
men det gaar kun trælsomt fremad,
Maanen skjuler sig bag Taage,
Strømmen skærer mangen Vaage,
vi maa lejre os som bedst
midt i isnende Sydvest.
— Av, dèr »brændte« jeg min Næse,
fire Fingre og en Taa,
jeg har vaade Vanter paa
— og et Ur, jeg skal aflæse,
det er gaaet rent i Staa ...
»Her maa ties, her maa bies«,
jeg er bleven vant til Turen.
Mens min Hud i Frost afsvides,
støder Stormen fælt i Luren,
men tilsidst er den blæst træt,
i dens sidste Aandedræt
krydser vi den sidste Bræ,
gaar i Sne til over Knæ
og naar i Melville-Bugten
ud paa ny og let-kørt Is,
hvor vi følger langs en Rende,
— mere Kulde, mer Elende:
i Kamikken stivner Fugten,
Termometrets Kviksølv fryser —
men den hvide Maane lyser
gennem rimfyldt Kuldedis ...
Det gaar fremad,
vi naar hjemad,
og vi slider, angst-befriet,
hele Kuske-Kompagniet,
dansk og fremmed, døbt og Hedning,
elleve Mand om otte Læs,
elleve Mand, tre Snese Hunde,
lutter gridske Fraasemunde
om det samme frosne Kød,
— naa, vi lider ingen Nød,
og vi nærmer os vor Redning,
thi dèr henne
bag et Næs
kan Upernivik jeg kende!
Og vi kappes. Frem paa Fronten,
Sol er nær ved Horisonten!
— Ah dèr ser vi Spor af Bjørn
— Ah, dèr ser vi Spor af Bjørn,
Hundene blir rent beruste!
— Stolte Time, da vi suste
som en Flok kamplystne Børn
hen blandt Isens vilde Kaos,
— Fjæld ved Fjæld stod opmarscherte, —
Bjørnene slap ikke fra os,
snart laa to døds-harpunerte.
Selv blev vi paa Kampens Sted,
vi var hungrige og trætte,
laa og aad os tungnemt mætte,
den skrigvorne Mave fuld,
Hund og Herre,
— men desværre
Hundene aad Skindet med ...
Pyt! Med Skind og røden Guld,
hvad er Guld mod Morgenskær:
se, vi møder Solen her,
se, derude staar den røde
Solgud op af Vinterdvale,
alle Iskrystaller gløde,
— og vi gaar vort Hjem i Møde,
og vi staar og ser og ser
— længe — — og kan ikke tale — —
TILBAGEKOMST
Saa kom det store Øjeblik,
da vi igen var fremme;
dèr laa de kendte Huse,
vi følte os som hjemme.
Der fløj et Dannebrog til Tops,
og Hytten syntes os et Slot,
— aa, disse kære Farver,
hvor gjorde de dog godt!
Nu traadte vi i Stuen ind,
vor syge Ven blev baaret,
saa rørende en Velkomst
blev aldrig os beskaaret.
I Ovnen brændte festligt Baal,
og mange hvide Lys stod tændt,
— vi maatte alle tie
med Ansigtet bortvendt.
Saa drak vi da et godt Glas Vin
og smagte Fruens Kage,
vi skal nok aldrig glemme
den Stund, vi kom tilbage;
det sagde ogsaa O'sakrak,
da han af Hvedebrødet bed:
— »Ja, nu kan jeg begribe,
I længtes svært herned!« ...
Men laa der intet Brevskab gemt?
— min Puls tog til at banke,
den store Post fra Danmark
var aldrig af min Tanke.
— Nej! Ingen Hilsen, intet Bud!
da blev mit Hjærte koldt som Is,
saa har I Stakler hjemme
vel frygtet vort Forlis! ...
S j k k K Sj l
Se — jeg er karsk paa Krop og Sjæl,
og vi skal atter mødes,
og af vor Gensyns-Lykke
skal ny Værdier fødes.
Og er endnu min Hjemvej lang,
og faar jeg ingen Breve,
aa Gud, om vi naar sammen,
hvor smukt skal vi da leve!
LIV
Ja, Livet er dejligt, og Livet er langt
for den, som har Sans til at leve det ret,
men hjemme dèr gaar vi og har det saa trangt,
naar Udlængslen snører vort Aandedræt.
— Den Solsort og Lærke og Gøg sang forgæves,
jeg gad ikke se Bekkasinen i Mose,
af Lyngblomst og Rose
var længst jeg træt,
var vammel ved Troskab, forbitret af Svig,
men Verden derude var stor og rig,
og kostelige Skatte skulde hæves.
Saa traadte min Fod den forjættede Muld,
og dejligt var Livet, hvorhen jeg end foer,
men ikke alt det, som glimred, var Guld,
og tidt blev der øde, hvor jeg satte Spor.
Snart sang jeg, snart græd jeg — og fandt ikke Skatten,
min Sjæl blev bekymret — hvor gemtes vel Lykken?
saa sejled fra Bryggen
jeg længst mod Nord,
dèr leved jeg rigt i en livsforladt Egn,
dèr inddrak min Sjæl sin befrugtende Regn
og skjalv dog for Mørket og Natten.
Da kom der en stormfuld, oprivende Tid,
for første Gang fik jeg mig selv endevendt,
— dèr stod jeg saa sort, hvor jeg før var hvid,
nu først fik den rette Kulør jeg bekendt ...
Vi tumler i Rummet som vildsomme Sole
og véd hverken ud eller ind med vor Bane,
kan slet ikke ane,
hvordan den var endt,
men just som det hvirvlende Vejr vil opsluge os,
faar vi Tag i os selv, nu kan Livet bruge os —
Livet, den kostelige Skole!
—
Og det blev just Skatten, den Vildfarne fandt
dèrude, hvorhen alle Længsler ham drog,
at Fred til en Selv-Omvurdering han vandt,
og læged blev Vunderne, Livet ham slog.
Det dyrebart dejlige Liv, det, som frister
og drager langt bort fra de hjemlige Kyster
til vovsomme Dyster
afsindig og klog.
Ja, Livet er farligt og dejligt og dyrt,
og Lysten til Livet en adelig Byrd,
hvad enten det bær eller brister.
—
Du dejlige Liv, som jeg nu har forladt,
du dejlige Liv, som jeg drager imod
fra Pollandets nordlys-forsølvede Nat
til Foraar med Midnatssols gyldne Flod!
Jeg aander saa henrykt befriet mod Verden,
fjernt borte fra hilser mig hjemlige Vinde,
jeg har en Veninde —
og træt er min Fod —
ja, dejligt er Livet i Fare og Flugt,
men dejligst af alt, som er dejligt og smukt,
er altid min Hjemkomst fra Færden!
*** END OF THE PROJECT GUTENBERG EBOOK ISBLINK: DIGTE FRA
DEN GRØNLANDSKE POLARREGION ***
Updated editions will replace the previous one—the old editions
will be renamed.
Creating the works from print editions not protected by U.S.
copyright law means that no one owns a United States copyright
in these works, so the Foundation (and you!) can copy and
distribute it in the United States without permission and without
paying copyright royalties. Special rules, set forth in the General
Terms of Use part of this license, apply to copying and
distributing Project Gutenberg™ electronic works to protect the
PROJECT GUTENBERG™ concept and trademark. Project
Gutenberg is a registered trademark, and may not be used if you
charge for an eBook, except by following the terms of the
trademark license, including paying royalties for use of the
Project Gutenberg trademark. If you do not charge anything for
copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such
as creation of derivative works, reports, performances and
research. Project Gutenberg eBooks may be modified and
printed and given away—you may do practically ANYTHING in
the United States with eBooks not protected by U.S. copyright
law. Redistribution is subject to the trademark license, especially
commercial redistribution.
START: FULL LICENSE
THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK
To protect the Project Gutenberg™ mission of promoting the free
distribution of electronic works, by using or distributing this work
(or any other work associated in any way with the phrase
“Project Gutenberg”), you agree to comply with all the terms of
the Full Project Gutenberg™ License available with this file or
online at www.gutenberg.org/license.
Section 1. General Terms of Use and
Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand,
agree to and accept all the terms of this license and intellectual
property (trademark/copyright) agreement. If you do not agree
to abide by all the terms of this agreement, you must cease
using and return or destroy all copies of Project Gutenberg™
electronic works in your possession. If you paid a fee for
obtaining a copy of or access to a Project Gutenberg™ electronic
work and you do not agree to be bound by the terms of this
agreement, you may obtain a refund from the person or entity to
whom you paid the fee as set forth in paragraph 1.E.8.
1.B. “Project Gutenberg” is a registered trademark. It may only
be used on or associated in any way with an electronic work by
people who agree to be bound by the terms of this agreement.
There are a few things that you can do with most Project
Gutenberg™ electronic works even without complying with the
full terms of this agreement. See paragraph 1.C below. There are
a lot of things you can do with Project Gutenberg™ electronic
works if you follow the terms of this agreement and help
preserve free future access to Project Gutenberg™ electronic
works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright
law in the United States and you are located in the United
States, we do not claim a right to prevent you from copying,
distributing, performing, displaying or creating derivative works
based on the work as long as all references to Project Gutenberg
are removed. Of course, we hope that you will support the
Project Gutenberg™ mission of promoting free access to
electronic works by freely sharing Project Gutenberg™ works in
compliance with the terms of this agreement for keeping the
Project Gutenberg™ name associated with the work. You can
easily comply with the terms of this agreement by keeping this
work in the same format with its attached full Project
Gutenberg™ License when you share it without charge with
others.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.
1.E. Unless you have removed all references to Project
Gutenberg:
1.E.1. The following sentence, with active links to, or other
immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project Gutenberg™
work (any work on which the phrase “Project Gutenberg”
appears, or with which the phrase “Project Gutenberg” is
associated) is accessed, displayed, performed, viewed, copied or
distributed:
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it
away or re-use it under the terms of the Project Gutenberg
License included with this eBook or online at
www.gutenberg.org. If you are not located in the United
States, you will have to check the laws of the country where
you are located before using this eBook.
1.E.2. If an individual Project Gutenberg™ electronic work is
derived from texts not protected by U.S. copyright law (does not
contain a notice indicating that it is posted with permission of
the copyright holder), the work can be copied and distributed to
anyone in the United States without paying any fees or charges.
If you are redistributing or providing access to a work with the
phrase “Project Gutenberg” associated with or appearing on the
work, you must comply either with the requirements of
paragraphs 1.E.1 through 1.E.7 or obtain permission for the use
of the work and the Project Gutenberg™ trademark as set forth
in paragraphs 1.E.8 or 1.E.9.
1.E.3. If an individual Project Gutenberg™ electronic work is
posted with the permission of the copyright holder, your use and
distribution must comply with both paragraphs 1.E.1 through
1.E.7 and any additional terms imposed by the copyright holder.
Additional terms will be linked to the Project Gutenberg™
License for all works posted with the permission of the copyright
holder found at the beginning of this work.
1.E.4. Do not unlink or detach or remove the full Project
Gutenberg™ License terms from this work, or any files
containing a part of this work or any other work associated with
Project Gutenberg™.
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com

More Related Content

ODT
Log4 C Developers Guide
PDF
eclipse.pdf
PDF
textconfig
PDF
The_Linux_Users_Guide.pdf
PDF
Software guide 3.20.0
PDF
programación en prolog
PDF
Linux System Programming 1st Edition Robert Love
PDF
Swi prolog-6.2.6
Log4 C Developers Guide
eclipse.pdf
textconfig
The_Linux_Users_Guide.pdf
Software guide 3.20.0
programación en prolog
Linux System Programming 1st Edition Robert Love
Swi prolog-6.2.6

Similar to Opencobol Faq Documentation Release 1111 Brian Tifn (20)

PDF
Embedded linux barco-20121001
PDF
Aws MLOps Interview Questions with answers
PDF
PDF
Systems se
PDF
Sbt tutorial
PDF
Gary test
PDF
Manual quagga
PDF
CYB 130 Education Specialist |tutorialrank.com
PDF
S Pii Plus+C+Library+Programmer+Guide
PDF
S Pii Plus+C+Library+Programmer+Guide
PDF
Brian.suda.thesis
PDF
PDF
The Function Pointer Tutorials
PDF
Machine Vision Toolbox for MATLAB (Relese 3)
PDF
IBM Ported Tools for z/OS: Perl for z/OS Feature User’s Guide and Reference
PDF
Rapport stage ingenieur (2017)
PDF
Pragmatic Version Control Using Subversion 1st Edition Mike Mason
PDF
PDF DevOps with OpenShift 1st Edition Mike Hepburn download
PDF
(Manual) auto cad 2000 visual lisp tutorial (autocad)
PDF
Ubuntu manual
Embedded linux barco-20121001
Aws MLOps Interview Questions with answers
Systems se
Sbt tutorial
Gary test
Manual quagga
CYB 130 Education Specialist |tutorialrank.com
S Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+Guide
Brian.suda.thesis
The Function Pointer Tutorials
Machine Vision Toolbox for MATLAB (Relese 3)
IBM Ported Tools for z/OS: Perl for z/OS Feature User’s Guide and Reference
Rapport stage ingenieur (2017)
Pragmatic Version Control Using Subversion 1st Edition Mike Mason
PDF DevOps with OpenShift 1st Edition Mike Hepburn download
(Manual) auto cad 2000 visual lisp tutorial (autocad)
Ubuntu manual
Ad

Recently uploaded (20)

PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Classroom Observation Tools for Teachers
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Yogi Goddess Pres Conference Studio Updates
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
01-Introduction-to-Information-Management.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Cell Types and Its function , kingdom of life
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
A systematic review of self-coping strategies used by university students to ...
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Classroom Observation Tools for Teachers
STATICS OF THE RIGID BODIES Hibbelers.pdf
Yogi Goddess Pres Conference Studio Updates
Chinmaya Tiranga quiz Grand Finale.pdf
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
human mycosis Human fungal infections are called human mycosis..pptx
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Final Presentation General Medicine 03-08-2024.pptx
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
01-Introduction-to-Information-Management.pdf
VCE English Exam - Section C Student Revision Booklet
Computing-Curriculum for Schools in Ghana
Cell Types and Its function , kingdom of life
Ad

Opencobol Faq Documentation Release 1111 Brian Tifn

  • 1. Opencobol Faq Documentation Release 1111 Brian Tifn download https://ebookbell.com/product/opencobol-faq-documentation- release-1111-brian-tifn-23632990 Explore and download more ebooks at ebookbell.com
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. Opencobol Faq Documentation Release 1111 Brian Tifn https://ebookbell.com/product/opencobol-faq-documentation- release-1111-brian-tifn-23632990
  • 3. OpenCOBOL FAQ Documentation Release 1.1.11 Brian Tiffin February 25, 2013
  • 5. CONTENTS 1 1.1 What is OpenCOBOL? 5 2 1.2 What is COBOL? 7 3 1.3 How is OpenCOBOL licensed? 9 4 1.4 What platforms are supported by OpenCOBOL? 11 5 1.5 Are there pre-built OpenCOBOL packages 13 5.1 1.5.1 kiska.net repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.2 1.5.2 sourceforge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6 1.6 What is the most recent version of OpenCOBOL? 15 7 1.7 How complete is OpenCOBOL? 17 8 1.8 Will I be amazed by OpenCOBOL? 19 9 1.9 Who do I thank for OpenCOBOL? 21 10 1.10 Does OpenCOBOL include a Test Suite? 23 11 1.11 Does OpenCOBOL pass the NIST Test Suite? 25 12 1.12 What about OpenCOBOL and benchmarks? 27 12.1 1.12.1 telco billing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 13 1.13 Can OpenCOBOL be used for CGI? 29 14 1.14 Does OpenCOBOL support a GUI? 31 14.1 1.14.1 GTK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 14.2 1.14.2 Tcl/Tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 14.3 1.14.3 Vala, WebKit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 15 1.15 Does OpenCOBOL have an IDE? 33 16 1.16 Can OpenCOBOL be used for production applications? 35 16.1 1.16.1 Nagasaki Prefecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 16.2 1.16.2 Stories from Currey Adkins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 16.3 1.16.3 Public Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 i
  • 6. 17 1.17 Where can I get more information about COBOL? 39 18 1.18 Where can I get more information about OpenCOBOL? 41 18.1 1.18.1 The OpenCOBOL Programmer’s Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 19 1.19 Can I help out with the OpenCOBOL project? 43 19.1 1.19.1 Translation Efforts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 20 1.20 Is there an OpenCOBOL mailing list? 45 21 1.21 Where can I find more information about COBOL standards? 47 22 1.22 Can I see the OpenCOBOL source codes? 49 22.1 1.22.1 What was used to color the source code listings? . . . . . . . . . . . . . . . . . . . . . . . . 49 23 1.23 What happened to opencobol.org? 51 24 1.24 What is COBOL in Latin? 53 25 1.25 Do you know any good jokes? 55 25.1 1.25.1 A 5-7-5 haiku? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 26 2 History 57 26.1 2.1 What is the history of COBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 26.2 2.2 What are the Official COBOL Standards? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 26.3 2.3 What is the development history of OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . 58 26.4 2.4 What is the current version of OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 27 3 Using OpenCOBOL 61 27.1 3.1 How do I install OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 27.2 3.2 What are the configure options available for building OpenCOBOL? . . . . . . . . . . . . . . . 64 27.3 3.3 Does OpenCOBOL have any other dependencies? . . . . . . . . . . . . . . . . . . . . . . . . . 66 27.4 3.4 How does the OpenCOBOL compiler work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 27.5 3.5 What is cobc? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 27.6 3.6 What is cobcrun? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 27.7 3.7 What is cob-config? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 27.8 3.8 What compiler options are supported? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 27.9 3.9 What dialects are supported by OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 27.10 3.10 What extensions are used if cobc is called with/without “-ext” for COPY . . . . . . . . . . . . 77 27.11 3.11 What are the OpenCOBOL compile time configuration files? . . . . . . . . . . . . . . . . . . 77 27.12 3.12 Does OpenCOBOL work with make? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 27.13 3.13 Do you have a reasonable source code skeleton for OpenCOBOL? . . . . . . . . . . . . . . . 81 27.14 3.14 Can OpenCOBOL be used to write command line stdin, stdout filters? . . . . . . . . . . . . . 84 27.15 3.15 How do you print to printers with OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . 86 27.16 3.16 Can I run background processes using OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . 94 27.17 3.17 Is there OpenCOBOL API documentation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 27.18 3.18 How do I use LD_RUN_PATH with OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . 95 27.19 3.19 What GNU build tool options are available when building OpenCOBOL? . . . . . . . . . . . . 95 28 4 Reserved Words 99 28.1 4.1 What are the OpenCOBOL RESERVED WORDS? . . . . . . . . . . . . . . . . . . . . . . . . 99 28.2 4.2 Does OpenCOBOL implement any Intrinsic FUNCTIONs? . . . . . . . . . . . . . . . . . . . . 217 28.3 4.3 Can you clarify the use of FUNCTION in OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . 247 28.4 4.4 What is the difference between the LENGTH verb and FUNCTION LENGTH? . . . . . . . . . 247 28.5 4.5 What STOCK CALL LIBRARY does OpenCOBOL offer? . . . . . . . . . . . . . . . . . . . . 247 28.6 4.6 What are the XF4, XF5, and X91 routines? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 ii
  • 7. 28.7 4.7 What is CBL_OC_NANOSLEEP OpenCOBOL library routine? . . . . . . . . . . . . . . . . . 262 28.8 4.8 How do you use C$JUSTIFY? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 28.9 4.9 What compiler directives are supported by OpenCOBOL? . . . . . . . . . . . . . . . . . . . . 264 29 5 Features and extensions 267 29.1 5.1 How do I use OpenCOBOL for CGI? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 29.2 5.2 What is ocdoc? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 29.3 5.3 What is CBL_OC_DUMP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 29.4 5.4 Does OpenCOBOL support any SQL databases? . . . . . . . . . . . . . . . . . . . . . . . . . 293 29.5 5.5 Does OpenCOBOL support ISAM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 29.6 5.6 Does OpenCOBOL support modules? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 29.7 5.7 What is COB_PRE_LOAD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 29.8 5.8 What is the OpenCOBOL LINKAGE SECTION for? . . . . . . . . . . . . . . . . . . . . . . . 302 29.9 5.9 What does the -fstatic-linkage OpenCOBOL compiler option do? . . . . . . . . . . . . . . . . . 303 29.10 5.10 Does OpenCOBOL support Message Queues? . . . . . . . . . . . . . . . . . . . . . . . . . . 303 29.11 5.11 Can OpenCOBOL interface with Lua? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 29.12 5.12 Can OpenCOBOL use ECMAScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 29.13 5.13 Can OpenCOBOL use JavaScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 29.14 5.14 Can OpenCOBOL interface with Scheme? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 29.15 5.15 Can OpenCOBOL interface with Tcl/Tk? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 29.16 5.16 Can OpenCOBOL interface with Falcon PL? . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 29.17 5.17 Can OpenCOBOL interface with Ada? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 29.18 5.18 Can OpenCOBOL interface with Vala? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 29.19 5.19 Can OpenCOBOL interface with S-Lang? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 29.20 5.20 Can the GNAT Programming Studio be used with OpenCOBOL? . . . . . . . . . . . . . . . . 358 29.21 5.21 Does OpenCOBOL support SCREEN SECTION? . . . . . . . . . . . . . . . . . . . . . . . . 364 29.22 5.22 What are the OpenCOBOL SCREEN SECTION colour values? . . . . . . . . . . . . . . . . . 365 29.23 5.23 Does OpenCOBOL support CRT STATUS? . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 29.24 5.24 What is CobCurses? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 29.25 5.25 What is CobXRef? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 29.26 5.26 Does OpenCOBOL implement Report Writer? . . . . . . . . . . . . . . . . . . . . . . . . . . 373 29.27 5.27 Does OpenCOBOL implement LINAGE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 29.28 5.28 Can I use ctags with OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 29.29 5.29 What about debugging OpenCOBOL programs? . . . . . . . . . . . . . . . . . . . . . . . . . 374 29.30 5.30 Is there a C interface to OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 29.31 5.31 What are some idioms for dealing with C char * data from OpenCOBOL? . . . . . . . . . . . 377 29.32 5.32 Does OpenCOBOL support COPY includes? . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 29.33 5.33 Does OpenCOBOL support WHEN-COMPILED? . . . . . . . . . . . . . . . . . . . . . . . . 378 29.34 5.34 What is PI in OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 29.35 5.35 Does OpenCOBOL support the Object features of the 2002 standard? . . . . . . . . . . . . . . 378 29.36 5.36 Does OpenCOBOL implement PICTURE 78? . . . . . . . . . . . . . . . . . . . . . . . . . . 379 29.37 5.37 Does OpenCOBOL implement CONSTANT? . . . . . . . . . . . . . . . . . . . . . . . . . . 379 29.38 5.38 What source formats are accepted by OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . 379 29.39 5.39 Does OpenCOBOL support continuation lines? . . . . . . . . . . . . . . . . . . . . . . . . . 379 29.40 5.40 Does OpenCOBOL support string concatenation? . . . . . . . . . . . . . . . . . . . . . . . . 380 29.41 5.41 Does OpenCOBOL support D indicator debug lines? . . . . . . . . . . . . . . . . . . . . . . . 381 29.42 5.42 Does OpenCOBOL support mixed case source code? . . . . . . . . . . . . . . . . . . . . . . 381 29.43 5.43 What is the shortest OpenCOBOL program? . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 29.44 5.44 What is the shortest Hello World program in OpenCOBOL? . . . . . . . . . . . . . . . . . . . 383 29.45 5.45 How do I get those nifty sequential sequence numbers in a source file? . . . . . . . . . . . . . 383 29.46 5.46 Is there a way to count trailing spaces in data fields using OpenCOBOL? . . . . . . . . . . . . 384 29.47 5.47 Is there a way to left justify an edited numeric field? . . . . . . . . . . . . . . . . . . . . . . . 385 29.48 5.48 Is there a way to detemermine when OpenCOBOL is running ASCII or EBCDIC? . . . . . . . 385 29.49 5.49 Is there a way to determine when OpenCOBOL is running on 32 or 64 bits? . . . . . . . . . . 386 iii
  • 8. 29.50 5.50 Does OpenCOBOL support recursion? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 29.51 5.51 Does OpenCOBOL capture arithmetic overflow? . . . . . . . . . . . . . . . . . . . . . . . . . 387 29.52 5.52 Can OpenCOBOL be used for plotting? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 29.53 5.53 Does OpenCOBOL support the GIMP ToolKit, GTK+? . . . . . . . . . . . . . . . . . . . . . 393 29.54 5.54 What is ocsort? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 29.55 5.55 When is Easter? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 29.56 5.56 Does Vim support OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 29.57 5.57 What is w3m? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 29.58 5.58 What is COB_LIBRARY_PATH? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 29.59 5.59 Can OpenCOBOL interface with Rexx? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 29.60 5.60 Does OpenCOBOL support table SEARCH and SORT? . . . . . . . . . . . . . . . . . . . . . 420 29.61 5.61 Can OpenCOBOL handle named pipes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 29.62 5.62 Can OpenCOBOL interface with ROOT/CINT? . . . . . . . . . . . . . . . . . . . . . . . . . 426 29.63 5.63 Can OpenCOBOL be used to serve HTTP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 29.64 5.64 Is there a good SCM tool for OpenCOBOL? . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 29.65 5.65 Does OpenCOBOL interface with FORTRAN? . . . . . . . . . . . . . . . . . . . . . . . . . 435 29.66 5.66 Does OpenCOBOL interface with APL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 29.67 5.67 Does OpenCOBOL interface with J? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 29.68 5.68 What is COBOLUnit? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 29.69 5.69 Can OpenCOBOL interface with Gambas? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 29.70 5.70 Does OpenCOBOL work with LLVM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 30 6 Notes 443 30.1 6.1 big-endian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 30.2 6.2 little-endian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 30.3 6.3 ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 30.4 6.4 currency symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 30.5 6.5 DSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 30.6 6.6 errno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 30.7 6.7 gdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 30.8 6.8 GMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 30.9 6.9 ISAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 30.10 6.10 line sequential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 30.11 6.11 APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 30.12 6.12 ROBODoc Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 30.13 6.13 cobol.vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 30.14 6.14 make check listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 30.15 6.15 ABI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 30.16 6.16 Tectonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 30.17 6.17 Setting Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 30.18 6.18 GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 30.19 6.19 Performing FOREVER? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 30.20 6.20 POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 31 7 Authors 483 32 8 Maintainers and Contributors 485 33 9 ChangeLog 487 34 Indices and tables 491 Bibliography 493 iv
  • 9. OpenCOBOL FAQ Documentation, Release 1.1.11 Status This is a 1.1 release candidate of the OpenCOBOL FAQ. Sourced at ocfaq.rst. Courtesty of ReStructuredText, Sphinx and Pygments. ocfaq.pdf is also available, using rst2latex and then pdflatex. This FAQ is more than a FAQ and less than a FAQ. Someday that will change and this document will be split into an OpenCOBOL manual and a simplified Frequently Asked Questions file. Website favicon by Mark James, help.png from the FAMFAMFAM Silk icon set. http://creativecommons.org/licenses/by/2.5/ “COBOL Warriors” image Copyright © 2008 Robert Saczkowski. Banner courtesy of the GIMP, Copyright © 2008-2013 Brian Tiffin and both are licensed under Creative Commons Attribution-Share Alike 2.0 Generic License http://creativecommons.org/licenses/by-sa/2.0/ Authors Brian Tiffin [btiffin] Answers, quotes and contributions: John Ellis [jrls_swla], Vincent Coen, Jim Currey, Bill Klein [wmklein], Ganymede, Simon Sobisch [human], Rildo Pragana, Sergey Kashyrin, Federico Priolo, Frank Swarbrick, Angus, DamonH, Parhs, Gerald Chudyk Compiler by: Roger While [Roger], Keisuke Nishida [Keisuke], (with the invaluable assistance of many others) Special credits to Gary Cutler author of the OpenCOBOL Programmers Guide Joseph James Frantz for hosting and advocacy [aoirthoir] Version 1.1rc13, February 25th, 2013 (now in Sphinx) Status close to complete Copyright Copyright © 2008-2013 Brian Tiffin ChangeLog ChangeLog Note: Regarding COBOL Standards, Official COBOL Standards: There are many references to standards in this document. Very few of them are technically correct references. Apologies to all the hard working men and women of the technical committees for this unintentional slight. For specific details on what wordings should be used please see What are the Official COBOL Standards? CONTENTS 1
  • 10. OpenCOBOL FAQ Documentation, Release 1.1.11 OpenCOBOL Contents • 1 OpenCOBOL FAQ – 1.1 What is OpenCOBOL? – 1.2 What is COBOL? – 1.3 How is OpenCOBOL licensed? – 1.4 What platforms are supported by OpenCOBOL? – 1.5 Are there pre-built OpenCOBOL packages – 1.6 What is the most recent version of OpenCOBOL? – 1.7 How complete is OpenCOBOL? – 1.8 Will I be amazed by OpenCOBOL? – 1.9 Who do I thank for OpenCOBOL? – 1.10 Does OpenCOBOL include a Test Suite? – 1.11 Does OpenCOBOL pass the NIST Test Suite? – 1.12 What about OpenCOBOL and benchmarks? – 1.13 Can OpenCOBOL be used for CGI? – 1.14 Does OpenCOBOL support a GUI? – 1.15 Does OpenCOBOL have an IDE? – 1.16 Can OpenCOBOL be used for production applications? – 1.17 Where can I get more information about COBOL? – 1.18 Where can I get more information about OpenCOBOL? – 1.19 Can I help out with the OpenCOBOL project? – 1.20 Is there an OpenCOBOL mailing list? – 1.21 Where can I find more information about COBOL standards? – 1.22 Can I see the OpenCOBOL source codes? – 1.23 What happened to opencobol.org? – 1.24 What is COBOL in Latin? – 1.25 Do you know any good jokes? • 2 History – 2.1 What is the history of COBOL? – 2.2 What are the Official COBOL Standards? – 2.3 What is the development history of OpenCOBOL? – 2.4 What is the current version of OpenCOBOL? • 3 Using OpenCOBOL – 3.1 How do I install OpenCOBOL? – 3.2 What are the configure options available for building OpenCOBOL? – 3.3 Does OpenCOBOL have any other dependencies? – 3.4 How does the OpenCOBOL compiler work? – 3.5 What is cobc? – 3.6 What is cobcrun? – 3.7 What is cob-config? – 3.8 What compiler options are supported? – 3.9 What dialects are supported by OpenCOBOL? – 3.10 What extensions are used if cobc is called with/without “-ext” for COPY – 3.11 What are the OpenCOBOL compile time configuration files? – 3.12 Does OpenCOBOL work with make? – 3.13 Do you have a reasonable source code skeleton for OpenCOBOL? – 3.14 Can OpenCOBOL be used to write command line stdin, stdout filters? – 3.15 How do you print to printers with OpenCOBOL? – 3.16 Can I run background processes using OpenCOBOL? – 3.17 Is there OpenCOBOL API documentation? – 3.18 How do I use LD_RUN_PATH with OpenCOBOL? – 3.19 What GNU build tool options are available when building OpenCOBOL? • 4 Reserved Words – 4.1 What are the OpenCOBOL RESERVED WORDS? – 4.2 Does OpenCOBOL implement any Intrinsic FUNCTIONs? – 4.3 Can you clarify the use of FUNCTION in OpenCOBOL? – 4.4 What is the difference between the LENGTH verb and FUNCTION LENGTH? 2 CONTENTS
  • 11. OpenCOBOL FAQ Documentation, Release 1.1.11 OpenCOBOL FAQ CONTENTS 3
  • 12. OpenCOBOL FAQ Documentation, Release 1.1.11 4 CONTENTS
  • 13. CHAPTER ONE 1.1 WHAT IS OPENCOBOL? OpenCOBOL is an open-source COBOL compiler. OpenCOBOL implements a substantial part of the COBOL 85 and COBOL 2002 standards, as well as many extensions of the existent COBOL compilers. OpenCOBOL translates COBOL into C and compiles the translated code using the native C compiler. You can build your COBOL programs on various platforms, including Unix/Linux, Mac OS X, and Microsoft Windows. The most excellent OpenCOBOL Programmer’s Guide can be found at OpenCOBOL Programmers Guide. 5
  • 14. OpenCOBOL FAQ Documentation, Release 1.1.11 6 Chapter 1. 1.1 What is OpenCOBOL?
  • 15. CHAPTER TWO 1.2 WHAT IS COBOL? COBOL is an acronym for COmmon Business Oriented Language. This author has always thought of it as “Common Business” Oriented more than Common “Business Oriented”, but that emphasis is perhaps up to the reader’s point of view. 7
  • 16. OpenCOBOL FAQ Documentation, Release 1.1.11 8 Chapter 2. 1.2 What is COBOL?
  • 17. CHAPTER THREE 1.3 HOW IS OPENCOBOL LICENSED? The compiler is licensed under GNU General Public License. The run-time library is licensed under GNU Lesser General Public License. All source codes are copyright by the respective authors. What that means, roughly, is: You are allowed to write OpenCOBOL programs that use the libcob run time library however you like. Closed, proprietary, commercial use is allowed and encouraged. You can ship programs in binary form as you wish. Modifications to the compiler itself, MUST provide access to source code and be licensed under the GNU GPL. This ensures that no one is allowed to call modified sources their own, nor deny anyone else the chance to copy and re-distribute the compiler source code, including your local changes. Please note: any verion of the compiler that is configured to use Berkeley DB beyond version 1.85 must abide by the Oracle license and sources of the COBOL programs that use libdb must be shipped with any binaries. OpenCOBOL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 9
  • 18. OpenCOBOL FAQ Documentation, Release 1.1.11 10 Chapter 3. 1.3 How is OpenCOBOL licensed?
  • 19. CHAPTER FOUR 1.4 WHAT PLATFORMS ARE SUPPORTED BY OPENCOBOL? OpenCOBOL 1.0 the current official release version, hosted on SourceForge.net, compiles on: • All 32-bit MS Windows (95/98/NT/2000/XP) • All POSIX (Linux/BSD/UNIX-like OSes) • OS/X OpenCOBOL 1.1, has been built on • MS Windows native • MS Windows with Cygwin • GNU/Linux • POSIX Systems including OpenSolaris • OS/X • AS/400 • HP Integrity HPUX 11.23 • RS600 AIX 5 • 390 Mainframe z/OS OMVS/USS • others 11
  • 20. OpenCOBOL FAQ Documentation, Release 1.1.11 12 Chapter 4. 1.4 What platforms are supported by OpenCOBOL?
  • 21. CHAPTER FIVE 1.5 ARE THERE PRE-BUILT OPENCOBOL PACKAGES Yes. Debian APT, and RPM packages exist. Packages for NetBSD. Many. Google opencobol packages for any late breaking news. A Debian Advanced Package Tool binary package exists for OpenCOBOL 1.0 as open-cobol and lists dependencies of • libc6 (>= 2.7-1), • libcob1, • libcob1-dev (= 1.0-1), • libdb4.5 (>= 4.5.20-3), • libdb4.5-dev, • libgmp3-dev, • libgmp3c2, • libltdl3-dev, • libncurses5 (>= 5.6+20071006-3) Thanks to the gracious efforts of Bart Martens, bartm on Debian’s .org domain. 5.1 1.5.1 kiska.net repository Also check out kiska.net for binary builds on various platforms. Thanks to Sergey Kashyrin. 5.2 1.5.2 sourceforge There are OpenCOBOL links at http://cobol.sourceforge.net In particular, http://sourceforge.net/projects/cobol/files/open-cobol/ can come in handy, with sources and MinGW binaries at a mininum. Maybe more as time goes on. 13
  • 22. OpenCOBOL FAQ Documentation, Release 1.1.11 14 Chapter 5. 1.5 Are there pre-built OpenCOBOL packages
  • 23. CHAPTER SIX 1.6 WHAT IS THE MOST RECENT VERSION OF OPENCOBOL? See What is the current version of OpenCOBOL? 15
  • 24. OpenCOBOL FAQ Documentation, Release 1.1.11 16 Chapter 6. 1.6 What is the most recent version of OpenCOBOL?
  • 25. CHAPTER SEVEN 1.7 HOW COMPLETE IS OPENCOBOL? OpenCOBOL 1.0 implements a substantial portion of COBOL 85, supports many of the advances and clarifications of COBOL 2002, and includes many extensions in common use from Micro Focus COBOL, ACUCOBOL and other existent compilers. OpenCOBOL 1.1 implements a more substantial portion of the COBOL 85 Dialect, COBOL 2002 and a growing number of vendor extensions. Some proposed COBOL 20xx features have also been implemented. Compatibility support includes: • MF for Micro Focus • IBM for IBM compatibility • MVS • BS2000 OpenCOBOL also includes some advanced features allowing source code such as CALL "cfunction" USING BY REFERENCE ADDRESS OF VAR-IN-LINKAGE-SECTION. Passing the equivalent of char**, pointer to pointer to char. Just as a small example of the level of coverage and flexibility provided by OpenCOBOL. DISPLAY FUNCTION UPPER-CASE( FUNCTION SUBSTITUTE( "This is the orginal string."; "original"; "new"; "string"; "text" ) ) END-DISPLAY To allow for substitution of mixed length strings, something not normally so easy in COBOL. The above will output: THIS IS THE NEW TEXT. Note: While OpenCOBOL can be held to a high standard of quality and robustness, the authors DO NOT claim it to be a “Standard Conforming” implementation of COBOL. 17
  • 26. OpenCOBOL FAQ Documentation, Release 1.1.11 18 Chapter 7. 1.7 How complete is OpenCOBOL?
  • 27. CHAPTER EIGHT 1.8 WILL I BE AMAZED BY OPENCOBOL? This author believes so. For an open source implementation of COBOL, OpenCOBOL may surprise you in the depth and breadth of its COBOL feature support, usability and robustness. COBOL has historically been very secretive and low key. Its domain of use being very secretive and low key. COBOL programmers rarely work on systems that would allow for open internet chat regarding details, let alone existence. It is a tribute to the professionalism of these programmers that most people rarely, if ever, hear the name COBOL, a programming language with billions of lines of source code compiled and in production around the world over half a century. OpenCOBOL is poised to change that historic trend, and allow for the long overdue sharing of wisdom that legions of COBOL developers have accumulated over 50 years of success and failure. The OpenCOBOL conversation may be more POSIX than mainframe, but there is now room to share, critique and pass on the hard lessons learned from critical systems computing. Given that millions of COBOL programmers kept billions of lines of COBOL source out of the press, surely some of the wisdom can be passed on in a way that keeps all the secrets secret while curious developers are exposed to COBOL outside the vaults. 19
  • 28. OpenCOBOL FAQ Documentation, Release 1.1.11 20 Chapter 8. 1.8 Will I be amazed by OpenCOBOL?
  • 29. CHAPTER NINE 1.9 WHO DO I THANK FOR OPENCOBOL? Many people. In particular Keisuke Nishida and Roger While. See the THANKS file in the source code archive for more names of people that have worked on the OpenCOBOL project. Roger points out that the list is woefully incomplete. To quote: The OC project would not have been where it is today without the significant/enormous help from many-many persons. The THANKS file does not even do justice to this. 21
  • 30. OpenCOBOL FAQ Documentation, Release 1.1.11 22 Chapter 9. 1.9 Who do I thank for OpenCOBOL?
  • 31. CHAPTER TEN 1.10 DOES OPENCOBOL INCLUDE A TEST SUITE? Why yes it does. 74 syntax tests, 170 coverage tests, and 16 data representation tests in the February 2009 pre-release. 88 syntax, 253 coverage, and 22 data tests in a 2010 cut. From the development tarball: $ make check will evaluate and report on the test suite. See make check listing for a current output listing of a test run. 23
  • 32. OpenCOBOL FAQ Documentation, Release 1.1.11 24 Chapter 10. 1.10 Does OpenCOBOL include a Test Suite?
  • 33. CHAPTER ELEVEN 1.11 DOES OPENCOBOL PASS THE NIST TEST SUITE? The National Institute of Standards and Technology, NIST, maintains a COBOL 85 implementation verification suite of tests. An archive of the tests can be found at http://www.itl.nist.gov/div897/ctg/cobol_form.htm OpenCOBOL passes many of the tests included in the NIST sponsored COBOL 85 test suite. While it passes over 9000 of the tests, OpenCOBOL does not claim conformance to any level of COBOL Standard. Instructions for use of the NIST suite is included in the build archive under: tests/cobol85/README Basically, it is a simple uncompress and make then sit back and relax. The scripts run OpenCOBOL over some 374 programs/modules and includes thousands of test passes. Test Modules ------------ Core tests: NC - COBOL nucleus tests SM - COPY sentence tests IC - CALL sentence tests File I-O tests: SQ - Sequential file I-O tests RL - Relative file I-O tests IX - Indexed file I-O tests ST - SORT sentence tests Advanced facilities: IF - Intrinsic Function tests With the addition of GLOBAL support, the OpenCOBOL 1.1 pre-release fails none of the attempted tests. The summary.log from a run in February 2009: ------ Directory Information ------- --- Total Tests Information --- Module Programs Executed Error Crash Pass Fail Deleted Inspect Total ------ -------- -------- ----- ----- ----- ---- ------- ------- ----- NC 92 92 0 0 4363 0 6 11 4380 25
  • 34. OpenCOBOL FAQ Documentation, Release 1.1.11 SM 15 15 0 0 290 0 3 1 294 IC 24 24 0 0 246 0 4 0 250 SQ 81 81 0 0 512 0 6 81 599 RL 32 32 0 0 1827 0 5 0 1832 IX 39 39 0 0 507 0 1 0 508 ST 39 39 0 0 278 0 0 0 278 SG 5 5 0 0 193 0 0 0 193 OB 5 5 0 0 16 0 0 0 16 IF 42 42 0 0 732 0 0 0 732 ------ -------- -------- ----- ----- ----- ---- ------- ------- ----- Total 374 374 0 0 8964 0 25 93 9082 26 Chapter 11. 1.11 Does OpenCOBOL pass the NIST Test Suite?
  • 35. CHAPTER TWELVE 1.12 WHAT ABOUT OPENCOBOL AND BENCHMARKS? COBOL has a legacy dating back to 1959. Many features of the COBOL standard provide defaults more suitable to mainframe architecture than the personal computer a 3rd millennium OpenCOBOL developer will likely be using. OpenCOBOL, by default, generates code optimized for big-endian hardware. Fairly dramatic speed improvements on Intel architecture can come from simple USAGE IS COMPUTATIONAL-5 clauses in the DATA DIVISION. 12.1 1.12.1 telco billing There is a benchmark posted at http://speleotrove.com/decimal/telco.html and thanks to Bill Klein [wmklein], there is a COBOL entry. From the source code at http://home.comcast.net/~wmklein/DOX/TELCO.txt you should only have to modify Input-Output Section. File-Control. Select InFile Assign to "C:expon180.1e6". Select OutFile Assign to "C:TELCO.TXT" Line Sequential. to point to the correct filename for your local copy of the benchmark million entry file and a suitable OutFile name for a clean compile and run. In summary, the benchmark reads a large input file containing a suitably distributed list of telephone call durations (each in seconds). For each call, a charging rate is chosen and the price calculated and rounded to hundreths. One or two taxes are applied (depending on the type of call) and the total cost is converted to a character string and written to an output file. Running totals of the total cost and taxes are kept; these are displayed at the end of the benchmark for verification. A run on an older pentium 4 and the million number file gave: $ echo ’N’ | time ./telco Enter ’N’ to skip calculations: 0.46user 1.08system 0:01.61elapsed 96%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+134776outputs (0major+345minor)pagefaults 0swaps $ echo ’’ | time ./telco Enter ’N’ to skip calculations: 11.37user 1.41system 0:12.95elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k 27
  • 36. OpenCOBOL FAQ Documentation, Release 1.1.11 24inputs+134776outputs (0major+360minor)pagefaults 0swaps $ tail TELCO.TXT 35 D | 0.31 0.02 0.01 | 0.34 193 D | 1.73 0.11 0.05 | 1.89 792 L | 1.03 0.06 | 1.09 661 D | 5.91 0.39 0.20 | 6.50 44 L | 0.06 0.00 | 0.06 262 L | 0.34 0.02 | 0.36 -------------+----------------------------------------+------------- Totals: | 922,067.11 57,628.30 25,042.17 | 1,004,737.58 Start-Time:09:37:23.93 End-Time:09:37:36.83 A more recent 1.1 pre-release, on a dual quad-core Xeon box running Linux SLES 10 64-bit: 35 D | 0.31 0.02 0.01 | 0.34 193 D | 1.73 0.11 0.05 | 1.89 792 L | 1.03 0.06 | 1.09 661 D | 5.91 0.39 0.20 | 6.50 44 L | 0.06 0.00 | 0.06 262 L | 0.34 0.02 | 0.36 -------------+----------------------------------------+------------- Totals: | 922,067.11 57,628.30 25,042.17 | 1,004,737.58 Start-Time:21:40:48.52 End-Time:21:40:51.92 3.4 seconds cache-hot. Not bad. 28 Chapter 12. 1.12 What about OpenCOBOL and benchmarks?
  • 37. CHAPTER THIRTEEN 1.13 CAN OPENCOBOL BE USED FOR CGI? Yes. Through standard IO redirection and the extended ACCEPT ... FROM ENVIRONMENT ... feature, Open- COBOL is more than capable of supporting advanced Common Gateway Interface programming. See How do I use OpenCOBOL for CGI? for a sample Hello Web program. For those developers looking to serve OpenCOBOL applications on hosted systems and no super user privileges, see How do I use LD_RUN_PATH with OpenCOBOL? for some pointers. 29
  • 38. OpenCOBOL FAQ Documentation, Release 1.1.11 30 Chapter 13. 1.13 Can OpenCOBOL be used for CGI?
  • 39. CHAPTER FOURTEEN 1.14 DOES OPENCOBOL SUPPORT A GUI? Yes, but not out of the box. There is not currently (February 2013) anything that ships with the product. Third party extensions for Tcl/Tk and bindings for GTK+ do allow for graphical user interfaces. See Does Open- COBOL support the GIMP ToolKit, GTK+? and Can OpenCOBOL interface with Tcl/Tk?. 14.1 1.14.1 GTK The expectation is that GTK+ will be completely bound as a callable interface. That is currently (February 2013) not the case, with perhaps 2% of the GTK+ functionality wrapped (but with that 2%, fully functional graphical interfaces are possible). 14.2 1.14.2 Tcl/Tk The Tcl/Tk engine is already quite complete but does place most of the burden of GUI development squarely on the Tk side. 14.3 1.14.3 Vala, WebKit Vala will also open up a quick path to GUI development with OpenCOBOL. There is already an embedded web browser using the Vala bindings to WebKit. See Can OpenCOBOL interface with Vala? for a lot more details. 31
  • 40. OpenCOBOL FAQ Documentation, Release 1.1.11 32 Chapter 14. 1.14 Does OpenCOBOL support a GUI?
  • 41. CHAPTER FIFTEEN 1.15 DOES OPENCOBOL HAVE AN IDE? Yes and no. There is no IDE that ships with the product. The add1tocobol team is currently (February 2013) at work creating extensions for the GNAT Programming Studio. This is working out quite nicely and will likely be the IDE of choice for the add1tocobol OpenCOBOL developers. See Can the GNAT Programming Studio be used with OpenCOBOL? for more information. There is also the Eclipse IDE and a major project for integrating COBOL but this will not be OpenCOBOL specific. Many text editors have systems in place for invoking compilers. SciTE, Crimson Editor, vi and emacs to name but a few of the hundreds that support edit/compile/test development cycles. See Does OpenCOBOL work with make? for some information on command line compile assistance. 33
  • 42. OpenCOBOL FAQ Documentation, Release 1.1.11 34 Chapter 15. 1.15 Does OpenCOBOL have an IDE?
  • 43. CHAPTER SIXTEEN 1.16 CAN OPENCOBOL BE USED FOR PRODUCTION APPLICATIONS? Depends. OpenCOBOL is still in active development. Feature coverage is growing, and while the current implemen- tation offers great coverage, applicability to any given situation would need to analyzed and risks evaluated before commitment to production use. The licensing allows for commercial use, but OpenCOBOL also ships with notice of indemnity, meaning that there are no guarantees when using OpenCOBOL, directly or indirectly. There may be a time when commercial support of OpenCOBOL is offered, but at the time of writing no known offering exists. Search google just in case! And yes, OpenCOBOL is used in production environments. From [Roger]: Incidentally, OC has been (and still is) used in production environments since 2005. (This includes projects that I personally worked on plus other projects reported to me; these worldwide) The OC project would not have been where it is today without the significant/enormous help from many-many persons. The THANKS file does not even do justice to this. 16.1 1.16.1 Nagasaki Prefecture Reported on opencobol.org, The Nagasaki Prefecture, population 1.44 million and 30,000 civil employees is using OpenCOBOL in support of its payroll management system. A team of 3 ported and maintain a suite of 200 COBOL programs, mingled with Perl and specialized reporting modules, running on Nec PX9000 big iron and Xeon servers. 16.2 1.16.2 Stories from Currey Adkins Another post from opencobol.org in April 2009, reprinted with permission. OpenCOBOL viability For those concerned about the viability of OpenCOBOL in a production 35
  • 44. OpenCOBOL FAQ Documentation, Release 1.1.11 environment, I offer our situation as an example. We started loading OpenCOBOL to a Debian (Etch) Parisc box in mid March. With some valuable help from this forum we were up and running in a few days. We then explored the CGI capabilities and moved our home-brewed CGI handler (written in HP3000 Cobol) over. We ended up changing only a few lines. As Marcr’s post indicates, we found a MySql wrapper and made some minor changes to it. Starting the second week in April we were in full development of new systems for commercial use. Please accept our congratulations to the community and our gratitude for the help from the forum. jimc Another reference by Jim, some 6 months later in February 2010, which seems to be enough time for any rose-coloured glass effect to have worn off if it was going to. For our part, the answer is yes. You may want to read an earlier thread about this. Search on OpenCOBOL viability. Having worked with Cobol since the 1960’s, my mindset is that no conversion is automatic. In our case we are not converting from a specific dialect like MF, but instead are either writing entirely new systems or are changing features (making them web based for example) in older systems. There are some identified failures in OpenCOBOL execution that have been discussed in this forum. We have found them to be inconsequential and simply work around them. Then again I do not remember working with a bug-free compiler. Our environment is Debian Linux, OpenCOBOL 1.1, MySQL, ISAM (the one provided with the 1.1 prerelease), HTML (via CGI) and a new PreProcessor to relieve the tedium of writing SQL statements. If you have some "nay sayers" in your organization and would like some support I will be happy to speak with them. jimc I hope people don’t mind a little advertising in this FAQ, but Jim has done a lot for OpenCOBOL and his company is a community minded company. http://www.curreyadkins.com 16.3 1.16.3 Public Accounting Another from opencobol.org 36 Chapter 16. 1.16 Can OpenCOBOL be used for production applications?
  • 45. OpenCOBOL FAQ Documentation, Release 1.1.11 As part of an initial study of COBOL compilers for finding an alternative to that of MicroFocus, OpenCobol was selected to develop a model for the compilation of a public accounting package (1.5 million lines). The model had to validate this choice, including with the use of sequential indexed files, with OpenCobol version 0.33 and small adjustments to the COBOL code (mainly using reserved keywords and keywords not implemented). After the functional qualification of this model, the software is in production since July, 2011 under Linux RedHat Enterprise Linux 4 Advanced Server 32-bit virtualized environment VMWARE ESX - 4 GB of RAM - processor dual AMD Opteron 6176 (tm). The software package is deployed for 650 users whose 150 connected simultaneously, at the peaks of activity and in comparison with the previous platform on AIX 4.3 and MicroFocus, performance gain is in a report, at best, 1-10 (batch of exploitation of entrustment), at worst, 1 to 4 (batch of recalculation). With the rise of the package version, a functional validation is in progress since September 2011 with OpenCobol version 1.1 under Linux RedHat Enterprise Linux 5 Advanced Server 64-bit and dual Quad-Core AMD Opteron 8356 (tm) processor. No loss of performance related to the new version of OpenCobol (but related to the package of 10% to 20% loss) after campaign in the two environments. 16.3. 1.16.3 Public Accounting 37
  • 46. OpenCOBOL FAQ Documentation, Release 1.1.11 38 Chapter 16. 1.16 Can OpenCOBOL be used for production applications?
  • 47. CHAPTER SEVENTEEN 1.17 WHERE CAN I GET MORE INFORMATION ABOUT COBOL? The COBOL FAQ by William M Klein is a great place to start. A google of the search words “COBOL” or “OpenCOBOL” are bound to lead to enough days worth of reading of in-depth articles, opinions and technical information to satisfy the greatest of curiosities. The COBUG site COBOL User Groups is also a wonderful resource for OpenCOBOL developers. This is highly subject to change, but currently (February 2013) a Draft of 20xx is available at http://www.cobolstandard.info/j4/index.htm and in particular http://www.cobolstandard.info/j4/files/std.zip Note: While OpenCOBOL can be held to a high standard of quality and robustness, the authors DO NOT claim it to be a “Standard Conforming” implementation of COBOL. 39
  • 48. OpenCOBOL FAQ Documentation, Release 1.1.11 40 Chapter 17. 1.17 Where can I get more information about COBOL?
  • 49. CHAPTER EIGHTEEN 1.18 WHERE CAN I GET MORE INFORMATION ABOUT OPENCOBOL? The opencobol.org website is probably the best place to find out more about the OpenCOBOL system. add1tocobol.com is a place to find out about a few of the fan initiatives. (An older archive has been stashed at http://oldsite.add1tocobol.com) 18.1 1.18.1 The OpenCOBOL Programmer’s Guide A very well written and masterful OpenCOBOL reference and COBOL development guide. By Gary Cutler, Open- COBOL Programmers Guide. 41
  • 50. OpenCOBOL FAQ Documentation, Release 1.1.11 42 Chapter 18. 1.18 Where can I get more information about OpenCOBOL?
  • 51. CHAPTER NINETEEN 1.19 CAN I HELP OUT WITH THE OPENCOBOL PROJECT? Absolutely. Visit the opencobol.org website and either post a message asking what needs to be done, or perhaps join the development mailing list to find out the current state of development. See Is there an OpenCOBOL mailing list? for some details. OpenCOBOL is a GPL licensed open source project and while [Roger] is the lead developer he is quite open to code submissions. Having a central point of development allows for consistency and the very high level of quality control enjoyed by OpenCOBOL users. 19.1 1.19.1 Translation Efforts A new project has started to see native language support in the cobc compile and run-time systems. Please see http://www.opencobol.org/modules/newbb/viewtopic.php?topic_id=1127&forum=1 for details if you think you can help. Hi folks! We’re starting to translate upcoming versions into different languages. The necessary code changes for OC 2.0 were already done. Now we need translators. Before posting every stuff here I want to gather the translators here. Who is able and willing to translate the strings (currently 667) into what language(s) [or has somebody who does this]? From the last discussions I remember people wanting to do this for French, Italian, Spanish, German but I don’t remember who exactly said that he/she will help. We already have a Japanese translation, but that needs an heavy update. ... 43
  • 52. OpenCOBOL FAQ Documentation, Release 1.1.11 44 Chapter 19. 1.19 Can I help out with the OpenCOBOL project?
  • 53. Other documents randomly have different content
  • 54. Det er Lillejuleaften, det er Lillejuleaften, og et Brus af fjerne Minder jager Blod til mine Kinder, — dem, den fattige Polarnat havde bleget. Jeg er sær og syg til Mode, kunde gerne grædt og skreget over Smærter i mit Ho'de, for jeg længes, saa min Hjerne bliver svimmel, og mit Livshaab slukner som en bristet Klode ... Der er Taage over Fjældet, der er Slør for Aftnens Himmel, og jeg ligger, overvældet af de gamle Minders Brus, tavs i Angmalor'toks Hus. Det er Lillejuleaften, det er Lillejuleaften ... Hvordan lever I derhjemme? — Aa, om jeg dog kunde glemme — — Nøgen ligger jeg paa Fælgen, og min Vært, som ser mig lide, siger: »Det er vist paa Tide at faa givet dig lidt Foer!« Og jeg ser ham trække Bælgen af en Blaaræv, Dagens Fangst; den blir kogt og, Gud skal vide, jeg er slunken som en Slange, Gulvet er vort Spisebord, og jeg spiser, mens han viser mig den Gunst at nynne Sange, først et Par og siden mange; — men min Sult er stadig stor, og hans Kone spytter Spæk paa en optøet Narhvalshjerne,
  • 55. paa en optøet Narhvalshjerne, for hun under mig saa gerne denne lækre Juleret. Endelig blir jeg da mæt — og min Svimmelhed er væk, — Taagen med; nu har vi Blæst — og jeg sover mig fra Længsel hjem og Angst, mens Fru Angmalor'tok, venlig mod sin Gæst, nytter Tiden til en heldig Lyske-Fangst ... VI
  • 56. Saa tyst stod aldrig Fjældene om Fjorden og aldrig Stjernerne saa vemodsfulde og Sneen ingen Tid saa hvid af Kulde som nu ved Jul. Og der er Fred paa Jorden. Selv er af Fred og Vé jeg sært bevæget, kan ikke være ude, ikke inde, min Sjæl er fyldt af Julens fjerne Minde, og Vunder bløder, som jeg troede læged. Og rundt i Verden fejres Juledrømmen, og alle Hjærter næste-kærligt bløder. — Snart er vel Julens Baal kun slukne Gløder, og Hjærtet gaar igen saa jævnt med Strømmen. Men der var Tider, da jeg ærligt troede paa Julens store Fredsbudskab i Folket, — forlængst har Verden Loven omfortolket, og Julen er nu blot en gammel Mode. Rørte til Gavmildhed, som Lammets Hyrde, er alle Menneskenes Millioner — men kun saa længe Klokken højtids-toner, Dagen derefter stjæle de og myrde ... Og dog stod aldrig Fjældene om Fjorden og aldrig Himlens Lys saa højtidsfulde som nu i denne Nat, saa hvid af Kulde, thi det er Jul. Og der er Fred paa Jorden ... VII
  • 57. Nej, det er altfor skøn en Nat, og jeg kan ikke sove, Fjældkæderne har Linjer som danske Bøgeskove. Som Udhugst-Lysninger blandt Trær staar istids-fødte hvide Brær i sælsomt livløst Maaneskær — et Snitværk af Sølv-Filigran, som tier dødt. Her lever Pan ... VIII Jeg har saa ung en Glæde bare ved at træde mit Fodtrins lette Spor paa den sne-tilføgne Jord. Min Sjæl er tavs af Lykke, jeg kaster ingen Skygge i denne dejlige Nat fredfyldt og lysforladt. Min Hjerne har ej Tanker, og Livet ingen Skranker ... Over Himlen de funklende Stjerneskud strøs, her gaar jeg saa lykkelig skyggeløs. IX
  • 58. Maane og skyfrit og en Snes Kuldegrader! Nu har vi Nyaar efter Almanakken, hjemme er Vrimlen en gensidig Takken, en Ønsken Godt-Aar selv for dem, man hader, et Mundsvejr blot af tyndslidte Tirader, en Brev-Hob Falskhed, bragt paa Kaffe-Bakken, — aa, Gudskelov, jeg kasted Selskabsfrakken, da Luften blev mig kvalm i vore Gader ... Mit Nyaar nævnes aldrig i Kalender, det kommer uanmældt og uformodet en skønne Dag, naar noget sælsomt hænder: de Stunder, da mit Selv sanddru erkender og rejser Viljen, lutrer Hjærteblodet, da blir en Nyaars-Kvist mit Træ indpodet. X
  • 59. Der er ikke et Træ, som tør Pollandet gæste, end ikke den usleste Busk finder Fæste, — men hjemme staar Graner paa goldeste Banke hvidpudrede ranke. Jeg drømmer mig hjemme, ser Raabukken springe og lytter til flaksende Fuglevinge, jeg følger i Snedriven Muldvarpens Stier, jeg lytter og tier. Jeg har en Veninde, vi elsker begge at suse paa Skøjter langs klukkende Bække, og ud ad de barfrosne Veje vi gaar med Rimløv i Haar. Nu gaar hun alene. Jeg sidder som bundet, maaske er mit Timeglas snart udrundet. Jeg sanser kun Mad, baade god og slet, og jeg er saa træt ... XI
  • 60. Min Livskraft ligger i Dvale, alle mine Tanker er gaaet i Hi. Nu drager den store Nat forbi de slumrende Fjælde og Dale. Jeg ligger som dybt i Dvale. Min Sjæl er sløv som en Larve, den sanser ej længer sin vante Strid, den sover sig frem til Lysets Tid, hvor den skal faa Liv og Farve. Min Sjæl er en jordbunden Larve. Jeg tror, Genfødelsen kommer. Naar Vinterens Nattemulm er forbi, skal Larven blive sommerfugle-fri med al den flyvende Sommer. Jeg véd jo, Genfødelsen kommer. XII
  • 61. Tidt tror jeg min Ungdoms livssvulmende Lilje udblomstret og gold, mit følsomme Hjærteblod omstøbt til Vilje og Hjernen is-kold, skarpt ser mine Øjne, som før var forblindet, min Manddomsvej ligger belyst ud ad Vildnissets skyggende Løv. Mit Øre kan høre hver varslende Rytme, hvert dryssende Støv, klart véd jeg, hvorhen al min Stræben skal føre, men tidt gaar en hjælpeløs Sorg mig i Sindet: Jeg er kun et Frø, som skal dø. Hvad er vel mit Livsværk mig, selv om jeg sejrrig til Kampmaalet naar? Vandt Livet, der udrandt i vekslende Vejrlig, ublidere Kaar? Og hvad er det værd, hvis jeg Maalet forfejler? Gik ikke i maalbevidst Trang og Ærgerrighed Ungdommen tabt? — Men bygge min Lykke paa Ungdom, dertil var min Sjæl ikke skabt; jeg savner det Stof, som gør Mennesker trygge. — O, Ungdomsaar! Jeg er en ydmyget Bejler, der angrer, at I gled forbi! Jeg angrer hver Klogskab, der førte til Handling. Er Ungdommen klog? Nej, Ungdom er Afsind og evig Forvandling og hensynsløst Sprog. Den Gang, jeg var ung med de yngste, som kendtes, da sad jeg indspundet i taktfuld, forkrøblende
  • 62. j g p , Slægts-Pietet. Jeg vilde ved stille udadlelig Flid vinde mere end sket. Først nu er jeg fri. O, men er det for silde forynget at leve de Drømme, som sendtes, da Haabet var sundt, Verden rundt! XIII Der er en Higen i hver Drøm, jeg digter, ud til et blodrigt Liv i sære Egne, en Udvé, som gaar alle vide Vegne til Fjæld og Skov, frigjort for trange Pligter, hvor Fugl og Dyr er Maal, hvortil jeg sigter. — Der er saa mange Præmie-Sjæle til, o, lad mig altid være ung og vild! Og lad mig aldrig, ivrig efter »Ære«, min egen ranke Nakke ydmygt bøje — hellere med det lidet lade mig nøje end tækkes Krybet i en højere Sfære, hvor der er smitsomt for min Sjæl at være. Saa mangen Radikal blir Snob ad Aare, o, lad mig altid være ung og Daare! XIV
  • 63. Der er ikke et Menneske, fjern eller nær, som véd, hvilken Grøde mit Sjæledyb bær, jeg kalde jer Hustru, Far eller Ven, I véd, hvad jeg hedder, og hvor jeg gaar hen, men Driften, som hidser mig, kender I den? Tidt véd jeg knapt selv, om min Saasæd gir Frugt. Hvem er jeg? Hvad vil jeg af hæsligt og smukt? Jeg véd kun, og det har med Kvide jeg lært, at Menneskelivet er bitterlig svært og Mennesket selv af omtvisteligt Værd. Jeg er i den vide Verden kun én, hvorhen jeg saa færdes, i Fryd eller Mén, kun ene og ensom, en tillukket Grav, hvor strømmende Ord mine Læber saa gav, en Sjæl, der er tavs med sit dybeste Krav. Og enten jeg lever, hvor Larmen er stor, eller gemmer mig bort i det tavseste Nord, hvad enten jeg længes fra Mylret mod Fred eller higer mod Liv fra mit Skjulested, jeg er dog kun én i al Evighed. En venneløs gaar jeg i Fjendekrig, og fjenderig møder jeg Vennesvig, selv sviger jeg, stejl af den Ensommes Magt, den Ven eller Fjende, der faar min Foragt — og dømmer mig selv for hvert Ord, jeg har sagt. Tidt knuger min ensomme Lod mig i Knæ, jeg ønsker mig podet paa rodfæstet Træ, men ofte — og mest naar jeg rammes brutalt — da lukker min Sjæl sig, mit Skrig bliver kvalt, men stærk er jeg bleven i godt som i galt.
  • 64. XV Jeg har grædt, naar en Spurv blev skudt ned, naar jeg saa' et Insekt blive pint, naar en Blomst, jeg holdt af, traadtes sønder, og dens Hjærteblad skælvede fint. Jeg har været et fængeligt Tønder for hvad Skabningens Ringeste led, jeg har ødslet med Kærlighed. Jeg har næret min Pen med mit Blod, naar jeg skrev om al Menneskenød, om forskyldt eller skyldfri Elende og dens Véraab paa Retfærd og Brød. O, mit pulsende Blod kunde brænde, og min følsomme Sjæl fatte Mod, naar jeg stred for den Sag, jeg fandt god. Det var den Gang, mit Hjærte var Ler og min Tillid til Menneske-Værd og min Tro paa mig selv uforfærdet, da mit Liv laa i morgenrødt Skær. Ak, men nu er mit Hjærte forhærdet af de usle Bedrag, som det ser, og nu tror jeg paa ingen Ting mer. — Ja, en Gang har jeg inderlig grædt ved al Skabningens Kummer og Nag, men da selv jeg fik Pinslerne prøvet, tog jeg graadløs de grusomme Slag. Og nu taler mit Hjærte bedrøvet kun i dæmpede Aandedrag, men min Taare har rundet sig træt.
  • 65. XVI Jeg byder ej mit Venskab frem til Per og Povl og alle dem, der søger mine Stuer, min Tobak, mit Bord, min Vin, men vandt du mig for dig og dit, saa bliver du mig aldrig kvit, da er jeg al min Levetid uforbeholden din. Og den, der kalder mig sin Ven, skal ærligt yde mig igen et Alvorsord, en sund Kritik, ud af sin Hjærtebund, og han skal taale min Protest, naar han ej gir sig, sand og bedst, thi den, hvis Hjærte aabnes ret, slaar ikke Laas for Mund. En Kvinde kan jeg ofre alt: min Daad, mit Hjærte, ubetalt, og alt kan af en Kvinde jeg modtage hjærteløst. Men Mand og Mand i Venskabspagt har samme Pligt og lige Magt, og han skal mig gengælde dyrt, som af min Sjæl har øst. Men vandt du mig for dig og dit, og tør du tale hensyns-frit og elske mine Evner frem og kue mine Fejl, da bliver du mig aldrig kvit, da ejer du alt, som er mit, ubrydelig vor Venskabspagt bær' Hjærtets Adels-Segl. XVII
  • 66. Mit Liv er planlagt frem til sene Stunder, hvert Arbejd gennemtænkt i Hovedtrækket, skal al Ting lykkes, maa der ske det Under, at jeg blir hundred-aarig og usvækket. Men er der muldfast dèr, hvor Roden bunder, hvordan blir Stammen trøsket da og knækket! Nej, jeg vil ikke dø den meningsløse snigmorderiske Død af Sot og Syge, Knald eller Fald! Og aldrig daadløs døse i lunkent Sollys — hellere en Byge, lad bare Stormen piske, Regnen øse, og alle Lungepibere rejse og ryge! I brat og voldsom Død har helst jeg villet med denne dejlige Jord faa Afsked taget. Paa ét Kort sat mit Liv — jeg vover Spillet, men alle Kneb skal gælde, selv Bedraget, og først naar alle Trumfer er udspillet, slutter jeg af, livsmæt og højt bedaget. Maaske, naar jeg blir gammel, kommer Gigten, et Eftersmæk fra Liv i Baad og Slæde, men aldrig skal jeg angre, at min Digten drog mig langt udenfor den alfar Glæde. Mit Liv er planlagt, dyrebar er Pligten, o, lad mig hundred-aarig Jorden træde! XVIII
  • 67. Ja, jeg vil vorde Mand og fæste Rod dybt i den jydske Muld, der var min Amme, Jordens Safter skal stige i min Stamme, forny mit Væv og nære mit Løv med Blod, — ja, jeg vil dyrke Jorden grøn og god. Min Sjæl er træt af fremmed, bjergfuld Strand og længes hjem til Slettens Kløver og Tidsler, til Heden helst, dèr hvor et Aaløb risler det frodige Grønsvær frem af magert Sand, stolt vil jeg dyrke Jord i eget Land. Ja, jeg vil fæste Rod i Lyng og Klit og klamre mig som Marehalm til Bunden, at Havet ikke skal underskære Grunden, men bruse mig for Øje tro og frit, thi ene dette Hav og Land er mit! XIX Den Mand véd ikke, hvad Sol vil sige, hvem den tilsmiler hver Dag i Aaret, for ham er Sol det selvfølgelige, men her i Pollandets Mørkerige, hvor jeg maa leve, dens Lys beskaaret, her faar jeg Solen smærtelig kær: nu véd mit Øje, hvad Sol er værd. XX
  • 68. Giv mig Solen, aa, giv mig Solen og lad mig gense de danske Strande, hvor Natten skifter med solfyldt Dag, og Himlen spejles i dybt-blaa Vande, paa Marken Solsikken og Violen og Lyd af Kornlærkers Vingeslag. Giv mig Solen, aa, giv mig Solen, en purpurglødende Morgenrøde bag Ferskenblomsternes hvide Lin, med sødlig Duft af en tropisk Grøde, af Oleanderen og Magniolen, af gul Orange og blaalig Vin. Giv mig Solen, ja, giv mig Solen, den skal fremelske Ungdom og Ynde, jeg længes vanvittigt langt mod Syd, dèr vil jeg aande og se og synde, jeg hader Natmørket her ved Polen og min Grav-Tilværelses golde Dyd. Giv mig Solen, aa, giv mig Solen, jeg sidder længsels-pint her og bier. Hvordan er Verden? — fremdeles slet? Har Kunsten udklækket ny Genier, har Frihedskravet knust Kongestolen? — aa, hvem der bare kom hjem til det! XXI
  • 69. Vi har atter Maanetid og Gæsteri — ja, den Maane os med Mørkets Tid forsoner! — Her er daglig et Par Slæder paa Visit, for vi ligger netop paa en alfar Sti, og her er en stadig livlig Bytten Koner, det er svært at skelne mellem mit og dit — akkurat som blandt de Kristnes Millioner! Her kom nys Krajo'dak med sin Nabos Viv, og med Agpalarsuar'suk kom Fru O'dak, Husets allerbedste raadne Kød blir budt, og man skynder sig at proppe i sit Liv, mens Passiaren stiger som en lystig Krosnak, og en høflig Vært gir Konen med til Slut, og en høflig Gæst har blot at svare: Jo Tak! XXII
  • 70. Ja, lille søde Aini'nak, du spørger, om Kvinderne hjemme er ligesaa gode som her mod Nord og Mændene ligesaa slemme? Om Damer, lille Aini'nak, tør ingen sin Mening sige. Men Mændene er af et grumset Stof og ikke just elskelige. Jeg véd, at din Mand har slaaet dig, jeg ser jo, din Kind bærer Skrammer, — aa, stakkels lille Aini'nak, hos os er der bitrere Jammer. Du havde vel været ulydig og nægtet ham, hvad han kan kræve, — hos os er der tungere Vaaben end den bare knyttede Næve. Det véd du jo, lille Aini'nak, snart læges din Smule Rift, men Mændene hjemme i Danmark de drypper i Saaret Gift. Vi saarer med Øjets Staalblink og Tungens bidende Odd, med smaabitte haanske Skuldertræk eller Tavshedens ætsende Braadd. Saa lever vi Side om Side, men dyrker dog hver sin Gud, vi vælger helst det dulgte Bedrag fremfor et ærligt Brud. Nej, kære lille Aini'nak, du, som er saa god og smuk,
  • 71. du, som er saa god og smuk, du kender ikke den Livsens Vé, der bæver i Kvindesuk. Og paa dit Spørgsmaal, Aini'nak, svarer den fremmede Herre: Kvinderne hjemme er bedre end her, men Mændene meget værre! Alene den lille Aini'nak, der er sky som en opskræmmet Raa, du er den eneste Kvindesjæl, jeg blandt dine Søstre saa'. XXIII
  • 72. Vi grubler for meget og handler for lidt og hugger hverandres Livsgerning i Splinter, under Selv-Reflektionernes Mareridt vi leger og kriges med Vitser og Finter, men flytter os ikke et eneste Skridt, dèr sidder de Skriftkloge højsæde-kry og haaner hver Handlingens Mand og hans Ry. Tidt væmmes jeg ved at tænke med Ord, det er Tingene selv og ej deres Navne, hvoraf jeg vil fyldes — som Barnet, der tror uden at famle og føle og favne, thi Ord er Bedrag, den Naive er stor; mit slyngede, selv-reflekterende Jeg skal blive én eneste lige Streg. Saa vil jeg da bortkaste Tingenes Dragt, min Tænkning skal være blot nøgen Beskuen, jeg sanser kun Tingenes egen Magt oprindeligt, ubevidst — Fjældet og Tuen — og glemmer hvert Ord, der er skrevet og sagt; jeg vil ikke mere studere mit Selv, blot leve naivt under Himmelens Hvælv. XXIV
  • 73. Nu stiger Lyset, Nat-Mørket brister, og Kulde-Gyset af Landet lister. Rødlige Buer af Dæmringens Straale dirrer som Luer bag Isblink-Naale. Paa Sletten blegner Skyggerne bort, Fjældryggen tegner sig skarp og sort. Tarmrude-Lyset taber sit Skær, — nu flygter Gyset, Dagen er nær. XXV
  • 74. Opbruds-Travlhed, Rejse-Iver, raskt Farvel til dem, der bliver, Tak for alt og Tak til Alle: — se, dèr kommer En og giver mig en lækker Hvalros-Lalle, som han i sin Kødgrav fandt, den er Rejseproviant; og den største Tromme-Mand forærer mig en Narhvalstand ... — Afsked gør mig altid trist, jeg blir helt beklemt tilsidst; det er svært nok at forlade disse gode, altid glade, trofast hjælpsomme Eskimoer; — hvad jeg haaber end og tror, skal vi maaske aldrig ses ... — Det er rart at se sit Værk kronet af en fast, besluttet Viljesytring; den gør stærk: — jeg vil hjem, straks paa Minuttet! — Hør, der snakkes og der les, og jeg gir Signal til Spandet og er snart langt væk fra Landet ... Ja, nu gaar det atter hjemad, men det gaar kun trælsomt fremad, Maanen skjuler sig bag Taage, Strømmen skærer mangen Vaage, vi maa lejre os som bedst midt i isnende Sydvest. — Av, dèr »brændte« jeg min Næse, fire Fingre og en Taa, jeg har vaade Vanter paa — og et Ur, jeg skal aflæse,
  • 75. det er gaaet rent i Staa ... »Her maa ties, her maa bies«, jeg er bleven vant til Turen. Mens min Hud i Frost afsvides, støder Stormen fælt i Luren, men tilsidst er den blæst træt, i dens sidste Aandedræt krydser vi den sidste Bræ, gaar i Sne til over Knæ og naar i Melville-Bugten ud paa ny og let-kørt Is, hvor vi følger langs en Rende, — mere Kulde, mer Elende: i Kamikken stivner Fugten, Termometrets Kviksølv fryser — men den hvide Maane lyser gennem rimfyldt Kuldedis ... Det gaar fremad, vi naar hjemad, og vi slider, angst-befriet, hele Kuske-Kompagniet, dansk og fremmed, døbt og Hedning, elleve Mand om otte Læs, elleve Mand, tre Snese Hunde, lutter gridske Fraasemunde om det samme frosne Kød, — naa, vi lider ingen Nød, og vi nærmer os vor Redning, thi dèr henne bag et Næs kan Upernivik jeg kende! Og vi kappes. Frem paa Fronten, Sol er nær ved Horisonten! — Ah dèr ser vi Spor af Bjørn
  • 76. — Ah, dèr ser vi Spor af Bjørn, Hundene blir rent beruste! — Stolte Time, da vi suste som en Flok kamplystne Børn hen blandt Isens vilde Kaos, — Fjæld ved Fjæld stod opmarscherte, — Bjørnene slap ikke fra os, snart laa to døds-harpunerte. Selv blev vi paa Kampens Sted, vi var hungrige og trætte, laa og aad os tungnemt mætte, den skrigvorne Mave fuld, Hund og Herre, — men desværre Hundene aad Skindet med ... Pyt! Med Skind og røden Guld, hvad er Guld mod Morgenskær: se, vi møder Solen her, se, derude staar den røde Solgud op af Vinterdvale, alle Iskrystaller gløde, — og vi gaar vort Hjem i Møde, og vi staar og ser og ser — længe — — og kan ikke tale — —
  • 78. Saa kom det store Øjeblik, da vi igen var fremme; dèr laa de kendte Huse, vi følte os som hjemme. Der fløj et Dannebrog til Tops, og Hytten syntes os et Slot, — aa, disse kære Farver, hvor gjorde de dog godt! Nu traadte vi i Stuen ind, vor syge Ven blev baaret, saa rørende en Velkomst blev aldrig os beskaaret. I Ovnen brændte festligt Baal, og mange hvide Lys stod tændt, — vi maatte alle tie med Ansigtet bortvendt. Saa drak vi da et godt Glas Vin og smagte Fruens Kage, vi skal nok aldrig glemme den Stund, vi kom tilbage; det sagde ogsaa O'sakrak, da han af Hvedebrødet bed: — »Ja, nu kan jeg begribe, I længtes svært herned!« ... Men laa der intet Brevskab gemt? — min Puls tog til at banke, den store Post fra Danmark var aldrig af min Tanke. — Nej! Ingen Hilsen, intet Bud! da blev mit Hjærte koldt som Is, saa har I Stakler hjemme vel frygtet vort Forlis! ... S j k k K Sj l
  • 79. Se — jeg er karsk paa Krop og Sjæl, og vi skal atter mødes, og af vor Gensyns-Lykke skal ny Værdier fødes. Og er endnu min Hjemvej lang, og faar jeg ingen Breve, aa Gud, om vi naar sammen, hvor smukt skal vi da leve!
  • 80. LIV
  • 81. Ja, Livet er dejligt, og Livet er langt for den, som har Sans til at leve det ret, men hjemme dèr gaar vi og har det saa trangt, naar Udlængslen snører vort Aandedræt. — Den Solsort og Lærke og Gøg sang forgæves, jeg gad ikke se Bekkasinen i Mose, af Lyngblomst og Rose var længst jeg træt, var vammel ved Troskab, forbitret af Svig, men Verden derude var stor og rig, og kostelige Skatte skulde hæves. Saa traadte min Fod den forjættede Muld, og dejligt var Livet, hvorhen jeg end foer, men ikke alt det, som glimred, var Guld, og tidt blev der øde, hvor jeg satte Spor. Snart sang jeg, snart græd jeg — og fandt ikke Skatten, min Sjæl blev bekymret — hvor gemtes vel Lykken? saa sejled fra Bryggen jeg længst mod Nord, dèr leved jeg rigt i en livsforladt Egn, dèr inddrak min Sjæl sin befrugtende Regn og skjalv dog for Mørket og Natten. Da kom der en stormfuld, oprivende Tid, for første Gang fik jeg mig selv endevendt, — dèr stod jeg saa sort, hvor jeg før var hvid, nu først fik den rette Kulør jeg bekendt ... Vi tumler i Rummet som vildsomme Sole og véd hverken ud eller ind med vor Bane, kan slet ikke ane, hvordan den var endt, men just som det hvirvlende Vejr vil opsluge os, faar vi Tag i os selv, nu kan Livet bruge os — Livet, den kostelige Skole!
  • 82. — Og det blev just Skatten, den Vildfarne fandt dèrude, hvorhen alle Længsler ham drog, at Fred til en Selv-Omvurdering han vandt, og læged blev Vunderne, Livet ham slog. Det dyrebart dejlige Liv, det, som frister og drager langt bort fra de hjemlige Kyster til vovsomme Dyster afsindig og klog. Ja, Livet er farligt og dejligt og dyrt, og Lysten til Livet en adelig Byrd, hvad enten det bær eller brister. — Du dejlige Liv, som jeg nu har forladt, du dejlige Liv, som jeg drager imod fra Pollandets nordlys-forsølvede Nat til Foraar med Midnatssols gyldne Flod! Jeg aander saa henrykt befriet mod Verden, fjernt borte fra hilser mig hjemlige Vinde, jeg har en Veninde — og træt er min Fod — ja, dejligt er Livet i Fare og Flugt, men dejligst af alt, som er dejligt og smukt, er altid min Hjemkomst fra Færden!
  • 83. *** END OF THE PROJECT GUTENBERG EBOOK ISBLINK: DIGTE FRA DEN GRØNLANDSKE POLARREGION *** Updated editions will replace the previous one—the old editions will be renamed. Creating the works from print editions not protected by U.S. copyright law means that no one owns a United States copyright in these works, so the Foundation (and you!) can copy and distribute it in the United States without permission and without paying copyright royalties. Special rules, set forth in the General Terms of Use part of this license, apply to copying and distributing Project Gutenberg™ electronic works to protect the PROJECT GUTENBERG™ concept and trademark. Project Gutenberg is a registered trademark, and may not be used if you charge for an eBook, except by following the terms of the trademark license, including paying royalties for use of the Project Gutenberg trademark. If you do not charge anything for copies of this eBook, complying with the trademark license is very easy. You may use this eBook for nearly any purpose such as creation of derivative works, reports, performances and research. Project Gutenberg eBooks may be modified and printed and given away—you may do practically ANYTHING in the United States with eBooks not protected by U.S. copyright law. Redistribution is subject to the trademark license, especially commercial redistribution. START: FULL LICENSE
  • 84. THE FULL PROJECT GUTENBERG LICENSE
  • 85. PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK To protect the Project Gutenberg™ mission of promoting the free distribution of electronic works, by using or distributing this work (or any other work associated in any way with the phrase “Project Gutenberg”), you agree to comply with all the terms of the Full Project Gutenberg™ License available with this file or online at www.gutenberg.org/license. Section 1. General Terms of Use and Redistributing Project Gutenberg™ electronic works 1.A. By reading or using any part of this Project Gutenberg™ electronic work, you indicate that you have read, understand, agree to and accept all the terms of this license and intellectual property (trademark/copyright) agreement. If you do not agree to abide by all the terms of this agreement, you must cease using and return or destroy all copies of Project Gutenberg™ electronic works in your possession. If you paid a fee for obtaining a copy of or access to a Project Gutenberg™ electronic work and you do not agree to be bound by the terms of this agreement, you may obtain a refund from the person or entity to whom you paid the fee as set forth in paragraph 1.E.8. 1.B. “Project Gutenberg” is a registered trademark. It may only be used on or associated in any way with an electronic work by people who agree to be bound by the terms of this agreement. There are a few things that you can do with most Project Gutenberg™ electronic works even without complying with the full terms of this agreement. See paragraph 1.C below. There are a lot of things you can do with Project Gutenberg™ electronic works if you follow the terms of this agreement and help preserve free future access to Project Gutenberg™ electronic works. See paragraph 1.E below.
  • 86. 1.C. The Project Gutenberg Literary Archive Foundation (“the Foundation” or PGLAF), owns a compilation copyright in the collection of Project Gutenberg™ electronic works. Nearly all the individual works in the collection are in the public domain in the United States. If an individual work is unprotected by copyright law in the United States and you are located in the United States, we do not claim a right to prevent you from copying, distributing, performing, displaying or creating derivative works based on the work as long as all references to Project Gutenberg are removed. Of course, we hope that you will support the Project Gutenberg™ mission of promoting free access to electronic works by freely sharing Project Gutenberg™ works in compliance with the terms of this agreement for keeping the Project Gutenberg™ name associated with the work. You can easily comply with the terms of this agreement by keeping this work in the same format with its attached full Project Gutenberg™ License when you share it without charge with others. 1.D. The copyright laws of the place where you are located also govern what you can do with this work. Copyright laws in most countries are in a constant state of change. If you are outside the United States, check the laws of your country in addition to the terms of this agreement before downloading, copying, displaying, performing, distributing or creating derivative works based on this work or any other Project Gutenberg™ work. The Foundation makes no representations concerning the copyright status of any work in any country other than the United States. 1.E. Unless you have removed all references to Project Gutenberg: 1.E.1. The following sentence, with active links to, or other immediate access to, the full Project Gutenberg™ License must appear prominently whenever any copy of a Project Gutenberg™ work (any work on which the phrase “Project Gutenberg”
  • 87. appears, or with which the phrase “Project Gutenberg” is associated) is accessed, displayed, performed, viewed, copied or distributed: This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you will have to check the laws of the country where you are located before using this eBook. 1.E.2. If an individual Project Gutenberg™ electronic work is derived from texts not protected by U.S. copyright law (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase “Project Gutenberg” associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9. 1.E.3. If an individual Project Gutenberg™ electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg™ License for all works posted with the permission of the copyright holder found at the beginning of this work. 1.E.4. Do not unlink or detach or remove the full Project Gutenberg™ License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg™.
  • 88. Welcome to our website – the perfect destination for book lovers and knowledge seekers. We believe that every book holds a new world, offering opportunities for learning, discovery, and personal growth. That’s why we are dedicated to bringing you a diverse collection of books, ranging from classic literature and specialized publications to self-development guides and children's books. More than just a book-buying platform, we strive to be a bridge connecting you with timeless cultural and intellectual values. With an elegant, user-friendly interface and a smart search system, you can quickly find the books that best suit your interests. Additionally, our special promotions and home delivery services help you save time and fully enjoy the joy of reading. Join us on a journey of knowledge exploration, passion nurturing, and personal growth every day! ebookbell.com