COBOL基本語法


字元集

'字元'層次是最低的,並且不能被進一步劃分。COBOL字元集有78個字元如下所示:

字元 描述
A-Z Alphabets(Upper Case)
a-z Alphabets (Lower Case)
0-9 Numeric
  Space
+ Plus Sign
- Minus Sign or Hyphen
* Asterisk
/ Forward Slash
$ Currency Sign
, Comma
; Semicolon
. Decimal Point or Period
" Quotation Marks
( Left Parenthesis
) Right Parenthesis
> Greater than
< Less than
: Colon
' Apostrophe
= Equal Sign

程式碼表

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

字串

字元字串是通過將單個字元組成。一個字串可以是

  • 注釋

  • 文字

  • COBOL單詞

所有字串必須用分隔符結束。分隔符用於分隔字串。

經常使用的分隔符:空格,逗號,句號,省略號,左/右括號和引號。

注釋

注釋不影響程式的執行字串。它可以是字元的任意組合。

有兩種型別的注釋:

注釋行

注釋行可以寫在任何列中。編譯器不檢查注釋行的語法和對待它的文件。

注釋入口

注釋入口是鑑定區劃的可選段落的條目。都寫在B區和程式員使用它,以供參考。

粗體字母在註釋下面的例子中專案:

000100 IDENTIFICATION DIVISION.                                         000100
000150 PROGRAM-ID. HELLO.                                               000101 
000200 AUTHOR. YIIBAI.                                                  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.9

Invalid:
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 用文字填充資料項