1.12 ★ External Comment for COBOL etc | 外部注释用于 COBOL 等

This commit is contained in:
林万程
2022-04-06 23:08:03 +08:00
parent ac4ed47c9f
commit 879d61e34a
45 changed files with 1625 additions and 88 deletions

View File

@@ -0,0 +1,27 @@
COBOL 算数词汇【关键字】
ADD/SUBTRACT CORR WS-GROUP1 TO WS-GROUP2 // 数组间很少用
GIVING =>
ADD A B TO C D // C = A + B + C; D = A + B + D
ADD A B C TO D GIVING E // E = A + B + C + D
TO 是基本关键字 => 这里忽略
ADD +
SUBTRACT A B FROM C D // C = C - (A + B); D = D - (A + B)
SUBTRACT A B C FROM D GIVING E // E = D - (A + B + C)
SUBTRACT -
FROM 从
MULTIPLY A BY B C // B = A * B; C = A * C
MULTIPLY A BY B GIVING C // C = A * B
MULTIPLY *
BY by
DIVIDE A INTO B // B = B / A;
DIVIDE A BY B GIVING C REMAINDER D // C = A / B ... D
DIVIDE ÷
INTO 从
REMAINDER 余
1 COBOL 算数词汇【关键字】
2 ADD/SUBTRACT CORR WS-GROUP1 TO WS-GROUP2 // 数组间很少用
3 GIVING =>
4 ADD A B TO C D // C = A + B + C; D = A + B + D
5 ADD A B C TO D GIVING E // E = A + B + C + D
6 TO 是基本关键字 => 这里忽略
7 ADD +
8 SUBTRACT A B FROM C D // C = C - (A + B); D = D - (A + B)
9 SUBTRACT A B C FROM D GIVING E // E = D - (A + B + C)
10 SUBTRACT -
11 FROM
12 MULTIPLY A BY B C // B = A * B; C = A * C
13 MULTIPLY A BY B GIVING C // C = A * B
14 MULTIPLY *
15 BY by
16 DIVIDE A INTO B // B = B / A;
17 DIVIDE A BY B GIVING C REMAINDER D // C = A / B ... D
18 DIVIDE ÷
19 INTO
20 REMAINDER

View File

@@ -0,0 +1,6 @@
COBOL 算数符号【关键字】
COMPUTE
\+ +
\- -
\* *
\/ /
1 COBOL 算数符号【关键字】
2 COMPUTE
3 \+ +
4 \- -
5 \* *
6 \/ /

View File

@@ -0,0 +1,6 @@
COBOL 获取词汇(非必要)
DATE 系统日期
DATE YYYYMMDD 系统日期
TIME 系统时间
SYSIN 系统输入
CONSOLE 控制台
1 COBOL 获取词汇(非必要)
2 DATE 系统日期
3 DATE YYYYMMDD 系统日期
4 TIME 系统时间
5 SYSIN 系统输入
6 CONSOLE 控制台

View File

@@ -0,0 +1,3 @@
COBOL 获取【关键字】(非必要)
ACCEPT 获取
FROM 从
1 COBOL 获取【关键字】(非必要)
2 ACCEPT 获取
3 FROM

View File

@@ -0,0 +1,22 @@
COBOL 循环【关键字】(非必要)
PERFORM HELLO-WORLD THRU STRUCT
THRU ~
PERFORM A-PARA UNTIL COUNT=5
PERFORM A-PARA WITH TEST BEFORE UNTIL COUNT=5
PERFORM A-PARA WITH TEST AFTER UNTIL COUNT=5
UNTIL until
COUNT count
WITH TEST BEFORE before
WITH TEST AFTER after
PERFORM A-PARA 5 TIMES.
(?=\d++ TIMES)
PERFORM A-PARA VARYING A FROM 1 BY 1 UNTIL A=5
VARYING varying
GO TO para-1 para-2 para-3 DEPENDING ON x.
DEPENDING ON switch
1 COBOL 循环【关键字】(非必要)
2 PERFORM HELLO-WORLD THRU STRUCT
3 THRU ~
4 PERFORM A-PARA UNTIL COUNT=5
5 PERFORM A-PARA WITH TEST BEFORE UNTIL COUNT=5
6 PERFORM A-PARA WITH TEST AFTER UNTIL COUNT=5
7 UNTIL until
8 COUNT count
9 WITH TEST BEFORE before
10 WITH TEST AFTER after
11 PERFORM A-PARA 5 TIMES.
12 (?=\d++ TIMES)
13 PERFORM A-PARA VARYING A FROM 1 BY 1 UNTIL A=5
14 VARYING varying
15 GO TO para-1 para-2 para-3 DEPENDING ON x.
16 DEPENDING ON switch

View File

@@ -0,0 +1,31 @@
COBOL 字符串【关键字】(非必要)
INSPECT input-string
TALLYING output-count FOR ALL CHARACTERS
INSPECT
TALLYING
FOR ALL CHARACTERS
INSPECT input-string REPLACING ALL char1 BY char2.
REPLACING
STRING ws-string1 DELIMITED BY SPACE
ws-string2 DELIMITED BY SIZE
INTO ws-destination-string
WITH POINTER ws-count
ON OVERFLOW DISPLAY message1
NOT ON OVERFLOW DISPLAY message2
END-STRING.
STRING
DELIMITED
BY by
UNSTRING ws-string DELIMITED BY SPACE
INTO ws-str1, ws-str2
WITH POINTER ws-count
ON OVERFLOW DISPLAY message
NOT ON OVERFLOW DISPLAY message
END-UNSTRING.
1 COBOL 字符串【关键字】(非必要)
2 INSPECT input-string
3 TALLYING output-count FOR ALL CHARACTERS
4 INSPECT
5 TALLYING
6 FOR ALL CHARACTERS
7 INSPECT input-string REPLACING ALL char1 BY char2.
8 REPLACING
9 STRING ws-string1 DELIMITED BY SPACE
10 ws-string2 DELIMITED BY SIZE
11 INTO ws-destination-string
12 WITH POINTER ws-count
13 ON OVERFLOW DISPLAY message1
14 NOT ON OVERFLOW DISPLAY message2
15 END-STRING.
16 STRING
17 DELIMITED
18 BY by
19 UNSTRING ws-string DELIMITED BY SPACE
20 INTO ws-str1, ws-str2
21 WITH POINTER ws-count
22 ON OVERFLOW DISPLAY message
23 NOT ON OVERFLOW DISPLAY message
24 END-UNSTRING.

View File

@@ -0,0 +1,20 @@
COBOL-file.tsv.tree.tsv 📝 COBOL 相关文件注释
COBOL.cbl.key.tsv COBOL 必要【关键字】
COBOL-struct.cbl.doc.tsv COBOL 文件结构【关键字】
COBOL-data.cbl.key.tsv COBOL 数据部必要【关键字】
COBOL-data-layout.cbl.key.tsv COBOL 数据布局【关键字】
COBOL-data-type.cbl.key.tsv COBOL 数据类型【关键字】
COBOL-compute.cbl.key.tsv COBOL 算数符号【关键字】
COBOL-compute-word.cbl.key.tsv COBOL 算数词汇【关键字】
COBOL-accept.cbl.doc.tsv COBOL 获取词汇(非必要)
COBOL-accept.cbl.key.tsv COBOL 获取【关键字】(非必要)
COBOL-loop.cbl.key.tsv COBOL 循环【关键字】(非必要)
COBOL-string.cbl.key.tsv COBOL 字符串【关键字】(非必要)
COBOL_IDEA.md COBOL IDEA 高亮设置
COBOL_keyword1.md COBOL COBOL IDEA 高亮 普通关键字
1 COBOL-file.tsv.tree.tsv 📝 COBOL 相关文件注释
2 COBOL.cbl.key.tsv COBOL 必要【关键字】
3 COBOL-struct.cbl.doc.tsv COBOL 文件结构【关键字】
4 COBOL-data.cbl.key.tsv COBOL 数据部必要【关键字】
5 COBOL-data-layout.cbl.key.tsv COBOL 数据布局【关键字】
6 COBOL-data-type.cbl.key.tsv COBOL 数据类型【关键字】
7 COBOL-compute.cbl.key.tsv COBOL 算数符号【关键字】
8 COBOL-compute-word.cbl.key.tsv COBOL 算数词汇【关键字】
9 COBOL-accept.cbl.doc.tsv COBOL 获取词汇(非必要)
10 COBOL-accept.cbl.key.tsv COBOL 获取【关键字】(非必要)
11 COBOL-loop.cbl.key.tsv COBOL 循环【关键字】(非必要)
12 COBOL-string.cbl.key.tsv COBOL 字符串【关键字】(非必要)
13 COBOL_IDEA.md COBOL IDEA 高亮设置
14 COBOL_keyword1.md COBOL COBOL IDEA 高亮 普通关键字

View File

@@ -0,0 +1,18 @@
COBOL 文件结构【关键字】
IDENTIFICATION DIVISION 【标识部】
ENVIRONMENT DIVISION 【环境部】
SOURCE-COMPUTER (编译系统)
OBJECT-COMPUTER (执行系统)
CONFIGURATION SECTION [配置节]
INPUT-OUTPUT SECTION [输入输出节]
FILE-CONTROL (外部数据集)
DATA DIVISION 【数据部】
FILE SECTION [文件节]
WORKING-STORAGE SECTION [工作存储节]
LOCAL-STORAGE SECTION [本地存储节]
LINKAGE SECTION [连接节]
PROCEDURE DIVISION 【过程部】
1 COBOL 文件结构【关键字】
2 IDENTIFICATION DIVISION 【标识部】
3 ENVIRONMENT DIVISION 【环境部】
4 SOURCE-COMPUTER (编译系统)
5 OBJECT-COMPUTER (执行系统)
6 CONFIGURATION SECTION [配置节]
7 INPUT-OUTPUT SECTION [输入输出节]
8 FILE-CONTROL (外部数据集)
9 DATA DIVISION 【数据部】
10 FILE SECTION [文件节]
11 WORKING-STORAGE SECTION [工作存储节]
12 LOCAL-STORAGE SECTION [本地存储节]
13 LINKAGE SECTION [连接节]
14 PROCEDURE DIVISION 【过程部】

View File

@@ -0,0 +1,29 @@
COBOL 必要【关键字】
key 文件的注释前面要有制表符
长的要放在短的前面
^.{7}
\. .
\, ,
INITIALIZE 初始化
MOVE
TO =>
IF if
有些程序 THEN 没有换行所以要加这个关键字
THEN
NOT(?! '| ?=) !
AND (?!') &&
OR (?!') ||
兼容单字符字典
\=(?! ?') =
> >
< <
PERFORM call
WS-
(?<!\w)\( (
\) )
1 COBOL 必要【关键字】
2 key 文件的注释前面要有制表符
3 长的要放在短的前面
4 ^.{7}
5 \. .
6 \, ,
7 INITIALIZE 初始化
8 MOVE
9 TO =>
10 IF if
11 有些程序 THEN 没有换行所以要加这个关键字
12 THEN
13 NOT(?! '| ?=) !
14 AND (?!') &&
15 OR (?!') ||
16 兼容单字符字典
17 \=(?! ?') =
18 > >
19 < <
20 PERFORM call
21 WS-
22 (?<!\w)\( (
23 \) )

View File

@@ -0,0 +1,33 @@
# IDEA COBOL 高亮配置
- File -> Settings -> Editor -> File Types
- 文件 -> 设置 -> 编辑器 -> 文件类型
## Syntax Highlighting
Line comment: *
## Keywords
<div style="color:#0033B3">
1 blue 蓝色
</div>
[关键字1列表](COBOL_keyword1.md)
<pre style="color:#74118C">
2 Purple 紫色
END-IF
IF
THEN
</pre>
<pre style="color:#008080">
3 cyanogen 青色
INITIALIZE
</pre>
<pre style="color:#800000">
4 brown 褐色
PERFORM
</pre>

View File

@@ -0,0 +1,410 @@
SET
TO
VARYING
ACCEPT
ACCESS
ADD
ADDRESS
ADVANCING
AFTER
ALL
ALPHABET
ALPHABETIC
ALPHABETIC-LOWER
ALPHABETIC-UPPER
ALPHANUMERIC
ALPHANUMERIC-EDITED
ALSO
ALTER
ALTERNATE
AND
ANY
APPLY
ARE
AREA
AREAS
ASCENDING
ASSIGN
AT
AUTHOR
BASIS
BEFORE
BEGINNING
BINARY
BLANK
BLOCK
BOTTOM
BY
CALL
CANCEL
CBL
CD
CF
CH
CHARACTER
CHARACTERS
CLASS
CLASS-ID
CLOCK-UNITS
CLOSE
COBOL
CODE
CODE-SET
COLLATING
COLUMN
COM-REG
COMMA
COMMON
COMMUNICATION
COMP
COMP-1
COMP-2
COMP-3
COMP-4
COMP-5
COMPUTATIONAL
COMPUTATIONAL-1
COMPUTATIONAL-2
COMPUTATIONAL-3
COMPUTATIONAL-4
COMPUTATIONAL-5
COMPUTE
CONFIGURATION
CONTAINS
CONTENT
CONTINUE
CONTROL
CONTROLS
CONVERTING
COPY
CORR
CORRESPONDING
COUNT
CURRENCY
DATA
DATE-COMPILED
DATE-WRITTEN
DAY
DAY-OF-WEEK
DBCS
DE
DEBUG-CONTENTS
DEBUG-ITEM
DEBUG-LINE
DEBUG-NAME
DEBUG-SUB-1
DEBUG-SUB-2
DEBUG-SUB-3
DEBUGGING
DECIMAL-POINT
DECLARATIVES
DELETE
DELIMITED
DELIMITER
DEPENDING
DESCENDING
DESTINATION
DETAIL
DISPLAY
DISPLAY-1
DIVIDE
DIVISION
DOWN
DUPLICATES
DYNAMIC
EGCS
EGI
EJECT
ELSE
EMI
ENABLE
END
END-ADD
END-CALL
END-COMPUTE
END-DELETE
END-DIVIDE
END-EVALUATE
END-INVOKE
END-MULTIPLY
END-OF-PAGE
END-PERFORM
END-READ
END-RECEIVE
END-RETURN
END-REWRITE
END-SEARCH
END-START
END-STRING
END-SUBTRACT
END-UNSTRING
END-WRITE
ENDING
ENTER
ENTRY
ENVIRONMENT
EOP
EQUAL
ERROR
ESI
EVALUATE
EVERY
EXCEPTION
EXIT
EXTEND
EXTERNAL
FALSE
FD
FILE
FILE-CONTROL
FILLER
FINAL
FIRST
FOOTING
FOR
FROM
FUNCTION
GENERATE
GIVING
GLOBAL
GO
GOBACK
GREATER
GROUP
HEADINHIGH-VALUHIGH-VALUES
I-O
I-O-CONTROL
ID
IDENTIFICATION
IN
INDEX
INDEXED
INDICATE
INHERITS
INITIAL
INITIATE
INPUT
INPUT-OUTPUT
INSERT
INSPECT
INSTALLATION
INTO
INVALID
INVOKE
IS
JUSJUSTIFIE
KANJKE
LABEL
LAST
LEADING
LEFT
LENGTH
LESS
LIMIT
LIMITS
LINAGE
LINAGE-COUNTER
LINE
LINE-COUNTER
LINES
LINKAGE
LOCAL-STORAGE
LOCK
LOW-VALUE
LOW-VALUES
MEMORY
MERGE
MESSAGE
METACLASS
METHOD
METHOD-ID
MODE
MODULES
MORE-LABELS
MOVE
MULTIPLE
MULTIPLY
NATIVE
NATIVE_BINARY
NEGATIVE
NEXT
NO
NOT
NULL
NULLS
NUMBER
NUMERIC
NUMERIC-EDITED
OBJECT
OBJECT-COMPUTER
OCCURS
OF
OFF
OMITTED
ON
OPEN
OPTIONAL
OR
ORDER
ORGANIZATION
OTHER
OUTPUT
OVERFLOW
OVERRIDE
PACKED-DECIMAL
PADDING
PAGE
PAGE-COUNTER
PASSWORD
PF
PH
PIC
PICTURE
PLUS
POINTER
POSITION
POSITIVE
PRINTING
PROCEDURE
PROCEDURE-POINTER
PROCEDURES
PROCEED
PROCESSING
PROGRAM
PROGRAM-ID
PURGE
QUEUQUOTQUOTES
RANDOM
RD
READ
READY
RECEIVE
RECORD
RECORDING
RECORDS
RECURSIVE
REDEFINES
REEL
REFERENCE
REFERENCES
RELATIVE
RELEASE
RELOAD
REMAINDER
REMOVAL
RENAMES
REPLACE
REPLACING
REPORT
REPORTING
REPORTS
REPOSITORY
RERUN
RESERVE
RESET
RETURN
RETURN-CODE
RETURNING
REVERSED
REWIND
REWRITE
RF
RH
RIGHT
ROUNDED
RUN
SAME
SD
SEARCH
SECTION
SECURITY
SEGMENT
SEGMENT-LIMIT
SELECT
SELF
SEND
SENTENCE
SEPARATE
SEQUENCE
SEQUENTIAL
SERVICE
SET
SHIFT-IN
SHIFT-OUT
SIGN
SIZE
SKIP1
SKIP2
SKIP3
SORT
SORT-CONTROL
SORT-CORE-SIZE
SORT-FILE-SIZE
SORT-MERGE
SORT-MESSAGE
SORT-MODE-SIZE
SORT-RETURN
SOURCE
SOURCE-COMPUTER
SPACE
SPACES
SPECIAL-NAMES
STANDARD
STANDARD-1
STANDARD-2
START
STATUS
STOP
STRING
SUB-QUEUE-1
SUB-QUEUE-2
SUB-QUEUE-3
SUBTRACT
SUM
SUPER
SUPPRESS
SYMBOLIC
SYNC
SYNCHRONIZED
TABLE
TALLY
TALLYING
TAPE
TERMINAL
TERMINATE
TEST
TEXT
THAN
THROUGH
THRU
TIME
TIMES
TITLE
TO
TOP
TRACE
TRAILING
TRUE
TYPE
UNIT
UNSTRING
UNTIL
UP
UPON
USAGE
USE
USING
VALUVALUEVARYING
WHEN
WHEN-COMPILED
WITH
WORDS
WORKING-STORAGE
WRITE
WRITE-ONLY
ZERZEROEZEROS

View File

@@ -0,0 +1,10 @@
COBOL 数据布局【关键字】
REDEFINES 重定义
RENAMES 重命名
USAGE IS
COMP 二进制整数
COMP-1 单精度浮点
COMP-2 双精度浮点
COMP-3 压缩十进制
COPY
1 COBOL 数据布局【关键字】
2 REDEFINES 重定义
3 RENAMES 重命名
4 USAGE IS
5 COMP 二进制整数
6 COMP-1 单精度浮点
7 COMP-2 双精度浮点
8 COMP-3 压缩十进制
9 COPY

View File

@@ -0,0 +1,15 @@
COBOL 数据类型【关键字】
66 重命名
77 不能被细分项
88 条件名
9\( ( 数字
A\( ( 字母
X\( ( 字母数字
V\( ( 隐式小数
S\( ( 符号
P\( ( 假定小数
数据
VALUE =
1 COBOL 数据类型【关键字】
2 66 重命名
3 77 不能被细分项
4 88 条件名
5 9\( ( 数字
6 A\( ( 字母
7 X\( ( 字母数字
8 V\( ( 隐式小数
9 S\( ( 符号
10 P\( ( 假定小数
11 数据
12 VALUE =

View File

@@ -0,0 +1,5 @@
COBOL 数据部必要【关键字】
^.{7} +\d{2}
PIC
COPY
REPLACING
1 COBOL 数据部必要【关键字】
2 ^.{7} +\d{2}
3 PIC
4 COPY
5 REPLACING

View File

@@ -0,0 +1,6 @@
ACCEPT HELLO-WORLD FROM DATE
ACCEPT HELLO-WORLD FROM DATE YYYYMMDD
ACCEPT HELLO-WORLD FROM TIME
ACCEPT HELLO-WORLD FROM SYSIN
ACCEPT HELLO-WORLD FROM CONSOLE

View File

@@ -0,0 +1,9 @@
123456 INITIALIZE HELLO-WORLD
IF KEY = '1' AND KEY NOT = '2' AND (B OR NOT C) THEN
MOVE WS-HELLO-WORLD TO HELLO-WORLD
END IF
TABLE(STRUCT)
HELLO-WORLD(1:1)
PERFORM B001-A
* PERFORM STRUCT

View File

@@ -0,0 +1,10 @@
COMPUTE HELLO-WORLD = (A - B) * 100 / (C + D)
END-COMPUTE
ADD A TO B
ADD A B TO C D
SUBTRACT A FROM C
SUBTRACT A B FROM C D
MULTIPLY A BY B C
MULTIPLY A BY B GIVING C
DIVIDE A BY B GIVING C REMAINDER D

View File

@@ -0,0 +1,9 @@
PERFORM STRUCT THRU HELLO-WORLD
END-PERFORM.
PERFORM STRUCT UNTIL COUNT=5
PERFORM STRUCT WITH TEST BEFORE UNTIL COUNT=5
PERFORM STRUCT WITH TEST AFTER UNTIL COUNT=5
PERFORM STRUCT 5 TIMES
PERFORM STRUCT VARYING HELLO-WORLD FROM 1 BY 1 UNTIL HELLO-WORLD=5
GO TO STRUCT DEPENDING ON HELLO-WORLD.

View File

@@ -0,0 +1,22 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. STRUCT.
ENVIRONMENT DIVISION.
SOURCE-COMPUTER. XXX-ZOS.
OBJECT-COMPUTER. XXX-ZOS.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-HELLO-WORLD PIC X(9) VALUE 10 .
LOCAL-STORAGE SECTION.
01 HELLO-WORLD PIC X(9) VALUE 10 .
LINKAGE SECTION.
01 A PIC 9(9) VALUE 10 .
PROCEDURE DIVISION.

View File

@@ -0,0 +1,9 @@
KEY = '1' 字典1
KEY NOT = '2' 非 字典2
HELLO-WORLD 你好世界
B001-A 程序A
A a
B b
C c
D d
HELLO-WORLD(1:1 ( 状态1
1 KEY = '1' 字典1
2 KEY NOT = '2' 非 字典2
3 HELLO-WORLD 你好世界
4 B001-A 程序A
5 A a
6 B b
7 C c
8 D d
9 HELLO-WORLD(1:1 ( 状态1

View File

@@ -0,0 +1 @@
TABLE\( 表(
1 TABLE\( 表(

View File

@@ -0,0 +1,5 @@
ACCEPT 获取示例
BASE 基本示例
COMPUTE ➗ 计算示例
LOOP ♻ 循环示例
STRUCT 结构示例
1 ACCEPT 获取示例
2 BASE 基本示例
3 COMPUTE ➗ 计算示例
4 LOOP ♻ 循环示例
5 STRUCT 结构示例

View File

@@ -0,0 +1,4 @@
cbl.doc.tsv 自定义注释
cbl.key.tsv 自定义【关键字】
file.cbl.tree.tsv 📝 本目录 cbl 文件注释
file.tsv.tree.tsv 📝 本目录 tsv 文件注释
1 cbl.doc.tsv 自定义注释
2 cbl.key.tsv 自定义【关键字】
3 file.cbl.tree.tsv 📝 本目录 cbl 文件注释
4 file.tsv.tree.tsv 📝 本目录 tsv 文件注释

View File

@@ -0,0 +1,6 @@
folder.tsv.tree.tsv 📁 本目录文件夹注释
demo 📝 示例
%em% 前后 %s 匹配
%mo 前 %s 匹配
de% 后 %s 匹配
doc doc 匹配
1 folder.tsv.tree.tsv 📁 本目录文件夹注释
2 demo 📝 示例
3 %em% 前后 %s 匹配
4 %mo 前 %s 匹配
5 de% 后 %s 匹配
6 doc doc 匹配