错误:语法错误意外'('我是COBOL
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误:语法错误意外'('我是COBOL相关的知识,希望对你有一定的参考价值。
我在这个程序中有一些错误。编译时,代码显示错误
何时:这些段落是'same-data-table':
prak.cob:34:错误:语法错误,意外'('
请检查下面的代码,这是第34行中的错误:
isi-data-tabel. DISPLAY ( , ) 'cabang ', subscript-cabang, bulan ', subscript-bulan, ' : '. ACCEPT ( , ) jumlah-unit-terjual (subscript-cabang, subscript-bulan). DISPLAY SPACE.
这个完整的代码
IDENTIFICATION DIVISION.
PROGRAM-ID. tabel2.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ws-subscript.
02 subscript-cabang PIC 9.
02 subscript-bulan PIC 9.
01 tabel-penjualan-mobil.
02 cabang OCCURS 4 TIMES.
03 bulan OCCURS 3 TIMES.
04 jumlah-unit-terjual PIC 99.
77 total-penjualan-cabang PIC 99 VALUE 0.
SCREEN SECTION.
01 hapus-layar.
02 BLANK SCREEN.
PROCEDURE DIVISION.
program-utama.
PERFORM entry-tabel.
PERFORM tampilkan-tabel.
STOP RUN.
entry-tabel.
DISPLAY ' Pemasukan data ke dalam tabel dimensi dua: '.
PERFORM isi-data-tabel
VARYING subscript-cabang FROM 1 BY 1
UNTIL subscript-cabang > 4
AFTER subscript-bulan FROM 1 BY 1
UNTIL subscript-bulan > 3.
isi-data-tabel.
DISPLAY ( , ) 'cabang ', subscript-cabang, bulan ', subscript-bulan, ' : '.
ACCEPT ( , ) jumlah-unit-terjual (subscript-cabang, subscript-bulan).
DISPLAY SPACE.
tampilkan-tabel.
DISPLAY hapus-layar.
DISPLAY ' Menampilkan isi tabel berdimensi dua : '.
PERFORM display-data-tabel
VARYING subscript-cabang FROM 1 BY 1
UNTIL subscript-cabang > 4
AFTER subscript-bulan FROM 1 BY 1
UNTIL subscript-bulan > 3.
display-data-tabel.
DISPLAY ( , ) 'cabang ', subscript-cabang,
'bulan ', subscript-bulan, ' : ',
jumlah-unit-terjual (subscript-cabang, subscript-bulan).
DISPLAY SPACE.
ADD jumlah-unit-terjual (subscript-cabang, subscript-bulan)
TO total-penjualan-cabang.
IF (subscript-bulan = 3)
DISPLAY '*** Total penjualan per cabang = ', total-penjualan-cabang.
MOVE 0 TO total-penjualan-cabang.
我在Mac环境中使用OpenCOBOL 1.1.0作为编译器。
我不知道你认为他们会做什么,或者你的特定COBOL是否支持类似的东西,但我从未在DISPLAY或ACCEPT中遇到过“(,)”。
如果删除它们,将修复该特定类型的错误。
您应该更新您的问题以包括编译器名称或供应商,以及标记(如果可用)。
你在display-data-tabel中也有问题。您正在添加总计,但在测试后如果要显示它,则无条件地将其设置为零。在IF中,MOVE 0应该是有条件的。大概。
如果你使用scope-delmiters,比如END-IF而不是句点/句号,你会得到一个更好的程序。
为了回应您的进一步信息,您在DISPLAY中还有另一个问题:
DISPLAY ( , ) 'cabang ', subscript-cabang, bulan ', subscript-bulan, ' : '.
如果计算引号('),你会发现五个。他们应该永远是平等的。看起来你想要这个:
DISPLAY 'cabang ', subscript-cabang, ' bulan ', subscript-bulan, ' : '.
甚至这个:
DISPLAY 'cabang ', subscript-cabang, ' bulan ', subscript-bulan, ' : '
甚至这个:
DISPLAY 'cabang ' subscript-cabang ' bulan ' subscript-bulan ' : '
所有这些标点符号都是可选的。意味着你不需要它。意味着如果你把它放入,更多的是出错,更多的是看,更多的是想知道。它没有任何伤害,但看看最后是多么“干净”。
更进一步,我就是这样做的:
DISPLAY
'cabang'
'>'
subscript-cabang
'<'
'bulan'
'>'
subscript-bulan
'<'
当我想要显示时,我只是粘贴任何旧的DISPLAY语句并更改文字和数据名称,并在必要时扩展该数字。 “>”和“<”的要点是准确显示哪些字节是数据的一部分(例如,您可以选择尾随空格)。多年来为我节省了很多时间。
以上是关于错误:语法错误意外'('我是COBOL的主要内容,如果未能解决你的问题,请参考以下文章
错误:[$ parse:syntax]语法错误:令牌'{'是一个意外的令牌
部署Django+React到Heroku - 未捕获的语法错误。意外的标记'<'