COBOL 中的编码表
每种语言都需要一个环境或平台来编写代码。例如,在Java,我们使用记事本编写代码然后编译它们运行。同样,COBOL 需要一个编码表来编写代码。 COBOL 是一种面向业务的高级语言。它是为公司和政府的商业、财务和行政系统而开发的。 COBOL 使数据处理更容易,并且是一种可移植的编程语言。 COBOL 的完整形式是 COMmon, Business-Oriented Language。 COBOL 代码语句是不言自明的,即使是外行也能理解。然而,它是一种令人讨厌的语言,但仍然存在。这种语言得以幸存的原因是政府、银行和商业组织仍在使用它。
如前所述,COBOL 代码语句是不言自明的,但很难上手。之所以如此,是因为 COBOL 编码表是刚性的。 COBOL 编码表是 COBOL 编码结构。编码表分为 80 列。并且每一列或一组特定的列都是为特定类型的字段保留的。
下表显示了为哪些字段保留了哪些列:Column Field 1-3 Page Number 4-6 Line Number 7 Comments/Continuation 8-11 A-Margin / Area A 12-72 B-Margin / Area B 73-80 Identification
1-6 列:
- 第 1-6 列统称为序列号。序号的内容可以是任何计算机字符。
- 1-3 列保留给页码,随着添加到程序中的行数自动增加。
- 4-6 列保留给行号。行数随着程序中代码行数的增加而增加。
- 序列号的使用是可选的,可以省略。但是,当提供序列号时,它们必须按升序出现。
第 7 栏:
- 此栏保留用于评论。注释行实际上是一些注释,它们揭示了程序员的意图。
- 注释行可以出现在 COBOL 程序第一行之后的任何位置。
- 如果注释行以星号 (*) 开头,则注释不会被编译以生成目标代码。由于它们被编译器忽略,因此,任何内容都可以作为注释包含在内。
- 但是,如果您以字符斜杠 ( / ) 开始您的注释行,那么在导致页面弹出后(即,在跳到下一页的顶部之后)将打印该特定注释行。
Note: If needed, a statement of cobol program can be written in one or more coding lines. To continue in the next line the coder will have to use a hyphen (-) in column 7.
8-11 列:
- 这些列中的条目可以从第 8、9、10 或 11 列开始。此列的条目称为保证金 A 条目。
- 这些列也称为区域 A。
- 所有 DIVISION 标头、SECTION 标头、PARAGRAPH 标头和 PARAGRAPH 名称都应从区域 A 开始。
- 01级和77级的编码应从A区开始。
12-72 列:
- 这些列中的条目可以从第 12 列到第 72 列的任何位置开始。这些列的条目称为保证金 B 条目。
- 这些列也称为区域 B。
- 除上述以外的所有其他陈述,即所有条目、句子和陈述都应从区域 A 开始。
- 条款应编码在区域 A 中。
Note:
1. Level numbers 02 to 49 can begin in either Area-A or Area-B and should be followed by a space or separator period.
2. Level numbers 66 and 88 can begin either in Area-A or Area-B and must be followed by space.
73-80 列:
- 这些列用于写一些标识。这些是系统生成的数字。
- 编译器会忽略 73-80 列中编写的所有内容。
- 但是,如果提供了该程序的打印副本,则会列出这些列中的条目。
例子:
上图包含了一个用COBOL编码表编写的程序。所有条目都是根据上述列规则进行的。序列号不是强制性的,但您必须遵循列条目规则。
字符集:
每当我们学习任何新语言时,我们首先要学习字母表。 COBOL 语言的字母表通常称为字符集。 COBOL字符集中共有 50 个不同的字符。它们被列为: Arithmetic operator Continuation character Arithmetic operator Comment character Arithmetic operator Comment character Arithmetic operator Relational character Punctuation mark Editing character Punctuation mark Editing characterCharacter Meaning Usage 0-9 10 numerals Numeric characters A-Z 26 English alphabets- only uppercase letters Alphabetic characters – minus sign or hyphen + plus sign Arithmetic operator * asterisk / slash = equal sign $ currency sign Editing character , comma ; semicolon Punctuation mark . period or decimal point “ quotation mark Punctuation mark ( left parenthesis Punctuation mark ) right parenthesis Punctuation mark < less than symbol Relational character > greater than symbol Relational character
:
甲COBOL是一组能形成COBOL字,一个PICTURE字符串或注释相邻字符的。
- COBOL 字: COBOL 字可以使用字母字符、数字字符和连字符组成。形成COBOL词时必须遵循以下规则:
- COBOL 单词不能以连字符开头或结尾。
- 一个 COBOL 字最多可以有 30 个字符。
- COBOL 单词中的字符之一必须是字母。根据某些 COBOL 编译器,还有一个附加限制,即 COBOL 单词的第一个字符必须是字母。
- 形成 COBOL 词时,不允许使用除连字符以外的特殊字符。
COBOL 中有两种类型的词,它们是用户定义的和保留的词:
1. COBOL 用户自定义字:数据名称和标识符为用户自定义的Cobol 字。数据名称提供对存储实际值的内存中的存储空间的引用。数据名称只是标识符的一种形式。数据名不能是保留字。User-defined words(valid) Invalid user-defined words WS-VAR COMPUTE(Reserved word) NET-SALARY ADD(Reserved word) MARK1 MULTIPLY(Reserved word)
例子:
在上面的程序中,01层定义的XX是一个用户自定义词,代表一个名为XX的组项目,包含表B。
NOTE: Arrays in COBOL are known as tables.
2. 保留字: COBOL 中的保留字有特定的用途。
例如:Reserved word Purpose ADD Used to perform addition COMPUTE Used when mathematical formulas are to be dealt ACCEPT Used to store input in data names
例子:
上述程序解释了示例中给出的保留字的功能。除了上面陈述和解释的三个之外,还有许多保留字。
NOTE: Whenever you need to write equation in cobol then you must include whitespace between the operator and operand.
- 字面量: COBOL 中的字面量通常称为常量,因为它的值在整个程序执行过程中保持不变。共有三种类型的字面量,即:数字、非数字和比喻常量。
1. 数字:数字字面量是在数字的帮助下形成的。它可以有 + 号或 – 号,也可以有小数点。对于为正的数字字面量,无需指定符号,但是,如果您希望字面量为负,则应在最左端指定 - 符号。字面量的小数点有助于识别数字是浮点数还是整数。数字字面量允许的最大位数取决于编译器。Valid numeric literal Invalid numeric literal .456 “789” 85.6 – 56
2. 非数字:这种类型的字面量用作输出消息或标题。非数字字面量包含在两个引号之间。两个引号之间可以包含的字符数取决于编译器。Valid nonnumeric literal Invalid non-numeric literal “DATA DIVISION” 8 “SPEED/HOUR” “SEVEN “56.6” 45.3″
3. 图形常量:这些是指特定常量值的保留字。
例如: 考虑语句:MOVE ZERO TO A。这里的值 0 将被移动到数据名称 A。单词 ZERO 是一个值为 0 的比喻常数。比喻常数的一些其他例子是: ZEROS ZEROES SPACE SPACES HIGH-VALUE HIGH-VALUES LOW-VALUE LOW-VALUES QUOTE QUOTESFigurative Constant Meaning has value 0 one or more blank The highest value in the collating sequence The lowest value in the collating sequence one or more of “ ALL literal one or more of the string characters comprising the literal