一个生成COBOL测试数据的小程序——解释数据中的数据类型

本文介绍了一个用于生成COBOL测试数据的小程序,重点解析了COBOL中常见的数据类型如9、X、BIT、S9COMP3、9COMP等。通过分析数据声明语句,处理OCCURS和REDEFINES关键字,实现了对复杂数据结构的处理,以生成相应的测试数据。
摘要由CSDN通过智能技术生成

上篇说到Explanation,其实这是分析部分的重点,现在就开始说明一下

COBOL的数据格式常用的就那么几种,9、X、BIT、S9COMP3、9COMP,在用上篇的Analysis处理后,数据声明语句就被分割成了下面这种字符串数组的形式

"05","XXX号","PIC","S9 COMP-3","3",OCCURS","2","TIMES"

"05","XXXX種別","PIC","X","1","OCCURS","4","TIMES"

"05","あああ","OCCURS","5","TIMES"

"05","いいい","REDEFINES","XXX種別"

上面列举了几种比较难分析的数据类型,在COBOL中由于OCCURS关键字的使用,所以分析时还要考虑后面数据的层数。

于是就有了下面的函数

Function FindOccurs(tmpArr) As Long‘查找OCCURS所在的下标
Dim pos As Long
pos 
= 0
For i = 0 To UBound(tmpArr)
    
If tmpArr(i) = "OCCURS" Then pos = i
Next i
FindOccurs 
= pos
End Function


Function FindDiffLevel(startIndex, occLevel)’查找从STARTINDEX开始,层数与STARTINDEX中不一样的层的下标
Dim flag As Boolean
flag 
= False
= startIndex
Do While flag = False
    tmpArr 
= varData(i)
    
If tmpArr(0= occLevel Then
        flag 
= True
        i 
= i - 2
    
End If
    
If i = varData.Count Then
        flag 
= True
        i 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值