Primesgen.out: Difference between revisions

From Webhuis wiki
Jump to navigation Jump to search
(Created page with "This is the compplete source code of the primes Cobol program, which contains the high level SQL statements. <pre> </pre> <hr/> Terug naar: primes")
 
No edit summary
 
Line 1: Line 1:
This is the compplete source code of the primes Cobol program, which contains the high level SQL statements.
This is the outpur of the primesmain Cobol program compilation.
<pre>
<pre>
GnuCOBOL 4.0-early-dev. primesgen.cbl Fri Dec 5 15:28:35 2025 Page 0001

LINE PG/LN A...B............................................................SEQUENCE

000001 identification division.
000002 program-id. primesgen.
000003
000004 environment division.
000005 configuration section.
000006 source-computer. linux-laptop.
000007 object-computer. linux-laptop.
000008 special-names.
000009 console is scherm.
000010
000011 input-output section.
000012 file-control.
000013 select fprinter assign to "primes.prt";
000014 organization line sequential.
000015
000016 data division.
000017 file section.
000018 fd fprinter.
000019 01 file-buffer pic x(132).
000020
000021 working-storage section.
000022 01 filler pic x(32) value "Start WS primesgen".
000023
000024 01 printer.
000025 03 print-buffer PIC X(132).
000026 03 line-number PIC 99 value 99.
000027 03 page-number PIC 9999 value zero.
000028
000029 01 test-quot pic 9(9).
000030
000031 * ui-operations methods and data
000032 *01 ui-session.
000033 * 03 ui-methods pic x(32).
000034 * 88 start-session value "start".
000035 * 88 write-primesui value "write".
000036 * 88 display-primesui value "write".
000037 * 88 stop-session value "stop".
000038 * 03 ui-method-result pic 9(2) value zero.
000039 * 03 primes-set.
000040 * 05 ui-ident pic 9(9).
000041 * 05 ui-prime pic 9(9).
000042
000043 * dalcb-operations methods and data
000044 01 primes.
000045 03 gen-methods pic x(32).
000046 88 query-process value "query".
000047 88 start-process value "start".
000048 88 next-divider value "get".
000049 88 write-prime value "put".
000050 88 stop-process value "stop".
000051 03 primes-result pic 9(2) value zero.
000052 88 init-primes-ok value 1.

GnuCOBOL 4.0-early-dev. primesgen.cbl Fri Dec 5 15:28:35 2025 Page 0002

LINE PG/LN A...B............................................................SEQUENCE

000053 88 first-divider-ok value 2.
000054 88 next-divider-ok value 3.
000055 * 03 prime-sequence pic 9(9).
000056 * 03 prime-number pic 9(9).
000057 03 test-number pic 9(9).
000058 03 test-number-sqr pic 9(9)v9(9).
000059 03 test-divider pic 9(9).
000060 03 test-rest pic 9(9)v9(9).
000061 03 old-test-number pic 9(9).
000062 03 old-ident pic 9(9).
000063 03 new-ident pic 9(9).
000064
000065 copy primes-ui.
000001C * three-tier-operations methods
000002C * ui part, methods available to all objects
000003C 01 primes-ui.
000004C 03 ui-methods pic x(32).
000005C 88 write-ui value "write".
000006C 88 message-ui value "log-message".
000007C 88 start-ui value "start".
000008C 88 stop-ui value "stop".
000009C 03 process-message.
000010C 05 program-name pic x(20).
000011C 05 program-line.
000012C 07 program-paragraph pic x(20).
000013C 07 program-message pic x(92).
000014C 03 u-primes.
000015C 05 u-sequence pic 9(9).
000016C 05 u-number pic 9(9).
000017C 03 ui-method-result pic 9(2) value zero.
000018C 88 ui-method-ok value 0.
000019C 88 ui-method-nok value 1.
000066
000067 copy primes-dal.
000001C * three-tier-operations methods
000002C * business dal tier
000003C 01 primes-dal.
000004C 03 dal-methods pic x(32).
000005C 88 next-prime value "next-prime".
000006C 88 next-divider value "next-divider".
000007C 88 write-prime value "write".
000008C 88 db-cursor value "cursor".
000009C 88 db-connect value "connect".
000010C 88 db-disconnect value "disconnect".
000011C 88 invalid-method value "bad".
000012C 03 primes-data.
000013C 05 primes-sequence pic 9(9).
000014C 05 prime-number pic 9(9).
000015C 03 dal-result pic 9(2) value zero.
000016C 88 dal-method-ok value 0.
000017C 88 dal-method-nok value 1.
000018C 88 dal-method-eof value 99.

GnuCOBOL 4.0-early-dev. primesgen.cbl Fri Dec 5 15:28:35 2025 Page 0003

LINE PG/LN A...B............................................................SEQUENCE

000019C * 03 primes-table.
000020C * 05 ident pic s9(9).
000021C * 05 prime pic s9(9).
000022C
000068
000069 linkage section.
000070
000071 copy primes-session.
000001C * three-tier-operations methods
000002C * business session tier
000003C 01 primes-session.
000004C 03 methods pic x(32).
000005C 88 report-primes value "report".
000006C 88 generate-primes value "generate".
000007C 88 start-primes value "start".
000008C 88 stop-primes value "stop".
000009C 88 invalid-method value "bad".
000010C * 03 primes-data.
000011C * 05 primes-sequence pic 9(9).
000012C * 05 prime-number pic 9(9).
000013C 03 session-result pic 9(2) value zero.
000014C 88 session-method-ok value 0.
000015C 88 session-method-nok value 1.
000016C 88 session-method-eof value 9.
000072
000073 procedure division using primes-session.
000074 * primes-ui, primes-dal.
000075
000076 evaluate true
000077
000078 when report-primes
000079
000080 perform r90-start-primes-report
000081 if session-method-ok then
000082 * move "report" to methods
000083 * perform r86-report-primes until dal-method-eof
000084 perform r86-report-primes until session-method-eof
000085
000086 when generate-primes
000087
000088 perform r91-start-primes-generation
000089 if session-method-ok then
000090 * move "generate" to methods
000091 perform r80-test-number until test-number = 999999999
000092
000093 when other
000094
000095 move "primesgen" to program-name
000096 move "main" to program-paragraph
000097 move 'log-message' to methods
000098 move 'Bad method, primes process failed.'
000099 to program-message

GnuCOBOL 4.0-early-dev. primesgen.cbl Fri Dec 5 15:28:35 2025 Page 0004

LINE PG/LN A...B............................................................SEQUENCE

000100 call "primesui" using primes-ui
000101 end-evaluate.
000102
000103 perform r99-close-primes.
000104
000105 exit program.
000106
000107 r80-test-number.
000108
000109 divide test-number by test-divider giving test-quot
000110 remainder test-rest.
000111
000112 evaluate true
000113 when test-rest = 0
000114 perform r82-next-test-number
000115 when test-divider > test-number-sqr
000116 perform r85-write-prime
000117 perform r82-next-test-number
000118 when other
000119 perform r89-get-next-divider.
000120
000121 r82-next-test-number.
000122
000123 add 2 to test-number.
000124 compute test-number-sqr = test-number ** 0.5 .
000125 move 1 to old-ident.
000126 perform r89-get-next-divider.
000127
000128 r85-write-prime.
000129
000130 move 'write' to ui-methods.
000131 call "primes" using primes-dal.
000132 call "primesui" using primes-ui.
000133 * display primes-result upon scherm.
000134
000135 r86-report-primes.
000136
000137 move 'write' to ui-methods.
000138 move primes-data to u-primes.
000139 call "primesui" using primes-ui.
000140 perform r94-fetch.
000141 * display prime-number upon scherm.
000142
000143 r89-get-next-divider.
000144
000145 move 'get' to gen-methods.
000146 call "primes" using primes.
000147
000148 r90-start-primes-report.
000149
000150 move 'connect' to dal-methods.
000151 call "primes" using primes-dal.

GnuCOBOL 4.0-early-dev. primesgen.cbl Fri Dec 5 15:28:35 2025 Page 0005

LINE PG/LN A...B............................................................SEQUENCE

000152
000153 move "primesgen" to program-name.
000154 move "r90-start-primes-report" to program-paragraph.
000155 move 'log-message' to ui-methods.
000156
000157 if dal-method-ok then
000158 move 'Database initialisation succeeeded.'
000159 to program-message
000160 call "primesui" using primes-ui
000161 else
000162 move 'Database initialisation failed.'
000163 to program-message
000164 call "primesui" using primes-ui
000165 move 1 to session-result.
000166
000167 move 'cursor' to dal-methods.
000168 call "primes" using primes-dal.
000169
000170 move "primesgen" to program-name.
000171 move "r90-start-primes-report" to program-paragraph.
000172 move 'log-message' to ui-methods.
000173
000174 if dal-method-ok then
000175 move 'Cursor initialisation succeeeded.'
000176 to program-message
000177 call "primesui" using primes-ui
000178 else
000179 move 'Cursor initialisation failed.' to program-message
000180 call "primesui" using primes-ui
000181 move 1 to session-result.
000182
000183 if dal-method-ok then
000184 perform r94-fetch.
000185
000186 if dal-method-ok then
000187 move 'Fetch first row ok.' to program-message
000188 move 0 to dal-result
000189 else
000190 move 'Fetch first row nok.' to program-message
000191 move 1 to dal-result.
000192
000193 move 'primesgen' to program-name.
000194 call "primesui" using primes-ui.
000195
000196 r91-start-primes-generation.
000197
000198 move 'connect' to dal-methods.
000199 call "primes" using primes-dal.
000200
000201 move 'log-message' to ui-methods
000202
000203 if dal-method-ok then

GnuCOBOL 4.0-early-dev. primesgen.cbl Fri Dec 5 15:28:35 2025 Page 0006

LINE PG/LN A...B............................................................SEQUENCE

000204 move 2 to test-divider
000205 move 1 to old-ident
000206 move 3 to test-number
000207 compute test-number-sqr = test-number ** 0.5
000208 move 'Database initialisation succeeeded.'
000209 to program-message
000210 call "primesui" using primes-ui
000211 else
000212 move 'Database initialisation failed.'
000213 to program-message
000214 call "primesui" using primes-ui
000215 move 1 to session-result.
000216
000217 r94-fetch.
000218
000219 move 'next-prime' to dal-methods.
000220 call "primes" using primes-dal.
000221
000222 move "primesgen" to program-name.
000223 move "r94-fetch" to program-paragraph.
000224 move 'log-message' to ui-methods.
000225
000226 if dal-method-ok then
000227 next sentence
000228 else
000229 move 'Fetch failed.' to program-message
000230 call "primesui" using primes-ui
000231 move 1 to session-result.
000232
000233 r99-close-primes.
000234
000235 move 'disconnect' to dal-methods.
000236 call "primes" using primes.
000237
000238 move 'log-message' to methods
000239
000240 if dal-method-ok then
000241 move 'Database close succeeeded.'
000242 to program-message
000243 call "primesui" using primes-ui
000244 else
000245 move 'Database close failed.'
000246 to program-message
000247 call "primesui" using primes-ui
000248 move 1 to session-result.
000249


0 warnings in compilation group
0 errors in compilation group


</pre>
</pre>

Latest revision as of 22:20, 9 December 2025

This is the outpur of the primesmain Cobol program compilation.

GnuCOBOL 4.0-early-dev. primesgen.cbl                                                 Fri Dec  5 15:28:35 2025  Page 0001

LINE    PG/LN  A...B............................................................SEQUENCE

000001         identification division.
000002         program-id. primesgen.
000003
000004         environment division.
000005         configuration section.
000006         source-computer. linux-laptop.
000007         object-computer. linux-laptop.
000008         special-names.
000009             console is scherm.
000010
000011         input-output section.
000012         file-control.
000013           select fprinter assign to "primes.prt";
000014           organization line sequential.
000015
000016         data division.
000017         file section.
000018         fd fprinter.
000019         01 file-buffer pic x(132).
000020
000021         working-storage section.
000022         01  filler               pic x(32) value "Start WS primesgen".
000023
000024         01  printer.
000025          03 print-buffer     PIC X(132).
000026          03 line-number      PIC 99 value 99.
000027          03 page-number      PIC 9999 value zero.
000028
000029         01  test-quot        pic 9(9).
000030
000031        *    ui-operations methods and data
000032        *01 ui-session.
000033        * 03 ui-methods        pic x(32).
000034        *  88 start-session    value "start".
000035        *  88 write-primesui   value "write".
000036        *  88 display-primesui value "write".
000037        *  88 stop-session     value "stop".
000038        * 03 ui-method-result  pic 9(2)  value zero.
000039        * 03 primes-set.
000040        *  05 ui-ident        pic 9(9).
000041        *  05 ui-prime        pic 9(9).
000042
000043        *    dalcb-operations methods and data
000044         01 primes.
000045          03 gen-methods      pic x(32).
000046           88 query-process   value "query".
000047           88 start-process   value "start".
000048           88 next-divider    value "get".
000049           88 write-prime     value "put".
000050           88 stop-process    value "stop".
000051          03 primes-result    pic 9(2)  value zero.
000052           88 init-primes-ok   value 1.

GnuCOBOL 4.0-early-dev. primesgen.cbl                                                 Fri Dec  5 15:28:35 2025  Page 0002

LINE    PG/LN  A...B............................................................SEQUENCE

000053           88 first-divider-ok value 2.
000054           88 next-divider-ok  value 3.
000055        * 03 prime-sequence   pic 9(9).
000056        * 03 prime-number     pic 9(9).
000057          03 test-number      pic 9(9).
000058          03 test-number-sqr  pic 9(9)v9(9).
000059          03 test-divider     pic 9(9).
000060          03 test-rest        pic 9(9)v9(9).
000061          03 old-test-number  pic 9(9).
000062          03 old-ident        pic 9(9).
000063          03 new-ident        pic 9(9).
000064
000065             copy primes-ui.
000001C       *    three-tier-operations methods
000002C       *    ui part, methods available to all objects
000003C        01 primes-ui.
000004C         03 ui-methods              pic x(32).
000005C          88 write-ui               value "write".
000006C          88 message-ui             value "log-message".
000007C          88 start-ui               value "start".
000008C          88 stop-ui                value "stop".
000009C         03 process-message.
000010C          05 program-name           pic x(20).
000011C          05 program-line.
000012C           07 program-paragraph     pic x(20).
000013C           07 program-message       pic x(92).
000014C         03 u-primes.
000015C          05 u-sequence             pic 9(9).
000016C          05 u-number               pic 9(9).
000017C         03 ui-method-result        pic 9(2)  value zero.
000018C          88 ui-method-ok           value 0.
000019C          88 ui-method-nok          value 1.
000066
000067             copy primes-dal.
000001C       *    three-tier-operations methods
000002C       *    business dal tier
000003C        01 primes-dal.
000004C         03 dal-methods             pic x(32).
000005C          88 next-prime             value "next-prime".
000006C          88 next-divider           value "next-divider".
000007C          88 write-prime            value "write".
000008C          88 db-cursor              value "cursor".
000009C          88 db-connect             value "connect".
000010C          88 db-disconnect          value "disconnect".
000011C          88 invalid-method         value "bad".
000012C         03  primes-data.
000013C          05 primes-sequence        pic 9(9).
000014C          05 prime-number           pic 9(9).
000015C         03  dal-result             pic 9(2)  value zero.
000016C          88 dal-method-ok          value 0.
000017C          88 dal-method-nok         value 1.
000018C          88 dal-method-eof         value 99.

GnuCOBOL 4.0-early-dev. primesgen.cbl                                                 Fri Dec  5 15:28:35 2025  Page 0003

LINE    PG/LN  A...B............................................................SEQUENCE

000019C       * 03 primes-table.
000020C       *  05 ident                  pic s9(9).
000021C       *  05 prime                  pic s9(9).
000022C
000068
000069         linkage section.
000070
000071             copy primes-session.
000001C       *    three-tier-operations methods
000002C       *    business session tier
000003C        01 primes-session.
000004C         03 methods                 pic x(32).
000005C          88 report-primes          value "report".
000006C          88 generate-primes        value "generate".
000007C          88 start-primes           value "start".
000008C          88 stop-primes            value "stop".
000009C          88 invalid-method         value "bad".
000010C       * 03  primes-data.
000011C       *  05 primes-sequence        pic 9(9).
000012C       *  05 prime-number           pic 9(9).
000013C         03  session-result         pic 9(2)  value zero.
000014C          88 session-method-ok      value 0.
000015C          88 session-method-nok     value 1.
000016C          88 session-method-eof     value 9.
000072
000073             procedure division using primes-session.
000074        *                             primes-ui, primes-dal.
000075
000076             evaluate true
000077
000078               when report-primes
000079
000080                 perform r90-start-primes-report
000081                 if session-method-ok then
000082        *           move "report"      to methods
000083        *           perform r86-report-primes until dal-method-eof
000084                    perform r86-report-primes until session-method-eof
000085
000086               when generate-primes
000087
000088                 perform r91-start-primes-generation
000089                 if session-method-ok then
000090        *           move "generate"   to methods
000091                    perform r80-test-number until test-number = 999999999
000092
000093               when other
000094
000095                 move "primesgen"   to program-name
000096                 move "main"        to program-paragraph
000097                 move 'log-message' to methods
000098                 move 'Bad method, primes process failed.'
000099                   to program-message

GnuCOBOL 4.0-early-dev. primesgen.cbl                                                 Fri Dec  5 15:28:35 2025  Page 0004

LINE    PG/LN  A...B............................................................SEQUENCE

000100                 call "primesui" using primes-ui
000101             end-evaluate.
000102
000103             perform r99-close-primes.
000104
000105             exit program.
000106
000107         r80-test-number.
000108
000109             divide test-number by test-divider giving test-quot
000110                    remainder test-rest.
000111
000112             evaluate true
000113             when test-rest = 0
000114               perform r82-next-test-number
000115             when test-divider  > test-number-sqr
000116               perform r85-write-prime
000117               perform r82-next-test-number
000118             when other
000119               perform r89-get-next-divider.
000120
000121         r82-next-test-number.
000122
000123             add 2 to test-number.
000124             compute test-number-sqr = test-number ** 0.5 .
000125             move 1 to old-ident.
000126             perform r89-get-next-divider.
000127
000128         r85-write-prime.
000129
000130             move 'write'      to ui-methods.
000131             call "primes" using primes-dal.
000132             call "primesui" using primes-ui.
000133        *    display primes-result upon scherm.
000134
000135         r86-report-primes.
000136
000137             move 'write'       to ui-methods.
000138             move primes-data   to u-primes.
000139             call "primesui" using primes-ui.
000140             perform r94-fetch.
000141        *    display prime-number upon scherm.
000142
000143         r89-get-next-divider.
000144
000145             move 'get'        to gen-methods.
000146             call "primes" using primes.
000147
000148         r90-start-primes-report.
000149
000150             move 'connect'  to dal-methods.
000151             call "primes" using primes-dal.

GnuCOBOL 4.0-early-dev. primesgen.cbl                                                 Fri Dec  5 15:28:35 2025  Page 0005

LINE    PG/LN  A...B............................................................SEQUENCE

000152
000153             move "primesgen"   to program-name.
000154             move "r90-start-primes-report"        to program-paragraph.
000155             move 'log-message' to ui-methods.
000156
000157             if dal-method-ok then
000158               move   'Database initialisation succeeeded.'
000159                 to program-message
000160               call "primesui" using primes-ui
000161             else
000162               move 'Database initialisation failed.'
000163                 to program-message
000164               call "primesui" using primes-ui
000165               move 1       to  session-result.
000166
000167             move 'cursor'      to dal-methods.
000168             call "primes" using primes-dal.
000169
000170             move "primesgen"   to program-name.
000171             move "r90-start-primes-report"        to program-paragraph.
000172             move 'log-message' to ui-methods.
000173
000174             if dal-method-ok then
000175               move   'Cursor initialisation succeeeded.'
000176                 to program-message
000177               call "primesui" using primes-ui
000178             else
000179               move 'Cursor initialisation failed.' to program-message
000180               call "primesui" using primes-ui
000181               move 1       to  session-result.
000182
000183             if dal-method-ok                      then
000184                perform r94-fetch.
000185
000186             if dal-method-ok                      then
000187                move 'Fetch first row ok.' to program-message
000188                move 0 to dal-result
000189             else
000190                move 'Fetch first row nok.' to program-message
000191                   move 1 to dal-result.
000192
000193             move 'primesgen'         to program-name.
000194             call "primesui" using primes-ui.
000195
000196         r91-start-primes-generation.
000197
000198             move 'connect'  to dal-methods.
000199             call "primes" using primes-dal.
000200
000201             move 'log-message' to ui-methods
000202
000203             if dal-method-ok then

GnuCOBOL 4.0-early-dev. primesgen.cbl                                                 Fri Dec  5 15:28:35 2025  Page 0006

LINE    PG/LN  A...B............................................................SEQUENCE

000204               move 2 to test-divider
000205               move 1 to old-ident
000206               move 3 to test-number
000207               compute test-number-sqr = test-number ** 0.5
000208               move   'Database initialisation succeeeded.'
000209                 to program-message
000210               call "primesui" using primes-ui
000211             else
000212               move 'Database initialisation failed.'
000213                 to program-message
000214               call "primesui" using primes-ui
000215               move 1       to  session-result.
000216
000217         r94-fetch.
000218
000219             move 'next-prime'   to dal-methods.
000220             call "primes" using primes-dal.
000221
000222             move "primesgen"          to program-name.
000223             move "r94-fetch"          to program-paragraph.
000224             move 'log-message'        to ui-methods.
000225
000226             if dal-method-ok then
000227                next sentence
000228             else
000229               move 'Fetch failed.' to program-message
000230               call "primesui" using primes-ui
000231               move 1       to  session-result.
000232
000233         r99-close-primes.
000234
000235             move 'disconnect' to dal-methods.
000236             call "primes" using primes.
000237
000238             move 'log-message' to methods
000239
000240             if dal-method-ok then
000241               move   'Database close succeeeded.'
000242               to program-message
000243               call "primesui" using primes-ui
000244             else
000245               move 'Database close failed.'
000246                 to program-message
000247               call "primesui" using primes-ui
000248               move 1       to  session-result.
000249


0 warnings in compilation group
0 errors in compilation group


Terug naar: primes