将LENGTH OF值移至COMP字段时出现PARSE ERROR求助
问题解决:COBOL中MOVE语句的PARSE ERROR
你标注的那行代码错误是因为**LENGTH OF语法使用不当**,COBOL里LENGTH OF后面直接跟数据名即可,不需要加括号。多余的括号导致编译器解析失败。
修正后的关键代码行:
MOVE LENGTH OF CUST-FIRST-NAME TO MYLENGTH.
完整修正后的代码片段(同步修复其他语法细节):
LOCAL-STORAGE SECTION. 01 CUSTOMER-RECORD. 05 CUST-FIRST-NAME PIC X(26). 05 CUST-LAST-NAME PIC X(26). 01 MYLENGTH PIC 9(3) COMP VALUE ZEROES. PROCEDURE DIVISION. DISPLAY-CUSTOMER-RECORD SECTION. INSPECT CUST-FIRST-NAME TALLYING TRAILING-BLANKS FOR TRAILING SPACES. MOVE ZEROES TO MYLENGTH. MOVE LENGTH OF CUST-FIRST-NAME TO MYLENGTH.
额外语法提示:
LOCAL-STORAGE SECTION末尾必须加句号,这是COBOL强制语法要求- 所有执行逻辑的段落/节必须归属到
PROCEDURE DIVISION下,你的原代码缺少这个关键声明,补上后编译器才能正确识别执行流程 INSPECT语句可以写成一行,换行不影响语法但需保证逻辑连贯
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

