Mal was anderes als Java. Die Programmiersprache COBOL läuft auch auf dem Raspberry Pi. Es gibt eine kostenlose Version, GnuCobol das in 5 Minuten installiert werden kann.
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install open-cobol |
Es wird die Version 1.1.0 von GnuCobol (OpenCobol) installiert. Dass kann man leicht auf der Konsole testen mit:
1 |
cobc -V |
So, nun wollen wir wie üblich erst einmal ein erstes COBOL Programm compilieren. Dazu erstellen wir die hello.cob Datei mit diesem Inhalt:
1 2 3 4 5 6 |
000100* hallo.cob GnuCobol Beispiel 000200 IDENTIFICATION DIVISION. 000300 PROGRAM-ID. hallo. 000400 PROCEDURE DIVISION. 000500 DISPLAY "Hallo Welt". 000600 STOP RUN. |
Dies COBOL Datei compilieren wir mit diesem Aufruf:
1 |
cobc -x hallo.cob |
Nach ein paar Sekunden ist die Datei compiliert. Die hallo Datei liegt nun im gleichen Verzeichnis und kann nun wie folgt ausgeführt werden:
1 |
./hallo |
Wir erhalten das programmierte Ergebnis:
1 |
Hallo Welt |
Weitere Optionen des Cobol-Compilers gibt es mit cobc -h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
Usage: cobc [options] file... Options: --help Display this message --version, -V Display compiler version -v Display the programs invoked by the compiler -x Build an executable program -m Build a dynamically loadable module (default) -std=<dialect> Compile for a specific dialect : cobol2002 Cobol 2002 cobol85 Cobol 85 ibm IBM Compatible mvs MVS Compatible bs2000 BS2000 Compatible mf Micro Focus Compatible default When not specified See config/default.conf and config/*.conf -free Use free source format -fixed Use fixed source format (default) -O, -O2, -Os Enable optimization -g Produce debugging information in the output -debug Enable all run-time error checking -o <file> Place the output into <file> -b Combine all input files into a single dynamically loadable module -E Preprocess only; do not compile, assemble or link -C Translation only; convert COBOL to C -S Compile only; output assembly file -c Compile and assemble, but do not link -t <file> Generate and place a program listing into <file> -I <directory> Add <directory> to copy/include search path -L <directory> Add <directory> to library search path -l <lib> Link the library <lib> -D <define> Pass <define> to the C compiler -conf=<file> User defined dialect configuration - See -std= --list-reserved Display reserved words --list-intrinsics Display intrinsic functions --list-mnemonics Display mnemonic names -save-temps(=<dir>) Save intermediate files (default current directory) -MT <target> Set target file used in dependency list -MF <file> Place dependency list into <file> -ext <extension> Add default file extension -W Enable ALL warnings -Wall Enable all warnings except as noted below -Wobsolete Warn if obsolete features are used -Warchaic Warn if archaic features are used -Wredefinition Warn incompatible redefinition of data items -Wconstant Warn inconsistent constant -Wparentheses Warn lack of parentheses around AND within OR -Wstrict-typing Warn type mismatch strictly -Wimplicit-define Warn implicitly defined data items -Wcall-params Warn non 01/77 items for CALL params (NOT set with -Wall) -Wcolumn-overflow Warn text after column 72, FIXED format (NOT set with -Wall) -Wterminator Warn lack of scope terminator END-XXX (NOT set with -Wall) -Wtruncate Warn possible field truncation (NOT set with -Wall) -Wlinkage Warn dangling LINKAGE items (NOT set with -Wall) -Wunreachable Warn unreachable statements (NOT set with -Wall) -ftrace Generate trace code (Executed SECTION/PARAGRAPH) -ftraceall Generate trace code (Executed SECTION/PARAGRAPH/STATEMENTS) -fsyntax-only Syntax error checking only; don't emit any output -fdebugging-line Enable debugging lines ('D' in indicator column) -fsource-location Generate source location code (Turned on by -debug or -g) -fimplicit-init Do automatic initialization of the Cobol runtime system -fsign-ascii Numeric display sign ASCII (Default on ASCII machines) -fsign-ebcdic Numeric display sign EBCDIC (Default on EBCDIC machines) -fstack-check PERFORM stack checking (Turned on by -debug or -g) -ffold-copy-lower Fold COPY subject to lower case (Default no transformation) -ffold-copy-upper Fold COPY subject to upper case (Default no transformation) -fnotrunc Do not truncate binary fields according to PICTURE -ffunctions-all Allow use of intrinsic functions without FUNCTION keyword -fmfcomment '*' or '/' in column 1 treated as comment (FIXED only) -fnull-param Pass extra NULL terminating pointers on CALL statements |
Eine kleine Mindmap zu COBOL gibt es hier.