GCOBOL(1) 1 (gcc cobol compiler) GCOBOL(1) (NAME) gcobol - (SYNOPSIS) gcobol [-Dname[=value]] [-E] [-fdefaultbyte=value] [-fsyntax-only] [-Icopybook-path] [-fmax-errors=nerror] [-nomain | -main filename | -main=filename -main=filename:program-id] [-fcobol-exceptions exception[,exception...]] [-copyext ext] [-ffixed-form | -ffree-form] [-findicator-column] [-fexec-charset=encoding] [-fexec-national-charset=encoding] [-dialect dialect-name] [-include filename] [-preprocess preprocess-filter] [-fflex-debug] [-fyacc-debug] [-Wno-apply-commit] [-Wno-file-code-set] [-Wno-high-order-bit] [-Wno-bad-line-directive] [-Wno-bad-numeric] [-Wno-binary-long-long] [-Wno-call-giving] [-Wno-call-literal] [-Wno-cdf-dollar] [-Wno-cdf-invalid-parameter] [-Wno-cdf-name-not-found] [-Wno-cobol-eject] [-Wno-cobol-resume] [-Wno-cobol-volatile] [-Wno-comp-6] [-Wno-comp-x] [-Wno-copybook-found] [-Wno-ec-unknown] [-Wno-entry-convention] [-Wno-iconv-error] [-Wno-include-file-found] [-Wno-include-file-not-found] [-Wno-inspect-trailing] [-Wno-length-of] [-Wno-level-1-occurs] [-Wno-level-78] [-Wno-level-78-defined] [-Wno-literal-concat] [-Wno-locale-error] [-Wno-move-corresponding] [-Wno-move-index] [-Wno-move-pointer] [-Wno-nllanginfo-error] [-Wno-operator-space] [-Wno-preprocessor-error] [-Wno-procedure-not-found] [-Wno-procedure-pointer] [-Wno-replace-error] [-Wno-returning-number] [-Wno-segment-error] [-Wno-segment-negative] [-Wno-stop-number] [-Wno-stray-indicator] [-Wno-usage-typename] [-Wno-recording-mode] [-Wno-set-locale-to] [-Wno-set-to-locale] filename [...] (DESCRIPTION) gcobol COBOL (shared object) . GCC . COBOL . (OPTIONS) -main filename gcobol main() PROGRAM-ID filename . -main . -nomain - -c -shared -main . -main=filename .o filename main() PROGRAM-ID filename . -main=filename:program-id .o filename main() program-id . -nomain main() . -nomain -main -shared . -main - -c . -main -nomain . -D name[=expr] CDF ( >>IF) expr . -E COBOL CDF (free-form reference format) . -COBOL copybook . . C . -fsyntax-only . -fdefaultbyte=value value 0 255 WORKING- STORAGE VALUE . - . value . -fsyntax-only (parser) . . -copyext ext CDF COPY name name name Copybooks . -copyext ext . ext . ext . -copyext .abc CDF COPY name gcobol `name.abc' `name.ABC' . -ffixed-form (fixed-form reference format) COBOL: 72 6 . 72 . -ffree-form COBOL (free-form reference format) . `*' . -indicator-column 0. -findicator-column (Indicator Area) COBOL (Reference Format) -- " " -- -- -- . gcobol COBOL (extended source format) . COBOL . ( .) . . gcobol "program-id" . . . . . -fcobol-exceptions exception [,exception...] ( ) ISO CDF TURN . TURN . . exception ISO/IEC 1989:2023 . `EC-ALL' . -fno-cobol-exceptions exception >>TURN exception CHECKING OFF . . . -fmax-errors=nerror nerror . gcobol . gcobol nerror . -fstatic-call, -fno-static-call -fno-static-call - gcobol (static linking) CALL program . -fstatic-call - program - gcobol program . ( CONSTANT .) program " (unresolved symbol)" . -fno-static-call - gcobol . CALL . program dlsym(3) . -fexec-charset=encoding - CHARACTER CLASSIFICATION CONFIGURATION SECTION . encoding iconv(3) . - NATIONAL CP1252 iconv(3) . -fexec-national-charset=encoding NATIONAL CHARACTER CLASSIFICATION CONFIGURATION SECTION . encoding iconv(3) . EBCDIC -fexec-national-charset=CP1140 . -dialect dialect-name gcobol COBOL ISO/IEC 1989:2023 COBOL-85. . dialect-name : ibm IBM COBOL 6.4: o EJECT o EQUAL o LENGTH OF o PROCEDURE POINTER o (segment) SECTION o STOP o VOLATILE o : RETURN-CODE S9(4) SORT-CONTROL X(160) SORT-CORE-SIZE S9(8) SORT-FILE-SIZE S9(8) SORT-MESSAGE X(8) SORT-MODE-SIZE S9(5) SORT-RETURN S9(4) TALLY 9(5) WHEN-COMPILED X(16) XML-CODE S9(9) XML-EVENT X(30) XML-INFORMATION S9(9) XML-NAMESPACE X(0) X(32,768) XML-NNAMESPACE N(0) N(16,384) XML-NAMESPACE-PREFIX X(0) X(4,096) XML-NNAMESPACE-PREFIX N(0) N(2,048) XML-NTEXT N(0) N(2,000,000) XML-TEXT X(0) X(2,147,483,646) gnu GnuCOBOL MicroFocus . mf MicroFocus: o BINARY-LONG-LONG o CALL ... GIVING o CDF $IF o COMPUTATIONAL-6 o COMPUTATIONAL PICTURE X o INSPECT ... TRAILING o OCCURS LEVEL 01 o LEVEL 78 o MOVE POINTER o RETURNING o USAGE IS TYPENAME -include filename filename COPY "filename" . filename . . -include . -preprocess preprocess-filter CDF COBOL cobol1 . sed(1) preprocess-filter . preprocess-filter -Wl . ( .) gcobol preprocess-filter . -preprocess tee,output.cbl tee(1) output.cbl . gcobol PATH preprocess-filter . . . -preprocess . preprocess-filter . preprocess-filter . . -fflex-debug, -fyacc-debug . -fflex-debug . -fyacc-debug (shift and reduce) . (Diagnostic Messages) COBOL . . ( ) . -Wno-apply-commit APPLY COMMIT. -Wno-bad-line-directive `#line'. -Wno-binary-long-long BINARY-LONG-LONG. -Wno-call_giving CALL ... GIVING. -Wno-call_literal CALL (by reference). -Wno-cdf-dollar CDF $IF. -Wno-comp-6 COMPUTATIONAL-6. -Wno-comp-x COMPUTATIONAL PICTURE X. -Wno-file-code-set FILE CODE SET. -Wno-inspect-trailing INSPECT ... TRAILING. -Wno-level-1-occurs Level 01 OCCURS. -Wno-level-78-defined Level 78 CDF. -Wno-move-index MOVE INDEX. -Wno-move-pointer MOVE POINTER. -Wno-returning-number RETURNING . -Wno-usage-typename USAGE IS TYPENAME. -Wno-bad-numeric . -Wno-cdf-invalid-parameter CDF PARAMETER . -Wno-cdf-name-not-found CDF . -Wno-cobol-eject EJECT IBM ( ). -Wno-cobol-resume RESUME ISO -dialect ibm ( ). -Wno-cobol-volatile VOLATILE ( -dialect ibm). -Wno-copybook-found copybook. -Wno-ec-unknown . -Wno-entry-convention ENTRY CONVENTION. -Wno-high-order-bit HIGH-ORDER-LEFT HIGH-ORDER-RIGHT. -Wno-include-file-found (include file). -Wno-length-of LENGTH OF. -Wno-level-78 Level 78. -Wno-literal-concat . -Wno-locale-error locale(3). -Wno-move-corresponding COBOL MOVE . -Wno-nllanginfo-error nl_langinfo(3). -Wno-recording-mode RECORDING MODE. -Wno-segment SECTION. -Wno-set-locale-to SET LOCALE ... TO. -Wno-set-to-locale SET ... TO LOCALE. line ( ). -Wno-iconv-error iconv(3) ( ). -Wno-include-file-not-found include ( ). -Wno-operator-space ( ). -Wno-preprocessor-error ( ). -Wno-procedure-pointer PROCEDURE POINTER. -Wno-procedure-not-found ( ). -Wno-replace-error REPLACE ( ). -Wno-segment-error SEGMENT ( ). -Wno-segment-negative SEGMENT ( ). -Wno-stop-number STOP IBM ( ). -Wno-stray-indicator ( ). (COMPILATION SCENARIOS) gcobol xyz.cob gcobol -main xyz.cob gcobol -main=xyz.cob xyz.cob . xyz.cob main() PROGRAM-ID xyz.cob . gcobol -nomain xyz.cob elsewhere.o -nomain main() gcobol . main() elsewhere.o "missing main" ( ) . gcobol aaa.cob bbb.cob ccc.cob gcobol -main aaa.cob bbb.cob ccc.cob . main() PROGRAM-ID aaa.cob . gcobol aaa.cob bbb.cob -main ccc.cob gcobol -main=ccc.cob aaa.cob bbb.cob ccc.cob : a.out PROGRAM-ID ccc.cob . gcobol -main=bbb.cob:b-entry aaa.cob bbb.cob ccc.cob a.out PROGRAM-ID b-entry . gcobol -c aaa.cob gcobol -c -main bbb.cob gcobol -c ccc.cob gcobol aaa.o bbb.o ccc.o .o . bbb.o main() PROGRAM-ID bbb . .o a.out . EBCDIC -fexec-charset=cp1140 COBOL EBCDIC . COBOL ASCII EBCDIC EBCDIC . EBCDIC . COBOL . 1140 EBCDIC 1252 . . locale(7) . ACCEPT DISPLAY . . -- . USAGE CODESET . (Feature-set Variables) . REDEFINES ... USAGE POINTER ISO REDEFINES LEVEL 01 EXTERNAL . -dialect ibm REDEFINES USAGE POINTER USAGE COMP-5 ( PIC S9(8)) . . . (Feature-set Variables) . (IMPLEMENTATION NOTES) gcobol gcc gcc . ( ) . ISO gcc . (Linking) C CALL COBOL CALL program program . - CONSTANT. gcobol -fno-static-call . . (shared object) . " (unresolved symbol)" ( ) . . ( CALL ) -no-static-call . CALL . (Implemented Exception Conditions) ISO (EC) . TURN . . DECLARATIVE . ( .) RESUME abort(3) . . . : EC-FUNCTION-ARGUMENT : ACOS ANNUITY ASIN LOG LOG10 PRESENT-VALUE SQRT EC-SORT-MERGE-FILE-OPEN EC-BOUND-SUBSCRIPT occurs . EC-BOUND-REF-MOD refmod + . EC-BOUND-ODO DEPENDING occurs occurs DEPENDING . EC-SIZE-ZERO-DIVIDE . EC-SIZE-TRUNCATION EC-SIZE-EXPONENTIATION COBOL ISO/IEC 1989:2023 . gcobol . ISO (EXTENSIONS TO ISO COBOL) COBOL . gcobol GnuCOBOL . ISO IBM . gcobol IBM . (Environment Variables) : ACCEPT target FROM ENVIRONMENT envar target DATA DIVISION envar . envar - . target (MOVE) . MOVE . : SET ENVIRONMENT envar TO source source DATA DIVISION envar . envar - . source . (Command-line Arguments) COMMAND-LINE COMMAND-LINE-COUNT () ACCEPT . COMMAND-LINE . COMMAND-LINE . : ./program -i input output ACCEPT target FROM COMMAND-LINE(3) input target . COMMAND-LINE COMMAND-LINE(1) . : ACCEPT target FROM COMMAND-LINE-COUNT ACCEPT LOW-VALUES . LINKAGE SECTION . : linkage section. 01 argc pic 999. 01 argv. 02 argv-table occurs 1 to 100 times depending on argc. 03 argv-element pointer. 01 argv-string pic x(100) . : procedure division using by value argc by reference argv. set address of argv-string to argv-element(3) display argv-string #line (#line directive) : #line lineno "filename". lineno filename . (debugger) . SELECT ... ASSIGN TO ASSIGN TO filename filename . . . filename . filename . XML PARSE gcobol XML PARSE IBM . XML-EVENT : COMMENT () "" CONTENT-CHARACTERS . END-OF-ELEMENT . PROCESSING-INSTRUCTION-DATA ( ) "?>". PROCESSING-INSTRUCTION-TARGET XML-TEXT XML-NTEXT . START-OF-ELEMENT . ISO (ISO COBOL Implementation Status) USAGE (USAGE Data Types) gcobol USAGE IS : INDEX . POINTER PROGRAM-ID . SET . BINARY, COMP, COMPUTATIONAL, COMP-4, COMPUTATIONAL-4 big-endian PICTURE. COMP-1, COMPUTATIONAL-1, FLOAT-BINARY-32 ( ) IEEE 754 . COMP-2, COMPUTATIONAL-2, FLOAT-BINARY-64 ( ) IEEE 754 . COMP-3, COMPUTATIONAL-3, PACKED-DECIMAL . COMP-5, COMPUTATIONAL-5 little-endian PICTURE. FLOAT-BINARY-128, FLOAT-EXTENDED IEEE 754 . gcobol ISO BINARY- COMP-5 . COMP-5 Compatible Picture BINARY Type Bytes Value BINARY-CHAR 1 0 -- 256 [UNSIGNED] S9(1...4) BINARY-CHAR 1 -128 -- +127 SIGNED 9(1...4) BINARY-SHORT 2 0 -- 65535 [UNSIGNED] S9(1...4) BINARY-SHORT 2 -32768 -- +32767 SIGNED 9(5...9) BINARY-LONG 4 0 -- 4,294,967,295 [UNSIGNED] S9(5...9) BINARY-LONG 4 -2,147,483,648 -- SIGNED +2,147,483,647 9(10...18) BINARY-LONG-LONG 8 0 -- [UNSIGNED] 18,446,744,073,709,551,615 S9(10...18) BINARY-LONG-LONG 8 -9,223,372,036,854,775,808 SIGNED -- +9,223,372,036,854,775,807 ( ) PICTURE . ISO SIGNED BINARY-type . -- -- . (Environment Names) gcobol DISPLAY UPON SYSOUT STDOUT SYSPUNCH SYSPCH STDERR . (Exit Status) gcobol ISO : STOP RUN [WITH] {NORMAL | ERROR} [STATUS] status gcobol IBM . RETURN-CODE : MOVE ZERO TO RETURN-CODE. GOBACK. RETURN-CODE . (COMPILER-DIRECTING FACILITY) (CDF) . CDF (CDF Text Manipulation) COPY copybook [OF|BY library] [REPLACING ...] copybook . copybook COBOL gcobol copybook copybook . : o copybook ( ) o copybook.cpy o copybook.CPY o copybook.cbl o copybook.CBL o copybook.cob o copybook.COB . copybook-path -I . copybook-path ( PATH ) (:) . -I . copybook-path . ( `/' ) . -I /usr/local/include:include COBOL /usr/local/include include gcobol . REPLACING COBOL/85 . ( NIST CCVS/85 .) REPLACE ... gcobol ISO REPLACE . CDF (CDF Directives) >>DEFINE name AS {expression | PARAMETER} [OVERRIDE] name expression . name OVERRIDE . AS PARAMETER gcobol . >>DEFINE name AS OFF name . >>IF cce text [>>ELSE alt-text] >>END-IF cce (constant conditional expression) . cce -D . (true) text COBOL . (false) else-text ( ) . [IS [NOT]] DEFINED . . >>EVALUATE . >>CALL-CONVENTION convention convention : COBOL COBOL. CALL "name " name . C . CALL . VERBATIM >>CALL-CONVENTION C. >>COBOL-WORDS EQUATE keyword WITH alias alias keyword . >>COBOL-WORDS UNDEFINE keyword keyword COBOL . . >>COBOL-WORDS SUBSTITUTE keyword BY new-word keyword new-word . keyword . >>COBOL-WORDS RESERVE new-word new-word COBOL . . >>DISPLAY string ... string . >>SOURCE format format : FIXED COBOL . FREE COBOL . `*' () . >>FLAG-02 . >>FLAG-85 . >>FLAG-NATIVE-ARITHMETIC . >>LEAP-SECOND . >>LISTING . >>PAGE . >>PROPAGATE . >>PUSH directive >>POP directive PUSH CDF . POP . directive : CALL-CONVENTION COBOL-WORDS DEFINE SOURCE FORMAT TURN >>TURN [ec [file ...] ...] CHECKING {[ON] [[WITH] LOCATION] | OFF} ec file ( OFF ) . LOCATION gcobol . (Feature-set Variables) (feature-set) CDF gcobol . >>DEFINE >>IF `%' COBOL : %EBCDIC-MODE -fexec-charset= EBCDIC . %64-BIT-POINTER -dialect ibm . : >>SET feature [AS] {ON | OFF} feature %EBCDIC-MODE PROGRAM-ID . : >>IF feature DEFINED (Intrinsic functions) gcobol ISO/IEC 1989:2023 . : ABS ACOS ANNUITY ASIN ATAN BASECONVERT BIT-OF BIT-TO-CHAR BOOLEAN-OF-INTEGER BYTE-LENGTH CHAR CHAR-NATIONAL COMBINED-DATETIME CONCAT CONVERT COS CURRENT-DATE DATE-OF-INTEGER DATE-TO-YYYYMMDD DAY-OF-INTEGER DAY-TO-YYYYDDD DISPLAY-OF E EXCEPTION-FILE EXCEPTION-FILE-N EXCEPTION-LOCATION EXCEPTION-LOCATION-N EXCEPTION-STATEMENT EXCEPTION-STATUS EXP EXP10 FACTORIAL FIND-STRING FORMATTED-CURRENT-DATE FORMATTED-DATE FORMATTED- DATETIME FORMATTED-TIME FRACTION-PART HEX-OF HEX-TO-CHAR HIGHEST-ALGEBRAIC INTEGER INTEGER-OF-BOOLEAN INTEGER-OF-DATE INTEGER-OF-DAY INTEGER-OF- FORMATTED-DATE INTEGER-PART LENGTH LOCALE-COMPARE LOCALE-DATE LOCALE-TIME LOCALE-TIME-FROM-SECONDS LOG LOG10 LOWER-CASE LOWEST-ALGEBRAIC MAX MEAN MEDIAN MIDRANGE MIN MOD MODULE-NAME NATIONAL-OF NUMVAL NUMVAL-C NUMVAL-F ORD ORD-MAX ORD-MIN PI PRESENT-VALUE RANDOM RANGE REM REVERSE SECONDS-FROM-FORMATTED-TIME SECONDS-PAST-MIDNIGHT SIGN SIN SMALLEST- ALGEBRAIC SQRT STANDARD-COMPARE STANDARD-DEVIATION SUBSTITUTE SUM TAN TEST-DATE-YYYYMMDD TEST-DAY-YYYYDDD TEST-FORMATTED-DATETIME TEST- NUMVAL TEST-NUMVAL-C TEST-NUMVAL-F TRIM ULENGTH UPOS UPPER-CASE USUBSTR USUPPLEMENTARY UUID4 UVALID UWIDTH VARIANCE WHEN-COMPILED YEAR-TO-YYYY DISPLAY (Binary floating point DISPLAY) DISPLAY . 123456.789... . 0.0001234... . () : 1.23456E+7. . COMP-1 . COMP-2 . FLOAT-EXTENDED . IEEE 754 . binary64 COMP-2 ( ). IEEE 754 () . DISPLAY COMP-2 . MOVE (Binary floating point MOVE) MOVE () . Numeric Display . : 01 PICV999 PIC 9999V999. 01 COMP2 COMP-2. PROCEDURE DIVISION. MOVE 1.001 to PICV999 MOVE PICV999 TO COMP2 DISPLAY "The result of MOVE " PICV999 " TO COMP2 is " COMP2 MOVE COMP2 to PICV999 DISPLAY "The result of MOVE COMP2 TO PICV999 is " PICV999 : The result of MOVE 0001.001 TO COMP2 is 1.00099999999999989 The result of MOVE COMP2 TO PICV999 is 0001.000 : The result of MOVE 0055.110 TO COMP2 is 55.1099999999999994 The result of MOVE COMP2 TO PICV999 is 0055.110 gcobol . 0055110 55.109999... 1000 () . 55.11 55110 . : MOVE 1.001 to PICV999 MOVE PICV999 TO COMP2 DISPLAY "The result of MOVE " PICV999 " TO COMP2 is " COMP2 MOVE COMP2 to PICV999 DISPLAY "The result of MOVE COMP2 TO PICV999 is " PICV999 ADD COMP2 to ZERO GIVING PICV999 ROUNDED DISPLAY "The result of ADD COMP2 to ZERO GIVING PICV999 ROUNDED is " PICV999 The result of MOVE 0001.001 TO COMP2 is 1.00099999999999989 The result of MOVE COMP2 TO PICV999 is 0001.000 The result of ADD COMP2 to ZERO GIVING PICV999 ROUNDED is 0001.001 (Binary floating point computation) gcobol . . . (A warning about binary floating point comparison) : . . : WORKING-STORAGE SECTION. 01 COMP1 COMP-1 VALUE 555.11. 01 COMP2 COMP-2 VALUE 555.11. PROCEDURE DIVISION. DISPLAY "COMPARE " COMP1 " with " COMP2 IF COMP1 EQUAL COMP2 DISPLAY "Equal" ELSE DISPLAY "Not equal" END-IF MOVE COMP1 to COMP2 DISPLAY "COMPARE " COMP1 " with " COMP2 IF COMP1 EQUAL COMP2 DISPLAY "Equal" ELSE DISPLAY "Not equal" END-IF : COMPARE 555.1099854 with 555.110000000000014 Not equal COMPARE 555.1099854 with 555.1099853515625 Equal gcobol . . COMP1 COMP2 FLOAT-EXTENDED () . . . gcobol COBOL . . (ENVIRONMENT) COBPATH libgcobol.so (shared objects) . LD_LIBRARY_PATH (`:') . COBPATH LD_LIBRARY_PATH. COBPATH libgcobol.so . libgcobol.so ld.so(8) libgcobol. `.so' . dlopen(3) dlsym(3). . COBPATH gcobol gcc . -llibrary RPATH ld.so(8) . UPSI COBOL (UPSI) . UPSI-0 UPSI-7 0 7 . UPSI UPSI 1 0 . UPSI-0 0 . UPSI=1000011 0 5 6 UPSI-0 UPSI-5 UPSI-6 . GCOBOL_TEMPDIR CDF GCOBOL_TEMPDIR . "/" : copybook . copybook . (Variables for Developers) GCOBOL_SHOW GENERIC . GCOBOL_TRACE GCOBOL_SHOW . (FILES) gcobol libgcobol . (COMPATIBILITY) ISO SEQUENTIAL . (On-Disk Format) COBOL . ISO . ORGANIZATION IS LINE SEQUENTIAL ( ) gcobol : WRITE ASCII NL ( 0A) . READ NL . NL . SEQUENTIAL LINE SEQUENTIAL : COBOL . READ WRITE ADVANCING . ADVANCING LINE SEQUENTIAL gcobol . . ISO WRITE ( 14.9.47.3 ) ADVANCING " " (ignored)ADVANCING WRITE " AFTER ADVANCING 1 LINE ". WRITE LINE SEQUENTIAL NL NL . ADVANCING LINE SEQUENTIAL . (SEE ALSO) gcc(1) (STANDARDS) gcobol ISO/IEC 1989:2023 . o gcobol . o gcobol . -pedantic . o gcobol COBOL ( ). . NIST (Status of NIST COBOL Compiler Verification Suite) NC 100% (Nucleus) SQ 100% / (Sequential I/O) RL 100% / (Relative I/O) IX 100% / (Indexed I/O) IC 100% (Inter-Program Communication) ST 100% (Sort-Merge) SM 100% RW \n (Report Writer) CM (Communication) DB to do? (Debug) SG (Segmentation) IF 100% (Intrinsic Function) gcobol () . . (Notable deferred features) CCVS-85 (CM SG) " " . gcobol Report Writer Screen Section . COBOL/85 (Beyond COBOL/85) gcobol ISO/IEC 1989:2023 . DECLARATIVES CCVS-85 gcobol . (Exception Conditions) gcobol . COBOL-85 COBOL . ( ) . ISO COBOL GCC . (HISTORY) COBOL . COBOL . COBOL GCC cobolforgcc: https://cobolforgcc.sourceforge.net GCC . COBOLworx: https://www.cobolworx.com . . (AUTHORS) James K. Lowden (jklowden@cobolworx.com) (parser) . Robert Dubner (rdubner@cobolworx.com) GIMPLE (back-end) GCC . (CAVEATS) o gcobol x64 Apple M1 . o / (I/O) VSAM . LINE-SEQUENTIAL INDEXED RELATIVE gcobol COBOL . I/O . Linux February 2025 Linux