COBOL 基本语法
字符集
字符是层次结构中的最底层,它们不能被进一步划分。在 COBOL 字符集包括 78 个字符,如下所示:
字符 | 描述 |
---|---|
AZ | 字母(大写) |
AZ | 字母(小写) |
0-9 | 数字 |
空格 | |
+ | 加号 |
- | 减号或连字符 |
* | 星号 |
/ | 正斜杠 |
$ | 货币符号 |
, | 逗号 |
; | 分号 |
. | 小数点或句号 |
“ | 双引号 |
( | 左括号 |
) | 右括号 |
> | 大于 |
< | 少于 |
: | 冒号 |
’ | 撇号 |
= | 等号 |
编码表
COBOL 的源程序必须以编译器可接受的格式编写。COBOL 程序写在 COBOL 编码表上。编码表的每一行有80 个字符位置。
字符位置分为以下五个字段:
位置 | 字段 | 描述 |
---|---|---|
1-6 | 列数 | 保留为行号。 |
7 | 指示符 | 它可以有星号(*)表示注释,连字符( - )表示延续和斜杠(/)表示换页。 |
8-11 | A 区 | 所有的 COBOL 各部,节,段和一些特殊条目必须在 A 区开始。 |
12-72 | B 区 | 所有的 COBOL 语句必须在B区开始。 |
73-80 | 识别区 | 它可以根据程序员的需求进行使用。 |
例
下面的例子显示了 COBOL 编码表:
000100 IDENTIFICATION DIVISION. 000100
000200 PROGRAM-ID. HELLO. 000101
000250* THIS IS A COMMENT LINE 000102
000300 PROCEDURE DIVISION. 000103
000350 A000-FIRST-PARA. 000104
000400 DISPLAY “Coding Sheet”. 000105
000500 STOP RUN. 000106
JCL 执行上述 COBOL 程序:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO
当你编译和执行上面的程序,会产生以下结果:
Coding Sheet
字符串
字符 string 是通过组合单个字符形成的。字符 string 可以是
- 注释
- 文字
- COBOL
所有字符 string 必须以分隔符结尾。分隔符用于分隔字符 string。
常用分隔符:空格,逗号,期间,撇号,左/右括号和引号。
注释
注释是不影响程序执行的字符串。它可以是字符的任意组合。
有两种类型的注释:
注释行
注释行可以写入任何列。编译器不检查注释行的语法,并将其视为文档。
注释条目
注释条目包含在识别部的可选段落中。它们写在B区,程序员使用它作为参考。
以下示例中以粗体突出显示的文本是注释条目:
000100 IDENTIFICATION DIVISION. 000100
000150 PROGRAM-ID. HELLO. 000101
000200 AUTHOR. TUTORIALSPOINT. 000102
000250* THIS IS A COMMENT LINE 000103
000300 PROCEDURE DIVISION. 000104
000350 A000-FIRST-PARA. 000105
000360/ First Para Begins - Documentation Purpose 000106
000400 DISPLAY “Comment line”. 000107
000500 STOP RUN. 000108
JCL 执行上述 COBOL 程序:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO
当你编译和执行上面的程序,会产生以下结果:
Comment Line
文字
文字是在程序中直接硬编码的常数。在下面的例子中,“Hello World”的是文字。
PROCEDURE DIVISION.
DISPLAY 'Hello World'.
如下述,有两种文字类型:
字母数字文字
字母数字文字用双引号或撇号括起来。长度最多可达 160 个字符。撇号或双引号只有在成对时才可以是文字的一部分。无论是撇号或双引号,在文字的开始和结尾应该是一样的。
例
下面的示例显示有效和无效的字母数文字:
Valid:
‘This is valid’
"This is valid"
‘This isn’’t invalid’Invalid:
‘This is invalid”
‘This isn’t valid’
数字文字
数字文字是从 0 到 9,+,-,或小数点的数字组合。长度最多可达 18 个字符。符号不能是最右边的字符。小数点不能出现在最后。
例
下面的示例显示有效和无效的数字文字:
Valid:
100
+10.9
-1.9Invalid:
1,00
10.
10.9-
COBOL 词
COBOL词是一个字符串,可以是保留词,或者用户自定义的词。长度最多可达 30 个字符。
用户自定义
用户自定义词用于命名文件,数据,记录,段名和节。允许字母,数字和连字符用于用户自定义词。不能使用 COBOL 保留词。
保留词
保留词是 COBOL 中预定义的词。我们经常使用的保留词的不同类型如下:
- **关键词:**如 ADD,ACCEPT,MOVE 等。
- **特殊字符:**如+,-,*,<,<=等。
- **象征常数:**是常数值,如 ZERO,SPACES 等。象征常数的所有常数值参照下表。
象征常数
象征常数 | 描述 |
---|---|
HIGH-VALUES | 一个或多个字符,将在降序排列中排在最高的位置。 |
LOW-VALUES | 一个或多个字符在二进制表示中带有零。 |
ZERO / ZEROES | 一个或多个零,取决于变量的大小。 |
SPACES | 一个或多个空格。 |
QUOTES | 单或双引号。 |
ALL literal | 用文字填充数据项。 |